diff --git a/examples/create-react-app/go.mod b/examples/create-react-app/go.mod index 15d3f25..ac1ad47 100644 --- a/examples/create-react-app/go.mod +++ b/examples/create-react-app/go.mod @@ -4,5 +4,7 @@ go 1.13 require ( github.com/ImVexed/muon v0.0.0-20191017043257-ae2a6637f296 - golang.org/x/net v0.0.0-20190930134127-c5a3c61f89f3 + golang.org/x/net v0.0.0-20221002022538-bcab6841153b ) + +replace github.com/ImVexed/muon v0.0.0-20191017043257-ae2a6637f296 => ../../ diff --git a/examples/create-react-app/public/yarn.lock b/examples/create-react-app/public/yarn.lock new file mode 100644 index 0000000..73bd973 --- /dev/null +++ b/examples/create-react-app/public/yarn.lock @@ -0,0 +1,10960 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@ampproject/remapping@^2.1.0": + version "2.2.0" + resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.2.0.tgz#56c133824780de3174aed5ab6834f3026790154d" + integrity sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w== + dependencies: + "@jridgewell/gen-mapping" "^0.1.0" + "@jridgewell/trace-mapping" "^0.3.9" + +"@babel/code-frame@7.5.5": + version "7.5.5" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.5.5.tgz#bc0782f6d69f7b7d49531219699b988f669a8f9d" + integrity sha512-27d4lZoomVyo51VegxI20xZPuSHusqbQag/ztrBC7wegWoQ1nLREPVSKSW8byhTlzTKyNE4ifaTA6lCp7JjpFw== + dependencies: + "@babel/highlight" "^7.0.0" + +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.18.6", "@babel/code-frame@^7.5.5", "@babel/code-frame@^7.8.3": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.18.6.tgz#3b25d38c89600baa2dcc219edfa88a74eb2c427a" + integrity sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q== + dependencies: + "@babel/highlight" "^7.18.6" + +"@babel/compat-data@^7.17.7", "@babel/compat-data@^7.18.8", "@babel/compat-data@^7.19.3", "@babel/compat-data@^7.9.0": + version "7.19.3" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.19.3.tgz#707b939793f867f5a73b2666e6d9a3396eb03151" + integrity sha512-prBHMK4JYYK+wDjJF1q99KK4JLL+egWS4nmNqdlMUgCExMZ+iZW0hGhyC3VEbsPjvaN0TBhW//VIFwBrk8sEiw== + +"@babel/core@7.6.0": + version "7.6.0" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.6.0.tgz#9b00f73554edd67bebc86df8303ef678be3d7b48" + integrity sha512-FuRhDRtsd6IptKpHXAa+4WPZYY2ZzgowkbLBecEDDSje1X/apG7jQM33or3NdOmjXBKWGOg4JmSiRfUfuTtHXw== + dependencies: + "@babel/code-frame" "^7.5.5" + "@babel/generator" "^7.6.0" + "@babel/helpers" "^7.6.0" + "@babel/parser" "^7.6.0" + "@babel/template" "^7.6.0" + "@babel/traverse" "^7.6.0" + "@babel/types" "^7.6.0" + convert-source-map "^1.1.0" + debug "^4.1.0" + json5 "^2.1.0" + lodash "^4.17.13" + resolve "^1.3.2" + semver "^5.4.1" + source-map "^0.5.0" + +"@babel/core@7.9.0": + version "7.9.0" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.9.0.tgz#ac977b538b77e132ff706f3b8a4dbad09c03c56e" + integrity sha512-kWc7L0fw1xwvI0zi8OKVBuxRVefwGOrKSQMvrQ3dW+bIIavBY3/NpXmpjMy7bQnLgwgzWQZ8TlM57YHpHNHz4w== + dependencies: + "@babel/code-frame" "^7.8.3" + "@babel/generator" "^7.9.0" + "@babel/helper-module-transforms" "^7.9.0" + "@babel/helpers" "^7.9.0" + "@babel/parser" "^7.9.0" + "@babel/template" "^7.8.6" + "@babel/traverse" "^7.9.0" + "@babel/types" "^7.9.0" + convert-source-map "^1.7.0" + debug "^4.1.0" + gensync "^1.0.0-beta.1" + json5 "^2.1.2" + lodash "^4.17.13" + resolve "^1.3.2" + semver "^5.4.1" + source-map "^0.5.0" + +"@babel/core@^7.1.0", "@babel/core@^7.4.5": + version "7.19.3" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.19.3.tgz#2519f62a51458f43b682d61583c3810e7dcee64c" + integrity sha512-WneDJxdsjEvyKtXKsaBGbDeiyOjR5vYq4HcShxnIbG0qixpoHjI3MqeZM9NDvsojNCEBItQE4juOo/bU6e72gQ== + dependencies: + "@ampproject/remapping" "^2.1.0" + "@babel/code-frame" "^7.18.6" + "@babel/generator" "^7.19.3" + "@babel/helper-compilation-targets" "^7.19.3" + "@babel/helper-module-transforms" "^7.19.0" + "@babel/helpers" "^7.19.0" + "@babel/parser" "^7.19.3" + "@babel/template" "^7.18.10" + "@babel/traverse" "^7.19.3" + "@babel/types" "^7.19.3" + convert-source-map "^1.7.0" + debug "^4.1.0" + gensync "^1.0.0-beta.2" + json5 "^2.2.1" + semver "^6.3.0" + +"@babel/generator@^7.19.3", "@babel/generator@^7.4.0", "@babel/generator@^7.6.0", "@babel/generator@^7.9.0": + version "7.19.3" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.19.3.tgz#d7f4d1300485b4547cb6f94b27d10d237b42bf59" + integrity sha512-fqVZnmp1ncvZU757UzDheKZpfPgatqY59XtW2/j/18H7u76akb8xqvjw82f+i2UKd/ksYsSick/BCLQUUtJ/qQ== + dependencies: + "@babel/types" "^7.19.3" + "@jridgewell/gen-mapping" "^0.3.2" + jsesc "^2.5.1" + +"@babel/helper-annotate-as-pure@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz#eaa49f6f80d5a33f9a5dd2276e6d6e451be0a6bb" + integrity sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA== + dependencies: + "@babel/types" "^7.18.6" + +"@babel/helper-builder-binary-assignment-operator-visitor@^7.18.6": + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.18.9.tgz#acd4edfd7a566d1d51ea975dff38fd52906981bb" + integrity sha512-yFQ0YCHoIqarl8BCRwBL8ulYUaZpz3bNsA7oFepAzee+8/+ImtADXNOmO5vJvsPff3qi+hvpkY/NYBTrBQgdNw== + dependencies: + "@babel/helper-explode-assignable-expression" "^7.18.6" + "@babel/types" "^7.18.9" + +"@babel/helper-compilation-targets@^7.17.7", "@babel/helper-compilation-targets@^7.18.9", "@babel/helper-compilation-targets@^7.19.0", "@babel/helper-compilation-targets@^7.19.3", "@babel/helper-compilation-targets@^7.8.7": + version "7.19.3" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.19.3.tgz#a10a04588125675d7c7ae299af86fa1b2ee038ca" + integrity sha512-65ESqLGyGmLvgR0mst5AdW1FkNlj9rQsCKduzEoEPhBCDFGXvz2jW6bXFG6i0/MrV2s7hhXjjb2yAzcPuQlLwg== + dependencies: + "@babel/compat-data" "^7.19.3" + "@babel/helper-validator-option" "^7.18.6" + browserslist "^4.21.3" + semver "^6.3.0" + +"@babel/helper-create-class-features-plugin@^7.18.6", "@babel/helper-create-class-features-plugin@^7.19.0", "@babel/helper-create-class-features-plugin@^7.8.3": + version "7.19.0" + resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.19.0.tgz#bfd6904620df4e46470bae4850d66be1054c404b" + integrity sha512-NRz8DwF4jT3UfrmUoZjd0Uph9HQnP30t7Ash+weACcyNkiYTywpIjDBgReJMKgr+n86sn2nPVVmJ28Dm053Kqw== + dependencies: + "@babel/helper-annotate-as-pure" "^7.18.6" + "@babel/helper-environment-visitor" "^7.18.9" + "@babel/helper-function-name" "^7.19.0" + "@babel/helper-member-expression-to-functions" "^7.18.9" + "@babel/helper-optimise-call-expression" "^7.18.6" + "@babel/helper-replace-supers" "^7.18.9" + "@babel/helper-split-export-declaration" "^7.18.6" + +"@babel/helper-create-regexp-features-plugin@^7.18.6", "@babel/helper-create-regexp-features-plugin@^7.19.0": + version "7.19.0" + resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.19.0.tgz#7976aca61c0984202baca73d84e2337a5424a41b" + integrity sha512-htnV+mHX32DF81amCDrwIDr8nrp1PTm+3wfBN9/v8QJOLEioOCOG7qNyq0nHeFiWbT3Eb7gsPwEmV64UCQ1jzw== + dependencies: + "@babel/helper-annotate-as-pure" "^7.18.6" + regexpu-core "^5.1.0" + +"@babel/helper-define-polyfill-provider@^0.3.3": + version "0.3.3" + resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.3.tgz#8612e55be5d51f0cd1f36b4a5a83924e89884b7a" + integrity sha512-z5aQKU4IzbqCC1XH0nAqfsFLMVSo22SBKUc0BxGrLkolTdPTructy0ToNnlO2zA4j9Q/7pjMZf0DSY+DSTYzww== + dependencies: + "@babel/helper-compilation-targets" "^7.17.7" + "@babel/helper-plugin-utils" "^7.16.7" + debug "^4.1.1" + lodash.debounce "^4.0.8" + resolve "^1.14.2" + semver "^6.1.2" + +"@babel/helper-environment-visitor@^7.18.9": + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz#0c0cee9b35d2ca190478756865bb3528422f51be" + integrity sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg== + +"@babel/helper-explode-assignable-expression@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.18.6.tgz#41f8228ef0a6f1a036b8dfdfec7ce94f9a6bc096" + integrity sha512-eyAYAsQmB80jNfg4baAtLeWAQHfHFiR483rzFK+BhETlGZaQC9bsfrugfXDCbRHLQbIA7U5NxhhOxN7p/dWIcg== + dependencies: + "@babel/types" "^7.18.6" + +"@babel/helper-function-name@^7.18.9", "@babel/helper-function-name@^7.19.0": + version "7.19.0" + resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz#941574ed5390682e872e52d3f38ce9d1bef4648c" + integrity sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w== + dependencies: + "@babel/template" "^7.18.10" + "@babel/types" "^7.19.0" + +"@babel/helper-hoist-variables@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz#d4d2c8fb4baeaa5c68b99cc8245c56554f926678" + integrity sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q== + dependencies: + "@babel/types" "^7.18.6" + +"@babel/helper-member-expression-to-functions@^7.18.9": + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.18.9.tgz#1531661e8375af843ad37ac692c132841e2fd815" + integrity sha512-RxifAh2ZoVU67PyKIO4AMi1wTenGfMR/O/ae0CCRqwgBAt5v7xjdtRw7UoSbsreKrQn5t7r89eruK/9JjYHuDg== + dependencies: + "@babel/types" "^7.18.9" + +"@babel/helper-module-imports@^7.18.6", "@babel/helper-module-imports@^7.8.3": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz#1e3ebdbbd08aad1437b428c50204db13c5a3ca6e" + integrity sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA== + dependencies: + "@babel/types" "^7.18.6" + +"@babel/helper-module-transforms@^7.18.6", "@babel/helper-module-transforms@^7.19.0", "@babel/helper-module-transforms@^7.9.0": + version "7.19.0" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.19.0.tgz#309b230f04e22c58c6a2c0c0c7e50b216d350c30" + integrity sha512-3HBZ377Fe14RbLIA+ac3sY4PTgpxHVkFrESaWhoI5PuyXPBBX8+C34qblV9G89ZtycGJCmCI/Ut+VUDK4bltNQ== + dependencies: + "@babel/helper-environment-visitor" "^7.18.9" + "@babel/helper-module-imports" "^7.18.6" + "@babel/helper-simple-access" "^7.18.6" + "@babel/helper-split-export-declaration" "^7.18.6" + "@babel/helper-validator-identifier" "^7.18.6" + "@babel/template" "^7.18.10" + "@babel/traverse" "^7.19.0" + "@babel/types" "^7.19.0" + +"@babel/helper-optimise-call-expression@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz#9369aa943ee7da47edab2cb4e838acf09d290ffe" + integrity sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA== + dependencies: + "@babel/types" "^7.18.6" + +"@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.14.5", "@babel/helper-plugin-utils@^7.16.7", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.18.9", "@babel/helper-plugin-utils@^7.19.0", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": + version "7.19.0" + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.19.0.tgz#4796bb14961521f0f8715990bee2fb6e51ce21bf" + integrity sha512-40Ryx7I8mT+0gaNxm8JGTZFUITNqdLAgdg0hXzeVZxVD6nFsdhQvip6v8dqkRHzsz1VFpFAaOCHNn0vKBL7Czw== + +"@babel/helper-remap-async-to-generator@^7.18.6", "@babel/helper-remap-async-to-generator@^7.18.9": + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.18.9.tgz#997458a0e3357080e54e1d79ec347f8a8cd28519" + integrity sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA== + dependencies: + "@babel/helper-annotate-as-pure" "^7.18.6" + "@babel/helper-environment-visitor" "^7.18.9" + "@babel/helper-wrap-function" "^7.18.9" + "@babel/types" "^7.18.9" + +"@babel/helper-replace-supers@^7.18.6", "@babel/helper-replace-supers@^7.18.9": + version "7.19.1" + resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.19.1.tgz#e1592a9b4b368aa6bdb8784a711e0bcbf0612b78" + integrity sha512-T7ahH7wV0Hfs46SFh5Jz3s0B6+o8g3c+7TMxu7xKfmHikg7EAZ3I2Qk9LFhjxXq8sL7UkP5JflezNwoZa8WvWw== + dependencies: + "@babel/helper-environment-visitor" "^7.18.9" + "@babel/helper-member-expression-to-functions" "^7.18.9" + "@babel/helper-optimise-call-expression" "^7.18.6" + "@babel/traverse" "^7.19.1" + "@babel/types" "^7.19.0" + +"@babel/helper-simple-access@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.18.6.tgz#d6d8f51f4ac2978068df934b569f08f29788c7ea" + integrity sha512-iNpIgTgyAvDQpDj76POqg+YEt8fPxx3yaNBg3S30dxNKm2SWfYhD0TGrK/Eu9wHpUW63VQU894TsTg+GLbUa1g== + dependencies: + "@babel/types" "^7.18.6" + +"@babel/helper-skip-transparent-expression-wrappers@^7.18.9": + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.18.9.tgz#778d87b3a758d90b471e7b9918f34a9a02eb5818" + integrity sha512-imytd2gHi3cJPsybLRbmFrF7u5BIEuI2cNheyKi3/iOBC63kNn3q8Crn2xVuESli0aM4KYsyEqKyS7lFL8YVtw== + dependencies: + "@babel/types" "^7.18.9" + +"@babel/helper-split-export-declaration@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz#7367949bc75b20c6d5a5d4a97bba2824ae8ef075" + integrity sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA== + dependencies: + "@babel/types" "^7.18.6" + +"@babel/helper-string-parser@^7.18.10": + version "7.18.10" + resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.18.10.tgz#181f22d28ebe1b3857fa575f5c290b1aaf659b56" + integrity sha512-XtIfWmeNY3i4t7t4D2t02q50HvqHybPqW2ki1kosnvWCwuCMeo81Jf0gwr85jy/neUdg5XDdeFE/80DXiO+njw== + +"@babel/helper-validator-identifier@^7.18.6", "@babel/helper-validator-identifier@^7.19.1": + version "7.19.1" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz#7eea834cf32901ffdc1a7ee555e2f9c27e249ca2" + integrity sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w== + +"@babel/helper-validator-option@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz#bf0d2b5a509b1f336099e4ff36e1a63aa5db4db8" + integrity sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw== + +"@babel/helper-wrap-function@^7.18.9": + version "7.19.0" + resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.19.0.tgz#89f18335cff1152373222f76a4b37799636ae8b1" + integrity sha512-txX8aN8CZyYGTwcLhlk87KRqncAzhh5TpQamZUa0/u3an36NtDpUP6bQgBCBcLeBs09R/OwQu3OjK0k/HwfNDg== + dependencies: + "@babel/helper-function-name" "^7.19.0" + "@babel/template" "^7.18.10" + "@babel/traverse" "^7.19.0" + "@babel/types" "^7.19.0" + +"@babel/helpers@^7.19.0", "@babel/helpers@^7.6.0", "@babel/helpers@^7.9.0": + version "7.19.0" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.19.0.tgz#f30534657faf246ae96551d88dd31e9d1fa1fc18" + integrity sha512-DRBCKGwIEdqY3+rPJgG/dKfQy9+08rHIAJx8q2p+HSWP87s2HCrQmaAMMyMll2kIXKCW0cO1RdQskx15Xakftg== + dependencies: + "@babel/template" "^7.18.10" + "@babel/traverse" "^7.19.0" + "@babel/types" "^7.19.0" + +"@babel/highlight@^7.0.0", "@babel/highlight@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.18.6.tgz#81158601e93e2563795adcbfbdf5d64be3f2ecdf" + integrity sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g== + dependencies: + "@babel/helper-validator-identifier" "^7.18.6" + chalk "^2.0.0" + js-tokens "^4.0.0" + +"@babel/parser@^7.0.0", "@babel/parser@^7.1.0", "@babel/parser@^7.18.10", "@babel/parser@^7.19.3", "@babel/parser@^7.4.3", "@babel/parser@^7.6.0", "@babel/parser@^7.9.0": + version "7.19.3" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.19.3.tgz#8dd36d17c53ff347f9e55c328710321b49479a9a" + integrity sha512-pJ9xOlNWHiy9+FuFP09DEAFbAn4JskgRsVcc169w2xRBC3FRGuQEwjeIMMND9L2zc0iEhO/tGv4Zq+km+hxNpQ== + +"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.18.6": + version "7.18.6" + 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.18.6.tgz#da5b8f9a580acdfbe53494dba45ea389fb09a4d2" + integrity sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.18.9": + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.18.9.tgz#a11af19aa373d68d561f08e0a57242350ed0ec50" + integrity sha512-AHrP9jadvH7qlOj6PINbgSuphjQUAK7AOT7DPjBo9EHoLhQTnnK5u45e1Hd4DbSQEO9nqPWtQ89r+XEOWFScKg== + dependencies: + "@babel/helper-plugin-utils" "^7.18.9" + "@babel/helper-skip-transparent-expression-wrappers" "^7.18.9" + "@babel/plugin-proposal-optional-chaining" "^7.18.9" + +"@babel/plugin-proposal-async-generator-functions@^7.19.1", "@babel/plugin-proposal-async-generator-functions@^7.8.3": + version "7.19.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.19.1.tgz#34f6f5174b688529342288cd264f80c9ea9fb4a7" + integrity sha512-0yu8vNATgLy4ivqMNBIwb1HebCelqN7YX8SL3FDXORv/RqT0zEEWUCH4GH44JsSrvCu6GqnAdR5EBFAPeNBB4Q== + dependencies: + "@babel/helper-environment-visitor" "^7.18.9" + "@babel/helper-plugin-utils" "^7.19.0" + "@babel/helper-remap-async-to-generator" "^7.18.9" + "@babel/plugin-syntax-async-generators" "^7.8.4" + +"@babel/plugin-proposal-class-properties@7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.8.3.tgz#5e06654af5cd04b608915aada9b2a6788004464e" + integrity sha512-EqFhbo7IosdgPgZggHaNObkmO1kNUe3slaKu54d5OWvy+p9QIKOzK1GAEpAIsZtWVtPXUHSMcT4smvDrCfY4AA== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.8.3" + "@babel/helper-plugin-utils" "^7.8.3" + +"@babel/plugin-proposal-class-properties@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz#b110f59741895f7ec21a6fff696ec46265c446a3" + integrity sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-proposal-class-static-block@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.18.6.tgz#8aa81d403ab72d3962fc06c26e222dacfc9b9020" + integrity sha512-+I3oIiNxrCpup3Gi8n5IGMwj0gOCAjcJUSQEcotNnCCPMEnixawOQ+KeJPlgfjzx+FKQ1QSyZOWe7wmoJp7vhw== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" + "@babel/plugin-syntax-class-static-block" "^7.14.5" + +"@babel/plugin-proposal-decorators@7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.8.3.tgz#2156860ab65c5abf068c3f67042184041066543e" + integrity sha512-e3RvdvS4qPJVTe288DlXjwKflpfy1hr0j5dz5WpIYYeP7vQZg2WfAEIp8k5/Lwis/m5REXEteIz6rrcDtXXG7w== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.8.3" + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/plugin-syntax-decorators" "^7.8.3" + +"@babel/plugin-proposal-dynamic-import@^7.18.6", "@babel/plugin-proposal-dynamic-import@^7.8.3": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.18.6.tgz#72bcf8d408799f547d759298c3c27c7e7faa4d94" + integrity sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + "@babel/plugin-syntax-dynamic-import" "^7.8.3" + +"@babel/plugin-proposal-export-namespace-from@^7.18.9": + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.18.9.tgz#5f7313ab348cdb19d590145f9247540e94761203" + integrity sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA== + dependencies: + "@babel/helper-plugin-utils" "^7.18.9" + "@babel/plugin-syntax-export-namespace-from" "^7.8.3" + +"@babel/plugin-proposal-json-strings@^7.18.6", "@babel/plugin-proposal-json-strings@^7.8.3": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.18.6.tgz#7e8788c1811c393aff762817e7dbf1ebd0c05f0b" + integrity sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + "@babel/plugin-syntax-json-strings" "^7.8.3" + +"@babel/plugin-proposal-logical-assignment-operators@^7.18.9": + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.18.9.tgz#8148cbb350483bf6220af06fa6db3690e14b2e23" + integrity sha512-128YbMpjCrP35IOExw2Fq+x55LMP42DzhOhX2aNNIdI9avSWl2PI0yuBWarr3RYpZBSPtabfadkH2yeRiMD61Q== + dependencies: + "@babel/helper-plugin-utils" "^7.18.9" + "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" + +"@babel/plugin-proposal-nullish-coalescing-operator@7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.8.3.tgz#e4572253fdeed65cddeecfdab3f928afeb2fd5d2" + integrity sha512-TS9MlfzXpXKt6YYomudb/KU7nQI6/xnapG6in1uZxoxDghuSMZsPb6D2fyUwNYSAp4l1iR7QtFOjkqcRYcUsfw== + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.0" + +"@babel/plugin-proposal-nullish-coalescing-operator@^7.18.6", "@babel/plugin-proposal-nullish-coalescing-operator@^7.8.3": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz#fdd940a99a740e577d6c753ab6fbb43fdb9467e1" + integrity sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" + +"@babel/plugin-proposal-numeric-separator@7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.8.3.tgz#5d6769409699ec9b3b68684cd8116cedff93bad8" + integrity sha512-jWioO1s6R/R+wEHizfaScNsAx+xKgwTLNXSh7tTC4Usj3ItsPEhYkEpU4h+lpnBwq7NBVOJXfO6cRFYcX69JUQ== + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/plugin-syntax-numeric-separator" "^7.8.3" + +"@babel/plugin-proposal-numeric-separator@^7.18.6", "@babel/plugin-proposal-numeric-separator@^7.8.3": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz#899b14fbafe87f053d2c5ff05b36029c62e13c75" + integrity sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + "@babel/plugin-syntax-numeric-separator" "^7.10.4" + +"@babel/plugin-proposal-object-rest-spread@^7.18.9", "@babel/plugin-proposal-object-rest-spread@^7.9.0": + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.18.9.tgz#f9434f6beb2c8cae9dfcf97d2a5941bbbf9ad4e7" + integrity sha512-kDDHQ5rflIeY5xl69CEqGEZ0KY369ehsCIEbTGb4siHG5BE9sga/T0r0OUwyZNLMmZE79E1kbsqAjwFCW4ds6Q== + dependencies: + "@babel/compat-data" "^7.18.8" + "@babel/helper-compilation-targets" "^7.18.9" + "@babel/helper-plugin-utils" "^7.18.9" + "@babel/plugin-syntax-object-rest-spread" "^7.8.3" + "@babel/plugin-transform-parameters" "^7.18.8" + +"@babel/plugin-proposal-optional-catch-binding@^7.18.6", "@babel/plugin-proposal-optional-catch-binding@^7.8.3": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.18.6.tgz#f9400d0e6a3ea93ba9ef70b09e72dd6da638a2cb" + integrity sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" + +"@babel/plugin-proposal-optional-chaining@7.9.0": + version "7.9.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.9.0.tgz#31db16b154c39d6b8a645292472b98394c292a58" + integrity sha512-NDn5tu3tcv4W30jNhmc2hyD5c56G6cXx4TesJubhxrJeCvuuMpttxr0OnNCqbZGhFjLrg+NIhxxC+BK5F6yS3w== + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/plugin-syntax-optional-chaining" "^7.8.0" + +"@babel/plugin-proposal-optional-chaining@^7.18.9", "@babel/plugin-proposal-optional-chaining@^7.9.0": + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.18.9.tgz#e8e8fe0723f2563960e4bf5e9690933691915993" + integrity sha512-v5nwt4IqBXihxGsW2QmCWMDS3B3bzGIk/EQVZz2ei7f3NJl8NzAJVvUmpDW5q1CRNY+Beb/k58UAH1Km1N411w== + dependencies: + "@babel/helper-plugin-utils" "^7.18.9" + "@babel/helper-skip-transparent-expression-wrappers" "^7.18.9" + "@babel/plugin-syntax-optional-chaining" "^7.8.3" + +"@babel/plugin-proposal-private-methods@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz#5209de7d213457548a98436fa2882f52f4be6bea" + integrity sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-proposal-private-property-in-object@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.18.6.tgz#a64137b232f0aca3733a67eb1a144c192389c503" + integrity sha512-9Rysx7FOctvT5ouj5JODjAFAkgGoudQuLPamZb0v1TGLpapdNaftzifU8NTWQm0IRjqoYypdrSmyWgkocDQ8Dw== + dependencies: + "@babel/helper-annotate-as-pure" "^7.18.6" + "@babel/helper-create-class-features-plugin" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" + "@babel/plugin-syntax-private-property-in-object" "^7.14.5" + +"@babel/plugin-proposal-unicode-property-regex@^7.18.6", "@babel/plugin-proposal-unicode-property-regex@^7.4.4", "@babel/plugin-proposal-unicode-property-regex@^7.8.3": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.18.6.tgz#af613d2cd5e643643b65cded64207b15c85cb78e" + integrity sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-syntax-async-generators@^7.8.0", "@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.8.3": + version "7.19.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.19.0.tgz#5f13d1d8fce96951bea01a10424463c9a5b3a599" + integrity sha512-xaBZUEDntt4faL1yN8oIFlhfXeQAWJW7CLKYsHTUqriCUbj8xOra8bfxxKGi/UwExPFBuPdH4XfHc9rGQhrVkQ== + dependencies: + "@babel/helper-plugin-utils" "^7.19.0" + +"@babel/plugin-syntax-dynamic-import@^7.8.0", "@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-flow@^7.8.3": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.18.6.tgz#774d825256f2379d06139be0c723c4dd444f3ca1" + integrity sha512-LUbR+KNTBWCUAqRG9ex5Gnzu2IOkt8jRJbHHXFT9q+L9zm7M/QQbEqXyw1n1pohYvOyWC8CjeyjrSaIwiYjK7A== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-syntax-import-assertions@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.18.6.tgz#cd6190500a4fa2fe31990a963ffab4b63e4505e4" + integrity sha512-/DU3RXad9+bZwrgWJQKbr39gYbJpLJHezqEzRzi/BHRlJ9zsQb4CK2CA/5apllXNomwA1qHwzvHl+AdEmC5krQ== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-syntax-json-strings@^7.8.0", "@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.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.18.6.tgz#a8feef63b010150abd97f1649ec296e849943ca0" + integrity sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + +"@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.0", "@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", "@babel/plugin-syntax-numeric-separator@^7.8.0", "@babel/plugin-syntax-numeric-separator@^7.8.3": + 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.0.0", "@babel/plugin-syntax-object-rest-spread@^7.8.0", "@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.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.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", "@babel/plugin-syntax-top-level-await@^7.8.3": + 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-syntax-typescript@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.18.6.tgz#1c09cd25795c7c2b8a4ba9ae49394576d4133285" + integrity sha512-mAWAuq4rvOepWCBid55JuRNvpTNf2UGVgoz4JV0fXEKolsVZDzsa4NqCef758WZJj/GDu0gVGItjKFiClTAmZA== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-transform-arrow-functions@^7.18.6", "@babel/plugin-transform-arrow-functions@^7.8.3": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.18.6.tgz#19063fcf8771ec7b31d742339dac62433d0611fe" + integrity sha512-9S9X9RUefzrsHZmKMbDXxweEH+YlE8JJEuat9FdvW9Qh1cw7W64jELCtWNkPBPX5En45uy28KGvA/AySqUh8CQ== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-transform-async-to-generator@^7.18.6", "@babel/plugin-transform-async-to-generator@^7.8.3": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.18.6.tgz#ccda3d1ab9d5ced5265fdb13f1882d5476c71615" + integrity sha512-ARE5wZLKnTgPW7/1ftQmSi1CmkqqHo2DNmtztFhvgtOWSDfq0Cq9/9L+KnZNYSNrydBekhW3rwShduf59RoXag== + dependencies: + "@babel/helper-module-imports" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" + "@babel/helper-remap-async-to-generator" "^7.18.6" + +"@babel/plugin-transform-block-scoped-functions@^7.18.6", "@babel/plugin-transform-block-scoped-functions@^7.8.3": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.18.6.tgz#9187bf4ba302635b9d70d986ad70f038726216a8" + integrity sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-transform-block-scoping@^7.18.9", "@babel/plugin-transform-block-scoping@^7.8.3": + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.18.9.tgz#f9b7e018ac3f373c81452d6ada8bd5a18928926d" + integrity sha512-5sDIJRV1KtQVEbt/EIBwGy4T01uYIo4KRB3VUqzkhrAIOGx7AoctL9+Ux88btY0zXdDyPJ9mW+bg+v+XEkGmtw== + dependencies: + "@babel/helper-plugin-utils" "^7.18.9" + +"@babel/plugin-transform-classes@^7.19.0", "@babel/plugin-transform-classes@^7.9.0": + version "7.19.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.19.0.tgz#0e61ec257fba409c41372175e7c1e606dc79bb20" + integrity sha512-YfeEE9kCjqTS9IitkgfJuxjcEtLUHMqa8yUJ6zdz8vR7hKuo6mOy2C05P0F1tdMmDCeuyidKnlrw/iTppHcr2A== + dependencies: + "@babel/helper-annotate-as-pure" "^7.18.6" + "@babel/helper-compilation-targets" "^7.19.0" + "@babel/helper-environment-visitor" "^7.18.9" + "@babel/helper-function-name" "^7.19.0" + "@babel/helper-optimise-call-expression" "^7.18.6" + "@babel/helper-plugin-utils" "^7.19.0" + "@babel/helper-replace-supers" "^7.18.9" + "@babel/helper-split-export-declaration" "^7.18.6" + globals "^11.1.0" + +"@babel/plugin-transform-computed-properties@^7.18.9", "@babel/plugin-transform-computed-properties@^7.8.3": + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.18.9.tgz#2357a8224d402dad623caf6259b611e56aec746e" + integrity sha512-+i0ZU1bCDymKakLxn5srGHrsAPRELC2WIbzwjLhHW9SIE1cPYkLCL0NlnXMZaM1vhfgA2+M7hySk42VBvrkBRw== + dependencies: + "@babel/helper-plugin-utils" "^7.18.9" + +"@babel/plugin-transform-destructuring@^7.18.13", "@babel/plugin-transform-destructuring@^7.8.3": + version "7.18.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.18.13.tgz#9e03bc4a94475d62b7f4114938e6c5c33372cbf5" + integrity sha512-TodpQ29XekIsex2A+YJPj5ax2plkGa8YYY6mFjCohk/IG9IY42Rtuj1FuDeemfg2ipxIFLzPeA83SIBnlhSIow== + dependencies: + "@babel/helper-plugin-utils" "^7.18.9" + +"@babel/plugin-transform-dotall-regex@^7.18.6", "@babel/plugin-transform-dotall-regex@^7.4.4", "@babel/plugin-transform-dotall-regex@^7.8.3": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.18.6.tgz#b286b3e7aae6c7b861e45bed0a2fafd6b1a4fef8" + integrity sha512-6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-transform-duplicate-keys@^7.18.9", "@babel/plugin-transform-duplicate-keys@^7.8.3": + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.18.9.tgz#687f15ee3cdad6d85191eb2a372c4528eaa0ae0e" + integrity sha512-d2bmXCtZXYc59/0SanQKbiWINadaJXqtvIQIzd4+hNwkWBgyCd5F/2t1kXoUdvPMrxzPvhK6EMQRROxsue+mfw== + dependencies: + "@babel/helper-plugin-utils" "^7.18.9" + +"@babel/plugin-transform-exponentiation-operator@^7.18.6", "@babel/plugin-transform-exponentiation-operator@^7.8.3": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.18.6.tgz#421c705f4521888c65e91fdd1af951bfefd4dacd" + integrity sha512-wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw== + dependencies: + "@babel/helper-builder-binary-assignment-operator-visitor" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-transform-flow-strip-types@7.9.0": + version "7.9.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.9.0.tgz#8a3538aa40434e000b8f44a3c5c9ac7229bd2392" + integrity sha512-7Qfg0lKQhEHs93FChxVLAvhBshOPQDtJUTVHr/ZwQNRccCm4O9D79r9tVSoV8iNwjP1YgfD+e/fgHcPkN1qEQg== + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/plugin-syntax-flow" "^7.8.3" + +"@babel/plugin-transform-for-of@^7.18.8", "@babel/plugin-transform-for-of@^7.9.0": + version "7.18.8" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.18.8.tgz#6ef8a50b244eb6a0bdbad0c7c61877e4e30097c1" + integrity sha512-yEfTRnjuskWYo0k1mHUqrVWaZwrdq8AYbfrpqULOJOaucGSp4mNMVps+YtA8byoevxS/urwU75vyhQIxcCgiBQ== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-transform-function-name@^7.18.9", "@babel/plugin-transform-function-name@^7.8.3": + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.18.9.tgz#cc354f8234e62968946c61a46d6365440fc764e0" + integrity sha512-WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ== + dependencies: + "@babel/helper-compilation-targets" "^7.18.9" + "@babel/helper-function-name" "^7.18.9" + "@babel/helper-plugin-utils" "^7.18.9" + +"@babel/plugin-transform-literals@^7.18.9", "@babel/plugin-transform-literals@^7.8.3": + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.18.9.tgz#72796fdbef80e56fba3c6a699d54f0de557444bc" + integrity sha512-IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg== + dependencies: + "@babel/helper-plugin-utils" "^7.18.9" + +"@babel/plugin-transform-member-expression-literals@^7.18.6", "@babel/plugin-transform-member-expression-literals@^7.8.3": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.18.6.tgz#ac9fdc1a118620ac49b7e7a5d2dc177a1bfee88e" + integrity sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-transform-modules-amd@^7.18.6", "@babel/plugin-transform-modules-amd@^7.9.0": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.18.6.tgz#8c91f8c5115d2202f277549848874027d7172d21" + integrity sha512-Pra5aXsmTsOnjM3IajS8rTaLCy++nGM4v3YR4esk5PCsyg9z8NA5oQLwxzMUtDBd8F+UmVza3VxoAaWCbzH1rg== + dependencies: + "@babel/helper-module-transforms" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" + babel-plugin-dynamic-import-node "^2.3.3" + +"@babel/plugin-transform-modules-commonjs@^7.18.6", "@babel/plugin-transform-modules-commonjs@^7.9.0": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.18.6.tgz#afd243afba166cca69892e24a8fd8c9f2ca87883" + integrity sha512-Qfv2ZOWikpvmedXQJDSbxNqy7Xr/j2Y8/KfijM0iJyKkBTmWuvCA1yeH1yDM7NJhBW/2aXxeucLj6i80/LAJ/Q== + dependencies: + "@babel/helper-module-transforms" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" + "@babel/helper-simple-access" "^7.18.6" + babel-plugin-dynamic-import-node "^2.3.3" + +"@babel/plugin-transform-modules-systemjs@^7.19.0", "@babel/plugin-transform-modules-systemjs@^7.9.0": + version "7.19.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.19.0.tgz#5f20b471284430f02d9c5059d9b9a16d4b085a1f" + integrity sha512-x9aiR0WXAWmOWsqcsnrzGR+ieaTMVyGyffPVA7F8cXAGt/UxefYv6uSHZLkAFChN5M5Iy1+wjE+xJuPt22H39A== + dependencies: + "@babel/helper-hoist-variables" "^7.18.6" + "@babel/helper-module-transforms" "^7.19.0" + "@babel/helper-plugin-utils" "^7.19.0" + "@babel/helper-validator-identifier" "^7.18.6" + babel-plugin-dynamic-import-node "^2.3.3" + +"@babel/plugin-transform-modules-umd@^7.18.6", "@babel/plugin-transform-modules-umd@^7.9.0": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.18.6.tgz#81d3832d6034b75b54e62821ba58f28ed0aab4b9" + integrity sha512-dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ== + dependencies: + "@babel/helper-module-transforms" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-transform-named-capturing-groups-regex@^7.19.1", "@babel/plugin-transform-named-capturing-groups-regex@^7.8.3": + version "7.19.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.19.1.tgz#ec7455bab6cd8fb05c525a94876f435a48128888" + integrity sha512-oWk9l9WItWBQYS4FgXD4Uyy5kq898lvkXpXQxoJEY1RnvPk4R/Dvu2ebXU9q8lP+rlMwUQTFf2Ok6d78ODa0kw== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.19.0" + "@babel/helper-plugin-utils" "^7.19.0" + +"@babel/plugin-transform-new-target@^7.18.6", "@babel/plugin-transform-new-target@^7.8.3": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.18.6.tgz#d128f376ae200477f37c4ddfcc722a8a1b3246a8" + integrity sha512-DjwFA/9Iu3Z+vrAn+8pBUGcjhxKguSMlsFqeCKbhb9BAV756v0krzVK04CRDi/4aqmk8BsHb4a/gFcaA5joXRw== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-transform-object-super@^7.18.6", "@babel/plugin-transform-object-super@^7.8.3": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.18.6.tgz#fb3c6ccdd15939b6ff7939944b51971ddc35912c" + integrity sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + "@babel/helper-replace-supers" "^7.18.6" + +"@babel/plugin-transform-parameters@^7.18.8", "@babel/plugin-transform-parameters@^7.8.7": + version "7.18.8" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.18.8.tgz#ee9f1a0ce6d78af58d0956a9378ea3427cccb48a" + integrity sha512-ivfbE3X2Ss+Fj8nnXvKJS6sjRG4gzwPMsP+taZC+ZzEGjAYlvENixmt1sZ5Ca6tWls+BlKSGKPJ6OOXvXCbkFg== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-transform-property-literals@^7.18.6", "@babel/plugin-transform-property-literals@^7.8.3": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.18.6.tgz#e22498903a483448e94e032e9bbb9c5ccbfc93a3" + integrity sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-transform-react-constant-elements@^7.0.0": + version "7.18.12" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.18.12.tgz#edf3bec47eb98f14e84fa0af137fcc6aad8e0443" + integrity sha512-Q99U9/ttiu+LMnRU8psd23HhvwXmKWDQIpocm0JKaICcZHnw+mdQbHm6xnSy7dOl8I5PELakYtNBubNQlBXbZw== + dependencies: + "@babel/helper-plugin-utils" "^7.18.9" + +"@babel/plugin-transform-react-display-name@7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.8.3.tgz#70ded987c91609f78353dd76d2fb2a0bb991e8e5" + integrity sha512-3Jy/PCw8Fe6uBKtEgz3M82ljt+lTg+xJaM4og+eyu83qLT87ZUSckn0wy7r31jflURWLO83TW6Ylf7lyXj3m5A== + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + +"@babel/plugin-transform-react-display-name@^7.18.6", "@babel/plugin-transform-react-display-name@^7.8.3": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.18.6.tgz#8b1125f919ef36ebdfff061d664e266c666b9415" + integrity sha512-TV4sQ+T013n61uMoygyMRm+xf04Bd5oqFpv2jAEQwSZ8NwQA7zeRPg1LMVg2PWi3zWBz+CLKD+v5bcpZ/BS0aA== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-transform-react-jsx-development@^7.18.6", "@babel/plugin-transform-react-jsx-development@^7.9.0": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.18.6.tgz#dbe5c972811e49c7405b630e4d0d2e1380c0ddc5" + integrity sha512-SA6HEjwYFKF7WDjWcMcMGUimmw/nhNRDWxr+KaLSCrkD/LMDBvWRmHAYgE1HDeF8KUuI8OAu+RT6EOtKxSW2qA== + dependencies: + "@babel/plugin-transform-react-jsx" "^7.18.6" + +"@babel/plugin-transform-react-jsx-self@^7.9.0": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.18.6.tgz#3849401bab7ae8ffa1e3e5687c94a753fc75bda7" + integrity sha512-A0LQGx4+4Jv7u/tWzoJF7alZwnBDQd6cGLh9P+Ttk4dpiL+J5p7NSNv/9tlEFFJDq3kjxOavWmbm6t0Gk+A3Ig== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-transform-react-jsx-source@^7.9.0": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.18.6.tgz#06e9ae8a14d2bc19ce6e3c447d842032a50598fc" + integrity sha512-utZmlASneDfdaMh0m/WausbjUjEdGrQJz0vFK93d7wD3xf5wBtX219+q6IlCNZeguIcxS2f/CvLZrlLSvSHQXw== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-transform-react-jsx@^7.18.6", "@babel/plugin-transform-react-jsx@^7.9.1": + version "7.19.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.19.0.tgz#b3cbb7c3a00b92ec8ae1027910e331ba5c500eb9" + integrity sha512-UVEvX3tXie3Szm3emi1+G63jyw1w5IcMY0FSKM+CRnKRI5Mr1YbCNgsSTwoTwKphQEG9P+QqmuRFneJPZuHNhg== + dependencies: + "@babel/helper-annotate-as-pure" "^7.18.6" + "@babel/helper-module-imports" "^7.18.6" + "@babel/helper-plugin-utils" "^7.19.0" + "@babel/plugin-syntax-jsx" "^7.18.6" + "@babel/types" "^7.19.0" + +"@babel/plugin-transform-react-pure-annotations@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.18.6.tgz#561af267f19f3e5d59291f9950fd7b9663d0d844" + integrity sha512-I8VfEPg9r2TRDdvnHgPepTKvuRomzA8+u+nhY7qSI1fR2hRNebasZEETLyM5mAUr0Ku56OkXJ0I7NHJnO6cJiQ== + dependencies: + "@babel/helper-annotate-as-pure" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-transform-regenerator@^7.18.6", "@babel/plugin-transform-regenerator@^7.8.7": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.18.6.tgz#585c66cb84d4b4bf72519a34cfce761b8676ca73" + integrity sha512-poqRI2+qiSdeldcz4wTSTXBRryoq3Gc70ye7m7UD5Ww0nE29IXqMl6r7Nd15WBgRd74vloEMlShtH6CKxVzfmQ== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + regenerator-transform "^0.15.0" + +"@babel/plugin-transform-reserved-words@^7.18.6", "@babel/plugin-transform-reserved-words@^7.8.3": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.18.6.tgz#b1abd8ebf8edaa5f7fe6bbb8d2133d23b6a6f76a" + integrity sha512-oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-transform-runtime@7.9.0": + version "7.9.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.9.0.tgz#45468c0ae74cc13204e1d3b1f4ce6ee83258af0b" + integrity sha512-pUu9VSf3kI1OqbWINQ7MaugnitRss1z533436waNXp+0N3ur3zfut37sXiQMxkuCF4VUjwZucen/quskCh7NHw== + dependencies: + "@babel/helper-module-imports" "^7.8.3" + "@babel/helper-plugin-utils" "^7.8.3" + resolve "^1.8.1" + semver "^5.5.1" + +"@babel/plugin-transform-shorthand-properties@^7.18.6", "@babel/plugin-transform-shorthand-properties@^7.8.3": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.18.6.tgz#6d6df7983d67b195289be24909e3f12a8f664dc9" + integrity sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-transform-spread@^7.19.0", "@babel/plugin-transform-spread@^7.8.3": + version "7.19.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.19.0.tgz#dd60b4620c2fec806d60cfaae364ec2188d593b6" + integrity sha512-RsuMk7j6n+r752EtzyScnWkQyuJdli6LdO5Klv8Yx0OfPVTcQkIUfS8clx5e9yHXzlnhOZF3CbQ8C2uP5j074w== + dependencies: + "@babel/helper-plugin-utils" "^7.19.0" + "@babel/helper-skip-transparent-expression-wrappers" "^7.18.9" + +"@babel/plugin-transform-sticky-regex@^7.18.6", "@babel/plugin-transform-sticky-regex@^7.8.3": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.18.6.tgz#c6706eb2b1524028e317720339583ad0f444adcc" + integrity sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-transform-template-literals@^7.18.9", "@babel/plugin-transform-template-literals@^7.8.3": + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.18.9.tgz#04ec6f10acdaa81846689d63fae117dd9c243a5e" + integrity sha512-S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA== + dependencies: + "@babel/helper-plugin-utils" "^7.18.9" + +"@babel/plugin-transform-typeof-symbol@^7.18.9", "@babel/plugin-transform-typeof-symbol@^7.8.4": + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.18.9.tgz#c8cea68263e45addcd6afc9091429f80925762c0" + integrity sha512-SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw== + dependencies: + "@babel/helper-plugin-utils" "^7.18.9" + +"@babel/plugin-transform-typescript@^7.9.0": + version "7.19.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.19.3.tgz#4f1db1e0fe278b42ddbc19ec2f6cd2f8262e35d6" + integrity sha512-z6fnuK9ve9u/0X0rRvI9MY0xg+DOUaABDYOe+/SQTxtlptaBB/V9JIUxJn6xp3lMBeb9qe8xSFmHU35oZDXD+w== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.19.0" + "@babel/helper-plugin-utils" "^7.19.0" + "@babel/plugin-syntax-typescript" "^7.18.6" + +"@babel/plugin-transform-unicode-escapes@^7.18.10": + version "7.18.10" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.18.10.tgz#1ecfb0eda83d09bbcb77c09970c2dd55832aa246" + integrity sha512-kKAdAI+YzPgGY/ftStBFXTI1LZFju38rYThnfMykS+IXy8BVx+res7s2fxf1l8I35DV2T97ezo6+SGrXz6B3iQ== + dependencies: + "@babel/helper-plugin-utils" "^7.18.9" + +"@babel/plugin-transform-unicode-regex@^7.18.6", "@babel/plugin-transform-unicode-regex@^7.8.3": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.18.6.tgz#194317225d8c201bbae103364ffe9e2cea36cdca" + integrity sha512-gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/preset-env@7.9.0": + version "7.9.0" + resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.9.0.tgz#a5fc42480e950ae8f5d9f8f2bbc03f52722df3a8" + integrity sha512-712DeRXT6dyKAM/FMbQTV/FvRCms2hPCx+3weRjZ8iQVQWZejWWk1wwG6ViWMyqb/ouBbGOl5b6aCk0+j1NmsQ== + dependencies: + "@babel/compat-data" "^7.9.0" + "@babel/helper-compilation-targets" "^7.8.7" + "@babel/helper-module-imports" "^7.8.3" + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/plugin-proposal-async-generator-functions" "^7.8.3" + "@babel/plugin-proposal-dynamic-import" "^7.8.3" + "@babel/plugin-proposal-json-strings" "^7.8.3" + "@babel/plugin-proposal-nullish-coalescing-operator" "^7.8.3" + "@babel/plugin-proposal-numeric-separator" "^7.8.3" + "@babel/plugin-proposal-object-rest-spread" "^7.9.0" + "@babel/plugin-proposal-optional-catch-binding" "^7.8.3" + "@babel/plugin-proposal-optional-chaining" "^7.9.0" + "@babel/plugin-proposal-unicode-property-regex" "^7.8.3" + "@babel/plugin-syntax-async-generators" "^7.8.0" + "@babel/plugin-syntax-dynamic-import" "^7.8.0" + "@babel/plugin-syntax-json-strings" "^7.8.0" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.0" + "@babel/plugin-syntax-numeric-separator" "^7.8.0" + "@babel/plugin-syntax-object-rest-spread" "^7.8.0" + "@babel/plugin-syntax-optional-catch-binding" "^7.8.0" + "@babel/plugin-syntax-optional-chaining" "^7.8.0" + "@babel/plugin-syntax-top-level-await" "^7.8.3" + "@babel/plugin-transform-arrow-functions" "^7.8.3" + "@babel/plugin-transform-async-to-generator" "^7.8.3" + "@babel/plugin-transform-block-scoped-functions" "^7.8.3" + "@babel/plugin-transform-block-scoping" "^7.8.3" + "@babel/plugin-transform-classes" "^7.9.0" + "@babel/plugin-transform-computed-properties" "^7.8.3" + "@babel/plugin-transform-destructuring" "^7.8.3" + "@babel/plugin-transform-dotall-regex" "^7.8.3" + "@babel/plugin-transform-duplicate-keys" "^7.8.3" + "@babel/plugin-transform-exponentiation-operator" "^7.8.3" + "@babel/plugin-transform-for-of" "^7.9.0" + "@babel/plugin-transform-function-name" "^7.8.3" + "@babel/plugin-transform-literals" "^7.8.3" + "@babel/plugin-transform-member-expression-literals" "^7.8.3" + "@babel/plugin-transform-modules-amd" "^7.9.0" + "@babel/plugin-transform-modules-commonjs" "^7.9.0" + "@babel/plugin-transform-modules-systemjs" "^7.9.0" + "@babel/plugin-transform-modules-umd" "^7.9.0" + "@babel/plugin-transform-named-capturing-groups-regex" "^7.8.3" + "@babel/plugin-transform-new-target" "^7.8.3" + "@babel/plugin-transform-object-super" "^7.8.3" + "@babel/plugin-transform-parameters" "^7.8.7" + "@babel/plugin-transform-property-literals" "^7.8.3" + "@babel/plugin-transform-regenerator" "^7.8.7" + "@babel/plugin-transform-reserved-words" "^7.8.3" + "@babel/plugin-transform-shorthand-properties" "^7.8.3" + "@babel/plugin-transform-spread" "^7.8.3" + "@babel/plugin-transform-sticky-regex" "^7.8.3" + "@babel/plugin-transform-template-literals" "^7.8.3" + "@babel/plugin-transform-typeof-symbol" "^7.8.4" + "@babel/plugin-transform-unicode-regex" "^7.8.3" + "@babel/preset-modules" "^0.1.3" + "@babel/types" "^7.9.0" + browserslist "^4.9.1" + core-js-compat "^3.6.2" + invariant "^2.2.2" + levenary "^1.1.1" + semver "^5.5.0" + +"@babel/preset-env@^7.4.5": + version "7.19.3" + resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.19.3.tgz#52cd19abaecb3f176a4ff9cc5e15b7bf06bec754" + integrity sha512-ziye1OTc9dGFOAXSWKUqQblYHNlBOaDl8wzqf2iKXJAltYiR3hKHUKmkt+S9PppW7RQpq4fFCrwwpIDj/f5P4w== + dependencies: + "@babel/compat-data" "^7.19.3" + "@babel/helper-compilation-targets" "^7.19.3" + "@babel/helper-plugin-utils" "^7.19.0" + "@babel/helper-validator-option" "^7.18.6" + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.18.6" + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.18.9" + "@babel/plugin-proposal-async-generator-functions" "^7.19.1" + "@babel/plugin-proposal-class-properties" "^7.18.6" + "@babel/plugin-proposal-class-static-block" "^7.18.6" + "@babel/plugin-proposal-dynamic-import" "^7.18.6" + "@babel/plugin-proposal-export-namespace-from" "^7.18.9" + "@babel/plugin-proposal-json-strings" "^7.18.6" + "@babel/plugin-proposal-logical-assignment-operators" "^7.18.9" + "@babel/plugin-proposal-nullish-coalescing-operator" "^7.18.6" + "@babel/plugin-proposal-numeric-separator" "^7.18.6" + "@babel/plugin-proposal-object-rest-spread" "^7.18.9" + "@babel/plugin-proposal-optional-catch-binding" "^7.18.6" + "@babel/plugin-proposal-optional-chaining" "^7.18.9" + "@babel/plugin-proposal-private-methods" "^7.18.6" + "@babel/plugin-proposal-private-property-in-object" "^7.18.6" + "@babel/plugin-proposal-unicode-property-regex" "^7.18.6" + "@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-import-assertions" "^7.18.6" + "@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.18.6" + "@babel/plugin-transform-async-to-generator" "^7.18.6" + "@babel/plugin-transform-block-scoped-functions" "^7.18.6" + "@babel/plugin-transform-block-scoping" "^7.18.9" + "@babel/plugin-transform-classes" "^7.19.0" + "@babel/plugin-transform-computed-properties" "^7.18.9" + "@babel/plugin-transform-destructuring" "^7.18.13" + "@babel/plugin-transform-dotall-regex" "^7.18.6" + "@babel/plugin-transform-duplicate-keys" "^7.18.9" + "@babel/plugin-transform-exponentiation-operator" "^7.18.6" + "@babel/plugin-transform-for-of" "^7.18.8" + "@babel/plugin-transform-function-name" "^7.18.9" + "@babel/plugin-transform-literals" "^7.18.9" + "@babel/plugin-transform-member-expression-literals" "^7.18.6" + "@babel/plugin-transform-modules-amd" "^7.18.6" + "@babel/plugin-transform-modules-commonjs" "^7.18.6" + "@babel/plugin-transform-modules-systemjs" "^7.19.0" + "@babel/plugin-transform-modules-umd" "^7.18.6" + "@babel/plugin-transform-named-capturing-groups-regex" "^7.19.1" + "@babel/plugin-transform-new-target" "^7.18.6" + "@babel/plugin-transform-object-super" "^7.18.6" + "@babel/plugin-transform-parameters" "^7.18.8" + "@babel/plugin-transform-property-literals" "^7.18.6" + "@babel/plugin-transform-regenerator" "^7.18.6" + "@babel/plugin-transform-reserved-words" "^7.18.6" + "@babel/plugin-transform-shorthand-properties" "^7.18.6" + "@babel/plugin-transform-spread" "^7.19.0" + "@babel/plugin-transform-sticky-regex" "^7.18.6" + "@babel/plugin-transform-template-literals" "^7.18.9" + "@babel/plugin-transform-typeof-symbol" "^7.18.9" + "@babel/plugin-transform-unicode-escapes" "^7.18.10" + "@babel/plugin-transform-unicode-regex" "^7.18.6" + "@babel/preset-modules" "^0.1.5" + "@babel/types" "^7.19.3" + babel-plugin-polyfill-corejs2 "^0.3.3" + babel-plugin-polyfill-corejs3 "^0.6.0" + babel-plugin-polyfill-regenerator "^0.4.1" + core-js-compat "^3.25.1" + semver "^6.3.0" + +"@babel/preset-modules@^0.1.3", "@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/preset-react@7.9.1": + version "7.9.1" + resolved "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.9.1.tgz#b346403c36d58c3bb544148272a0cefd9c28677a" + integrity sha512-aJBYF23MPj0RNdp/4bHnAP0NVqqZRr9kl0NAOP4nJCex6OYVio59+dnQzsAWFuogdLyeaKA1hmfUIVZkY5J+TQ== + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/plugin-transform-react-display-name" "^7.8.3" + "@babel/plugin-transform-react-jsx" "^7.9.1" + "@babel/plugin-transform-react-jsx-development" "^7.9.0" + "@babel/plugin-transform-react-jsx-self" "^7.9.0" + "@babel/plugin-transform-react-jsx-source" "^7.9.0" + +"@babel/preset-react@^7.0.0": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.18.6.tgz#979f76d6277048dc19094c217b507f3ad517dd2d" + integrity sha512-zXr6atUmyYdiWRVLOZahakYmOBHtWc2WGCkP8PYTgZi0iJXDY2CN180TdrIW4OGOAdLc7TifzDIvtx6izaRIzg== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + "@babel/helper-validator-option" "^7.18.6" + "@babel/plugin-transform-react-display-name" "^7.18.6" + "@babel/plugin-transform-react-jsx" "^7.18.6" + "@babel/plugin-transform-react-jsx-development" "^7.18.6" + "@babel/plugin-transform-react-pure-annotations" "^7.18.6" + +"@babel/preset-typescript@7.9.0": + version "7.9.0" + resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.9.0.tgz#87705a72b1f0d59df21c179f7c3d2ef4b16ce192" + integrity sha512-S4cueFnGrIbvYJgwsVFKdvOmpiL0XGw9MFW9D0vgRys5g36PBhZRL8NX8Gr2akz8XRtzq6HuDXPD/1nniagNUg== + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/plugin-transform-typescript" "^7.9.0" + +"@babel/runtime@7.9.0": + version "7.9.0" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.9.0.tgz#337eda67401f5b066a6f205a3113d4ac18ba495b" + integrity sha512-cTIudHnzuWLS56ik4DnRnqqNf8MkdUzV4iFFI1h7Jo9xvrpQROYaAnaSd2mHLQAzzZAPfATynX5ord6YlNYNMA== + dependencies: + regenerator-runtime "^0.13.4" + +"@babel/runtime@^7.0.0", "@babel/runtime@^7.3.4", "@babel/runtime@^7.4.5", "@babel/runtime@^7.7.2", "@babel/runtime@^7.8.4": + version "7.19.0" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.19.0.tgz#22b11c037b094d27a8a2504ea4dcff00f50e2259" + integrity sha512-eR8Lo9hnDS7tqkO7NsV+mKvCmv5boaXFSZ70DnfhcgiEne8hv9oCEd36Klw74EtizEqLsy4YnW8UWwpBVolHZA== + dependencies: + regenerator-runtime "^0.13.4" + +"@babel/template@^7.18.10", "@babel/template@^7.4.0", "@babel/template@^7.6.0", "@babel/template@^7.8.6": + version "7.18.10" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.18.10.tgz#6f9134835970d1dbf0835c0d100c9f38de0c5e71" + integrity sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA== + dependencies: + "@babel/code-frame" "^7.18.6" + "@babel/parser" "^7.18.10" + "@babel/types" "^7.18.10" + +"@babel/traverse@^7.0.0", "@babel/traverse@^7.1.0", "@babel/traverse@^7.19.0", "@babel/traverse@^7.19.1", "@babel/traverse@^7.19.3", "@babel/traverse@^7.4.3", "@babel/traverse@^7.6.0", "@babel/traverse@^7.9.0": + version "7.19.3" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.19.3.tgz#3a3c5348d4988ba60884e8494b0592b2f15a04b4" + integrity sha512-qh5yf6149zhq2sgIXmwjnsvmnNQC2iw70UFjp4olxucKrWd/dvlUsBI88VSLUsnMNF7/vnOiA+nk1+yLoCqROQ== + dependencies: + "@babel/code-frame" "^7.18.6" + "@babel/generator" "^7.19.3" + "@babel/helper-environment-visitor" "^7.18.9" + "@babel/helper-function-name" "^7.19.0" + "@babel/helper-hoist-variables" "^7.18.6" + "@babel/helper-split-export-declaration" "^7.18.6" + "@babel/parser" "^7.19.3" + "@babel/types" "^7.19.3" + debug "^4.1.0" + globals "^11.1.0" + +"@babel/types@^7.0.0", "@babel/types@^7.18.10", "@babel/types@^7.18.6", "@babel/types@^7.18.9", "@babel/types@^7.19.0", "@babel/types@^7.19.3", "@babel/types@^7.3.0", "@babel/types@^7.4.0", "@babel/types@^7.4.4", "@babel/types@^7.6.0", "@babel/types@^7.9.0": + version "7.19.3" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.19.3.tgz#fc420e6bbe54880bce6779ffaf315f5e43ec9624" + integrity sha512-hGCaQzIY22DJlDh9CH7NOxgKkFjBk0Cw9xDO1Xmh2151ti7wiGfQ3LauXzL4HP1fmFlTX6XjpRETTpUcv7wQLw== + dependencies: + "@babel/helper-string-parser" "^7.18.10" + "@babel/helper-validator-identifier" "^7.19.1" + to-fast-properties "^2.0.0" + +"@cnakazawa/watch@^1.0.3": + version "1.0.4" + resolved "https://registry.yarnpkg.com/@cnakazawa/watch/-/watch-1.0.4.tgz#f864ae85004d0fcab6f50be9141c4da368d1656a" + integrity sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ== + dependencies: + exec-sh "^0.3.2" + minimist "^1.2.0" + +"@csstools/convert-colors@^1.4.0": + version "1.4.0" + resolved "https://registry.yarnpkg.com/@csstools/convert-colors/-/convert-colors-1.4.0.tgz#ad495dc41b12e75d588c6db8b9834f08fa131eb7" + integrity sha512-5a6wqoJV/xEdbRNKVo6I4hO3VjyDq//8q2f9I6PBAvMesJHFauXDorcNCsr9RzvsZnaWi5NYCcfyqP1QeFHFbw== + +"@csstools/normalize.css@^9.0.1": + version "9.0.1" + resolved "https://registry.yarnpkg.com/@csstools/normalize.css/-/normalize.css-9.0.1.tgz#c27b391d8457d1e893f1eddeaf5e5412d12ffbb5" + integrity sha512-6It2EVfGskxZCQhuykrfnALg7oVeiI6KclWSmGDqB0AiInVrTGB9Jp9i4/Ad21u9Jde/voVQz6eFX/eSg/UsPA== + +"@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.0": + 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" + +"@jest/console@^24.7.1", "@jest/console@^24.9.0": + version "24.9.0" + resolved "https://registry.yarnpkg.com/@jest/console/-/console-24.9.0.tgz#79b1bc06fb74a8cfb01cbdedf945584b1b9707f0" + integrity sha512-Zuj6b8TnKXi3q4ymac8EQfc3ea/uhLeCGThFqXeC8H9/raaH8ARPUTdId+XyGd03Z4In0/VjD2OYFcBF09fNLQ== + dependencies: + "@jest/source-map" "^24.9.0" + chalk "^2.0.1" + slash "^2.0.0" + +"@jest/core@^24.9.0": + version "24.9.0" + resolved "https://registry.yarnpkg.com/@jest/core/-/core-24.9.0.tgz#2ceccd0b93181f9c4850e74f2a9ad43d351369c4" + integrity sha512-Fogg3s4wlAr1VX7q+rhV9RVnUv5tD7VuWfYy1+whMiWUrvl7U3QJSJyWcDio9Lq2prqYsZaeTv2Rz24pWGkJ2A== + dependencies: + "@jest/console" "^24.7.1" + "@jest/reporters" "^24.9.0" + "@jest/test-result" "^24.9.0" + "@jest/transform" "^24.9.0" + "@jest/types" "^24.9.0" + ansi-escapes "^3.0.0" + chalk "^2.0.1" + exit "^0.1.2" + graceful-fs "^4.1.15" + jest-changed-files "^24.9.0" + jest-config "^24.9.0" + jest-haste-map "^24.9.0" + jest-message-util "^24.9.0" + jest-regex-util "^24.3.0" + jest-resolve "^24.9.0" + jest-resolve-dependencies "^24.9.0" + jest-runner "^24.9.0" + jest-runtime "^24.9.0" + jest-snapshot "^24.9.0" + jest-util "^24.9.0" + jest-validate "^24.9.0" + jest-watcher "^24.9.0" + micromatch "^3.1.10" + p-each-series "^1.0.0" + realpath-native "^1.1.0" + rimraf "^2.5.4" + slash "^2.0.0" + strip-ansi "^5.0.0" + +"@jest/environment@^24.9.0": + version "24.9.0" + resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-24.9.0.tgz#21e3afa2d65c0586cbd6cbefe208bafade44ab18" + integrity sha512-5A1QluTPhvdIPFYnO3sZC3smkNeXPVELz7ikPbhUj0bQjB07EoE9qtLrem14ZUYWdVayYbsjVwIiL4WBIMV4aQ== + dependencies: + "@jest/fake-timers" "^24.9.0" + "@jest/transform" "^24.9.0" + "@jest/types" "^24.9.0" + jest-mock "^24.9.0" + +"@jest/fake-timers@^24.9.0": + version "24.9.0" + resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-24.9.0.tgz#ba3e6bf0eecd09a636049896434d306636540c93" + integrity sha512-eWQcNa2YSwzXWIMC5KufBh3oWRIijrQFROsIqt6v/NS9Io/gknw1jsAC9c+ih/RQX4A3O7SeWAhQeN0goKhT9A== + dependencies: + "@jest/types" "^24.9.0" + jest-message-util "^24.9.0" + jest-mock "^24.9.0" + +"@jest/reporters@^24.9.0": + version "24.9.0" + resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-24.9.0.tgz#86660eff8e2b9661d042a8e98a028b8d631a5b43" + integrity sha512-mu4X0yjaHrffOsWmVLzitKmmmWSQ3GGuefgNscUSWNiUNcEOSEQk9k3pERKEQVBb0Cnn88+UESIsZEMH3o88Gw== + dependencies: + "@jest/environment" "^24.9.0" + "@jest/test-result" "^24.9.0" + "@jest/transform" "^24.9.0" + "@jest/types" "^24.9.0" + chalk "^2.0.1" + exit "^0.1.2" + glob "^7.1.2" + istanbul-lib-coverage "^2.0.2" + istanbul-lib-instrument "^3.0.1" + istanbul-lib-report "^2.0.4" + istanbul-lib-source-maps "^3.0.1" + istanbul-reports "^2.2.6" + jest-haste-map "^24.9.0" + jest-resolve "^24.9.0" + jest-runtime "^24.9.0" + jest-util "^24.9.0" + jest-worker "^24.6.0" + node-notifier "^5.4.2" + slash "^2.0.0" + source-map "^0.6.0" + string-length "^2.0.0" + +"@jest/source-map@^24.3.0", "@jest/source-map@^24.9.0": + version "24.9.0" + resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-24.9.0.tgz#0e263a94430be4b41da683ccc1e6bffe2a191714" + integrity sha512-/Xw7xGlsZb4MJzNDgB7PW5crou5JqWiBQaz6xyPd3ArOg2nfn/PunV8+olXbbEZzNl591o5rWKE9BRDaFAuIBg== + dependencies: + callsites "^3.0.0" + graceful-fs "^4.1.15" + source-map "^0.6.0" + +"@jest/test-result@^24.9.0": + version "24.9.0" + resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-24.9.0.tgz#11796e8aa9dbf88ea025757b3152595ad06ba0ca" + integrity sha512-XEFrHbBonBJ8dGp2JmF8kP/nQI/ImPpygKHwQ/SY+es59Z3L5PI4Qb9TQQMAEeYsThG1xF0k6tmG0tIKATNiiA== + dependencies: + "@jest/console" "^24.9.0" + "@jest/types" "^24.9.0" + "@types/istanbul-lib-coverage" "^2.0.0" + +"@jest/test-sequencer@^24.9.0": + version "24.9.0" + resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-24.9.0.tgz#f8f334f35b625a4f2f355f2fe7e6036dad2e6b31" + integrity sha512-6qqsU4o0kW1dvA95qfNog8v8gkRN9ph6Lz7r96IvZpHdNipP2cBcb07J1Z45mz/VIS01OHJ3pY8T5fUY38tg4A== + dependencies: + "@jest/test-result" "^24.9.0" + jest-haste-map "^24.9.0" + jest-runner "^24.9.0" + jest-runtime "^24.9.0" + +"@jest/transform@^24.9.0": + version "24.9.0" + resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-24.9.0.tgz#4ae2768b296553fadab09e9ec119543c90b16c56" + integrity sha512-TcQUmyNRxV94S0QpMOnZl0++6RMiqpbH/ZMccFB/amku6Uwvyb1cjYX7xkp5nGNkbX4QPH/FcB6q1HBTHynLmQ== + dependencies: + "@babel/core" "^7.1.0" + "@jest/types" "^24.9.0" + babel-plugin-istanbul "^5.1.0" + chalk "^2.0.1" + convert-source-map "^1.4.0" + fast-json-stable-stringify "^2.0.0" + graceful-fs "^4.1.15" + jest-haste-map "^24.9.0" + jest-regex-util "^24.9.0" + jest-util "^24.9.0" + micromatch "^3.1.10" + pirates "^4.0.1" + realpath-native "^1.1.0" + slash "^2.0.0" + source-map "^0.6.1" + write-file-atomic "2.4.1" + +"@jest/types@^24.9.0": + version "24.9.0" + resolved "https://registry.yarnpkg.com/@jest/types/-/types-24.9.0.tgz#63cb26cb7500d069e5a389441a7c6ab5e909fc59" + integrity sha512-XKK7ze1apu5JWQ5eZjHITP66AX+QsLlbaJRBGYr8pNzwcAE2JVkwnf0yqjHTsDRcjR0mujy/NmZMXw5kl+kGBw== + dependencies: + "@types/istanbul-lib-coverage" "^2.0.0" + "@types/istanbul-reports" "^1.1.1" + "@types/yargs" "^13.0.0" + +"@jridgewell/gen-mapping@^0.1.0": + version "0.1.1" + resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz#e5d2e450306a9491e3bd77e323e38d7aff315996" + integrity sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w== + dependencies: + "@jridgewell/set-array" "^1.0.0" + "@jridgewell/sourcemap-codec" "^1.4.10" + +"@jridgewell/gen-mapping@^0.3.2": + version "0.3.2" + resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz#c1aedc61e853f2bb9f5dfe6d4442d3b565b253b9" + integrity sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A== + dependencies: + "@jridgewell/set-array" "^1.0.1" + "@jridgewell/sourcemap-codec" "^1.4.10" + "@jridgewell/trace-mapping" "^0.3.9" + +"@jridgewell/resolve-uri@^3.0.3": + version "3.1.0" + resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz#2203b118c157721addfe69d47b70465463066d78" + integrity sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w== + +"@jridgewell/set-array@^1.0.0", "@jridgewell/set-array@^1.0.1": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.2.tgz#7c6cf998d6d20b914c0a55a91ae928ff25965e72" + integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw== + +"@jridgewell/sourcemap-codec@^1.4.10": + version "1.4.14" + resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz#add4c98d341472a289190b424efbdb096991bb24" + integrity sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw== + +"@jridgewell/trace-mapping@^0.3.9": + version "0.3.15" + resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.15.tgz#aba35c48a38d3fd84b37e66c9c0423f9744f9774" + integrity sha512-oWZNOULl+UbhsgB51uuZzglikfIKSUBO/M9W2OfEjn7cmqoAiCgmv9lyACTUacZwBz0ITnJ2NqjU8Tx0DHL88g== + dependencies: + "@jridgewell/resolve-uri" "^3.0.3" + "@jridgewell/sourcemap-codec" "^1.4.10" + +"@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== + +"@svgr/babel-plugin-add-jsx-attribute@^4.2.0": + version "4.2.0" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-4.2.0.tgz#dadcb6218503532d6884b210e7f3c502caaa44b1" + integrity sha512-j7KnilGyZzYr/jhcrSYS3FGWMZVaqyCG0vzMCwzvei0coIkczuYMcniK07nI0aHJINciujjH11T72ICW5eL5Ig== + +"@svgr/babel-plugin-remove-jsx-attribute@^4.2.0": + version "4.2.0" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-4.2.0.tgz#297550b9a8c0c7337bea12bdfc8a80bb66f85abc" + integrity sha512-3XHLtJ+HbRCH4n28S7y/yZoEQnRpl0tvTZQsHqvaeNXPra+6vE5tbRliH3ox1yZYPCxrlqaJT/Mg+75GpDKlvQ== + +"@svgr/babel-plugin-remove-jsx-empty-expression@^4.2.0": + version "4.2.0" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-4.2.0.tgz#c196302f3e68eab6a05e98af9ca8570bc13131c7" + integrity sha512-yTr2iLdf6oEuUE9MsRdvt0NmdpMBAkgK8Bjhl6epb+eQWk6abBaX3d65UZ3E3FWaOwePyUgNyNCMVG61gGCQ7w== + +"@svgr/babel-plugin-replace-jsx-attribute-value@^4.2.0": + version "4.2.0" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-4.2.0.tgz#310ec0775de808a6a2e4fd4268c245fd734c1165" + integrity sha512-U9m870Kqm0ko8beHawRXLGLvSi/ZMrl89gJ5BNcT452fAjtF2p4uRzXkdzvGJJJYBgx7BmqlDjBN/eCp5AAX2w== + +"@svgr/babel-plugin-svg-dynamic-title@^4.3.3": + version "4.3.3" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-4.3.3.tgz#2cdedd747e5b1b29ed4c241e46256aac8110dd93" + integrity sha512-w3Be6xUNdwgParsvxkkeZb545VhXEwjGMwExMVBIdPQJeyMQHqm9Msnb2a1teHBqUYL66qtwfhNkbj1iarCG7w== + +"@svgr/babel-plugin-svg-em-dimensions@^4.2.0": + version "4.2.0" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-4.2.0.tgz#9a94791c9a288108d20a9d2cc64cac820f141391" + integrity sha512-C0Uy+BHolCHGOZ8Dnr1zXy/KgpBOkEUYY9kI/HseHVPeMbluaX3CijJr7D4C5uR8zrc1T64nnq/k63ydQuGt4w== + +"@svgr/babel-plugin-transform-react-native-svg@^4.2.0": + version "4.2.0" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-4.2.0.tgz#151487322843359a1ca86b21a3815fd21a88b717" + integrity sha512-7YvynOpZDpCOUoIVlaaOUU87J4Z6RdD6spYN4eUb5tfPoKGSF9OG2NuhgYnq4jSkAxcpMaXWPf1cePkzmqTPNw== + +"@svgr/babel-plugin-transform-svg-component@^4.2.0": + version "4.2.0" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-4.2.0.tgz#5f1e2f886b2c85c67e76da42f0f6be1b1767b697" + integrity sha512-hYfYuZhQPCBVotABsXKSCfel2slf/yvJY8heTVX1PCTaq/IgASq1IyxPPKJ0chWREEKewIU/JMSsIGBtK1KKxw== + +"@svgr/babel-preset@^4.3.3": + version "4.3.3" + resolved "https://registry.yarnpkg.com/@svgr/babel-preset/-/babel-preset-4.3.3.tgz#a75d8c2f202ac0e5774e6bfc165d028b39a1316c" + integrity sha512-6PG80tdz4eAlYUN3g5GZiUjg2FMcp+Wn6rtnz5WJG9ITGEF1pmFdzq02597Hn0OmnQuCVaBYQE1OVFAnwOl+0A== + dependencies: + "@svgr/babel-plugin-add-jsx-attribute" "^4.2.0" + "@svgr/babel-plugin-remove-jsx-attribute" "^4.2.0" + "@svgr/babel-plugin-remove-jsx-empty-expression" "^4.2.0" + "@svgr/babel-plugin-replace-jsx-attribute-value" "^4.2.0" + "@svgr/babel-plugin-svg-dynamic-title" "^4.3.3" + "@svgr/babel-plugin-svg-em-dimensions" "^4.2.0" + "@svgr/babel-plugin-transform-react-native-svg" "^4.2.0" + "@svgr/babel-plugin-transform-svg-component" "^4.2.0" + +"@svgr/core@^4.3.2": + version "4.3.3" + resolved "https://registry.yarnpkg.com/@svgr/core/-/core-4.3.3.tgz#b37b89d5b757dc66e8c74156d00c368338d24293" + integrity sha512-qNuGF1QON1626UCaZamWt5yedpgOytvLj5BQZe2j1k1B8DUG4OyugZyfEwBeXozCUwhLEpsrgPrE+eCu4fY17w== + dependencies: + "@svgr/plugin-jsx" "^4.3.3" + camelcase "^5.3.1" + cosmiconfig "^5.2.1" + +"@svgr/hast-util-to-babel-ast@^4.3.2": + version "4.3.2" + resolved "https://registry.yarnpkg.com/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-4.3.2.tgz#1d5a082f7b929ef8f1f578950238f630e14532b8" + integrity sha512-JioXclZGhFIDL3ddn4Kiq8qEqYM2PyDKV0aYno8+IXTLuYt6TOgHUbUAAFvqtb0Xn37NwP0BTHglejFoYr8RZg== + dependencies: + "@babel/types" "^7.4.4" + +"@svgr/plugin-jsx@^4.3.2", "@svgr/plugin-jsx@^4.3.3": + version "4.3.3" + resolved "https://registry.yarnpkg.com/@svgr/plugin-jsx/-/plugin-jsx-4.3.3.tgz#e2ba913dbdfbe85252a34db101abc7ebd50992fa" + integrity sha512-cLOCSpNWQnDB1/v+SUENHH7a0XY09bfuMKdq9+gYvtuwzC2rU4I0wKGFEp1i24holdQdwodCtDQdFtJiTCWc+w== + dependencies: + "@babel/core" "^7.4.5" + "@svgr/babel-preset" "^4.3.3" + "@svgr/hast-util-to-babel-ast" "^4.3.2" + svg-parser "^2.0.0" + +"@svgr/plugin-svgo@^4.3.1": + version "4.3.1" + resolved "https://registry.yarnpkg.com/@svgr/plugin-svgo/-/plugin-svgo-4.3.1.tgz#daac0a3d872e3f55935c6588dd370336865e9e32" + integrity sha512-PrMtEDUWjX3Ea65JsVCwTIXuSqa3CG9px+DluF1/eo9mlDrgrtFE7NE/DjdhjJgSM9wenlVBzkzneSIUgfUI/w== + dependencies: + cosmiconfig "^5.2.1" + merge-deep "^3.0.2" + svgo "^1.2.2" + +"@svgr/webpack@4.3.2": + version "4.3.2" + resolved "https://registry.yarnpkg.com/@svgr/webpack/-/webpack-4.3.2.tgz#319d4471c8f3d5c3af35059274834d9b5b8fb956" + integrity sha512-F3VE5OvyOWBEd2bF7BdtFRyI6E9it3mN7teDw0JQTlVtc4HZEYiiLSl+Uf9Uub6IYHVGc+qIrxxDyeedkQru2w== + dependencies: + "@babel/core" "^7.4.5" + "@babel/plugin-transform-react-constant-elements" "^7.0.0" + "@babel/preset-env" "^7.4.5" + "@babel/preset-react" "^7.0.0" + "@svgr/core" "^4.3.2" + "@svgr/plugin-jsx" "^4.3.2" + "@svgr/plugin-svgo" "^4.3.1" + loader-utils "^1.2.3" + +"@types/babel__core@^7.1.0": + version "7.1.19" + resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.19.tgz#7b497495b7d1b4812bdb9d02804d0576f43ee460" + integrity sha512-WEOTgRsbYkvA/KCsDwVEGkd7WAr1e3g31VHQ8zy5gul/V1qKullU/BU5I68X5v7V3GnB9eotmom4v5a5gjxorw== + dependencies: + "@babel/parser" "^7.1.0" + "@babel/types" "^7.0.0" + "@types/babel__generator" "*" + "@types/babel__template" "*" + "@types/babel__traverse" "*" + +"@types/babel__generator@*": + version "7.6.4" + resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.6.4.tgz#1f20ce4c5b1990b37900b63f050182d28c2439b7" + integrity sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg== + dependencies: + "@babel/types" "^7.0.0" + +"@types/babel__template@*": + version "7.4.1" + resolved "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.4.1.tgz#3d1a48fd9d6c0edfd56f2ff578daed48f36c8969" + integrity sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g== + dependencies: + "@babel/parser" "^7.1.0" + "@babel/types" "^7.0.0" + +"@types/babel__traverse@*", "@types/babel__traverse@^7.0.6": + version "7.18.2" + resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.18.2.tgz#235bf339d17185bdec25e024ca19cce257cc7309" + integrity sha512-FcFaxOr2V5KZCviw1TnutEMVUVsGt4D2hP1TAfXZAMKuHYW3xQhe3jTxNPWutgCJ3/X1c5yX8ZoGVEItxKbwBg== + dependencies: + "@babel/types" "^7.3.0" + +"@types/eslint-visitor-keys@^1.0.0": + version "1.0.0" + resolved "https://registry.yarnpkg.com/@types/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz#1ee30d79544ca84d68d4b3cdb0af4f205663dd2d" + integrity sha512-OCutwjDZ4aFS6PB1UZ988C4YgwlBHJd6wCeQqaLdmadZ/7e+w79+hbMUFC1QXDNCmdyoRfAFdm0RypzwR+Qpag== + +"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0": + version "2.0.4" + resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz#8467d4b3c087805d63580480890791277ce35c44" + integrity sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g== + +"@types/istanbul-lib-report@*": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#c14c24f18ea8190c118ee7562b7ff99a36552686" + integrity sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg== + dependencies: + "@types/istanbul-lib-coverage" "*" + +"@types/istanbul-reports@^1.1.1": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-1.1.2.tgz#e875cc689e47bce549ec81f3df5e6f6f11cfaeb2" + integrity sha512-P/W9yOX/3oPZSpaYOCQzGqgCQRXn0FFO/V8bWrCQs+wLmvVVxk6CRBXALEvNs9OHIatlnlFokfhuDo2ug01ciw== + dependencies: + "@types/istanbul-lib-coverage" "*" + "@types/istanbul-lib-report" "*" + +"@types/json-schema@^7.0.3", "@types/json-schema@^7.0.5": + version "7.0.11" + resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.11.tgz#d421b6c527a3037f7c84433fd2c4229e016863d3" + integrity sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ== + +"@types/parse-json@^4.0.0": + version "4.0.0" + resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0" + integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA== + +"@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/stack-utils@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-1.0.1.tgz#0a851d3bd96498fa25c33ab7278ed3bd65f06c3e" + integrity sha512-l42BggppR6zLmpfU6fq9HEa2oGPEI8yrSPL3GITjfRInppYFahObbIQOQK3UGxEnyQpltZLaPe75046NOZQikw== + +"@types/yargs-parser@*": + version "21.0.0" + resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-21.0.0.tgz#0c60e537fa790f5f9472ed2776c2b71ec117351b" + integrity sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA== + +"@types/yargs@^13.0.0": + version "13.0.12" + resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-13.0.12.tgz#d895a88c703b78af0465a9de88aa92c61430b092" + integrity sha512-qCxJE1qgz2y0hA4pIxjBR+PelCH0U5CK1XJXFwCNqfmliatKp47UCXXE9Dyk1OXBDLvsCF57TqQEJaeLfDYEOQ== + dependencies: + "@types/yargs-parser" "*" + +"@typescript-eslint/eslint-plugin@^2.2.0": + version "2.34.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-2.34.0.tgz#6f8ce8a46c7dea4a6f1d171d2bb8fbae6dac2be9" + integrity sha512-4zY3Z88rEE99+CNvTbXSyovv2z9PNOVffTWD2W8QF5s2prBQtwN2zadqERcrHpcR7O/+KMI3fcTAmUUhK/iQcQ== + dependencies: + "@typescript-eslint/experimental-utils" "2.34.0" + functional-red-black-tree "^1.0.1" + regexpp "^3.0.0" + tsutils "^3.17.1" + +"@typescript-eslint/experimental-utils@2.34.0": + version "2.34.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-2.34.0.tgz#d3524b644cdb40eebceca67f8cf3e4cc9c8f980f" + integrity sha512-eS6FTkq+wuMJ+sgtuNTtcqavWXqsflWcfBnlYhg/nS4aZ1leewkXGbvBhaapn1q6qf4M71bsR1tez5JTRMuqwA== + dependencies: + "@types/json-schema" "^7.0.3" + "@typescript-eslint/typescript-estree" "2.34.0" + eslint-scope "^5.0.0" + eslint-utils "^2.0.0" + +"@typescript-eslint/parser@^2.2.0": + version "2.34.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-2.34.0.tgz#50252630ca319685420e9a39ca05fe185a256bc8" + integrity sha512-03ilO0ucSD0EPTw2X4PntSIRFtDPWjrVq7C3/Z3VQHRC7+13YB55rcJI3Jt+YgeHbjUdJPcPa7b23rXCBokuyA== + dependencies: + "@types/eslint-visitor-keys" "^1.0.0" + "@typescript-eslint/experimental-utils" "2.34.0" + "@typescript-eslint/typescript-estree" "2.34.0" + eslint-visitor-keys "^1.1.0" + +"@typescript-eslint/typescript-estree@2.34.0": + version "2.34.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-2.34.0.tgz#14aeb6353b39ef0732cc7f1b8285294937cf37d5" + integrity sha512-OMAr+nJWKdlVM9LOqCqh3pQQPwxHAN7Du8DR6dmwCrAmxtiXQnhHJ6tBNtf+cggqfo51SG/FCwnKhXCIM7hnVg== + dependencies: + debug "^4.1.1" + eslint-visitor-keys "^1.1.0" + glob "^7.1.6" + is-glob "^4.0.1" + lodash "^4.17.15" + semver "^7.3.2" + tsutils "^3.17.1" + +"@webassemblyjs/ast@1.8.5": + version "1.8.5" + resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.8.5.tgz#51b1c5fe6576a34953bf4b253df9f0d490d9e359" + integrity sha512-aJMfngIZ65+t71C3y2nBBg5FFG0Okt9m0XEgWZ7Ywgn1oMAT8cNwx00Uv1cQyHtidq0Xn94R4TAywO+LCQ+ZAQ== + dependencies: + "@webassemblyjs/helper-module-context" "1.8.5" + "@webassemblyjs/helper-wasm-bytecode" "1.8.5" + "@webassemblyjs/wast-parser" "1.8.5" + +"@webassemblyjs/floating-point-hex-parser@1.8.5": + version "1.8.5" + resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.8.5.tgz#1ba926a2923613edce496fd5b02e8ce8a5f49721" + integrity sha512-9p+79WHru1oqBh9ewP9zW95E3XAo+90oth7S5Re3eQnECGq59ly1Ri5tsIipKGpiStHsUYmY3zMLqtk3gTcOtQ== + +"@webassemblyjs/helper-api-error@1.8.5": + version "1.8.5" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.8.5.tgz#c49dad22f645227c5edb610bdb9697f1aab721f7" + integrity sha512-Za/tnzsvnqdaSPOUXHyKJ2XI7PDX64kWtURyGiJJZKVEdFOsdKUCPTNEVFZq3zJ2R0G5wc2PZ5gvdTRFgm81zA== + +"@webassemblyjs/helper-buffer@1.8.5": + version "1.8.5" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.8.5.tgz#fea93e429863dd5e4338555f42292385a653f204" + integrity sha512-Ri2R8nOS0U6G49Q86goFIPNgjyl6+oE1abW1pS84BuhP1Qcr5JqMwRFT3Ah3ADDDYGEgGs1iyb1DGX+kAi/c/Q== + +"@webassemblyjs/helper-code-frame@1.8.5": + version "1.8.5" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.8.5.tgz#9a740ff48e3faa3022b1dff54423df9aa293c25e" + integrity sha512-VQAadSubZIhNpH46IR3yWO4kZZjMxN1opDrzePLdVKAZ+DFjkGD/rf4v1jap744uPVU6yjL/smZbRIIJTOUnKQ== + dependencies: + "@webassemblyjs/wast-printer" "1.8.5" + +"@webassemblyjs/helper-fsm@1.8.5": + version "1.8.5" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-fsm/-/helper-fsm-1.8.5.tgz#ba0b7d3b3f7e4733da6059c9332275d860702452" + integrity sha512-kRuX/saORcg8se/ft6Q2UbRpZwP4y7YrWsLXPbbmtepKr22i8Z4O3V5QE9DbZK908dh5Xya4Un57SDIKwB9eow== + +"@webassemblyjs/helper-module-context@1.8.5": + version "1.8.5" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-module-context/-/helper-module-context-1.8.5.tgz#def4b9927b0101dc8cbbd8d1edb5b7b9c82eb245" + integrity sha512-/O1B236mN7UNEU4t9X7Pj38i4VoU8CcMHyy3l2cV/kIF4U5KoHXDVqcDuOs1ltkac90IM4vZdHc52t1x8Yfs3g== + dependencies: + "@webassemblyjs/ast" "1.8.5" + mamacro "^0.0.3" + +"@webassemblyjs/helper-wasm-bytecode@1.8.5": + version "1.8.5" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.8.5.tgz#537a750eddf5c1e932f3744206551c91c1b93e61" + integrity sha512-Cu4YMYG3Ddl72CbmpjU/wbP6SACcOPVbHN1dI4VJNJVgFwaKf1ppeFJrwydOG3NDHxVGuCfPlLZNyEdIYlQ6QQ== + +"@webassemblyjs/helper-wasm-section@1.8.5": + version "1.8.5" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.8.5.tgz#74ca6a6bcbe19e50a3b6b462847e69503e6bfcbf" + integrity sha512-VV083zwR+VTrIWWtgIUpqfvVdK4ff38loRmrdDBgBT8ADXYsEZ5mPQ4Nde90N3UYatHdYoDIFb7oHzMncI02tA== + dependencies: + "@webassemblyjs/ast" "1.8.5" + "@webassemblyjs/helper-buffer" "1.8.5" + "@webassemblyjs/helper-wasm-bytecode" "1.8.5" + "@webassemblyjs/wasm-gen" "1.8.5" + +"@webassemblyjs/ieee754@1.8.5": + version "1.8.5" + resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.8.5.tgz#712329dbef240f36bf57bd2f7b8fb9bf4154421e" + integrity sha512-aaCvQYrvKbY/n6wKHb/ylAJr27GglahUO89CcGXMItrOBqRarUMxWLJgxm9PJNuKULwN5n1csT9bYoMeZOGF3g== + dependencies: + "@xtuc/ieee754" "^1.2.0" + +"@webassemblyjs/leb128@1.8.5": + version "1.8.5" + resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.8.5.tgz#044edeb34ea679f3e04cd4fd9824d5e35767ae10" + integrity sha512-plYUuUwleLIziknvlP8VpTgO4kqNaH57Y3JnNa6DLpu/sGcP6hbVdfdX5aHAV716pQBKrfuU26BJK29qY37J7A== + dependencies: + "@xtuc/long" "4.2.2" + +"@webassemblyjs/utf8@1.8.5": + version "1.8.5" + resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.8.5.tgz#a8bf3b5d8ffe986c7c1e373ccbdc2a0915f0cedc" + integrity sha512-U7zgftmQriw37tfD934UNInokz6yTmn29inT2cAetAsaU9YeVCveWEwhKL1Mg4yS7q//NGdzy79nlXh3bT8Kjw== + +"@webassemblyjs/wasm-edit@1.8.5": + version "1.8.5" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.8.5.tgz#962da12aa5acc1c131c81c4232991c82ce56e01a" + integrity sha512-A41EMy8MWw5yvqj7MQzkDjU29K7UJq1VrX2vWLzfpRHt3ISftOXqrtojn7nlPsZ9Ijhp5NwuODuycSvfAO/26Q== + dependencies: + "@webassemblyjs/ast" "1.8.5" + "@webassemblyjs/helper-buffer" "1.8.5" + "@webassemblyjs/helper-wasm-bytecode" "1.8.5" + "@webassemblyjs/helper-wasm-section" "1.8.5" + "@webassemblyjs/wasm-gen" "1.8.5" + "@webassemblyjs/wasm-opt" "1.8.5" + "@webassemblyjs/wasm-parser" "1.8.5" + "@webassemblyjs/wast-printer" "1.8.5" + +"@webassemblyjs/wasm-gen@1.8.5": + version "1.8.5" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.8.5.tgz#54840766c2c1002eb64ed1abe720aded714f98bc" + integrity sha512-BCZBT0LURC0CXDzj5FXSc2FPTsxwp3nWcqXQdOZE4U7h7i8FqtFK5Egia6f9raQLpEKT1VL7zr4r3+QX6zArWg== + dependencies: + "@webassemblyjs/ast" "1.8.5" + "@webassemblyjs/helper-wasm-bytecode" "1.8.5" + "@webassemblyjs/ieee754" "1.8.5" + "@webassemblyjs/leb128" "1.8.5" + "@webassemblyjs/utf8" "1.8.5" + +"@webassemblyjs/wasm-opt@1.8.5": + version "1.8.5" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.8.5.tgz#b24d9f6ba50394af1349f510afa8ffcb8a63d264" + integrity sha512-HKo2mO/Uh9A6ojzu7cjslGaHaUU14LdLbGEKqTR7PBKwT6LdPtLLh9fPY33rmr5wcOMrsWDbbdCHq4hQUdd37Q== + dependencies: + "@webassemblyjs/ast" "1.8.5" + "@webassemblyjs/helper-buffer" "1.8.5" + "@webassemblyjs/wasm-gen" "1.8.5" + "@webassemblyjs/wasm-parser" "1.8.5" + +"@webassemblyjs/wasm-parser@1.8.5": + version "1.8.5" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.8.5.tgz#21576f0ec88b91427357b8536383668ef7c66b8d" + integrity sha512-pi0SYE9T6tfcMkthwcgCpL0cM9nRYr6/6fjgDtL6q/ZqKHdMWvxitRi5JcZ7RI4SNJJYnYNaWy5UUrHQy998lw== + dependencies: + "@webassemblyjs/ast" "1.8.5" + "@webassemblyjs/helper-api-error" "1.8.5" + "@webassemblyjs/helper-wasm-bytecode" "1.8.5" + "@webassemblyjs/ieee754" "1.8.5" + "@webassemblyjs/leb128" "1.8.5" + "@webassemblyjs/utf8" "1.8.5" + +"@webassemblyjs/wast-parser@1.8.5": + version "1.8.5" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-parser/-/wast-parser-1.8.5.tgz#e10eecd542d0e7bd394f6827c49f3df6d4eefb8c" + integrity sha512-daXC1FyKWHF1i11obK086QRlsMsY4+tIOKgBqI1lxAnkp9xe9YMcgOxm9kLe+ttjs5aWV2KKE1TWJCN57/Btsg== + dependencies: + "@webassemblyjs/ast" "1.8.5" + "@webassemblyjs/floating-point-hex-parser" "1.8.5" + "@webassemblyjs/helper-api-error" "1.8.5" + "@webassemblyjs/helper-code-frame" "1.8.5" + "@webassemblyjs/helper-fsm" "1.8.5" + "@xtuc/long" "4.2.2" + +"@webassemblyjs/wast-printer@1.8.5": + version "1.8.5" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.8.5.tgz#114bbc481fd10ca0e23b3560fa812748b0bae5bc" + integrity sha512-w0U0pD4EhlnvRyeJzBqaVSJAo9w/ce7/WPogeXLzGkO6hzhr4GnQIZ4W4uUt5b9ooAaXPtnXlj0gzsXEOUNYMg== + dependencies: + "@webassemblyjs/ast" "1.8.5" + "@webassemblyjs/wast-parser" "1.8.5" + "@xtuc/long" "4.2.2" + +"@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== + +abab@^2.0.0: + version "2.0.6" + resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.6.tgz#41b80f2c871d19686216b82309231cfd3cb3d291" + integrity sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA== + +accepts@~1.3.4, accepts@~1.3.5, accepts@~1.3.8: + version "1.3.8" + resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.8.tgz#0bf0be125b67014adcb0b0921e62db7bffe16b2e" + integrity sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw== + dependencies: + mime-types "~2.1.34" + negotiator "0.6.3" + +acorn-globals@^4.1.0, acorn-globals@^4.3.0: + version "4.3.4" + resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-4.3.4.tgz#9fa1926addc11c97308c4e66d7add0d40c3272e7" + integrity sha512-clfQEh21R+D0leSbUdWf3OcfqyaCSAQ8Ryq00bofSekfr9W8u1jyYZo6ir0xu9Gtcf7BjcHJpnbZH7JOCpP60A== + dependencies: + acorn "^6.0.1" + acorn-walk "^6.0.1" + +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@^6.0.1: + version "6.2.0" + resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-6.2.0.tgz#123cb8f3b84c2171f1f7fb252615b1c78a6b1a8c" + integrity sha512-7evsyfH1cLOCdAzZAd43Cic04yKydNx0cF+7tiA19p1XnLLPU4dpCQOqpjqwokFe//vS0QqfqqjCS2JkiIs0cA== + +acorn@^5.5.3: + version "5.7.4" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.7.4.tgz#3e8d8a9947d0599a1796d10225d7432f4a4acf5e" + integrity sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg== + +acorn@^6.0.1, acorn@^6.0.4, acorn@^6.2.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: + 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== + +address@^1.0.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/address/-/address-1.2.1.tgz#25bb61095b7522d65b357baa11bc05492d4c8acd" + integrity sha512-B+6bi5D34+fDYENiH5qOlA0cV2rAGKuWZ9LeyUUehbXy8e0VS9e498yO0Jeeh+iM+6KbfudHTFjXw2MmJD4QRA== + +adjust-sourcemap-loader@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/adjust-sourcemap-loader/-/adjust-sourcemap-loader-2.0.0.tgz#6471143af75ec02334b219f54bc7970c52fb29a4" + integrity sha512-4hFsTsn58+YjrU9qKzML2JSSDqKvN8mUGQ0nNIrfPi8hmIONT4L3uUaT6MKdMsZ9AjsU6D2xDkZxCkbQPxChrA== + dependencies: + assert "1.4.1" + camelcase "5.0.0" + loader-utils "1.2.3" + object-path "0.11.4" + regex-parser "2.2.10" + +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: + 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 sha512-0FcBfdcmaumGPQ0qPn7Q5qTgz/ooXgIyp1rf8ik5bGX8mpE2YHjC0P/eyQvxu1GURYQgq9ozf2mteQ5ZD9YiyQ== + +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@^3.0.0, ansi-escapes@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.2.0.tgz#8780b98ff9dbf5638152d1f1fe5c1d7b4442976b" + integrity sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ== + +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@0.0.7: + version "0.0.7" + resolved "https://registry.yarnpkg.com/ansi-html/-/ansi-html-0.0.7.tgz#813584021962a9e9e6fd039f940d12f56ca7859e" + integrity sha512-JoAxEa1DfP9m2xfB/y2r/aKcwXNlltr4+0QSBC4TrLfcxyvepX2Pv0t/xpgGV5bGsDzCYV8SzjWgyCW0T9yYbA== + +ansi-regex@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" + integrity sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA== + +ansi-regex@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.1.tgz#123d6479e92ad45ad897d4054e3c7ca7db4944e1" + integrity sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw== + +ansi-regex@^4.0.0, ansi-regex@^4.1.0: + version "4.1.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.1.tgz#164daac87ab2d6f6db3a29875e2d1766582dabed" + integrity sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g== + +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 sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA== + +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.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" + +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.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.1.1: + version "1.2.0" + resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" + integrity sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw== + +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" + +aria-query@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-3.0.0.tgz#65b3fcc1ca1155a8c9ae64d6eee297f15d5133cc" + integrity sha512-majUxHgLehQTeSA+hClx+DY09OVUqG3GtezWkF1krgLGNdlDu9l9V8DaqNMWbq4Eddc8wsyDA0hpDUtnYxQEXw== + dependencies: + ast-types-flow "0.0.7" + commander "^2.11.0" + +arity-n@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/arity-n/-/arity-n-1.0.4.tgz#d9e76b11733e08569c0847ae7b39b2860b30b745" + integrity sha512-fExL2kFDC1Q2DUOx3whE/9KoN66IzkY4b4zUHUBFM1ojEYjZZYDcUW3bek/ufGionX9giIKDC5redH2IlGqcQQ== + +arr-diff@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" + integrity sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA== + +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 sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q== + +array-equal@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/array-equal/-/array-equal-1.0.0.tgz#8c2a5ef2472fd9ea742b04c77a75093ba2757c93" + integrity sha512-H3LU5RLiSsGXPhN+Nipar0iR0IofH+8r89G2y1tBKxQ/agagKyAjhkAFDRBfodP2caPrNKHpAWNIM/c9yeL7uA== + +array-flatten@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" + integrity sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg== + +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-includes@^3.0.3, array-includes@^3.1.1: + version "3.1.5" + resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.5.tgz#2c320010db8d31031fd2a5f6b3bbd4b1aad31bdb" + integrity sha512-iSDYZMMyTPkiFasVqfuAQnWAYcvO/SeBSCGKePoEthjp4LEMTe4uLc7b025o4jAZpHhihh8xPo99TNWUWWkGDQ== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.19.5" + get-intrinsic "^1.1.1" + is-string "^1.0.7" + +array-union@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39" + integrity sha512-Dxr6QJj/RdU/hCaBjOfxW+q6lyuVE6JFWIrAUpuOOhoJJoQ99cUn3igRaHVB5P9WrgFVN0FfArM3x0cueOU8ng== + 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 sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q== + +array-unique@^0.3.2: + version "0.3.2" + resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" + integrity sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ== + +array.prototype.reduce@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/array.prototype.reduce/-/array.prototype.reduce-1.0.4.tgz#8167e80089f78bff70a99e20bd4201d4663b0a6f" + integrity sha512-WnM+AjG/DvLRLo4DDl+r+SvCzYtD2Jd9oeBYMcEaI7t3fFrHY9M53/wdLcTvmZNQ70IU6Htj0emFkZ5TS+lrdw== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.19.2" + es-array-method-boxes-properly "^1.0.0" + is-string "^1.0.7" + +arrify@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" + integrity sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA== + +asap@~2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46" + integrity sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA== + +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 sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw== + +assert@1.4.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/assert/-/assert-1.4.1.tgz#99912d591836b5a6f5b345c0f07eefc08fc65d91" + integrity sha512-N+aAxov+CKVS3JuhDIQFr24XvZvwE96Wlhk9dytTg/GmwWoghdOvR8dspx8MVz71O+Y0pA3UPqHF68D6iy8UvQ== + dependencies: + util "0.10.3" + +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 sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw== + +ast-types-flow@0.0.7, ast-types-flow@^0.0.7: + version "0.0.7" + resolved "https://registry.yarnpkg.com/ast-types-flow/-/ast-types-flow-0.0.7.tgz#f70b735c6bca1a5c9c22d982c3e39e7feba3bdad" + integrity sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag== + +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-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.4: + version "2.6.4" + resolved "https://registry.yarnpkg.com/async/-/async-2.6.4.tgz#706b7ff6084664cd7eae713f6f965433b5504221" + integrity sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA== + 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 sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== + +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.6.1: + 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 sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA== + +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== + +axobject-query@^2.0.2: + version "2.2.0" + resolved "https://registry.yarnpkg.com/axobject-query/-/axobject-query-2.2.0.tgz#943d47e10c0b704aa42275e20edf3722648989be" + integrity sha512-Td525n+iPOOyUQIeBfcASuG6uJsDOITl7Mds5gFyerkWiX7qhUTdYUBlSgNMyVqtSJqwpt1kXGLdUt6SykLMRA== + +babel-code-frame@^6.22.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b" + integrity sha512-XqYMR2dfdGMW+hd0IUZ2PwK+fGeFkOxZJ0wY+JaQAHzt1Zx8LcvpiZD2NiGkEG8qx0CfkAOr5xt76d1e8vG90g== + dependencies: + chalk "^1.1.3" + esutils "^2.0.2" + js-tokens "^3.0.2" + +babel-eslint@10.0.3: + version "10.0.3" + resolved "https://registry.yarnpkg.com/babel-eslint/-/babel-eslint-10.0.3.tgz#81a2c669be0f205e19462fed2482d33e4687a88a" + integrity sha512-z3U7eMY6r/3f3/JB9mTsLjyxrv0Yb1zb8PCWCLpguxfCzBIZUwy23R1t/XKewP+8mEN2Ck8Dtr4q20z6ce6SoA== + dependencies: + "@babel/code-frame" "^7.0.0" + "@babel/parser" "^7.0.0" + "@babel/traverse" "^7.0.0" + "@babel/types" "^7.0.0" + eslint-visitor-keys "^1.0.0" + resolve "^1.12.0" + +babel-extract-comments@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/babel-extract-comments/-/babel-extract-comments-1.0.0.tgz#0a2aedf81417ed391b85e18b4614e693a0351a21" + integrity sha512-qWWzi4TlddohA91bFwgt6zO/J0X+io7Qp184Fw0m2JYRSTZnJbFR8+07KmzudHCZgOiKRCrjhylwv9Xd8gfhVQ== + dependencies: + babylon "^6.18.0" + +babel-jest@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-24.9.0.tgz#3fc327cb8467b89d14d7bc70e315104a783ccd54" + integrity sha512-ntuddfyiN+EhMw58PTNL1ph4C9rECiQXjI4nMMBKBaNjXvqLdkXpPRcMSr4iyBrJg/+wz9brFUD6RhOAT6r4Iw== + dependencies: + "@jest/transform" "^24.9.0" + "@jest/types" "^24.9.0" + "@types/babel__core" "^7.1.0" + babel-plugin-istanbul "^5.1.0" + babel-preset-jest "^24.9.0" + chalk "^2.4.2" + slash "^2.0.0" + +babel-loader@8.0.6: + version "8.0.6" + resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-8.0.6.tgz#e33bdb6f362b03f4bb141a0c21ab87c501b70dfb" + integrity sha512-4BmWKtBOBm13uoUwd08UwjZlaw3O9GWf456R9j+5YykFZ6LUIjIKLc0zEZf+hauxPOJs96C8k6FvYD09vWzhYw== + dependencies: + find-cache-dir "^2.0.0" + loader-utils "^1.0.2" + mkdirp "^0.5.1" + pify "^4.0.1" + +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-istanbul@^5.1.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-5.2.0.tgz#df4ade83d897a92df069c4d9a25cf2671293c854" + integrity sha512-5LphC0USA8t4i1zCtjbbNb6jJj/9+X6P37Qfirc/70EQ34xKlMW+a1RHGwxGI+SwWpNwZ27HqvzAobeqaXwiZw== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + find-up "^3.0.0" + istanbul-lib-instrument "^3.3.0" + test-exclude "^5.2.3" + +babel-plugin-jest-hoist@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-24.9.0.tgz#4f837091eb407e01447c8843cbec546d0002d756" + integrity sha512-2EMA2P8Vp7lG0RAzr4HXqtYwacfMErOuv1U3wrvxHX6rD1sV6xS3WXG3r8TRQ2r6w8OhvSdWt+z41hQNwNm3Xw== + dependencies: + "@types/babel__traverse" "^7.0.6" + +babel-plugin-macros@2.8.0: + version "2.8.0" + resolved "https://registry.yarnpkg.com/babel-plugin-macros/-/babel-plugin-macros-2.8.0.tgz#0f958a7cc6556b1e65344465d99111a1e5e10138" + integrity sha512-SEP5kJpfGYqYKpBrj5XU3ahw5p5GOHJ0U5ssOSQ/WBVdwkD2Dzlce95exQTs3jOVWPPKLBN2rlEWkCK7dSmLvg== + dependencies: + "@babel/runtime" "^7.7.2" + cosmiconfig "^6.0.0" + resolve "^1.12.0" + +babel-plugin-named-asset-import@^0.3.4: + version "0.3.8" + resolved "https://registry.yarnpkg.com/babel-plugin-named-asset-import/-/babel-plugin-named-asset-import-0.3.8.tgz#6b7fa43c59229685368683c28bc9734f24524cc2" + integrity sha512-WXiAc++qo7XcJ1ZnTYGtLxmBCVbddAml3CEXgWaBzNzLNoxtQ8AiGEFDMOhot9XjTCQbvP5E77Fj9Gk924f00Q== + +babel-plugin-polyfill-corejs2@^0.3.3: + version "0.3.3" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.3.tgz#5d1bd3836d0a19e1b84bbf2d9640ccb6f951c122" + integrity sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q== + dependencies: + "@babel/compat-data" "^7.17.7" + "@babel/helper-define-polyfill-provider" "^0.3.3" + semver "^6.1.1" + +babel-plugin-polyfill-corejs3@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.6.0.tgz#56ad88237137eade485a71b52f72dbed57c6230a" + integrity sha512-+eHqR6OPcBhJOGgsIar7xoAB1GcSwVUA3XjAd7HJNzOXT4wv6/H7KIdA/Nc60cvUlDbKApmqNvD1B1bzOt4nyA== + dependencies: + "@babel/helper-define-polyfill-provider" "^0.3.3" + core-js-compat "^3.25.1" + +babel-plugin-polyfill-regenerator@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.1.tgz#390f91c38d90473592ed43351e801a9d3e0fd747" + integrity sha512-NtQGmyQDXjQqQ+IzRkBVwEOz9lQ4zxAQZgoAYEtU9dJjnl1Oc98qnN7jcp+bE7O7aYzVpavXE3/VKXNzUbh7aw== + dependencies: + "@babel/helper-define-polyfill-provider" "^0.3.3" + +babel-plugin-syntax-object-rest-spread@^6.8.0: + version "6.13.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz#fd6536f2bce13836ffa3a5458c4903a597bb3bf5" + integrity sha512-C4Aq+GaAj83pRQ0EFgTvw5YO6T3Qz2KGrNRwIj9mSoNHVvdZY4KO2uA6HNtNXCw993iSZnckY1aLW8nOi8i4+w== + +babel-plugin-transform-object-rest-spread@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.26.0.tgz#0f36692d50fef6b7e2d4b3ac1478137a963b7b06" + integrity sha512-ocgA9VJvyxwt+qJB0ncxV8kb/CjfTcECUY4tQ5VT7nP6Aohzobm8CDFaQ5FHdvZQzLmf0sgDxB8iRXZXxwZcyA== + dependencies: + babel-plugin-syntax-object-rest-spread "^6.8.0" + babel-runtime "^6.26.0" + +babel-plugin-transform-react-remove-prop-types@0.4.24: + version "0.4.24" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-remove-prop-types/-/babel-plugin-transform-react-remove-prop-types-0.4.24.tgz#f2edaf9b4c6a5fbe5c1d678bfb531078c1555f3a" + integrity sha512-eqj0hVcJUR57/Ug2zE1Yswsw4LhuqqHhD+8v120T1cl3kjg76QwtyBrdIk4WVwK+lAhBJVYCd/v+4nc4y+8JsA== + +babel-preset-jest@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-24.9.0.tgz#192b521e2217fb1d1f67cf73f70c336650ad3cdc" + integrity sha512-izTUuhE4TMfTRPF92fFwD2QfdXaZW08qvWTFCI51V8rW5x00UuPgc3ajRoWofXOuxjfcOM5zzSYsQS3H8KGCAg== + dependencies: + "@babel/plugin-syntax-object-rest-spread" "^7.0.0" + babel-plugin-jest-hoist "^24.9.0" + +babel-preset-react-app@^9.0.2: + version "9.1.2" + resolved "https://registry.yarnpkg.com/babel-preset-react-app/-/babel-preset-react-app-9.1.2.tgz#54775d976588a8a6d1a99201a702befecaf48030" + integrity sha512-k58RtQOKH21NyKtzptoAvtAODuAJJs3ZhqBMl456/GnXEQ/0La92pNmwgWoMn5pBTrsvk3YYXdY7zpY4e3UIxA== + dependencies: + "@babel/core" "7.9.0" + "@babel/plugin-proposal-class-properties" "7.8.3" + "@babel/plugin-proposal-decorators" "7.8.3" + "@babel/plugin-proposal-nullish-coalescing-operator" "7.8.3" + "@babel/plugin-proposal-numeric-separator" "7.8.3" + "@babel/plugin-proposal-optional-chaining" "7.9.0" + "@babel/plugin-transform-flow-strip-types" "7.9.0" + "@babel/plugin-transform-react-display-name" "7.8.3" + "@babel/plugin-transform-runtime" "7.9.0" + "@babel/preset-env" "7.9.0" + "@babel/preset-react" "7.9.1" + "@babel/preset-typescript" "7.9.0" + "@babel/runtime" "7.9.0" + babel-plugin-macros "2.8.0" + babel-plugin-transform-react-remove-prop-types "0.4.24" + +babel-runtime@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe" + integrity sha512-ITKNuq2wKlW1fJg9sSW52eepoYgZBggvOAHC0u/CYu/qxQ9EVzThCgR69BnSXLHjy2f7SY5zaQ4yt7H9ZVxY2g== + dependencies: + core-js "^2.4.0" + regenerator-runtime "^0.11.0" + +babylon@^6.18.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.18.0.tgz#af2f3b88fa6f5c1e4c634d1a0f8eac4f55b395e3" + integrity sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ== + +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 sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw== + +bcrypt-pbkdf@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e" + integrity sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w== + dependencies: + tweetnacl "^0.14.3" + +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.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.1" + resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.2.1.tgz#0bc527a6a0d18d0aa8d5b0538ce4a77dccfa7b70" + integrity sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ== + +body-parser@1.20.0: + version "1.20.0" + resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.20.0.tgz#3de69bd89011c11573d7bfee6a64f11b6bd27cc5" + integrity sha512-DfJ+q6EPcGKZD1QWUjSpqp+Q7bDQTsQIF4zfUAtZ6qk+H/3/QRhg9CEp39ss+/T2vw0+HaidC0ecJj/DRLIaKg== + dependencies: + bytes "3.1.2" + content-type "~1.0.4" + debug "2.6.9" + depd "2.0.0" + destroy "1.2.0" + http-errors "2.0.0" + iconv-lite "0.4.24" + on-finished "2.4.1" + qs "6.10.3" + raw-body "2.5.1" + type-is "~1.6.18" + unpipe "1.0.0" + +bonjour@^3.5.0: + version "3.5.0" + resolved "https://registry.yarnpkg.com/bonjour/-/bonjour-3.5.0.tgz#8e890a183d8ee9a2393b3844c691a42bcf7bc9f5" + integrity sha512-RaVTblr+OnEli0r/ud8InrU7D+G0y6aJhlxaLa6Pwty4+xoxboF1BsUI45tujvRpbj9dQVoglChqonGAsjEBYg== + 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 sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww== + +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.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 sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w== + +browser-process-hrtime@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz#3c9b4b7d782c8121e56f10106d84c0d0ffc94626" + integrity sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow== + +browser-resolve@^1.11.3: + version "1.11.3" + resolved "https://registry.yarnpkg.com/browser-resolve/-/browser-resolve-1.11.3.tgz#9b7cbb3d0f510e4cb86bdbd796124d28b5890af6" + integrity sha512-exDi1BYWB/6raKHmDTCicQfTkqwN5fioMFV4j8BsfMU4R2DK/QfZfK7kOVkmWCNANf0snkBzqGqAJBao9gZMdQ== + dependencies: + resolve "1.1.7" + +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.7.0: + version "4.7.0" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.7.0.tgz#9ee89225ffc07db03409f2fee524dc8227458a17" + integrity sha512-9rGNDtnj+HaahxiVV38Gn8n8Lr8REKsel68v1sPFfIGEK6uSXTY3h9acgiT1dZVtOOUtifo/Dn8daDQ5dUgVsA== + dependencies: + caniuse-lite "^1.0.30000989" + electron-to-chromium "^1.3.247" + node-releases "^1.1.29" + +browserslist@^4.0.0, browserslist@^4.1.1, browserslist@^4.12.0, browserslist@^4.21.3, browserslist@^4.21.4, browserslist@^4.6.4, browserslist@^4.9.1: + version "4.21.4" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.21.4.tgz#e7496bbc67b9e39dd0f98565feccdcb0d4ff6987" + integrity sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw== + dependencies: + caniuse-lite "^1.0.30001400" + electron-to-chromium "^1.4.251" + node-releases "^2.0.6" + update-browserslist-db "^1.0.9" + +bser@2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/bser/-/bser-2.1.1.tgz#e6787da20ece9d07998533cfd9de6f5c38f4bc05" + integrity sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ== + dependencies: + node-int64 "^0.4.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-xor@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9" + integrity sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ== + +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 sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ== + +bytes@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048" + integrity sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw== + +bytes@3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.2.tgz#8b0beeb98605adf1b128fa4386403c009e0221a5" + integrity sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg== + +cacache@^12.0.2: + 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" + +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 sha512-wCyFsDQkKPwwF8BDwOiWNx/9K45L/hvggQiDbve+viMNMQnWhrlYIuBk09offfwCRtCO9P6XwUttufzU11WCVw== + +caller-callsite@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/caller-callsite/-/caller-callsite-2.0.0.tgz#847e0fce0a223750a9a027c54b33731ad3154134" + integrity sha512-JuG3qI4QOftFsZyOn1qq87fq5grLIyk1JYd5lJmdA+fG7aQ9pA/i3JIJGcO3q0MrRcHlOt1U+ZeHW8Dq9axALQ== + 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 sha512-MCL3sf6nCSXOwCTzvPKhN18TU7AHTvdtam8DAogxcrJ8Rjfbbg7Lgng64H9Iy+vUV6VGFClN/TyxBkAebLRR4A== + 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 sha512-ksWePWBloaWPxJYQ8TL0JHvtci6G5QTKwQ95RcWAa/lzoAKuAOflGdAK92hpHXjkwb8zLxoLNUoNYZgVsaJzvQ== + +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 sha512-+MbKztAYHXPr1jNTSKQF52VpcFjwY5RkR7fxksV8Doo4KAYc5Fl4UJRgthBbTmEx8C54DqahhbLJkDwjI3PI/w== + dependencies: + no-case "^2.2.0" + upper-case "^1.1.1" + +camelcase@5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.0.0.tgz#03295527d58bd3cd4aa75363f35b2e8d97be2f42" + integrity sha512-faqwZqnWxbxn+F1d399ygeamQNy3lPp/H9H6rNrqYh4FSVCtcY+3cub1MxA8o9mDd55mM8Aghuu/kuyYA6VTsA== + +camelcase@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd" + integrity sha512-FxAv7HpHrXbh3aPo4o2qxHay2lkLY3x5Mw3KeE4KQE8ysVfziWeRZDwcjauvwBSGEC/nXUPzZy8zeh4HokqOnw== + +camelcase@^5.0.0, camelcase@^5.2.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== + +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.30000981, caniuse-lite@^1.0.30000989, caniuse-lite@^1.0.30001109, caniuse-lite@^1.0.30001400: + version "1.0.30001414" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001414.tgz#5f1715e506e71860b4b07c50060ea6462217611e" + integrity sha512-t55jfSaWjCdocnFdKQoO+d2ct9C59UZg4dY3OnUlSZ447r8pUtIKdp0hpAzrGFultmTC+Us+KpKi4GZl/LXlFg== + +capture-exit@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/capture-exit/-/capture-exit-2.0.0.tgz#fb953bfaebeb781f62898239dabb426d08a509a4" + integrity sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g== + dependencies: + rsvp "^4.8.4" + +case-sensitive-paths-webpack-plugin@2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.2.0.tgz#3371ef6365ef9c25fa4b81c16ace0e9c7dc58c3e" + integrity sha512-u5ElzokS8A1pm9vM3/iDgTcI3xqHxuCao94Oz8etI3cf0Tio0p8izkDYbTIn09uP3yUUr6+veaE6IkjnTYS46g== + +caseless@~0.12.0: + version "0.12.0" + resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" + integrity sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw== + +chalk@2.4.2, 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@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" + integrity sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A== + 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@^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== + +chokidar@^2.0.0, chokidar@^2.0.4, 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.3" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd" + integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== + 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== + +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@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46" + integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== + +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" + +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 sha512-8lgKz8LmCRYZZQDpRyT2m5rKJ08TnU4tR9FFFW2rxpxR1FzWi4PQ/NfyODchAatHaUgnSPVcx/R5w6NuTBzFiw== + 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-width@^2.0.0: + version "2.2.1" + resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.2.1.tgz#b0433d0b4e9c847ef18868a4ef16fd5fc8271c48" + integrity sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw== + +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== + +cliui@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-4.1.0.tgz#348422dbe82d800b3022eef4f6ac10bf2e4d1b49" + integrity sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ== + dependencies: + string-width "^2.1.1" + strip-ansi "^4.0.0" + wrap-ansi "^2.0.0" + +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" + +clone-deep@^0.2.4: + version "0.2.4" + resolved "https://registry.yarnpkg.com/clone-deep/-/clone-deep-0.2.4.tgz#4e73dd09e9fb971cc38670c5dced9c1896481cc6" + integrity sha512-we+NuQo2DHhSl+DP6jlUiAhyAjBQrYnpOk15rN6c6JSPScjiCLh8IbSU+VTcph6YS3o7mASE8a0+gbZ7ChLpgg== + dependencies: + for-own "^0.1.3" + is-plain-object "^2.0.1" + kind-of "^3.0.2" + lazy-cache "^1.0.3" + shallow-clone "^0.1.2" + +clone-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" + +co@^4.6.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" + integrity sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ== + +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 sha512-RpAVKQA5T63xEj6/giIbUEtZwJ4UFIc3ZtvEkiaUERylqe8xb5IvqcgOurZLahv93CLKfxcw5YI+DZcUBRyLXA== + +collection-visit@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" + integrity sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw== + 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 sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== + +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.1" + resolved "https://registry.yarnpkg.com/color-string/-/color-string-1.9.1.tgz#4467f9146f036f855b764dfb5bf8582bf342c7a4" + integrity sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg== + 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" + +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.11.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@~2.19.0: + version "2.19.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.19.0.tgz#f6198aa84e5b83c46054b94ddedbfed5ee9ff12a" + integrity sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg== + +common-tags@^1.8.0: + version "1.8.2" + resolved "https://registry.yarnpkg.com/common-tags/-/common-tags-1.8.2.tgz#94ebb3c076d26032745fd54face7f688ef5ac9c6" + integrity sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA== + +commondir@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" + integrity sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg== + +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== + +compose-function@3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/compose-function/-/compose-function-3.0.3.tgz#9ed675f13cc54501d30950a486ff6a7ba3ab185f" + integrity sha512-xzhzTJ5eC+gmIzvZq+C3kCJHsp9os6tJkrigDRZclyGtOKINbZtE8n1Tzmeh32jW+BUDPbvZpibwvJHBLGMVwg== + dependencies: + arity-n "^1.0.4" + +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.5.2: + 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 sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== + +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" + +confusing-browser-globals@^1.0.9: + version "1.0.11" + resolved "https://registry.yarnpkg.com/confusing-browser-globals/-/confusing-browser-globals-1.0.11.tgz#ae40e9b57cdd3915408a2805ebd3a5585608dc81" + integrity sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA== + +connect-history-api-fallback@^1.3.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== + +constants-browserify@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75" + integrity sha512-xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ== + +contains-path@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/contains-path/-/contains-path-0.1.0.tgz#fe8cf184ff6670b6baef01a9d4861a5cbec4120a" + integrity sha512-OKZnPGeMQy2RPaUIBPFFd71iNf4791H12MCRuVQDnzGRwCYNYmTDy5pdafo2SLAcEMKzTOQnLWG4QdcjeJUMEg== + +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.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.6.0.tgz#51b537a8c43e0f04dec1993bffcdd504e758ac20" + integrity sha512-eFu7XigvxdZ1ETfbgPBohgyQ/Z++C0eEhTor0qRwBw9unw+L0/6V8wkSuGgzdThkiS5lSpdptOQPD8Ak40a+7A== + dependencies: + safe-buffer "~5.1.1" + +convert-source-map@^0.3.3: + version "0.3.5" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-0.3.5.tgz#f1d802950af7dd2631a1febe0596550c86ab3190" + integrity sha512-+4nRk0k3oEpwUB7/CalD7xE2z4VmtEnnq0GO2IPTkrooTrAhEsWvuLF5iWP1dXrwluki/azwXV1ve7gtYuPldg== + +convert-source-map@^1.1.0, convert-source-map@^1.4.0, 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 sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ== + +cookie@0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.5.0.tgz#d1f5d71adec6558c58f389987c366aa47e994f8b" + integrity sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw== + +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 sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw== + +core-js-compat@^3.25.1, core-js-compat@^3.6.2: + version "3.25.4" + resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.25.4.tgz#730a255d4a47a937513abf1672bf278dc24dcebf" + integrity sha512-gCEcIEEqCR6230WroNunK/653CWKhqyCKJ9b+uESqOt/WFJA8B4lTnnQFdpYY5vmBcwJAA90Bo5vXs+CVsf6iA== + dependencies: + browserslist "^4.21.4" + +core-js@^2.4.0: + version "2.6.12" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.12.tgz#d9333dfa7b065e347cc5682219d6f690859cc2ec" + integrity sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ== + +core-js@^3.5.0: + version "3.25.4" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.25.4.tgz#76f6bc330a79aafbaf77e9645293351ea5d09b5b" + integrity sha512-JDLxg61lFPFYQ7U0HKoyKwVUV63VbbVTb/K73Yf+k4Mf4ZBZxCjfyrWZjTk1ZM7ZrgFSqhSIOmuzYAxG2f/reQ== + +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 sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ== + +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, cosmiconfig@^5.2.1: + 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" + +cosmiconfig@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-6.0.0.tgz#da4fee853c52f6b1e6935f41c1a2fc50bd4a9982" + integrity sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg== + dependencies: + "@types/parse-json" "^4.0.0" + import-fresh "^3.1.0" + parse-json "^5.0.0" + path-type "^4.0.0" + yaml "^1.7.2" + +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@6.0.5, 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" + +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-blank-pseudo@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/css-blank-pseudo/-/css-blank-pseudo-0.1.4.tgz#dfdefd3254bf8a82027993674ccf35483bfcb3c5" + integrity sha512-LHz35Hr83dnFeipc7oqFDmsjHdljj3TQtxGGiNWSOsTLIAubSm4TEz8qCaKFpk7idaQ1GfWscF4E6mgpBysA1w== + dependencies: + postcss "^7.0.5" + +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 sha512-zj5D7X1U2h2zsXOAM8EyUREBnnts6H+Jm+d1M2DbiQQcUtnqgQsMrdo8JW9R80YFUmIdBZeMu5wvYM7hcgWP/Q== + +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-has-pseudo@^0.10.0: + version "0.10.0" + resolved "https://registry.yarnpkg.com/css-has-pseudo/-/css-has-pseudo-0.10.0.tgz#3c642ab34ca242c59c41a125df9105841f6966ee" + integrity sha512-Z8hnfsZu4o/kt+AuFzeGpLVhFOGO9mluyHBaA2bA8aCGTwah5sT3WV/fTHH8UNZUytOIImuGPrl/prlb4oX4qQ== + dependencies: + postcss "^7.0.6" + postcss-selector-parser "^5.0.0-rc.4" + +css-loader@2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-2.1.1.tgz#d8254f72e412bb2238bb44dd674ffbef497333ea" + integrity sha512-OcKJU/lt232vl1P9EEDamhoO9iKY3tIjY5GU+XDLblAykTdgs6Ux9P1hTHve8nFKy5KPpOXOsVI/hIwi3841+w== + dependencies: + camelcase "^5.2.0" + icss-utils "^4.1.0" + loader-utils "^1.2.3" + normalize-path "^3.0.0" + postcss "^7.0.14" + postcss-modules-extract-imports "^2.0.0" + postcss-modules-local-by-default "^2.0.6" + postcss-modules-scope "^2.1.0" + postcss-modules-values "^2.0.0" + postcss-value-parser "^3.3.0" + schema-utils "^1.0.0" + +css-prefers-color-scheme@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/css-prefers-color-scheme/-/css-prefers-color-scheme-3.1.1.tgz#6f830a2714199d4f0d0d0bb8a27916ed65cff1f4" + integrity sha512-MTu6+tMs9S3EUqzmqLXEcgNRbNkkD/TGFvowpeoWJn5Vfq7FMgsmRQs9X5NXAURiOBmOxm/lLjsDNXDE6k9bhg== + dependencies: + postcss "^7.0.5" + +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.3.0" + resolved "https://registry.yarnpkg.com/css-select/-/css-select-4.3.0.tgz#db7129b2846662fd8628cfc496abb2b59e41529b" + integrity sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ== + dependencies: + boolbase "^1.0.0" + css-what "^6.0.1" + domhandler "^4.3.1" + 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@^6.0.1: + version "6.1.0" + resolved "https://registry.yarnpkg.com/css-what/-/css-what-6.1.0.tgz#fb5effcf76f1ddea2c81bdfaa4de44e79bac70f4" + integrity sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw== + +css@^2.0.0: + version "2.2.4" + resolved "https://registry.yarnpkg.com/css/-/css-2.2.4.tgz#c646755c73971f2bba6a601e2cf2fd71b1298929" + integrity sha512-oUnjmWpy0niI3x/mPL8dVEI1l7MnG3+HHyRPHf+YFSbK+svOhXpmSOcDURUh2aOCgl2grzrOPt1nHLuCVFULLw== + dependencies: + inherits "^2.0.3" + source-map "^0.6.1" + source-map-resolve "^0.5.2" + urix "^0.1.0" + +cssdb@^4.4.0: + version "4.4.0" + resolved "https://registry.yarnpkg.com/cssdb/-/cssdb-4.4.0.tgz#3bf2f2a68c10f5c6a08abd92378331ee803cddb0" + integrity sha512-LsTAR1JPEM9TpGhl/0p3nQecC2LJ0kD8X5YARu1hk/9I1gril5vDtMZyNxcEpxxDj34YNck/ucjuoUd66K03oQ== + +cssesc@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-2.0.0.tgz#3b13bd1bb1cb36e1bcb5a4dcd27f54c5dcb35703" + integrity sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg== + +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.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 sha512-6RIcwmV3/cBMG8Aj5gucQRsJb4vv4I4rn6YjPbVWd5+Pn/fuG+YseGvXGk00XLkoZkaj31QOD7vMUpNPC4FIuw== + +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 sha512-JPMZ1TSMRUPVIqEalIBNoBtAYbi8okvcFns4O0YIhcdGebeYZK7dMyHJiQ6GqNBA9kE0Hym4Aqym5rPdsV/4Cw== + +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.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" + +cssom@0.3.x, "cssom@>= 0.3.2 < 0.4.0", cssom@^0.3.4: + version "0.3.8" + resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.3.8.tgz#9f1276f5b2b463f2114d3f2c75250af8c1a36f4a" + integrity sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg== + +cssstyle@^1.0.0, cssstyle@^1.1.1: + version "1.4.0" + resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-1.4.0.tgz#9d31328229d3c565c61e586b02041a28fccdccf1" + integrity sha512-GBrLZYZ4X4x6/QEoBnIrqb8B/f5l4+8me2dkom/j1Gtbxy0kBv6OGzKuAsGM75bkGwGAFkt56Iwg28S3XTZgSA== + dependencies: + cssom "0.3.x" + +cyclist@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/cyclist/-/cyclist-1.0.1.tgz#596e9698fd0c80e12038c2b82d6eb1b35b6224d9" + integrity sha512-NJGVKPS81XejHcLhaLJS7plab0fK3slPh11mESeeDq2W4ZI5kUKK/LRRdVDvjJseojbPB7ZwjnyOybg3Igea/A== + +d@1, d@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/d/-/d-1.0.1.tgz#8698095372d58dbee346ffd0c7093f99f8f9eb5a" + integrity sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA== + dependencies: + es5-ext "^0.10.50" + type "^1.0.1" + +damerau-levenshtein@^1.0.4: + version "1.0.8" + resolved "https://registry.yarnpkg.com/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz#b43d286ccbd36bc5b2f7ed41caf2d0aba1f8a6e7" + integrity sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA== + +dashdash@^1.12.0: + version "1.14.1" + resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" + integrity sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g== + dependencies: + assert-plus "^1.0.0" + +data-urls@^1.0.0, data-urls@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-1.1.0.tgz#15ee0582baa5e22bb59c77140da8f9c76963bbfe" + integrity sha512-YTWYI9se1P55u58gL5GkQHW4P6VJBJ5iBT+B5a7i2Tjadhv52paJG0qHX4A0OR6/t52odI64KP2YvFpkDOi3eQ== + dependencies: + abab "^2.0.0" + whatwg-mimetype "^2.2.0" + whatwg-url "^7.0.0" + +debug@2.6.9, debug@^2.2.0, debug@^2.3.3, debug@^2.6.0, debug@^2.6.9: + 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.2.5, debug@^3.2.7: + 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.4" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" + integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== + dependencies: + ms "2.1.2" + +decamelize@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" + integrity sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA== + +decamelize@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-2.0.0.tgz#656d7bbc8094c4c788ea53c5840908c9c7d063c7" + integrity sha512-Ikpp5scV3MSYxY39ymh45ZLEecsTdv/Xj2CaQfI8RLMuwi7XvjX9H/fhraiSuU+C5w5NTDu4ZU72xNiZnurBPg== + dependencies: + xregexp "4.0.0" + +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 sha512-hjf+xovcEn31w/EUYdTXQh/8smFL/dzYjohQGEIgjyNavaJfBY2p5F527Bo1VPATxv0VYTUC2bOcXvqFwk78Og== + +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== + +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" + +define-properties@^1.1.2, define-properties@^1.1.3, define-properties@^1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.4.tgz#0b14d7bd7fbeb2f3572c3a7eda80ea5d57fb05b1" + integrity sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA== + dependencies: + has-property-descriptors "^1.0.0" + object-keys "^1.1.1" + +define-property@^0.2.5: + version "0.2.5" + resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116" + integrity sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA== + 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 sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA== + 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@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/del/-/del-3.0.0.tgz#53ecf699ffcbcb39637691ab13baf160819766e5" + integrity sha512-7yjqSoVSlJzA4t/VUwazuEagGeANEKB3f/aNI//06pfKgwoCb7f6Q1gETN1sZzYaj6chTQ0AhIwDiPdfOjko4A== + dependencies: + globby "^6.1.0" + is-path-cwd "^1.0.0" + is-path-in-cwd "^1.0.0" + p-map "^1.1.1" + pify "^3.0.0" + rimraf "^2.2.8" + +delayed-stream@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" + integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== + +depd@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/depd/-/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df" + integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw== + +depd@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" + integrity sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ== + +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.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.2.0.tgz#4803735509ad8be552934c67df614f94e66fa015" + integrity sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg== + +detect-newline@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-2.1.0.tgz#f41f1c10be4b00e87b5f13da680759f2c5bfd3e2" + integrity sha512-CwffZFvlJffUg9zZA0uqrjQayUTC8ob94pnr5sFwaVv3IOmkfUHcWH+jXaQK3askE51Cqe8/9Ql/0uXNwqZ8Zg== + +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== + +detect-port-alt@1.1.6: + version "1.1.6" + resolved "https://registry.yarnpkg.com/detect-port-alt/-/detect-port-alt-1.1.6.tgz#24707deabe932d4a3cf621302027c2b266568275" + integrity sha512-5tQykt+LqfJFBEYaDITx7S7cR7mJ/zQmLXZ2qt5w04ainYZw6tBf9dBunMjVeVOdYVRUzUOE4HkY5J7+uttb5Q== + dependencies: + address "^1.0.1" + debug "^2.6.0" + +diff-sequences@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-24.9.0.tgz#5715d6244e2aa65f48bba0bc972db0b0b11e95b5" + integrity sha512-Dj6Wk3tWyTE+Fo1rW8v0Xhwk80um6yFYKbuAxc9c3EZxIHFDYwbi34Uk42u1CdnIiVorvt4RmlSDjIPyzGC2ew== + +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: + version "2.0.0" + resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-2.0.0.tgz#0b205d2b6aef98238ca286598a8204d29d0a0034" + integrity sha512-37qirFDz8cA5fimp9feo43fSuRo2gHwaIn6dXL8Ber1dGwUosDrGZeCCXq57WnIqE4aQ+u3eQZzsk1yOzhdwag== + dependencies: + arrify "^1.0.1" + 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 sha512-z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg== + +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 sha512-Ix5PrWjphuSoUXV/Zv5gaFHjnaJtb02F2+Si3Ht9dyJ87+Z/lMmy+dpNHtTGraNK958ndXq2i+GLkWsWHcKaBQ== + dependencies: + buffer-indexof "^1.0.0" + +doctrine@1.5.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-1.5.0.tgz#379dce730f6166f76cefa4e6707a159b02c5a6fa" + integrity sha512-lsGyRuYr4/PIB0txi+Fy2xOMI2dGaTguCaotzFGkVZuKR5usKfcRWIFKNM3QNrU7hh/+w2bwTW+ZeXPK5l8uVg== + dependencies: + esutils "^2.0.2" + isarray "^1.0.0" + +doctrine@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d" + integrity sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw== + dependencies: + esutils "^2.0.2" + +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.4.1" + resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-1.4.1.tgz#de5d41b1aea290215dc45a6dae8adcf1d32e2d30" + integrity sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag== + 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.3.0" + resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.3.0.tgz#5c45e8e869952626331d7aab326d01daf65d589d" + integrity sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw== + +domexception@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/domexception/-/domexception-1.0.1.tgz#937442644ca6a31261ef36e3ec677fe805582c90" + integrity sha512-raigMkn7CJNNo6Ihro1fzG7wr3fHuYVytzquZKX5n0yizGsTcYgzdIUwj1X9pK0VvjeihV+XiclP+DjwbsSKug== + dependencies: + webidl-conversions "^4.0.2" + +domhandler@^4.0.0, domhandler@^4.2.0, domhandler@^4.3.1: + version "4.3.1" + resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-4.3.1.tgz#8d792033416f59d68bc03a5aa7b018c1ca89279c" + integrity sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ== + 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@6.2.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-6.2.0.tgz#941c0410535d942c8becf28d3f357dbd9d476064" + integrity sha512-HygQCKUBSFl8wKQZBSemMywRWcEDNidvNbjGVyZu3nbZ8qq9ubiPoGLMdRDpfSrpkkm9BXYFkpKxxFX38o/76w== + +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" + +ecc-jsbn@~0.1.1: + version "0.1.2" + resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9" + integrity sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw== + 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 sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow== + +electron-to-chromium@^1.3.247, electron-to-chromium@^1.4.251: + version "1.4.270" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.270.tgz#2c6ea409b45cdb5c3e0cb2c08cf6c0ba7e0f2c26" + integrity sha512-KNhIzgLiJmDDC444dj9vEOpZEgsV96ult9Iff98Vanumn+ShJHd5se8aX6KeVxdc0YQeqdrezBZv89rleDbvSg== + +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, emoji-regex@^7.0.2: + 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 sha512-knHEZMgs8BB+MInokmNTg/OyPlAddghe1YBgNwJBc5zsJi/uyIcXoSDsL/W9ymOsBoBGdPIHXYJ9+qKFwRwDng== + +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 sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w== + +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.1.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== + +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.2.0, 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" + +es-abstract@^1.17.2, es-abstract@^1.19.0, es-abstract@^1.19.1, es-abstract@^1.19.2, es-abstract@^1.19.5, es-abstract@^1.20.1: + version "1.20.3" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.20.3.tgz#90b143ff7aedc8b3d189bcfac7f1e3e3f81e9da1" + integrity sha512-AyrnaKVpMzljIdwjzrj+LxGmj8ik2LckwXacHqrJJ/jxz6dDDBcZ7I7nlHM0FvEW8MfbWJwOd+yT2XzYW49Frw== + dependencies: + call-bind "^1.0.2" + es-to-primitive "^1.2.1" + function-bind "^1.1.1" + function.prototype.name "^1.1.5" + get-intrinsic "^1.1.3" + get-symbol-description "^1.0.0" + has "^1.0.3" + has-property-descriptors "^1.0.0" + has-symbols "^1.0.3" + internal-slot "^1.0.3" + is-callable "^1.2.6" + is-negative-zero "^2.0.2" + is-regex "^1.1.4" + is-shared-array-buffer "^1.0.2" + is-string "^1.0.7" + is-weakref "^1.0.2" + object-inspect "^1.12.2" + object-keys "^1.1.1" + object.assign "^4.1.4" + regexp.prototype.flags "^1.4.3" + safe-regex-test "^1.0.0" + string.prototype.trimend "^1.0.5" + string.prototype.trimstart "^1.0.5" + unbox-primitive "^1.0.2" + +es-array-method-boxes-properly@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz#873f3e84418de4ee19c5be752990b2e44718d09e" + integrity sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA== + +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" + +es5-ext@^0.10.35, es5-ext@^0.10.50: + version "0.10.62" + resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.62.tgz#5e6adc19a6da524bf3d1e02bbc8960e5eb49a9a5" + integrity sha512-BHLqn0klhEpnOKSrzn/Xsz2UIW8j+cGmo9JLzr8BiUapV8hPL9+FliFqjwr9ngW7jWdnxv6eO+/LqyhJVqgrjA== + dependencies: + es6-iterator "^2.0.3" + es6-symbol "^3.1.3" + next-tick "^1.1.0" + +es6-iterator@2.0.3, es6-iterator@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/es6-iterator/-/es6-iterator-2.0.3.tgz#a7de889141a05a94b0854403b2d0a0fbfa98f3b7" + integrity sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g== + dependencies: + d "1" + es5-ext "^0.10.35" + es6-symbol "^3.1.1" + +es6-symbol@^3.1.1, es6-symbol@^3.1.3: + version "3.1.3" + resolved "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.3.tgz#bad5d3c1bcdac28269f4cb331e431c78ac705d18" + integrity sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA== + dependencies: + d "^1.0.1" + ext "^1.1.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 sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow== + +escape-string-regexp@1.0.5, 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 sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== + +escape-string-regexp@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344" + integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== + +escodegen@^1.11.0, escodegen@^1.9.1: + version "1.14.3" + resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.14.3.tgz#4e7b81fba61581dc97582ed78cab7f0e8d63f503" + integrity sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw== + dependencies: + esprima "^4.0.1" + estraverse "^4.2.0" + esutils "^2.0.2" + optionator "^0.8.1" + optionalDependencies: + source-map "~0.6.1" + +eslint-config-react-app@^5.0.2: + version "5.2.1" + resolved "https://registry.yarnpkg.com/eslint-config-react-app/-/eslint-config-react-app-5.2.1.tgz#698bf7aeee27f0cea0139eaef261c7bf7dd623df" + integrity sha512-pGIZ8t0mFLcV+6ZirRgYK6RVqUIKRIi9MmgzUEmrIknsn3AdO0I32asO86dJgloHq+9ZPl8UIg8mYrvgP5u2wQ== + dependencies: + confusing-browser-globals "^1.0.9" + +eslint-import-resolver-node@^0.3.2: + version "0.3.6" + resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.6.tgz#4048b958395da89668252001dbd9eca6b83bacbd" + integrity sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw== + dependencies: + debug "^3.2.7" + resolve "^1.20.0" + +eslint-loader@3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/eslint-loader/-/eslint-loader-3.0.2.tgz#5a627316a51d6f41d357b9f6f0554e91506cdd6e" + integrity sha512-S5VnD+UpVY1PyYRqeBd/4pgsmkvSokbHqTXAQMpvCyRr3XN2tvSLo9spm2nEpqQqh9dezw3os/0zWihLeOg2Rw== + dependencies: + fs-extra "^8.1.0" + loader-fs-cache "^1.0.2" + loader-utils "^1.2.3" + object-hash "^1.3.1" + schema-utils "^2.2.0" + +eslint-module-utils@^2.4.0: + version "2.7.4" + resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.7.4.tgz#4f3e41116aaf13a20792261e61d3a2e7e0583974" + integrity sha512-j4GT+rqzCoRKHwURX7pddtIPGySnX9Si/cgMI5ztrcqOPtk5dDEeZ34CQVPphnqkJytlc97Vuk05Um2mJ3gEQA== + dependencies: + debug "^3.2.7" + +eslint-plugin-flowtype@3.13.0: + version "3.13.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-flowtype/-/eslint-plugin-flowtype-3.13.0.tgz#e241ebd39c0ce519345a3f074ec1ebde4cf80f2c" + integrity sha512-bhewp36P+t7cEV0b6OdmoRWJCBYRiHFlqPZAG1oS3SF+Y0LQkeDvFSM4oxoxvczD1OdONCXMlJfQFiWLcV9urw== + dependencies: + lodash "^4.17.15" + +eslint-plugin-import@2.18.2: + version "2.18.2" + resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.18.2.tgz#02f1180b90b077b33d447a17a2326ceb400aceb6" + integrity sha512-5ohpsHAiUBRNaBWAF08izwUGlbrJoJJ+W9/TBwsGoR1MnlgfwMIKrFeSjWbt6moabiXW9xNvtFz+97KHRfI4HQ== + dependencies: + array-includes "^3.0.3" + contains-path "^0.1.0" + debug "^2.6.9" + doctrine "1.5.0" + eslint-import-resolver-node "^0.3.2" + eslint-module-utils "^2.4.0" + has "^1.0.3" + minimatch "^3.0.4" + object.values "^1.1.0" + read-pkg-up "^2.0.0" + resolve "^1.11.0" + +eslint-plugin-jsx-a11y@6.2.3: + version "6.2.3" + resolved "https://registry.yarnpkg.com/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.2.3.tgz#b872a09d5de51af70a97db1eea7dc933043708aa" + integrity sha512-CawzfGt9w83tyuVekn0GDPU9ytYtxyxyFZ3aSWROmnRRFQFT2BiPJd7jvRdzNDi6oLWaS2asMeYSNMjWTV4eNg== + dependencies: + "@babel/runtime" "^7.4.5" + aria-query "^3.0.0" + array-includes "^3.0.3" + ast-types-flow "^0.0.7" + axobject-query "^2.0.2" + damerau-levenshtein "^1.0.4" + emoji-regex "^7.0.2" + has "^1.0.3" + jsx-ast-utils "^2.2.1" + +eslint-plugin-react-hooks@^1.6.1: + version "1.7.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-1.7.0.tgz#6210b6d5a37205f0b92858f895a4e827020a7d04" + integrity sha512-iXTCFcOmlWvw4+TOE8CLWj6yX1GwzT0Y6cUfHHZqWnSk144VmVIRcVGtUAzrLES7C798lmvnt02C7rxaOX1HNA== + +eslint-plugin-react@7.14.3: + version "7.14.3" + resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.14.3.tgz#911030dd7e98ba49e1b2208599571846a66bdf13" + integrity sha512-EzdyyBWC4Uz2hPYBiEJrKCUi2Fn+BJ9B/pJQcjw5X+x/H2Nm59S4MJIvL4O5NEE0+WbnQwEBxWY03oUk+Bc3FA== + dependencies: + array-includes "^3.0.3" + doctrine "^2.1.0" + has "^1.0.3" + jsx-ast-utils "^2.1.0" + object.entries "^1.1.0" + object.fromentries "^2.0.0" + object.values "^1.1.0" + prop-types "^15.7.2" + resolve "^1.10.1" + +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: + 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-utils@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-2.1.0.tgz#d2de5e03424e707dc10c74068ddedae708741b27" + integrity sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg== + 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.1.0: + 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: + 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, esprima@^4.0.1: + 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: + 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, estraverse@^4.2.0: + 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 sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg== + +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.2" + resolved "https://registry.yarnpkg.com/eventsource/-/eventsource-1.1.2.tgz#bc75ae1c60209e7cb1541231980460343eaea7c2" + integrity sha512-xAH3zWhgO2/3KIniEKYPr8plNSzlGINOUqYj0m0u7AB81iRw8b/3E73W6AuU+6klLbaSFmZnaETQ2lXPfAydrA== + +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" + +exec-sh@^0.3.2: + version "0.3.6" + resolved "https://registry.yarnpkg.com/exec-sh/-/exec-sh-0.3.6.tgz#ff264f9e325519a60cb5e273692943483cca63bc" + integrity sha512-nQn+hI3yp+oD0huYhKwvYI32+JFeq+XkNcD1GAo3Y/MjxsfVGmrrzrnzjWiNY6f+pUCP440fThsFh5gZrRAU/w== + +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" + +exit@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" + integrity sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ== + +expand-brackets@^2.1.4: + version "2.1.4" + resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622" + integrity sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA== + 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" + +expect@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/expect/-/expect-24.9.0.tgz#b75165b4817074fa4a157794f46fe9f1ba15b6ca" + integrity sha512-wvVAx8XIol3Z5m9zvZXiyZOQ+sRJqNTIm6sGjdWlaZIeupQGO3WbYI+15D/AmEwZywL6wtJkbAbJtzkOfBuR0Q== + dependencies: + "@jest/types" "^24.9.0" + ansi-styles "^3.2.0" + jest-get-type "^24.9.0" + jest-matcher-utils "^24.9.0" + jest-message-util "^24.9.0" + jest-regex-util "^24.9.0" + +express@^4.16.2: + version "4.18.1" + resolved "https://registry.yarnpkg.com/express/-/express-4.18.1.tgz#7797de8b9c72c857b9cd0e14a5eea80666267caf" + integrity sha512-zZBcOX9TfehHQhtupq57OF8lFZ3UZi08Y97dwFCkD8p9d/d2Y3M+ykKcwaMDEL+4qyUolgBDX6AblpR3fL212Q== + dependencies: + accepts "~1.3.8" + array-flatten "1.1.1" + body-parser "1.20.0" + content-disposition "0.5.4" + content-type "~1.0.4" + cookie "0.5.0" + cookie-signature "1.0.6" + debug "2.6.9" + depd "2.0.0" + encodeurl "~1.0.2" + escape-html "~1.0.3" + etag "~1.8.1" + finalhandler "1.2.0" + fresh "0.5.2" + http-errors "2.0.0" + merge-descriptors "1.0.1" + methods "~1.1.2" + on-finished "2.4.1" + parseurl "~1.3.3" + path-to-regexp "0.1.7" + proxy-addr "~2.0.7" + qs "6.10.3" + range-parser "~1.2.1" + safe-buffer "5.2.1" + send "0.18.0" + serve-static "1.15.0" + setprototypeof "1.2.0" + statuses "2.0.1" + type-is "~1.6.18" + utils-merge "1.0.1" + vary "~1.1.2" + +ext@^1.1.2: + version "1.7.0" + resolved "https://registry.yarnpkg.com/ext/-/ext-1.7.0.tgz#0ea4383c0103d60e70be99e9a7f11027a33c4f5f" + integrity sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw== + dependencies: + type "^2.7.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 sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug== + 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 sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q== + 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 sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g== + +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.0.2: + 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 sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== + +faye-websocket@^0.10.0: + version "0.10.0" + resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.10.0.tgz#4e492f8d04dfb6f89003507f6edbf2d501e7c6f4" + integrity sha512-Xhj93RXbMSq8urNCUq4p9l0P6hnySJ/7YNRhYNug0bLOuii7pKO7xQFb5mx9xZXWCar88pLPb805PvUkwrLZpQ== + dependencies: + websocket-driver ">=0.5.1" + +faye-websocket@~0.11.1: + 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" + +fb-watchman@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.2.tgz#e9524ee6b5c77e9e5001af0f85f3adbb8623255c" + integrity sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA== + dependencies: + bser "2.1.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@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/figures/-/figures-2.0.0.tgz#3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962" + integrity sha512-Oa2M9atig69ZkfwiApY8F2Yy+tzMbazyvqv21R0NsSC8floSOC09BbT1ITWAdoMGQvJ/aZnR1KMwdx9tvHnTNA== + dependencies: + escape-string-regexp "^1.0.5" + +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@3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/file-loader/-/file-loader-3.0.1.tgz#f8e0ba0b599918b51adfe45d66d1e771ad560faa" + integrity sha512-4sNIOXgtH/9WZq4NvlfU3Opn5ynUsqBwSLyM+I7UOwdGigTBYfVVQEwe/msZNX/j4pCJTIM14Fsw66Svo1oVrw== + dependencies: + loader-utils "^1.0.2" + schema-utils "^1.0.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 sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ== + 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.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.2.0.tgz#7d23fe5731b207b4640e4fcd00aec1f9207a7b32" + integrity sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg== + dependencies: + debug "2.6.9" + encodeurl "~1.0.2" + escape-html "~1.0.3" + on-finished "2.4.1" + parseurl "~1.3.3" + statuses "2.0.1" + 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 sha512-Z9XSBoNE7xQiV6MSgPuCfyMokH2K7JdpRkOYE1+mu3d4BFJtx3GW+f6Bo4q8IX6rlf5MYbLBKW0pjl2cWdkm2A== + dependencies: + commondir "^1.0.1" + mkdirp "^0.5.1" + pkg-dir "^1.0.0" + +find-cache-dir@^2.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-up@3.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@^1.0.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f" + integrity sha512-jvElSjyuo4EMQGoTwo1uJU5pQMwTW5lS1x05zzfJuTIyLR3zwO27LYrxNg+dlvKpGOuGy/MzBdXh80g0ve5+HA== + dependencies: + path-exists "^2.0.0" + pinkie-promise "^2.0.0" + +find-up@^2.0.0, find-up@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" + integrity sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ== + dependencies: + locate-path "^2.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== + +flatten@^1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/flatten/-/flatten-1.0.3.tgz#c1283ac9f27b368abc1e36d1ff7b04501a30356b" + integrity sha512-dVsPA/UwQ8+2uoFe5GHtiBMu48dWLTdsuEd7CKGlZlD78r1TTWBvDuFaFGKCo/ZfEr95Uk56vZoX86OsHkUeIg== + +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.15.2" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.2.tgz#b460864144ba63f2681096f274c4e57026da2c13" + integrity sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA== + +for-each@^0.3.3: + version "0.3.3" + resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.3.tgz#69b447e88a0a5d32c3e7084f3f1710034b21376e" + integrity sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw== + dependencies: + is-callable "^1.1.3" + +for-in@^0.1.3: + version "0.1.8" + resolved "https://registry.yarnpkg.com/for-in/-/for-in-0.1.8.tgz#d8773908e31256109952b1fdb9b3fa867d2775e1" + integrity sha512-F0to7vbBSHP8E3l6dCjxNOLuSFAACIxFy3UehTUlG7svlXi37HHsDkyVcHo0Pq8QwrE+pXvWSVX3ZT1T9wAZ9g== + +for-in@^1.0.1, for-in@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" + integrity sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ== + +for-own@^0.1.3: + version "0.1.5" + resolved "https://registry.yarnpkg.com/for-own/-/for-own-0.1.5.tgz#5265c681a4f294dabbf17c9509b6763aa84510ce" + integrity sha512-SKmowqGTJoPzLO1T0BBJpkfp3EMacCMOuH40hOUbrbzElVktk4DioXVM99QkLCyKoiuOmyjgcWMpVz2xjE7LZw== + dependencies: + for-in "^1.0.1" + +forever-agent@~0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" + integrity sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw== + +fork-ts-checker-webpack-plugin@1.5.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-1.5.0.tgz#ce1d77190b44d81a761b10b6284a373795e41f0c" + integrity sha512-zEhg7Hz+KhZlBhILYpXy+Beu96gwvkROWJiTXOCyOOMMrdBIRPvsBpBqgTI4jfJGrJXcqGwJR8zsBGDmzY0jsA== + dependencies: + babel-code-frame "^6.22.0" + chalk "^2.4.1" + chokidar "^2.0.4" + micromatch "^3.1.10" + minimatch "^3.0.4" + semver "^5.6.0" + tapable "^1.0.0" + worker-rpc "^0.1.0" + +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 sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA== + 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 sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q== + +from2@^2.1.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/from2/-/from2-2.3.0.tgz#8bfb5502bde4a4d36cfdeea007fcca21d7e382af" + integrity sha512-OMcX/4IC/uqEPVgGeyfN22LJk6AZrMkRZHxcHBMBvHScDGgwTm2GT2Wkgtocyd3JfZffjj2kYUDXXII0Fk9W0g== + dependencies: + inherits "^2.0.1" + readable-stream "^2.0.0" + +fs-extra@7.0.1, fs-extra@^7.0.0: + 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-extra@^4.0.2: + version "4.0.3" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-4.0.3.tgz#0d852122e5bc5beb453fb028e9c0c9bf36340c94" + integrity sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg== + dependencies: + graceful-fs "^4.1.2" + jsonfile "^4.0.0" + universalify "^0.1.0" + +fs-extra@^8.1.0: + version "8.1.0" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-8.1.0.tgz#49d43c45a88cd9677668cb7be1b46efdb8d2e1c0" + integrity sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g== + dependencies: + graceful-fs "^4.2.0" + jsonfile "^4.0.0" + universalify "^0.1.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 sha512-gehEzmPn2nAwr39eay+x3X34Ra+M2QlVUTLhkXPjWdeO8RF9kszk116avgBJM3ZyNHgHXBNx+VmPaFC36k0PzA== + 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 sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== + +fsevents@2.0.7: + version "2.0.7" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.0.7.tgz#382c9b443c6cbac4c57187cdda23aa3bf1ccfc2a" + integrity sha512-a7YT0SV3RB+DjYcppwVDLtn13UQnmg0SWZS7ezZD0UjnLwXmy8Zm21GMVGLaFGimIqcvyMQaOJBrop8MyOp1kQ== + +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== + +function.prototype.name@^1.1.5: + version "1.1.5" + resolved "https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.1.5.tgz#cce0505fe1ffb80503e6f9e46cc64e46a12a9621" + integrity sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.19.0" + functions-have-names "^1.2.2" + +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 sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g== + +functions-have-names@^1.2.2: + version "1.2.3" + resolved "https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.2.3.tgz#0404fe4ee2ba2f607f0e0ec3c80bae994133b834" + integrity sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ== + +gensync@^1.0.0-beta.1, 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@^1.0.1: + version "1.0.3" + resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.3.tgz#f978fa4c90d1dfe7ff2d6beda2a515e713bdcf4a" + integrity sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w== + +get-caller-file@^2.0.1: + 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, get-intrinsic@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.3.tgz#063c84329ad93e83893c7f4f243ef63ffa351385" + integrity sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A== + dependencies: + function-bind "^1.1.1" + has "^1.0.3" + has-symbols "^1.0.3" + +get-own-enumerable-property-symbols@^3.0.0: + version "3.0.2" + resolved "https://registry.yarnpkg.com/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz#b5fde77f22cbe35f390b4e089922c50bce6ef664" + integrity sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g== + +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-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 sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA== + +getpass@^0.1.1: + version "0.1.7" + resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" + integrity sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng== + dependencies: + assert-plus "^1.0.0" + +glob-parent@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-3.1.0.tgz#9e6af6299d8d3bd2bd40430832bd113df906c5ae" + integrity sha512-E8Ak/2+dZY6fnzlR7+ueWvhsH1SjHr4jjss4YS/h4py44jY9MhK/VFdaZJAWDz6BbL21KeteKxFSFpq8OS5gVA== + 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 sha512-Iozmtbqv0noj0uDDqoL0zNq0VBEfK2YFoMAZoxJe4cwphvLR+JskfF30QhXHOR4m3KrE6NLRYw+U9MRXvifyig== + +glob@^7.0.3, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6: + version "7.2.3" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" + integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.1.1" + once "^1.3.0" + path-is-absolute "^1.0.0" + +global-modules@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-2.0.0.tgz#997605ad2345f27f51539bea26574421215c7780" + integrity sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A== + dependencies: + global-prefix "^3.0.0" + +global-prefix@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/global-prefix/-/global-prefix-3.0.0.tgz#fc85f73064df69f50421f47f883fe5b913ba9b97" + integrity sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg== + dependencies: + ini "^1.3.5" + kind-of "^6.0.2" + which "^1.3.1" + +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@8.0.2: + version "8.0.2" + resolved "https://registry.yarnpkg.com/globby/-/globby-8.0.2.tgz#5697619ccd95c5275dbb2d6faa42087c1a941d8d" + integrity sha512-yTzMmKygLp8RUpG1Ymu2VXPSJQZjNAZPD4ywgYEaG7e4tBJeUQBO8OpXrf1RCNcEs5alsoJYPAMiIHP0cmeC7w== + dependencies: + array-union "^1.0.1" + dir-glob "2.0.0" + fast-glob "^2.0.2" + glob "^7.1.2" + ignore "^3.3.5" + pify "^3.0.0" + slash "^1.0.0" + +globby@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/globby/-/globby-6.1.0.tgz#f5a6d70e8395e21c858fb0489d64df02424d506c" + integrity sha512-KVbFv2TQtbzCoxAnfD6JcHZTYCzyliEaaeM/gH8qQdkKr5s0OP9scEgvdcngyk7AVdY6YVW/TJHd+lQ/Df3Daw== + dependencies: + array-union "^1.0.1" + glob "^7.0.3" + object-assign "^4.0.1" + pify "^2.0.0" + pinkie-promise "^2.0.0" + +graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0: + version "4.2.10" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.10.tgz#147d3a006da4ca3ce14728c7aefc287c367d7a6c" + integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA== + +growly@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/growly/-/growly-1.3.0.tgz#f10748cbe76af964b7c96c93c6bcc28af120c081" + integrity sha512-+xGQY0YyAWCnqy7Cd++hc2JqMYzlm0dG30Jd0beaA64sROr8C4nt8Yc9V5Ro3avlSUDTN0ulqP/VBKi1/lLygw== + +gzip-size@5.1.1: + 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 sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q== + +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" + +harmony-reflect@^1.4.6: + version "1.6.2" + resolved "https://registry.yarnpkg.com/harmony-reflect/-/harmony-reflect-1.6.2.tgz#31ecbd32e648a34d030d86adb67d4d47547fe710" + integrity sha512-HIp/n38R9kQjDEziXyDTuW3vvoxxyxjxFzXLrBr18uB47GnSt+G9D29fqrpM5ZkspMcPICud3XsBJQ4Y2URg8g== + +has-ansi@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" + integrity sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg== + dependencies: + ansi-regex "^2.0.0" + +has-bigints@^1.0.1, has-bigints@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.2.tgz#0871bd3e3d51626f6ca0966668ba35d5602d6eaa" + integrity sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ== + +has-flag@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" + integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== + +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-property-descriptors@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz#610708600606d36961ed04c196193b6a607fa861" + integrity sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ== + dependencies: + get-intrinsic "^1.1.1" + +has-symbols@^1.0.1, has-symbols@^1.0.2, has-symbols@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" + integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== + +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-value@^0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f" + integrity sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q== + 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 sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw== + 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 sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ== + +has-values@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f" + integrity sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ== + 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.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: + 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== + +hmac-drbg@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" + integrity sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg== + dependencies: + hash.js "^1.0.3" + minimalistic-assert "^1.0.0" + minimalistic-crypto-utils "^1.0.1" + +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== + +hpack.js@^2.1.6: + version "2.1.6" + resolved "https://registry.yarnpkg.com/hpack.js/-/hpack.js-2.1.6.tgz#87774c0949e513f42e84575b3c45681fade2a0b2" + integrity sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ== + 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 sha512-M5ezZw4LzXbBKMruP+BNANf0k+19hDQMgpzBIYnya//Al+fjNct9Wf3b1WedLqdEs2hKBvxq/jh+DsHJLj0F9A== + +hsla-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/hsla-regex/-/hsla-regex-1.0.0.tgz#c1ce7a3168c8c6614033a4b5f7877f3b225f9c38" + integrity sha512-7Wn5GMLuHBjZCb2bTmnDOycho0p/7UVaAeqXZGbHrBCl6Yd/xDhQJAXe6Ga9AXJH2I5zY1dEdYw2u1UptnSBJA== + +html-encoding-sniffer@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz#e70d84b94da53aa375e11fe3a351be6642ca46f8" + integrity sha512-71lZziiDnsuabfdYiUeWdCVyKuqwWi23L8YeIgV9jSSZHCtb6wB1BKWooH7L3tn4/FuZJMVWyNaIDr4RGmaSYw== + dependencies: + whatwg-encoding "^1.0.1" + +html-entities@^1.2.0: + 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-escaper@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453" + integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg== + +html-minifier@^3.5.20: + 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-webpack-plugin@4.0.0-beta.5: + version "4.0.0-beta.5" + resolved "https://registry.yarnpkg.com/html-webpack-plugin/-/html-webpack-plugin-4.0.0-beta.5.tgz#2c53083c1151bfec20479b1f8aaf0039e77b5513" + integrity sha512-y5l4lGxOW3pz3xBTFdfB9rnnrWRPVxlAhX6nrBYIcW+2k2zC3mSp/3DxlWVCMBfnO6UAnoF8OcFn0IMy6kaKAQ== + dependencies: + html-minifier "^3.5.20" + loader-utils "^1.1.0" + lodash "^4.17.11" + pretty-error "^2.1.1" + tapable "^1.1.0" + util.promisify "1.0.0" + +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 sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw== + +http-errors@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-2.0.0.tgz#b7774a1486ef73cf7667ac9ae0858c012c57b9d3" + integrity sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ== + dependencies: + depd "2.0.0" + inherits "2.0.4" + setprototypeof "1.2.0" + statuses "2.0.1" + 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 sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A== + 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.8" + resolved "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.5.8.tgz#af23090d9ac4e24573de6f6aecc9d84a48bf20e3" + integrity sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q== + +http-proxy-middleware@^0.19.1: + version "0.19.2" + resolved "https://registry.yarnpkg.com/http-proxy-middleware/-/http-proxy-middleware-0.19.2.tgz#ee73dcc8348165afefe8de2ff717751d181608ee" + integrity sha512-aYk1rTKqLTus23X3L96LGNCGNgWpG4cG0XoZIT1GUPhhulEHX/QalnO6Vbo+WmKWi4AL2IidjuC0wZtbpg0yhQ== + dependencies: + http-proxy "^1.18.1" + is-glob "^4.0.0" + lodash "^4.17.11" + micromatch "^3.1.10" + +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 sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ== + 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 sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg== + +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" + +icss-replace-symbols@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz#06ea6f83679a7749e386cfe1fe812ae5db223ded" + integrity sha512-chIaY3Vh2mh2Q3RGXttaDIzeiPvaVXJ+C4DAh/w3c37SKZ/U6PGMmuicR2EQQp9bKG8zLMCl7I+PtIoOOPp8Gg== + +icss-utils@^4.1.0: + 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" + +identity-obj-proxy@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/identity-obj-proxy/-/identity-obj-proxy-3.0.0.tgz#94d2bda96084453ef36fbc5aaec37e0f79f1fc14" + integrity sha512-00n6YnVHKrinT9t0d9+5yZC6UBNJANpYEQvL2LlX6Ab9lnmxzIRcEmTPuyGScvl1+jKuCICX1Z0Ab1pPKKdikA== + dependencies: + harmony-reflect "^1.4.6" + +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 sha512-DUNFN5j7Tln0D+TxzloUjKB+CtVu6myn0JEFak6dG18mNt9YkQ6lzGCdafwofISZ1lLF3xRHJ98VKy9ynkcFaA== + +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.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== + +immer@1.10.0: + version "1.10.0" + resolved "https://registry.yarnpkg.com/immer/-/immer-1.10.0.tgz#bad67605ba9c810275d91e1c2a47d4582e98286d" + integrity sha512-O3sR1/opvCDGLEVcvrGTMtLac8GJ5IwZC4puPrLuRj3l7ICKvkmA0vGuU9OW8mV9WIBRnaxp5GJh9IEAaNOoYg== + +import-cwd@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/import-cwd/-/import-cwd-2.1.0.tgz#aa6cf36e722761285cb371ec6519f53e2435b0a9" + integrity sha512-Ew5AZzJQFqrOV5BTW3EIoHAnoie1LojZLXKcCQ/yTRyVZosBhK1x1ViYjHGf5pAFOq8ZyChZp6m/fSN7pJyZtg== + 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 sha512-eZ5H8rcgYazHbKC3PG4ClHNykCSxtAhxSSEM+2mb+7evD2CKF5V7c0dNum7AdpDh0ZdICwZY9sRSn8f+KH96sg== + dependencies: + caller-path "^2.0.0" + resolve-from "^3.0.0" + +import-fresh@^3.0.0, import-fresh@^3.1.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 sha512-0vdnLL2wSGnhlRmzHJAg5JHjt1l2vYhzJ7tNLGbeVg0fse56tpGaH0uzH+r9Slej+BSXXEHvBKDEnVSLLE9/+w== + 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" + +imurmurhash@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" + integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== + +indexes-of@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/indexes-of/-/indexes-of-1.0.1.tgz#f30f716c8e2bd346c7b67d3df3915566a7c05607" + integrity sha512-bup+4tap3Hympa+JBJUG7XuOsdNQ6fxt0MHyXMKuLBKn0OqsTfvUxkUrroEX1+B2VsSHvCjiIcZVxRtYa4nllA== + +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 sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== + 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 sha512-8nWq2nLTAwd02jTqJExUYFSD/fKq6VH9Y/oG2accc/kdI0V98Bag8d5a4gi3XHz73rDWa2PvTtvcWYquKqSENA== + +inherits@2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" + integrity sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw== + +ini@^1.3.5: + version "1.3.8" + resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c" + integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== + +inquirer@6.5.0: + version "6.5.0" + resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-6.5.0.tgz#2303317efc9a4ea7ec2e2df6f86569b734accf42" + integrity sha512-scfHejeG/lVZSpvCXpsB4j/wQNPM5JC8kiElOI0OUTwmc1RTpXr4H32/HOlQHcZiYl2z2VElwuCVDRG8vFmbnA== + dependencies: + ansi-escapes "^3.2.0" + chalk "^2.4.2" + cli-cursor "^2.1.0" + cli-width "^2.0.0" + external-editor "^3.0.3" + figures "^2.0.0" + lodash "^4.17.12" + mute-stream "0.0.7" + run-async "^2.2.0" + rxjs "^6.4.0" + string-width "^2.1.0" + strip-ansi "^5.1.0" + through "^2.3.6" + +inquirer@^7.0.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.2.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" + +invariant@^2.2.2, invariant@^2.2.4: + version "2.2.4" + resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6" + integrity sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA== + dependencies: + loose-envify "^1.0.0" + +invert-kv@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-2.0.0.tgz#7393f5afa59ec9ff5f67a27620d11c226e3eec02" + integrity sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA== + +ip-regex@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-2.1.0.tgz#fa78bf5d2e6913c911ce9f819ee5146bb6d844e9" + integrity sha512-58yWmlHpp7VYfcdTwMTvwMmqx/Elfxjd9RXTDyMsbL7lLWmhMylLEqiYVLKuLzOZqVgiWXD9MfR62Vv89VRxkw== + +ip@^1.1.0, ip@^1.1.5: + version "1.1.8" + resolved "https://registry.yarnpkg.com/ip/-/ip-1.1.8.tgz#ae05948f6b075435ed3307acce04629da8cdbf48" + integrity sha512-PuExPYUiu6qMBQb4l06ecm6T6ujzhmh+MeJcW9wa89PoAz5pvd4zPgN5WJV104mb6S2T1AwNIAaB70JNrLQWhg== + +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 sha512-vOx7VprsKyllwjSkLV79NIhpyLfr3jAp7VaTCMXOJHu4m0Ew1CZ2fcjASwmV1jI3BWuWHB013M48eyeldk9gYg== + +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 sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A== + 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 sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg== + +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 sha512-9fRVlXc0uCxEDj1nQzaWONSpbTfx0FmJfzHF7pwlI8DkWGoHBBea4Pg5Ky0ojwwxQmnSifgbKkI06Qv0Ljgj+Q== + 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.0.2, is-buffer@^1.1.5: + 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.3, is-callable@^1.1.4, is-callable@^1.2.6: + version "1.2.7" + resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.7.tgz#3bc2a85ea742d9e36205dcacdd72ca1fdc51b055" + integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA== + +is-ci@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c" + integrity sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w== + dependencies: + ci-info "^2.0.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 sha512-H1U8Vz0cfXNujrJzEcvvwMDW9Ra+biSYA3ThdQvAnMLJkEHQXn6bWzLkxHtVYJ+Sdbx0b6finn3jZiaVe7MAHA== + 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.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 sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg== + 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 sha512-yVChGzahRFvbkscn2MlwGismPO12i9+znNruC5gVEntG3qu0xQMzsGg/JFbrsqDOHtHFPci+V5aP5T9I+yeKqw== + +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 sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw== + +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 sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== + +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 sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw== + 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 sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w== + +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-generator-fn@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-generator-fn/-/is-generator-fn-2.1.0.tgz#7d140adc389aaf3011a8f2a2a4cfa6faadffb118" + integrity sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ== + +is-glob@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a" + integrity sha512-UFpDDrPgM6qpnFNI+rh/p3bUaq9hKLZN8bMUWzxmcnZVS3omf4IPK+BrewlnWjO1WmUsMYuSjKh4UJuV4+Lqmw== + 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.2: + 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.7" + resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.7.tgz#59d50ada4c45251784e9904f5246c742f07a42fc" + integrity sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ== + 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 sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg== + 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@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" + integrity sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg== + +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@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-1.0.0.tgz#d225ec23132e89edd38fda767472e62e65f1106d" + integrity sha512-cnS56eR9SPAscL77ik76ATVqoPARTqPIVkMDVxRaWH06zT+6+CzIroYRJ0VVvm0Z1zfAvxvz9i/D3Ppjaqt5Nw== + +is-path-in-cwd@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-path-in-cwd/-/is-path-in-cwd-1.0.1.tgz#5ac48b345ef675339bd6c7a48a912110b241cf52" + integrity sha512-FjV1RTW48E7CWM7eE/J2NJvAEEVektecDBVBE5Hh3nM1Jd0kvhHtX68Pr3xsDf857xt3Y4AkwVULK1Vku62aaQ== + dependencies: + is-path-inside "^1.0.0" + +is-path-inside@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-1.0.1.tgz#8ef5b7de50437a3fdca6b4e865ef7aa55cb48036" + integrity sha512-qhsCR/Esx4U4hg/9I19OVUAJkGWtjRYHMRgUMZE2TDdj+Ag+kttZanLupfddNyglzz50cUlmWzUaI37GDfNx/g== + dependencies: + path-is-inside "^1.0.1" + +is-plain-obj@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" + integrity sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg== + +is-plain-object@^2.0.1, 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-regexp@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-regexp/-/is-regexp-1.0.0.tgz#fd2d883545c46bac5a633e7b9a09e87fa2cb5069" + integrity sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA== + +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-root@2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-root/-/is-root-2.1.0.tgz#809e18129cf1129644302a4f8544035d51984a9c" + integrity sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg== + +is-shared-array-buffer@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz#8f259c573b60b6a32d4058a1a07430c0a7344c79" + integrity sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA== + dependencies: + call-bind "^1.0.2" + +is-stream@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" + integrity sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ== + +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 sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA== + +is-weakref@^1.0.2: + 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 sha512-gfygJYZ2gLTDlmbWMI0CE2MwnFzSN/2SZfkMlItC4K/JBlsWVDB0bO6XhqcY13YXE7iMcAJnzTCJjPiTeJJ0Mw== + +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 sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ== + +isexe@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" + integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== + +isobject@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" + integrity sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA== + 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 sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg== + +isstream@~0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" + integrity sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g== + +istanbul-lib-coverage@^2.0.2, istanbul-lib-coverage@^2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz#675f0ab69503fad4b1d849f736baaca803344f49" + integrity sha512-8aXznuEPCJvGnMSRft4udDRDtb1V3pkQkMMI5LI+6HuQz5oQ4J2UFn1H82raA3qJtyOLkkwVqICBQkjnGtn5mA== + +istanbul-lib-instrument@^3.0.1, istanbul-lib-instrument@^3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-3.3.0.tgz#a5f63d91f0bbc0c3e479ef4c5de027335ec6d630" + integrity sha512-5nnIN4vo5xQZHdXno/YDXJ0G+I3dAm4XgzfSVTPLQpj/zAV2dV6Juy0yaf10/zrJOJeHoN3fraFe+XRq2bFVZA== + dependencies: + "@babel/generator" "^7.4.0" + "@babel/parser" "^7.4.3" + "@babel/template" "^7.4.0" + "@babel/traverse" "^7.4.3" + "@babel/types" "^7.4.0" + istanbul-lib-coverage "^2.0.5" + semver "^6.0.0" + +istanbul-lib-report@^2.0.4: + version "2.0.8" + resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-2.0.8.tgz#5a8113cd746d43c4889eba36ab10e7d50c9b4f33" + integrity sha512-fHBeG573EIihhAblwgxrSenp0Dby6tJMFR/HvlerBsrCTD5bkUuoNtn3gVh29ZCS824cGGBPn7Sg7cNk+2xUsQ== + dependencies: + istanbul-lib-coverage "^2.0.5" + make-dir "^2.1.0" + supports-color "^6.1.0" + +istanbul-lib-source-maps@^3.0.1: + version "3.0.6" + resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-3.0.6.tgz#284997c48211752ec486253da97e3879defba8c8" + integrity sha512-R47KzMtDJH6X4/YW9XTx+jrLnZnscW4VpNN+1PViSYTejLVPWv7oov+Duf8YQSPyVRUvueQqz1TcsC6mooZTXw== + dependencies: + debug "^4.1.1" + istanbul-lib-coverage "^2.0.5" + make-dir "^2.1.0" + rimraf "^2.6.3" + source-map "^0.6.1" + +istanbul-reports@^2.2.6: + version "2.2.7" + resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-2.2.7.tgz#5d939f6237d7b48393cc0959eab40cd4fd056931" + integrity sha512-uu1F/L1o5Y6LzPVSVZXNOoD/KXpJue9aeLRd0sM9uMXfZvzomB0WxVamWb5ue8kA2vVWEmW7EG+A5n3f1kqHKg== + dependencies: + html-escaper "^2.0.0" + +jest-changed-files@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-24.9.0.tgz#08d8c15eb79a7fa3fc98269bc14b451ee82f8039" + integrity sha512-6aTWpe2mHF0DhL28WjdkO8LyGjs3zItPET4bMSeXU6T3ub4FPMw+mcOcbdGXQOAfmLcxofD23/5Bl9Z4AkFwqg== + dependencies: + "@jest/types" "^24.9.0" + execa "^1.0.0" + throat "^4.0.0" + +jest-cli@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-24.9.0.tgz#ad2de62d07472d419c6abc301fc432b98b10d2af" + integrity sha512-+VLRKyitT3BWoMeSUIHRxV/2g8y9gw91Jh5z2UmXZzkZKpbC08CSehVxgHUwTpy+HwGcns/tqafQDJW7imYvGg== + dependencies: + "@jest/core" "^24.9.0" + "@jest/test-result" "^24.9.0" + "@jest/types" "^24.9.0" + chalk "^2.0.1" + exit "^0.1.2" + import-local "^2.0.0" + is-ci "^2.0.0" + jest-config "^24.9.0" + jest-util "^24.9.0" + jest-validate "^24.9.0" + prompts "^2.0.1" + realpath-native "^1.1.0" + yargs "^13.3.0" + +jest-config@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-24.9.0.tgz#fb1bbc60c73a46af03590719efa4825e6e4dd1b5" + integrity sha512-RATtQJtVYQrp7fvWg6f5y3pEFj9I+H8sWw4aKxnDZ96mob5i5SD6ZEGWgMLXQ4LE8UurrjbdlLWdUeo+28QpfQ== + dependencies: + "@babel/core" "^7.1.0" + "@jest/test-sequencer" "^24.9.0" + "@jest/types" "^24.9.0" + babel-jest "^24.9.0" + chalk "^2.0.1" + glob "^7.1.1" + jest-environment-jsdom "^24.9.0" + jest-environment-node "^24.9.0" + jest-get-type "^24.9.0" + jest-jasmine2 "^24.9.0" + jest-regex-util "^24.3.0" + jest-resolve "^24.9.0" + jest-util "^24.9.0" + jest-validate "^24.9.0" + micromatch "^3.1.10" + pretty-format "^24.9.0" + realpath-native "^1.1.0" + +jest-diff@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-24.9.0.tgz#931b7d0d5778a1baf7452cb816e325e3724055da" + integrity sha512-qMfrTs8AdJE2iqrTp0hzh7kTd2PQWrsFyj9tORoKmu32xjPjeE4NyjVRDz8ybYwqS2ik8N4hsIpiVTyFeo2lBQ== + dependencies: + chalk "^2.0.1" + diff-sequences "^24.9.0" + jest-get-type "^24.9.0" + pretty-format "^24.9.0" + +jest-docblock@^24.3.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-24.9.0.tgz#7970201802ba560e1c4092cc25cbedf5af5a8ce2" + integrity sha512-F1DjdpDMJMA1cN6He0FNYNZlo3yYmOtRUnktrT9Q37njYzC5WEaDdmbynIgy0L/IvXvvgsG8OsqhLPXTpfmZAA== + dependencies: + detect-newline "^2.1.0" + +jest-each@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-24.9.0.tgz#eb2da602e2a610898dbc5f1f6df3ba86b55f8b05" + integrity sha512-ONi0R4BvW45cw8s2Lrx8YgbeXL1oCQ/wIDwmsM3CqM/nlblNCPmnC3IPQlMbRFZu3wKdQ2U8BqM6lh3LJ5Bsog== + dependencies: + "@jest/types" "^24.9.0" + chalk "^2.0.1" + jest-get-type "^24.9.0" + jest-util "^24.9.0" + pretty-format "^24.9.0" + +jest-environment-jsdom-fourteen@0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/jest-environment-jsdom-fourteen/-/jest-environment-jsdom-fourteen-0.1.0.tgz#aad6393a9d4b565b69a609109bf469f62bf18ccc" + integrity sha512-4vtoRMg7jAstitRzL4nbw83VmGH8Rs13wrND3Ud2o1fczDhMUF32iIrNKwYGgeOPUdfvZU4oy8Bbv+ni1fgVCA== + dependencies: + jest-mock "^24.5.0" + jest-util "^24.5.0" + jsdom "^14.0.0" + +jest-environment-jsdom@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-24.9.0.tgz#4b0806c7fc94f95edb369a69cc2778eec2b7375b" + integrity sha512-Zv9FV9NBRzLuALXjvRijO2351DRQeLYXtpD4xNvfoVFw21IOKNhZAEUKcbiEtjTkm2GsJ3boMVgkaR7rN8qetA== + dependencies: + "@jest/environment" "^24.9.0" + "@jest/fake-timers" "^24.9.0" + "@jest/types" "^24.9.0" + jest-mock "^24.9.0" + jest-util "^24.9.0" + jsdom "^11.5.1" + +jest-environment-node@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-24.9.0.tgz#333d2d2796f9687f2aeebf0742b519f33c1cbfd3" + integrity sha512-6d4V2f4nxzIzwendo27Tr0aFm+IXWa0XEUnaH6nU0FMaozxovt+sfRvh4J47wL1OvF83I3SSTu0XK+i4Bqe7uA== + dependencies: + "@jest/environment" "^24.9.0" + "@jest/fake-timers" "^24.9.0" + "@jest/types" "^24.9.0" + jest-mock "^24.9.0" + jest-util "^24.9.0" + +jest-get-type@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-24.9.0.tgz#1684a0c8a50f2e4901b6644ae861f579eed2ef0e" + integrity sha512-lUseMzAley4LhIcpSP9Jf+fTrQ4a1yHQwLNeeVa2cEmbCGeoZAtYPOIv8JaxLD/sUpKxetKGP+gsHl8f8TSj8Q== + +jest-haste-map@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-24.9.0.tgz#b38a5d64274934e21fa417ae9a9fbeb77ceaac7d" + integrity sha512-kfVFmsuWui2Sj1Rp1AJ4D9HqJwE4uwTlS/vO+eRUaMmd54BFpli2XhMQnPC2k4cHFVbB2Q2C+jtI1AGLgEnCjQ== + dependencies: + "@jest/types" "^24.9.0" + anymatch "^2.0.0" + fb-watchman "^2.0.0" + graceful-fs "^4.1.15" + invariant "^2.2.4" + jest-serializer "^24.9.0" + jest-util "^24.9.0" + jest-worker "^24.9.0" + micromatch "^3.1.10" + sane "^4.0.3" + walker "^1.0.7" + optionalDependencies: + fsevents "^1.2.7" + +jest-jasmine2@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-24.9.0.tgz#1f7b1bd3242c1774e62acabb3646d96afc3be6a0" + integrity sha512-Cq7vkAgaYKp+PsX+2/JbTarrk0DmNhsEtqBXNwUHkdlbrTBLtMJINADf2mf5FkowNsq8evbPc07/qFO0AdKTzw== + dependencies: + "@babel/traverse" "^7.1.0" + "@jest/environment" "^24.9.0" + "@jest/test-result" "^24.9.0" + "@jest/types" "^24.9.0" + chalk "^2.0.1" + co "^4.6.0" + expect "^24.9.0" + is-generator-fn "^2.0.0" + jest-each "^24.9.0" + jest-matcher-utils "^24.9.0" + jest-message-util "^24.9.0" + jest-runtime "^24.9.0" + jest-snapshot "^24.9.0" + jest-util "^24.9.0" + pretty-format "^24.9.0" + throat "^4.0.0" + +jest-leak-detector@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-24.9.0.tgz#b665dea7c77100c5c4f7dfcb153b65cf07dcf96a" + integrity sha512-tYkFIDsiKTGwb2FG1w8hX9V0aUb2ot8zY/2nFg087dUageonw1zrLMP4W6zsRO59dPkTSKie+D4rhMuP9nRmrA== + dependencies: + jest-get-type "^24.9.0" + pretty-format "^24.9.0" + +jest-matcher-utils@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-24.9.0.tgz#f5b3661d5e628dffe6dd65251dfdae0e87c3a073" + integrity sha512-OZz2IXsu6eaiMAwe67c1T+5tUAtQyQx27/EMEkbFAGiw52tB9em+uGbzpcgYVpA8wl0hlxKPZxrly4CXU/GjHA== + dependencies: + chalk "^2.0.1" + jest-diff "^24.9.0" + jest-get-type "^24.9.0" + pretty-format "^24.9.0" + +jest-message-util@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-24.9.0.tgz#527f54a1e380f5e202a8d1149b0ec872f43119e3" + integrity sha512-oCj8FiZ3U0hTP4aSui87P4L4jC37BtQwUMqk+zk/b11FR19BJDeZsZAvIHutWnmtw7r85UmR3CEWZ0HWU2mAlw== + dependencies: + "@babel/code-frame" "^7.0.0" + "@jest/test-result" "^24.9.0" + "@jest/types" "^24.9.0" + "@types/stack-utils" "^1.0.1" + chalk "^2.0.1" + micromatch "^3.1.10" + slash "^2.0.0" + stack-utils "^1.0.1" + +jest-mock@^24.5.0, jest-mock@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-24.9.0.tgz#c22835541ee379b908673ad51087a2185c13f1c6" + integrity sha512-3BEYN5WbSq9wd+SyLDES7AHnjH9A/ROBwmz7l2y+ol+NtSFO8DYiEBzoO1CeFc9a8DYy10EO4dDFVv/wN3zl1w== + dependencies: + "@jest/types" "^24.9.0" + +jest-pnp-resolver@^1.2.1: + version "1.2.2" + resolved "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz#b704ac0ae028a89108a4d040b3f919dfddc8e33c" + integrity sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w== + +jest-regex-util@^24.3.0, jest-regex-util@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-24.9.0.tgz#c13fb3380bde22bf6575432c493ea8fe37965636" + integrity sha512-05Cmb6CuxaA+Ys6fjr3PhvV3bGQmO+2p2La4hFbU+W5uOc479f7FdLXUWXw4pYMAhhSZIuKHwSXSu6CsSBAXQA== + +jest-resolve-dependencies@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-24.9.0.tgz#ad055198959c4cfba8a4f066c673a3f0786507ab" + integrity sha512-Fm7b6AlWnYhT0BXy4hXpactHIqER7erNgIsIozDXWl5dVm+k8XdGVe1oTg1JyaFnOxarMEbax3wyRJqGP2Pq+g== + dependencies: + "@jest/types" "^24.9.0" + jest-regex-util "^24.3.0" + jest-snapshot "^24.9.0" + +jest-resolve@24.9.0, jest-resolve@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-24.9.0.tgz#dff04c7687af34c4dd7e524892d9cf77e5d17321" + integrity sha512-TaLeLVL1l08YFZAt3zaPtjiVvyy4oSA6CRe+0AFPPVX3Q/VI0giIWWoAvoS5L96vj9Dqxj4fB5p2qrHCmTU/MQ== + dependencies: + "@jest/types" "^24.9.0" + browser-resolve "^1.11.3" + chalk "^2.0.1" + jest-pnp-resolver "^1.2.1" + realpath-native "^1.1.0" + +jest-runner@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-24.9.0.tgz#574fafdbd54455c2b34b4bdf4365a23857fcdf42" + integrity sha512-KksJQyI3/0mhcfspnxxEOBueGrd5E4vV7ADQLT9ESaCzz02WnbdbKWIf5Mkaucoaj7obQckYPVX6JJhgUcoWWg== + dependencies: + "@jest/console" "^24.7.1" + "@jest/environment" "^24.9.0" + "@jest/test-result" "^24.9.0" + "@jest/types" "^24.9.0" + chalk "^2.4.2" + exit "^0.1.2" + graceful-fs "^4.1.15" + jest-config "^24.9.0" + jest-docblock "^24.3.0" + jest-haste-map "^24.9.0" + jest-jasmine2 "^24.9.0" + jest-leak-detector "^24.9.0" + jest-message-util "^24.9.0" + jest-resolve "^24.9.0" + jest-runtime "^24.9.0" + jest-util "^24.9.0" + jest-worker "^24.6.0" + source-map-support "^0.5.6" + throat "^4.0.0" + +jest-runtime@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-24.9.0.tgz#9f14583af6a4f7314a6a9d9f0226e1a781c8e4ac" + integrity sha512-8oNqgnmF3v2J6PVRM2Jfuj8oX3syKmaynlDMMKQ4iyzbQzIG6th5ub/lM2bCMTmoTKM3ykcUYI2Pw9xwNtjMnw== + dependencies: + "@jest/console" "^24.7.1" + "@jest/environment" "^24.9.0" + "@jest/source-map" "^24.3.0" + "@jest/transform" "^24.9.0" + "@jest/types" "^24.9.0" + "@types/yargs" "^13.0.0" + chalk "^2.0.1" + exit "^0.1.2" + glob "^7.1.3" + graceful-fs "^4.1.15" + jest-config "^24.9.0" + jest-haste-map "^24.9.0" + jest-message-util "^24.9.0" + jest-mock "^24.9.0" + jest-regex-util "^24.3.0" + jest-resolve "^24.9.0" + jest-snapshot "^24.9.0" + jest-util "^24.9.0" + jest-validate "^24.9.0" + realpath-native "^1.1.0" + slash "^2.0.0" + strip-bom "^3.0.0" + yargs "^13.3.0" + +jest-serializer@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-24.9.0.tgz#e6d7d7ef96d31e8b9079a714754c5d5c58288e73" + integrity sha512-DxYipDr8OvfrKH3Kel6NdED3OXxjvxXZ1uIY2I9OFbGg+vUkkg7AGvi65qbhbWNPvDckXmzMPbK3u3HaDO49bQ== + +jest-snapshot@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-24.9.0.tgz#ec8e9ca4f2ec0c5c87ae8f925cf97497b0e951ba" + integrity sha512-uI/rszGSs73xCM0l+up7O7a40o90cnrk429LOiK3aeTvfC0HHmldbd81/B7Ix81KSFe1lwkbl7GnBGG4UfuDew== + dependencies: + "@babel/types" "^7.0.0" + "@jest/types" "^24.9.0" + chalk "^2.0.1" + expect "^24.9.0" + jest-diff "^24.9.0" + jest-get-type "^24.9.0" + jest-matcher-utils "^24.9.0" + jest-message-util "^24.9.0" + jest-resolve "^24.9.0" + mkdirp "^0.5.1" + natural-compare "^1.4.0" + pretty-format "^24.9.0" + semver "^6.2.0" + +jest-util@^24.5.0, jest-util@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-24.9.0.tgz#7396814e48536d2e85a37de3e4c431d7cb140162" + integrity sha512-x+cZU8VRmOJxbA1K5oDBdxQmdq0OIdADarLxk0Mq+3XS4jgvhG/oKGWcIDCtPG0HgjxOYvF+ilPJQsAyXfbNOg== + dependencies: + "@jest/console" "^24.9.0" + "@jest/fake-timers" "^24.9.0" + "@jest/source-map" "^24.9.0" + "@jest/test-result" "^24.9.0" + "@jest/types" "^24.9.0" + callsites "^3.0.0" + chalk "^2.0.1" + graceful-fs "^4.1.15" + is-ci "^2.0.0" + mkdirp "^0.5.1" + slash "^2.0.0" + source-map "^0.6.0" + +jest-validate@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-24.9.0.tgz#0775c55360d173cd854e40180756d4ff52def8ab" + integrity sha512-HPIt6C5ACwiqSiwi+OfSSHbK8sG7akG8eATl+IPKaeIjtPOeBUd/g3J7DghugzxrGjI93qS/+RPKe1H6PqvhRQ== + dependencies: + "@jest/types" "^24.9.0" + camelcase "^5.3.1" + chalk "^2.0.1" + jest-get-type "^24.9.0" + leven "^3.1.0" + pretty-format "^24.9.0" + +jest-watch-typeahead@0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/jest-watch-typeahead/-/jest-watch-typeahead-0.4.0.tgz#4d5356839a85421588ce452d2440bf0d25308397" + integrity sha512-bJR/HPNgOQnkmttg1OkBIrYFAYuxFxExtgQh67N2qPvaWGVC8TCkedRNPKBfmZfVXFD3u2sCH+9OuS5ApBfCgA== + dependencies: + ansi-escapes "^4.2.1" + chalk "^2.4.1" + jest-watcher "^24.3.0" + slash "^3.0.0" + string-length "^3.1.0" + strip-ansi "^5.0.0" + +jest-watcher@^24.3.0, jest-watcher@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-24.9.0.tgz#4b56e5d1ceff005f5b88e528dc9afc8dd4ed2b3b" + integrity sha512-+/fLOfKPXXYJDYlks62/4R4GoT+GU1tYZed99JSCOsmzkkF7727RqKrjNAxtfO4YpGv11wybgRvCjR73lK2GZw== + dependencies: + "@jest/test-result" "^24.9.0" + "@jest/types" "^24.9.0" + "@types/yargs" "^13.0.0" + ansi-escapes "^3.0.0" + chalk "^2.0.1" + jest-util "^24.9.0" + string-length "^2.0.0" + +jest-worker@^24.6.0, jest-worker@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-24.9.0.tgz#5dbfdb5b2d322e98567898238a9697bcce67b3e5" + integrity sha512-51PE4haMSXcHohnSMdM42anbvZANYTqMrr52tVKPqqsPJMzoP6FYYDVqahX/HrAoKEKz3uUPzSvKs9A3qR4iVw== + dependencies: + merge-stream "^2.0.0" + supports-color "^6.1.0" + +jest@24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest/-/jest-24.9.0.tgz#987d290c05a08b52c56188c1002e368edb007171" + integrity sha512-YvkBL1Zm7d2B1+h5fHEOdyjCG+sGMz4f8D86/0HiqJ6MB4MnDc8FgP5vdWsGnemOQro7lnYo8UakZ3+5A0jxGw== + dependencies: + import-local "^2.0.0" + jest-cli "^24.9.0" + +"js-tokens@^3.0.0 || ^4.0.0", 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-tokens@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b" + integrity sha512-RjTcuD4xjtthQkaWH7dFlH85L+QaVtSoOyGdZ3g6HFhS9dFNDfLyqgm2NFe2X6cQpeFmt0452FJjFG5UameExg== + +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 sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg== + +jsdom@^11.5.1: + version "11.12.0" + resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-11.12.0.tgz#1a80d40ddd378a1de59656e9e6dc5a3ba8657bc8" + integrity sha512-y8Px43oyiBM13Zc1z780FrfNLJCXTL40EWlty/LXUtcjykRBNgLlCjWXpfSPBl2iv+N7koQN+dvqszHZgT/Fjw== + dependencies: + abab "^2.0.0" + acorn "^5.5.3" + acorn-globals "^4.1.0" + array-equal "^1.0.0" + cssom ">= 0.3.2 < 0.4.0" + cssstyle "^1.0.0" + data-urls "^1.0.0" + domexception "^1.0.1" + escodegen "^1.9.1" + html-encoding-sniffer "^1.0.2" + left-pad "^1.3.0" + nwsapi "^2.0.7" + parse5 "4.0.0" + pn "^1.1.0" + request "^2.87.0" + request-promise-native "^1.0.5" + sax "^1.2.4" + symbol-tree "^3.2.2" + tough-cookie "^2.3.4" + w3c-hr-time "^1.0.1" + webidl-conversions "^4.0.2" + whatwg-encoding "^1.0.3" + whatwg-mimetype "^2.1.0" + whatwg-url "^6.4.1" + ws "^5.2.0" + xml-name-validator "^3.0.0" + +jsdom@^14.0.0: + version "14.1.0" + resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-14.1.0.tgz#916463b6094956b0a6c1782c94e380cd30e1981b" + integrity sha512-O901mfJSuTdwU2w3Sn+74T+RnDVP+FuV5fH8tcPWyqrseRAb0s5xOtPgCFiPOtLcyK7CLIJwPyD83ZqQWvA5ng== + dependencies: + abab "^2.0.0" + acorn "^6.0.4" + acorn-globals "^4.3.0" + array-equal "^1.0.0" + cssom "^0.3.4" + cssstyle "^1.1.1" + data-urls "^1.1.0" + domexception "^1.0.1" + escodegen "^1.11.0" + html-encoding-sniffer "^1.0.2" + nwsapi "^2.1.3" + parse5 "5.1.0" + pn "^1.1.0" + request "^2.88.0" + request-promise-native "^1.0.5" + saxes "^3.1.9" + symbol-tree "^3.2.2" + tough-cookie "^2.5.0" + w3c-hr-time "^1.0.1" + w3c-xmlserializer "^1.1.2" + webidl-conversions "^4.0.2" + whatwg-encoding "^1.0.5" + whatwg-mimetype "^2.3.0" + whatwg-url "^7.0.0" + ws "^6.1.2" + xml-name-validator "^3.0.0" + +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 sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA== + +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 sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw== + +json-stable-stringify@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz#9a759d39c5f2ff503fd5300646ed445f88c4f9af" + integrity sha512-i/J297TW6xyj7sDFa7AmBPkQvLIxWr2kKPWI26tXydnZrzVAocNqn5DMNT1Mzk0vit1V5UkRM7C1KdVNp7Lmcg== + dependencies: + jsonify "~0.0.0" + +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 sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA== + +json3@^3.3.2: + version "3.3.3" + resolved "https://registry.yarnpkg.com/json3/-/json3-3.3.3.tgz#7fc10e375fc5ae42c4705a5cc0aa6f62be305b81" + integrity sha512-c7/8mbUsKigAbLkD5B010BK4D9LZm7A1pNItkEwiUZRpIN66exu/e7YQWysGun+TRKaJp8MhemM+VkfWv42aCA== + +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.0, json5@^2.1.2, json5@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.1.tgz#655d50ed1e6f95ad1a3caababd2b0efda10b395c" + integrity sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA== + +jsonfile@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb" + integrity sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg== + optionalDependencies: + graceful-fs "^4.1.6" + +jsonify@~0.0.0: + version "0.0.0" + resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73" + integrity sha512-trvBk1ki43VZptdBI5rIlG4YOzyeH/WefQt5rj1grasPn4iiZWKet8nkgc4GlsAylaztn0qZfUYOiTsASJFdNA== + +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" + +jsx-ast-utils@^2.1.0, jsx-ast-utils@^2.2.1: + version "2.4.1" + resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-2.4.1.tgz#1114a4c1209481db06c690c2b4f488cc665f657e" + integrity sha512-z1xSldJ6imESSzOjd3NNkieVJKRlKYSOtMG8SFyCj2FIrvSaSuli/WjpBkEzCBoR9bYYYFgqJw61Xhu7Lcgk+w== + dependencies: + array-includes "^3.1.1" + object.assign "^4.1.0" + +killable@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/killable/-/killable-1.0.1.tgz#4c8ce441187a061c7474fb87ca08e2a638194892" + integrity sha512-LzqtLKlUwirEUyl/nicirVmNiPvYs7l5n8wOPP7fyJVpUPkvCnW/vuiXGpylGUlnPDnB7311rARzAt3Mhswpjg== + +kind-of@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-2.0.1.tgz#018ec7a4ce7e3a86cb9141be519d24c8faa981b5" + integrity sha512-0u8i1NZ/mg0b+W3MGGw5I7+6Eib2nx72S/QvXa0hYjEkjTknYmEYQJwGu3mLC0BrhtJjtQafTkyRUQ75Kx0LVg== + dependencies: + is-buffer "^1.0.2" + +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 sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ== + 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 sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw== + 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: + 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== + +kleur@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e" + integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== + +last-call-webpack-plugin@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/last-call-webpack-plugin/-/last-call-webpack-plugin-3.0.0.tgz#9742df0e10e3cf46e5c0381c2de90d3a7a2d7555" + integrity sha512-7KI2l2GIZa9p2spzPIVZBYyNKkN+e/SQPpnjlTiPhdbDW3F86tdKKELxKpzJ5sgU19wQWsACULZmpTPYHeWO5w== + dependencies: + lodash "^4.17.5" + webpack-sources "^1.1.0" + +lazy-cache@^0.2.3: + version "0.2.7" + resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-0.2.7.tgz#7feddf2dcb6edb77d11ef1d117ab5ffdf0ab1b65" + integrity sha512-gkX52wvU/R8DVMMt78ATVPFMJqfW8FPz1GZ1sVHBVQHmu/WvhIWE4cE1GBzhJNFicDeYhnwp6Rl35BcAIM3YOQ== + +lazy-cache@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-1.0.4.tgz#a1d78fc3a50474cb80845d3b3b6e1da49a446e8e" + integrity sha512-RE2g0b5VGZsOCFOCgP7omTRYFqydmZkBwl5oNnQ1lDYC57uyO9KqNnNVxT7COSHTxrRCWVcAVOcbjk+tvh/rgQ== + +lcid@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/lcid/-/lcid-2.0.0.tgz#6ef5d2df60e52f82eb228a4c373e8d1f397253cf" + integrity sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA== + dependencies: + invert-kv "^2.0.0" + +left-pad@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/left-pad/-/left-pad-1.3.0.tgz#5b8a3a7765dfe001261dde915589e782f8c94d1e" + integrity sha512-XI5MPzVNApjAyhQzphX8BkmKsKUxD4LdyK24iZeQGinBN9yTQT3bFlCBy/aVx2HrNcqQGsdot8ghrjyrvMCoEA== + +leven@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2" + integrity sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A== + +levenary@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/levenary/-/levenary-1.1.1.tgz#842a9ee98d2075aa7faeedbe32679e9205f46f77" + integrity sha512-mkAdOIt79FD6irqjYSs4rdbnlT5vRonMEvBVPVb3XmevfS8kgRXwfes0dhPdEtzTWD/1eNE/Bm/G1iRt6DcnQQ== + dependencies: + leven "^3.1.0" + +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 sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA== + 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== + +load-json-file@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-2.0.0.tgz#7947e42149af80d696cbf797bcaabcfe1fe29ca8" + integrity sha512-3p6ZOGNbiX4CdvEd1VcE6yi78UrGNpjHO33noGwHCnT/o2fyllJDepsm8+mFFv/DvtwFHht5HIHSyOy5a+ChVQ== + dependencies: + graceful-fs "^4.1.2" + parse-json "^2.2.0" + pify "^2.0.0" + strip-bom "^3.0.0" + +load-json-file@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-4.0.0.tgz#2f5f45ab91e33216234fd53adab668eb4ec0993b" + integrity sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw== + dependencies: + graceful-fs "^4.1.2" + parse-json "^4.0.0" + pify "^3.0.0" + strip-bom "^3.0.0" + +loader-fs-cache@^1.0.2: + 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.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@1.2.3: + version "1.2.3" + resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.2.3.tgz#1ff5dc6911c9f0a062531a4c04b609406108c2c7" + integrity sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA== + dependencies: + big.js "^5.2.2" + emojis-list "^2.0.0" + json5 "^1.0.1" + +loader-utils@^1.0.1, loader-utils@^1.0.2, loader-utils@^1.1.0, loader-utils@^1.2.3: + 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" + +locate-path@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" + integrity sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA== + dependencies: + p-locate "^2.0.0" + path-exists "^3.0.0" + +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" + +lodash._reinterpolate@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz#0ccf2d89166af03b3663c796538b75ac6e114d9d" + integrity sha512-xYHt68QRoYGjeeM/XOE1uJtvXQAgvszfBhjV4yvsQH0u2i9I6cI6c6/eG4Hh3UAOVn0y/xAXwmTzEay49Q//HA== + +lodash.debounce@^4.0.8: + version "4.0.8" + resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" + integrity sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow== + +lodash.memoize@^4.1.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" + integrity sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag== + +lodash.sortby@^4.7.0: + version "4.7.0" + resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438" + integrity sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA== + +lodash.template@^4.4.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/lodash.template/-/lodash.template-4.5.0.tgz#f976195cf3f347d0d5f52483569fe8031ccce8ab" + integrity sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A== + dependencies: + lodash._reinterpolate "^3.0.0" + lodash.templatesettings "^4.0.0" + +lodash.templatesettings@^4.0.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz#e481310f049d3cf6d47e912ad09313b154f0fb33" + integrity sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ== + dependencies: + lodash._reinterpolate "^3.0.0" + +lodash.uniq@^4.5.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" + integrity sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ== + +"lodash@>=3.5 <5", lodash@^4.17.11, lodash@^4.17.12, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.20, lodash@^4.17.21, lodash@^4.17.5: + version "4.17.21" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" + integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== + +loglevel@^1.4.1: + version "1.8.0" + resolved "https://registry.yarnpkg.com/loglevel/-/loglevel-1.8.0.tgz#e7ec73a57e1e7b419cb6c6ac06bf050b67356114" + integrity sha512-G6A/nJLRgWOuuwdNuA6koovfEV1YpqqAG4pRUlFaz3jj2QNZ8M4vBqnVA+HBTmU/AMNUtlOsMmSpF6NyOjztbA== + +loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" + integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== + dependencies: + js-tokens "^3.0.0 || ^4.0.0" + +lower-case@^1.1.1: + version "1.1.4" + resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-1.1.4.tgz#9a2cabd1b9e8e0ae993a4bf7d5875c39c42e8eac" + integrity sha512-2Fgx1Ycm599x+WGpIYwJOvsjmXFzTSc34IwDWALRA/8AopUKAVPwfJ+h5+f85BCp0PWmmJcWzEpxOpoXycMpdA== + +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, make-dir@^2.1.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" + +makeerror@1.0.12: + version "1.0.12" + resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.12.tgz#3e5dd2079a82e812e983cc6610c4a2cb0eaa801a" + integrity sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg== + dependencies: + tmpl "1.0.5" + +mamacro@^0.0.3: + version "0.0.3" + resolved "https://registry.yarnpkg.com/mamacro/-/mamacro-0.0.3.tgz#ad2c9576197c9f1abf308d0787865bd975a3f3e4" + integrity sha512-qMEwh+UujcQ+kbz3T6V+wAmO2U8veoq2w+3wY8MquqwVA3jChfwY+Tk52GZKDfACEPjuZ7r2oJLejwpt8jtwTA== + +map-age-cleaner@^0.1.1: + version "0.1.3" + resolved "https://registry.yarnpkg.com/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz#7d583a7306434c055fe474b0f45078e6e1b4b92a" + integrity sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w== + dependencies: + p-defer "^1.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 sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg== + +map-visit@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" + integrity sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w== + dependencies: + object-visit "^1.0.0" + +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" + +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 sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ== + +mem@^4.0.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/mem/-/mem-4.3.0.tgz#461af497bc4ae09608cdb2e60eefb69bff744178" + integrity sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w== + dependencies: + map-age-cleaner "^0.1.1" + mimic-fn "^2.0.0" + p-is-promise "^2.0.0" + +memory-fs@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.4.1.tgz#3a9a20b8462523e447cfbc7e8bb80ed667bfc552" + integrity sha512-cda4JKCxReDXFXRqOHPQscuIYg1PvxbE2S2GP45rnwfEK+vZaXC8C1OFvdHIbgw0DLzowXGVoxLaAmlgRy14GQ== + 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" + +merge-deep@^3.0.2: + version "3.0.3" + resolved "https://registry.yarnpkg.com/merge-deep/-/merge-deep-3.0.3.tgz#1a2b2ae926da8b2ae93a0ac15d90cd1922766003" + integrity sha512-qtmzAS6t6grwEkNrunqTBdn0qKwFgNWvlxUbAV8es9M7Ot1EbyApytCnvE0jALPa46ZpKDUo527kKiaWplmlFA== + dependencies: + arr-union "^3.1.0" + clone-deep "^0.2.4" + kind-of "^3.0.2" + +merge-descriptors@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" + integrity sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w== + +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 sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w== + +microevent.ts@~0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/microevent.ts/-/microevent.ts-0.1.1.tgz#70b09b83f43df5172d0205a63025bce0f7357fa0" + integrity sha512-jo1OfR4TaEwd5HOrt5+tAZ9mqT4jmpNAusXtyfNzqVm9uiSYFZlKM1wYL4oU7azZW/PxQW53wM0S6OR1JHNa2g== + +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" + +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.52.0, "mime-db@>= 1.43.0 < 2": + version "1.52.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" + integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== + +mime-types@^2.1.12, mime-types@~2.1.17, mime-types@~2.1.19, mime-types@~2.1.24, mime-types@~2.1.34: + version "2.1.35" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" + integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== + dependencies: + mime-db "1.52.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.0.0, 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== + +mini-css-extract-plugin@0.8.0: + version "0.8.0" + resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-0.8.0.tgz#81d41ec4fe58c713a96ad7c723cdb2d0bd4d70e1" + integrity sha512-MNpRGbNA52q6U92i0qbVpQNsgk7LExy41MdAlG84FeytfDOtRIf/mCHdEgG8rpTKOaNKiqUnZdlptF469hxqOw== + 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 sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg== + +minimatch@3.0.4: + 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" + +minimatch@^3.0.4, minimatch@^3.1.1: + version "3.1.2" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" + integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== + dependencies: + brace-expansion "^1.1.7" + +minimist@^1.1.1, minimist@^1.2.0, minimist@^1.2.6: + version "1.2.6" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.6.tgz#8637a5b759ea0d6e98702cfb3a9283323c93af44" + integrity sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q== + +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" + +mixin-object@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/mixin-object/-/mixin-object-2.0.1.tgz#4fb949441dab182540f1fe035ba60e1947a5e57e" + integrity sha512-ALGF1Jt9ouehcaXaHhn6t1yGWRqGaHkPFndtFVHfZXOvkIZ/yoGaSi0AHVTafb3ZBGg4dr/bDwnaEKqCXzchMA== + dependencies: + for-in "^0.1.3" + is-extendable "^0.1.1" + +mkdirp@^0.5.1, mkdirp@^0.5.6, mkdirp@~0.5.1: + version "0.5.6" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.6.tgz#7def03d2432dcae4ba1d611445c48396062255f6" + integrity sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw== + dependencies: + minimist "^1.2.6" + +move-concurrently@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/move-concurrently/-/move-concurrently-1.0.1.tgz#be2c005fda32e0b29af1f05d7c4b33214c701f92" + integrity sha512-hdrFxZOycD/g6A6SoI2bB5NA/5NEqD0569+S47WZhPvm46sD50ZHdYaFmnua5lndde9rCHGjmfK7Z8BuCt/PcQ== + 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 sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A== + +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 sha512-cnAsSVxIDsYt0v7HmC0hWZFwwXSh+E6PgCrREDuN/EsjgLwA5XRmlMHhSiDPrt6HxY1gTivEa/Zh7GtODoLevQ== + +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.7: + version "0.0.7" + resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab" + integrity sha512-r65nCZhrbXXb6dXOACihYApHw2Q6pV0M3V0PSxd74N0+D8nzAdEAITq2oAjA1jVnKI+tGvEBUpqiMh0+rW6zDQ== + +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== + +nan@^2.12.1: + version "2.16.0" + resolved "https://registry.yarnpkg.com/nan/-/nan-2.16.0.tgz#664f43e45460fb98faf00edca0bb0d7b8dce7916" + integrity sha512-UdAqHyFngu7TfQKsCBgAA6pWDkT8MAO7d0jyOecVhN5354xbLqdn8mV9Tat9gepAupm0bt2DbeaSC8vS52MuFA== + +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 sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== + +negotiator@0.6.3: + version "0.6.3" + resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.3.tgz#58e323a72fedc0d6f9cd4d31fe49f51479590ccd" + integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg== + +neo-async@^2.5.0, neo-async@^2.6.1: + version "2.6.2" + resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" + integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== + +next-tick@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.1.0.tgz#1836ee30ad56d67ef281b22bd199f709449b35eb" + integrity sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ== + +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-int64@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" + integrity sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw== + +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-notifier@^5.4.2: + version "5.4.5" + resolved "https://registry.yarnpkg.com/node-notifier/-/node-notifier-5.4.5.tgz#0cbc1a2b0f658493b4025775a13ad938e96091ef" + integrity sha512-tVbHs7DyTLtzOiN78izLA85zRqB9NvEXkAf014Vx3jtSvn/xBl6bR8ZYifj+dFcFrKI21huSQgJZ6ZtL3B4HfQ== + dependencies: + growly "^1.3.0" + is-wsl "^1.1.0" + semver "^5.5.0" + shellwords "^0.1.1" + which "^1.3.0" + +node-releases@^1.1.29: + version "1.1.77" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.77.tgz#50b0cfede855dd374e7585bf228ff34e57c1c32e" + integrity sha512-rB1DUFUNAN4Gn9keO2K1efO35IDK7yKHCdCaIMvFO7yUYmmZYeDjnGKle26G4rwj+LKRQpjyUUvMkPglwGCYNQ== + +node-releases@^2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.6.tgz#8a7088c63a55e493845683ebf3c828d8c51c5503" + integrity sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg== + +normalize-package-data@^2.3.2: + 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-path@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" + integrity sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w== + 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 sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA== + +normalize-url@1.9.1: + version "1.9.1" + resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-1.9.1.tgz#2cc0d66b31ea23036458436e3620d85954c66c3c" + integrity sha512-A48My/mtCklowHBlI8Fq2jFWK4tX4lJ5E6ytFsSOq1fzpvT0SQSgKhSg7lN5c2uYFOrUAOQp6zhhJnpp1eMloQ== + 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 sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw== + dependencies: + path-key "^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.1.1" + resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-2.1.1.tgz#c9eab428effce36cd6b92c924bdb000ef1f1ed1d" + integrity sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w== + 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 sha512-Y1wZESM7VUThYY+4W+X4ySH2maqcA+p7UR+w8VWNWVAd6lwuXXWz/w/Cz43J/dI2I+PS6wD5N+bJUF+gjWvIqg== + +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 sha512-4jbtZXNAsfZbAHiiqjLPBiCl16dES1zI4Hpzzxw61Tk+loF+sBDBKx1ICKKKwIqQ7M0mFn1TmkN7euSncWgHiQ== + +nwsapi@^2.0.7, nwsapi@^2.1.3: + version "2.2.2" + resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.2.tgz#e5418863e7905df67d51ec95938d67bf801f0bb0" + integrity sha512-90yv+6538zuvUMnN+zCr8LuV6bPFdq50304114vJYJ8RDyK8D5O9Phpbd6SZWgI7PwzmmfN1upeOJlvybDSgCw== + +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 sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== + +object-copy@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c" + integrity sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ== + dependencies: + copy-descriptor "^0.1.0" + define-property "^0.2.5" + kind-of "^3.0.3" + +object-hash@^1.3.1: + 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.12.2, object-inspect@^1.9.0: + version "1.12.2" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.2.tgz#c0641f26394532f28ab8d796ab954e43c009a8ea" + integrity sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ== + +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.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-path@0.11.4: + version "0.11.4" + resolved "https://registry.yarnpkg.com/object-path/-/object-path-0.11.4.tgz#370ae752fbf37de3ea70a861c23bba8915691949" + integrity sha512-ICbQN+aw/eAASDtaC7+SJXSAruz7fvvNjxMFfS3mTdvZaaiuuw81XXYu+9CSJeUVrS3YpRhTr862YGywMQUOWg== + +object-visit@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb" + integrity sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA== + dependencies: + isobject "^3.0.0" + +object.assign@^4.1.0, object.assign@^4.1.4: + version "4.1.4" + resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.4.tgz#9673c7c7c351ab8c4d0b516f4343ebf4dfb7799f" + integrity sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + has-symbols "^1.0.3" + object-keys "^1.1.1" + +object.entries@^1.1.0: + version "1.1.5" + resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.5.tgz#e1acdd17c4de2cd96d5a08487cfb9db84d881861" + integrity sha512-TyxmjUoZggd4OrrU1W66FMDG6CuqJxsFvymeyXI51+vQLN67zYfZseptRge703kKQdo4uccgAKebXFcRCzk4+g== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.19.1" + +object.fromentries@^2.0.0: + version "2.0.5" + resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.5.tgz#7b37b205109c21e741e605727fe8b0ad5fa08251" + integrity sha512-CAyG5mWQRRiBU57Re4FKoTBjXfDoNwdFVH2Y1tS9PqCsfUTymAohOkEMSG3aRNKmv4lV3O7p1et7c187q6bynw== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.19.1" + +object.getownpropertydescriptors@^2.0.3, object.getownpropertydescriptors@^2.1.0, object.getownpropertydescriptors@^2.1.1: + version "2.1.4" + resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.4.tgz#7965e6437a57278b587383831a9b829455a4bc37" + integrity sha512-sccv3L/pMModT6dJAYF3fzGMVcb38ysQ0tEE6ixv2yXJDtEIPph268OlAdJj5/qZMZDq2g/jqvwppt36uS/uQQ== + dependencies: + array.prototype.reduce "^1.0.4" + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.20.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 sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ== + 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.4.1: + version "2.4.1" + resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.4.1.tgz#58c8c44116e54845ad57f14ab10b03533184ac3f" + integrity sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg== + 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 sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== + dependencies: + wrappy "1" + +onetime@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/onetime/-/onetime-2.0.1.tgz#067428230fd67443b2794b22bba528b6867962d4" + integrity sha512-oyyPpiMaKARvvcgip+JV+7zci5L8D1W9RZIz2l1o08AM3pfspitVWnPt3mzHcBPp12oYMTy0pqrFs/C+m3EwsQ== + 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" + +opn@^5.1.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" + +optimize-css-assets-webpack-plugin@5.0.3: + version "5.0.3" + resolved "https://registry.yarnpkg.com/optimize-css-assets-webpack-plugin/-/optimize-css-assets-webpack-plugin-5.0.3.tgz#e2f1d4d94ad8c0af8967ebd7cf138dcb1ef14572" + integrity sha512-q9fbvCRS6EYtUKKSwI87qm2IxlyJK5b4dygW1rKUBT6mMDhdG5e5bZT63v6tnJR9F9FB/H5a0HTmtw+laUBxKA== + dependencies: + cssnano "^4.1.10" + last-call-webpack-plugin "^3.0.0" + +optionator@^0.8.1, 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" + +os-browserify@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.3.0.tgz#854373c7f5c2315914fc9bfc6bd8238fdda1ec27" + integrity sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A== + +os-locale@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-3.1.0.tgz#a802a6ee17f24c10483ab9935719cef4ed16bf1a" + integrity sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q== + dependencies: + execa "^1.0.0" + lcid "^2.0.0" + mem "^4.0.0" + +os-tmpdir@~1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" + integrity sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g== + +p-defer@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/p-defer/-/p-defer-1.0.0.tgz#9f6eb182f6c9aa8cd743004a7d4f96b196b0fb0c" + integrity sha512-wB3wfAxZpk2AzOfUMJNL+d36xothRSyj8EXOa4f6GMqYDN9BJaaSISbsk+wS9abmnebVw95C2Kb5t85UmpCxuw== + +p-each-series@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/p-each-series/-/p-each-series-1.0.0.tgz#930f3d12dd1f50e7434457a22cd6f04ac6ad7f71" + integrity sha512-J/e9xiZZQNrt+958FFzJ+auItsBGq+UrQ7nE89AUP7UOTtjHnkISANXLdayhVzh538UnLMCSlf13lFfRIAKQOA== + dependencies: + p-reduce "^1.0.0" + +p-finally@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" + integrity sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow== + +p-is-promise@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/p-is-promise/-/p-is-promise-2.1.0.tgz#918cebaea248a62cf7ffab8e3bca8c5f882fc42e" + integrity sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg== + +p-limit@^1.1.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8" + integrity sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q== + dependencies: + p-try "^1.0.0" + +p-limit@^2.0.0: + 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@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" + integrity sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg== + dependencies: + p-limit "^1.1.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-map@^1.1.1: + version "1.2.0" + resolved "https://registry.yarnpkg.com/p-map/-/p-map-1.2.0.tgz#e4e94f311eabbc8633a1e79908165fca26241b6b" + integrity sha512-r6zKACMNhjPJMTl8KcFH4li//gkrXWfbD6feV8l6doRHlzljFWGJ2AP6iKaCJXyZmAUMOPtvbW7EXkbWO/pLEA== + +p-reduce@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/p-reduce/-/p-reduce-1.0.0.tgz#18c2b0dd936a4690a529f8231f58a0fdb6a47dfa" + integrity sha512-3Tx1T3oM1xO/Y8Gj0sWyE78EIJZ+t+aEmXUdvQgvGmSMri7aPTHoovbXEreWKkL5j21Er60XAWLTzKbAKYOujQ== + +p-try@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" + integrity sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww== + +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 sha512-eQE845L6ot89sk2N8liD8HAuH4ca6Vvr7VWAWwt7+kvvG5aBcPmmphQ68JsEG2qa9n1TykS2DLeMt363AAH8/w== + 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@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9" + integrity sha512-QR/GGaKCkhwk1ePQNYDRKYZ3mwU9ypsKhB0XyFnLQdomyEqk3e8wpW3V5Jp88zbxK4n5ST1nqo+g9juTpownhQ== + dependencies: + error-ex "^1.2.0" + +parse-json@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0" + integrity sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw== + 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@4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/parse5/-/parse5-4.0.0.tgz#6d78656e3da8d78b4ec0b906f7c08ef1dfe3f608" + integrity sha512-VrZ7eOd3T1Fk4XWNXMgiGBK/z0MG48BWG2uQNU4I72fkQuKUTZpl+u9k+CxEG0twMVzSmXEEz12z5Fnw1jIQFA== + +parse5@5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/parse5/-/parse5-5.1.0.tgz#c59341c9723f414c452975564c7c00a68d58acd2" + integrity sha512-fxNG2sQjHvlVAYmzBZS9YlDp6PTSSDwa98vkD4QgVDDCAo84z5X1t5XyJQ62ImdLXx5NdIIfihey6xpum9/gRQ== + +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 sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw== + +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 sha512-ALzNPpyNq9AqXMBjeymIjFDAkAFH06mHJH/cSBHAgU0s4vfpBn6b2nf8tiRLvagKD8RbTpq2FKTBg7cl9l3c7Q== + +path-exists@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b" + integrity sha512-yTltuKuhtNeFJKa1PiRzfLAU5182q1y4Eb4XCJ3PBqyzEDkAZRzBrKKBct682ls9reBVHf9udYLN5Nd+K1B9BQ== + 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 sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ== + +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 sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== + +path-is-inside@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53" + integrity sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w== + +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 sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw== + +path-parse@^1.0.6, 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 sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ== + +path-type@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/path-type/-/path-type-2.0.0.tgz#f012ccb8415b7096fc2daa1054c3d72389594c73" + integrity sha512-dUnb5dXUf+kzhC/W/F4e5/SkluXIFf5VUHolW1Eg1irn1hGWjPGdsRcvYJ1nD6lhk8Ir7VM0bHJKsYTx8Jx9OQ== + dependencies: + pify "^2.0.0" + +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" + +path-type@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" + integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== + +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 sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow== + +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: + 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 sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog== + +pify@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" + integrity sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg== + +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 sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw== + 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 sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg== + +pirates@^4.0.1: + version "4.0.5" + resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.5.tgz#feec352ea5c3268fb23a37c702ab1699f35a5f3b" + integrity sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ== + +pkg-dir@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-1.0.0.tgz#7a4b508a8d5bb2d629d447056ff4e9c9314cf3d4" + integrity sha512-c6pv3OE78mcZ92ckebVDqg0aWSoKhOTbwCV6qbCWMk546mAL9pZln0+QsN/yQ7fkucd4+yJPLrCBXNt8Ruk+Eg== + 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-up@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/pkg-up/-/pkg-up-2.0.0.tgz#c819ac728059a461cab1c3889a2be3c49a004d7f" + integrity sha512-fjAPuiws93rm7mPUu21RdBnkeZNrbfCFCwfAhPWY+rR3zG0ubpe5cEReHOw5fIbfmsxEV/g2kSxGTATY3Bpnwg== + dependencies: + find-up "^2.1.0" + +pn@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/pn/-/pn-1.1.0.tgz#e2f4cef0e219f463c179ab37463e4e1ecdccbafb" + integrity sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA== + +pnp-webpack-plugin@1.5.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/pnp-webpack-plugin/-/pnp-webpack-plugin-1.5.0.tgz#62a1cd3068f46d564bb33c56eb250e4d586676eb" + integrity sha512-jd9olUr9D7do+RN8Wspzhpxhgp1n6Vd0NtQ4SFkmIACZoEL1nkyAdW9Ygrinjec0vgDcWjscFQQ1gDW8rsfKTg== + dependencies: + ts-pnp "^1.1.2" + +portfinder@^1.0.9: + version "1.0.32" + resolved "https://registry.yarnpkg.com/portfinder/-/portfinder-1.0.32.tgz#2fe1b9e58389712429dc2bea5beb2146146c7f81" + integrity sha512-on2ZJVVDXRADWE6jnQaX0ioEylzgBpQk8r55NE4wjXW1ZxO+BgDlY6DXwj20i0V8eB4SenDQ00WEaxfiIQPcxg== + dependencies: + async "^2.6.4" + debug "^3.2.7" + mkdirp "^0.5.6" + +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 sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg== + +postcss-attribute-case-insensitive@^4.0.1: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-4.0.2.tgz#d93e46b504589e94ac7277b0463226c68041a880" + integrity sha512-clkFxk/9pcdb4Vkn0hAHq3YnxBQ2p0CGD1dy24jN+reBck+EWxMbxSUqN4Yj7t0w8csl87K6p0gxBe1utkJsYA== + dependencies: + postcss "^7.0.2" + postcss-selector-parser "^6.0.2" + +postcss-browser-comments@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/postcss-browser-comments/-/postcss-browser-comments-2.0.0.tgz#dc48d6a8ddbff188a80a000b7393436cb18aed88" + integrity sha512-xGG0UvoxwBc4Yx4JX3gc0RuDl1kc4bVihCzzk6UC72YPfq5fu3c717Nu8Un3nvnq1BJ31gBnFXIG/OaUTnpHgA== + dependencies: + postcss "^7.0.2" + +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-color-functional-notation@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/postcss-color-functional-notation/-/postcss-color-functional-notation-2.0.1.tgz#5efd37a88fbabeb00a2966d1e53d98ced93f74e0" + integrity sha512-ZBARCypjEDofW4P6IdPVTLhDNXPRn8T2s1zHbZidW6rPaaZvcnCS2soYFIQJrMZSxiePJ2XIYTlcb2ztr/eT2g== + dependencies: + postcss "^7.0.2" + postcss-values-parser "^2.0.0" + +postcss-color-gray@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/postcss-color-gray/-/postcss-color-gray-5.0.0.tgz#532a31eb909f8da898ceffe296fdc1f864be8547" + integrity sha512-q6BuRnAGKM/ZRpfDascZlIZPjvwsRye7UDNalqVz3s7GDxMtqPY6+Q871liNxsonUw8oC61OG+PSaysYpl1bnw== + dependencies: + "@csstools/convert-colors" "^1.4.0" + postcss "^7.0.5" + postcss-values-parser "^2.0.0" + +postcss-color-hex-alpha@^5.0.3: + version "5.0.3" + resolved "https://registry.yarnpkg.com/postcss-color-hex-alpha/-/postcss-color-hex-alpha-5.0.3.tgz#a8d9ca4c39d497c9661e374b9c51899ef0f87388" + integrity sha512-PF4GDel8q3kkreVXKLAGNpHKilXsZ6xuu+mOQMHWHLPNyjiUBOr75sp5ZKJfmv1MCus5/DWUGcK9hm6qHEnXYw== + dependencies: + postcss "^7.0.14" + postcss-values-parser "^2.0.1" + +postcss-color-mod-function@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/postcss-color-mod-function/-/postcss-color-mod-function-3.0.3.tgz#816ba145ac11cc3cb6baa905a75a49f903e4d31d" + integrity sha512-YP4VG+xufxaVtzV6ZmhEtc+/aTXH3d0JLpnYfxqTvwZPbJhWqp8bSY3nfNzNRFLgB4XSaBA82OE4VjOOKpCdVQ== + dependencies: + "@csstools/convert-colors" "^1.4.0" + postcss "^7.0.2" + postcss-values-parser "^2.0.0" + +postcss-color-rebeccapurple@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-4.0.1.tgz#c7a89be872bb74e45b1e3022bfe5748823e6de77" + integrity sha512-aAe3OhkS6qJXBbqzvZth2Au4V3KieR5sRQ4ptb2b2O8wgvB3SJBsdG+jsn2BZbbwekDG8nTfcCNKcSfe/lEy8g== + dependencies: + postcss "^7.0.2" + postcss-values-parser "^2.0.0" + +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-custom-media@^7.0.8: + version "7.0.8" + resolved "https://registry.yarnpkg.com/postcss-custom-media/-/postcss-custom-media-7.0.8.tgz#fffd13ffeffad73621be5f387076a28b00294e0c" + integrity sha512-c9s5iX0Ge15o00HKbuRuTqNndsJUbaXdiNsksnVH8H4gdc+zbLzr/UasOwNG6CTDpLFekVY4672eWdiiWu2GUg== + dependencies: + postcss "^7.0.14" + +postcss-custom-properties@^8.0.11: + version "8.0.11" + resolved "https://registry.yarnpkg.com/postcss-custom-properties/-/postcss-custom-properties-8.0.11.tgz#2d61772d6e92f22f5e0d52602df8fae46fa30d97" + integrity sha512-nm+o0eLdYqdnJ5abAJeXp4CEU1c1k+eB2yMCvhgzsds/e0umabFrN6HoTy/8Q4K5ilxERdl/JD1LO5ANoYBeMA== + dependencies: + postcss "^7.0.17" + postcss-values-parser "^2.0.1" + +postcss-custom-selectors@^5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/postcss-custom-selectors/-/postcss-custom-selectors-5.1.2.tgz#64858c6eb2ecff2fb41d0b28c9dd7b3db4de7fba" + integrity sha512-DSGDhqinCqXqlS4R7KGxL1OSycd1lydugJ1ky4iRXPHdBRiozyMHrdu0H3o7qNOCiZwySZTUI5MV0T8QhCLu+w== + dependencies: + postcss "^7.0.2" + postcss-selector-parser "^5.0.0-rc.3" + +postcss-dir-pseudo-class@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-5.0.0.tgz#6e3a4177d0edb3abcc85fdb6fbb1c26dabaeaba2" + integrity sha512-3pm4oq8HYWMZePJY+5ANriPs3P07q+LW6FAdTlkFH2XqDdP4HeeJYMOzn0HYLhRSjBO3fhiqSwwU9xEULSrPgw== + dependencies: + postcss "^7.0.2" + postcss-selector-parser "^5.0.0-rc.3" + +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-double-position-gradients@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/postcss-double-position-gradients/-/postcss-double-position-gradients-1.0.0.tgz#fc927d52fddc896cb3a2812ebc5df147e110522e" + integrity sha512-G+nV8EnQq25fOI8CH/B6krEohGWnF5+3A6H/+JEpOncu5dCnkS1QQ6+ct3Jkaepw1NGVqqOZH6lqrm244mCftA== + dependencies: + postcss "^7.0.5" + postcss-values-parser "^2.0.0" + +postcss-env-function@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/postcss-env-function/-/postcss-env-function-2.0.2.tgz#0f3e3d3c57f094a92c2baf4b6241f0b0da5365d7" + integrity sha512-rwac4BuZlITeUbiBq60h/xbLzXY43qOsIErngWa4l7Mt+RaSkT7QBjXVGTcBHupykkblHMDrBFh30zchYPaOUw== + dependencies: + postcss "^7.0.2" + postcss-values-parser "^2.0.0" + +postcss-flexbugs-fixes@4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/postcss-flexbugs-fixes/-/postcss-flexbugs-fixes-4.1.0.tgz#e094a9df1783e2200b7b19f875dcad3b3aff8b20" + integrity sha512-jr1LHxQvStNNAHlgco6PzY308zvLklh7SJVYuWUwyUQncofaAlD2l+P/gxKHOdqWKe7xJSkVLFF/2Tp+JqMSZA== + dependencies: + postcss "^7.0.0" + +postcss-focus-visible@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/postcss-focus-visible/-/postcss-focus-visible-4.0.0.tgz#477d107113ade6024b14128317ade2bd1e17046e" + integrity sha512-Z5CkWBw0+idJHSV6+Bgf2peDOFf/x4o+vX/pwcNYrWpXFrSfTkQ3JQ1ojrq9yS+upnAlNRHeg8uEwFTgorjI8g== + dependencies: + postcss "^7.0.2" + +postcss-focus-within@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/postcss-focus-within/-/postcss-focus-within-3.0.0.tgz#763b8788596cee9b874c999201cdde80659ef680" + integrity sha512-W0APui8jQeBKbCGZudW37EeMCjDeVxKgiYfIIEo8Bdh5SpB9sxds/Iq8SEuzS0Q4YFOlG7EPFulbbxujpkrV2w== + dependencies: + postcss "^7.0.2" + +postcss-font-variant@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/postcss-font-variant/-/postcss-font-variant-4.0.1.tgz#42d4c0ab30894f60f98b17561eb5c0321f502641" + integrity sha512-I3ADQSTNtLTTd8uxZhtSOrTCQ9G4qUVKPjHiDk0bV75QSxXjVWiJVJ2VLdspGUi9fbW9BcjKJoRvxAH1pckqmA== + dependencies: + postcss "^7.0.2" + +postcss-gap-properties@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/postcss-gap-properties/-/postcss-gap-properties-2.0.0.tgz#431c192ab3ed96a3c3d09f2ff615960f902c1715" + integrity sha512-QZSqDaMgXCHuHTEzMsS2KfVDOq7ZFiknSpkrPJY6jmxbugUPTuSzs/vuE5I3zv0WAS+3vhrlqhijiprnuQfzmg== + dependencies: + postcss "^7.0.2" + +postcss-image-set-function@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/postcss-image-set-function/-/postcss-image-set-function-3.0.1.tgz#28920a2f29945bed4c3198d7df6496d410d3f288" + integrity sha512-oPTcFFip5LZy8Y/whto91L9xdRHCWEMs3e1MdJxhgt4jy2WYXfhkng59fH5qLXSCPN8k4n94p1Czrfe5IOkKUw== + dependencies: + postcss "^7.0.2" + postcss-values-parser "^2.0.0" + +postcss-initial@^3.0.0: + version "3.0.4" + resolved "https://registry.yarnpkg.com/postcss-initial/-/postcss-initial-3.0.4.tgz#9d32069a10531fe2ecafa0b6ac750ee0bc7efc53" + integrity sha512-3RLn6DIpMsK1l5UUy9jxQvoDeUN4gP939tDcKUHD/kM8SGSKbFAnvkpFpj3Bhtz3HGk1jWY5ZNWX6mPta5M9fg== + dependencies: + postcss "^7.0.2" + +postcss-lab-function@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/postcss-lab-function/-/postcss-lab-function-2.0.1.tgz#bb51a6856cd12289ab4ae20db1e3821ef13d7d2e" + integrity sha512-whLy1IeZKY+3fYdqQFuDBf8Auw+qFuVnChWjmxm/UhHWqNHZx+B99EwxTvGYmUBqe3Fjxs4L1BoZTJmPu6usVg== + dependencies: + "@csstools/convert-colors" "^1.4.0" + postcss "^7.0.2" + postcss-values-parser "^2.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-logical@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/postcss-logical/-/postcss-logical-3.0.0.tgz#2495d0f8b82e9f262725f75f9401b34e7b45d5b5" + integrity sha512-1SUKdJc2vuMOmeItqGuNaC+N8MzBWFWEkAnRnLpFYj1tGGa7NqyVBujfRtgNa2gXR+6RkGUiB2O5Vmh7E2RmiA== + dependencies: + postcss "^7.0.2" + +postcss-media-minmax@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/postcss-media-minmax/-/postcss-media-minmax-4.0.0.tgz#b75bb6cbc217c8ac49433e12f22048814a4f5ed5" + integrity sha512-fo9moya6qyxsjbFAYl97qKO9gyre3qvbMnkOZeZwlsW6XYFsvs2DMGDlchVLfAd8LHPZDxivu/+qW2SMQeTHBw== + dependencies: + postcss "^7.0.2" + +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@^2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-2.0.6.tgz#dd9953f6dd476b5fd1ef2d8830c8929760b56e63" + integrity sha512-oLUV5YNkeIBa0yQl7EYnxMgy4N6noxmiwZStaEJUSe2xPMcdNc8WmBQuQCx18H5psYbVxz8zoHk0RAAYZXP9gA== + dependencies: + postcss "^7.0.6" + postcss-selector-parser "^6.0.0" + postcss-value-parser "^3.3.1" + +postcss-modules-scope@^2.1.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@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/postcss-modules-values/-/postcss-modules-values-2.0.0.tgz#479b46dc0c5ca3dc7fa5270851836b9ec7152f64" + integrity sha512-Ki7JZa7ff1N3EIMlPnGTZfUMe69FFwiQPnVSXC9mnn3jozCRBYIxiZd44yJOV2AmabOo4qFf8s0dC/+lweG7+w== + dependencies: + icss-replace-symbols "^1.1.0" + postcss "^7.0.6" + +postcss-nesting@^7.0.0: + version "7.0.1" + resolved "https://registry.yarnpkg.com/postcss-nesting/-/postcss-nesting-7.0.1.tgz#b50ad7b7f0173e5b5e3880c3501344703e04c052" + integrity sha512-FrorPb0H3nuVq0Sff7W2rnc3SmIcruVC6YwpcS+k687VxyxO33iE1amna7wHuRVzM8vfiYofXSBHNAZ3QhLvYg== + dependencies: + postcss "^7.0.2" + +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-normalize@7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/postcss-normalize/-/postcss-normalize-7.0.1.tgz#eb51568d962b8aa61a8318383c8bb7e54332282e" + integrity sha512-NOp1fwrG+6kVXWo7P9SizCHX6QvioxFD/hZcI2MLxPmVnFJFC0j0DDpIuNw2tUDeCFMni59gCVgeJ1/hYhj2OQ== + dependencies: + "@csstools/normalize.css" "^9.0.1" + browserslist "^4.1.1" + postcss "^7.0.2" + postcss-browser-comments "^2.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-overflow-shorthand@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/postcss-overflow-shorthand/-/postcss-overflow-shorthand-2.0.0.tgz#31ecf350e9c6f6ddc250a78f0c3e111f32dd4c30" + integrity sha512-aK0fHc9CBNx8jbzMYhshZcEv8LtYnBIRYQD5i7w/K/wS9c2+0NSR6B3OVMu5y0hBHYLcMGjfU+dmWYNKH0I85g== + dependencies: + postcss "^7.0.2" + +postcss-page-break@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/postcss-page-break/-/postcss-page-break-2.0.0.tgz#add52d0e0a528cabe6afee8b46e2abb277df46bf" + integrity sha512-tkpTSrLpfLfD9HvgOlJuigLuk39wVTbbd8RKcy8/ugV2bNBUW3xU+AIqyxhDrQr1VUj1RmyJrBn1YWrqUm9zAQ== + dependencies: + postcss "^7.0.2" + +postcss-place@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/postcss-place/-/postcss-place-4.0.1.tgz#e9f39d33d2dc584e46ee1db45adb77ca9d1dcc62" + integrity sha512-Zb6byCSLkgRKLODj/5mQugyuj9bvAAw9LqJJjgwz5cYryGeXfFZfSXoP1UfveccFmeq0b/2xxwcTEVScnqGxBg== + dependencies: + postcss "^7.0.2" + postcss-values-parser "^2.0.0" + +postcss-preset-env@6.7.0: + version "6.7.0" + resolved "https://registry.yarnpkg.com/postcss-preset-env/-/postcss-preset-env-6.7.0.tgz#c34ddacf8f902383b35ad1e030f178f4cdf118a5" + integrity sha512-eU4/K5xzSFwUFJ8hTdTQzo2RBLbDVt83QZrAvI07TULOkmyQlnYlpwep+2yIK+K+0KlZO4BvFcleOCCcUtwchg== + dependencies: + autoprefixer "^9.6.1" + browserslist "^4.6.4" + caniuse-lite "^1.0.30000981" + css-blank-pseudo "^0.1.4" + css-has-pseudo "^0.10.0" + css-prefers-color-scheme "^3.1.1" + cssdb "^4.4.0" + postcss "^7.0.17" + postcss-attribute-case-insensitive "^4.0.1" + postcss-color-functional-notation "^2.0.1" + postcss-color-gray "^5.0.0" + postcss-color-hex-alpha "^5.0.3" + postcss-color-mod-function "^3.0.3" + postcss-color-rebeccapurple "^4.0.1" + postcss-custom-media "^7.0.8" + postcss-custom-properties "^8.0.11" + postcss-custom-selectors "^5.1.2" + postcss-dir-pseudo-class "^5.0.0" + postcss-double-position-gradients "^1.0.0" + postcss-env-function "^2.0.2" + postcss-focus-visible "^4.0.0" + postcss-focus-within "^3.0.0" + postcss-font-variant "^4.0.0" + postcss-gap-properties "^2.0.0" + postcss-image-set-function "^3.0.1" + postcss-initial "^3.0.0" + postcss-lab-function "^2.0.1" + postcss-logical "^3.0.0" + postcss-media-minmax "^4.0.0" + postcss-nesting "^7.0.0" + postcss-overflow-shorthand "^2.0.0" + postcss-page-break "^2.0.0" + postcss-place "^4.0.1" + postcss-pseudo-class-any-link "^6.0.0" + postcss-replace-overflow-wrap "^3.0.0" + postcss-selector-matches "^4.0.0" + postcss-selector-not "^4.0.0" + +postcss-pseudo-class-any-link@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-6.0.0.tgz#2ed3eed393b3702879dec4a87032b210daeb04d1" + integrity sha512-lgXW9sYJdLqtmw23otOzrtbDXofUdfYzNm4PIpNE322/swES3VU9XlXHeJS46zT2onFO7V1QFdD4Q9LiZj8mew== + dependencies: + postcss "^7.0.2" + postcss-selector-parser "^5.0.0-rc.3" + +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-replace-overflow-wrap@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-3.0.0.tgz#61b360ffdaedca84c7c918d2b0f0d0ea559ab01c" + integrity sha512-2T5hcEHArDT6X9+9dVSPQdo7QHzG4XKclFT8rU5TzJPDN7RIRTbO9c4drUISOVemLj03aezStHCR2AIcr8XLpw== + dependencies: + postcss "^7.0.2" + +postcss-safe-parser@4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/postcss-safe-parser/-/postcss-safe-parser-4.0.1.tgz#8756d9e4c36fdce2c72b091bbc8ca176ab1fcdea" + integrity sha512-xZsFA3uX8MO3yAda03QrG3/Eg1LN3EPfjjf07vke/46HERLZyHrTsQ9E1r1w1W//fWEhtYNndo2hQplN2cVpCQ== + dependencies: + postcss "^7.0.0" + +postcss-selector-matches@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/postcss-selector-matches/-/postcss-selector-matches-4.0.0.tgz#71c8248f917ba2cc93037c9637ee09c64436fcff" + integrity sha512-LgsHwQR/EsRYSqlwdGzeaPKVT0Ml7LAT6E75T8W8xLJY62CE4S/l03BWIt3jT8Taq22kXP08s2SfTSzaraoPww== + dependencies: + balanced-match "^1.0.0" + postcss "^7.0.2" + +postcss-selector-not@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/postcss-selector-not/-/postcss-selector-not-4.0.1.tgz#263016eef1cf219e0ade9a913780fc1f48204cbf" + integrity sha512-YolvBgInEK5/79C+bdFMyzqTg6pkYqDbzZIST/PDMqa/o3qtXenD05apBG2jLgT0/BQ77d4U2UK12jWpilqMAQ== + dependencies: + balanced-match "^1.0.0" + postcss "^7.0.2" + +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@^5.0.0-rc.3, postcss-selector-parser@^5.0.0-rc.4: + version "5.0.0" + resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz#249044356697b33b64f1a8f7c80922dddee7195c" + integrity sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ== + dependencies: + cssesc "^2.0.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.10" + resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz#79b61e2c0d1bfc2602d549e11d0876256f8df88d" + integrity sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w== + 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, postcss-value-parser@^3.3.0, postcss-value-parser@^3.3.1: + 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-values-parser@^2.0.0, postcss-values-parser@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/postcss-values-parser/-/postcss-values-parser-2.0.1.tgz#da8b472d901da1e205b47bdc98637b9e9e550e5f" + integrity sha512-2tLuBsA6P4rYTNKCXYG/71C7j1pU6pK503suYOmn4xYrQIzW+opD+7FAFNuGSdZC/3Qfy334QbeMu7MEb8gOxg== + dependencies: + flatten "^1.0.2" + indexes-of "^1.0.1" + uniq "^1.0.1" + +postcss@7.0.14: + version "7.0.14" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.14.tgz#4527ed6b1ca0d82c53ce5ec1a2041c2346bbd6e5" + integrity sha512-NsbD6XUUMZvBxtQAJuWDJeeC4QFsmWsfozWxCJPWf3M55K9iu2iMDaKqyoOdTJ1R4usBXuxlVFAIo8rZPQD4Bg== + dependencies: + chalk "^2.4.2" + source-map "^0.6.1" + supports-color "^6.1.0" + +postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.14, postcss@^7.0.17, postcss@^7.0.2, postcss@^7.0.27, postcss@^7.0.32, 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 sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w== + +prepend-http@^1.0.0: + version "1.0.4" + resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc" + integrity sha512-PhmXi5XmoyKw1Un4E+opM2KcsJInDvKyuOumcjjw3waw86ZNjHwVUOOWLc4bCzLdcKNaWBH9e99sbWzDQsVaYg== + +pretty-bytes@^5.1.0: + version "5.6.0" + resolved "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-5.6.0.tgz#356256f643804773c82f64723fe78c92c62beaeb" + integrity sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg== + +pretty-error@^2.1.1: + 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" + +pretty-format@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-24.9.0.tgz#12fac31b37019a4eea3c11aa9a959eb7628aa7c9" + integrity sha512-00ZMZUiHaJrNfk33guavqgvfJS30sLYf0f8+Srklv0AMPodGGHcoHgksZ3OThYnIvOd+8yMCn0YiEOogjlgsnA== + dependencies: + "@jest/types" "^24.9.0" + ansi-regex "^4.0.0" + ansi-styles "^3.2.0" + react-is "^16.8.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 sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A== + +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 sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g== + +promise@^8.0.3: + version "8.2.0" + resolved "https://registry.yarnpkg.com/promise/-/promise-8.2.0.tgz#a1f6280ab67457fbfc8aad2b198c9497e9e5c806" + integrity sha512-+CMAlLHqwRYwBMXKCP+o8ns7DN+xHDUiI+0nArsiJ9y+kJVPLFxEaSw6Ha9s9H0tftxg2Yzl25wqj9G7m5wLZg== + dependencies: + asap "~2.0.6" + +prompts@^2.0.1: + version "2.4.2" + resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.4.2.tgz#7b57e73b3a48029ad10ebd44f74b01722a4cb069" + integrity sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q== + dependencies: + kleur "^3.0.3" + sisteransi "^1.0.5" + +prop-types@^15.6.2, prop-types@^15.7.2: + version "15.8.1" + resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.8.1.tgz#67d87bf1a694f48435cf332c24af10214a3140b5" + integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg== + dependencies: + loose-envify "^1.4.0" + object-assign "^4.1.1" + react-is "^16.13.1" + +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 sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw== + +psl@^1.1.28: + version "1.9.0" + resolved "https://registry.yarnpkg.com/psl/-/psl-1.9.0.tgz#d0df2a137f00794565fcaf3b2c00cd09f8d5a5a7" + integrity sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag== + +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 sha512-RofWgt/7fL5wP1Y7fxE7/EmTLzQVnB0ycyibJ0OOHIlJqTNzglYFxVwETOcIoJqJmpDXJ9xImDv+Fq34F/d4Dw== + +punycode@^1.2.4: + version "1.4.1" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" + integrity sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ== + +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 sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw== + +qs@6.10.3: + version "6.10.3" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.10.3.tgz#d6cde1b2ffca87b5aa57889816c5f81535e22e8e" + integrity sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ== + dependencies: + side-channel "^1.0.4" + +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 sha512-O2XLNDBIg1DnTOa+2XrIwSiXEV8h2KImXUnjhhn2+UsvZ+Es2uyd5CCRTNQlDGbzUQOW3aYCBx9rVA6dzsiY7Q== + 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 sha512-773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA== + +querystring@0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" + integrity sha512-X/xY82scca2tau62i9mDyU9K+I+djTMUsvwf7xnUX5GLvVzgJybOJf4Y6o9Zx3oJK/LSXg5tTZBjwzqVPaPO2g== + +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== + +raf@^3.4.1: + version "3.4.1" + resolved "https://registry.yarnpkg.com/raf/-/raf-3.4.1.tgz#0742e99a4a6552f445d73e3ee0328af0ff1ede39" + integrity sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA== + dependencies: + performance-now "^2.1.0" + +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.5.1: + version "2.5.1" + resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.5.1.tgz#fe1b1628b181b700215e5fd42389f98b71392857" + integrity sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig== + dependencies: + bytes "3.1.2" + http-errors "2.0.0" + iconv-lite "0.4.24" + unpipe "1.0.0" + +react-app-polyfill@^1.0.4: + version "1.0.6" + resolved "https://registry.yarnpkg.com/react-app-polyfill/-/react-app-polyfill-1.0.6.tgz#890f8d7f2842ce6073f030b117de9130a5f385f0" + integrity sha512-OfBnObtnGgLGfweORmdZbyEz+3dgVePQBb3zipiaDsMHV1NpWm0rDFYIVXFV/AK+x4VIIfWHhrdMIeoTLyRr2g== + dependencies: + core-js "^3.5.0" + object-assign "^4.1.1" + promise "^8.0.3" + raf "^3.4.1" + regenerator-runtime "^0.13.3" + whatwg-fetch "^3.0.0" + +react-dev-utils@^9.1.0: + version "9.1.0" + resolved "https://registry.yarnpkg.com/react-dev-utils/-/react-dev-utils-9.1.0.tgz#3ad2bb8848a32319d760d0a84c56c14bdaae5e81" + integrity sha512-X2KYF/lIGyGwP/F/oXgGDF24nxDA2KC4b7AFto+eqzc/t838gpSGiaU8trTqHXOohuLxxc5qi1eDzsl9ucPDpg== + dependencies: + "@babel/code-frame" "7.5.5" + address "1.1.2" + browserslist "4.7.0" + chalk "2.4.2" + cross-spawn "6.0.5" + detect-port-alt "1.1.6" + escape-string-regexp "1.0.5" + filesize "3.6.1" + find-up "3.0.0" + fork-ts-checker-webpack-plugin "1.5.0" + global-modules "2.0.0" + globby "8.0.2" + gzip-size "5.1.1" + immer "1.10.0" + inquirer "6.5.0" + is-root "2.1.0" + loader-utils "1.2.3" + open "^6.3.0" + pkg-up "2.0.0" + react-error-overlay "^6.0.3" + recursive-readdir "2.2.2" + shell-quote "1.7.2" + sockjs-client "1.4.0" + strip-ansi "5.2.0" + text-table "0.2.0" + +react-dom@^16.10.2: + version "16.14.0" + resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-16.14.0.tgz#7ad838ec29a777fb3c75c3a190f661cf92ab8b89" + integrity sha512-1gCeQXDLoIqMgqD3IO2Ah9bnf0w9kzhwN5q4FGnHZ67hBm9yePzB5JJAIQCc8x3pFnNlwFq4RidZggNAAkzWWw== + dependencies: + loose-envify "^1.1.0" + object-assign "^4.1.1" + prop-types "^15.6.2" + scheduler "^0.19.1" + +react-error-overlay@^6.0.3: + version "6.0.11" + resolved "https://registry.yarnpkg.com/react-error-overlay/-/react-error-overlay-6.0.11.tgz#92835de5841c5cf08ba00ddd2d677b6d17ff9adb" + integrity sha512-/6UZ2qgEyH2aqzYZgQPxEnz33NJ2gNsnHA2o5+o4wW9bLM/JYQitNP9xPhsXwC08hMMovfGe/8retsdDsczPRg== + +react-is@^16.13.1, react-is@^16.8.4: + version "16.13.1" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" + integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== + +react-scripts@3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/react-scripts/-/react-scripts-3.2.0.tgz#58ccd6b4ffa27f1b4d2986cbdcaa916660e9e33c" + integrity sha512-6LzuKbE2B4eFQG6i1FnTScn9HDcWBfXXnOwW9xKFPJ/E3rK8i1ufbOZ0ocKyRPxJAKdN7iqg3i7lt0+oxkSVOA== + dependencies: + "@babel/core" "7.6.0" + "@svgr/webpack" "4.3.2" + "@typescript-eslint/eslint-plugin" "^2.2.0" + "@typescript-eslint/parser" "^2.2.0" + babel-eslint "10.0.3" + babel-jest "^24.9.0" + babel-loader "8.0.6" + babel-plugin-named-asset-import "^0.3.4" + babel-preset-react-app "^9.0.2" + camelcase "^5.2.0" + case-sensitive-paths-webpack-plugin "2.2.0" + css-loader "2.1.1" + dotenv "6.2.0" + dotenv-expand "5.1.0" + eslint "^6.1.0" + eslint-config-react-app "^5.0.2" + eslint-loader "3.0.2" + eslint-plugin-flowtype "3.13.0" + eslint-plugin-import "2.18.2" + eslint-plugin-jsx-a11y "6.2.3" + eslint-plugin-react "7.14.3" + eslint-plugin-react-hooks "^1.6.1" + file-loader "3.0.1" + fs-extra "7.0.1" + html-webpack-plugin "4.0.0-beta.5" + identity-obj-proxy "3.0.0" + is-wsl "^1.1.0" + jest "24.9.0" + jest-environment-jsdom-fourteen "0.1.0" + jest-resolve "24.9.0" + jest-watch-typeahead "0.4.0" + mini-css-extract-plugin "0.8.0" + optimize-css-assets-webpack-plugin "5.0.3" + pnp-webpack-plugin "1.5.0" + postcss-flexbugs-fixes "4.1.0" + postcss-loader "3.0.0" + postcss-normalize "7.0.1" + postcss-preset-env "6.7.0" + postcss-safe-parser "4.0.1" + react-app-polyfill "^1.0.4" + react-dev-utils "^9.1.0" + resolve "1.12.0" + resolve-url-loader "3.1.0" + sass-loader "7.2.0" + semver "6.3.0" + style-loader "1.0.0" + terser-webpack-plugin "1.4.1" + ts-pnp "1.1.4" + url-loader "2.1.0" + webpack "4.41.0" + webpack-dev-server "3.2.1" + webpack-manifest-plugin "2.1.1" + workbox-webpack-plugin "4.3.1" + optionalDependencies: + fsevents "2.0.7" + +react@^16.10.2: + version "16.14.0" + resolved "https://registry.yarnpkg.com/react/-/react-16.14.0.tgz#94d776ddd0aaa37da3eda8fc5b6b18a4c9a3114d" + integrity sha512-0X2CImDkJGApiAlcf0ODKIneSwBPhqJawOa5wCtKbu7ZECrmS26NvtSILynQ66cgkT/RJ4LidJOc3bUESwmU8g== + dependencies: + loose-envify "^1.1.0" + object-assign "^4.1.1" + prop-types "^15.6.2" + +read-pkg-up@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-2.0.0.tgz#6b72a8048984e0c41e79510fd5e9fa99b3b549be" + integrity sha512-1orxQfbWGUiTn9XsPlChs6rLie/AV9jwZTGmu2NZw/CUDJQchXJFYE0Fq5j7+n558T1JhDWLdhyd1Zj+wLY//w== + dependencies: + find-up "^2.0.0" + read-pkg "^2.0.0" + +read-pkg-up@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-4.0.0.tgz#1b221c6088ba7799601c808f91161c66e58f8978" + integrity sha512-6etQSH7nJGsK0RbG/2TeDzZFa8shjQ1um+SwQQ5cwKy0dhSXdOncEhb1CPpvQG4h7FyOV6EB6YlV0yJvZQNAkA== + dependencies: + find-up "^3.0.0" + read-pkg "^3.0.0" + +read-pkg@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-2.0.0.tgz#8ef1c0623c6a6db0dc6713c4bfac46332b2368f8" + integrity sha512-eFIBOPW7FGjzBuk3hdXEuNSiTZS/xEMlH49HxMyzb0hyPfu4EhVjT2DH32K1hSSmVq4sebAWnZuuY5auISUTGA== + dependencies: + load-json-file "^2.0.0" + normalize-package-data "^2.3.2" + path-type "^2.0.0" + +read-pkg@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-3.0.0.tgz#9cbc686978fee65d16c00e2b19c237fcf6e38389" + integrity sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA== + dependencies: + load-json-file "^4.0.0" + normalize-package-data "^2.3.2" + path-type "^3.0.0" + +"readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, 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" + +realpath-native@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/realpath-native/-/realpath-native-1.1.0.tgz#2003294fea23fb0672f2476ebe22fcf498a2d65c" + integrity sha512-wlgPA6cCIIg9gKz0fgAPjnzh4yR/LnXovwuo9hvyGvx3h8nX4+/iLZplfUWasXpqD8BdnGnP5njOFjkUwPzvjA== + dependencies: + util.promisify "^1.0.0" + +recursive-readdir@2.2.2: + version "2.2.2" + resolved "https://registry.yarnpkg.com/recursive-readdir/-/recursive-readdir-2.2.2.tgz#9946fb3274e1628de6e36b2f6714953b4845094f" + integrity sha512-nRCcW9Sj7NuZwa2XvH9co8NPeXUBhZP7CRKJtU+cS6PW9FpCIFoI5ib0NT1ZrbNuPoRy0ylyCaUL8Gih4LSyFg== + dependencies: + minimatch "3.0.4" + +regenerate-unicode-properties@^10.1.0: + version "10.1.0" + resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.0.tgz#7c3192cab6dd24e21cb4461e5ddd7dd24fa8374c" + integrity sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ== + 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.11.0: + version "0.11.1" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz#be05ad7f9bf7d22e056f9726cee5017fbf19e2e9" + integrity sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg== + +regenerator-runtime@^0.13.3, 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.15.0: + version "0.15.0" + resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.15.0.tgz#cbd9ead5d77fae1a48d957cf889ad0586adb6537" + integrity sha512-LsrGtPmbYg19bcPHwdtmXwbW+TqNvtY4riE3P83foeHRroMbH6/2ddFBfab3t7kbzc7v7p4wbkIecHImqt0QNg== + 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" + +regex-parser@2.2.10: + version "2.2.10" + resolved "https://registry.yarnpkg.com/regex-parser/-/regex-parser-2.2.10.tgz#9e66a8f73d89a107616e63b39d4deddfee912b37" + integrity sha512-8t6074A68gHfU8Neftl0Le6KTDwfGAj7IyjPIMSfikI2wJUTHDMaIq42bUsfVnj8mhx0R+45rdUXHGpN164avA== + +regexp.prototype.flags@^1.2.0, regexp.prototype.flags@^1.4.3: + version "1.4.3" + resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz#87cab30f80f66660181a3bb7bf5981a872b367ac" + integrity sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + functions-have-names "^1.2.2" + +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== + +regexpp@^3.0.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.2.0.tgz#0425a2768d8f23bad70ca4b90461fa2f1213e1b2" + integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg== + +regexpu-core@^5.1.0: + version "5.2.1" + resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-5.2.1.tgz#a69c26f324c1e962e9ffd0b88b055caba8089139" + integrity sha512-HrnlNtpvqP1Xkb28tMhBUO2EbyUHdQlsnlAhzWcwHy8WJR53UWr7/MAvqrsQKMbV4qdpv03oTMG8iIhfsPFktQ== + dependencies: + regenerate "^1.4.2" + regenerate-unicode-properties "^10.1.0" + regjsgen "^0.7.1" + regjsparser "^0.9.1" + unicode-match-property-ecmascript "^2.0.0" + unicode-match-property-value-ecmascript "^2.0.0" + +regjsgen@^0.7.1: + version "0.7.1" + resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.7.1.tgz#ee5ef30e18d3f09b7c369b76e7c2373ed25546f6" + integrity sha512-RAt+8H2ZEzHeYWxZ3H2z6tF18zyyOnlcdaafLrm21Bguj7uZy6ULibiAFdXEtKQY4Sy7wDTwDiOazasMLc4KPA== + +regjsparser@^0.9.1: + version "0.9.1" + resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.9.1.tgz#272d05aa10c7c1f67095b1ff0addae8442fc5709" + integrity sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ== + 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 sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog== + +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 sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw== + +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 sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w== + +request-promise-core@1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/request-promise-core/-/request-promise-core-1.1.4.tgz#3eedd4223208d419867b78ce815167d10593a22f" + integrity sha512-TTbAfBBRdWD7aNNOoVOBH4pN/KigV6LyapYNNlAPA8JwbovRti1E88m3sYAwsLi5ryhPKsE9APwnjFTgdUjTpw== + dependencies: + lodash "^4.17.19" + +request-promise-native@^1.0.5: + version "1.0.9" + resolved "https://registry.yarnpkg.com/request-promise-native/-/request-promise-native-1.0.9.tgz#e407120526a5efdc9a39b28a5679bf47b9d9dc28" + integrity sha512-wcW+sIUiWnKgNY0dqCpOZkUbF/I+YPi+f09JZIDa39Ec+q82CpSYniDp+ISgTTbKmnpJWASeJBPZmoxH84wt3g== + dependencies: + request-promise-core "1.1.4" + stealthy-require "^1.1.1" + tough-cookie "^2.3.3" + +request@^2.87.0, request@^2.88.0: + 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 sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q== + +require-main-filename@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1" + integrity sha512-IqSUtOVP4ksd1C/ej5zeEh/BIP2ajqpn8c5x+q99gvcIG/Qf0cud5raVnE/Dwd0ua9TXYDoDc0RE5hBSdz22Ug== + +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 sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ== + +resolve-cwd@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-2.0.0.tgz#00a9f7387556e27038eae232caa372a6a59b665a" + integrity sha512-ccu8zQTrzVr954472aUVPLEcB3YpKSYR3cg/3lo1okzobPBM+1INXBbBZlDbnI/hbEocnf8j0QVo43hQKrbchg== + dependencies: + resolve-from "^3.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 sha512-GnlH6vxLymXJNMBo7XP1fJIzBFbdYt49CuTwmB/6N53t+kMPRMFKz783LlQ4tv28XoQfMWinAJX6WCGf2IlaIw== + +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-url-loader@3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/resolve-url-loader/-/resolve-url-loader-3.1.0.tgz#54d8181d33cd1b66a59544d05cadf8e4aa7d37cc" + integrity sha512-2QcrA+2QgVqsMJ1Hn5NnJXIGCX1clQ1F6QJTqOeiaDw9ACo1G2k+8/shq3mtqne03HOFyskAClqfxKyFBriXZg== + dependencies: + adjust-sourcemap-loader "2.0.0" + camelcase "5.0.0" + compose-function "3.0.3" + convert-source-map "1.6.0" + es6-iterator "2.0.3" + loader-utils "1.2.3" + postcss "7.0.14" + rework "1.0.1" + rework-visit "1.0.0" + source-map "0.6.1" + +resolve-url@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" + integrity sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg== + +resolve@1.1.7: + version "1.1.7" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" + integrity sha512-9znBF0vBcaSN3W2j7wKvdERPwqTxSpCq+if5C0WoTCyV9n24rua28jeuQ2pL/HOf+yUe/Mef+H/5p60K0Id3bg== + +resolve@1.12.0: + version "1.12.0" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.12.0.tgz#3fc644a35c84a48554609ff26ec52b66fa577df6" + integrity sha512-B/dOmuoAik5bKcD6s6nXDCjzUKnaDvdkRyAk6rsmsKLipWj4797iothd7jmmUhWTfinVMU+wc56rYKsit2Qy4w== + dependencies: + path-parse "^1.0.6" + +resolve@^1.10.0, resolve@^1.10.1, resolve@^1.11.0, resolve@^1.12.0, resolve@^1.14.2, resolve@^1.20.0, resolve@^1.3.2, resolve@^1.8.1: + 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 sha512-6IzJLuGi4+R14vwagDHX+JrXmPVtPpn4mffDJ1UdR7/Edm87fl6yi8mMBIVvFtJaNTUvjughmW4hwLhRG7gC1Q== + 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== + +rework-visit@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/rework-visit/-/rework-visit-1.0.0.tgz#9945b2803f219e2f7aca00adb8bc9f640f842c9a" + integrity sha512-W6V2fix7nCLUYX1v6eGPrBOZlc03/faqzP4sUxMAJMBMOPYhfV/RyLegTufn5gJKaOITyi+gvf0LXDZ9NzkHnQ== + +rework@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/rework/-/rework-1.0.1.tgz#30806a841342b54510aa4110850cd48534144aa7" + integrity sha512-eEjL8FdkdsxApd0yWVZgBGzfCQiT8yqSc2H1p4jpZpQdtz7ohETiDMoje5PlM8I9WgkqkreVxFUKYOiJdVWDXw== + dependencies: + convert-source-map "^0.3.3" + css "^2.0.0" + +rgb-regex@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/rgb-regex/-/rgb-regex-1.0.1.tgz#c0e0d6882df0e23be254a475e8edd41915feaeb1" + integrity sha512-gDK5mkALDFER2YLqH6imYvK6g02gpNGM4ILDZ472EwWfXZnC2ZEpoB2ECXTyOVUKuk/bPJZMzwQPBYICzP+D3w== + +rgba-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/rgba-regex/-/rgba-regex-1.0.0.tgz#43374e2e2ca0968b0ef1523460b7d730ff22eeb3" + integrity sha512-zgn5OjNQXLUTdq8m17KdaicF6w89TZs8ZU8y0AYENIU6wG8GG6LLm0yLSiPY8DmaYmHdgRW8rnApjoT0fQRfMg== + +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.2.8, rimraf@^2.5.4, 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" + +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" + +rsvp@^4.8.4: + version "4.8.5" + resolved "https://registry.yarnpkg.com/rsvp/-/rsvp-4.8.5.tgz#c8f155311d167f68f21e168df71ec5b083113734" + integrity sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA== + +run-async@^2.2.0, 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 sha512-ntymy489o0/QQplUDnpYAYUsO50K9SBrIVaKCWDOJzYJts0f9WH9RFJkyagebkw5+y1oi00R7ynNW/d12GBumg== + dependencies: + aproba "^1.1.1" + +rxjs@^6.4.0, 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-test@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/safe-regex-test/-/safe-regex-test-1.0.0.tgz#793b874d524eb3640d1873aad03596db2d4f2295" + integrity sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.1.3" + is-regex "^1.1.4" + +safe-regex@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e" + integrity sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg== + dependencies: + ret "~0.1.10" + +"safer-buffer@>= 2.1.2 < 3", 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== + +sane@^4.0.3: + version "4.1.0" + resolved "https://registry.yarnpkg.com/sane/-/sane-4.1.0.tgz#ed881fd922733a6c461bc189dc2b6c006f3ffded" + integrity sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA== + dependencies: + "@cnakazawa/watch" "^1.0.3" + anymatch "^2.0.0" + capture-exit "^2.0.0" + exec-sh "^0.3.2" + execa "^1.0.0" + fb-watchman "^2.0.0" + micromatch "^3.1.4" + minimist "^1.1.1" + walker "~1.0.5" + +sass-loader@7.2.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/sass-loader/-/sass-loader-7.2.0.tgz#e34115239309d15b2527cb62b5dfefb62a96ff7f" + integrity sha512-h8yUWaWtsbuIiOCgR9fd9c2lRXZ2uG+h8Dzg/AGNj+Hg/3TO8+BBAW9mEP+mh8ei+qBKqSJ0F1FLlYjNBc61OA== + dependencies: + clone-deep "^4.0.1" + loader-utils "^1.0.1" + neo-async "^2.5.0" + pify "^4.0.1" + semver "^5.5.0" + +sax@^1.2.4, 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== + +saxes@^3.1.9: + version "3.1.11" + resolved "https://registry.yarnpkg.com/saxes/-/saxes-3.1.11.tgz#d59d1fd332ec92ad98a2e0b2ee644702384b1c5b" + integrity sha512-Ydydq3zC+WYDJK1+gRxRapLIED9PWeSuuS41wqyoRmzvhhh9nc+QQrVMKJYzJFULazeGhzSV0QleN2wD3boh2g== + dependencies: + xmlchars "^2.1.1" + +scheduler@^0.19.1: + version "0.19.1" + resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.19.1.tgz#4f3e2ed2c1a7d65681f4c854fa8c5a1ccb40f196" + integrity sha512-n/zwRWRYSUj0/3g/otKDRPMh6qv2SYMWNq85IEa8iZyAv8od9zDYpGSnpBEjNgcMNq6Scbu5KfIPxNF72R/2EA== + dependencies: + loose-envify "^1.1.0" + object-assign "^4.1.1" + +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.0.1, schema-utils@^2.2.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" + +select-hose@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/select-hose/-/select-hose-2.0.0.tgz#625d8658f865af43ec962bfc376a37359a4994ca" + integrity sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg== + +selfsigned@^1.9.1: + 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.4.1, semver@^5.5.0, semver@^5.5.1, 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@6.3.0, semver@^6.0.0, semver@^6.1.1, semver@^6.1.2, semver@^6.2.0, 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: + version "7.3.7" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.7.tgz#12c5b649afdbf9049707796e22a4028814ce523f" + integrity sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g== + dependencies: + lru-cache "^6.0.0" + +send@0.18.0: + version "0.18.0" + resolved "https://registry.yarnpkg.com/send/-/send-0.18.0.tgz#670167cc654b05f5aa4a767f9113bb371bc706be" + integrity sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg== + dependencies: + debug "2.6.9" + depd "2.0.0" + destroy "1.2.0" + encodeurl "~1.0.2" + escape-html "~1.0.3" + etag "~1.8.1" + fresh "0.5.2" + http-errors "2.0.0" + mime "1.6.0" + ms "2.1.3" + on-finished "2.4.1" + range-parser "~1.2.1" + statuses "2.0.1" + +serialize-javascript@^1.7.0: + version "1.9.1" + resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-1.9.1.tgz#cfc200aef77b600c47da9bb8149c943e798c2fdb" + integrity sha512-0Vb/54WJ6k5v8sSWN09S0ora+Hnr+cX40r9F170nT+mSkaxltoE/7R3OrIdBSUv1OoiobH1QoWQbCnAO+e8J1A== + +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.7.2: + version "1.9.1" + resolved "https://registry.yarnpkg.com/serve-index/-/serve-index-1.9.1.tgz#d3768d69b1e7d82e5ce050fff5b453bea12a9239" + integrity sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw== + 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.15.0: + version "1.15.0" + resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.15.0.tgz#faaef08cffe0a1a62f60cad0c4e513cff0ac9540" + integrity sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g== + dependencies: + encodeurl "~1.0.2" + escape-html "~1.0.3" + parseurl "~1.3.3" + send "0.18.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 sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw== + +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 sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA== + +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@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/shallow-clone/-/shallow-clone-0.1.2.tgz#5909e874ba77106d73ac414cfec1ffca87d97060" + integrity sha512-J1zdXCky5GmNnuauESROVu31MQSnLoYvlyEn6j2Ztk6Q5EHFIhxkMhYcv6vuDzl2XEzoRr856QwzMgWM/TmZgw== + dependencies: + is-extendable "^0.1.1" + kind-of "^2.0.1" + lazy-cache "^0.2.3" + mixin-object "^2.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 sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg== + dependencies: + shebang-regex "^1.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 sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ== + +shell-quote@1.7.2: + version "1.7.2" + resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.7.2.tgz#67a7d02c76c9da24f99d20808fcaded0e0e04be2" + integrity sha512-mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg== + +shellwords@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/shellwords/-/shellwords-0.1.1.tgz#d6b9181c1a48d397324c84871efbcfc73fc0654b" + integrity sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww== + +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.7" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" + integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== + +simple-swizzle@^0.2.2: + version "0.2.2" + resolved "https://registry.yarnpkg.com/simple-swizzle/-/simple-swizzle-0.2.2.tgz#a4da6b635ffcccca33f70d17cb92592de95e557a" + integrity sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg== + dependencies: + is-arrayish "^0.3.1" + +sisteransi@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.5.tgz#134d681297756437cc05ca01370d3a7a571075ed" + integrity sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg== + +slash@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55" + integrity sha512-3TYDR7xWt4dIqV2JauJr+EJeW356RXijHeUlO+8djJ+uBXPn8/2dpzBc8yQhh583sVvc9CvFAeQVgijsH+PNNg== + +slash@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-2.0.0.tgz#de552851a1759df3a8f206535442f5ec4ddeab44" + integrity sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A== + +slash@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" + integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== + +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.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/sockjs-client/-/sockjs-client-1.3.0.tgz#12fc9d6cb663da5739d3dc5fb6e8687da95cb177" + integrity sha512-R9jxEzhnnrdxLCNln0xg5uGHqMnkhPSTzUZH2eXcR03S/On9Yvoq2wyUZILRUhZCNVu2PmwWVoyuiPz8th8zbg== + dependencies: + debug "^3.2.5" + eventsource "^1.0.7" + faye-websocket "~0.11.1" + inherits "^2.0.3" + json3 "^3.3.2" + url-parse "^1.4.3" + +sockjs-client@1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/sockjs-client/-/sockjs-client-1.4.0.tgz#c9f2568e19c8fd8173b4997ea3420e0bb306c7d5" + integrity sha512-5zaLyO8/nri5cua0VtOrFXBPK1jbL4+1cebT/mmKA1E1ZXOvJrII75bPu0l0k843G/+iAbhEqzyKr0w/eCCj7g== + dependencies: + debug "^3.2.5" + eventsource "^1.0.7" + faye-websocket "~0.11.1" + inherits "^2.0.3" + json3 "^3.3.2" + url-parse "^1.4.3" + +sockjs@0.3.19: + version "0.3.19" + resolved "https://registry.yarnpkg.com/sockjs/-/sockjs-0.3.19.tgz#d976bbe800af7bd20ae08598d582393508993c0d" + integrity sha512-V48klKZl8T6MzatbLlzzRNhMepEys9Y4oGFpypBFFn1gLI/QQ9HtLLyWJNbPlwGLelOVOEijUbTTJeLLI59jLw== + dependencies: + faye-websocket "^0.10.0" + uuid "^3.0.1" + +sort-keys@^1.0.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/sort-keys/-/sort-keys-1.1.2.tgz#441b6d4d346798f1b4e49e8920adfba0e543f9ad" + integrity sha512-vzn8aSqKgytVik0iwdBEi+zevbTYZogewTUM6dtpmGwEcdzbub/TX4bCzRhebDCRC3QzXgJsLRKB2V/Oof7HXg== + 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, source-map-resolve@^0.5.2: + 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.6, 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.6.1, 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.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 sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ== + +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.12" + resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.12.tgz#69077835abe2710b65f03969898b6637b505a779" + integrity sha512-rr+VVSXtRhO4OHbXUiAF7xW3Bo9DuuF6C5jH+q/x15j2jniycgKbxU09Hr0WqlSLUs4i4ltHGXqTe7VHclYWyA== + +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.0: + 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.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" + integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g== + +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" + +stable@^0.1.8: + version "0.1.8" + resolved "https://registry.yarnpkg.com/stable/-/stable-0.1.8.tgz#836eb3c8382fe2936feaf544631017ce7d47a3cf" + integrity sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w== + +stack-utils@^1.0.1: + version "1.0.5" + resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-1.0.5.tgz#a19b0b01947e0029c8e451d5d61a498f5bb1471b" + integrity sha512-KZiTzuV3CnSnSvgMRrARVCj+Ht7rMbauGDK0LdVFRGyenwdylpajAp4Q0i6SX8rEmbTpMMf6ryq2gb8pPq2WgQ== + dependencies: + escape-string-regexp "^2.0.0" + +static-extend@^0.1.1: + version "0.1.2" + resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" + integrity sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g== + dependencies: + define-property "^0.2.5" + object-copy "^0.1.0" + +statuses@2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/statuses/-/statuses-2.0.1.tgz#55cb000ccf1d48728bd23c685a063998cf1a1b63" + integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ== + +"statuses@>= 1.4.0 < 2": + version "1.5.0" + resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" + integrity sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA== + +stealthy-require@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/stealthy-require/-/stealthy-require-1.1.1.tgz#35b09875b4ff49f26a777e509b3090a3226bf24b" + integrity sha512-ZnWpYnYugiOVEY5GkcuJK1io5V8QmNYChG62gSit9pQVGErXtrKuPC55ITaVSukmMta5qpMU7vqLt2Lnni4f/g== + +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 sha512-R3f198pcvnB+5IpnBlRkphuE9n46WyVl8I39W/ZUTZLz4nqSP/oLYUrcnJrw462Ds8he4YKMov2efsTIw1BDGQ== + +string-length@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/string-length/-/string-length-2.0.0.tgz#d40dbb686a3ace960c1cffca562bf2c45f8363ed" + integrity sha512-Qka42GGrS8Mm3SZ+7cH8UXiIWI867/b/Z/feQSpQx/rbfB8UGknGEZVaUQMOUVj+soY6NpWAxily63HI1OckVQ== + dependencies: + astral-regex "^1.0.0" + strip-ansi "^4.0.0" + +string-length@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/string-length/-/string-length-3.1.0.tgz#107ef8c23456e187a8abd4a61162ff4ac6e25837" + integrity sha512-Ttp5YvkGm5v9Ijagtaz1BnN+k9ObpvS0eIBblPMp2YWL8FBmi9qblQ9fexc2k/CXFgrTIteU3jAw3payCnwSTA== + dependencies: + astral-regex "^1.0.0" + strip-ansi "^5.2.0" + +string-width@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" + integrity sha512-0XsVpQLnVCXHJfyEs8tC0zpTVIr5PKKsQtkT29IwupnPTjtPmQ3xT/4yCREF9hYkV/3M3kzcUTSAZT6a6h81tw== + dependencies: + code-point-at "^1.0.0" + is-fullwidth-code-point "^1.0.0" + strip-ansi "^3.0.0" + +string-width@^2.0.0, string-width@^2.1.0, string-width@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" + integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw== + dependencies: + is-fullwidth-code-point "^2.0.0" + strip-ansi "^4.0.0" + +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-width@^4.1.0: + 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.prototype.trimend@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.5.tgz#914a65baaab25fbdd4ee291ca7dde57e869cb8d0" + integrity sha512-I7RGvmjV4pJ7O3kdf+LXFpVfdNOxtCW/2C8f6jNiW4+PQchwxkCDzlk1/7p+Wl4bqFIZeF47qAHXLuHHWKAxog== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.19.5" + +string.prototype.trimstart@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.5.tgz#5466d93ba58cfa2134839f81d7f42437e8c01fef" + integrity sha512-THx16TJCGlsN0o6dl2o6ncWUsdgnLRSA23rRE5pyGBw/mLr3Ej/R2LaqCtgP8VNMGZsvMWnf9ooZPyY2bHvUFg== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.19.5" + +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" + +stringify-object@^3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/stringify-object/-/stringify-object-3.3.0.tgz#703065aefca19300d3ce88af4f5b3956d7556629" + integrity sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw== + dependencies: + get-own-enumerable-property-symbols "^3.0.0" + is-obj "^1.0.1" + is-regexp "^1.0.0" + +strip-ansi@5.2.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@^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 sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg== + dependencies: + ansi-regex "^2.0.0" + +strip-ansi@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" + integrity sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow== + dependencies: + ansi-regex "^3.0.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-bom@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" + integrity sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA== + +strip-comments@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/strip-comments/-/strip-comments-1.0.2.tgz#82b9c45e7f05873bee53f37168af930aa368679d" + integrity sha512-kL97alc47hoyIQSV165tTt9rG5dn4w1dNnBhOQ3bOU1Nc1hel09jnXANaHJ7vzHLd4Ju8kseDGzlev96pghLFw== + dependencies: + babel-extract-comments "^1.0.0" + babel-plugin-transform-object-rest-spread "^6.26.0" + +strip-eof@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" + integrity sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q== + +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== + +style-loader@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-1.0.0.tgz#1d5296f9165e8e2c85d24eee0b7caf9ec8ca1f82" + integrity sha512-B0dOCFwv7/eY31a5PCieNwMgMhVGFe9w+rh7s/Bx8kfFkrth9zfTZquoYvdw8URgiqxObQKcpW51Ugz1HjfdZw== + dependencies: + loader-utils "^1.2.3" + schema-utils "^2.0.1" + +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 sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g== + +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-parser@^2.0.0: + version "2.0.4" + resolved "https://registry.yarnpkg.com/svg-parser/-/svg-parser-2.0.4.tgz#fdc2e29e13951736140b76cb122c8ee6630eb6b5" + integrity sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ== + +svgo@^1.0.0, svgo@^1.2.2: + 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" + +symbol-tree@^3.2.2: + version "3.2.4" + resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2" + integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw== + +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" + +tapable@^1.0.0, tapable@^1.1.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== + +terser-webpack-plugin@1.4.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-1.4.1.tgz#61b18e40eaee5be97e771cdbb10ed1280888c2b4" + integrity sha512-ZXmmfiwtCLfz8WKZyYUuuHf3dMYEjg8NrjHMb0JqHVHVOSkzp3cW2/XG1fP3tRhqEqSzMwzzRQGtAPbs4Cncxg== + dependencies: + cacache "^12.0.2" + find-cache-dir "^2.1.0" + is-wsl "^1.1.0" + schema-utils "^1.0.0" + serialize-javascript "^1.7.0" + source-map "^0.6.1" + terser "^4.1.2" + webpack-sources "^1.4.0" + worker-farm "^1.7.0" + +terser-webpack-plugin@^1.4.1: + 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.1" + resolved "https://registry.yarnpkg.com/terser/-/terser-4.8.1.tgz#a00e5634562de2239fd404c649051bf6fc21144f" + integrity sha512-4GnLC0x667eJG0ewJTa6z/yXrbLGv80D9Ru6HIpCQmO+Q4PfEtBFi0ObSckqwL6VyQv/7ENJieXHo2ANmdQwgw== + dependencies: + commander "^2.20.0" + source-map "~0.6.1" + source-map-support "~0.5.12" + +test-exclude@^5.2.3: + version "5.2.3" + resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-5.2.3.tgz#c3d3e1e311eb7ee405e092dac10aefd09091eac0" + integrity sha512-M+oxtseCFO3EDtAaGH7iiej3CBkzXqFMbzqYAACdzKui4eZA+pq3tZEwChvOdNfa7xxy8BfbmgJSIr43cC/+2g== + dependencies: + glob "^7.1.3" + minimatch "^3.0.4" + read-pkg-up "^4.0.0" + require-main-filename "^2.0.0" + +text-table@0.2.0, text-table@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" + integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw== + +throat@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/throat/-/throat-4.1.0.tgz#89037cbc92c56ab18926e6ba4cbb200e15672a6a" + integrity sha512-wCVxLDcFxw7ujDxaeJC6nfl2XfHJNYs8yUYJnvMgtPEFlttP9tHSfRUv2vBe6C4hkVFPWoP1P6ZccbYjmSEkKA== + +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 sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg== + +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 sha512-qsdtZH+vMoCARQtyod4imc2nIJwg9Cc7lPRrw9CzF8ZKR0khdr8+2nX80PBhET3tcyTtJDxAffGh2rXH4tyU8A== + +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" + +tmpl@1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.5.tgz#8683e0b902bb9c20c4f726e3c0b69f36518c07cc" + integrity sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw== + +to-arraybuffer@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43" + integrity sha512-okFlQcoGTi4LQBG/PgSYblw9VOyptsz2KJZqc6qtgGdes8VktzUQkj4BI2blit072iS8VODNcMA+tvnS9dnuMA== + +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 sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog== + +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 sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg== + 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 sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg== + 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== + +tough-cookie@^2.3.3, tough-cookie@^2.3.4, tough-cookie@^2.5.0, 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" + +tr46@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/tr46/-/tr46-1.0.1.tgz#a8b13fd6bfd2489519674ccde55ba3693b706d09" + integrity sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA== + dependencies: + punycode "^2.1.0" + +ts-pnp@1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/ts-pnp/-/ts-pnp-1.1.4.tgz#ae27126960ebaefb874c6d7fa4729729ab200d90" + integrity sha512-1J/vefLC+BWSo+qe8OnJQfWTYRS6ingxjwqmHMqaMxXMj7kFtKLgAaYW3JeX3mktjgUL+etlU8/B4VUAUI9QGw== + +ts-pnp@^1.1.2: + 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.8.1, 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== + +tsutils@^3.17.1: + version "3.21.0" + resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623" + integrity sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA== + dependencies: + tslib "^1.8.1" + +tty-browserify@0.0.0: + version "0.0.0" + resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6" + integrity sha512-JVa5ijo+j/sOoHGjw0sxw734b1LhBkQ3bvUGNdxnVXDCX81Yx7TFgnZygxrIIWn23hbfTaMYLwRmAxFyDuFmIw== + +tunnel-agent@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" + integrity sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w== + 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 sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA== + +type-check@~0.3.2: + version "0.3.2" + resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" + integrity sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg== + dependencies: + prelude-ls "~1.1.2" + +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.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" + +type@^1.0.1: + version "1.2.0" + resolved "https://registry.yarnpkg.com/type/-/type-1.2.0.tgz#848dd7698dafa3e54a6c479e759c4bc3f18847a0" + integrity sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg== + +type@^2.7.2: + version "2.7.2" + resolved "https://registry.yarnpkg.com/type/-/type-2.7.2.tgz#2376a15a3a28b1efa0f5350dcf72d24df6ef98d0" + integrity sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw== + +typedarray@^0.0.6: + version "0.0.6" + resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" + integrity sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA== + +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.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.2.tgz#29032021057d5e6cdbd08c5129c226dff8ed6f9e" + integrity sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw== + dependencies: + call-bind "^1.0.2" + has-bigints "^1.0.2" + has-symbols "^1.0.3" + 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.1.0" + resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz#43d41e3be698bd493ef911077c9b131f827e8ccd" + integrity sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w== + +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 sha512-Gw+zz50YNKPDKXs+9d+aKAjVwpjNwqzvNpLigIruT4HA9lMZNdMqs9x07kKHB/L9WRzqp4+DlTU5s4wG2esdoA== + +uniqs@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/uniqs/-/uniqs-2.0.0.tgz#ffede4b36b25290696e6e165d4a59edb998e6b02" + integrity sha512-mZdDpf3vBV5Efh29kMw5tXoup/buMgxLzOt/XKFKcVmi+15ManNQWr6HfZ2aiZTYlYixbdNJ0KFmIZIv52tHSQ== + +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 sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ== + +unquote@~1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/unquote/-/unquote-1.1.1.tgz#8fded7324ec6e88a0ff8b905e7c098cdc086d544" + integrity sha512-vRCqFv6UhXpWxZPyGDh/F3ZpNv8/qo7w6iufLpQg9aKnQ71qM4B5KiI7Mia9COcjEhrO9LueHpMYjYzsWH3OIg== + +unset-value@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" + integrity sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ== + 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== + +update-browserslist-db@^1.0.9: + version "1.0.9" + resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.9.tgz#2924d3927367a38d5c555413a7ce138fc95fcb18" + integrity sha512-/xsqn21EGVdXI3EXSum1Yckj3ZVZugqyOZQ/CxYPBD/R+ko9NSUScf8tFF4dOKY+2pvSSJA/S+5B8s4Zr4kyvg== + dependencies: + escalade "^3.1.1" + picocolors "^1.0.0" + +upper-case@^1.1.1: + version "1.1.3" + resolved "https://registry.yarnpkg.com/upper-case/-/upper-case-1.1.3.tgz#f6b4501c2ec4cdd26ba78be7222961de77621598" + integrity sha512-WRbjgmYzgXkCV7zNVpy5YgrHgbBv126rMALQQMrmzOVC4GM2waQ9x7xtm8VU+1yF2kWyPzI9zbZ48n4vSxwfSA== + +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 sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg== + +url-loader@2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/url-loader/-/url-loader-2.1.0.tgz#bcc1ecabbd197e913eca23f5e0378e24b4412961" + integrity sha512-kVrp/8VfEm5fUt+fl2E0FQyrpmOYgMEkBsv8+UDP1wFhszECq5JyGF33I7cajlVY90zRZ6MyfgKXngLvHYZX8A== + dependencies: + loader-utils "^1.2.3" + mime "^2.4.4" + schema-utils "^2.0.0" + +url-parse@^1.4.3: + version "1.5.10" + resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.5.10.tgz#9d3c2f736c1d75dd3bd2be507dcc111f1e2ea9c1" + integrity sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ== + 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 sha512-kbailJa29QrtXnxgq+DdCEGlbTeYM2eJUxsz6vjZavrCYPMIFHMKQmSKYAIuUK2i7hgPm28a8piX5NTUtM/LKQ== + 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 sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== + +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.1.1" + resolved "https://registry.yarnpkg.com/util.promisify/-/util.promisify-1.1.1.tgz#77832f57ced2c9478174149cae9b96e9918cd54b" + integrity sha512-/s3UsZUrIfa6xDhr7zZhnE9SLQ5RIXyYfiVnMMyMDzOc8WhWN4Nbh36H842OyurKbCDAesZOJaVyvmSl6fhGQw== + dependencies: + call-bind "^1.0.0" + define-properties "^1.1.3" + for-each "^0.3.3" + has-symbols "^1.0.1" + object.getownpropertydescriptors "^2.1.1" + +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 sha512-5KiHfsmkqacuKjkRkdV7SsfDJ2EGiPsK92s2MhNSY0craxjTdKTtqKsJaCWp4LW33ZZ0OPUv1WO/TFvNQRiQxQ== + 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 sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA== + +utils-merge@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" + integrity sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA== + +uuid@^3.0.1, 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== + +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 sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg== + +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 sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw== + 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== + +w3c-hr-time@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz#0a89cdf5cc15822df9c360543676963e0cc308cd" + integrity sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ== + dependencies: + browser-process-hrtime "^1.0.0" + +w3c-xmlserializer@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/w3c-xmlserializer/-/w3c-xmlserializer-1.1.2.tgz#30485ca7d70a6fd052420a3d12fd90e6339ce794" + integrity sha512-p10l/ayESzrBMYWRID6xbuCKh2Fp77+sA0doRuGn4tTIMrrZVeqfpKjXHY+oDh3K4nLdPgNwMTVP6Vp4pvqbNg== + dependencies: + domexception "^1.0.1" + webidl-conversions "^4.0.2" + xml-name-validator "^3.0.0" + +walker@^1.0.7, walker@~1.0.5: + version "1.0.8" + resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.8.tgz#bd498db477afe573dc04185f011d3ab8a8d7653f" + integrity sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ== + dependencies: + makeerror "1.0.12" + +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.6.0: + 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" + +webidl-conversions@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-4.0.2.tgz#a855980b1f0b6b359ba1d5d9fb39ae941faa63ad" + integrity sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg== + +webpack-dev-middleware@^3.5.1: + 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.2.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-3.2.1.tgz#1b45ce3ecfc55b6ebe5e36dab2777c02bc508c4e" + integrity sha512-sjuE4mnmx6JOh9kvSbPYw3u/6uxCLHNWfhWaIPwcXWsvWOPN+nc5baq4i9jui3oOBRXGonK9+OI0jVkaz6/rCw== + dependencies: + ansi-html "0.0.7" + bonjour "^3.5.0" + chokidar "^2.0.0" + compression "^1.5.2" + connect-history-api-fallback "^1.3.0" + debug "^4.1.1" + del "^3.0.0" + express "^4.16.2" + html-entities "^1.2.0" + http-proxy-middleware "^0.19.1" + import-local "^2.0.0" + internal-ip "^4.2.0" + ip "^1.1.5" + killable "^1.0.0" + loglevel "^1.4.1" + opn "^5.1.0" + portfinder "^1.0.9" + schema-utils "^1.0.0" + selfsigned "^1.9.1" + semver "^5.6.0" + serve-index "^1.7.2" + sockjs "0.3.19" + sockjs-client "1.3.0" + spdy "^4.0.0" + strip-ansi "^3.0.0" + supports-color "^6.1.0" + url "^0.11.0" + webpack-dev-middleware "^3.5.1" + webpack-log "^2.0.0" + yargs "12.0.2" + +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-manifest-plugin@2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/webpack-manifest-plugin/-/webpack-manifest-plugin-2.1.1.tgz#6b3e280327815b83152c79f42d0ca13b665773c4" + integrity sha512-2zqJ6mvc3yoiqfDjghAIpljhLSDh/G7vqGrzYcYqqRCd/ZZZCAuc/YPE5xG0LGpLgDJRhUNV1H+znyyhIxahzA== + dependencies: + fs-extra "^7.0.0" + lodash ">=3.5 <5" + object.entries "^1.1.0" + tapable "^1.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.41.0: + version "4.41.0" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.41.0.tgz#db6a254bde671769f7c14e90a1a55e73602fc70b" + integrity sha512-yNV98U4r7wX1VJAj5kyMsu36T8RPPQntcb5fJLOsMz/pt/WrKC0Vp1bAlqPLkA1LegSwQwf6P+kAbyhRKVQ72g== + dependencies: + "@webassemblyjs/ast" "1.8.5" + "@webassemblyjs/helper-module-context" "1.8.5" + "@webassemblyjs/wasm-edit" "1.8.5" + "@webassemblyjs/wasm-parser" "1.8.5" + acorn "^6.2.1" + ajv "^6.10.2" + ajv-keywords "^3.4.1" + chrome-trace-event "^1.0.2" + enhanced-resolve "^4.1.0" + eslint-scope "^4.0.3" + json-parse-better-errors "^1.0.2" + loader-runner "^2.4.0" + loader-utils "^1.2.3" + memory-fs "^0.4.1" + micromatch "^3.1.10" + mkdirp "^0.5.1" + neo-async "^2.6.1" + node-libs-browser "^2.2.1" + schema-utils "^1.0.0" + tapable "^1.1.3" + terser-webpack-plugin "^1.4.1" + watchpack "^1.6.0" + webpack-sources "^1.4.1" + +websocket-driver@>=0.5.1: + 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== + +whatwg-encoding@^1.0.1, whatwg-encoding@^1.0.3, whatwg-encoding@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz#5abacf777c32166a51d085d6b4f3e7d27113ddb0" + integrity sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw== + dependencies: + iconv-lite "0.4.24" + +whatwg-fetch@^3.0.0: + version "3.6.2" + resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-3.6.2.tgz#dced24f37f2624ed0281725d51d0e2e3fe677f8c" + integrity sha512-bJlen0FcuU/0EMLrdbJ7zOnW6ITZLrZMIarMUVmdKtsGvZna8vxKYaexICWPfZ8qwf9fzNq+UEIZrnSaApt6RA== + +whatwg-mimetype@^2.1.0, whatwg-mimetype@^2.2.0, whatwg-mimetype@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz#3d4b1e0312d2079879f826aff18dbeeca5960fbf" + integrity sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g== + +whatwg-url@^6.4.1: + version "6.5.0" + resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-6.5.0.tgz#f2df02bff176fd65070df74ad5ccbb5a199965a8" + integrity sha512-rhRZRqx/TLJQWUpQ6bmrt2UV4f0HCQ463yQuONJqC6fO2VoEb1pTYddbe59SkYq87aoM5A3bdhMZiUiVws+fzQ== + dependencies: + lodash.sortby "^4.7.0" + tr46 "^1.0.1" + webidl-conversions "^4.0.2" + +whatwg-url@^7.0.0: + version "7.1.0" + resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-7.1.0.tgz#c2c492f1eca612988efd3d2266be1b9fc6170d06" + integrity sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg== + dependencies: + lodash.sortby "^4.7.0" + tr46 "^1.0.1" + webidl-conversions "^4.0.2" + +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 sha512-B+enWhmw6cjfVC7kS8Pj9pCrKSc5txArRyaYGe088shv/FGWH+0Rjx/xPgtsWfsUtS27FkP697E4DDhgrgoc0Q== + +which@^1.2.9, which@^1.3.0, which@^1.3.1: + 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" + +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== + +workbox-background-sync@^4.3.1: + version "4.3.1" + resolved "https://registry.yarnpkg.com/workbox-background-sync/-/workbox-background-sync-4.3.1.tgz#26821b9bf16e9e37fd1d640289edddc08afd1950" + integrity sha512-1uFkvU8JXi7L7fCHVBEEnc3asPpiAL33kO495UMcD5+arew9IbKW2rV5lpzhoWcm/qhGB89YfO4PmB/0hQwPRg== + dependencies: + workbox-core "^4.3.1" + +workbox-broadcast-update@^4.3.1: + version "4.3.1" + resolved "https://registry.yarnpkg.com/workbox-broadcast-update/-/workbox-broadcast-update-4.3.1.tgz#e2c0280b149e3a504983b757606ad041f332c35b" + integrity sha512-MTSfgzIljpKLTBPROo4IpKjESD86pPFlZwlvVG32Kb70hW+aob4Jxpblud8EhNb1/L5m43DUM4q7C+W6eQMMbA== + dependencies: + workbox-core "^4.3.1" + +workbox-build@^4.3.1: + version "4.3.1" + resolved "https://registry.yarnpkg.com/workbox-build/-/workbox-build-4.3.1.tgz#414f70fb4d6de47f6538608b80ec52412d233e64" + integrity sha512-UHdwrN3FrDvicM3AqJS/J07X0KXj67R8Cg0waq1MKEOqzo89ap6zh6LmaLnRAjpB+bDIz+7OlPye9iii9KBnxw== + dependencies: + "@babel/runtime" "^7.3.4" + "@hapi/joi" "^15.0.0" + common-tags "^1.8.0" + fs-extra "^4.0.2" + glob "^7.1.3" + lodash.template "^4.4.0" + pretty-bytes "^5.1.0" + stringify-object "^3.3.0" + strip-comments "^1.0.2" + workbox-background-sync "^4.3.1" + workbox-broadcast-update "^4.3.1" + workbox-cacheable-response "^4.3.1" + workbox-core "^4.3.1" + workbox-expiration "^4.3.1" + workbox-google-analytics "^4.3.1" + workbox-navigation-preload "^4.3.1" + workbox-precaching "^4.3.1" + workbox-range-requests "^4.3.1" + workbox-routing "^4.3.1" + workbox-strategies "^4.3.1" + workbox-streams "^4.3.1" + workbox-sw "^4.3.1" + workbox-window "^4.3.1" + +workbox-cacheable-response@^4.3.1: + version "4.3.1" + resolved "https://registry.yarnpkg.com/workbox-cacheable-response/-/workbox-cacheable-response-4.3.1.tgz#f53e079179c095a3f19e5313b284975c91428c91" + integrity sha512-Rp5qlzm6z8IOvnQNkCdO9qrDgDpoPNguovs0H8C+wswLuPgSzSp9p2afb5maUt9R1uTIwOXrVQMmPfPypv+npw== + dependencies: + workbox-core "^4.3.1" + +workbox-core@^4.3.1: + version "4.3.1" + resolved "https://registry.yarnpkg.com/workbox-core/-/workbox-core-4.3.1.tgz#005d2c6a06a171437afd6ca2904a5727ecd73be6" + integrity sha512-I3C9jlLmMKPxAC1t0ExCq+QoAMd0vAAHULEgRZ7kieCdUd919n53WC0AfvokHNwqRhGn+tIIj7vcb5duCjs2Kg== + +workbox-expiration@^4.3.1: + version "4.3.1" + resolved "https://registry.yarnpkg.com/workbox-expiration/-/workbox-expiration-4.3.1.tgz#d790433562029e56837f341d7f553c4a78ebe921" + integrity sha512-vsJLhgQsQouv9m0rpbXubT5jw0jMQdjpkum0uT+d9tTwhXcEZks7qLfQ9dGSaufTD2eimxbUOJfWLbNQpIDMPw== + dependencies: + workbox-core "^4.3.1" + +workbox-google-analytics@^4.3.1: + version "4.3.1" + resolved "https://registry.yarnpkg.com/workbox-google-analytics/-/workbox-google-analytics-4.3.1.tgz#9eda0183b103890b5c256e6f4ea15a1f1548519a" + integrity sha512-xzCjAoKuOb55CBSwQrbyWBKqp35yg1vw9ohIlU2wTy06ZrYfJ8rKochb1MSGlnoBfXGWss3UPzxR5QL5guIFdg== + dependencies: + workbox-background-sync "^4.3.1" + workbox-core "^4.3.1" + workbox-routing "^4.3.1" + workbox-strategies "^4.3.1" + +workbox-navigation-preload@^4.3.1: + version "4.3.1" + resolved "https://registry.yarnpkg.com/workbox-navigation-preload/-/workbox-navigation-preload-4.3.1.tgz#29c8e4db5843803b34cd96dc155f9ebd9afa453d" + integrity sha512-K076n3oFHYp16/C+F8CwrRqD25GitA6Rkd6+qAmLmMv1QHPI2jfDwYqrytOfKfYq42bYtW8Pr21ejZX7GvALOw== + dependencies: + workbox-core "^4.3.1" + +workbox-precaching@^4.3.1: + version "4.3.1" + resolved "https://registry.yarnpkg.com/workbox-precaching/-/workbox-precaching-4.3.1.tgz#9fc45ed122d94bbe1f0ea9584ff5940960771cba" + integrity sha512-piSg/2csPoIi/vPpp48t1q5JLYjMkmg5gsXBQkh/QYapCdVwwmKlU9mHdmy52KsDGIjVaqEUMFvEzn2LRaigqQ== + dependencies: + workbox-core "^4.3.1" + +workbox-range-requests@^4.3.1: + version "4.3.1" + resolved "https://registry.yarnpkg.com/workbox-range-requests/-/workbox-range-requests-4.3.1.tgz#f8a470188922145cbf0c09a9a2d5e35645244e74" + integrity sha512-S+HhL9+iTFypJZ/yQSl/x2Bf5pWnbXdd3j57xnb0V60FW1LVn9LRZkPtneODklzYuFZv7qK6riZ5BNyc0R0jZA== + dependencies: + workbox-core "^4.3.1" + +workbox-routing@^4.3.1: + version "4.3.1" + resolved "https://registry.yarnpkg.com/workbox-routing/-/workbox-routing-4.3.1.tgz#a675841af623e0bb0c67ce4ed8e724ac0bed0cda" + integrity sha512-FkbtrODA4Imsi0p7TW9u9MXuQ5P4pVs1sWHK4dJMMChVROsbEltuE79fBoIk/BCztvOJ7yUpErMKa4z3uQLX+g== + dependencies: + workbox-core "^4.3.1" + +workbox-strategies@^4.3.1: + version "4.3.1" + resolved "https://registry.yarnpkg.com/workbox-strategies/-/workbox-strategies-4.3.1.tgz#d2be03c4ef214c115e1ab29c9c759c9fe3e9e646" + integrity sha512-F/+E57BmVG8dX6dCCopBlkDvvhg/zj6VDs0PigYwSN23L8hseSRwljrceU2WzTvk/+BSYICsWmRq5qHS2UYzhw== + dependencies: + workbox-core "^4.3.1" + +workbox-streams@^4.3.1: + version "4.3.1" + resolved "https://registry.yarnpkg.com/workbox-streams/-/workbox-streams-4.3.1.tgz#0b57da70e982572de09c8742dd0cb40a6b7c2cc3" + integrity sha512-4Kisis1f/y0ihf4l3u/+ndMkJkIT4/6UOacU3A4BwZSAC9pQ9vSvJpIi/WFGQRH/uPXvuVjF5c2RfIPQFSS2uA== + dependencies: + workbox-core "^4.3.1" + +workbox-sw@^4.3.1: + version "4.3.1" + resolved "https://registry.yarnpkg.com/workbox-sw/-/workbox-sw-4.3.1.tgz#df69e395c479ef4d14499372bcd84c0f5e246164" + integrity sha512-0jXdusCL2uC5gM3yYFT6QMBzKfBr2XTk0g5TPAV4y8IZDyVNDyj1a8uSXy3/XrvkVTmQvLN4O5k3JawGReXr9w== + +workbox-webpack-plugin@4.3.1: + version "4.3.1" + resolved "https://registry.yarnpkg.com/workbox-webpack-plugin/-/workbox-webpack-plugin-4.3.1.tgz#47ff5ea1cc074b6c40fb5a86108863a24120d4bd" + integrity sha512-gJ9jd8Mb8wHLbRz9ZvGN57IAmknOipD3W4XNE/Lk/4lqs5Htw4WOQgakQy/o/4CoXQlMCYldaqUg+EJ35l9MEQ== + dependencies: + "@babel/runtime" "^7.0.0" + json-stable-stringify "^1.0.1" + workbox-build "^4.3.1" + +workbox-window@^4.3.1: + version "4.3.1" + resolved "https://registry.yarnpkg.com/workbox-window/-/workbox-window-4.3.1.tgz#ee6051bf10f06afa5483c9b8dfa0531994ede0f3" + integrity sha512-C5gWKh6I58w3GeSc0wp2Ne+rqVw8qwcmZnQGpjiek8A2wpbxSJb1FdCoQVO+jDJs35bFgo/WETgl1fqgsxN0Hg== + dependencies: + workbox-core "^4.3.1" + +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" + +worker-rpc@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/worker-rpc/-/worker-rpc-0.1.1.tgz#cb565bd6d7071a8f16660686051e969ad32f54d5" + integrity sha512-P1WjMrUB3qgJNI9jfmpZ/htmBEjFh//6l/5y8SD9hg1Ef5zTTVVoRjTrTEzPrNBQvmhMxkoTsjOXN10GWU7aCg== + dependencies: + microevent.ts "~0.1.1" + +wrap-ansi@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85" + integrity sha512-vAaEaDM946gbNpH5pLVNR+vX2ht6n0Bt3GXwVB1AuAqZosOvHNF3P7wDnh8KLkSqgUh0uh77le7Owgoz+Z9XBw== + dependencies: + string-width "^1.0.1" + strip-ansi "^3.0.1" + +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" + +wrappy@1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== + +write-file-atomic@2.4.1: + version "2.4.1" + resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-2.4.1.tgz#d0b05463c188ae804396fd5ab2a370062af87529" + integrity sha512-TGHFeZEZMnv+gBFRfjAcxL5bPHrsGKtnb4qsFAws7/vlh+QfwAaySIw4AXP9ZskTTh5GWu3FLuJhsWVdiJPGvg== + dependencies: + graceful-fs "^4.1.11" + imurmurhash "^0.1.4" + signal-exit "^3.0.2" + +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@^5.2.0: + version "5.2.3" + resolved "https://registry.yarnpkg.com/ws/-/ws-5.2.3.tgz#05541053414921bc29c63bee14b8b0dd50b07b3d" + integrity sha512-jZArVERrMsKUatIdnLzqvcfydI85dvd/Fp1u/VOpfdDWQ4c9qWXe+VIeAbQ5FrDwciAkr+lzofXLz3Kuf26AOA== + dependencies: + async-limiter "~1.0.0" + +ws@^6.1.2: + 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" + +xml-name-validator@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a" + integrity sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw== + +xmlchars@^2.1.1: + version "2.2.0" + resolved "https://registry.yarnpkg.com/xmlchars/-/xmlchars-2.2.0.tgz#060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb" + integrity sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw== + +xregexp@4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/xregexp/-/xregexp-4.0.0.tgz#e698189de49dd2a18cc5687b05e17c8e43943020" + integrity sha512-PHyM+sQouu7xspQQwELlGwwd05mXUFqwFYfqPO0cC7x4fxyHnnuetmQr6CjJiafIDoH4MogHb9dOoJzR/Y4rFg== + +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@^3.2.1 || ^4.0.0", 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== + +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== + +yaml@^1.7.2: + version "1.10.2" + resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" + integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== + +yargs-parser@^10.1.0: + version "10.1.0" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-10.1.0.tgz#7202265b89f7e9e9f2e5765e0fe735a905edbaa8" + integrity sha512-VCIyR1wJoEBZUqk5PA+oOBF6ypbwh5aNB3I50guxAL/quggdfs4TtNHQrSazFA3fYZ+tEqfs0zIGlv0c/rgjbQ== + dependencies: + camelcase "^4.1.0" + +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@12.0.2: + version "12.0.2" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-12.0.2.tgz#fe58234369392af33ecbef53819171eff0f5aadc" + integrity sha512-e7SkEx6N6SIZ5c5H22RTZae61qtn3PYUE8JYbBFlK9sYmh3DMQ6E5ygtaG/2BW0JZi4WGgTR2IV5ChqlqrDGVQ== + dependencies: + cliui "^4.0.0" + decamelize "^2.0.0" + find-up "^3.0.0" + get-caller-file "^1.0.1" + os-locale "^3.0.0" + require-directory "^2.1.1" + require-main-filename "^1.0.1" + set-blocking "^2.0.0" + string-width "^2.0.0" + which-module "^2.0.0" + y18n "^3.2.1 || ^4.0.0" + yargs-parser "^10.1.0" + +yargs@^13.3.0: + 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" diff --git a/examples/create-react-app/resources/cacert.pem b/examples/create-react-app/resources/cacert.pem new file mode 100644 index 0000000..651694e --- /dev/null +++ b/examples/create-react-app/resources/cacert.pem @@ -0,0 +1,3466 @@ +## +## Bundle of CA Root Certificates +## +## Certificate data from Mozilla as of: Wed Jan 1 04:12:10 2020 GMT +## +## This is a bundle of X.509 certificates of public Certificate Authorities +## (CA). These were automatically extracted from Mozilla's root certificates +## file (certdata.txt). This file can be found in the mozilla source tree: +## https://hg.mozilla.org/releases/mozilla-release/raw-file/default/security/nss/lib/ckfw/builtins/certdata.txt +## +## It contains the certificates in PEM format and therefore +## can be directly used with curl / libcurl / php_curl, or with +## an Apache+mod_ssl webserver for SSL client authentication. +## Just configure this file as the SSLCACertificateFile. +## +## Conversion done with mk-ca-bundle.pl version 1.27. +## SHA256: f3bdcd74612952da8476a9d4147f50b29ad0710b7dd95b4c8690500209986d70 +## + + +GlobalSign Root CA +================== +-----BEGIN CERTIFICATE----- +MIIDdTCCAl2gAwIBAgILBAAAAAABFUtaw5QwDQYJKoZIhvcNAQEFBQAwVzELMAkGA1UEBhMCQkUx +GTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYtc2ExEDAOBgNVBAsTB1Jvb3QgQ0ExGzAZBgNVBAMTEkds +b2JhbFNpZ24gUm9vdCBDQTAeFw05ODA5MDExMjAwMDBaFw0yODAxMjgxMjAwMDBaMFcxCzAJBgNV +BAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMRAwDgYDVQQLEwdSb290IENBMRswGQYD +VQQDExJHbG9iYWxTaWduIFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDa +DuaZjc6j40+Kfvvxi4Mla+pIH/EqsLmVEQS98GPR4mdmzxzdzxtIK+6NiY6arymAZavpxy0Sy6sc +THAHoT0KMM0VjU/43dSMUBUc71DuxC73/OlS8pF94G3VNTCOXkNz8kHp1Wrjsok6Vjk4bwY8iGlb +Kk3Fp1S4bInMm/k8yuX9ifUSPJJ4ltbcdG6TRGHRjcdGsnUOhugZitVtbNV4FpWi6cgKOOvyJBNP +c1STE4U6G7weNLWLBYy5d4ux2x8gkasJU26Qzns3dLlwR5EiUWMWea6xrkEmCMgZK9FGqkjWZCrX +gzT/LCrBbBlDSgeF59N89iFo7+ryUp9/k5DPAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNV +HRMBAf8EBTADAQH/MB0GA1UdDgQWBBRge2YaRQ2XyolQL30EzTSo//z9SzANBgkqhkiG9w0BAQUF +AAOCAQEA1nPnfE920I2/7LqivjTFKDK1fPxsnCwrvQmeU79rXqoRSLblCKOzyj1hTdNGCbM+w6Dj +Y1Ub8rrvrTnhQ7k4o+YviiY776BQVvnGCv04zcQLcFGUl5gE38NflNUVyRRBnMRddWQVDf9VMOyG +j/8N7yy5Y0b2qvzfvGn9LhJIZJrglfCm7ymPAbEVtQwdpf5pLGkkeB6zpxxxYu7KyJesF12KwvhH +hm4qxFYxldBniYUr+WymXUadDKqC5JlR3XC321Y9YeRq4VzW9v493kHMB65jUr9TU/Qr6cf9tveC +X4XSQRjbgbMEHMUfpIBvFSDJ3gyICh3WZlXi/EjJKSZp4A== +-----END CERTIFICATE----- + +GlobalSign Root CA - R2 +======================= +-----BEGIN CERTIFICATE----- +MIIDujCCAqKgAwIBAgILBAAAAAABD4Ym5g0wDQYJKoZIhvcNAQEFBQAwTDEgMB4GA1UECxMXR2xv +YmFsU2lnbiBSb290IENBIC0gUjIxEzARBgNVBAoTCkdsb2JhbFNpZ24xEzARBgNVBAMTCkdsb2Jh +bFNpZ24wHhcNMDYxMjE1MDgwMDAwWhcNMjExMjE1MDgwMDAwWjBMMSAwHgYDVQQLExdHbG9iYWxT +aWduIFJvb3QgQ0EgLSBSMjETMBEGA1UEChMKR2xvYmFsU2lnbjETMBEGA1UEAxMKR2xvYmFsU2ln +bjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKbPJA6+Lm8omUVCxKs+IVSbC9N/hHD6 +ErPLv4dfxn+G07IwXNb9rfF73OX4YJYJkhD10FPe+3t+c4isUoh7SqbKSaZeqKeMWhG8eoLrvozp +s6yWJQeXSpkqBy+0Hne/ig+1AnwblrjFuTosvNYSuetZfeLQBoZfXklqtTleiDTsvHgMCJiEbKjN +S7SgfQx5TfC4LcshytVsW33hoCmEofnTlEnLJGKRILzdC9XZzPnqJworc5HGnRusyMvo4KD0L5CL +TfuwNhv2GXqF4G3yYROIXJ/gkwpRl4pazq+r1feqCapgvdzZX99yqWATXgAByUr6P6TqBwMhAo6C +ygPCm48CAwEAAaOBnDCBmTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4E +FgQUm+IHV2ccHsBqBt5ZtJot39wZhi4wNgYDVR0fBC8wLTAroCmgJ4YlaHR0cDovL2NybC5nbG9i +YWxzaWduLm5ldC9yb290LXIyLmNybDAfBgNVHSMEGDAWgBSb4gdXZxwewGoG3lm0mi3f3BmGLjAN +BgkqhkiG9w0BAQUFAAOCAQEAmYFThxxol4aR7OBKuEQLq4GsJ0/WwbgcQ3izDJr86iw8bmEbTUsp +9Z8FHSbBuOmDAGJFtqkIk7mpM0sYmsL4h4hO291xNBrBVNpGP+DTKqttVCL1OmLNIG+6KYnX3ZHu +01yiPqFbQfXf5WRDLenVOavSot+3i9DAgBkcRcAtjOj4LaR0VknFBbVPFd5uRHg5h6h+u/N5GJG7 +9G+dwfCMNYxdAfvDbbnvRG15RjF+Cv6pgsH/76tuIMRQyV+dTZsXjAzlAcmgQWpzU/qlULRuJQ/7 +TBj0/VLZjmmx6BEP3ojY+x1J96relc8geMJgEtslQIxq/H5COEBkEveegeGTLg== +-----END CERTIFICATE----- + +Verisign Class 3 Public Primary Certification Authority - G3 +============================================================ +-----BEGIN CERTIFICATE----- +MIIEGjCCAwICEQCbfgZJoz5iudXukEhxKe9XMA0GCSqGSIb3DQEBBQUAMIHKMQswCQYDVQQGEwJV +UzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRydXN0IE5ldHdv +cmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWduLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNl +IG9ubHkxRTBDBgNVBAMTPFZlcmlTaWduIENsYXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNh +dGlvbiBBdXRob3JpdHkgLSBHMzAeFw05OTEwMDEwMDAwMDBaFw0zNjA3MTYyMzU5NTlaMIHKMQsw +CQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRy +dXN0IE5ldHdvcmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWduLCBJbmMuIC0gRm9yIGF1dGhv +cml6ZWQgdXNlIG9ubHkxRTBDBgNVBAMTPFZlcmlTaWduIENsYXNzIDMgUHVibGljIFByaW1hcnkg +Q2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBHMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC +ggEBAMu6nFL8eB8aHm8bN3O9+MlrlBIwT/A2R/XQkQr1F8ilYcEWQE37imGQ5XYgwREGfassbqb1 +EUGO+i2tKmFZpGcmTNDovFJbcCAEWNF6yaRpvIMXZK0Fi7zQWM6NjPXr8EJJC52XJ2cybuGukxUc +cLwgTS8Y3pKI6GyFVxEa6X7jJhFUokWWVYPKMIno3Nij7SqAP395ZVc+FSBmCC+Vk7+qRy+oRpfw +EuL+wgorUeZ25rdGt+INpsyow0xZVYnm6FNcHOqd8GIWC6fJXwzw3sJ2zq/3avL6QaaiMxTJ5Xpj +055iN9WFZZ4O5lMkdBteHRJTW8cs54NJOxWuimi5V5cCAwEAATANBgkqhkiG9w0BAQUFAAOCAQEA +ERSWwauSCPc/L8my/uRan2Te2yFPhpk0djZX3dAVL8WtfxUfN2JzPtTnX84XA9s1+ivbrmAJXx5f +j267Cz3qWhMeDGBvtcC1IyIuBwvLqXTLR7sdwdela8wv0kL9Sd2nic9TutoAWii/gt/4uhMdUIaC +/Y4wjylGsB49Ndo4YhYYSq3mtlFs3q9i6wHQHiT+eo8SGhJouPtmmRQURVyu565pF4ErWjfJXir0 +xuKhXFSbplQAz/DxwceYMBo7Nhbbo27q/a2ywtrvAkcTisDxszGtTxzhT5yvDwyd93gN2PQ1VoDa +t20Xj50egWTh/sVFuq1ruQp6Tk9LhO5L8X3dEQ== +-----END CERTIFICATE----- + +Entrust.net Premium 2048 Secure Server CA +========================================= +-----BEGIN CERTIFICATE----- +MIIEKjCCAxKgAwIBAgIEOGPe+DANBgkqhkiG9w0BAQUFADCBtDEUMBIGA1UEChMLRW50cnVzdC5u +ZXQxQDA+BgNVBAsUN3d3dy5lbnRydXN0Lm5ldC9DUFNfMjA0OCBpbmNvcnAuIGJ5IHJlZi4gKGxp +bWl0cyBsaWFiLikxJTAjBgNVBAsTHChjKSAxOTk5IEVudHJ1c3QubmV0IExpbWl0ZWQxMzAxBgNV +BAMTKkVudHJ1c3QubmV0IENlcnRpZmljYXRpb24gQXV0aG9yaXR5ICgyMDQ4KTAeFw05OTEyMjQx +NzUwNTFaFw0yOTA3MjQxNDE1MTJaMIG0MRQwEgYDVQQKEwtFbnRydXN0Lm5ldDFAMD4GA1UECxQ3 +d3d3LmVudHJ1c3QubmV0L0NQU18yMDQ4IGluY29ycC4gYnkgcmVmLiAobGltaXRzIGxpYWIuKTEl +MCMGA1UECxMcKGMpIDE5OTkgRW50cnVzdC5uZXQgTGltaXRlZDEzMDEGA1UEAxMqRW50cnVzdC5u +ZXQgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgKDIwNDgpMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A +MIIBCgKCAQEArU1LqRKGsuqjIAcVFmQqK0vRvwtKTY7tgHalZ7d4QMBzQshowNtTK91euHaYNZOL +Gp18EzoOH1u3Hs/lJBQesYGpjX24zGtLA/ECDNyrpUAkAH90lKGdCCmziAv1h3edVc3kw37XamSr +hRSGlVuXMlBvPci6Zgzj/L24ScF2iUkZ/cCovYmjZy/Gn7xxGWC4LeksyZB2ZnuU4q941mVTXTzW +nLLPKQP5L6RQstRIzgUyVYr9smRMDuSYB3Xbf9+5CFVghTAp+XtIpGmG4zU/HoZdenoVve8AjhUi +VBcAkCaTvA5JaJG/+EfTnZVCwQ5N328mz8MYIWJmQ3DW1cAH4QIDAQABo0IwQDAOBgNVHQ8BAf8E +BAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUVeSB0RGAvtiJuQijMfmhJAkWuXAwDQYJ +KoZIhvcNAQEFBQADggEBADubj1abMOdTmXx6eadNl9cZlZD7Bh/KM3xGY4+WZiT6QBshJ8rmcnPy +T/4xmf3IDExoU8aAghOY+rat2l098c5u9hURlIIM7j+VrxGrD9cv3h8Dj1csHsm7mhpElesYT6Yf +zX1XEC+bBAlahLVu2B064dae0Wx5XnkcFMXj0EyTO2U87d89vqbllRrDtRnDvV5bu/8j72gZyxKT +J1wDLW8w0B62GqzeWvfRqqgnpv55gcR5mTNXuhKwqeBCbJPKVt7+bYQLCIt+jerXmCHG8+c8eS9e +nNFMFY3h7CI3zJpDC5fcgJCNs2ebb0gIFVbPv/ErfF6adulZkMV8gzURZVE= +-----END CERTIFICATE----- + +Baltimore CyberTrust Root +========================= +-----BEGIN CERTIFICATE----- +MIIDdzCCAl+gAwIBAgIEAgAAuTANBgkqhkiG9w0BAQUFADBaMQswCQYDVQQGEwJJRTESMBAGA1UE +ChMJQmFsdGltb3JlMRMwEQYDVQQLEwpDeWJlclRydXN0MSIwIAYDVQQDExlCYWx0aW1vcmUgQ3li +ZXJUcnVzdCBSb290MB4XDTAwMDUxMjE4NDYwMFoXDTI1MDUxMjIzNTkwMFowWjELMAkGA1UEBhMC +SUUxEjAQBgNVBAoTCUJhbHRpbW9yZTETMBEGA1UECxMKQ3liZXJUcnVzdDEiMCAGA1UEAxMZQmFs +dGltb3JlIEN5YmVyVHJ1c3QgUm9vdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKME +uyKrmD1X6CZymrV51Cni4eiVgLGw41uOKymaZN+hXe2wCQVt2yguzmKiYv60iNoS6zjrIZ3AQSsB +UnuId9Mcj8e6uYi1agnnc+gRQKfRzMpijS3ljwumUNKoUMMo6vWrJYeKmpYcqWe4PwzV9/lSEy/C +G9VwcPCPwBLKBsua4dnKM3p31vjsufFoREJIE9LAwqSuXmD+tqYF/LTdB1kC1FkYmGP1pWPgkAx9 +XbIGevOF6uvUA65ehD5f/xXtabz5OTZydc93Uk3zyZAsuT3lySNTPx8kmCFcB5kpvcY67Oduhjpr +l3RjM71oGDHweI12v/yejl0qhqdNkNwnGjkCAwEAAaNFMEMwHQYDVR0OBBYEFOWdWTCCR1jMrPoI +VDaGezq1BE3wMBIGA1UdEwEB/wQIMAYBAf8CAQMwDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3DQEB +BQUAA4IBAQCFDF2O5G9RaEIFoN27TyclhAO992T9Ldcw46QQF+vaKSm2eT929hkTI7gQCvlYpNRh +cL0EYWoSihfVCr3FvDB81ukMJY2GQE/szKN+OMY3EU/t3WgxjkzSswF07r51XgdIGn9w/xZchMB5 +hbgF/X++ZRGjD8ACtPhSNzkE1akxehi/oCr0Epn3o0WC4zxe9Z2etciefC7IpJ5OCBRLbf1wbWsa +Y71k5h+3zvDyny67G7fyUIhzksLi4xaNmjICq44Y3ekQEe5+NauQrz4wlHrQMz2nZQ/1/I6eYs9H +RCwBXbsdtTLSR9I4LtD+gdwyah617jzV/OeBHRnDJELqYzmp +-----END CERTIFICATE----- + +AddTrust External Root +====================== +-----BEGIN CERTIFICATE----- +MIIENjCCAx6gAwIBAgIBATANBgkqhkiG9w0BAQUFADBvMQswCQYDVQQGEwJTRTEUMBIGA1UEChML +QWRkVHJ1c3QgQUIxJjAkBgNVBAsTHUFkZFRydXN0IEV4dGVybmFsIFRUUCBOZXR3b3JrMSIwIAYD +VQQDExlBZGRUcnVzdCBFeHRlcm5hbCBDQSBSb290MB4XDTAwMDUzMDEwNDgzOFoXDTIwMDUzMDEw +NDgzOFowbzELMAkGA1UEBhMCU0UxFDASBgNVBAoTC0FkZFRydXN0IEFCMSYwJAYDVQQLEx1BZGRU +cnVzdCBFeHRlcm5hbCBUVFAgTmV0d29yazEiMCAGA1UEAxMZQWRkVHJ1c3QgRXh0ZXJuYWwgQ0Eg +Um9vdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALf3GjPm8gAELTngTlvtH7xsD821 ++iO2zt6bETOXpClMfZOfvUq8k+0DGuOPz+VtUFrWlymUWoCwSXrbLpX9uMq/NzgtHj6RQa1wVsfw +Tz/oMp50ysiQVOnGXw94nZpAPA6sYapeFI+eh6FqUNzXmk6vBbOmcZSccbNQYArHE504B4YCqOmo +aSYYkKtMsE8jqzpPhNjfzp/haW+710LXa0Tkx63ubUFfclpxCDezeWWkWaCUN/cALw3CknLa0Dhy +2xSoRcRdKn23tNbE7qzNE0S3ySvdQwAl+mG5aWpYIxG3pzOPVnVZ9c0p10a3CitlttNCbxWyuHv7 +7+ldU9U0WicCAwEAAaOB3DCB2TAdBgNVHQ4EFgQUrb2YejS0Jvf6xCZU7wO94CTLVBowCwYDVR0P +BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wgZkGA1UdIwSBkTCBjoAUrb2YejS0Jvf6xCZU7wO94CTL +VBqhc6RxMG8xCzAJBgNVBAYTAlNFMRQwEgYDVQQKEwtBZGRUcnVzdCBBQjEmMCQGA1UECxMdQWRk +VHJ1c3QgRXh0ZXJuYWwgVFRQIE5ldHdvcmsxIjAgBgNVBAMTGUFkZFRydXN0IEV4dGVybmFsIENB +IFJvb3SCAQEwDQYJKoZIhvcNAQEFBQADggEBALCb4IUlwtYj4g+WBpKdQZic2YR5gdkeWxQHIzZl +j7DYd7usQWxHYINRsPkyPef89iYTx4AWpb9a/IfPeHmJIZriTAcKhjW88t5RxNKWt9x+Tu5w/Rw5 +6wwCURQtjr0W4MHfRnXnJK3s9EK0hZNwEGe6nQY1ShjTK3rMUUKhemPR5ruhxSvCNr4TDea9Y355 +e6cJDUCrat2PisP29owaQgVR1EX1n6diIWgVIEM8med8vSTYqZEXc4g/VhsxOBi0cQ+azcgOno4u +G+GMmIPLHzHxREzGBHNJdmAPx/i9F4BrLunMTA5amnkPIAou1Z5jJh5VkpTYghdae9C8x49OhgQ= +-----END CERTIFICATE----- + +Entrust Root Certification Authority +==================================== +-----BEGIN CERTIFICATE----- +MIIEkTCCA3mgAwIBAgIERWtQVDANBgkqhkiG9w0BAQUFADCBsDELMAkGA1UEBhMCVVMxFjAUBgNV +BAoTDUVudHJ1c3QsIEluYy4xOTA3BgNVBAsTMHd3dy5lbnRydXN0Lm5ldC9DUFMgaXMgaW5jb3Jw +b3JhdGVkIGJ5IHJlZmVyZW5jZTEfMB0GA1UECxMWKGMpIDIwMDYgRW50cnVzdCwgSW5jLjEtMCsG +A1UEAxMkRW50cnVzdCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTA2MTEyNzIwMjM0 +MloXDTI2MTEyNzIwNTM0MlowgbAxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1FbnRydXN0LCBJbmMu +MTkwNwYDVQQLEzB3d3cuZW50cnVzdC5uZXQvQ1BTIGlzIGluY29ycG9yYXRlZCBieSByZWZlcmVu +Y2UxHzAdBgNVBAsTFihjKSAyMDA2IEVudHJ1c3QsIEluYy4xLTArBgNVBAMTJEVudHJ1c3QgUm9v +dCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB +ALaVtkNC+sZtKm9I35RMOVcF7sN5EUFoNu3s/poBj6E4KPz3EEZmLk0eGrEaTsbRwJWIsMn/MYsz +A9u3g3s+IIRe7bJWKKf44LlAcTfFy0cOlypowCKVYhXbR9n10Cv/gkvJrT7eTNuQgFA/CYqEAOww +Cj0Yzfv9KlmaI5UXLEWeH25DeW0MXJj+SKfFI0dcXv1u5x609mhF0YaDW6KKjbHjKYD+JXGIrb68 +j6xSlkuqUY3kEzEZ6E5Nn9uss2rVvDlUccp6en+Q3X0dgNmBu1kmwhH+5pPi94DkZfs0Nw4pgHBN +rziGLp5/V6+eF67rHMsoIV+2HNjnogQi+dPa2MsCAwEAAaOBsDCBrTAOBgNVHQ8BAf8EBAMCAQYw +DwYDVR0TAQH/BAUwAwEB/zArBgNVHRAEJDAigA8yMDA2MTEyNzIwMjM0MlqBDzIwMjYxMTI3MjA1 +MzQyWjAfBgNVHSMEGDAWgBRokORnpKZTgMeGZqTx90tD+4S9bTAdBgNVHQ4EFgQUaJDkZ6SmU4DH +hmak8fdLQ/uEvW0wHQYJKoZIhvZ9B0EABBAwDhsIVjcuMTo0LjADAgSQMA0GCSqGSIb3DQEBBQUA +A4IBAQCT1DCw1wMgKtD5Y+iRDAUgqV8ZyntyTtSx29CW+1RaGSwMCPeyvIWonX9tO1KzKtvn1ISM +Y/YPyyYBkVBs9F8U4pN0wBOeMDpQ47RgxRzwIkSNcUesyBrJ6ZuaAGAT/3B+XxFNSRuzFVJ7yVTa +v52Vr2ua2J7p8eRDjeIRRDq/r72DQnNSi6q7pynP9WQcCk3RvKqsnyrQ/39/2n3qse0wJcGE2jTS +W3iDVuycNsMm4hH2Z0kdkquM++v/eu6FSqdQgPCnXEqULl8FmTxSQeDNtGPPAUO6nIPcj2A781q0 +tHuu2guQOHXvgR1m0vdXcDazv/wor3ElhVsT/h5/WrQ8 +-----END CERTIFICATE----- + +GeoTrust Global CA +================== +-----BEGIN CERTIFICATE----- +MIIDVDCCAjygAwIBAgIDAjRWMA0GCSqGSIb3DQEBBQUAMEIxCzAJBgNVBAYTAlVTMRYwFAYDVQQK +Ew1HZW9UcnVzdCBJbmMuMRswGQYDVQQDExJHZW9UcnVzdCBHbG9iYWwgQ0EwHhcNMDIwNTIxMDQw +MDAwWhcNMjIwNTIxMDQwMDAwWjBCMQswCQYDVQQGEwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5j +LjEbMBkGA1UEAxMSR2VvVHJ1c3QgR2xvYmFsIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB +CgKCAQEA2swYYzD99BcjGlZ+W988bDjkcbd4kdS8odhM+KhDtgPpTSEHCIjaWC9mOSm9BXiLnTjo +BbdqfnGk5sRgprDvgOSJKA+eJdbtg/OtppHHmMlCGDUUna2YRpIuT8rxh0PBFpVXLVDviS2Aelet +8u5fa9IAjbkU+BQVNdnARqN7csiRv8lVK83Qlz6cJmTM386DGXHKTubU1XupGc1V3sjs0l44U+Vc +T4wt/lAjNvxm5suOpDkZALeVAjmRCw7+OC7RHQWa9k0+bw8HHa8sHo9gOeL6NlMTOdReJivbPagU +vTLrGAMoUgRx5aszPeE4uwc2hGKceeoWMPRfwCvocWvk+QIDAQABo1MwUTAPBgNVHRMBAf8EBTAD +AQH/MB0GA1UdDgQWBBTAephojYn7qwVkDBF9qn1luMrMTjAfBgNVHSMEGDAWgBTAephojYn7qwVk +DBF9qn1luMrMTjANBgkqhkiG9w0BAQUFAAOCAQEANeMpauUvXVSOKVCUn5kaFOSPeCpilKInZ57Q +zxpeR+nBsqTP3UEaBU6bS+5Kb1VSsyShNwrrZHYqLizz/Tt1kL/6cdjHPTfStQWVYrmm3ok9Nns4 +d0iXrKYgjy6myQzCsplFAMfOEVEiIuCl6rYVSAlk6l5PdPcFPseKUgzbFbS9bZvlxrFUaKnjaZC2 +mqUPuLk/IH2uSrW4nOQdtqvmlKXBx4Ot2/Unhw4EbNX/3aBd7YdStysVAq45pmp06drE57xNNB6p +XE0zX5IJL4hmXXeXxx12E6nV5fEWCRE11azbJHFwLJhWC9kXtNHjUStedejV0NxPNO3CBWaAocvm +Mw== +-----END CERTIFICATE----- + +GeoTrust Universal CA +===================== +-----BEGIN CERTIFICATE----- +MIIFaDCCA1CgAwIBAgIBATANBgkqhkiG9w0BAQUFADBFMQswCQYDVQQGEwJVUzEWMBQGA1UEChMN +R2VvVHJ1c3QgSW5jLjEeMBwGA1UEAxMVR2VvVHJ1c3QgVW5pdmVyc2FsIENBMB4XDTA0MDMwNDA1 +MDAwMFoXDTI5MDMwNDA1MDAwMFowRTELMAkGA1UEBhMCVVMxFjAUBgNVBAoTDUdlb1RydXN0IElu +Yy4xHjAcBgNVBAMTFUdlb1RydXN0IFVuaXZlcnNhbCBDQTCCAiIwDQYJKoZIhvcNAQEBBQADggIP +ADCCAgoCggIBAKYVVaCjxuAfjJ0hUNfBvitbtaSeodlyWL0AG0y/YckUHUWCq8YdgNY96xCcOq9t +JPi8cQGeBvV8Xx7BDlXKg5pZMK4ZyzBIle0iN430SppyZj6tlcDgFgDgEB8rMQ7XlFTTQjOgNB0e +RXbdT8oYN+yFFXoZCPzVx5zw8qkuEKmS5j1YPakWaDwvdSEYfyh3peFhF7em6fgemdtzbvQKoiFs +7tqqhZJmr/Z6a4LauiIINQ/PQvE1+mrufislzDoR5G2vc7J2Ha3QsnhnGqQ5HFELZ1aD/ThdDc7d +8Lsrlh/eezJS/R27tQahsiFepdaVaH/wmZ7cRQg+59IJDTWU3YBOU5fXtQlEIGQWFwMCTFMNaN7V +qnJNk22CDtucvc+081xdVHppCZbW2xHBjXWotM85yM48vCR85mLK4b19p71XZQvk/iXttmkQ3Cga +Rr0BHdCXteGYO8A3ZNY9lO4L4fUorgtWv3GLIylBjobFS1J72HGrH4oVpjuDWtdYAVHGTEHZf9hB +Z3KiKN9gg6meyHv8U3NyWfWTehd2Ds735VzZC1U0oqpbtWpU5xPKV+yXbfReBi9Fi1jUIxaS5BZu +KGNZMN9QAZxjiRqf2xeUgnA3wySemkfWWspOqGmJch+RbNt+nhutxx9z3SxPGWX9f5NAEC7S8O08 +ni4oPmkmM8V7AgMBAAGjYzBhMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFNq7LqqwDLiIJlF0 +XG0D08DYj3rWMB8GA1UdIwQYMBaAFNq7LqqwDLiIJlF0XG0D08DYj3rWMA4GA1UdDwEB/wQEAwIB +hjANBgkqhkiG9w0BAQUFAAOCAgEAMXjmx7XfuJRAyXHEqDXsRh3ChfMoWIawC/yOsjmPRFWrZIRc +aanQmjg8+uUfNeVE44B5lGiku8SfPeE0zTBGi1QrlaXv9z+ZhP015s8xxtxqv6fXIwjhmF7DWgh2 +qaavdy+3YL1ERmrvl/9zlcGO6JP7/TG37FcREUWbMPEaiDnBTzynANXH/KttgCJwpQzgXQQpAvvL +oJHRfNbDflDVnVi+QTjruXU8FdmbyUqDWcDaU/0zuzYYm4UPFd3uLax2k7nZAY1IEKj79TiG8dsK +xr2EoyNB3tZ3b4XUhRxQ4K5RirqNPnbiucon8l+f725ZDQbYKxek0nxru18UGkiPGkzns0ccjkxF +KyDuSN/n3QmOGKjaQI2SJhFTYXNd673nxE0pN2HrrDktZy4W1vUAg4WhzH92xH3kt0tm7wNFYGm2 +DFKWkoRepqO1pD4r2czYG0eq8kTaT/kD6PAUyz/zg97QwVTjt+gKN02LIFkDMBmhLMi9ER/frslK +xfMnZmaGrGiR/9nmUxwPi1xpZQomyB40w11Re9epnAahNt3ViZS82eQtDF4JbAiXfKM9fJP/P6EU +p8+1Xevb2xzEdt+Iub1FBZUbrvxGakyvSOPOrg/SfuvmbJxPgWp6ZKy7PtXny3YuxadIwVyQD8vI +P/rmMuGNG2+k5o7Y+SlIis5z/iw= +-----END CERTIFICATE----- + +GeoTrust Universal CA 2 +======================= +-----BEGIN CERTIFICATE----- +MIIFbDCCA1SgAwIBAgIBATANBgkqhkiG9w0BAQUFADBHMQswCQYDVQQGEwJVUzEWMBQGA1UEChMN +R2VvVHJ1c3QgSW5jLjEgMB4GA1UEAxMXR2VvVHJ1c3QgVW5pdmVyc2FsIENBIDIwHhcNMDQwMzA0 +MDUwMDAwWhcNMjkwMzA0MDUwMDAwWjBHMQswCQYDVQQGEwJVUzEWMBQGA1UEChMNR2VvVHJ1c3Qg +SW5jLjEgMB4GA1UEAxMXR2VvVHJ1c3QgVW5pdmVyc2FsIENBIDIwggIiMA0GCSqGSIb3DQEBAQUA +A4ICDwAwggIKAoICAQCzVFLByT7y2dyxUxpZKeexw0Uo5dfR7cXFS6GqdHtXr0om/Nj1XqduGdt0 +DE81WzILAePb63p3NeqqWuDW6KFXlPCQo3RWlEQwAx5cTiuFJnSCegx2oG9NzkEtoBUGFF+3Qs17 +j1hhNNwqCPkuwwGmIkQcTAeC5lvO0Ep8BNMZcyfwqph/Lq9O64ceJHdqXbboW0W63MOhBW9Wjo8Q +JqVJwy7XQYci4E+GymC16qFjwAGXEHm9ADwSbSsVsaxLse4YuU6W3Nx2/zu+z18DwPw76L5GG//a +QMJS9/7jOvdqdzXQ2o3rXhhqMcceujwbKNZrVMaqW9eiLBsZzKIC9ptZvTdrhrVtgrrY6slWvKk2 +WP0+GfPtDCapkzj4T8FdIgbQl+rhrcZV4IErKIM6+vR7IVEAvlI4zs1meaj0gVbi0IMJR1FbUGrP +20gaXT73y/Zl92zxlfgCOzJWgjl6W70viRu/obTo/3+NjN8D8WBOWBFM66M/ECuDmgFz2ZRthAAn +ZqzwcEAJQpKtT5MNYQlRJNiS1QuUYbKHsu3/mjX/hVTK7URDrBs8FmtISgocQIgfksILAAX/8sgC +SqSqqcyZlpwvWOB94b67B9xfBHJcMTTD7F8t4D1kkCLm0ey4Lt1ZrtmhN79UNdxzMk+MBB4zsslG +8dhcyFVQyWi9qLo2CQIDAQABo2MwYTAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBR281Xh+qQ2 ++/CfXGJx7Tz0RzgQKzAfBgNVHSMEGDAWgBR281Xh+qQ2+/CfXGJx7Tz0RzgQKzAOBgNVHQ8BAf8E +BAMCAYYwDQYJKoZIhvcNAQEFBQADggIBAGbBxiPz2eAubl/oz66wsCVNK/g7WJtAJDday6sWSf+z +dXkzoS9tcBc0kf5nfo/sm+VegqlVHy/c1FEHEv6sFj4sNcZj/NwQ6w2jqtB8zNHQL1EuxBRa3ugZ +4T7GzKQp5y6EqgYweHZUcyiYWTjgAA1i00J9IZ+uPTqM1fp3DRgrFg5fNuH8KrUwJM/gYwx7WBr+ +mbpCErGR9Hxo4sjoryzqyX6uuyo9DRXcNJW2GHSoag/HtPQTxORb7QrSpJdMKu0vbBKJPfEncKpq +A1Ihn0CoZ1Dy81of398j9tx4TuaYT1U6U+Pv8vSfx3zYWK8pIpe44L2RLrB27FcRz+8pRPPphXpg +Y+RdM4kX2TGq2tbzGDVyz4crL2MjhF2EjD9XoIj8mZEoJmmZ1I+XRL6O1UixpCgp8RW04eWe3fiP +pm8m1wk8OhwRDqZsN/etRIcsKMfYdIKz0G9KV7s1KSegi+ghp4dkNl3M2Basx7InQJJVOCiNUW7d +FGdTbHFcJoRNdVq2fmBWqU2t+5sel/MN2dKXVHfaPRK34B7vCAas+YWH6aLcr34YEoP9VhdBLtUp +gn2Z9DH2canPLAEnpQW5qrJITirvn5NSUZU8UnOOVkwXQMAJKOSLakhT2+zNVVXxxvjpoixMptEm +X36vWkzaH6byHCx+rgIW0lbQL1dTR+iS +-----END CERTIFICATE----- + +Comodo AAA Services root +======================== +-----BEGIN CERTIFICATE----- +MIIEMjCCAxqgAwIBAgIBATANBgkqhkiG9w0BAQUFADB7MQswCQYDVQQGEwJHQjEbMBkGA1UECAwS +R3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHDAdTYWxmb3JkMRowGAYDVQQKDBFDb21vZG8gQ0Eg +TGltaXRlZDEhMB8GA1UEAwwYQUFBIENlcnRpZmljYXRlIFNlcnZpY2VzMB4XDTA0MDEwMTAwMDAw +MFoXDTI4MTIzMTIzNTk1OVowezELMAkGA1UEBhMCR0IxGzAZBgNVBAgMEkdyZWF0ZXIgTWFuY2hl +c3RlcjEQMA4GA1UEBwwHU2FsZm9yZDEaMBgGA1UECgwRQ29tb2RvIENBIExpbWl0ZWQxITAfBgNV +BAMMGEFBQSBDZXJ0aWZpY2F0ZSBTZXJ2aWNlczCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC +ggEBAL5AnfRu4ep2hxxNRUSOvkbIgwadwSr+GB+O5AL686tdUIoWMQuaBtDFcCLNSS1UY8y2bmhG +C1Pqy0wkwLxyTurxFa70VJoSCsN6sjNg4tqJVfMiWPPe3M/vg4aijJRPn2jymJBGhCfHdr/jzDUs +i14HZGWCwEiwqJH5YZ92IFCokcdmtet4YgNW8IoaE+oxox6gmf049vYnMlhvB/VruPsUK6+3qszW +Y19zjNoFmag4qMsXeDZRrOme9Hg6jc8P2ULimAyrL58OAd7vn5lJ8S3frHRNG5i1R8XlKdH5kBjH +Ypy+g8cmez6KJcfA3Z3mNWgQIJ2P2N7Sw4ScDV7oL8kCAwEAAaOBwDCBvTAdBgNVHQ4EFgQUoBEK +Iz6W8Qfs4q8p74Klf9AwpLQwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wewYDVR0f +BHQwcjA4oDagNIYyaHR0cDovL2NybC5jb21vZG9jYS5jb20vQUFBQ2VydGlmaWNhdGVTZXJ2aWNl +cy5jcmwwNqA0oDKGMGh0dHA6Ly9jcmwuY29tb2RvLm5ldC9BQUFDZXJ0aWZpY2F0ZVNlcnZpY2Vz +LmNybDANBgkqhkiG9w0BAQUFAAOCAQEACFb8AvCb6P+k+tZ7xkSAzk/ExfYAWMymtrwUSWgEdujm +7l3sAg9g1o1QGE8mTgHj5rCl7r+8dFRBv/38ErjHT1r0iWAFf2C3BUrz9vHCv8S5dIa2LX1rzNLz +Rt0vxuBqw8M0Ayx9lt1awg6nCpnBBYurDC/zXDrPbDdVCYfeU0BsWO/8tqtlbgT2G9w84FoVxp7Z +8VlIMCFlA2zs6SFz7JsDoeA3raAVGI/6ugLOpyypEBMs1OUIJqsil2D4kF501KKaU73yqWjgom7C +12yxow+ev+to51byrvLjKzg6CYG1a4XXvi3tPxq3smPi9WIsgtRqAEFQ8TmDn5XpNpaYbg== +-----END CERTIFICATE----- + +QuoVadis Root CA +================ +-----BEGIN CERTIFICATE----- +MIIF0DCCBLigAwIBAgIEOrZQizANBgkqhkiG9w0BAQUFADB/MQswCQYDVQQGEwJCTTEZMBcGA1UE +ChMQUXVvVmFkaXMgTGltaXRlZDElMCMGA1UECxMcUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0 +eTEuMCwGA1UEAxMlUXVvVmFkaXMgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wMTAz +MTkxODMzMzNaFw0yMTAzMTcxODMzMzNaMH8xCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRp +cyBMaW1pdGVkMSUwIwYDVQQLExxSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MS4wLAYDVQQD +EyVRdW9WYWRpcyBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIIBIjANBgkqhkiG9w0BAQEF +AAOCAQ8AMIIBCgKCAQEAv2G1lVO6V/z68mcLOhrfEYBklbTRvM16z/Ypli4kVEAkOPcahdxYTMuk +J0KX0J+DisPkBgNbAKVRHnAEdOLB1Dqr1607BxgFjv2DrOpm2RgbaIr1VxqYuvXtdj182d6UajtL +F8HVj71lODqV0D1VNk7feVcxKh7YWWVJWCCYfqtffp/p1k3sg3Spx2zY7ilKhSoGFPlU5tPaZQeL +YzcS19Dsw3sgQUSj7cugF+FxZc4dZjH3dgEZyH0DWLaVSR2mEiboxgx24ONmy+pdpibu5cxfvWen +AScOospUxbF6lR1xHkopigPcakXBpBlebzbNw6Kwt/5cOOJSvPhEQ+aQuwIDAQABo4ICUjCCAk4w +PQYIKwYBBQUHAQEEMTAvMC0GCCsGAQUFBzABhiFodHRwczovL29jc3AucXVvdmFkaXNvZmZzaG9y +ZS5jb20wDwYDVR0TAQH/BAUwAwEB/zCCARoGA1UdIASCAREwggENMIIBCQYJKwYBBAG+WAABMIH7 +MIHUBggrBgEFBQcCAjCBxxqBxFJlbGlhbmNlIG9uIHRoZSBRdW9WYWRpcyBSb290IENlcnRpZmlj +YXRlIGJ5IGFueSBwYXJ0eSBhc3N1bWVzIGFjY2VwdGFuY2Ugb2YgdGhlIHRoZW4gYXBwbGljYWJs +ZSBzdGFuZGFyZCB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZiB1c2UsIGNlcnRpZmljYXRpb24gcHJh +Y3RpY2VzLCBhbmQgdGhlIFF1b1ZhZGlzIENlcnRpZmljYXRlIFBvbGljeS4wIgYIKwYBBQUHAgEW +Fmh0dHA6Ly93d3cucXVvdmFkaXMuYm0wHQYDVR0OBBYEFItLbe3TKbkGGew5Oanwl4Rqy+/fMIGu +BgNVHSMEgaYwgaOAFItLbe3TKbkGGew5Oanwl4Rqy+/foYGEpIGBMH8xCzAJBgNVBAYTAkJNMRkw +FwYDVQQKExBRdW9WYWRpcyBMaW1pdGVkMSUwIwYDVQQLExxSb290IENlcnRpZmljYXRpb24gQXV0 +aG9yaXR5MS4wLAYDVQQDEyVRdW9WYWRpcyBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5ggQ6 +tlCLMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQUFAAOCAQEAitQUtf70mpKnGdSkfnIYj9lo +fFIk3WdvOXrEql494liwTXCYhGHoG+NpGA7O+0dQoE7/8CQfvbLO9Sf87C9TqnN7Az10buYWnuul +LsS/VidQK2K6vkscPFVcQR0kvoIgR13VRH56FmjffU1RcHhXHTMe/QKZnAzNCgVPx7uOpHX6Sm2x +gI4JVrmcGmD+XcHXetwReNDWXcG31a0ymQM6isxUJTkxgXsTIlG6Rmyhu576BGxJJnSP0nPrzDCi +5upZIof4l/UO/erMkqQWxFIY6iHOsfHmhIHluqmGKPJDWl0Snawe2ajlCmqnf6CHKc/yiU3U7MXi +5nrQNiOKSnQ2+Q== +-----END CERTIFICATE----- + +QuoVadis Root CA 2 +================== +-----BEGIN CERTIFICATE----- +MIIFtzCCA5+gAwIBAgICBQkwDQYJKoZIhvcNAQEFBQAwRTELMAkGA1UEBhMCQk0xGTAXBgNVBAoT +EFF1b1ZhZGlzIExpbWl0ZWQxGzAZBgNVBAMTElF1b1ZhZGlzIFJvb3QgQ0EgMjAeFw0wNjExMjQx +ODI3MDBaFw0zMTExMjQxODIzMzNaMEUxCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBM +aW1pdGVkMRswGQYDVQQDExJRdW9WYWRpcyBSb290IENBIDIwggIiMA0GCSqGSIb3DQEBAQUAA4IC +DwAwggIKAoICAQCaGMpLlA0ALa8DKYrwD4HIrkwZhR0In6spRIXzL4GtMh6QRr+jhiYaHv5+HBg6 +XJxgFyo6dIMzMH1hVBHL7avg5tKifvVrbxi3Cgst/ek+7wrGsxDp3MJGF/hd/aTa/55JWpzmM+Yk +lvc/ulsrHHo1wtZn/qtmUIttKGAr79dgw8eTvI02kfN/+NsRE8Scd3bBrrcCaoF6qUWD4gXmuVbB +lDePSHFjIuwXZQeVikvfj8ZaCuWw419eaxGrDPmF60Tp+ARz8un+XJiM9XOva7R+zdRcAitMOeGy +lZUtQofX1bOQQ7dsE/He3fbE+Ik/0XX1ksOR1YqI0JDs3G3eicJlcZaLDQP9nL9bFqyS2+r+eXyt +66/3FsvbzSUr5R/7mp/iUcw6UwxI5g69ybR2BlLmEROFcmMDBOAENisgGQLodKcftslWZvB1Jdxn +wQ5hYIizPtGo/KPaHbDRsSNU30R2be1B2MGyIrZTHN81Hdyhdyox5C315eXbyOD/5YDXC2Og/zOh +D7osFRXql7PSorW+8oyWHhqPHWykYTe5hnMz15eWniN9gqRMgeKh0bpnX5UHoycR7hYQe7xFSkyy +BNKr79X9DFHOUGoIMfmR2gyPZFwDwzqLID9ujWc9Otb+fVuIyV77zGHcizN300QyNQliBJIWENie +J0f7OyHj+OsdWwIDAQABo4GwMIGtMA8GA1UdEwEB/wQFMAMBAf8wCwYDVR0PBAQDAgEGMB0GA1Ud +DgQWBBQahGK8SEwzJQTU7tD2A8QZRtGUazBuBgNVHSMEZzBlgBQahGK8SEwzJQTU7tD2A8QZRtGU +a6FJpEcwRTELMAkGA1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxGzAZBgNVBAMT +ElF1b1ZhZGlzIFJvb3QgQ0EgMoICBQkwDQYJKoZIhvcNAQEFBQADggIBAD4KFk2fBluornFdLwUv +Z+YTRYPENvbzwCYMDbVHZF34tHLJRqUDGCdViXh9duqWNIAXINzng/iN/Ae42l9NLmeyhP3ZRPx3 +UIHmfLTJDQtyU/h2BwdBR5YM++CCJpNVjP4iH2BlfF/nJrP3MpCYUNQ3cVX2kiF495V5+vgtJodm +VjB3pjd4M1IQWK4/YY7yarHvGH5KWWPKjaJW1acvvFYfzznB4vsKqBUsfU16Y8Zsl0Q80m/DShcK ++JDSV6IZUaUtl0HaB0+pUNqQjZRG4T7wlP0QADj1O+hA4bRuVhogzG9Yje0uRY/W6ZM/57Es3zrW +IozchLsib9D45MY56QSIPMO661V6bYCZJPVsAfv4l7CUW+v90m/xd2gNNWQjrLhVoQPRTUIZ3Ph1 +WVaj+ahJefivDrkRoHy3au000LYmYjgahwz46P0u05B/B5EqHdZ+XIWDmbA4CD/pXvk1B+TJYm5X +f6dQlfe6yJvmjqIBxdZmv3lh8zwc4bmCXF2gw+nYSL0ZohEUGW6yhhtoPkg3Goi3XZZenMfvJ2II +4pEZXNLxId26F0KCl3GBUzGpn/Z9Yr9y4aOTHcyKJloJONDO1w2AFrR4pTqHTI2KpdVGl/IsELm8 +VCLAAVBpQ570su9t+Oza8eOx79+Rj1QqCyXBJhnEUhAFZdWCEOrCMc0u +-----END CERTIFICATE----- + +QuoVadis Root CA 3 +================== +-----BEGIN CERTIFICATE----- +MIIGnTCCBIWgAwIBAgICBcYwDQYJKoZIhvcNAQEFBQAwRTELMAkGA1UEBhMCQk0xGTAXBgNVBAoT +EFF1b1ZhZGlzIExpbWl0ZWQxGzAZBgNVBAMTElF1b1ZhZGlzIFJvb3QgQ0EgMzAeFw0wNjExMjQx +OTExMjNaFw0zMTExMjQxOTA2NDRaMEUxCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBM +aW1pdGVkMRswGQYDVQQDExJRdW9WYWRpcyBSb290IENBIDMwggIiMA0GCSqGSIb3DQEBAQUAA4IC +DwAwggIKAoICAQDMV0IWVJzmmNPTTe7+7cefQzlKZbPoFog02w1ZkXTPkrgEQK0CSzGrvI2RaNgg +DhoB4hp7Thdd4oq3P5kazethq8Jlph+3t723j/z9cI8LoGe+AaJZz3HmDyl2/7FWeUUrH556VOij +KTVopAFPD6QuN+8bv+OPEKhyq1hX51SGyMnzW9os2l2ObjyjPtr7guXd8lyyBTNvijbO0BNO/79K +DDRMpsMhvVAEVeuxu537RR5kFd5VAYwCdrXLoT9CabwvvWhDFlaJKjdhkf2mrk7AyxRllDdLkgbv +BNDInIjbC3uBr7E9KsRlOni27tyAsdLTmZw67mtaa7ONt9XOnMK+pUsvFrGeaDsGb659n/je7Mwp +p5ijJUMv7/FfJuGITfhebtfZFG4ZM2mnO4SJk8RTVROhUXhA+LjJou57ulJCg54U7QVSWllWp5f8 +nT8KKdjcT5EOE7zelaTfi5m+rJsziO+1ga8bxiJTyPbH7pcUsMV8eFLI8M5ud2CEpukqdiDtWAEX +MJPpGovgc2PZapKUSU60rUqFxKMiMPwJ7Wgic6aIDFUhWMXhOp8q3crhkODZc6tsgLjoC2SToJyM +Gf+z0gzskSaHirOi4XCPLArlzW1oUevaPwV/izLmE1xr/l9A4iLItLRkT9a6fUg+qGkM17uGcclz +uD87nSVL2v9A6wIDAQABo4IBlTCCAZEwDwYDVR0TAQH/BAUwAwEB/zCB4QYDVR0gBIHZMIHWMIHT +BgkrBgEEAb5YAAMwgcUwgZMGCCsGAQUFBwICMIGGGoGDQW55IHVzZSBvZiB0aGlzIENlcnRpZmlj +YXRlIGNvbnN0aXR1dGVzIGFjY2VwdGFuY2Ugb2YgdGhlIFF1b1ZhZGlzIFJvb3QgQ0EgMyBDZXJ0 +aWZpY2F0ZSBQb2xpY3kgLyBDZXJ0aWZpY2F0aW9uIFByYWN0aWNlIFN0YXRlbWVudC4wLQYIKwYB +BQUHAgEWIWh0dHA6Ly93d3cucXVvdmFkaXNnbG9iYWwuY29tL2NwczALBgNVHQ8EBAMCAQYwHQYD +VR0OBBYEFPLAE+CCQz777i9nMpY1XNu4ywLQMG4GA1UdIwRnMGWAFPLAE+CCQz777i9nMpY1XNu4 +ywLQoUmkRzBFMQswCQYDVQQGEwJCTTEZMBcGA1UEChMQUXVvVmFkaXMgTGltaXRlZDEbMBkGA1UE +AxMSUXVvVmFkaXMgUm9vdCBDQSAzggIFxjANBgkqhkiG9w0BAQUFAAOCAgEAT62gLEz6wPJv92ZV +qyM07ucp2sNbtrCD2dDQ4iH782CnO11gUyeim/YIIirnv6By5ZwkajGxkHon24QRiSemd1o417+s +hvzuXYO8BsbRd2sPbSQvS3pspweWyuOEn62Iix2rFo1bZhfZFvSLgNLd+LJ2w/w4E6oM3kJpK27z +POuAJ9v1pkQNn1pVWQvVDVJIxa6f8i+AxeoyUDUSly7B4f/xI4hROJ/yZlZ25w9Rl6VSDE1JUZU2 +Pb+iSwwQHYaZTKrzchGT5Or2m9qoXadNt54CrnMAyNojA+j56hl0YgCUyyIgvpSnWbWCar6ZeXqp +8kokUvd0/bpO5qgdAm6xDYBEwa7TIzdfu4V8K5Iu6H6li92Z4b8nby1dqnuH/grdS/yO9SbkbnBC +bjPsMZ57k8HkyWkaPcBrTiJt7qtYTcbQQcEr6k8Sh17rRdhs9ZgC06DYVYoGmRmioHfRMJ6szHXu +g/WwYjnPbFfiTNKRCw51KBuav/0aQ/HKd/s7j2G4aSgWQgRecCocIdiP4b0jWy10QJLZYxkNc91p +vGJHvOB0K7Lrfb5BG7XARsWhIstfTsEokt4YutUqKLsRixeTmJlglFwjz1onl14LBQaTNx47aTbr +qZ5hHY8y2o4M1nQ+ewkk2gF3R8Q7zTSMmfXK4SVhM7JZG+Ju1zdXtg2pEto= +-----END CERTIFICATE----- + +Security Communication Root CA +============================== +-----BEGIN CERTIFICATE----- +MIIDWjCCAkKgAwIBAgIBADANBgkqhkiG9w0BAQUFADBQMQswCQYDVQQGEwJKUDEYMBYGA1UEChMP +U0VDT00gVHJ1c3QubmV0MScwJQYDVQQLEx5TZWN1cml0eSBDb21tdW5pY2F0aW9uIFJvb3RDQTEw +HhcNMDMwOTMwMDQyMDQ5WhcNMjMwOTMwMDQyMDQ5WjBQMQswCQYDVQQGEwJKUDEYMBYGA1UEChMP +U0VDT00gVHJ1c3QubmV0MScwJQYDVQQLEx5TZWN1cml0eSBDb21tdW5pY2F0aW9uIFJvb3RDQTEw +ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCzs/5/022x7xZ8V6UMbXaKL0u/ZPtM7orw +8yl89f/uKuDp6bpbZCKamm8sOiZpUQWZJtzVHGpxxpp9Hp3dfGzGjGdnSj74cbAZJ6kJDKaVv0uM +DPpVmDvY6CKhS3E4eayXkmmziX7qIWgGmBSWh9JhNrxtJ1aeV+7AwFb9Ms+k2Y7CI9eNqPPYJayX +5HA49LY6tJ07lyZDo6G8SVlyTCMwhwFY9k6+HGhWZq/NQV3Is00qVUarH9oe4kA92819uZKAnDfd +DJZkndwi92SL32HeFZRSFaB9UslLqCHJxrHty8OVYNEP8Ktw+N/LTX7s1vqr2b1/VPKl6Xn62dZ2 +JChzAgMBAAGjPzA9MB0GA1UdDgQWBBSgc0mZaNyFW2XjmygvV5+9M7wHSDALBgNVHQ8EBAMCAQYw +DwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQUFAAOCAQEAaECpqLvkT115swW1F7NgE+vGkl3g +0dNq/vu+m22/xwVtWSDEHPC32oRYAmP6SBbvT6UL90qY8j+eG61Ha2POCEfrUj94nK9NrvjVT8+a +mCoQQTlSxN3Zmw7vkwGusi7KaEIkQmywszo+zenaSMQVy+n5Bw+SUEmK3TGXX8npN6o7WWWXlDLJ +s58+OmJYxUmtYg5xpTKqL8aJdkNAExNnPaJUJRDL8Try2frbSVa7pv6nQTXD4IhhyYjH3zYQIphZ +6rBK+1YWc26sTfcioU+tHXotRSflMMFe8toTyyVCUZVHA4xsIcx0Qu1T/zOLjw9XARYvz6buyXAi +FL39vmwLAw== +-----END CERTIFICATE----- + +Sonera Class 2 Root CA +====================== +-----BEGIN CERTIFICATE----- +MIIDIDCCAgigAwIBAgIBHTANBgkqhkiG9w0BAQUFADA5MQswCQYDVQQGEwJGSTEPMA0GA1UEChMG +U29uZXJhMRkwFwYDVQQDExBTb25lcmEgQ2xhc3MyIENBMB4XDTAxMDQwNjA3Mjk0MFoXDTIxMDQw +NjA3Mjk0MFowOTELMAkGA1UEBhMCRkkxDzANBgNVBAoTBlNvbmVyYTEZMBcGA1UEAxMQU29uZXJh +IENsYXNzMiBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJAXSjWdyvANlsdE+hY3 +/Ei9vX+ALTU74W+oZ6m/AxxNjG8yR9VBaKQTBME1DJqEQ/xcHf+Js+gXGM2RX/uJ4+q/Tl18GybT +dXnt5oTjV+WtKcT0OijnpXuENmmz/V52vaMtmdOQTiMofRhj8VQ7Jp12W5dCsv+u8E7s3TmVToMG +f+dJQMjFAbJUWmYdPfz56TwKnoG4cPABi+QjVHzIrviQHgCWctRUz2EjvOr7nQKV0ba5cTppCD8P +tOFCx4j1P5iop7oc4HFx71hXgVB6XGt0Rg6DA5jDjqhu8nYybieDwnPz3BjotJPqdURrBGAgcVeH +nfO+oJAjPYok4doh28MCAwEAAaMzMDEwDwYDVR0TAQH/BAUwAwEB/zARBgNVHQ4ECgQISqCqWITT +XjwwCwYDVR0PBAQDAgEGMA0GCSqGSIb3DQEBBQUAA4IBAQBazof5FnIVV0sd2ZvnoiYw7JNn39Yt +0jSv9zilzqsWuasvfDXLrNAPtEwr/IDva4yRXzZ299uzGxnq9LIR/WFxRL8oszodv7ND6J+/3DEI +cbCdjdY0RzKQxmUk96BKfARzjzlvF4xytb1LyHr4e4PDKE6cCepnP7JnBBvDFNr450kkkdAdavph +Oe9r5yF1BgfYErQhIHBCcYHaPJo2vqZbDWpsmh+Re/n570K6Tk6ezAyNlNzZRZxe7EJQY670XcSx +EtzKO6gunRRaBXW37Ndj4ro1tgQIkejanZz2ZrUYrAqmVCY0M9IbwdR/GjqOC6oybtv8TyWf2TLH +llpwrN9M +-----END CERTIFICATE----- + +XRamp Global CA Root +==================== +-----BEGIN CERTIFICATE----- +MIIEMDCCAxigAwIBAgIQUJRs7Bjq1ZxN1ZfvdY+grTANBgkqhkiG9w0BAQUFADCBgjELMAkGA1UE +BhMCVVMxHjAcBgNVBAsTFXd3dy54cmFtcHNlY3VyaXR5LmNvbTEkMCIGA1UEChMbWFJhbXAgU2Vj +dXJpdHkgU2VydmljZXMgSW5jMS0wKwYDVQQDEyRYUmFtcCBHbG9iYWwgQ2VydGlmaWNhdGlvbiBB +dXRob3JpdHkwHhcNMDQxMTAxMTcxNDA0WhcNMzUwMTAxMDUzNzE5WjCBgjELMAkGA1UEBhMCVVMx +HjAcBgNVBAsTFXd3dy54cmFtcHNlY3VyaXR5LmNvbTEkMCIGA1UEChMbWFJhbXAgU2VjdXJpdHkg +U2VydmljZXMgSW5jMS0wKwYDVQQDEyRYUmFtcCBHbG9iYWwgQ2VydGlmaWNhdGlvbiBBdXRob3Jp +dHkwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCYJB69FbS638eMpSe2OAtp87ZOqCwu +IR1cRN8hXX4jdP5efrRKt6atH67gBhbim1vZZ3RrXYCPKZ2GG9mcDZhtdhAoWORlsH9KmHmf4MMx +foArtYzAQDsRhtDLooY2YKTVMIJt2W7QDxIEM5dfT2Fa8OT5kavnHTu86M/0ay00fOJIYRyO82FE +zG+gSqmUsE3a56k0enI4qEHMPJQRfevIpoy3hsvKMzvZPTeL+3o+hiznc9cKV6xkmxnr9A8ECIqs +AxcZZPRaJSKNNCyy9mgdEm3Tih4U2sSPpuIjhdV6Db1q4Ons7Be7QhtnqiXtRYMh/MHJfNViPvry +xS3T/dRlAgMBAAGjgZ8wgZwwEwYJKwYBBAGCNxQCBAYeBABDAEEwCwYDVR0PBAQDAgGGMA8GA1Ud +EwEB/wQFMAMBAf8wHQYDVR0OBBYEFMZPoj0GY4QJnM5i5ASsjVy16bYbMDYGA1UdHwQvMC0wK6Ap +oCeGJWh0dHA6Ly9jcmwueHJhbXBzZWN1cml0eS5jb20vWEdDQS5jcmwwEAYJKwYBBAGCNxUBBAMC +AQEwDQYJKoZIhvcNAQEFBQADggEBAJEVOQMBG2f7Shz5CmBbodpNl2L5JFMn14JkTpAuw0kbK5rc +/Kh4ZzXxHfARvbdI4xD2Dd8/0sm2qlWkSLoC295ZLhVbO50WfUfXN+pfTXYSNrsf16GBBEYgoyxt +qZ4Bfj8pzgCT3/3JknOJiWSe5yvkHJEs0rnOfc5vMZnT5r7SHpDwCRR5XCOrTdLaIR9NmXmd4c8n +nxCbHIgNsIpkQTG4DmyQJKSbXHGPurt+HBvbaoAPIbzp26a3QPSyi6mx5O+aGtA9aZnuqCij4Tyz +8LIRnM98QObd50N9otg6tamN8jSZxNQQ4Qb9CYQQO+7ETPTsJ3xCwnR8gooJybQDJbw= +-----END CERTIFICATE----- + +Go Daddy Class 2 CA +=================== +-----BEGIN CERTIFICATE----- +MIIEADCCAuigAwIBAgIBADANBgkqhkiG9w0BAQUFADBjMQswCQYDVQQGEwJVUzEhMB8GA1UEChMY +VGhlIEdvIERhZGR5IEdyb3VwLCBJbmMuMTEwLwYDVQQLEyhHbyBEYWRkeSBDbGFzcyAyIENlcnRp +ZmljYXRpb24gQXV0aG9yaXR5MB4XDTA0MDYyOTE3MDYyMFoXDTM0MDYyOTE3MDYyMFowYzELMAkG +A1UEBhMCVVMxITAfBgNVBAoTGFRoZSBHbyBEYWRkeSBHcm91cCwgSW5jLjExMC8GA1UECxMoR28g +RGFkZHkgQ2xhc3MgMiBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCCASAwDQYJKoZIhvcNAQEBBQAD +ggENADCCAQgCggEBAN6d1+pXGEmhW+vXX0iG6r7d/+TvZxz0ZWizV3GgXne77ZtJ6XCAPVYYYwhv +2vLM0D9/AlQiVBDYsoHUwHU9S3/Hd8M+eKsaA7Ugay9qK7HFiH7Eux6wwdhFJ2+qN1j3hybX2C32 +qRe3H3I2TqYXP2WYktsqbl2i/ojgC95/5Y0V4evLOtXiEqITLdiOr18SPaAIBQi2XKVlOARFmR6j +YGB0xUGlcmIbYsUfb18aQr4CUWWoriMYavx4A6lNf4DD+qta/KFApMoZFv6yyO9ecw3ud72a9nmY +vLEHZ6IVDd2gWMZEewo+YihfukEHU1jPEX44dMX4/7VpkI+EdOqXG68CAQOjgcAwgb0wHQYDVR0O +BBYEFNLEsNKR1EwRcbNhyz2h/t2oatTjMIGNBgNVHSMEgYUwgYKAFNLEsNKR1EwRcbNhyz2h/t2o +atTjoWekZTBjMQswCQYDVQQGEwJVUzEhMB8GA1UEChMYVGhlIEdvIERhZGR5IEdyb3VwLCBJbmMu +MTEwLwYDVQQLEyhHbyBEYWRkeSBDbGFzcyAyIENlcnRpZmljYXRpb24gQXV0aG9yaXR5ggEAMAwG +A1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBADJL87LKPpH8EsahB4yOd6AzBhRckB4Y9wim +PQoZ+YeAEW5p5JYXMP80kWNyOO7MHAGjHZQopDH2esRU1/blMVgDoszOYtuURXO1v0XJJLXVggKt +I3lpjbi2Tc7PTMozI+gciKqdi0FuFskg5YmezTvacPd+mSYgFFQlq25zheabIZ0KbIIOqPjCDPoQ +HmyW74cNxA9hi63ugyuV+I6ShHI56yDqg+2DzZduCLzrTia2cyvk0/ZM/iZx4mERdEr/VxqHD3VI +Ls9RaRegAhJhldXRQLIQTO7ErBBDpqWeCtWVYpoNz4iCxTIM5CufReYNnyicsbkqWletNw+vHX/b +vZ8= +-----END CERTIFICATE----- + +Starfield Class 2 CA +==================== +-----BEGIN CERTIFICATE----- +MIIEDzCCAvegAwIBAgIBADANBgkqhkiG9w0BAQUFADBoMQswCQYDVQQGEwJVUzElMCMGA1UEChMc +U3RhcmZpZWxkIFRlY2hub2xvZ2llcywgSW5jLjEyMDAGA1UECxMpU3RhcmZpZWxkIENsYXNzIDIg +Q2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDQwNjI5MTczOTE2WhcNMzQwNjI5MTczOTE2WjBo +MQswCQYDVQQGEwJVUzElMCMGA1UEChMcU3RhcmZpZWxkIFRlY2hub2xvZ2llcywgSW5jLjEyMDAG +A1UECxMpU3RhcmZpZWxkIENsYXNzIDIgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwggEgMA0GCSqG +SIb3DQEBAQUAA4IBDQAwggEIAoIBAQC3Msj+6XGmBIWtDBFk385N78gDGIc/oav7PKaf8MOh2tTY +bitTkPskpD6E8J7oX+zlJ0T1KKY/e97gKvDIr1MvnsoFAZMej2YcOadN+lq2cwQlZut3f+dZxkqZ +JRRU6ybH838Z1TBwj6+wRir/resp7defqgSHo9T5iaU0X9tDkYI22WY8sbi5gv2cOj4QyDvvBmVm +epsZGD3/cVE8MC5fvj13c7JdBmzDI1aaK4UmkhynArPkPw2vCHmCuDY96pzTNbO8acr1zJ3o/WSN +F4Azbl5KXZnJHoe0nRrA1W4TNSNe35tfPe/W93bC6j67eA0cQmdrBNj41tpvi/JEoAGrAgEDo4HF +MIHCMB0GA1UdDgQWBBS/X7fRzt0fhvRbVazc1xDCDqmI5zCBkgYDVR0jBIGKMIGHgBS/X7fRzt0f +hvRbVazc1xDCDqmI56FspGowaDELMAkGA1UEBhMCVVMxJTAjBgNVBAoTHFN0YXJmaWVsZCBUZWNo +bm9sb2dpZXMsIEluYy4xMjAwBgNVBAsTKVN0YXJmaWVsZCBDbGFzcyAyIENlcnRpZmljYXRpb24g +QXV0aG9yaXR5ggEAMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBAAWdP4id0ckaVaGs +afPzWdqbAYcaT1epoXkJKtv3L7IezMdeatiDh6GX70k1PncGQVhiv45YuApnP+yz3SFmH8lU+nLM +PUxA2IGvd56Deruix/U0F47ZEUD0/CwqTRV/p2JdLiXTAAsgGh1o+Re49L2L7ShZ3U0WixeDyLJl +xy16paq8U4Zt3VekyvggQQto8PT7dL5WXXp59fkdheMtlb71cZBDzI0fmgAKhynpVSJYACPq4xJD +KVtHCN2MQWplBqjlIapBtJUhlbl90TSrE9atvNziPTnNvT51cKEYWQPJIrSPnNVeKtelttQKbfi3 +QBFGmh95DmK/D5fs4C8fF5Q= +-----END CERTIFICATE----- + +Taiwan GRCA +=========== +-----BEGIN CERTIFICATE----- +MIIFcjCCA1qgAwIBAgIQH51ZWtcvwgZEpYAIaeNe9jANBgkqhkiG9w0BAQUFADA/MQswCQYDVQQG +EwJUVzEwMC4GA1UECgwnR292ZXJubWVudCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4X +DTAyMTIwNTEzMjMzM1oXDTMyMTIwNTEzMjMzM1owPzELMAkGA1UEBhMCVFcxMDAuBgNVBAoMJ0dv +dmVybm1lbnQgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCCAiIwDQYJKoZIhvcNAQEBBQAD +ggIPADCCAgoCggIBAJoluOzMonWoe/fOW1mKydGGEghU7Jzy50b2iPN86aXfTEc2pBsBHH8eV4qN +w8XRIePaJD9IK/ufLqGU5ywck9G/GwGHU5nOp/UKIXZ3/6m3xnOUT0b3EEk3+qhZSV1qgQdW8or5 +BtD3cCJNtLdBuTK4sfCxw5w/cP1T3YGq2GN49thTbqGsaoQkclSGxtKyyhwOeYHWtXBiCAEuTk8O +1RGvqa/lmr/czIdtJuTJV6L7lvnM4T9TjGxMfptTCAtsF/tnyMKtsc2AtJfcdgEWFelq16TheEfO +htX7MfP6Mb40qij7cEwdScevLJ1tZqa2jWR+tSBqnTuBto9AAGdLiYa4zGX+FVPpBMHWXx1E1wov +J5pGfaENda1UhhXcSTvxls4Pm6Dso3pdvtUqdULle96ltqqvKKyskKw4t9VoNSZ63Pc78/1Fm9G7 +Q3hub/FCVGqY8A2tl+lSXunVanLeavcbYBT0peS2cWeqH+riTcFCQP5nRhc4L0c/cZyu5SHKYS1t +B6iEfC3uUSXxY5Ce/eFXiGvviiNtsea9P63RPZYLhY3Naye7twWb7LuRqQoHEgKXTiCQ8P8NHuJB +O9NAOueNXdpm5AKwB1KYXA6OM5zCppX7VRluTI6uSw+9wThNXo+EHWbNxWCWtFJaBYmOlXqYwZE8 +lSOyDvR5tMl8wUohAgMBAAGjajBoMB0GA1UdDgQWBBTMzO/MKWCkO7GStjz6MmKPrCUVOzAMBgNV +HRMEBTADAQH/MDkGBGcqBwAEMTAvMC0CAQAwCQYFKw4DAhoFADAHBgVnKgMAAAQUA5vwIhP/lSg2 +09yewDL7MTqKUWUwDQYJKoZIhvcNAQEFBQADggIBAECASvomyc5eMN1PhnR2WPWus4MzeKR6dBcZ +TulStbngCnRiqmjKeKBMmo4sIy7VahIkv9Ro04rQ2JyftB8M3jh+Vzj8jeJPXgyfqzvS/3WXy6Tj +Zwj/5cAWtUgBfen5Cv8b5Wppv3ghqMKnI6mGq3ZW6A4M9hPdKmaKZEk9GhiHkASfQlK3T8v+R0F2 +Ne//AHY2RTKbxkaFXeIksB7jSJaYV0eUVXoPQbFEJPPB/hprv4j9wabak2BegUqZIJxIZhm1AHlU +D7gsL0u8qV1bYH+Mh6XgUmMqvtg7hUAV/h62ZT/FS9p+tXo1KaMuephgIqP0fSdOLeq0dDzpD6Qz +DxARvBMB1uUO07+1EqLhRSPAzAhuYbeJq4PjJB7mXQfnHyA+z2fI56wwbSdLaG5LKlwCCDTb+Hbk +Z6MmnD+iMsJKxYEYMRBWqoTvLQr/uB930r+lWKBi5NdLkXWNiYCYfm3LU05er/ayl4WXudpVBrkk +7tfGOB5jGxI7leFYrPLfhNVfmS8NVVvmONsuP3LpSIXLuykTjx44VbnzssQwmSNOXfJIoRIM3BKQ +CZBUkQM8R+XVyWXgt0t97EfTsws+rZ7QdAAO671RrcDeLMDDav7v3Aun+kbfYNucpllQdSNpc5Oy ++fwC00fmcc4QAu4njIT/rEUNE1yDMuAlpYYsfPQS +-----END CERTIFICATE----- + +DigiCert Assured ID Root CA +=========================== +-----BEGIN CERTIFICATE----- +MIIDtzCCAp+gAwIBAgIQDOfg5RfYRv6P5WD8G/AwOTANBgkqhkiG9w0BAQUFADBlMQswCQYDVQQG +EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSQw +IgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgQ0EwHhcNMDYxMTEwMDAwMDAwWhcNMzEx +MTEwMDAwMDAwWjBlMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQL +ExB3d3cuZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgQ0Ew +ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCtDhXO5EOAXLGH87dg+XESpa7cJpSIqvTO +9SA5KFhgDPiA2qkVlTJhPLWxKISKityfCgyDF3qPkKyK53lTXDGEKvYPmDI2dsze3Tyoou9q+yHy +UmHfnyDXH+Kx2f4YZNISW1/5WBg1vEfNoTb5a3/UsDg+wRvDjDPZ2C8Y/igPs6eD1sNuRMBhNZYW +/lmci3Zt1/GiSw0r/wty2p5g0I6QNcZ4VYcgoc/lbQrISXwxmDNsIumH0DJaoroTghHtORedmTpy +oeb6pNnVFzF1roV9Iq4/AUaG9ih5yLHa5FcXxH4cDrC0kqZWs72yl+2qp/C3xag/lRbQ/6GW6whf +GHdPAgMBAAGjYzBhMA4GA1UdDwEB/wQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRF +66Kv9JLLgjEtUYunpyGd823IDzAfBgNVHSMEGDAWgBRF66Kv9JLLgjEtUYunpyGd823IDzANBgkq +hkiG9w0BAQUFAAOCAQEAog683+Lt8ONyc3pklL/3cmbYMuRCdWKuh+vy1dneVrOfzM4UKLkNl2Bc +EkxY5NM9g0lFWJc1aRqoR+pWxnmrEthngYTffwk8lOa4JiwgvT2zKIn3X/8i4peEH+ll74fg38Fn +SbNd67IJKusm7Xi+fT8r87cmNW1fiQG2SVufAQWbqz0lwcy2f8Lxb4bG+mRo64EtlOtCt/qMHt1i +8b5QZ7dsvfPxH2sMNgcWfzd8qVttevESRmCD1ycEvkvOl77DZypoEd+A5wwzZr8TDRRu838fYxAe ++o0bJW1sj6W3YQGx0qMmoRBxna3iw/nDmVG3KwcIzi7mULKn+gpFL6Lw8g== +-----END CERTIFICATE----- + +DigiCert Global Root CA +======================= +-----BEGIN CERTIFICATE----- +MIIDrzCCApegAwIBAgIQCDvgVpBCRrGhdWrJWZHHSjANBgkqhkiG9w0BAQUFADBhMQswCQYDVQQG +EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSAw +HgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBDQTAeFw0wNjExMTAwMDAwMDBaFw0zMTExMTAw +MDAwMDBaMGExCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3 +dy5kaWdpY2VydC5jb20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IENBMIIBIjANBgkq +hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA4jvhEXLeqKTTo1eqUKKPC3eQyaKl7hLOllsBCSDMAZOn +TjC3U/dDxGkAV53ijSLdhwZAAIEJzs4bg7/fzTtxRuLWZscFs3YnFo97nh6Vfe63SKMI2tavegw5 +BmV/Sl0fvBf4q77uKNd0f3p4mVmFaG5cIzJLv07A6Fpt43C/dxC//AH2hdmoRBBYMql1GNXRor5H +4idq9Joz+EkIYIvUX7Q6hL+hqkpMfT7PT19sdl6gSzeRntwi5m3OFBqOasv+zbMUZBfHWymeMr/y +7vrTC0LUq7dBMtoM1O/4gdW7jVg/tRvoSSiicNoxBN33shbyTApOB6jtSj1etX+jkMOvJwIDAQAB +o2MwYTAOBgNVHQ8BAf8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUA95QNVbRTLtm +8KPiGxvDl7I90VUwHwYDVR0jBBgwFoAUA95QNVbRTLtm8KPiGxvDl7I90VUwDQYJKoZIhvcNAQEF +BQADggEBAMucN6pIExIK+t1EnE9SsPTfrgT1eXkIoyQY/EsrhMAtudXH/vTBH1jLuG2cenTnmCmr +EbXjcKChzUyImZOMkXDiqw8cvpOp/2PV5Adg06O/nVsJ8dWO41P0jmP6P6fbtGbfYmbW0W5BjfIt +tep3Sp+dWOIrWcBAI+0tKIJFPnlUkiaY4IBIqDfv8NZ5YBberOgOzW6sRBc4L0na4UU+Krk2U886 +UAb3LujEV0lsYSEY1QSteDwsOoBrp+uvFRTp2InBuThs4pFsiv9kuXclVzDAGySj4dzp30d8tbQk +CAUw7C29C79Fv1C5qfPrmAESrciIxpg0X40KPMbp1ZWVbd4= +-----END CERTIFICATE----- + +DigiCert High Assurance EV Root CA +================================== +-----BEGIN CERTIFICATE----- +MIIDxTCCAq2gAwIBAgIQAqxcJmoLQJuPC3nyrkYldzANBgkqhkiG9w0BAQUFADBsMQswCQYDVQQG +EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSsw +KQYDVQQDEyJEaWdpQ2VydCBIaWdoIEFzc3VyYW5jZSBFViBSb290IENBMB4XDTA2MTExMDAwMDAw +MFoXDTMxMTExMDAwMDAwMFowbDELMAkGA1UEBhMCVVMxFTATBgNVBAoTDERpZ2lDZXJ0IEluYzEZ +MBcGA1UECxMQd3d3LmRpZ2ljZXJ0LmNvbTErMCkGA1UEAxMiRGlnaUNlcnQgSGlnaCBBc3N1cmFu +Y2UgRVYgUm9vdCBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMbM5XPm+9S75S0t +Mqbf5YE/yc0lSbZxKsPVlDRnogocsF9ppkCxxLeyj9CYpKlBWTrT3JTWPNt0OKRKzE0lgvdKpVMS +OO7zSW1xkX5jtqumX8OkhPhPYlG++MXs2ziS4wblCJEMxChBVfvLWokVfnHoNb9Ncgk9vjo4UFt3 +MRuNs8ckRZqnrG0AFFoEt7oT61EKmEFBIk5lYYeBQVCmeVyJ3hlKV9Uu5l0cUyx+mM0aBhakaHPQ +NAQTXKFx01p8VdteZOE3hzBWBOURtCmAEvF5OYiiAhF8J2a3iLd48soKqDirCmTCv2ZdlYTBoSUe +h10aUAsgEsxBu24LUTi4S8sCAwEAAaNjMGEwDgYDVR0PAQH/BAQDAgGGMA8GA1UdEwEB/wQFMAMB +Af8wHQYDVR0OBBYEFLE+w2kD+L9HAdSYJhoIAu9jZCvDMB8GA1UdIwQYMBaAFLE+w2kD+L9HAdSY +JhoIAu9jZCvDMA0GCSqGSIb3DQEBBQUAA4IBAQAcGgaX3NecnzyIZgYIVyHbIUf4KmeqvxgydkAQ +V8GK83rZEWWONfqe/EW1ntlMMUu4kehDLI6zeM7b41N5cdblIZQB2lWHmiRk9opmzN6cN82oNLFp +myPInngiK3BD41VHMWEZ71jFhS9OMPagMRYjyOfiZRYzy78aG6A9+MpeizGLYAiJLQwGXFK3xPkK +mNEVX58Svnw2Yzi9RKR/5CYrCsSXaQ3pjOLAEFe4yHYSkVXySGnYvCoCWw9E1CAx2/S6cCZdkGCe +vEsXCS+0yx5DaMkHJ8HSXPfqIbloEpw8nL+e/IBcm2PN7EeqJSdnoDfzAIJ9VNep+OkuE6N36B9K +-----END CERTIFICATE----- + +DST Root CA X3 +============== +-----BEGIN CERTIFICATE----- +MIIDSjCCAjKgAwIBAgIQRK+wgNajJ7qJMDmGLvhAazANBgkqhkiG9w0BAQUFADA/MSQwIgYDVQQK +ExtEaWdpdGFsIFNpZ25hdHVyZSBUcnVzdCBDby4xFzAVBgNVBAMTDkRTVCBSb290IENBIFgzMB4X +DTAwMDkzMDIxMTIxOVoXDTIxMDkzMDE0MDExNVowPzEkMCIGA1UEChMbRGlnaXRhbCBTaWduYXR1 +cmUgVHJ1c3QgQ28uMRcwFQYDVQQDEw5EU1QgUm9vdCBDQSBYMzCCASIwDQYJKoZIhvcNAQEBBQAD +ggEPADCCAQoCggEBAN+v6ZdQCINXtMxiZfaQguzH0yxrMMpb7NnDfcdAwRgUi+DoM3ZJKuM/IUmT +rE4Orz5Iy2Xu/NMhD2XSKtkyj4zl93ewEnu1lcCJo6m67XMuegwGMoOifooUMM0RoOEqOLl5CjH9 +UL2AZd+3UWODyOKIYepLYYHsUmu5ouJLGiifSKOeDNoJjj4XLh7dIN9bxiqKqy69cK3FCxolkHRy +xXtqqzTWMIn/5WgTe1QLyNau7Fqckh49ZLOMxt+/yUFw7BZy1SbsOFU5Q9D8/RhcQPGX69Wam40d +utolucbY38EVAjqr2m7xPi71XAicPNaDaeQQmxkqtilX4+U9m5/wAl0CAwEAAaNCMEAwDwYDVR0T +AQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFMSnsaR7LHH62+FLkHX/xBVghYkQ +MA0GCSqGSIb3DQEBBQUAA4IBAQCjGiybFwBcqR7uKGY3Or+Dxz9LwwmglSBd49lZRNI+DT69ikug +dB/OEIKcdBodfpga3csTS7MgROSR6cz8faXbauX+5v3gTt23ADq1cEmv8uXrAvHRAosZy5Q6XkjE +GB5YGV8eAlrwDPGxrancWYaLbumR9YbK+rlmM6pZW87ipxZzR8srzJmwN0jP41ZL9c8PDHIyh8bw +RLtTcm1D9SZImlJnt1ir/md2cXjbDaJWFBM5JDGFoqgCWjBH4d1QB7wCCZAA62RjYJsWvIjJEubS +fZGL+T0yjWW06XyxV3bqxbYoOb8VZRzI9neWagqNdwvYkQsEjgfbKbYK7p2CNTUQ +-----END CERTIFICATE----- + +SwissSign Gold CA - G2 +====================== +-----BEGIN CERTIFICATE----- +MIIFujCCA6KgAwIBAgIJALtAHEP1Xk+wMA0GCSqGSIb3DQEBBQUAMEUxCzAJBgNVBAYTAkNIMRUw +EwYDVQQKEwxTd2lzc1NpZ24gQUcxHzAdBgNVBAMTFlN3aXNzU2lnbiBHb2xkIENBIC0gRzIwHhcN +MDYxMDI1MDgzMDM1WhcNMzYxMDI1MDgzMDM1WjBFMQswCQYDVQQGEwJDSDEVMBMGA1UEChMMU3dp +c3NTaWduIEFHMR8wHQYDVQQDExZTd2lzc1NpZ24gR29sZCBDQSAtIEcyMIICIjANBgkqhkiG9w0B +AQEFAAOCAg8AMIICCgKCAgEAr+TufoskDhJuqVAtFkQ7kpJcyrhdhJJCEyq8ZVeCQD5XJM1QiyUq +t2/876LQwB8CJEoTlo8jE+YoWACjR8cGp4QjK7u9lit/VcyLwVcfDmJlD909Vopz2q5+bbqBHH5C +jCA12UNNhPqE21Is8w4ndwtrvxEvcnifLtg+5hg3Wipy+dpikJKVyh+c6bM8K8vzARO/Ws/BtQpg +vd21mWRTuKCWs2/iJneRjOBiEAKfNA+k1ZIzUd6+jbqEemA8atufK+ze3gE/bk3lUIbLtK/tREDF +ylqM2tIrfKjuvqblCqoOpd8FUrdVxyJdMmqXl2MT28nbeTZ7hTpKxVKJ+STnnXepgv9VHKVxaSvR +AiTysybUa9oEVeXBCsdtMDeQKuSeFDNeFhdVxVu1yzSJkvGdJo+hB9TGsnhQ2wwMC3wLjEHXuend +jIj3o02yMszYF9rNt85mndT9Xv+9lz4pded+p2JYryU0pUHHPbwNUMoDAw8IWh+Vc3hiv69yFGkO +peUDDniOJihC8AcLYiAQZzlG+qkDzAQ4embvIIO1jEpWjpEA/I5cgt6IoMPiaG59je883WX0XaxR +7ySArqpWl2/5rX3aYT+YdzylkbYcjCbaZaIJbcHiVOO5ykxMgI93e2CaHt+28kgeDrpOVG2Y4OGi +GqJ3UM/EY5LsRxmd6+ZrzsECAwEAAaOBrDCBqTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUw +AwEB/zAdBgNVHQ4EFgQUWyV7lqRlUX64OfPAeGZe6Drn8O4wHwYDVR0jBBgwFoAUWyV7lqRlUX64 +OfPAeGZe6Drn8O4wRgYDVR0gBD8wPTA7BglghXQBWQECAQEwLjAsBggrBgEFBQcCARYgaHR0cDov +L3JlcG9zaXRvcnkuc3dpc3NzaWduLmNvbS8wDQYJKoZIhvcNAQEFBQADggIBACe645R88a7A3hfm +5djV9VSwg/S7zV4Fe0+fdWavPOhWfvxyeDgD2StiGwC5+OlgzczOUYrHUDFu4Up+GC9pWbY9ZIEr +44OE5iKHjn3g7gKZYbge9LgriBIWhMIxkziWMaa5O1M/wySTVltpkuzFwbs4AOPsF6m43Md8AYOf +Mke6UiI0HTJ6CVanfCU2qT1L2sCCbwq7EsiHSycR+R4tx5M/nttfJmtS2S6K8RTGRI0Vqbe/vd6m +Gu6uLftIdxf+u+yvGPUqUfA5hJeVbG4bwyvEdGB5JbAKJ9/fXtI5z0V9QkvfsywexcZdylU6oJxp +mo/a77KwPJ+HbBIrZXAVUjEaJM9vMSNQH4xPjyPDdEFjHFWoFN0+4FFQz/EbMFYOkrCChdiDyyJk +vC24JdVUorgG6q2SpCSgwYa1ShNqR88uC1aVVMvOmttqtKay20EIhid392qgQmwLOM7XdVAyksLf +KzAiSNDVQTglXaTpXZ/GlHXQRf0wl0OPkKsKx4ZzYEppLd6leNcG2mqeSz53OiATIgHQv2ieY2Br +NU0LbbqhPcCT4H8js1WtciVORvnSFu+wZMEBnunKoGqYDs/YYPIvSbjkQuE4NRb0yG5P94FW6Lqj +viOvrv1vA+ACOzB2+httQc8Bsem4yWb02ybzOqR08kkkW8mw0FfB+j564ZfJ +-----END CERTIFICATE----- + +SwissSign Silver CA - G2 +======================== +-----BEGIN CERTIFICATE----- +MIIFvTCCA6WgAwIBAgIITxvUL1S7L0swDQYJKoZIhvcNAQEFBQAwRzELMAkGA1UEBhMCQ0gxFTAT +BgNVBAoTDFN3aXNzU2lnbiBBRzEhMB8GA1UEAxMYU3dpc3NTaWduIFNpbHZlciBDQSAtIEcyMB4X +DTA2MTAyNTA4MzI0NloXDTM2MTAyNTA4MzI0NlowRzELMAkGA1UEBhMCQ0gxFTATBgNVBAoTDFN3 +aXNzU2lnbiBBRzEhMB8GA1UEAxMYU3dpc3NTaWduIFNpbHZlciBDQSAtIEcyMIICIjANBgkqhkiG +9w0BAQEFAAOCAg8AMIICCgKCAgEAxPGHf9N4Mfc4yfjDmUO8x/e8N+dOcbpLj6VzHVxumK4DV644 +N0MvFz0fyM5oEMF4rhkDKxD6LHmD9ui5aLlV8gREpzn5/ASLHvGiTSf5YXu6t+WiE7brYT7QbNHm ++/pe7R20nqA1W6GSy/BJkv6FCgU+5tkL4k+73JU3/JHpMjUi0R86TieFnbAVlDLaYQ1HTWBCrpJH +6INaUFjpiou5XaHc3ZlKHzZnu0jkg7Y360g6rw9njxcH6ATK72oxh9TAtvmUcXtnZLi2kUpCe2Uu +MGoM9ZDulebyzYLs2aFK7PayS+VFheZteJMELpyCbTapxDFkH4aDCyr0NQp4yVXPQbBH6TCfmb5h +qAaEuSh6XzjZG6k4sIN/c8HDO0gqgg8hm7jMqDXDhBuDsz6+pJVpATqJAHgE2cn0mRmrVn5bi4Y5 +FZGkECwJMoBgs5PAKrYYC51+jUnyEEp/+dVGLxmSo5mnJqy7jDzmDrxHB9xzUfFwZC8I+bRHHTBs +ROopN4WSaGa8gzj+ezku01DwH/teYLappvonQfGbGHLy9YR0SslnxFSuSGTfjNFusB3hB48IHpmc +celM2KX3RxIfdNFRnobzwqIjQAtz20um53MGjMGg6cFZrEb65i/4z3GcRm25xBWNOHkDRUjvxF3X +CO6HOSKGsg0PWEP3calILv3q1h8CAwEAAaOBrDCBqTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/ +BAUwAwEB/zAdBgNVHQ4EFgQUF6DNweRBtjpbO8tFnb0cwpj6hlgwHwYDVR0jBBgwFoAUF6DNweRB +tjpbO8tFnb0cwpj6hlgwRgYDVR0gBD8wPTA7BglghXQBWQEDAQEwLjAsBggrBgEFBQcCARYgaHR0 +cDovL3JlcG9zaXRvcnkuc3dpc3NzaWduLmNvbS8wDQYJKoZIhvcNAQEFBQADggIBAHPGgeAn0i0P +4JUw4ppBf1AsX19iYamGamkYDHRJ1l2E6kFSGG9YrVBWIGrGvShpWJHckRE1qTodvBqlYJ7YH39F +kWnZfrt4csEGDyrOj4VwYaygzQu4OSlWhDJOhrs9xCrZ1x9y7v5RoSJBsXECYxqCsGKrXlcSH9/L +3XWgwF15kIwb4FDm3jH+mHtwX6WQ2K34ArZv02DdQEsixT2tOnqfGhpHkXkzuoLcMmkDlm4fS/Bx +/uNncqCxv1yL5PqZIseEuRuNI5c/7SXgz2W79WEE790eslpBIlqhn10s6FvJbakMDHiqYMZWjwFa +DGi8aRl5xB9+lwW/xekkUV7U1UtT7dkjWjYDZaPBA61BMPNGG4WQr2W11bHkFlt4dR2Xem1ZqSqP +e97Dh4kQmUlzeMg9vVE1dCrV8X5pGyq7O70luJpaPXJhkGaH7gzWTdQRdAtq/gsD/KNVV4n+Ssuu +WxcFyPKNIzFTONItaj+CuY0IavdeQXRuwxF+B6wpYJE/OMpXEA29MC/HpeZBoNquBYeaoKRlbEwJ +DIm6uNO5wJOKMPqN5ZprFQFOZ6raYlY+hAhm0sQ2fac+EPyI4NSA5QC9qvNOBqN6avlicuMJT+ub +DgEj8Z+7fNzcbBGXJbLytGMU0gYqZ4yD9c7qB9iaah7s5Aq7KkzrCWA5zspi2C5u +-----END CERTIFICATE----- + +GeoTrust Primary Certification Authority +======================================== +-----BEGIN CERTIFICATE----- +MIIDfDCCAmSgAwIBAgIQGKy1av1pthU6Y2yv2vrEoTANBgkqhkiG9w0BAQUFADBYMQswCQYDVQQG +EwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5jLjExMC8GA1UEAxMoR2VvVHJ1c3QgUHJpbWFyeSBD +ZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wNjExMjcwMDAwMDBaFw0zNjA3MTYyMzU5NTlaMFgx +CzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMTEwLwYDVQQDEyhHZW9UcnVzdCBQ +cmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB +CgKCAQEAvrgVe//UfH1nrYNke8hCUy3f9oQIIGHWAVlqnEQRr+92/ZV+zmEwu3qDXwK9AWbK7hWN +b6EwnL2hhZ6UOvNWiAAxz9juapYC2e0DjPt1befquFUWBRaa9OBesYjAZIVcFU2Ix7e64HXprQU9 +nceJSOC7KMgD4TCTZF5SwFlwIjVXiIrxlQqD17wxcwE07e9GceBrAqg1cmuXm2bgyxx5X9gaBGge +RwLmnWDiNpcB3841kt++Z8dtd1k7j53WkBWUvEI0EME5+bEnPn7WinXFsq+W06Lem+SYvn3h6YGt +tm/81w7a4DSwDRp35+MImO9Y+pyEtzavwt+s0vQQBnBxNQIDAQABo0IwQDAPBgNVHRMBAf8EBTAD +AQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQULNVQQZcVi/CPNmFbSvtr2ZnJM5IwDQYJKoZI +hvcNAQEFBQADggEBAFpwfyzdtzRP9YZRqSa+S7iq8XEN3GHHoOo0Hnp3DwQ16CePbJC/kRYkRj5K +Ts4rFtULUh38H2eiAkUxT87z+gOneZ1TatnaYzr4gNfTmeGl4b7UVXGYNTq+k+qurUKykG/g/CFN +NWMziUnWm07Kx+dOCQD32sfvmWKZd7aVIl6KoKv0uHiYyjgZmclynnjNS6yvGaBzEi38wkG6gZHa +Floxt/m0cYASSJlyc1pZU8FjUjPtp8nSOQJw+uCxQmYpqptR7TBUIhRf2asdweSU8Pj1K/fqynhG +1riR/aYNKxoUAT6A8EKglQdebc3MS6RFjasS6LPeWuWgfOgPIh1a6Vk= +-----END CERTIFICATE----- + +thawte Primary Root CA +====================== +-----BEGIN CERTIFICATE----- +MIIEIDCCAwigAwIBAgIQNE7VVyDV7exJ9C/ON9srbTANBgkqhkiG9w0BAQUFADCBqTELMAkGA1UE +BhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2 +aWNlcyBEaXZpc2lvbjE4MDYGA1UECxMvKGMpIDIwMDYgdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhv +cml6ZWQgdXNlIG9ubHkxHzAdBgNVBAMTFnRoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EwHhcNMDYxMTE3 +MDAwMDAwWhcNMzYwNzE2MjM1OTU5WjCBqTELMAkGA1UEBhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwg +SW5jLjEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjE4MDYGA1UECxMv +KGMpIDIwMDYgdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxHzAdBgNVBAMT +FnRoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCs +oPD7gFnUnMekz52hWXMJEEUMDSxuaPFsW0hoSVk3/AszGcJ3f8wQLZU0HObrTQmnHNK4yZc2AreJ +1CRfBsDMRJSUjQJib+ta3RGNKJpchJAQeg29dGYvajig4tVUROsdB58Hum/u6f1OCyn1PoSgAfGc +q/gcfomk6KHYcWUNo1F77rzSImANuVud37r8UVsLr5iy6S7pBOhih94ryNdOwUxkHt3Ph1i6Sk/K +aAcdHJ1KxtUvkcx8cXIcxcBn6zL9yZJclNqFwJu/U30rCfSMnZEfl2pSy94JNqR32HuHUETVPm4p +afs5SSYeCaWAe0At6+gnhcn+Yf1+5nyXHdWdAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYD +VR0PAQH/BAQDAgEGMB0GA1UdDgQWBBR7W0XPr87Lev0xkhpqtvNG61dIUDANBgkqhkiG9w0BAQUF +AAOCAQEAeRHAS7ORtvzw6WfUDW5FvlXok9LOAz/t2iWwHVfLHjp2oEzsUHboZHIMpKnxuIvW1oeE +uzLlQRHAd9mzYJ3rG9XRbkREqaYB7FViHXe4XI5ISXycO1cRrK1zN44veFyQaEfZYGDm/Ac9IiAX +xPcW6cTYcvnIc3zfFi8VqT79aie2oetaupgf1eNNZAqdE8hhuvU5HIe6uL17In/2/qxAeeWsEG89 +jxt5dovEN7MhGITlNgDrYyCZuen+MwS7QcjBAvlEYyCegc5C09Y/LHbTY5xZ3Y+m4Q6gLkH3LpVH +z7z9M/P2C2F+fpErgUfCJzDupxBdN49cOSvkBPB7jVaMaA== +-----END CERTIFICATE----- + +VeriSign Class 3 Public Primary Certification Authority - G5 +============================================================ +-----BEGIN CERTIFICATE----- +MIIE0zCCA7ugAwIBAgIQGNrRniZ96LtKIVjNzGs7SjANBgkqhkiG9w0BAQUFADCByjELMAkGA1UE +BhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2lnbiBUcnVzdCBO +ZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNiBWZXJpU2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVk +IHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRp +ZmljYXRpb24gQXV0aG9yaXR5IC0gRzUwHhcNMDYxMTA4MDAwMDAwWhcNMzYwNzE2MjM1OTU5WjCB +yjELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2ln +biBUcnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNiBWZXJpU2lnbiwgSW5jLiAtIEZvciBh +dXRob3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmlt +YXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRzUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw +ggEKAoIBAQCvJAgIKXo1nmAMqudLO07cfLw8RRy7K+D+KQL5VwijZIUVJ/XxrcgxiV0i6CqqpkKz +j/i5Vbext0uz/o9+B1fs70PbZmIVYc9gDaTY3vjgw2IIPVQT60nKWVSFJuUrjxuf6/WhkcIzSdhD +Y2pSS9KP6HBRTdGJaXvHcPaz3BJ023tdS1bTlr8Vd6Gw9KIl8q8ckmcY5fQGBO+QueQA5N06tRn/ +Arr0PO7gi+s3i+z016zy9vA9r911kTMZHRxAy3QkGSGT2RT+rCpSx4/VBEnkjWNHiDxpg8v+R70r +fk/Fla4OndTRQ8Bnc+MUCH7lP59zuDMKz10/NIeWiu5T6CUVAgMBAAGjgbIwga8wDwYDVR0TAQH/ +BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwbQYIKwYBBQUHAQwEYTBfoV2gWzBZMFcwVRYJaW1hZ2Uv +Z2lmMCEwHzAHBgUrDgMCGgQUj+XTGoasjY5rw8+AatRIGCx7GS4wJRYjaHR0cDovL2xvZ28udmVy +aXNpZ24uY29tL3ZzbG9nby5naWYwHQYDVR0OBBYEFH/TZafC3ey78DAJ80M5+gKvMzEzMA0GCSqG +SIb3DQEBBQUAA4IBAQCTJEowX2LP2BqYLz3q3JktvXf2pXkiOOzEp6B4Eq1iDkVwZMXnl2YtmAl+ +X6/WzChl8gGqCBpH3vn5fJJaCGkgDdk+bW48DW7Y5gaRQBi5+MHt39tBquCWIMnNZBU4gcmU7qKE +KQsTb47bDN0lAtukixlE0kF6BWlKWE9gyn6CagsCqiUXObXbf+eEZSqVir2G3l6BFoMtEMze/aiC +Km0oHw0LxOXnGiYZ4fQRbxC1lfznQgUy286dUV4otp6F01vvpX1FQHKOtw5rDgb7MzVIcbidJ4vE +ZV8NhnacRHr2lVz2XTIIM6RUthg/aFzyQkqFOFSDX9HoLPKsEdao7WNq +-----END CERTIFICATE----- + +SecureTrust CA +============== +-----BEGIN CERTIFICATE----- +MIIDuDCCAqCgAwIBAgIQDPCOXAgWpa1Cf/DrJxhZ0DANBgkqhkiG9w0BAQUFADBIMQswCQYDVQQG +EwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRpb24xFzAVBgNVBAMTDlNlY3VyZVRy +dXN0IENBMB4XDTA2MTEwNzE5MzExOFoXDTI5MTIzMTE5NDA1NVowSDELMAkGA1UEBhMCVVMxIDAe +BgNVBAoTF1NlY3VyZVRydXN0IENvcnBvcmF0aW9uMRcwFQYDVQQDEw5TZWN1cmVUcnVzdCBDQTCC +ASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKukgeWVzfX2FI7CT8rU4niVWJxB4Q2ZQCQX +OZEzZum+4YOvYlyJ0fwkW2Gz4BERQRwdbvC4u/jep4G6pkjGnx29vo6pQT64lO0pGtSO0gMdA+9t +DWccV9cGrcrI9f4Or2YlSASWC12juhbDCE/RRvgUXPLIXgGZbf2IzIaowW8xQmxSPmjL8xk037uH +GFaAJsTQ3MBv396gwpEWoGQRS0S8Hvbn+mPeZqx2pHGj7DaUaHp3pLHnDi+BeuK1cobvomuL8A/b +01k/unK8RCSc43Oz969XL0Imnal0ugBS8kvNU3xHCzaFDmapCJcWNFfBZveA4+1wVMeT4C4oFVmH +ursCAwEAAaOBnTCBmjATBgkrBgEEAYI3FAIEBh4EAEMAQTALBgNVHQ8EBAMCAYYwDwYDVR0TAQH/ +BAUwAwEB/zAdBgNVHQ4EFgQUQjK2FvoE/f5dS3rD/fdMQB1aQ68wNAYDVR0fBC0wKzApoCegJYYj +aHR0cDovL2NybC5zZWN1cmV0cnVzdC5jb20vU1RDQS5jcmwwEAYJKwYBBAGCNxUBBAMCAQAwDQYJ +KoZIhvcNAQEFBQADggEBADDtT0rhWDpSclu1pqNlGKa7UTt36Z3q059c4EVlew3KW+JwULKUBRSu +SceNQQcSc5R+DCMh/bwQf2AQWnL1mA6s7Ll/3XpvXdMc9P+IBWlCqQVxyLesJugutIxq/3HcuLHf +mbx8IVQr5Fiiu1cprp6poxkmD5kuCLDv/WnPmRoJjeOnnyvJNjR7JLN4TJUXpAYmHrZkUjZfYGfZ +nMUFdAvnZyPSCPyI6a6Lf+Ew9Dd+/cYy2i2eRDAwbO4H3tI0/NL/QPZL9GZGBlSm8jIKYyYwa5vR +3ItHuuG51WLQoqD0ZwV4KWMabwTW+MZMo5qxN7SN5ShLHZ4swrhovO0C7jE= +-----END CERTIFICATE----- + +Secure Global CA +================ +-----BEGIN CERTIFICATE----- +MIIDvDCCAqSgAwIBAgIQB1YipOjUiolN9BPI8PjqpTANBgkqhkiG9w0BAQUFADBKMQswCQYDVQQG +EwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRpb24xGTAXBgNVBAMTEFNlY3VyZSBH +bG9iYWwgQ0EwHhcNMDYxMTA3MTk0MjI4WhcNMjkxMjMxMTk1MjA2WjBKMQswCQYDVQQGEwJVUzEg +MB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRpb24xGTAXBgNVBAMTEFNlY3VyZSBHbG9iYWwg +Q0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCvNS7YrGxVaQZx5RNoJLNP2MwhR/jx +YDiJiQPpvepeRlMJ3Fz1Wuj3RSoC6zFh1ykzTM7HfAo3fg+6MpjhHZevj8fcyTiW89sa/FHtaMbQ +bqR8JNGuQsiWUGMu4P51/pinX0kuleM5M2SOHqRfkNJnPLLZ/kG5VacJjnIFHovdRIWCQtBJwB1g +8NEXLJXr9qXBkqPFwqcIYA1gBBCWeZ4WNOaptvolRTnIHmX5k/Wq8VLcmZg9pYYaDDUz+kulBAYV +HDGA76oYa8J719rO+TMg1fW9ajMtgQT7sFzUnKPiXB3jqUJ1XnvUd+85VLrJChgbEplJL4hL/VBi +0XPnj3pDAgMBAAGjgZ0wgZowEwYJKwYBBAGCNxQCBAYeBABDAEEwCwYDVR0PBAQDAgGGMA8GA1Ud +EwEB/wQFMAMBAf8wHQYDVR0OBBYEFK9EBMJBfkiD2045AuzshHrmzsmkMDQGA1UdHwQtMCswKaAn +oCWGI2h0dHA6Ly9jcmwuc2VjdXJldHJ1c3QuY29tL1NHQ0EuY3JsMBAGCSsGAQQBgjcVAQQDAgEA +MA0GCSqGSIb3DQEBBQUAA4IBAQBjGghAfaReUw132HquHw0LURYD7xh8yOOvaliTFGCRsoTciE6+ +OYo68+aCiV0BN7OrJKQVDpI1WkpEXk5X+nXOH0jOZvQ8QCaSmGwb7iRGDBezUqXbpZGRzzfTb+cn +CDpOGR86p1hcF895P4vkp9MmI50mD1hp/Ed+stCNi5O/KU9DaXR2Z0vPB4zmAve14bRDtUstFJ/5 +3CYNv6ZHdAbYiNE6KTCEztI5gGIbqMdXSbxqVVFnFUq+NQfk1XWYN3kwFNspnWzFacxHVaIw98xc +f8LDmBxrThaA63p4ZUWiABqvDA1VZDRIuJK58bRQKfJPIx/abKwfROHdI3hRW8cW +-----END CERTIFICATE----- + +COMODO Certification Authority +============================== +-----BEGIN CERTIFICATE----- +MIIEHTCCAwWgAwIBAgIQToEtioJl4AsC7j41AkblPTANBgkqhkiG9w0BAQUFADCBgTELMAkGA1UE +BhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgG +A1UEChMRQ09NT0RPIENBIExpbWl0ZWQxJzAlBgNVBAMTHkNPTU9ETyBDZXJ0aWZpY2F0aW9uIEF1 +dGhvcml0eTAeFw0wNjEyMDEwMDAwMDBaFw0yOTEyMzEyMzU5NTlaMIGBMQswCQYDVQQGEwJHQjEb +MBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRowGAYDVQQKExFD +T01PRE8gQ0EgTGltaXRlZDEnMCUGA1UEAxMeQ09NT0RPIENlcnRpZmljYXRpb24gQXV0aG9yaXR5 +MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA0ECLi3LjkRv3UcEbVASY06m/weaKXTuH ++7uIzg3jLz8GlvCiKVCZrts7oVewdFFxze1CkU1B/qnI2GqGd0S7WWaXUF601CxwRM/aN5VCaTww +xHGzUvAhTaHYujl8HJ6jJJ3ygxaYqhZ8Q5sVW7euNJH+1GImGEaaP+vB+fGQV+useg2L23IwambV +4EajcNxo2f8ESIl33rXp+2dtQem8Ob0y2WIC8bGoPW43nOIv4tOiJovGuFVDiOEjPqXSJDlqR6sA +1KGzqSX+DT+nHbrTUcELpNqsOO9VUCQFZUaTNE8tja3G1CEZ0o7KBWFxB3NH5YoZEr0ETc5OnKVI +rLsm9wIDAQABo4GOMIGLMB0GA1UdDgQWBBQLWOWLxkwVN6RAqTCpIb5HNlpW/zAOBgNVHQ8BAf8E +BAMCAQYwDwYDVR0TAQH/BAUwAwEB/zBJBgNVHR8EQjBAMD6gPKA6hjhodHRwOi8vY3JsLmNvbW9k +b2NhLmNvbS9DT01PRE9DZXJ0aWZpY2F0aW9uQXV0aG9yaXR5LmNybDANBgkqhkiG9w0BAQUFAAOC +AQEAPpiem/Yb6dc5t3iuHXIYSdOH5EOC6z/JqvWote9VfCFSZfnVDeFs9D6Mk3ORLgLETgdxb8CP +OGEIqB6BCsAvIC9Bi5HcSEW88cbeunZrM8gALTFGTO3nnc+IlP8zwFboJIYmuNg4ON8qa90SzMc/ +RxdMosIGlgnW2/4/PEZB31jiVg88O8EckzXZOFKs7sjsLjBOlDW0JB9LeGna8gI4zJVSk/BwJVmc +IGfE7vmLV2H0knZ9P4SNVbfo5azV8fUZVqZa+5Acr5Pr5RzUZ5ddBA6+C4OmF4O5MBKgxTMVBbkN ++8cFduPYSo38NBejxiEovjBFMR7HeL5YYTisO+IBZQ== +-----END CERTIFICATE----- + +Network Solutions Certificate Authority +======================================= +-----BEGIN CERTIFICATE----- +MIID5jCCAs6gAwIBAgIQV8szb8JcFuZHFhfjkDFo4DANBgkqhkiG9w0BAQUFADBiMQswCQYDVQQG +EwJVUzEhMB8GA1UEChMYTmV0d29yayBTb2x1dGlvbnMgTC5MLkMuMTAwLgYDVQQDEydOZXR3b3Jr +IFNvbHV0aW9ucyBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwHhcNMDYxMjAxMDAwMDAwWhcNMjkxMjMx +MjM1OTU5WjBiMQswCQYDVQQGEwJVUzEhMB8GA1UEChMYTmV0d29yayBTb2x1dGlvbnMgTC5MLkMu +MTAwLgYDVQQDEydOZXR3b3JrIFNvbHV0aW9ucyBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwggEiMA0G +CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDkvH6SMG3G2I4rC7xGzuAnlt7e+foS0zwzc7MEL7xx +jOWftiJgPl9dzgn/ggwbmlFQGiaJ3dVhXRncEg8tCqJDXRfQNJIg6nPPOCwGJgl6cvf6UDL4wpPT +aaIjzkGxzOTVHzbRijr4jGPiFFlp7Q3Tf2vouAPlT2rlmGNpSAW+Lv8ztumXWWn4Zxmuk2GWRBXT +crA/vGp97Eh/jcOrqnErU2lBUzS1sLnFBgrEsEX1QV1uiUV7PTsmjHTC5dLRfbIR1PtYMiKagMnc +/Qzpf14Dl847ABSHJ3A4qY5usyd2mFHgBeMhqxrVhSI8KbWaFsWAqPS7azCPL0YCorEMIuDTAgMB +AAGjgZcwgZQwHQYDVR0OBBYEFCEwyfsA106Y2oeqKtCnLrFAMadMMA4GA1UdDwEB/wQEAwIBBjAP +BgNVHRMBAf8EBTADAQH/MFIGA1UdHwRLMEkwR6BFoEOGQWh0dHA6Ly9jcmwubmV0c29sc3NsLmNv +bS9OZXR3b3JrU29sdXRpb25zQ2VydGlmaWNhdGVBdXRob3JpdHkuY3JsMA0GCSqGSIb3DQEBBQUA +A4IBAQC7rkvnt1frf6ott3NHhWrB5KUd5Oc86fRZZXe1eltajSU24HqXLjjAV2CDmAaDn7l2em5Q +4LqILPxFzBiwmZVRDuwduIj/h1AcgsLj4DKAv6ALR8jDMe+ZZzKATxcheQxpXN5eNK4CtSbqUN9/ +GGUsyfJj4akH/nxxH2szJGoeBfcFaMBqEssuXmHLrijTfsK0ZpEmXzwuJF/LWA/rKOyvEZbz3Htv +wKeI8lN3s2Berq4o2jUsbzRF0ybh3uxbTydrFny9RAQYgrOJeRcQcT16ohZO9QHNpGxlaKFJdlxD +ydi8NmdspZS11My5vWo1ViHe2MPr+8ukYEywVaCge1ey +-----END CERTIFICATE----- + +COMODO ECC Certification Authority +================================== +-----BEGIN CERTIFICATE----- +MIICiTCCAg+gAwIBAgIQH0evqmIAcFBUTAGem2OZKjAKBggqhkjOPQQDAzCBhTELMAkGA1UEBhMC +R0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgGA1UE +ChMRQ09NT0RPIENBIExpbWl0ZWQxKzApBgNVBAMTIkNPTU9ETyBFQ0MgQ2VydGlmaWNhdGlvbiBB +dXRob3JpdHkwHhcNMDgwMzA2MDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCBhTELMAkGA1UEBhMCR0Ix +GzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgGA1UEChMR +Q09NT0RPIENBIExpbWl0ZWQxKzApBgNVBAMTIkNPTU9ETyBFQ0MgQ2VydGlmaWNhdGlvbiBBdXRo +b3JpdHkwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAAQDR3svdcmCFYX7deSRFtSrYpn1PlILBs5BAH+X +4QokPB0BBO490o0JlwzgdeT6+3eKKvUDYEs2ixYjFq0JcfRK9ChQtP6IHG4/bC8vCVlbpVsLM5ni +wz2J+Wos77LTBumjQjBAMB0GA1UdDgQWBBR1cacZSBm8nZ3qQUfflMRId5nTeTAOBgNVHQ8BAf8E +BAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAKBggqhkjOPQQDAwNoADBlAjEA7wNbeqy3eApyt4jf/7VG +FAkK+qDmfQjGGoe9GKhzvSbKYAydzpmfz1wPMOG+FDHqAjAU9JM8SaczepBGR7NjfRObTrdvGDeA +U/7dIOA1mjbRxwG55tzd8/8dLDoWV9mSOdY= +-----END CERTIFICATE----- + +OISTE WISeKey Global Root GA CA +=============================== +-----BEGIN CERTIFICATE----- +MIID8TCCAtmgAwIBAgIQQT1yx/RrH4FDffHSKFTfmjANBgkqhkiG9w0BAQUFADCBijELMAkGA1UE +BhMCQ0gxEDAOBgNVBAoTB1dJU2VLZXkxGzAZBgNVBAsTEkNvcHlyaWdodCAoYykgMjAwNTEiMCAG +A1UECxMZT0lTVEUgRm91bmRhdGlvbiBFbmRvcnNlZDEoMCYGA1UEAxMfT0lTVEUgV0lTZUtleSBH +bG9iYWwgUm9vdCBHQSBDQTAeFw0wNTEyMTExNjAzNDRaFw0zNzEyMTExNjA5NTFaMIGKMQswCQYD +VQQGEwJDSDEQMA4GA1UEChMHV0lTZUtleTEbMBkGA1UECxMSQ29weXJpZ2h0IChjKSAyMDA1MSIw +IAYDVQQLExlPSVNURSBGb3VuZGF0aW9uIEVuZG9yc2VkMSgwJgYDVQQDEx9PSVNURSBXSVNlS2V5 +IEdsb2JhbCBSb290IEdBIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAy0+zAJs9 +Nt350UlqaxBJH+zYK7LG+DKBKUOVTJoZIyEVRd7jyBxRVVuuk+g3/ytr6dTqvirdqFEr12bDYVxg +Asj1znJ7O7jyTmUIms2kahnBAbtzptf2w93NvKSLtZlhuAGio9RN1AU9ka34tAhxZK9w8RxrfvbD +d50kc3vkDIzh2TbhmYsFmQvtRTEJysIA2/dyoJaqlYfQjse2YXMNdmaM3Bu0Y6Kff5MTMPGhJ9vZ +/yxViJGg4E8HsChWjBgbl0SOid3gF27nKu+POQoxhILYQBRJLnpB5Kf+42TMwVlxSywhp1t94B3R +LoGbw9ho972WG6xwsRYUC9tguSYBBQIDAQABo1EwTzALBgNVHQ8EBAMCAYYwDwYDVR0TAQH/BAUw +AwEB/zAdBgNVHQ4EFgQUswN+rja8sHnR3JQmthG+IbJphpQwEAYJKwYBBAGCNxUBBAMCAQAwDQYJ +KoZIhvcNAQEFBQADggEBAEuh/wuHbrP5wUOxSPMowB0uyQlB+pQAHKSkq0lPjz0e701vvbyk9vIm +MMkQyh2I+3QZH4VFvbBsUfk2ftv1TDI6QU9bR8/oCy22xBmddMVHxjtqD6wU2zz0c5ypBd8A3HR4 ++vg1YFkCExh8vPtNsCBtQ7tgMHpnM1zFmdH4LTlSc/uMqpclXHLZCB6rTjzjgTGfA6b7wP4piFXa +hNVQA7bihKOmNqoROgHhGEvWRGizPflTdISzRpFGlgC3gCy24eMQ4tui5yiPAZZiFj4A4xylNoEY +okxSdsARo27mHbrjWr42U8U+dY+GaSlYU7Wcu2+fXMUY7N0v4ZjJ/L7fCg0= +-----END CERTIFICATE----- + +Certigna +======== +-----BEGIN CERTIFICATE----- +MIIDqDCCApCgAwIBAgIJAP7c4wEPyUj/MA0GCSqGSIb3DQEBBQUAMDQxCzAJBgNVBAYTAkZSMRIw +EAYDVQQKDAlEaGlteW90aXMxETAPBgNVBAMMCENlcnRpZ25hMB4XDTA3MDYyOTE1MTMwNVoXDTI3 +MDYyOTE1MTMwNVowNDELMAkGA1UEBhMCRlIxEjAQBgNVBAoMCURoaW15b3RpczERMA8GA1UEAwwI +Q2VydGlnbmEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDIaPHJ1tazNHUmgh7stL7q +XOEm7RFHYeGifBZ4QCHkYJ5ayGPhxLGWkv8YbWkj4Sti993iNi+RB7lIzw7sebYs5zRLcAglozyH +GxnygQcPOJAZ0xH+hrTy0V4eHpbNgGzOOzGTtvKg0KmVEn2lmsxryIRWijOp5yIVUxbwzBfsV1/p +ogqYCd7jX5xv3EjjhQsVWqa6n6xI4wmy9/Qy3l40vhx4XUJbzg4ij02Q130yGLMLLGq/jj8UEYkg +DncUtT2UCIf3JR7VsmAA7G8qKCVuKj4YYxclPz5EIBb2JsglrgVKtOdjLPOMFlN+XPsRGgjBRmKf +Irjxwo1p3Po6WAbfAgMBAAGjgbwwgbkwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUGu3+QTmQ +tCRZvgHyUtVF9lo53BEwZAYDVR0jBF0wW4AUGu3+QTmQtCRZvgHyUtVF9lo53BGhOKQ2MDQxCzAJ +BgNVBAYTAkZSMRIwEAYDVQQKDAlEaGlteW90aXMxETAPBgNVBAMMCENlcnRpZ25hggkA/tzjAQ/J +SP8wDgYDVR0PAQH/BAQDAgEGMBEGCWCGSAGG+EIBAQQEAwIABzANBgkqhkiG9w0BAQUFAAOCAQEA +hQMeknH2Qq/ho2Ge6/PAD/Kl1NqV5ta+aDY9fm4fTIrv0Q8hbV6lUmPOEvjvKtpv6zf+EwLHyzs+ +ImvaYS5/1HI93TDhHkxAGYwP15zRgzB7mFncfca5DClMoTOi62c6ZYTTluLtdkVwj7Ur3vkj1klu +PBS1xp81HlDQwY9qcEQCYsuuHWhBp6pX6FOqB9IG9tUUBguRA3UsbHK1YZWaDYu5Def131TN3ubY +1gkIl2PlwS6wt0QmwCbAr1UwnjvVNioZBPRcHv/PLLf/0P2HQBHVESO7SMAhqaQoLf0V+LBOK/Qw +WyH8EZE0vkHve52Xdf+XlcCWWC/qu0bXu+TZLg== +-----END CERTIFICATE----- + +Cybertrust Global Root +====================== +-----BEGIN CERTIFICATE----- +MIIDoTCCAomgAwIBAgILBAAAAAABD4WqLUgwDQYJKoZIhvcNAQEFBQAwOzEYMBYGA1UEChMPQ3li +ZXJ0cnVzdCwgSW5jMR8wHQYDVQQDExZDeWJlcnRydXN0IEdsb2JhbCBSb290MB4XDTA2MTIxNTA4 +MDAwMFoXDTIxMTIxNTA4MDAwMFowOzEYMBYGA1UEChMPQ3liZXJ0cnVzdCwgSW5jMR8wHQYDVQQD +ExZDeWJlcnRydXN0IEdsb2JhbCBSb290MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA ++Mi8vRRQZhP/8NN57CPytxrHjoXxEnOmGaoQ25yiZXRadz5RfVb23CO21O1fWLE3TdVJDm71aofW +0ozSJ8bi/zafmGWgE07GKmSb1ZASzxQG9Dvj1Ci+6A74q05IlG2OlTEQXO2iLb3VOm2yHLtgwEZL +AfVJrn5GitB0jaEMAs7u/OePuGtm839EAL9mJRQr3RAwHQeWP032a7iPt3sMpTjr3kfb1V05/Iin +89cqdPHoWqI7n1C6poxFNcJQZZXcY4Lv3b93TZxiyWNzFtApD0mpSPCzqrdsxacwOUBdrsTiXSZT +8M4cIwhhqJQZugRiQOwfOHB3EgZxpzAYXSUnpQIDAQABo4GlMIGiMA4GA1UdDwEB/wQEAwIBBjAP +BgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBS2CHsNesysIEyGVjJez6tuhS1wVzA/BgNVHR8EODA2 +MDSgMqAwhi5odHRwOi8vd3d3Mi5wdWJsaWMtdHJ1c3QuY29tL2NybC9jdC9jdHJvb3QuY3JsMB8G +A1UdIwQYMBaAFLYIew16zKwgTIZWMl7Pq26FLXBXMA0GCSqGSIb3DQEBBQUAA4IBAQBW7wojoFRO +lZfJ+InaRcHUowAl9B8Tq7ejhVhpwjCt2BWKLePJzYFa+HMjWqd8BfP9IjsO0QbE2zZMcwSO5bAi +5MXzLqXZI+O4Tkogp24CJJ8iYGd7ix1yCcUxXOl5n4BHPa2hCwcUPUf/A2kaDAtE52Mlp3+yybh2 +hO0j9n0Hq0V+09+zv+mKts2oomcrUtW3ZfA5TGOgkXmTUg9U3YO7n9GPp1Nzw8v/MOx8BLjYRB+T +X3EJIrduPuocA06dGiBh+4E37F78CkWr1+cXVdCg6mCbpvbjjFspwgZgFJ0tl0ypkxWdYcQBX0jW +WL1WMRJOEcgh4LMRkWXbtKaIOM5V +-----END CERTIFICATE----- + +ePKI Root Certification Authority +================================= +-----BEGIN CERTIFICATE----- +MIIFsDCCA5igAwIBAgIQFci9ZUdcr7iXAF7kBtK8nTANBgkqhkiG9w0BAQUFADBeMQswCQYDVQQG +EwJUVzEjMCEGA1UECgwaQ2h1bmdod2EgVGVsZWNvbSBDby4sIEx0ZC4xKjAoBgNVBAsMIWVQS0kg +Um9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wNDEyMjAwMjMxMjdaFw0zNDEyMjAwMjMx +MjdaMF4xCzAJBgNVBAYTAlRXMSMwIQYDVQQKDBpDaHVuZ2h3YSBUZWxlY29tIENvLiwgTHRkLjEq +MCgGA1UECwwhZVBLSSBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIICIjANBgkqhkiG9w0B +AQEFAAOCAg8AMIICCgKCAgEA4SUP7o3biDN1Z82tH306Tm2d0y8U82N0ywEhajfqhFAHSyZbCUNs +IZ5qyNUD9WBpj8zwIuQf5/dqIjG3LBXy4P4AakP/h2XGtRrBp0xtInAhijHyl3SJCRImHJ7K2RKi +lTza6We/CKBk49ZCt0Xvl/T29de1ShUCWH2YWEtgvM3XDZoTM1PRYfl61dd4s5oz9wCGzh1NlDiv +qOx4UXCKXBCDUSH3ET00hl7lSM2XgYI1TBnsZfZrxQWh7kcT1rMhJ5QQCtkkO7q+RBNGMD+XPNjX +12ruOzjjK9SXDrkb5wdJfzcq+Xd4z1TtW0ado4AOkUPB1ltfFLqfpo0kR0BZv3I4sjZsN/+Z0V0O +WQqraffAsgRFelQArr5T9rXn4fg8ozHSqf4hUmTFpmfwdQcGlBSBVcYn5AGPF8Fqcde+S/uUWH1+ +ETOxQvdibBjWzwloPn9s9h6PYq2lY9sJpx8iQkEeb5mKPtf5P0B6ebClAZLSnT0IFaUQAS2zMnao +lQ2zepr7BxB4EW/hj8e6DyUadCrlHJhBmd8hh+iVBmoKs2pHdmX2Os+PYhcZewoozRrSgx4hxyy/ +vv9haLdnG7t4TY3OZ+XkwY63I2binZB1NJipNiuKmpS5nezMirH4JYlcWrYvjB9teSSnUmjDhDXi +Zo1jDiVN1Rmy5nk3pyKdVDECAwEAAaNqMGgwHQYDVR0OBBYEFB4M97Zn8uGSJglFwFU5Lnc/Qkqi +MAwGA1UdEwQFMAMBAf8wOQYEZyoHAAQxMC8wLQIBADAJBgUrDgMCGgUAMAcGBWcqAwAABBRFsMLH +ClZ87lt4DJX5GFPBphzYEDANBgkqhkiG9w0BAQUFAAOCAgEACbODU1kBPpVJufGBuvl2ICO1J2B0 +1GqZNF5sAFPZn/KmsSQHRGoqxqWOeBLoR9lYGxMqXnmbnwoqZ6YlPwZpVnPDimZI+ymBV3QGypzq +KOg4ZyYr8dW1P2WT+DZdjo2NQCCHGervJ8A9tDkPJXtoUHRVnAxZfVo9QZQlUgjgRywVMRnVvwdV +xrsStZf0X4OFunHB2WyBEXYKCrC/gpf36j36+uwtqSiUO1bd0lEursC9CBWMd1I0ltabrNMdjmEP +NXubrjlpC2JgQCA2j6/7Nu4tCEoduL+bXPjqpRugc6bY+G7gMwRfaKonh+3ZwZCc7b3jajWvY9+r +GNm65ulK6lCKD2GTHuItGeIwlDWSXQ62B68ZgI9HkFFLLk3dheLSClIKF5r8GrBQAuUBo2M3IUxE +xJtRmREOc5wGj1QupyheRDmHVi03vYVElOEMSyycw5KFNGHLD7ibSkNS/jQ6fbjpKdx2qcgw+BRx +gMYeNkh0IkFch4LoGHGLQYlE535YW6i4jRPpp2zDR+2zGp1iro2C6pSe3VkQw63d4k3jMdXH7Ojy +sP6SHhYKGvzZ8/gntsm+HbRsZJB/9OTEW9c3rkIO3aQab3yIVMUWbuF6aC74Or8NpDyJO3inTmOD +BCEIZ43ygknQW/2xzQ+DhNQ+IIX3Sj0rnP0qCglN6oH4EZw= +-----END CERTIFICATE----- + +certSIGN ROOT CA +================ +-----BEGIN CERTIFICATE----- +MIIDODCCAiCgAwIBAgIGIAYFFnACMA0GCSqGSIb3DQEBBQUAMDsxCzAJBgNVBAYTAlJPMREwDwYD +VQQKEwhjZXJ0U0lHTjEZMBcGA1UECxMQY2VydFNJR04gUk9PVCBDQTAeFw0wNjA3MDQxNzIwMDRa +Fw0zMTA3MDQxNzIwMDRaMDsxCzAJBgNVBAYTAlJPMREwDwYDVQQKEwhjZXJ0U0lHTjEZMBcGA1UE +CxMQY2VydFNJR04gUk9PVCBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALczuX7I +JUqOtdu0KBuqV5Do0SLTZLrTk+jUrIZhQGpgV2hUhE28alQCBf/fm5oqrl0Hj0rDKH/v+yv6efHH +rfAQUySQi2bJqIirr1qjAOm+ukbuW3N7LBeCgV5iLKECZbO9xSsAfsT8AzNXDe3i+s5dRdY4zTW2 +ssHQnIFKquSyAVwdj1+ZxLGt24gh65AIgoDzMKND5pCCrlUoSe1b16kQOA7+j0xbm0bqQfWwCHTD +0IgztnzXdN/chNFDDnU5oSVAKOp4yw4sLjmdjItuFhwvJoIQ4uNllAoEwF73XVv4EOLQunpL+943 +AAAaWyjj0pxzPjKHmKHJUS/X3qwzs08CAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8B +Af8EBAMCAcYwHQYDVR0OBBYEFOCMm9slSbPxfIbWskKHC9BroNnkMA0GCSqGSIb3DQEBBQUAA4IB +AQA+0hyJLjX8+HXd5n9liPRyTMks1zJO890ZeUe9jjtbkw9QSSQTaxQGcu8J06Gh40CEyecYMnQ8 +SG4Pn0vU9x7Tk4ZkVJdjclDVVc/6IJMCopvDI5NOFlV2oHB5bc0hH88vLbwZ44gx+FkagQnIl6Z0 +x2DEW8xXjrJ1/RsCCdtZb3KTafcxQdaIOL+Hsr0Wefmq5L6IJd1hJyMctTEHBDa0GpC9oHRxUIlt +vBTjD4au8as+x6AJzKNI0eDbZOeStc+vckNwi/nDhDwTqn6Sm1dTk/pwwpEOMfmbZ13pljheX7Nz +TogVZ96edhBiIL5VaZVDADlN9u6wWk5JRFRYX0KD +-----END CERTIFICATE----- + +GeoTrust Primary Certification Authority - G3 +============================================= +-----BEGIN CERTIFICATE----- +MIID/jCCAuagAwIBAgIQFaxulBmyeUtB9iepwxgPHzANBgkqhkiG9w0BAQsFADCBmDELMAkGA1UE +BhMCVVMxFjAUBgNVBAoTDUdlb1RydXN0IEluYy4xOTA3BgNVBAsTMChjKSAyMDA4IEdlb1RydXN0 +IEluYy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25seTE2MDQGA1UEAxMtR2VvVHJ1c3QgUHJpbWFy +eSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEczMB4XDTA4MDQwMjAwMDAwMFoXDTM3MTIwMTIz +NTk1OVowgZgxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMTkwNwYDVQQLEzAo +YykgMjAwOCBHZW9UcnVzdCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxNjA0BgNVBAMT +LUdlb1RydXN0IFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBHMzCCASIwDQYJKoZI +hvcNAQEBBQADggEPADCCAQoCggEBANziXmJYHTNXOTIz+uvLh4yn1ErdBojqZI4xmKU4kB6Yzy5j +K/BGvESyiaHAKAxJcCGVn2TAppMSAmUmhsalifD614SgcK9PGpc/BkTVyetyEH3kMSj7HGHmKAdE +c5IiaacDiGydY8hS2pgn5whMcD60yRLBxWeDXTPzAxHsatBT4tG6NmCUgLthY2xbF37fQJQeqw3C +IShwiP/WJmxsYAQlTlV+fe+/lEjetx3dcI0FX4ilm/LC7urRQEFtYjgdVgbFA0dRIBn8exALDmKu +dlW/X3e+PkkBUz2YJQN2JFodtNuJ6nnltrM7P7pMKEF/BqxqjsHQ9gUdfeZChuOl1UcCAwEAAaNC +MEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFMR5yo6hTgMdHNxr +2zFblD4/MH8tMA0GCSqGSIb3DQEBCwUAA4IBAQAtxRPPVoB7eni9n64smefv2t+UXglpp+duaIy9 +cr5HqQ6XErhK8WTTOd8lNNTBzU6B8A8ExCSzNJbGpqow32hhc9f5joWJ7w5elShKKiePEI4ufIbE +Ap7aDHdlDkQNkv39sxY2+hENHYwOB4lqKVb3cvTdFZx3NWZXqxNT2I7BQMXXExZacse3aQHEerGD +AWh9jUGhlBjBJVz88P6DAod8DQ3PLghcSkANPuyBYeYk28rgDi0Hsj5W3I31QYUHSJsMC8tJP33s +t/3LjWeJGqvtux6jAAgIFyqCXDFdRootD4abdNlF+9RAsXqqaC2Gspki4cErx5z481+oghLrGREt +-----END CERTIFICATE----- + +thawte Primary Root CA - G2 +=========================== +-----BEGIN CERTIFICATE----- +MIICiDCCAg2gAwIBAgIQNfwmXNmET8k9Jj1Xm67XVjAKBggqhkjOPQQDAzCBhDELMAkGA1UEBhMC +VVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjE4MDYGA1UECxMvKGMpIDIwMDcgdGhhd3RlLCBJbmMu +IC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxJDAiBgNVBAMTG3RoYXd0ZSBQcmltYXJ5IFJvb3Qg +Q0EgLSBHMjAeFw0wNzExMDUwMDAwMDBaFw0zODAxMTgyMzU5NTlaMIGEMQswCQYDVQQGEwJVUzEV +MBMGA1UEChMMdGhhd3RlLCBJbmMuMTgwNgYDVQQLEy8oYykgMjAwNyB0aGF3dGUsIEluYy4gLSBG +b3IgYXV0aG9yaXplZCB1c2Ugb25seTEkMCIGA1UEAxMbdGhhd3RlIFByaW1hcnkgUm9vdCBDQSAt +IEcyMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEotWcgnuVnfFSeIf+iha/BebfowJPDQfGAFG6DAJS +LSKkQjnE/o/qycG+1E3/n3qe4rF8mq2nhglzh9HnmuN6papu+7qzcMBniKI11KOasf2twu8x+qi5 +8/sIxpHR+ymVo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQU +mtgAMADna3+FGO6Lts6KDPgR4bswCgYIKoZIzj0EAwMDaQAwZgIxAN344FdHW6fmCsO99YCKlzUN +G4k8VIZ3KMqh9HneteY4sPBlcIx/AlTCv//YoT7ZzwIxAMSNlPzcU9LcnXgWHxUzI1NS41oxXZ3K +rr0TKUQNJ1uo52icEvdYPy5yAlejj6EULg== +-----END CERTIFICATE----- + +thawte Primary Root CA - G3 +=========================== +-----BEGIN CERTIFICATE----- +MIIEKjCCAxKgAwIBAgIQYAGXt0an6rS0mtZLL/eQ+zANBgkqhkiG9w0BAQsFADCBrjELMAkGA1UE +BhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2 +aWNlcyBEaXZpc2lvbjE4MDYGA1UECxMvKGMpIDIwMDggdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhv +cml6ZWQgdXNlIG9ubHkxJDAiBgNVBAMTG3RoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EgLSBHMzAeFw0w +ODA0MDIwMDAwMDBaFw0zNzEyMDEyMzU5NTlaMIGuMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMdGhh +d3RlLCBJbmMuMSgwJgYDVQQLEx9DZXJ0aWZpY2F0aW9uIFNlcnZpY2VzIERpdmlzaW9uMTgwNgYD +VQQLEy8oYykgMjAwOCB0aGF3dGUsIEluYy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25seTEkMCIG +A1UEAxMbdGhhd3RlIFByaW1hcnkgUm9vdCBDQSAtIEczMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A +MIIBCgKCAQEAsr8nLPvb2FvdeHsbnndmgcs+vHyu86YnmjSjaDFxODNi5PNxZnmxqWWjpYvVj2At +P0LMqmsywCPLLEHd5N/8YZzic7IilRFDGF/Eth9XbAoFWCLINkw6fKXRz4aviKdEAhN0cXMKQlkC ++BsUa0Lfb1+6a4KinVvnSr0eAXLbS3ToO39/fR8EtCab4LRarEc9VbjXsCZSKAExQGbY2SS99irY +7CFJXJv2eul/VTV+lmuNk5Mny5K76qxAwJ/C+IDPXfRa3M50hqY+bAtTyr2SzhkGcuYMXDhpxwTW +vGzOW/b3aJzcJRVIiKHpqfiYnODz1TEoYRFsZ5aNOZnLwkUkOQIDAQABo0IwQDAPBgNVHRMBAf8E +BTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUrWyqlGCc7eT/+j4KdCtjA/e2Wb8wDQYJ +KoZIhvcNAQELBQADggEBABpA2JVlrAmSicY59BDlqQ5mU1143vokkbvnRFHfxhY0Cu9qRFHqKweK +A3rD6z8KLFIWoCtDuSWQP3CpMyVtRRooOyfPqsMpQhvfO0zAMzRbQYi/aytlryjvsvXDqmbOe1bu +t8jLZ8HJnBoYuMTDSQPxYA5QzUbF83d597YV4Djbxy8ooAw/dyZ02SUS2jHaGh7cKUGRIjxpp7sC +8rZcJwOJ9Abqm+RyguOhCcHpABnTPtRwa7pxpqpYrvS76Wy274fMm7v/OeZWYdMKp8RcTGB7BXcm +er/YB1IsYvdwY9k5vG8cwnncdimvzsUsZAReiDZuMdRAGmI0Nj81Aa6sY6A= +-----END CERTIFICATE----- + +GeoTrust Primary Certification Authority - G2 +============================================= +-----BEGIN CERTIFICATE----- +MIICrjCCAjWgAwIBAgIQPLL0SAoA4v7rJDteYD7DazAKBggqhkjOPQQDAzCBmDELMAkGA1UEBhMC +VVMxFjAUBgNVBAoTDUdlb1RydXN0IEluYy4xOTA3BgNVBAsTMChjKSAyMDA3IEdlb1RydXN0IElu +Yy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25seTE2MDQGA1UEAxMtR2VvVHJ1c3QgUHJpbWFyeSBD +ZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEcyMB4XDTA3MTEwNTAwMDAwMFoXDTM4MDExODIzNTk1 +OVowgZgxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMTkwNwYDVQQLEzAoYykg +MjAwNyBHZW9UcnVzdCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxNjA0BgNVBAMTLUdl +b1RydXN0IFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBHMjB2MBAGByqGSM49AgEG +BSuBBAAiA2IABBWx6P0DFUPlrOuHNxFi79KDNlJ9RVcLSo17VDs6bl8VAsBQps8lL33KSLjHUGMc +KiEIfJo22Av+0SbFWDEwKCXzXV2juLaltJLtbCyf691DiaI8S0iRHVDsJt/WYC69IaNCMEAwDwYD +VR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFBVfNVdRVfslsq0DafwBo/q+ +EVXVMAoGCCqGSM49BAMDA2cAMGQCMGSWWaboCd6LuvpaiIjwH5HTRqjySkwCY/tsXzjbLkGTqQ7m +ndwxHLKgpxgceeHHNgIwOlavmnRs9vuD4DPTCF+hnMJbn0bWtsuRBmOiBuczrD6ogRLQy7rQkgu2 +npaqBA+K +-----END CERTIFICATE----- + +VeriSign Universal Root Certification Authority +=============================================== +-----BEGIN CERTIFICATE----- +MIIEuTCCA6GgAwIBAgIQQBrEZCGzEyEDDrvkEhrFHTANBgkqhkiG9w0BAQsFADCBvTELMAkGA1UE +BhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2lnbiBUcnVzdCBO +ZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwOCBWZXJpU2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVk +IHVzZSBvbmx5MTgwNgYDVQQDEy9WZXJpU2lnbiBVbml2ZXJzYWwgUm9vdCBDZXJ0aWZpY2F0aW9u +IEF1dGhvcml0eTAeFw0wODA0MDIwMDAwMDBaFw0zNzEyMDEyMzU5NTlaMIG9MQswCQYDVQQGEwJV +UzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRydXN0IE5ldHdv +cmsxOjA4BgNVBAsTMShjKSAyMDA4IFZlcmlTaWduLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNl +IG9ubHkxODA2BgNVBAMTL1ZlcmlTaWduIFVuaXZlcnNhbCBSb290IENlcnRpZmljYXRpb24gQXV0 +aG9yaXR5MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAx2E3XrEBNNti1xWb/1hajCMj +1mCOkdeQmIN65lgZOIzF9uVkhbSicfvtvbnazU0AtMgtc6XHaXGVHzk8skQHnOgO+k1KxCHfKWGP +MiJhgsWHH26MfF8WIFFE0XBPV+rjHOPMee5Y2A7Cs0WTwCznmhcrewA3ekEzeOEz4vMQGn+HLL72 +9fdC4uW/h2KJXwBL38Xd5HVEMkE6HnFuacsLdUYI0crSK5XQz/u5QGtkjFdN/BMReYTtXlT2NJ8I +AfMQJQYXStrxHXpma5hgZqTZ79IugvHw7wnqRMkVauIDbjPTrJ9VAMf2CGqUuV/c4DPxhGD5WycR +tPwW8rtWaoAljQIDAQABo4GyMIGvMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMG0G +CCsGAQUFBwEMBGEwX6FdoFswWTBXMFUWCWltYWdlL2dpZjAhMB8wBwYFKw4DAhoEFI/l0xqGrI2O +a8PPgGrUSBgsexkuMCUWI2h0dHA6Ly9sb2dvLnZlcmlzaWduLmNvbS92c2xvZ28uZ2lmMB0GA1Ud +DgQWBBS2d/ppSEefUxLVwuoHMnYH0ZcHGTANBgkqhkiG9w0BAQsFAAOCAQEASvj4sAPmLGd75JR3 +Y8xuTPl9Dg3cyLk1uXBPY/ok+myDjEedO2Pzmvl2MpWRsXe8rJq+seQxIcaBlVZaDrHC1LGmWazx +Y8u4TB1ZkErvkBYoH1quEPuBUDgMbMzxPcP1Y+Oz4yHJJDnp/RVmRvQbEdBNc6N9Rvk97ahfYtTx +P/jgdFcrGJ2BtMQo2pSXpXDrrB2+BxHw1dvd5Yzw1TKwg+ZX4o+/vqGqvz0dtdQ46tewXDpPaj+P +wGZsY6rp2aQW9IHRlRQOfc2VNNnSj3BzgXucfr2YYdhFh5iQxeuGMMY1v/D/w1WIg0vvBZIGcfK4 +mJO37M2CYfE45k+XmCpajQ== +-----END CERTIFICATE----- + +VeriSign Class 3 Public Primary Certification Authority - G4 +============================================================ +-----BEGIN CERTIFICATE----- +MIIDhDCCAwqgAwIBAgIQL4D+I4wOIg9IZxIokYesszAKBggqhkjOPQQDAzCByjELMAkGA1UEBhMC +VVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2lnbiBUcnVzdCBOZXR3 +b3JrMTowOAYDVQQLEzEoYykgMjAwNyBWZXJpU2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVz +ZSBvbmx5MUUwQwYDVQQDEzxWZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmlj +YXRpb24gQXV0aG9yaXR5IC0gRzQwHhcNMDcxMTA1MDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCByjEL +MAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2lnbiBU +cnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNyBWZXJpU2lnbiwgSW5jLiAtIEZvciBhdXRo +b3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5 +IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRzQwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAASnVnp8 +Utpkmw4tXNherJI9/gHmGUo9FANL+mAnINmDiWn6VMaaGF5VKmTeBvaNSjutEDxlPZCIBIngMGGz +rl0Bp3vefLK+ymVhAIau2o970ImtTR1ZmkGxvEeA3J5iw/mjgbIwga8wDwYDVR0TAQH/BAUwAwEB +/zAOBgNVHQ8BAf8EBAMCAQYwbQYIKwYBBQUHAQwEYTBfoV2gWzBZMFcwVRYJaW1hZ2UvZ2lmMCEw +HzAHBgUrDgMCGgQUj+XTGoasjY5rw8+AatRIGCx7GS4wJRYjaHR0cDovL2xvZ28udmVyaXNpZ24u +Y29tL3ZzbG9nby5naWYwHQYDVR0OBBYEFLMWkf3upm7ktS5Jj4d4gYDs5bG1MAoGCCqGSM49BAMD +A2gAMGUCMGYhDBgmYFo4e1ZC4Kf8NoRRkSAsdk1DPcQdhCPQrNZ8NQbOzWm9kA3bbEhCHQ6qQgIx +AJw9SDkjOVgaFRJZap7v1VmyHVIsmXHNxynfGyphe3HR3vPA5Q06Sqotp9iGKt0uEA== +-----END CERTIFICATE----- + +NetLock Arany (Class Gold) Főtanúsítvány +======================================== +-----BEGIN CERTIFICATE----- +MIIEFTCCAv2gAwIBAgIGSUEs5AAQMA0GCSqGSIb3DQEBCwUAMIGnMQswCQYDVQQGEwJIVTERMA8G +A1UEBwwIQnVkYXBlc3QxFTATBgNVBAoMDE5ldExvY2sgS2Z0LjE3MDUGA1UECwwuVGFuw7pzw610 +dsOhbnlraWFkw7NrIChDZXJ0aWZpY2F0aW9uIFNlcnZpY2VzKTE1MDMGA1UEAwwsTmV0TG9jayBB +cmFueSAoQ2xhc3MgR29sZCkgRsWRdGFuw7pzw610dsOhbnkwHhcNMDgxMjExMTUwODIxWhcNMjgx +MjA2MTUwODIxWjCBpzELMAkGA1UEBhMCSFUxETAPBgNVBAcMCEJ1ZGFwZXN0MRUwEwYDVQQKDAxO +ZXRMb2NrIEtmdC4xNzA1BgNVBAsMLlRhbsO6c8OtdHbDoW55a2lhZMOzayAoQ2VydGlmaWNhdGlv +biBTZXJ2aWNlcykxNTAzBgNVBAMMLE5ldExvY2sgQXJhbnkgKENsYXNzIEdvbGQpIEbFkXRhbsO6 +c8OtdHbDoW55MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxCRec75LbRTDofTjl5Bu +0jBFHjzuZ9lk4BqKf8owyoPjIMHj9DrTlF8afFttvzBPhCf2nx9JvMaZCpDyD/V/Q4Q3Y1GLeqVw +/HpYzY6b7cNGbIRwXdrzAZAj/E4wqX7hJ2Pn7WQ8oLjJM2P+FpD/sLj916jAwJRDC7bVWaaeVtAk +H3B5r9s5VA1lddkVQZQBr17s9o3x/61k/iCa11zr/qYfCGSji3ZVrR47KGAuhyXoqq8fxmRGILdw +fzzeSNuWU7c5d+Qa4scWhHaXWy+7GRWF+GmF9ZmnqfI0p6m2pgP8b4Y9VHx2BJtr+UBdADTHLpl1 +neWIA6pN+APSQnbAGwIDAKiLo0UwQzASBgNVHRMBAf8ECDAGAQH/AgEEMA4GA1UdDwEB/wQEAwIB +BjAdBgNVHQ4EFgQUzPpnk/C2uNClwB7zU/2MU9+D15YwDQYJKoZIhvcNAQELBQADggEBAKt/7hwW +qZw8UQCgwBEIBaeZ5m8BiFRhbvG5GK1Krf6BQCOUL/t1fC8oS2IkgYIL9WHxHG64YTjrgfpioTta +YtOUZcTh5m2C+C8lcLIhJsFyUR+MLMOEkMNaj7rP9KdlpeuY0fsFskZ1FSNqb4VjMIDw1Z4fKRzC +bLBQWV2QWzuoDTDPv31/zvGdg73JRm4gpvlhUbohL3u+pRVjodSVh/GeufOJ8z2FuLjbvrW5Kfna +NwUASZQDhETnv0Mxz3WLJdH0pmT1kvarBes96aULNmLazAZfNou2XjG4Kvte9nHfRCaexOYNkbQu +dZWAUWpLMKawYqGT8ZvYzsRjdT9ZR7E= +-----END CERTIFICATE----- + +Staat der Nederlanden Root CA - G2 +================================== +-----BEGIN CERTIFICATE----- +MIIFyjCCA7KgAwIBAgIEAJiWjDANBgkqhkiG9w0BAQsFADBaMQswCQYDVQQGEwJOTDEeMBwGA1UE +CgwVU3RhYXQgZGVyIE5lZGVybGFuZGVuMSswKQYDVQQDDCJTdGFhdCBkZXIgTmVkZXJsYW5kZW4g +Um9vdCBDQSAtIEcyMB4XDTA4MDMyNjExMTgxN1oXDTIwMDMyNTExMDMxMFowWjELMAkGA1UEBhMC +TkwxHjAcBgNVBAoMFVN0YWF0IGRlciBOZWRlcmxhbmRlbjErMCkGA1UEAwwiU3RhYXQgZGVyIE5l +ZGVybGFuZGVuIFJvb3QgQ0EgLSBHMjCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMVZ +5291qj5LnLW4rJ4L5PnZyqtdj7U5EILXr1HgO+EASGrP2uEGQxGZqhQlEq0i6ABtQ8SpuOUfiUtn +vWFI7/3S4GCI5bkYYCjDdyutsDeqN95kWSpGV+RLufg3fNU254DBtvPUZ5uW6M7XxgpT0GtJlvOj +CwV3SPcl5XCsMBQgJeN/dVrlSPhOewMHBPqCYYdu8DvEpMfQ9XQ+pV0aCPKbJdL2rAQmPlU6Yiil +e7Iwr/g3wtG61jj99O9JMDeZJiFIhQGp5Rbn3JBV3w/oOM2ZNyFPXfUib2rFEhZgF1XyZWampzCR +OME4HYYEhLoaJXhena/MUGDWE4dS7WMfbWV9whUYdMrhfmQpjHLYFhN9C0lK8SgbIHRrxT3dsKpI +CT0ugpTNGmXZK4iambwYfp/ufWZ8Pr2UuIHOzZgweMFvZ9C+X+Bo7d7iscksWXiSqt8rYGPy5V65 +48r6f1CGPqI0GAwJaCgRHOThuVw+R7oyPxjMW4T182t0xHJ04eOLoEq9jWYv6q012iDTiIJh8BIi +trzQ1aTsr1SIJSQ8p22xcik/Plemf1WvbibG/ufMQFxRRIEKeN5KzlW/HdXZt1bv8Hb/C3m1r737 +qWmRRpdogBQ2HbN/uymYNqUg+oJgYjOk7Na6B6duxc8UpufWkjTYgfX8HV2qXB72o007uPc5AgMB +AAGjgZcwgZQwDwYDVR0TAQH/BAUwAwEB/zBSBgNVHSAESzBJMEcGBFUdIAAwPzA9BggrBgEFBQcC +ARYxaHR0cDovL3d3dy5wa2lvdmVyaGVpZC5ubC9wb2xpY2llcy9yb290LXBvbGljeS1HMjAOBgNV +HQ8BAf8EBAMCAQYwHQYDVR0OBBYEFJFoMocVHYnitfGsNig0jQt8YojrMA0GCSqGSIb3DQEBCwUA +A4ICAQCoQUpnKpKBglBu4dfYszk78wIVCVBR7y29JHuIhjv5tLySCZa59sCrI2AGeYwRTlHSeYAz ++51IvuxBQ4EffkdAHOV6CMqqi3WtFMTC6GY8ggen5ieCWxjmD27ZUD6KQhgpxrRW/FYQoAUXvQwj +f/ST7ZwaUb7dRUG/kSS0H4zpX897IZmflZ85OkYcbPnNe5yQzSipx6lVu6xiNGI1E0sUOlWDuYaN +kqbG9AclVMwWVxJKgnjIFNkXgiYtXSAfea7+1HAWFpWD2DU5/1JddRwWxRNVz0fMdWVSSt7wsKfk +CpYL+63C4iWEst3kvX5ZbJvw8NjnyvLplzh+ib7M+zkXYT9y2zqR2GUBGR2tUKRXCnxLvJxxcypF +URmFzI79R6d0lR2o0a9OF7FpJsKqeFdbxU2n5Z4FF5TKsl+gSRiNNOkmbEgeqmiSBeGCc1qb3Adb +CG19ndeNIdn8FCCqwkXfP+cAslHkwvgFuXkajDTznlvkN1trSt8sV4pAWja63XVECDdCcAz+3F4h +oKOKwJCcaNpQ5kUQR3i2TtJlycM33+FCY7BXN0Ute4qcvwXqZVUz9zkQxSgqIXobisQk+T8VyJoV +IPVVYpbtbZNQvOSqeK3Zywplh6ZmwcSBo3c6WB4L7oOLnR7SUqTMHW+wmG2UMbX4cQrcufx9MmDm +66+KAQ== +-----END CERTIFICATE----- + +Hongkong Post Root CA 1 +======================= +-----BEGIN CERTIFICATE----- +MIIDMDCCAhigAwIBAgICA+gwDQYJKoZIhvcNAQEFBQAwRzELMAkGA1UEBhMCSEsxFjAUBgNVBAoT +DUhvbmdrb25nIFBvc3QxIDAeBgNVBAMTF0hvbmdrb25nIFBvc3QgUm9vdCBDQSAxMB4XDTAzMDUx +NTA1MTMxNFoXDTIzMDUxNTA0NTIyOVowRzELMAkGA1UEBhMCSEsxFjAUBgNVBAoTDUhvbmdrb25n +IFBvc3QxIDAeBgNVBAMTF0hvbmdrb25nIFBvc3QgUm9vdCBDQSAxMIIBIjANBgkqhkiG9w0BAQEF +AAOCAQ8AMIIBCgKCAQEArP84tulmAknjorThkPlAj3n54r15/gK97iSSHSL22oVyaf7XPwnU3ZG1 +ApzQjVrhVcNQhrkpJsLj2aDxaQMoIIBFIi1WpztUlVYiWR8o3x8gPW2iNr4joLFutbEnPzlTCeqr +auh0ssJlXI6/fMN4hM2eFvz1Lk8gKgifd/PFHsSaUmYeSF7jEAaPIpjhZY4bXSNmO7ilMlHIhqqh +qZ5/dpTCpmy3QfDVyAY45tQM4vM7TG1QjMSDJ8EThFk9nnV0ttgCXjqQesBCNnLsak3c78QA3xMY +V18meMjWCnl3v/evt3a5pQuEF10Q6m/hq5URX208o1xNg1vysxmKgIsLhwIDAQABoyYwJDASBgNV +HRMBAf8ECDAGAQH/AgEDMA4GA1UdDwEB/wQEAwIBxjANBgkqhkiG9w0BAQUFAAOCAQEADkbVPK7i +h9legYsCmEEIjEy82tvuJxuC52pF7BaLT4Wg87JwvVqWuspube5Gi27nKi6Wsxkz67SfqLI37pio +l7Yutmcn1KZJ/RyTZXaeQi/cImyaT/JaFTmxcdcrUehtHJjA2Sr0oYJ71clBoiMBdDhViw+5Lmei +IAQ32pwL0xch4I+XeTRvhEgCIDMb5jREn5Fw9IBehEPCKdJsEhTkYY2sEJCehFC78JZvRZ+K88ps +T/oROhUVRsPNH4NbLUES7VBnQRM9IauUiqpOfMGx+6fWtScvl6tu4B3i0RwsH0Ti/L6RoZz71ilT +c4afU9hDDl3WY4JxHYB0yvbiAmvZWg== +-----END CERTIFICATE----- + +SecureSign RootCA11 +=================== +-----BEGIN CERTIFICATE----- +MIIDbTCCAlWgAwIBAgIBATANBgkqhkiG9w0BAQUFADBYMQswCQYDVQQGEwJKUDErMCkGA1UEChMi +SmFwYW4gQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcywgSW5jLjEcMBoGA1UEAxMTU2VjdXJlU2lnbiBS +b290Q0ExMTAeFw0wOTA0MDgwNDU2NDdaFw0yOTA0MDgwNDU2NDdaMFgxCzAJBgNVBAYTAkpQMSsw +KQYDVQQKEyJKYXBhbiBDZXJ0aWZpY2F0aW9uIFNlcnZpY2VzLCBJbmMuMRwwGgYDVQQDExNTZWN1 +cmVTaWduIFJvb3RDQTExMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA/XeqpRyQBTvL +TJszi1oURaTnkBbR31fSIRCkF/3frNYfp+TbfPfs37gD2pRY/V1yfIw/XwFndBWW4wI8h9uuywGO +wvNmxoVF9ALGOrVisq/6nL+k5tSAMJjzDbaTj6nU2DbysPyKyiyhFTOVMdrAG/LuYpmGYz+/3ZMq +g6h2uRMft85OQoWPIucuGvKVCbIFtUROd6EgvanyTgp9UK31BQ1FT0Zx/Sg+U/sE2C3XZR1KG/rP +O7AxmjVuyIsG0wCR8pQIZUyxNAYAeoni8McDWc/V1uinMrPmmECGxc0nEovMe863ETxiYAcjPitA +bpSACW22s293bzUIUPsCh8U+iQIDAQABo0IwQDAdBgNVHQ4EFgQUW/hNT7KlhtQ60vFjmqC+CfZX +t94wDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBAKCh +OBZmLqdWHyGcBvod7bkixTgm2E5P7KN/ed5GIaGHd48HCJqypMWvDzKYC3xmKbabfSVSSUOrTC4r +bnpwrxYO4wJs+0LmGJ1F2FXI6Dvd5+H0LgscNFxsWEr7jIhQX5Ucv+2rIrVls4W6ng+4reV6G4pQ +Oh29Dbx7VFALuUKvVaAYga1lme++5Jy/xIWrQbJUb9wlze144o4MjQlJ3WN7WmmWAiGovVJZ6X01 +y8hSyn+B/tlr0/cR7SXf+Of5pPpyl4RTDaXQMhhRdlkUbA/r7F+AjHVDg8OFmP9Mni0N5HeDk061 +lgeLKBObjBmNQSdJQO7e5iNEOdyhIta6A/I= +-----END CERTIFICATE----- + +Microsec e-Szigno Root CA 2009 +============================== +-----BEGIN CERTIFICATE----- +MIIECjCCAvKgAwIBAgIJAMJ+QwRORz8ZMA0GCSqGSIb3DQEBCwUAMIGCMQswCQYDVQQGEwJIVTER +MA8GA1UEBwwIQnVkYXBlc3QxFjAUBgNVBAoMDU1pY3Jvc2VjIEx0ZC4xJzAlBgNVBAMMHk1pY3Jv +c2VjIGUtU3ppZ25vIFJvb3QgQ0EgMjAwOTEfMB0GCSqGSIb3DQEJARYQaW5mb0BlLXN6aWduby5o +dTAeFw0wOTA2MTYxMTMwMThaFw0yOTEyMzAxMTMwMThaMIGCMQswCQYDVQQGEwJIVTERMA8GA1UE +BwwIQnVkYXBlc3QxFjAUBgNVBAoMDU1pY3Jvc2VjIEx0ZC4xJzAlBgNVBAMMHk1pY3Jvc2VjIGUt +U3ppZ25vIFJvb3QgQ0EgMjAwOTEfMB0GCSqGSIb3DQEJARYQaW5mb0BlLXN6aWduby5odTCCASIw +DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOn4j/NjrdqG2KfgQvvPkd6mJviZpWNwrZuuyjNA +fW2WbqEORO7hE52UQlKavXWFdCyoDh2Tthi3jCyoz/tccbna7P7ofo/kLx2yqHWH2Leh5TvPmUpG +0IMZfcChEhyVbUr02MelTTMuhTlAdX4UfIASmFDHQWe4oIBhVKZsTh/gnQ4H6cm6M+f+wFUoLAKA +pxn1ntxVUwOXewdI/5n7N4okxFnMUBBjjqqpGrCEGob5X7uxUG6k0QrM1XF+H6cbfPVTbiJfyyvm +1HxdrtbCxkzlBQHZ7Vf8wSN5/PrIJIOV87VqUQHQd9bpEqH5GoP7ghu5sJf0dgYzQ0mg/wu1+rUC +AwEAAaOBgDB+MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBTLD8bf +QkPMPcu1SCOhGnqmKrs0aDAfBgNVHSMEGDAWgBTLD8bfQkPMPcu1SCOhGnqmKrs0aDAbBgNVHREE +FDASgRBpbmZvQGUtc3ppZ25vLmh1MA0GCSqGSIb3DQEBCwUAA4IBAQDJ0Q5eLtXMs3w+y/w9/w0o +lZMEyL/azXm4Q5DwpL7v8u8hmLzU1F0G9u5C7DBsoKqpyvGvivo/C3NqPuouQH4frlRheesuCDfX +I/OMn74dseGkddug4lQUsbocKaQY9hK6ohQU4zE1yED/t+AFdlfBHFny+L/k7SViXITwfn4fs775 +tyERzAMBVnCnEJIeGzSBHq2cGsMEPO0CYdYeBvNfOofyK/FFh+U9rNHHV4S9a67c2Pm2G2JwCz02 +yULyMtd6YebS2z3PyKnJm9zbWETXbzivf3jTo60adbocwTZ8jx5tHMN1Rq41Bab2XD0h7lbwyYIi +LXpUq3DDfSJlgnCW +-----END CERTIFICATE----- + +GlobalSign Root CA - R3 +======================= +-----BEGIN CERTIFICATE----- +MIIDXzCCAkegAwIBAgILBAAAAAABIVhTCKIwDQYJKoZIhvcNAQELBQAwTDEgMB4GA1UECxMXR2xv +YmFsU2lnbiBSb290IENBIC0gUjMxEzARBgNVBAoTCkdsb2JhbFNpZ24xEzARBgNVBAMTCkdsb2Jh +bFNpZ24wHhcNMDkwMzE4MTAwMDAwWhcNMjkwMzE4MTAwMDAwWjBMMSAwHgYDVQQLExdHbG9iYWxT +aWduIFJvb3QgQ0EgLSBSMzETMBEGA1UEChMKR2xvYmFsU2lnbjETMBEGA1UEAxMKR2xvYmFsU2ln +bjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMwldpB5BngiFvXAg7aEyiie/QV2EcWt +iHL8RgJDx7KKnQRfJMsuS+FggkbhUqsMgUdwbN1k0ev1LKMPgj0MK66X17YUhhB5uzsTgHeMCOFJ +0mpiLx9e+pZo34knlTifBtc+ycsmWQ1z3rDI6SYOgxXG71uL0gRgykmmKPZpO/bLyCiR5Z2KYVc3 +rHQU3HTgOu5yLy6c+9C7v/U9AOEGM+iCK65TpjoWc4zdQQ4gOsC0p6Hpsk+QLjJg6VfLuQSSaGjl +OCZgdbKfd/+RFO+uIEn8rUAVSNECMWEZXriX7613t2Saer9fwRPvm2L7DWzgVGkWqQPabumDk3F2 +xmmFghcCAwEAAaNCMEAwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYE +FI/wS3+oLkUkrk1Q+mOai97i3Ru8MA0GCSqGSIb3DQEBCwUAA4IBAQBLQNvAUKr+yAzv95ZURUm7 +lgAJQayzE4aGKAczymvmdLm6AC2upArT9fHxD4q/c2dKg8dEe3jgr25sbwMpjjM5RcOO5LlXbKr8 +EpbsU8Yt5CRsuZRj+9xTaGdWPoO4zzUhw8lo/s7awlOqzJCK6fBdRoyV3XpYKBovHd7NADdBj+1E +bddTKJd+82cEHhXXipa0095MJ6RMG3NzdvQXmcIfeg7jLQitChws/zyrVQ4PkX4268NXSb7hLi18 +YIvDQVETI53O9zJrlAGomecsMx86OyXShkDOOyyGeMlhLxS67ttVb9+E7gUJTb0o2HLO02JQZR7r +kpeDMdmztcpHWD9f +-----END CERTIFICATE----- + +Autoridad de Certificacion Firmaprofesional CIF A62634068 +========================================================= +-----BEGIN CERTIFICATE----- +MIIGFDCCA/ygAwIBAgIIU+w77vuySF8wDQYJKoZIhvcNAQEFBQAwUTELMAkGA1UEBhMCRVMxQjBA +BgNVBAMMOUF1dG9yaWRhZCBkZSBDZXJ0aWZpY2FjaW9uIEZpcm1hcHJvZmVzaW9uYWwgQ0lGIEE2 +MjYzNDA2ODAeFw0wOTA1MjAwODM4MTVaFw0zMDEyMzEwODM4MTVaMFExCzAJBgNVBAYTAkVTMUIw +QAYDVQQDDDlBdXRvcmlkYWQgZGUgQ2VydGlmaWNhY2lvbiBGaXJtYXByb2Zlc2lvbmFsIENJRiBB +NjI2MzQwNjgwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDKlmuO6vj78aI14H9M2uDD +Utd9thDIAl6zQyrET2qyyhxdKJp4ERppWVevtSBC5IsP5t9bpgOSL/UR5GLXMnE42QQMcas9UX4P +B99jBVzpv5RvwSmCwLTaUbDBPLutN0pcyvFLNg4kq7/DhHf9qFD0sefGL9ItWY16Ck6WaVICqjaY +7Pz6FIMMNx/Jkjd/14Et5cS54D40/mf0PmbR0/RAz15iNA9wBj4gGFrO93IbJWyTdBSTo3OxDqqH +ECNZXyAFGUftaI6SEspd/NYrspI8IM/hX68gvqB2f3bl7BqGYTM+53u0P6APjqK5am+5hyZvQWyI +plD9amML9ZMWGxmPsu2bm8mQ9QEM3xk9Dz44I8kvjwzRAv4bVdZO0I08r0+k8/6vKtMFnXkIoctX +MbScyJCyZ/QYFpM6/EfY0XiWMR+6KwxfXZmtY4laJCB22N/9q06mIqqdXuYnin1oKaPnirjaEbsX +LZmdEyRG98Xi2J+Of8ePdG1asuhy9azuJBCtLxTa/y2aRnFHvkLfuwHb9H/TKI8xWVvTyQKmtFLK +bpf7Q8UIJm+K9Lv9nyiqDdVF8xM6HdjAeI9BZzwelGSuewvF6NkBiDkal4ZkQdU7hwxu+g/GvUgU +vzlN1J5Bto+WHWOWk9mVBngxaJ43BjuAiUVhOSPHG0SjFeUc+JIwuwIDAQABo4HvMIHsMBIGA1Ud +EwEB/wQIMAYBAf8CAQEwDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBRlzeurNR4APn7VdMActHNH +DhpkLzCBpgYDVR0gBIGeMIGbMIGYBgRVHSAAMIGPMC8GCCsGAQUFBwIBFiNodHRwOi8vd3d3LmZp +cm1hcHJvZmVzaW9uYWwuY29tL2NwczBcBggrBgEFBQcCAjBQHk4AUABhAHMAZQBvACAAZABlACAA +bABhACAAQgBvAG4AYQBuAG8AdgBhACAANAA3ACAAQgBhAHIAYwBlAGwAbwBuAGEAIAAwADgAMAAx +ADcwDQYJKoZIhvcNAQEFBQADggIBABd9oPm03cXF661LJLWhAqvdpYhKsg9VSytXjDvlMd3+xDLx +51tkljYyGOylMnfX40S2wBEqgLk9am58m9Ot/MPWo+ZkKXzR4Tgegiv/J2Wv+xYVxC5xhOW1//qk +R71kMrv2JYSiJ0L1ILDCExARzRAVukKQKtJE4ZYm6zFIEv0q2skGz3QeqUvVhyj5eTSSPi5E6PaP +T481PyWzOdxjKpBrIF/EUhJOlywqrJ2X3kjyo2bbwtKDlaZmp54lD+kLM5FlClrD2VQS3a/DTg4f +Jl4N3LON7NWBcN7STyQF82xO9UxJZo3R/9ILJUFI/lGExkKvgATP0H5kSeTy36LssUzAKh3ntLFl +osS88Zj0qnAHY7S42jtM+kAiMFsRpvAFDsYCA0irhpuF3dvd6qJ2gHN99ZwExEWN57kci57q13XR +crHedUTnQn3iV2t93Jm8PYMo6oCTjcVMZcFwgbg4/EMxsvYDNEeyrPsiBsse3RdHHF9mudMaotoR +saS8I8nkvof/uZS2+F0gStRf571oe2XyFR7SOqkt6dhrJKyXWERHrVkY8SFlcN7ONGCoQPHzPKTD +KCOM/iczQ0CgFzzr6juwcqajuUpLXhZI9LK8yIySxZ2frHI2vDSANGupi5LAuBft7HZT9SQBjLMi +6Et8Vcad+qMUu2WFbm5PEn4KPJ2V +-----END CERTIFICATE----- + +Izenpe.com +========== +-----BEGIN CERTIFICATE----- +MIIF8TCCA9mgAwIBAgIQALC3WhZIX7/hy/WL1xnmfTANBgkqhkiG9w0BAQsFADA4MQswCQYDVQQG +EwJFUzEUMBIGA1UECgwLSVpFTlBFIFMuQS4xEzARBgNVBAMMCkl6ZW5wZS5jb20wHhcNMDcxMjEz +MTMwODI4WhcNMzcxMjEzMDgyNzI1WjA4MQswCQYDVQQGEwJFUzEUMBIGA1UECgwLSVpFTlBFIFMu +QS4xEzARBgNVBAMMCkl6ZW5wZS5jb20wggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDJ +03rKDx6sp4boFmVqscIbRTJxldn+EFvMr+eleQGPicPK8lVx93e+d5TzcqQsRNiekpsUOqHnJJAK +ClaOxdgmlOHZSOEtPtoKct2jmRXagaKH9HtuJneJWK3W6wyyQXpzbm3benhB6QiIEn6HLmYRY2xU ++zydcsC8Lv/Ct90NduM61/e0aL6i9eOBbsFGb12N4E3GVFWJGjMxCrFXuaOKmMPsOzTFlUFpfnXC +PCDFYbpRR6AgkJOhkEvzTnyFRVSa0QUmQbC1TR0zvsQDyCV8wXDbO/QJLVQnSKwv4cSsPsjLkkxT +OTcj7NMB+eAJRE1NZMDhDVqHIrytG6P+JrUV86f8hBnp7KGItERphIPzidF0BqnMC9bC3ieFUCbK +F7jJeodWLBoBHmy+E60QrLUk9TiRodZL2vG70t5HtfG8gfZZa88ZU+mNFctKy6lvROUbQc/hhqfK +0GqfvEyNBjNaooXlkDWgYlwWTvDjovoDGrQscbNYLN57C9saD+veIR8GdwYDsMnvmfzAuU8Lhij+ +0rnq49qlw0dpEuDb8PYZi+17cNcC1u2HGCgsBCRMd+RIihrGO5rUD8r6ddIBQFqNeb+Lz0vPqhbB +leStTIo+F5HUsWLlguWABKQDfo2/2n+iD5dPDNMN+9fR5XJ+HMh3/1uaD7euBUbl8agW7EekFwID +AQABo4H2MIHzMIGwBgNVHREEgagwgaWBD2luZm9AaXplbnBlLmNvbaSBkTCBjjFHMEUGA1UECgw+ +SVpFTlBFIFMuQS4gLSBDSUYgQTAxMzM3MjYwLVJNZXJjLlZpdG9yaWEtR2FzdGVpeiBUMTA1NSBG +NjIgUzgxQzBBBgNVBAkMOkF2ZGEgZGVsIE1lZGl0ZXJyYW5lbyBFdG9yYmlkZWEgMTQgLSAwMTAx +MCBWaXRvcmlhLUdhc3RlaXowDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0O +BBYEFB0cZQ6o8iV7tJHP5LGx5r1VdGwFMA0GCSqGSIb3DQEBCwUAA4ICAQB4pgwWSp9MiDrAyw6l +Fn2fuUhfGI8NYjb2zRlrrKvV9pF9rnHzP7MOeIWblaQnIUdCSnxIOvVFfLMMjlF4rJUT3sb9fbga +kEyrkgPH7UIBzg/YsfqikuFgba56awmqxinuaElnMIAkejEWOVt+8Rwu3WwJrfIxwYJOubv5vr8q +hT/AQKM6WfxZSzwoJNu0FXWuDYi6LnPAvViH5ULy617uHjAimcs30cQhbIHsvm0m5hzkQiCeR7Cs +g1lwLDXWrzY0tM07+DKo7+N4ifuNRSzanLh+QBxh5z6ikixL8s36mLYp//Pye6kfLqCTVyvehQP5 +aTfLnnhqBbTFMXiJ7HqnheG5ezzevh55hM6fcA5ZwjUukCox2eRFekGkLhObNA5me0mrZJfQRsN5 +nXJQY6aYWwa9SG3YOYNw6DXwBdGqvOPbyALqfP2C2sJbUjWumDqtujWTI6cfSN01RpiyEGjkpTHC +ClguGYEQyVB1/OpaFs4R1+7vUIgtYf8/QnMFlEPVjjxOAToZpR9GTnfQXeWBIiGH/pR9hNiTrdZo +Q0iy2+tzJOeRf1SktoA+naM8THLCV8Sg1Mw4J87VBp6iSNnpn86CcDaTmjvfliHjWbcM2pE38P1Z +WrOZyGlsQyYBNWNgVYkDOnXYukrZVP/u3oDYLdE41V4tC5h9Pmzb/CaIxw== +-----END CERTIFICATE----- + +Chambers of Commerce Root - 2008 +================================ +-----BEGIN CERTIFICATE----- +MIIHTzCCBTegAwIBAgIJAKPaQn6ksa7aMA0GCSqGSIb3DQEBBQUAMIGuMQswCQYDVQQGEwJFVTFD +MEEGA1UEBxM6TWFkcmlkIChzZWUgY3VycmVudCBhZGRyZXNzIGF0IHd3dy5jYW1lcmZpcm1hLmNv +bS9hZGRyZXNzKTESMBAGA1UEBRMJQTgyNzQzMjg3MRswGQYDVQQKExJBQyBDYW1lcmZpcm1hIFMu +QS4xKTAnBgNVBAMTIENoYW1iZXJzIG9mIENvbW1lcmNlIFJvb3QgLSAyMDA4MB4XDTA4MDgwMTEy +Mjk1MFoXDTM4MDczMTEyMjk1MFowga4xCzAJBgNVBAYTAkVVMUMwQQYDVQQHEzpNYWRyaWQgKHNl +ZSBjdXJyZW50IGFkZHJlc3MgYXQgd3d3LmNhbWVyZmlybWEuY29tL2FkZHJlc3MpMRIwEAYDVQQF +EwlBODI3NDMyODcxGzAZBgNVBAoTEkFDIENhbWVyZmlybWEgUy5BLjEpMCcGA1UEAxMgQ2hhbWJl +cnMgb2YgQ29tbWVyY2UgUm9vdCAtIDIwMDgwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoIC +AQCvAMtwNyuAWko6bHiUfaN/Gh/2NdW928sNRHI+JrKQUrpjOyhYb6WzbZSm891kDFX29ufyIiKA +XuFixrYp4YFs8r/lfTJqVKAyGVn+H4vXPWCGhSRv4xGzdz4gljUha7MI2XAuZPeEklPWDrCQiorj +h40G072QDuKZoRuGDtqaCrsLYVAGUvGef3bsyw/QHg3PmTA9HMRFEFis1tPo1+XqxQEHd9ZR5gN/ +ikilTWh1uem8nk4ZcfUyS5xtYBkL+8ydddy/Js2Pk3g5eXNeJQ7KXOt3EgfLZEFHcpOrUMPrCXZk +NNI5t3YRCQ12RcSprj1qr7V9ZS+UWBDsXHyvfuK2GNnQm05aSd+pZgvMPMZ4fKecHePOjlO+Bd5g +D2vlGts/4+EhySnB8esHnFIbAURRPHsl18TlUlRdJQfKFiC4reRB7noI/plvg6aRArBsNlVq5331 +lubKgdaX8ZSD6e2wsWsSaR6s+12pxZjptFtYer49okQ6Y1nUCyXeG0+95QGezdIp1Z8XGQpvvwyQ +0wlf2eOKNcx5Wk0ZN5K3xMGtr/R5JJqyAQuxr1yW84Ay+1w9mPGgP0revq+ULtlVmhduYJ1jbLhj +ya6BXBg14JC7vjxPNyK5fuvPnnchpj04gftI2jE9K+OJ9dC1vX7gUMQSibMjmhAxhduub+84Mxh2 +EQIDAQABo4IBbDCCAWgwEgYDVR0TAQH/BAgwBgEB/wIBDDAdBgNVHQ4EFgQU+SSsD7K1+HnA+mCI +G8TZTQKeFxkwgeMGA1UdIwSB2zCB2IAU+SSsD7K1+HnA+mCIG8TZTQKeFxmhgbSkgbEwga4xCzAJ +BgNVBAYTAkVVMUMwQQYDVQQHEzpNYWRyaWQgKHNlZSBjdXJyZW50IGFkZHJlc3MgYXQgd3d3LmNh +bWVyZmlybWEuY29tL2FkZHJlc3MpMRIwEAYDVQQFEwlBODI3NDMyODcxGzAZBgNVBAoTEkFDIENh +bWVyZmlybWEgUy5BLjEpMCcGA1UEAxMgQ2hhbWJlcnMgb2YgQ29tbWVyY2UgUm9vdCAtIDIwMDiC +CQCj2kJ+pLGu2jAOBgNVHQ8BAf8EBAMCAQYwPQYDVR0gBDYwNDAyBgRVHSAAMCowKAYIKwYBBQUH +AgEWHGh0dHA6Ly9wb2xpY3kuY2FtZXJmaXJtYS5jb20wDQYJKoZIhvcNAQEFBQADggIBAJASryI1 +wqM58C7e6bXpeHxIvj99RZJe6dqxGfwWPJ+0W2aeaufDuV2I6A+tzyMP3iU6XsxPpcG1Lawk0lgH +3qLPaYRgM+gQDROpI9CF5Y57pp49chNyM/WqfcZjHwj0/gF/JM8rLFQJ3uIrbZLGOU8W6jx+ekbU +RWpGqOt1glanq6B8aBMz9p0w8G8nOSQjKpD9kCk18pPfNKXG9/jvjA9iSnyu0/VU+I22mlaHFoI6 +M6taIgj3grrqLuBHmrS1RaMFO9ncLkVAO+rcf+g769HsJtg1pDDFOqxXnrN2pSB7+R5KBWIBpih1 +YJeSDW4+TTdDDZIVnBgizVGZoCkaPF+KMjNbMMeJL0eYD6MDxvbxrN8y8NmBGuScvfaAFPDRLLmF +9dijscilIeUcE5fuDr3fKanvNFNb0+RqE4QGtjICxFKuItLcsiFCGtpA8CnJ7AoMXOLQusxI0zcK +zBIKinmwPQN/aUv0NCB9szTqjktk9T79syNnFQ0EuPAtwQlRPLJsFfClI9eDdOTlLsn+mCdCxqvG +nrDQWzilm1DefhiYtUU79nm06PcaewaD+9CL2rvHvRirCG88gGtAPxkZumWK5r7VXNM21+9AUiRg +OGcEMeyP84LG3rlV8zsxkVrctQgVrXYlCg17LofiDKYGvCYQbTed7N14jHyAxfDZd0jQ +-----END CERTIFICATE----- + +Global Chambersign Root - 2008 +============================== +-----BEGIN CERTIFICATE----- +MIIHSTCCBTGgAwIBAgIJAMnN0+nVfSPOMA0GCSqGSIb3DQEBBQUAMIGsMQswCQYDVQQGEwJFVTFD +MEEGA1UEBxM6TWFkcmlkIChzZWUgY3VycmVudCBhZGRyZXNzIGF0IHd3dy5jYW1lcmZpcm1hLmNv +bS9hZGRyZXNzKTESMBAGA1UEBRMJQTgyNzQzMjg3MRswGQYDVQQKExJBQyBDYW1lcmZpcm1hIFMu +QS4xJzAlBgNVBAMTHkdsb2JhbCBDaGFtYmVyc2lnbiBSb290IC0gMjAwODAeFw0wODA4MDExMjMx +NDBaFw0zODA3MzExMjMxNDBaMIGsMQswCQYDVQQGEwJFVTFDMEEGA1UEBxM6TWFkcmlkIChzZWUg +Y3VycmVudCBhZGRyZXNzIGF0IHd3dy5jYW1lcmZpcm1hLmNvbS9hZGRyZXNzKTESMBAGA1UEBRMJ +QTgyNzQzMjg3MRswGQYDVQQKExJBQyBDYW1lcmZpcm1hIFMuQS4xJzAlBgNVBAMTHkdsb2JhbCBD +aGFtYmVyc2lnbiBSb290IC0gMjAwODCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMDf +VtPkOpt2RbQT2//BthmLN0EYlVJH6xedKYiONWwGMi5HYvNJBL99RDaxccy9Wglz1dmFRP+RVyXf +XjaOcNFccUMd2drvXNL7G706tcuto8xEpw2uIRU/uXpbknXYpBI4iRmKt4DS4jJvVpyR1ogQC7N0 +ZJJ0YPP2zxhPYLIj0Mc7zmFLmY/CDNBAspjcDahOo7kKrmCgrUVSY7pmvWjg+b4aqIG7HkF4ddPB +/gBVsIdU6CeQNR1MM62X/JcumIS/LMmjv9GYERTtY/jKmIhYF5ntRQOXfjyGHoiMvvKRhI9lNNgA +TH23MRdaKXoKGCQwoze1eqkBfSbW+Q6OWfH9GzO1KTsXO0G2Id3UwD2ln58fQ1DJu7xsepeY7s2M +H/ucUa6LcL0nn3HAa6x9kGbo1106DbDVwo3VyJ2dwW3Q0L9R5OP4wzg2rtandeavhENdk5IMagfe +Ox2YItaswTXbo6Al/3K1dh3ebeksZixShNBFks4c5eUzHdwHU1SjqoI7mjcv3N2gZOnm3b2u/GSF +HTynyQbehP9r6GsaPMWis0L7iwk+XwhSx2LE1AVxv8Rk5Pihg+g+EpuoHtQ2TS9x9o0o9oOpE9Jh +wZG7SMA0j0GMS0zbaRL/UJScIINZc+18ofLx/d33SdNDWKBWY8o9PeU1VlnpDsogzCtLkykPAgMB +AAGjggFqMIIBZjASBgNVHRMBAf8ECDAGAQH/AgEMMB0GA1UdDgQWBBS5CcqcHtvTbDprru1U8VuT +BjUuXjCB4QYDVR0jBIHZMIHWgBS5CcqcHtvTbDprru1U8VuTBjUuXqGBsqSBrzCBrDELMAkGA1UE +BhMCRVUxQzBBBgNVBAcTOk1hZHJpZCAoc2VlIGN1cnJlbnQgYWRkcmVzcyBhdCB3d3cuY2FtZXJm +aXJtYS5jb20vYWRkcmVzcykxEjAQBgNVBAUTCUE4Mjc0MzI4NzEbMBkGA1UEChMSQUMgQ2FtZXJm +aXJtYSBTLkEuMScwJQYDVQQDEx5HbG9iYWwgQ2hhbWJlcnNpZ24gUm9vdCAtIDIwMDiCCQDJzdPp +1X0jzjAOBgNVHQ8BAf8EBAMCAQYwPQYDVR0gBDYwNDAyBgRVHSAAMCowKAYIKwYBBQUHAgEWHGh0 +dHA6Ly9wb2xpY3kuY2FtZXJmaXJtYS5jb20wDQYJKoZIhvcNAQEFBQADggIBAICIf3DekijZBZRG +/5BXqfEv3xoNa/p8DhxJJHkn2EaqbylZUohwEurdPfWbU1Rv4WCiqAm57OtZfMY18dwY6fFn5a+6 +ReAJ3spED8IXDneRRXozX1+WLGiLwUePmJs9wOzL9dWCkoQ10b42OFZyMVtHLaoXpGNR6woBrX/s +dZ7LoR/xfxKxueRkf2fWIyr0uDldmOghp+G9PUIadJpwr2hsUF1Jz//7Dl3mLEfXgTpZALVza2Mg +9jFFCDkO9HB+QHBaP9BrQql0PSgvAm11cpUJjUhjxsYjV5KTXjXBjfkK9yydYhz2rXzdpjEetrHH +foUm+qRqtdpjMNHvkzeyZi99Bffnt0uYlDXA2TopwZ2yUDMdSqlapskD7+3056huirRXhOukP9Du +qqqHW2Pok+JrqNS4cnhrG+055F3Lm6qH1U9OAP7Zap88MQ8oAgF9mOinsKJknnn4SPIVqczmyETr +P3iZ8ntxPjzxmKfFGBI/5rsoM0LpRQp8bfKGeS/Fghl9CYl8slR2iK7ewfPM4W7bMdaTrpmg7yVq +c5iJWzouE4gev8CSlDQb4ye3ix5vQv/n6TebUB0tovkC7stYWDpxvGjjqsGvHCgfotwjZT+B6q6Z +09gwzxMNTxXJhLynSC34MCN32EZLeW32jO06f2ARePTpm67VVMB0gNELQp/B +-----END CERTIFICATE----- + +Go Daddy Root Certificate Authority - G2 +======================================== +-----BEGIN CERTIFICATE----- +MIIDxTCCAq2gAwIBAgIBADANBgkqhkiG9w0BAQsFADCBgzELMAkGA1UEBhMCVVMxEDAOBgNVBAgT +B0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxGjAYBgNVBAoTEUdvRGFkZHkuY29tLCBJbmMu +MTEwLwYDVQQDEyhHbyBEYWRkeSBSb290IENlcnRpZmljYXRlIEF1dGhvcml0eSAtIEcyMB4XDTA5 +MDkwMTAwMDAwMFoXDTM3MTIzMTIzNTk1OVowgYMxCzAJBgNVBAYTAlVTMRAwDgYDVQQIEwdBcml6 +b25hMRMwEQYDVQQHEwpTY290dHNkYWxlMRowGAYDVQQKExFHb0RhZGR5LmNvbSwgSW5jLjExMC8G +A1UEAxMoR28gRGFkZHkgUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkgLSBHMjCCASIwDQYJKoZI +hvcNAQEBBQADggEPADCCAQoCggEBAL9xYgjx+lk09xvJGKP3gElY6SKDE6bFIEMBO4Tx5oVJnyfq +9oQbTqC023CYxzIBsQU+B07u9PpPL1kwIuerGVZr4oAH/PMWdYA5UXvl+TW2dE6pjYIT5LY/qQOD ++qK+ihVqf94Lw7YZFAXK6sOoBJQ7RnwyDfMAZiLIjWltNowRGLfTshxgtDj6AozO091GB94KPutd +fMh8+7ArU6SSYmlRJQVhGkSBjCypQ5Yj36w6gZoOKcUcqeldHraenjAKOc7xiID7S13MMuyFYkMl +NAJWJwGRtDtwKj9useiciAF9n9T521NtYJ2/LOdYq7hfRvzOxBsDPAnrSTFcaUaz4EcCAwEAAaNC +MEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFDqahQcQZyi27/a9 +BUFuIMGU2g/eMA0GCSqGSIb3DQEBCwUAA4IBAQCZ21151fmXWWcDYfF+OwYxdS2hII5PZYe096ac +vNjpL9DbWu7PdIxztDhC2gV7+AJ1uP2lsdeu9tfeE8tTEH6KRtGX+rcuKxGrkLAngPnon1rpN5+r +5N9ss4UXnT3ZJE95kTXWXwTrgIOrmgIttRD02JDHBHNA7XIloKmf7J6raBKZV8aPEjoJpL1E/QYV +N8Gb5DKj7Tjo2GTzLH4U/ALqn83/B2gX2yKQOC16jdFU8WnjXzPKej17CuPKf1855eJ1usV2GDPO +LPAvTK33sefOT6jEm0pUBsV/fdUID+Ic/n4XuKxe9tQWskMJDE32p2u0mYRlynqI4uJEvlz36hz1 +-----END CERTIFICATE----- + +Starfield Root Certificate Authority - G2 +========================================= +-----BEGIN CERTIFICATE----- +MIID3TCCAsWgAwIBAgIBADANBgkqhkiG9w0BAQsFADCBjzELMAkGA1UEBhMCVVMxEDAOBgNVBAgT +B0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxJTAjBgNVBAoTHFN0YXJmaWVsZCBUZWNobm9s +b2dpZXMsIEluYy4xMjAwBgNVBAMTKVN0YXJmaWVsZCBSb290IENlcnRpZmljYXRlIEF1dGhvcml0 +eSAtIEcyMB4XDTA5MDkwMTAwMDAwMFoXDTM3MTIzMTIzNTk1OVowgY8xCzAJBgNVBAYTAlVTMRAw +DgYDVQQIEwdBcml6b25hMRMwEQYDVQQHEwpTY290dHNkYWxlMSUwIwYDVQQKExxTdGFyZmllbGQg +VGVjaG5vbG9naWVzLCBJbmMuMTIwMAYDVQQDEylTdGFyZmllbGQgUm9vdCBDZXJ0aWZpY2F0ZSBB +dXRob3JpdHkgLSBHMjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL3twQP89o/8ArFv +W59I2Z154qK3A2FWGMNHttfKPTUuiUP3oWmb3ooa/RMgnLRJdzIpVv257IzdIvpy3Cdhl+72WoTs +bhm5iSzchFvVdPtrX8WJpRBSiUZV9Lh1HOZ/5FSuS/hVclcCGfgXcVnrHigHdMWdSL5stPSksPNk +N3mSwOxGXn/hbVNMYq/NHwtjuzqd+/x5AJhhdM8mgkBj87JyahkNmcrUDnXMN/uLicFZ8WJ/X7Nf +ZTD4p7dNdloedl40wOiWVpmKs/B/pM293DIxfJHP4F8R+GuqSVzRmZTRouNjWwl2tVZi4Ut0HZbU +JtQIBFnQmA4O5t78w+wfkPECAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMC +AQYwHQYDVR0OBBYEFHwMMh+n2TB/xH1oo2Kooc6rB1snMA0GCSqGSIb3DQEBCwUAA4IBAQARWfol +TwNvlJk7mh+ChTnUdgWUXuEok21iXQnCoKjUsHU48TRqneSfioYmUeYs0cYtbpUgSpIB7LiKZ3sx +4mcujJUDJi5DnUox9g61DLu34jd/IroAow57UvtruzvE03lRTs2Q9GcHGcg8RnoNAX3FWOdt5oUw +F5okxBDgBPfg8n/Uqgr/Qh037ZTlZFkSIHc40zI+OIF1lnP6aI+xy84fxez6nH7PfrHxBy22/L/K +pL/QlwVKvOoYKAKQvVR4CSFx09F9HdkWsKlhPdAKACL8x3vLCWRFCztAgfd9fDL1mMpYjn0q7pBZ +c2T5NnReJaH1ZgUufzkVqSr7UIuOhWn0 +-----END CERTIFICATE----- + +Starfield Services Root Certificate Authority - G2 +================================================== +-----BEGIN CERTIFICATE----- +MIID7zCCAtegAwIBAgIBADANBgkqhkiG9w0BAQsFADCBmDELMAkGA1UEBhMCVVMxEDAOBgNVBAgT +B0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxJTAjBgNVBAoTHFN0YXJmaWVsZCBUZWNobm9s +b2dpZXMsIEluYy4xOzA5BgNVBAMTMlN0YXJmaWVsZCBTZXJ2aWNlcyBSb290IENlcnRpZmljYXRl +IEF1dGhvcml0eSAtIEcyMB4XDTA5MDkwMTAwMDAwMFoXDTM3MTIzMTIzNTk1OVowgZgxCzAJBgNV +BAYTAlVTMRAwDgYDVQQIEwdBcml6b25hMRMwEQYDVQQHEwpTY290dHNkYWxlMSUwIwYDVQQKExxT +dGFyZmllbGQgVGVjaG5vbG9naWVzLCBJbmMuMTswOQYDVQQDEzJTdGFyZmllbGQgU2VydmljZXMg +Um9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkgLSBHMjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC +AQoCggEBANUMOsQq+U7i9b4Zl1+OiFOxHz/Lz58gE20pOsgPfTz3a3Y4Y9k2YKibXlwAgLIvWX/2 +h/klQ4bnaRtSmpDhcePYLQ1Ob/bISdm28xpWriu2dBTrz/sm4xq6HZYuajtYlIlHVv8loJNwU4Pa +hHQUw2eeBGg6345AWh1KTs9DkTvnVtYAcMtS7nt9rjrnvDH5RfbCYM8TWQIrgMw0R9+53pBlbQLP +LJGmpufehRhJfGZOozptqbXuNC66DQO4M99H67FrjSXZm86B0UVGMpZwh94CDklDhbZsc7tk6mFB +rMnUVN+HL8cisibMn1lUaJ/8viovxFUcdUBgF4UCVTmLfwUCAwEAAaNCMEAwDwYDVR0TAQH/BAUw +AwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFJxfAN+qAdcwKziIorhtSpzyEZGDMA0GCSqG +SIb3DQEBCwUAA4IBAQBLNqaEd2ndOxmfZyMIbw5hyf2E3F/YNoHN2BtBLZ9g3ccaaNnRbobhiCPP +E95Dz+I0swSdHynVv/heyNXBve6SbzJ08pGCL72CQnqtKrcgfU28elUSwhXqvfdqlS5sdJ/PHLTy +xQGjhdByPq1zqwubdQxtRbeOlKyWN7Wg0I8VRw7j6IPdj/3vQQF3zCepYoUz8jcI73HPdwbeyBkd +iEDPfUYd/x7H4c7/I9vG+o1VTqkC50cRRj70/b17KSa7qWFiNyi2LSr2EIZkyXCn0q23KXB56jza +YyWf/Wi3MOxw+3WKt21gZ7IeyLnp2KhvAotnDU0mV3HaIPzBSlCNsSi6 +-----END CERTIFICATE----- + +AffirmTrust Commercial +====================== +-----BEGIN CERTIFICATE----- +MIIDTDCCAjSgAwIBAgIId3cGJyapsXwwDQYJKoZIhvcNAQELBQAwRDELMAkGA1UEBhMCVVMxFDAS +BgNVBAoMC0FmZmlybVRydXN0MR8wHQYDVQQDDBZBZmZpcm1UcnVzdCBDb21tZXJjaWFsMB4XDTEw +MDEyOTE0MDYwNloXDTMwMTIzMTE0MDYwNlowRDELMAkGA1UEBhMCVVMxFDASBgNVBAoMC0FmZmly +bVRydXN0MR8wHQYDVQQDDBZBZmZpcm1UcnVzdCBDb21tZXJjaWFsMIIBIjANBgkqhkiG9w0BAQEF +AAOCAQ8AMIIBCgKCAQEA9htPZwcroRX1BiLLHwGy43NFBkRJLLtJJRTWzsO3qyxPxkEylFf6Eqdb +DuKPHx6GGaeqtS25Xw2Kwq+FNXkyLbscYjfysVtKPcrNcV/pQr6U6Mje+SJIZMblq8Yrba0F8PrV +C8+a5fBQpIs7R6UjW3p6+DM/uO+Zl+MgwdYoic+U+7lF7eNAFxHUdPALMeIrJmqbTFeurCA+ukV6 +BfO9m2kVrn1OIGPENXY6BwLJN/3HR+7o8XYdcxXyl6S1yHp52UKqK39c/s4mT6NmgTWvRLpUHhww +MmWd5jyTXlBOeuM61G7MGvv50jeuJCqrVwMiKA1JdX+3KNp1v47j3A55MQIDAQABo0IwQDAdBgNV +HQ4EFgQUnZPGU4teyq8/nx4P5ZmVvCT2lI8wDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMC +AQYwDQYJKoZIhvcNAQELBQADggEBAFis9AQOzcAN/wr91LoWXym9e2iZWEnStB03TX8nfUYGXUPG +hi4+c7ImfU+TqbbEKpqrIZcUsd6M06uJFdhrJNTxFq7YpFzUf1GO7RgBsZNjvbz4YYCanrHOQnDi +qX0GJX0nof5v7LMeJNrjS1UaADs1tDvZ110w/YETifLCBivtZ8SOyUOyXGsViQK8YvxO8rUzqrJv +0wqiUOP2O+guRMLbZjipM1ZI8W0bM40NjD9gN53Tym1+NH4Nn3J2ixufcv1SNUFFApYvHLKac0kh +sUlHRUe072o0EclNmsxZt9YCnlpOZbWUrhvfKbAW8b8Angc6F2S1BLUjIZkKlTuXfO8= +-----END CERTIFICATE----- + +AffirmTrust Networking +====================== +-----BEGIN CERTIFICATE----- +MIIDTDCCAjSgAwIBAgIIfE8EORzUmS0wDQYJKoZIhvcNAQEFBQAwRDELMAkGA1UEBhMCVVMxFDAS +BgNVBAoMC0FmZmlybVRydXN0MR8wHQYDVQQDDBZBZmZpcm1UcnVzdCBOZXR3b3JraW5nMB4XDTEw +MDEyOTE0MDgyNFoXDTMwMTIzMTE0MDgyNFowRDELMAkGA1UEBhMCVVMxFDASBgNVBAoMC0FmZmly +bVRydXN0MR8wHQYDVQQDDBZBZmZpcm1UcnVzdCBOZXR3b3JraW5nMIIBIjANBgkqhkiG9w0BAQEF +AAOCAQ8AMIIBCgKCAQEAtITMMxcua5Rsa2FSoOujz3mUTOWUgJnLVWREZY9nZOIG41w3SfYvm4SE +Hi3yYJ0wTsyEheIszx6e/jarM3c1RNg1lho9Nuh6DtjVR6FqaYvZ/Ls6rnla1fTWcbuakCNrmreI +dIcMHl+5ni36q1Mr3Lt2PpNMCAiMHqIjHNRqrSK6mQEubWXLviRmVSRLQESxG9fhwoXA3hA/Pe24 +/PHxI1Pcv2WXb9n5QHGNfb2V1M6+oF4nI979ptAmDgAp6zxG8D1gvz9Q0twmQVGeFDdCBKNwV6gb +h+0t+nvujArjqWaJGctB+d1ENmHP4ndGyH329JKBNv3bNPFyfvMMFr20FQIDAQABo0IwQDAdBgNV +HQ4EFgQUBx/S55zawm6iQLSwelAQUHTEyL0wDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMC +AQYwDQYJKoZIhvcNAQEFBQADggEBAIlXshZ6qML91tmbmzTCnLQyFE2npN/svqe++EPbkTfOtDIu +UFUaNU52Q3Eg75N3ThVwLofDwR1t3Mu1J9QsVtFSUzpE0nPIxBsFZVpikpzuQY0x2+c06lkh1QF6 +12S4ZDnNye2v7UsDSKegmQGA3GWjNq5lWUhPgkvIZfFXHeVZLgo/bNjR9eUJtGxUAArgFU2HdW23 +WJZa3W3SAKD0m0i+wzekujbgfIeFlxoVot4uolu9rxj5kFDNcFn4J2dHy8egBzp90SxdbBk6ZrV9 +/ZFvgrG+CJPbFEfxojfHRZ48x3evZKiT3/Zpg4Jg8klCNO1aAFSFHBY2kgxc+qatv9s= +-----END CERTIFICATE----- + +AffirmTrust Premium +=================== +-----BEGIN CERTIFICATE----- +MIIFRjCCAy6gAwIBAgIIbYwURrGmCu4wDQYJKoZIhvcNAQEMBQAwQTELMAkGA1UEBhMCVVMxFDAS +BgNVBAoMC0FmZmlybVRydXN0MRwwGgYDVQQDDBNBZmZpcm1UcnVzdCBQcmVtaXVtMB4XDTEwMDEy +OTE0MTAzNloXDTQwMTIzMTE0MTAzNlowQTELMAkGA1UEBhMCVVMxFDASBgNVBAoMC0FmZmlybVRy +dXN0MRwwGgYDVQQDDBNBZmZpcm1UcnVzdCBQcmVtaXVtMIICIjANBgkqhkiG9w0BAQEFAAOCAg8A +MIICCgKCAgEAxBLfqV/+Qd3d9Z+K4/as4Tx4mrzY8H96oDMq3I0gW64tb+eT2TZwamjPjlGjhVtn +BKAQJG9dKILBl1fYSCkTtuG+kU3fhQxTGJoeJKJPj/CihQvL9Cl/0qRY7iZNyaqoe5rZ+jjeRFcV +5fiMyNlI4g0WJx0eyIOFJbe6qlVBzAMiSy2RjYvmia9mx+n/K+k8rNrSs8PhaJyJ+HoAVt70VZVs ++7pk3WKL3wt3MutizCaam7uqYoNMtAZ6MMgpv+0GTZe5HMQxK9VfvFMSF5yZVylmd2EhMQcuJUmd +GPLu8ytxjLW6OQdJd/zvLpKQBY0tL3d770O/Nbua2Plzpyzy0FfuKE4mX4+QaAkvuPjcBukumj5R +p9EixAqnOEhss/n/fauGV+O61oV4d7pD6kh/9ti+I20ev9E2bFhc8e6kGVQa9QPSdubhjL08s9NI +S+LI+H+SqHZGnEJlPqQewQcDWkYtuJfzt9WyVSHvutxMAJf7FJUnM7/oQ0dG0giZFmA7mn7S5u04 +6uwBHjxIVkkJx0w3AJ6IDsBz4W9m6XJHMD4Q5QsDyZpCAGzFlH5hxIrff4IaC1nEWTJ3s7xgaVY5 +/bQGeyzWZDbZvUjthB9+pSKPKrhC9IK31FOQeE4tGv2Bb0TXOwF0lkLgAOIua+rF7nKsu7/+6qqo ++Nz2snmKtmcCAwEAAaNCMEAwHQYDVR0OBBYEFJ3AZ6YMItkm9UWrpmVSESfYRaxjMA8GA1UdEwEB +/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3DQEBDAUAA4ICAQCzV00QYk465KzquByv +MiPIs0laUZx2KI15qldGF9X1Uva3ROgIRL8YhNILgM3FEv0AVQVhh0HctSSePMTYyPtwni94loMg +Nt58D2kTiKV1NpgIpsbfrM7jWNa3Pt668+s0QNiigfV4Py/VpfzZotReBA4Xrf5B8OWycvpEgjNC +6C1Y91aMYj+6QrCcDFx+LmUmXFNPALJ4fqENmS2NuB2OosSw/WDQMKSOyARiqcTtNd56l+0OOF6S +L5Nwpamcb6d9Ex1+xghIsV5n61EIJenmJWtSKZGc0jlzCFfemQa0W50QBuHCAKi4HEoCChTQwUHK ++4w1IX2COPKpVJEZNZOUbWo6xbLQu4mGk+ibyQ86p3q4ofB4Rvr8Ny/lioTz3/4E2aFooC8k4gmV +BtWVyuEklut89pMFu+1z6S3RdTnX5yTb2E5fQ4+e0BQ5v1VwSJlXMbSc7kqYA5YwH2AG7hsj/oFg +IxpHYoWlzBk0gG+zrBrjn/B7SK3VAdlntqlyk+otZrWyuOQ9PLLvTIzq6we/qzWaVYa8GKa1qF60 +g2xraUDTn9zxw2lrueFtCfTxqlB2Cnp9ehehVZZCmTEJ3WARjQUwfuaORtGdFNrHF+QFlozEJLUb +zxQHskD4o55BhrwE0GuWyCqANP2/7waj3VjFhT0+j/6eKeC2uAloGRwYQw== +-----END CERTIFICATE----- + +AffirmTrust Premium ECC +======================= +-----BEGIN CERTIFICATE----- +MIIB/jCCAYWgAwIBAgIIdJclisc/elQwCgYIKoZIzj0EAwMwRTELMAkGA1UEBhMCVVMxFDASBgNV +BAoMC0FmZmlybVRydXN0MSAwHgYDVQQDDBdBZmZpcm1UcnVzdCBQcmVtaXVtIEVDQzAeFw0xMDAx +MjkxNDIwMjRaFw00MDEyMzExNDIwMjRaMEUxCzAJBgNVBAYTAlVTMRQwEgYDVQQKDAtBZmZpcm1U +cnVzdDEgMB4GA1UEAwwXQWZmaXJtVHJ1c3QgUHJlbWl1bSBFQ0MwdjAQBgcqhkjOPQIBBgUrgQQA +IgNiAAQNMF4bFZ0D0KF5Nbc6PJJ6yhUczWLznCZcBz3lVPqj1swS6vQUX+iOGasvLkjmrBhDeKzQ +N8O9ss0s5kfiGuZjuD0uL3jET9v0D6RoTFVya5UdThhClXjMNzyR4ptlKymjQjBAMB0GA1UdDgQW +BBSaryl6wBE1NSZRMADDav5A1a7WPDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAK +BggqhkjOPQQDAwNnADBkAjAXCfOHiFBar8jAQr9HX/VsaobgxCd05DhT1wV/GzTjxi+zygk8N53X +57hG8f2h4nECMEJZh0PUUd+60wkyWs6Iflc9nF9Ca/UHLbXwgpP5WW+uZPpY5Yse42O+tYHNbwKM +eQ== +-----END CERTIFICATE----- + +Certum Trusted Network CA +========================= +-----BEGIN CERTIFICATE----- +MIIDuzCCAqOgAwIBAgIDBETAMA0GCSqGSIb3DQEBBQUAMH4xCzAJBgNVBAYTAlBMMSIwIAYDVQQK +ExlVbml6ZXRvIFRlY2hub2xvZ2llcyBTLkEuMScwJQYDVQQLEx5DZXJ0dW0gQ2VydGlmaWNhdGlv +biBBdXRob3JpdHkxIjAgBgNVBAMTGUNlcnR1bSBUcnVzdGVkIE5ldHdvcmsgQ0EwHhcNMDgxMDIy +MTIwNzM3WhcNMjkxMjMxMTIwNzM3WjB+MQswCQYDVQQGEwJQTDEiMCAGA1UEChMZVW5pemV0byBU +ZWNobm9sb2dpZXMgUy5BLjEnMCUGA1UECxMeQ2VydHVtIENlcnRpZmljYXRpb24gQXV0aG9yaXR5 +MSIwIAYDVQQDExlDZXJ0dW0gVHJ1c3RlZCBOZXR3b3JrIENBMIIBIjANBgkqhkiG9w0BAQEFAAOC +AQ8AMIIBCgKCAQEA4/t9o3K6wvDJFIf1awFO4W5AB7ptJ11/91sts1rHUV+rpDKmYYe2bg+G0jAC +l/jXaVehGDldamR5xgFZrDwxSjh80gTSSyjoIF87B6LMTXPb865Px1bVWqeWifrzq2jUI4ZZJ88J +J7ysbnKDHDBy3+Ci6dLhdHUZvSqeexVUBBvXQzmtVSjF4hq79MDkrjhJM8x2hZ85RdKknvISjFH4 +fOQtf/WsX+sWn7Et0brMkUJ3TCXJkDhv2/DM+44el1k+1WBO5gUo7Ul5E0u6SNsv+XLTOcr+H9g0 +cvW0QM8xAcPs3hEtF10fuFDRXhmnad4HMyjKUJX5p1TLVIZQRan5SQIDAQABo0IwQDAPBgNVHRMB +Af8EBTADAQH/MB0GA1UdDgQWBBQIds3LB/8k9sXN7buQvOKEN0Z19zAOBgNVHQ8BAf8EBAMCAQYw +DQYJKoZIhvcNAQEFBQADggEBAKaorSLOAT2mo/9i0Eidi15ysHhE49wcrwn9I0j6vSrEuVUEtRCj +jSfeC4Jj0O7eDDd5QVsisrCaQVymcODU0HfLI9MA4GxWL+FpDQ3Zqr8hgVDZBqWo/5U30Kr+4rP1 +mS1FhIrlQgnXdAIv94nYmem8J9RHjboNRhx3zxSkHLmkMcScKHQDNP8zGSal6Q10tz6XxnboJ5aj +Zt3hrvJBW8qYVoNzcOSGGtIxQbovvi0TWnZvTuhOgQ4/WwMioBK+ZlgRSssDxLQqKi2WF+A5VLxI +03YnnZotBqbJ7DnSq9ufmgsnAjUpsUCV5/nonFWIGUbWtzT1fs45mtk48VH3Tyw= +-----END CERTIFICATE----- + +TWCA Root Certification Authority +================================= +-----BEGIN CERTIFICATE----- +MIIDezCCAmOgAwIBAgIBATANBgkqhkiG9w0BAQUFADBfMQswCQYDVQQGEwJUVzESMBAGA1UECgwJ +VEFJV0FOLUNBMRAwDgYDVQQLDAdSb290IENBMSowKAYDVQQDDCFUV0NBIFJvb3QgQ2VydGlmaWNh +dGlvbiBBdXRob3JpdHkwHhcNMDgwODI4MDcyNDMzWhcNMzAxMjMxMTU1OTU5WjBfMQswCQYDVQQG +EwJUVzESMBAGA1UECgwJVEFJV0FOLUNBMRAwDgYDVQQLDAdSb290IENBMSowKAYDVQQDDCFUV0NB +IFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK +AoIBAQCwfnK4pAOU5qfeCTiRShFAh6d8WWQUe7UREN3+v9XAu1bihSX0NXIP+FPQQeFEAcK0HMMx +QhZHhTMidrIKbw/lJVBPhYa+v5guEGcevhEFhgWQxFnQfHgQsIBct+HHK3XLfJ+utdGdIzdjp9xC +oi2SBBtQwXu4PhvJVgSLL1KbralW6cH/ralYhzC2gfeXRfwZVzsrb+RH9JlF/h3x+JejiB03HFyP +4HYlmlD4oFT/RJB2I9IyxsOrBr/8+7/zrX2SYgJbKdM1o5OaQ2RgXbL6Mv87BK9NQGr5x+PvI/1r +y+UPizgN7gr8/g+YnzAx3WxSZfmLgb4i4RxYA7qRG4kHAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIB +BjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRqOFsmjd6LWvJPelSDGRjjCDWmujANBgkqhkiG +9w0BAQUFAAOCAQEAPNV3PdrfibqHDAhUaiBQkr6wQT25JmSDCi/oQMCXKCeCMErJk/9q56YAf4lC +mtYR5VPOL8zy2gXE/uJQxDqGfczafhAJO5I1KlOy/usrBdlsXebQ79NqZp4VKIV66IIArB6nCWlW +QtNoURi+VJq/REG6Sb4gumlc7rh3zc5sH62Dlhh9DrUUOYTxKOkto557HnpyWoOzeW/vtPzQCqVY +T0bf+215WfKEIlKuD8z7fDvnaspHYcN6+NOSBB+4IIThNlQWx0DeO4pz3N/GCUzf7Nr/1FNCocny +Yh0igzyXxfkZYiesZSLX0zzG5Y6yU8xJzrww/nsOM5D77dIUkR8Hrw== +-----END CERTIFICATE----- + +Security Communication RootCA2 +============================== +-----BEGIN CERTIFICATE----- +MIIDdzCCAl+gAwIBAgIBADANBgkqhkiG9w0BAQsFADBdMQswCQYDVQQGEwJKUDElMCMGA1UEChMc +U0VDT00gVHJ1c3QgU3lzdGVtcyBDTy4sTFRELjEnMCUGA1UECxMeU2VjdXJpdHkgQ29tbXVuaWNh +dGlvbiBSb290Q0EyMB4XDTA5MDUyOTA1MDAzOVoXDTI5MDUyOTA1MDAzOVowXTELMAkGA1UEBhMC +SlAxJTAjBgNVBAoTHFNFQ09NIFRydXN0IFN5c3RlbXMgQ08uLExURC4xJzAlBgNVBAsTHlNlY3Vy +aXR5IENvbW11bmljYXRpb24gUm9vdENBMjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB +ANAVOVKxUrO6xVmCxF1SrjpDZYBLx/KWvNs2l9amZIyoXvDjChz335c9S672XewhtUGrzbl+dp++ ++T42NKA7wfYxEUV0kz1XgMX5iZnK5atq1LXaQZAQwdbWQonCv/Q4EpVMVAX3NuRFg3sUZdbcDE3R +3n4MqzvEFb46VqZab3ZpUql6ucjrappdUtAtCms1FgkQhNBqyjoGADdH5H5XTz+L62e4iKrFvlNV +spHEfbmwhRkGeC7bYRr6hfVKkaHnFtWOojnflLhwHyg/i/xAXmODPIMqGplrz95Zajv8bxbXH/1K +EOtOghY6rCcMU/Gt1SSwawNQwS08Ft1ENCcadfsCAwEAAaNCMEAwHQYDVR0OBBYEFAqFqXdlBZh8 +QIH4D5csOPEK7DzPMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEB +CwUAA4IBAQBMOqNErLlFsceTfsgLCkLfZOoc7llsCLqJX2rKSpWeeo8HxdpFcoJxDjrSzG+ntKEj +u/Ykn8sX/oymzsLS28yN/HH8AynBbF0zX2S2ZTuJbxh2ePXcokgfGT+Ok+vx+hfuzU7jBBJV1uXk +3fs+BXziHV7Gp7yXT2g69ekuCkO2r1dcYmh8t/2jioSgrGK+KwmHNPBqAbubKVY8/gA3zyNs8U6q +tnRGEmyR7jTV7JqR50S+kDFy1UkC9gLl9B/rfNmWVan/7Ir5mUf/NVoCqgTLiluHcSmRvaS0eg29 +mvVXIwAHIRc/SjnRBUkLp7Y3gaVdjKozXoEofKd9J+sAro03 +-----END CERTIFICATE----- + +EC-ACC +====== +-----BEGIN CERTIFICATE----- +MIIFVjCCBD6gAwIBAgIQ7is969Qh3hSoYqwE893EATANBgkqhkiG9w0BAQUFADCB8zELMAkGA1UE +BhMCRVMxOzA5BgNVBAoTMkFnZW5jaWEgQ2F0YWxhbmEgZGUgQ2VydGlmaWNhY2lvIChOSUYgUS0w +ODAxMTc2LUkpMSgwJgYDVQQLEx9TZXJ2ZWlzIFB1YmxpY3MgZGUgQ2VydGlmaWNhY2lvMTUwMwYD +VQQLEyxWZWdldSBodHRwczovL3d3dy5jYXRjZXJ0Lm5ldC92ZXJhcnJlbCAoYykwMzE1MDMGA1UE +CxMsSmVyYXJxdWlhIEVudGl0YXRzIGRlIENlcnRpZmljYWNpbyBDYXRhbGFuZXMxDzANBgNVBAMT +BkVDLUFDQzAeFw0wMzAxMDcyMzAwMDBaFw0zMTAxMDcyMjU5NTlaMIHzMQswCQYDVQQGEwJFUzE7 +MDkGA1UEChMyQWdlbmNpYSBDYXRhbGFuYSBkZSBDZXJ0aWZpY2FjaW8gKE5JRiBRLTA4MDExNzYt +SSkxKDAmBgNVBAsTH1NlcnZlaXMgUHVibGljcyBkZSBDZXJ0aWZpY2FjaW8xNTAzBgNVBAsTLFZl +Z2V1IGh0dHBzOi8vd3d3LmNhdGNlcnQubmV0L3ZlcmFycmVsIChjKTAzMTUwMwYDVQQLEyxKZXJh +cnF1aWEgRW50aXRhdHMgZGUgQ2VydGlmaWNhY2lvIENhdGFsYW5lczEPMA0GA1UEAxMGRUMtQUND +MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsyLHT+KXQpWIR4NA9h0X84NzJB5R85iK +w5K4/0CQBXCHYMkAqbWUZRkiFRfCQ2xmRJoNBD45b6VLeqpjt4pEndljkYRm4CgPukLjbo73FCeT +ae6RDqNfDrHrZqJyTxIThmV6PttPB/SnCWDaOkKZx7J/sxaVHMf5NLWUhdWZXqBIoH7nF2W4onW4 +HvPlQn2v7fOKSGRdghST2MDk/7NQcvJ29rNdQlB50JQ+awwAvthrDk4q7D7SzIKiGGUzE3eeml0a +E9jD2z3Il3rucO2n5nzbcc8tlGLfbdb1OL4/pYUKGbio2Al1QnDE6u/LDsg0qBIimAy4E5S2S+zw +0JDnJwIDAQABo4HjMIHgMB0GA1UdEQQWMBSBEmVjX2FjY0BjYXRjZXJ0Lm5ldDAPBgNVHRMBAf8E +BTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUoMOLRKo3pUW/l4Ba0fF4opvpXY0wfwYD +VR0gBHgwdjB0BgsrBgEEAfV4AQMBCjBlMCwGCCsGAQUFBwIBFiBodHRwczovL3d3dy5jYXRjZXJ0 +Lm5ldC92ZXJhcnJlbDA1BggrBgEFBQcCAjApGidWZWdldSBodHRwczovL3d3dy5jYXRjZXJ0Lm5l +dC92ZXJhcnJlbCAwDQYJKoZIhvcNAQEFBQADggEBAKBIW4IB9k1IuDlVNZyAelOZ1Vr/sXE7zDkJ +lF7W2u++AVtd0x7Y/X1PzaBB4DSTv8vihpw3kpBWHNzrKQXlxJ7HNd+KDM3FIUPpqojlNcAZQmNa +Al6kSBg6hW/cnbw/nZzBh7h6YQjpdwt/cKt63dmXLGQehb+8dJahw3oS7AwaboMMPOhyRp/7SNVe +l+axofjk70YllJyJ22k4vuxcDlbHZVHlUIiIv0LVKz3l+bqeLrPK9HOSAgu+TGbrIP65y7WZf+a2 +E/rKS03Z7lNGBjvGTq2TWoF+bCpLagVFjPIhpDGQh2xlnJ2lYJU6Un/10asIbvPuW/mIPX64b24D +5EI= +-----END CERTIFICATE----- + +Hellenic Academic and Research Institutions RootCA 2011 +======================================================= +-----BEGIN CERTIFICATE----- +MIIEMTCCAxmgAwIBAgIBADANBgkqhkiG9w0BAQUFADCBlTELMAkGA1UEBhMCR1IxRDBCBgNVBAoT +O0hlbGxlbmljIEFjYWRlbWljIGFuZCBSZXNlYXJjaCBJbnN0aXR1dGlvbnMgQ2VydC4gQXV0aG9y +aXR5MUAwPgYDVQQDEzdIZWxsZW5pYyBBY2FkZW1pYyBhbmQgUmVzZWFyY2ggSW5zdGl0dXRpb25z +IFJvb3RDQSAyMDExMB4XDTExMTIwNjEzNDk1MloXDTMxMTIwMTEzNDk1MlowgZUxCzAJBgNVBAYT +AkdSMUQwQgYDVQQKEztIZWxsZW5pYyBBY2FkZW1pYyBhbmQgUmVzZWFyY2ggSW5zdGl0dXRpb25z +IENlcnQuIEF1dGhvcml0eTFAMD4GA1UEAxM3SGVsbGVuaWMgQWNhZGVtaWMgYW5kIFJlc2VhcmNo +IEluc3RpdHV0aW9ucyBSb290Q0EgMjAxMTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB +AKlTAOMupvaO+mDYLZU++CwqVE7NuYRhlFhPjz2L5EPzdYmNUeTDN9KKiE15HrcS3UN4SoqS5tdI +1Q+kOilENbgH9mgdVc04UfCMJDGFr4PJfel3r+0ae50X+bOdOFAPplp5kYCvN66m0zH7tSYJnTxa +71HFK9+WXesyHgLacEnsbgzImjeN9/E2YEsmLIKe0HjzDQ9jpFEw4fkrJxIH2Oq9GGKYsFk3fb7u +8yBRQlqD75O6aRXxYp2fmTmCobd0LovUxQt7L/DICto9eQqakxylKHJzkUOap9FNhYS5qXSPFEDH +3N6sQWRstBmbAmNtJGSPRLIl6s5ddAxjMlyNh+UCAwEAAaOBiTCBhjAPBgNVHRMBAf8EBTADAQH/ +MAsGA1UdDwQEAwIBBjAdBgNVHQ4EFgQUppFC/RNhSiOeCKQp5dgTBCPuQSUwRwYDVR0eBEAwPqA8 +MAWCAy5ncjAFggMuZXUwBoIELmVkdTAGggQub3JnMAWBAy5ncjAFgQMuZXUwBoEELmVkdTAGgQQu +b3JnMA0GCSqGSIb3DQEBBQUAA4IBAQAf73lB4XtuP7KMhjdCSk4cNx6NZrokgclPEg8hwAOXhiVt +XdMiKahsog2p6z0GW5k6x8zDmjR/qw7IThzh+uTczQ2+vyT+bOdrwg3IBp5OjWEopmr95fZi6hg8 +TqBTnbI6nOulnJEWtk2C4AwFSKls9cz4y51JtPACpf1wA+2KIaWuE4ZJwzNzvoc7dIsXRSZMFpGD +/md9zU1jZ/rzAxKWeAaNsWftjj++n08C9bMJL/NMh98qy5V8AcysNnq/onN694/BtZqhFLKPM58N +7yLcZnuEvUUXBj08yrl3NI/K6s8/MT7jiOOASSXIl7WdmplNsDz4SgCbZN2fOUvRJ9e4 +-----END CERTIFICATE----- + +Actalis Authentication Root CA +============================== +-----BEGIN CERTIFICATE----- +MIIFuzCCA6OgAwIBAgIIVwoRl0LE48wwDQYJKoZIhvcNAQELBQAwazELMAkGA1UEBhMCSVQxDjAM +BgNVBAcMBU1pbGFuMSMwIQYDVQQKDBpBY3RhbGlzIFMucC5BLi8wMzM1ODUyMDk2NzEnMCUGA1UE +AwweQWN0YWxpcyBBdXRoZW50aWNhdGlvbiBSb290IENBMB4XDTExMDkyMjExMjIwMloXDTMwMDky +MjExMjIwMlowazELMAkGA1UEBhMCSVQxDjAMBgNVBAcMBU1pbGFuMSMwIQYDVQQKDBpBY3RhbGlz +IFMucC5BLi8wMzM1ODUyMDk2NzEnMCUGA1UEAwweQWN0YWxpcyBBdXRoZW50aWNhdGlvbiBSb290 +IENBMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAp8bEpSmkLO/lGMWwUKNvUTufClrJ +wkg4CsIcoBh/kbWHuUA/3R1oHwiD1S0eiKD4j1aPbZkCkpAW1V8IbInX4ay8IMKx4INRimlNAJZa +by/ARH6jDuSRzVju3PvHHkVH3Se5CAGfpiEd9UEtL0z9KK3giq0itFZljoZUj5NDKd45RnijMCO6 +zfB9E1fAXdKDa0hMxKufgFpbOr3JpyI/gCczWw63igxdBzcIy2zSekciRDXFzMwujt0q7bd9Zg1f +YVEiVRvjRuPjPdA1YprbrxTIW6HMiRvhMCb8oJsfgadHHwTrozmSBp+Z07/T6k9QnBn+locePGX2 +oxgkg4YQ51Q+qDp2JE+BIcXjDwL4k5RHILv+1A7TaLndxHqEguNTVHnd25zS8gebLra8Pu2Fbe8l +EfKXGkJh90qX6IuxEAf6ZYGyojnP9zz/GPvG8VqLWeICrHuS0E4UT1lF9gxeKF+w6D9Fz8+vm2/7 +hNN3WpVvrJSEnu68wEqPSpP4RCHiMUVhUE4Q2OM1fEwZtN4Fv6MGn8i1zeQf1xcGDXqVdFUNaBr8 +EBtiZJ1t4JWgw5QHVw0U5r0F+7if5t+L4sbnfpb2U8WANFAoWPASUHEXMLrmeGO89LKtmyuy/uE5 +jF66CyCU3nuDuP/jVo23Eek7jPKxwV2dpAtMK9myGPW1n0sCAwEAAaNjMGEwHQYDVR0OBBYEFFLY +iDrIn3hm7YnzezhwlMkCAjbQMA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAUUtiIOsifeGbt +ifN7OHCUyQICNtAwDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3DQEBCwUAA4ICAQALe3KHwGCmSUyI +WOYdiPcUZEim2FgKDk8TNd81HdTtBjHIgT5q1d07GjLukD0R0i70jsNjLiNmsGe+b7bAEzlgqqI0 +JZN1Ut6nna0Oh4lScWoWPBkdg/iaKWW+9D+a2fDzWochcYBNy+A4mz+7+uAwTc+G02UQGRjRlwKx +K3JCaKygvU5a2hi/a5iB0P2avl4VSM0RFbnAKVy06Ij3Pjaut2L9HmLecHgQHEhb2rykOLpn7VU+ +Xlff1ANATIGk0k9jpwlCCRT8AKnCgHNPLsBA2RF7SOp6AsDT6ygBJlh0wcBzIm2Tlf05fbsq4/aC +4yyXX04fkZT6/iyj2HYauE2yOE+b+h1IYHkm4vP9qdCa6HCPSXrW5b0KDtst842/6+OkfcvHlXHo +2qN8xcL4dJIEG4aspCJTQLas/kx2z/uUMsA1n3Y/buWQbqCmJqK4LL7RK4X9p2jIugErsWx0Hbhz +lefut8cl8ABMALJ+tguLHPPAUJ4lueAI3jZm/zel0btUZCzJJ7VLkn5l/9Mt4blOvH+kQSGQQXem +OR/qnuOf0GZvBeyqdn6/axag67XH/JJULysRJyU3eExRarDzzFhdFPFqSBX/wge2sY0PjlxQRrM9 +vwGYT7JZVEc+NHt4bVaTLnPqZih4zR0Uv6CPLy64Lo7yFIrM6bV8+2ydDKXhlg== +-----END CERTIFICATE----- + +Trustis FPS Root CA +=================== +-----BEGIN CERTIFICATE----- +MIIDZzCCAk+gAwIBAgIQGx+ttiD5JNM2a/fH8YygWTANBgkqhkiG9w0BAQUFADBFMQswCQYDVQQG +EwJHQjEYMBYGA1UEChMPVHJ1c3RpcyBMaW1pdGVkMRwwGgYDVQQLExNUcnVzdGlzIEZQUyBSb290 +IENBMB4XDTAzMTIyMzEyMTQwNloXDTI0MDEyMTExMzY1NFowRTELMAkGA1UEBhMCR0IxGDAWBgNV +BAoTD1RydXN0aXMgTGltaXRlZDEcMBoGA1UECxMTVHJ1c3RpcyBGUFMgUm9vdCBDQTCCASIwDQYJ +KoZIhvcNAQEBBQADggEPADCCAQoCggEBAMVQe547NdDfxIzNjpvto8A2mfRC6qc+gIMPpqdZh8mQ +RUN+AOqGeSoDvT03mYlmt+WKVoaTnGhLaASMk5MCPjDSNzoiYYkchU59j9WvezX2fihHiTHcDnlk +H5nSW7r+f2C/revnPDgpai/lkQtV/+xvWNUtyd5MZnGPDNcE2gfmHhjjvSkCqPoc4Vu5g6hBSLwa +cY3nYuUtsuvffM/bq1rKMfFMIvMFE/eC+XN5DL7XSxzA0RU8k0Fk0ea+IxciAIleH2ulrG6nS4zt +o3Lmr2NNL4XSFDWaLk6M6jKYKIahkQlBOrTh4/L68MkKokHdqeMDx4gVOxzUGpTXn2RZEm0CAwEA +AaNTMFEwDwYDVR0TAQH/BAUwAwEB/zAfBgNVHSMEGDAWgBS6+nEleYtXQSUhhgtx67JkDoshZzAd +BgNVHQ4EFgQUuvpxJXmLV0ElIYYLceuyZA6LIWcwDQYJKoZIhvcNAQEFBQADggEBAH5Y//01GX2c +GE+esCu8jowU/yyg2kdbw++BLa8F6nRIW/M+TgfHbcWzk88iNVy2P3UnXwmWzaD+vkAMXBJV+JOC +yinpXj9WV4s4NvdFGkwozZ5BuO1WTISkQMi4sKUraXAEasP41BIy+Q7DsdwyhEQsb8tGD+pmQQ9P +8Vilpg0ND2HepZ5dfWWhPBfnqFVO76DH7cZEf1T1o+CP8HxVIo8ptoGj4W1OLBuAZ+ytIJ8MYmHV +l/9D7S3B2l0pKoU/rGXuhg8FjZBf3+6f9L/uHfuY5H+QK4R4EA5sSVPvFVtlRkpdr7r7OnIdzfYl +iB6XzCGcKQENZetX2fNXlrtIzYE= +-----END CERTIFICATE----- + +Buypass Class 2 Root CA +======================= +-----BEGIN CERTIFICATE----- +MIIFWTCCA0GgAwIBAgIBAjANBgkqhkiG9w0BAQsFADBOMQswCQYDVQQGEwJOTzEdMBsGA1UECgwU +QnV5cGFzcyBBUy05ODMxNjMzMjcxIDAeBgNVBAMMF0J1eXBhc3MgQ2xhc3MgMiBSb290IENBMB4X +DTEwMTAyNjA4MzgwM1oXDTQwMTAyNjA4MzgwM1owTjELMAkGA1UEBhMCTk8xHTAbBgNVBAoMFEJ1 +eXBhc3MgQVMtOTgzMTYzMzI3MSAwHgYDVQQDDBdCdXlwYXNzIENsYXNzIDIgUm9vdCBDQTCCAiIw +DQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBANfHXvfBB9R3+0Mh9PT1aeTuMgHbo4Yf5FkNuud1 +g1Lr6hxhFUi7HQfKjK6w3Jad6sNgkoaCKHOcVgb/S2TwDCo3SbXlzwx87vFKu3MwZfPVL4O2fuPn +9Z6rYPnT8Z2SdIrkHJasW4DptfQxh6NR/Md+oW+OU3fUl8FVM5I+GC911K2GScuVr1QGbNgGE41b +/+EmGVnAJLqBcXmQRFBoJJRfuLMR8SlBYaNByyM21cHxMlAQTn/0hpPshNOOvEu/XAFOBz3cFIqU +CqTqc/sLUegTBxj6DvEr0VQVfTzh97QZQmdiXnfgolXsttlpF9U6r0TtSsWe5HonfOV116rLJeff +awrbD02TTqigzXsu8lkBarcNuAeBfos4GzjmCleZPe4h6KP1DBbdi+w0jpwqHAAVF41og9JwnxgI +zRFo1clrUs3ERo/ctfPYV3Me6ZQ5BL/T3jjetFPsaRyifsSP5BtwrfKi+fv3FmRmaZ9JUaLiFRhn +Bkp/1Wy1TbMz4GHrXb7pmA8y1x1LPC5aAVKRCfLf6o3YBkBjqhHk/sM3nhRSP/TizPJhk9H9Z2vX +Uq6/aKtAQ6BXNVN48FP4YUIHZMbXb5tMOA1jrGKvNouicwoN9SG9dKpN6nIDSdvHXx1iY8f93ZHs +M+71bbRuMGjeyNYmsHVee7QHIJihdjK4TWxPAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wHQYD +VR0OBBYEFMmAd+BikoL1RpzzuvdMw964o605MA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQsF +AAOCAgEAU18h9bqwOlI5LJKwbADJ784g7wbylp7ppHR/ehb8t/W2+xUbP6umwHJdELFx7rxP462s +A20ucS6vxOOto70MEae0/0qyexAQH6dXQbLArvQsWdZHEIjzIVEpMMpghq9Gqx3tOluwlN5E40EI +osHsHdb9T7bWR9AUC8rmyrV7d35BH16Dx7aMOZawP5aBQW9gkOLo+fsicdl9sz1Gv7SEr5AcD48S +aq/v7h56rgJKihcrdv6sVIkkLE8/trKnToyokZf7KcZ7XC25y2a2t6hbElGFtQl+Ynhw/qlqYLYd +DnkM/crqJIByw5c/8nerQyIKx+u2DISCLIBrQYoIwOula9+ZEsuK1V6ADJHgJgg2SMX6OBE1/yWD +LfJ6v9r9jv6ly0UsH8SIU653DtmadsWOLB2jutXsMq7Aqqz30XpN69QH4kj3Io6wpJ9qzo6ysmD0 +oyLQI+uUWnpp3Q+/QFesa1lQ2aOZ4W7+jQF5JyMV3pKdewlNWudLSDBaGOYKbeaP4NK75t98biGC +wWg5TbSYWGZizEqQXsP6JwSxeRV0mcy+rSDeJmAc61ZRpqPq5KM/p/9h3PFaTWwyI0PurKju7koS +CTxdccK+efrCh2gdC/1cacwG0Jp9VJkqyTkaGa9LKkPzY11aWOIv4x3kqdbQCtCev9eBCfHJxyYN +rJgWVqA= +-----END CERTIFICATE----- + +Buypass Class 3 Root CA +======================= +-----BEGIN CERTIFICATE----- +MIIFWTCCA0GgAwIBAgIBAjANBgkqhkiG9w0BAQsFADBOMQswCQYDVQQGEwJOTzEdMBsGA1UECgwU +QnV5cGFzcyBBUy05ODMxNjMzMjcxIDAeBgNVBAMMF0J1eXBhc3MgQ2xhc3MgMyBSb290IENBMB4X +DTEwMTAyNjA4Mjg1OFoXDTQwMTAyNjA4Mjg1OFowTjELMAkGA1UEBhMCTk8xHTAbBgNVBAoMFEJ1 +eXBhc3MgQVMtOTgzMTYzMzI3MSAwHgYDVQQDDBdCdXlwYXNzIENsYXNzIDMgUm9vdCBDQTCCAiIw +DQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAKXaCpUWUOOV8l6ddjEGMnqb8RB2uACatVI2zSRH +sJ8YZLya9vrVediQYkwiL944PdbgqOkcLNt4EemOaFEVcsfzM4fkoF0LXOBXByow9c3EN3coTRiR +5r/VUv1xLXA+58bEiuPwKAv0dpihi4dVsjoT/Lc+JzeOIuOoTyrvYLs9tznDDgFHmV0ST9tD+leh +7fmdvhFHJlsTmKtdFoqwNxxXnUX/iJY2v7vKB3tvh2PX0DJq1l1sDPGzbjniazEuOQAnFN44wOwZ +ZoYS6J1yFhNkUsepNxz9gjDthBgd9K5c/3ATAOux9TN6S9ZV+AWNS2mw9bMoNlwUxFFzTWsL8TQH +2xc519woe2v1n/MuwU8XKhDzzMro6/1rqy6any2CbgTUUgGTLT2G/H783+9CHaZr77kgxve9oKeV +/afmiSTYzIw0bOIjL9kSGiG5VZFvC5F5GQytQIgLcOJ60g7YaEi7ghM5EFjp2CoHxhLbWNvSO1UQ +RwUVZ2J+GGOmRj8JDlQyXr8NYnon74Do29lLBlo3WiXQCBJ31G8JUJc9yB3D34xFMFbG02SrZvPA +Xpacw8Tvw3xrizp5f7NJzz3iiZ+gMEuFuZyUJHmPfWupRWgPK9Dx2hzLabjKSWJtyNBjYt1gD1iq +j6G8BaVmos8bdrKEZLFMOVLAMLrwjEsCsLa3AgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wHQYD +VR0OBBYEFEe4zf/lb+74suwvTg75JbCOPGvDMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQsF +AAOCAgEAACAjQTUEkMJAYmDv4jVM1z+s4jSQuKFvdvoWFqRINyzpkMLyPPgKn9iB5btb2iUspKdV +cSQy9sgL8rxq+JOssgfCX5/bzMiKqr5qb+FJEMwx14C7u8jYog5kV+qi9cKpMRXSIGrs/CIBKM+G +uIAeqcwRpTzyFrNHnfzSgCHEy9BHcEGhyoMZCCxt8l13nIoUE9Q2HJLw5QY33KbmkJs4j1xrG0aG +Q0JfPgEHU1RdZX33inOhmlRaHylDFCfChQ+1iHsaO5S3HWCntZznKWlXWpuTekMwGwPXYshApqr8 +ZORK15FTAaggiG6cX0S5y2CBNOxv033aSF/rtJC8LakcC6wc1aJoIIAE1vyxjy+7SjENSoYc6+I2 +KSb12tjE8nVhz36udmNKekBlk4f4HoCMhuWG1o8O/FMsYOgWYRqiPkN7zTlgVGr18okmAWiDSKIz +6MkEkbIRNBE+6tBDGR8Dk5AM/1E9V/RBbuHLoL7ryWPNbczk+DaqaJ3tvV2XcEQNtg413OEMXbug +UZTLfhbrES+jkkXITHHZvMmZUldGL1DPvTVp9D0VzgalLA8+9oG6lLvDu79leNKGef9JOxqDDPDe +eOzI8k1MGt6CKfjBWtrt7uYnXuhF0J0cUahoq0Tj0Itq4/g7u9xN12TyUb7mqqta6THuBrxzvxNi +Cp/HuZc= +-----END CERTIFICATE----- + +T-TeleSec GlobalRoot Class 3 +============================ +-----BEGIN CERTIFICATE----- +MIIDwzCCAqugAwIBAgIBATANBgkqhkiG9w0BAQsFADCBgjELMAkGA1UEBhMCREUxKzApBgNVBAoM +IlQtU3lzdGVtcyBFbnRlcnByaXNlIFNlcnZpY2VzIEdtYkgxHzAdBgNVBAsMFlQtU3lzdGVtcyBU +cnVzdCBDZW50ZXIxJTAjBgNVBAMMHFQtVGVsZVNlYyBHbG9iYWxSb290IENsYXNzIDMwHhcNMDgx +MDAxMTAyOTU2WhcNMzMxMDAxMjM1OTU5WjCBgjELMAkGA1UEBhMCREUxKzApBgNVBAoMIlQtU3lz +dGVtcyBFbnRlcnByaXNlIFNlcnZpY2VzIEdtYkgxHzAdBgNVBAsMFlQtU3lzdGVtcyBUcnVzdCBD +ZW50ZXIxJTAjBgNVBAMMHFQtVGVsZVNlYyBHbG9iYWxSb290IENsYXNzIDMwggEiMA0GCSqGSIb3 +DQEBAQUAA4IBDwAwggEKAoIBAQC9dZPwYiJvJK7genasfb3ZJNW4t/zN8ELg63iIVl6bmlQdTQyK +9tPPcPRStdiTBONGhnFBSivwKixVA9ZIw+A5OO3yXDw/RLyTPWGrTs0NvvAgJ1gORH8EGoel15YU +NpDQSXuhdfsaa3Ox+M6pCSzyU9XDFES4hqX2iys52qMzVNn6chr3IhUciJFrf2blw2qAsCTz34ZF +iP0Zf3WHHx+xGwpzJFu5ZeAsVMhg02YXP+HMVDNzkQI6pn97djmiH5a2OK61yJN0HZ65tOVgnS9W +0eDrXltMEnAMbEQgqxHY9Bn20pxSN+f6tsIxO0rUFJmtxxr1XV/6B7h8DR/Wgx6zAgMBAAGjQjBA +MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBS1A/d2O2GCahKqGFPr +AyGUv/7OyjANBgkqhkiG9w0BAQsFAAOCAQEAVj3vlNW92nOyWL6ukK2YJ5f+AbGwUgC4TeQbIXQb +fsDuXmkqJa9c1h3a0nnJ85cp4IaH3gRZD/FZ1GSFS5mvJQQeyUapl96Cshtwn5z2r3Ex3XsFpSzT +ucpH9sry9uetuUg/vBa3wW306gmv7PO15wWeph6KU1HWk4HMdJP2udqmJQV0eVp+QD6CSyYRMG7h +P0HHRwA11fXT91Q+gT3aSWqas+8QPebrb9HIIkfLzM8BMZLZGOMivgkeGj5asuRrDFR6fUNOuIml +e9eiPZaGzPImNC1qkp2aGtAw4l1OBLBfiyB+d8E9lYLRRpo7PHi4b6HQDWSieB4pTpPDpFQUWw== +-----END CERTIFICATE----- + +EE Certification Centre Root CA +=============================== +-----BEGIN CERTIFICATE----- +MIIEAzCCAuugAwIBAgIQVID5oHPtPwBMyonY43HmSjANBgkqhkiG9w0BAQUFADB1MQswCQYDVQQG +EwJFRTEiMCAGA1UECgwZQVMgU2VydGlmaXRzZWVyaW1pc2tlc2t1czEoMCYGA1UEAwwfRUUgQ2Vy +dGlmaWNhdGlvbiBDZW50cmUgUm9vdCBDQTEYMBYGCSqGSIb3DQEJARYJcGtpQHNrLmVlMCIYDzIw +MTAxMDMwMTAxMDMwWhgPMjAzMDEyMTcyMzU5NTlaMHUxCzAJBgNVBAYTAkVFMSIwIAYDVQQKDBlB +UyBTZXJ0aWZpdHNlZXJpbWlza2Vza3VzMSgwJgYDVQQDDB9FRSBDZXJ0aWZpY2F0aW9uIENlbnRy +ZSBSb290IENBMRgwFgYJKoZIhvcNAQkBFglwa2lAc2suZWUwggEiMA0GCSqGSIb3DQEBAQUAA4IB +DwAwggEKAoIBAQDIIMDs4MVLqwd4lfNE7vsLDP90jmG7sWLqI9iroWUyeuuOF0+W2Ap7kaJjbMeM +TC55v6kF/GlclY1i+blw7cNRfdCT5mzrMEvhvH2/UpvObntl8jixwKIy72KyaOBhU8E2lf/slLo2 +rpwcpzIP5Xy0xm90/XsY6KxX7QYgSzIwWFv9zajmofxwvI6Sc9uXp3whrj3B9UiHbCe9nyV0gVWw +93X2PaRka9ZP585ArQ/dMtO8ihJTmMmJ+xAdTX7Nfh9WDSFwhfYggx/2uh8Ej+p3iDXE/+pOoYtN +P2MbRMNE1CV2yreN1x5KZmTNXMWcg+HCCIia7E6j8T4cLNlsHaFLAgMBAAGjgYowgYcwDwYDVR0T +AQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFBLyWj7qVhy/zQas8fElyalL1BSZ +MEUGA1UdJQQ+MDwGCCsGAQUFBwMCBggrBgEFBQcDAQYIKwYBBQUHAwMGCCsGAQUFBwMEBggrBgEF +BQcDCAYIKwYBBQUHAwkwDQYJKoZIhvcNAQEFBQADggEBAHv25MANqhlHt01Xo/6tu7Fq1Q+e2+Rj +xY6hUFaTlrg4wCQiZrxTFGGVv9DHKpY5P30osxBAIWrEr7BSdxjhlthWXePdNl4dp1BUoMUq5KqM +lIpPnTX/dqQGE5Gion0ARD9V04I8GtVbvFZMIi5GQ4okQC3zErg7cBqklrkar4dBGmoYDQZPxz5u +uSlNDUmJEYcyW+ZLBMjkXOZ0c5RdFpgTlf7727FE5TpwrDdr5rMzcijJs1eg9gIWiAYLtqZLICjU +3j2LrTcFU3T+bsy8QxdxXvnFzBqpYe73dgzzcvRyrc9yAjYHR8/vGVCJYMzpJJUPwssd8m92kMfM +dcGWxZ0= +-----END CERTIFICATE----- + +D-TRUST Root Class 3 CA 2 2009 +============================== +-----BEGIN CERTIFICATE----- +MIIEMzCCAxugAwIBAgIDCYPzMA0GCSqGSIb3DQEBCwUAME0xCzAJBgNVBAYTAkRFMRUwEwYDVQQK +DAxELVRydXN0IEdtYkgxJzAlBgNVBAMMHkQtVFJVU1QgUm9vdCBDbGFzcyAzIENBIDIgMjAwOTAe +Fw0wOTExMDUwODM1NThaFw0yOTExMDUwODM1NThaME0xCzAJBgNVBAYTAkRFMRUwEwYDVQQKDAxE +LVRydXN0IEdtYkgxJzAlBgNVBAMMHkQtVFJVU1QgUm9vdCBDbGFzcyAzIENBIDIgMjAwOTCCASIw +DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANOySs96R+91myP6Oi/WUEWJNTrGa9v+2wBoqOAD +ER03UAifTUpolDWzU9GUY6cgVq/eUXjsKj3zSEhQPgrfRlWLJ23DEE0NkVJD2IfgXU42tSHKXzlA +BF9bfsyjxiupQB7ZNoTWSPOSHjRGICTBpFGOShrvUD9pXRl/RcPHAY9RySPocq60vFYJfxLLHLGv +KZAKyVXMD9O0Gu1HNVpK7ZxzBCHQqr0ME7UAyiZsxGsMlFqVlNpQmvH/pStmMaTJOKDfHR+4CS7z +p+hnUquVH+BGPtikw8paxTGA6Eian5Rp/hnd2HN8gcqW3o7tszIFZYQ05ub9VxC1X3a/L7AQDcUC +AwEAAaOCARowggEWMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFP3aFMSfMN4hvR5COfyrYyNJ +4PGEMA4GA1UdDwEB/wQEAwIBBjCB0wYDVR0fBIHLMIHIMIGAoH6gfIZ6bGRhcDovL2RpcmVjdG9y +eS5kLXRydXN0Lm5ldC9DTj1ELVRSVVNUJTIwUm9vdCUyMENsYXNzJTIwMyUyMENBJTIwMiUyMDIw +MDksTz1ELVRydXN0JTIwR21iSCxDPURFP2NlcnRpZmljYXRlcmV2b2NhdGlvbmxpc3QwQ6BBoD+G +PWh0dHA6Ly93d3cuZC10cnVzdC5uZXQvY3JsL2QtdHJ1c3Rfcm9vdF9jbGFzc18zX2NhXzJfMjAw +OS5jcmwwDQYJKoZIhvcNAQELBQADggEBAH+X2zDI36ScfSF6gHDOFBJpiBSVYEQBrLLpME+bUMJm +2H6NMLVwMeniacfzcNsgFYbQDfC+rAF1hM5+n02/t2A7nPPKHeJeaNijnZflQGDSNiH+0LS4F9p0 +o3/U37CYAqxva2ssJSRyoWXuJVrl5jLn8t+rSfrzkGkj2wTZ51xY/GXUl77M/C4KzCUqNQT4YJEV +dT1B/yMfGchs64JTBKbkTCJNjYy6zltz7GRUUG3RnFX7acM2w4y8PIWmawomDeCTmGCufsYkl4ph +X5GOZpIJhzbNi5stPvZR1FDUWSi9g/LMKHtThm3YJohw1+qRzT65ysCQblrGXnRl11z+o+I= +-----END CERTIFICATE----- + +D-TRUST Root Class 3 CA 2 EV 2009 +================================= +-----BEGIN CERTIFICATE----- +MIIEQzCCAyugAwIBAgIDCYP0MA0GCSqGSIb3DQEBCwUAMFAxCzAJBgNVBAYTAkRFMRUwEwYDVQQK +DAxELVRydXN0IEdtYkgxKjAoBgNVBAMMIUQtVFJVU1QgUm9vdCBDbGFzcyAzIENBIDIgRVYgMjAw +OTAeFw0wOTExMDUwODUwNDZaFw0yOTExMDUwODUwNDZaMFAxCzAJBgNVBAYTAkRFMRUwEwYDVQQK +DAxELVRydXN0IEdtYkgxKjAoBgNVBAMMIUQtVFJVU1QgUm9vdCBDbGFzcyAzIENBIDIgRVYgMjAw +OTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJnxhDRwui+3MKCOvXwEz75ivJn9gpfS +egpnljgJ9hBOlSJzmY3aFS3nBfwZcyK3jpgAvDw9rKFs+9Z5JUut8Mxk2og+KbgPCdM03TP1YtHh +zRnp7hhPTFiu4h7WDFsVWtg6uMQYZB7jM7K1iXdODL/ZlGsTl28So/6ZqQTMFexgaDbtCHu39b+T +7WYxg4zGcTSHThfqr4uRjRxWQa4iN1438h3Z0S0NL2lRp75mpoo6Kr3HGrHhFPC+Oh25z1uxav60 +sUYgovseO3Dvk5h9jHOW8sXvhXCtKSb8HgQ+HKDYD8tSg2J87otTlZCpV6LqYQXY+U3EJ/pure35 +11H3a6UCAwEAAaOCASQwggEgMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFNOUikxiEyoZLsyv +cop9NteaHNxnMA4GA1UdDwEB/wQEAwIBBjCB3QYDVR0fBIHVMIHSMIGHoIGEoIGBhn9sZGFwOi8v +ZGlyZWN0b3J5LmQtdHJ1c3QubmV0L0NOPUQtVFJVU1QlMjBSb290JTIwQ2xhc3MlMjAzJTIwQ0El +MjAyJTIwRVYlMjAyMDA5LE89RC1UcnVzdCUyMEdtYkgsQz1ERT9jZXJ0aWZpY2F0ZXJldm9jYXRp +b25saXN0MEagRKBChkBodHRwOi8vd3d3LmQtdHJ1c3QubmV0L2NybC9kLXRydXN0X3Jvb3RfY2xh +c3NfM19jYV8yX2V2XzIwMDkuY3JsMA0GCSqGSIb3DQEBCwUAA4IBAQA07XtaPKSUiO8aEXUHL7P+ +PPoeUSbrh/Yp3uDx1MYkCenBz1UbtDDZzhr+BlGmFaQt77JLvyAoJUnRpjZ3NOhk31KxEcdzes05 +nsKtjHEh8lprr988TlWvsoRlFIm5d8sqMb7Po23Pb0iUMkZv53GMoKaEGTcH8gNFCSuGdXzfX2lX +ANtu2KZyIktQ1HWYVt+3GP9DQ1CuekR78HlR10M9p9OB0/DJT7naxpeG0ILD5EJt/rDiZE4OJudA +NCa1CInXCGNjOCd1HjPqbqjdn5lPdE2BiYBL3ZqXKVwvvoFBuYz/6n1gBp7N1z3TLqMVvKjmJuVv +w9y4AyHqnxbxLFS1 +-----END CERTIFICATE----- + +CA Disig Root R2 +================ +-----BEGIN CERTIFICATE----- +MIIFaTCCA1GgAwIBAgIJAJK4iNuwisFjMA0GCSqGSIb3DQEBCwUAMFIxCzAJBgNVBAYTAlNLMRMw +EQYDVQQHEwpCcmF0aXNsYXZhMRMwEQYDVQQKEwpEaXNpZyBhLnMuMRkwFwYDVQQDExBDQSBEaXNp +ZyBSb290IFIyMB4XDTEyMDcxOTA5MTUzMFoXDTQyMDcxOTA5MTUzMFowUjELMAkGA1UEBhMCU0sx +EzARBgNVBAcTCkJyYXRpc2xhdmExEzARBgNVBAoTCkRpc2lnIGEucy4xGTAXBgNVBAMTEENBIERp +c2lnIFJvb3QgUjIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCio8QACdaFXS1tFPbC +w3OeNcJxVX6B+6tGUODBfEl45qt5WDza/3wcn9iXAng+a0EE6UG9vgMsRfYvZNSrXaNHPWSb6Wia +xswbP7q+sos0Ai6YVRn8jG+qX9pMzk0DIaPY0jSTVpbLTAwAFjxfGs3Ix2ymrdMxp7zo5eFm1tL7 +A7RBZckQrg4FY8aAamkw/dLukO8NJ9+flXP04SXabBbeQTg06ov80egEFGEtQX6sx3dOy1FU+16S +GBsEWmjGycT6txOgmLcRK7fWV8x8nhfRyyX+hk4kLlYMeE2eARKmK6cBZW58Yh2EhN/qwGu1pSqV +g8NTEQxzHQuyRpDRQjrOQG6Vrf/GlK1ul4SOfW+eioANSW1z4nuSHsPzwfPrLgVv2RvPN3YEyLRa +5Beny912H9AZdugsBbPWnDTYltxhh5EF5EQIM8HauQhl1K6yNg3ruji6DOWbnuuNZt2Zz9aJQfYE +koopKW1rOhzndX0CcQ7zwOe9yxndnWCywmZgtrEE7snmhrmaZkCo5xHtgUUDi/ZnWejBBhG93c+A +Ak9lQHhcR1DIm+YfgXvkRKhbhZri3lrVx/k6RGZL5DJUfORsnLMOPReisjQS1n6yqEm70XooQL6i +Fh/f5DcfEXP7kAplQ6INfPgGAVUzfbANuPT1rqVCV3w2EYx7XsQDnYx5nQIDAQABo0IwQDAPBgNV +HRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUtZn4r7CU9eMg1gqtzk5WpC5u +Qu0wDQYJKoZIhvcNAQELBQADggIBACYGXnDnZTPIgm7ZnBc6G3pmsgH2eDtpXi/q/075KMOYKmFM +tCQSin1tERT3nLXK5ryeJ45MGcipvXrA1zYObYVybqjGom32+nNjf7xueQgcnYqfGopTpti72TVV +sRHFqQOzVju5hJMiXn7B9hJSi+osZ7z+Nkz1uM/Rs0mSO9MpDpkblvdhuDvEK7Z4bLQjb/D907Je +dR+Zlais9trhxTF7+9FGs9K8Z7RiVLoJ92Owk6Ka+elSLotgEqv89WBW7xBci8QaQtyDW2QOy7W8 +1k/BfDxujRNt+3vrMNDcTa/F1balTFtxyegxvug4BkihGuLq0t4SOVga/4AOgnXmt8kHbA7v/zjx +mHHEt38OFdAlab0inSvtBfZGR6ztwPDUO+Ls7pZbkBNOHlY667DvlruWIxG68kOGdGSVyCh13x01 +utI3gzhTODY7z2zp+WsO0PsE6E9312UBeIYMej4hYvF/Y3EMyZ9E26gnonW+boE+18DrG5gPcFw0 +sorMwIUY6256s/daoQe/qUKS82Ail+QUoQebTnbAjn39pCXHR+3/H3OszMOl6W8KjptlwlCFtaOg +UxLMVYdh84GuEEZhvUQhuMI9dM9+JDX6HAcOmz0iyu8xL4ysEr3vQCj8KWefshNPZiTEUxnpHikV +7+ZtsH8tZ/3zbBt1RqPlShfppNcL +-----END CERTIFICATE----- + +ACCVRAIZ1 +========= +-----BEGIN CERTIFICATE----- +MIIH0zCCBbugAwIBAgIIXsO3pkN/pOAwDQYJKoZIhvcNAQEFBQAwQjESMBAGA1UEAwwJQUNDVlJB +SVoxMRAwDgYDVQQLDAdQS0lBQ0NWMQ0wCwYDVQQKDARBQ0NWMQswCQYDVQQGEwJFUzAeFw0xMTA1 +MDUwOTM3MzdaFw0zMDEyMzEwOTM3MzdaMEIxEjAQBgNVBAMMCUFDQ1ZSQUlaMTEQMA4GA1UECwwH +UEtJQUNDVjENMAsGA1UECgwEQUNDVjELMAkGA1UEBhMCRVMwggIiMA0GCSqGSIb3DQEBAQUAA4IC +DwAwggIKAoICAQCbqau/YUqXry+XZpp0X9DZlv3P4uRm7x8fRzPCRKPfmt4ftVTdFXxpNRFvu8gM +jmoYHtiP2Ra8EEg2XPBjs5BaXCQ316PWywlxufEBcoSwfdtNgM3802/J+Nq2DoLSRYWoG2ioPej0 +RGy9ocLLA76MPhMAhN9KSMDjIgro6TenGEyxCQ0jVn8ETdkXhBilyNpAlHPrzg5XPAOBOp0KoVdD +aaxXbXmQeOW1tDvYvEyNKKGno6e6Ak4l0Squ7a4DIrhrIA8wKFSVf+DuzgpmndFALW4ir50awQUZ +0m/A8p/4e7MCQvtQqR0tkw8jq8bBD5L/0KIV9VMJcRz/RROE5iZe+OCIHAr8Fraocwa48GOEAqDG +WuzndN9wrqODJerWx5eHk6fGioozl2A3ED6XPm4pFdahD9GILBKfb6qkxkLrQaLjlUPTAYVtjrs7 +8yM2x/474KElB0iryYl0/wiPgL/AlmXz7uxLaL2diMMxs0Dx6M/2OLuc5NF/1OVYm3z61PMOm3WR +5LpSLhl+0fXNWhn8ugb2+1KoS5kE3fj5tItQo05iifCHJPqDQsGH+tUtKSpacXpkatcnYGMN285J +9Y0fkIkyF/hzQ7jSWpOGYdbhdQrqeWZ2iE9x6wQl1gpaepPluUsXQA+xtrn13k/c4LOsOxFwYIRK +Q26ZIMApcQrAZQIDAQABo4ICyzCCAscwfQYIKwYBBQUHAQEEcTBvMEwGCCsGAQUFBzAChkBodHRw +Oi8vd3d3LmFjY3YuZXMvZmlsZWFkbWluL0FyY2hpdm9zL2NlcnRpZmljYWRvcy9yYWl6YWNjdjEu +Y3J0MB8GCCsGAQUFBzABhhNodHRwOi8vb2NzcC5hY2N2LmVzMB0GA1UdDgQWBBTSh7Tj3zcnk1X2 +VuqB5TbMjB4/vTAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFNKHtOPfNyeTVfZW6oHlNsyM +Hj+9MIIBcwYDVR0gBIIBajCCAWYwggFiBgRVHSAAMIIBWDCCASIGCCsGAQUFBwICMIIBFB6CARAA +QQB1AHQAbwByAGkAZABhAGQAIABkAGUAIABDAGUAcgB0AGkAZgBpAGMAYQBjAGkA8wBuACAAUgBh +AO0AegAgAGQAZQAgAGwAYQAgAEEAQwBDAFYAIAAoAEEAZwBlAG4AYwBpAGEAIABkAGUAIABUAGUA +YwBuAG8AbABvAGcA7QBhACAAeQAgAEMAZQByAHQAaQBmAGkAYwBhAGMAaQDzAG4AIABFAGwAZQBj +AHQAcgDzAG4AaQBjAGEALAAgAEMASQBGACAAUQA0ADYAMAAxADEANQA2AEUAKQAuACAAQwBQAFMA +IABlAG4AIABoAHQAdABwADoALwAvAHcAdwB3AC4AYQBjAGMAdgAuAGUAczAwBggrBgEFBQcCARYk +aHR0cDovL3d3dy5hY2N2LmVzL2xlZ2lzbGFjaW9uX2MuaHRtMFUGA1UdHwROMEwwSqBIoEaGRGh0 +dHA6Ly93d3cuYWNjdi5lcy9maWxlYWRtaW4vQXJjaGl2b3MvY2VydGlmaWNhZG9zL3JhaXphY2N2 +MV9kZXIuY3JsMA4GA1UdDwEB/wQEAwIBBjAXBgNVHREEEDAOgQxhY2N2QGFjY3YuZXMwDQYJKoZI +hvcNAQEFBQADggIBAJcxAp/n/UNnSEQU5CmH7UwoZtCPNdpNYbdKl02125DgBS4OxnnQ8pdpD70E +R9m+27Up2pvZrqmZ1dM8MJP1jaGo/AaNRPTKFpV8M9xii6g3+CfYCS0b78gUJyCpZET/LtZ1qmxN +YEAZSUNUY9rizLpm5U9EelvZaoErQNV/+QEnWCzI7UiRfD+mAM/EKXMRNt6GGT6d7hmKG9Ww7Y49 +nCrADdg9ZuM8Db3VlFzi4qc1GwQA9j9ajepDvV+JHanBsMyZ4k0ACtrJJ1vnE5Bc5PUzolVt3OAJ +TS+xJlsndQAJxGJ3KQhfnlmstn6tn1QwIgPBHnFk/vk4CpYY3QIUrCPLBhwepH2NDd4nQeit2hW3 +sCPdK6jT2iWH7ehVRE2I9DZ+hJp4rPcOVkkO1jMl1oRQQmwgEh0q1b688nCBpHBgvgW1m54ERL5h +I6zppSSMEYCUWqKiuUnSwdzRp+0xESyeGabu4VXhwOrPDYTkF7eifKXeVSUG7szAh1xA2syVP1Xg +Nce4hL60Xc16gwFy7ofmXx2utYXGJt/mwZrpHgJHnyqobalbz+xFd3+YJ5oyXSrjhO7FmGYvliAd +3djDJ9ew+f7Zfc3Qn48LFFhRny+Lwzgt3uiP1o2HpPVWQxaZLPSkVrQ0uGE3ycJYgBugl6H8WY3p +EfbRD0tVNEYqi4Y7 +-----END CERTIFICATE----- + +TWCA Global Root CA +=================== +-----BEGIN CERTIFICATE----- +MIIFQTCCAymgAwIBAgICDL4wDQYJKoZIhvcNAQELBQAwUTELMAkGA1UEBhMCVFcxEjAQBgNVBAoT +CVRBSVdBTi1DQTEQMA4GA1UECxMHUm9vdCBDQTEcMBoGA1UEAxMTVFdDQSBHbG9iYWwgUm9vdCBD +QTAeFw0xMjA2MjcwNjI4MzNaFw0zMDEyMzExNTU5NTlaMFExCzAJBgNVBAYTAlRXMRIwEAYDVQQK +EwlUQUlXQU4tQ0ExEDAOBgNVBAsTB1Jvb3QgQ0ExHDAaBgNVBAMTE1RXQ0EgR2xvYmFsIFJvb3Qg +Q0EwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCwBdvI64zEbooh745NnHEKH1Jw7W2C +nJfF10xORUnLQEK1EjRsGcJ0pDFfhQKX7EMzClPSnIyOt7h52yvVavKOZsTuKwEHktSz0ALfUPZV +r2YOy+BHYC8rMjk1Ujoog/h7FsYYuGLWRyWRzvAZEk2tY/XTP3VfKfChMBwqoJimFb3u/Rk28OKR +Q4/6ytYQJ0lM793B8YVwm8rqqFpD/G2Gb3PpN0Wp8DbHzIh1HrtsBv+baz4X7GGqcXzGHaL3SekV +tTzWoWH1EfcFbx39Eb7QMAfCKbAJTibc46KokWofwpFFiFzlmLhxpRUZyXx1EcxwdE8tmx2RRP1W +KKD+u4ZqyPpcC1jcxkt2yKsi2XMPpfRaAok/T54igu6idFMqPVMnaR1sjjIsZAAmY2E2TqNGtz99 +sy2sbZCilaLOz9qC5wc0GZbpuCGqKX6mOL6OKUohZnkfs8O1CWfe1tQHRvMq2uYiN2DLgbYPoA/p +yJV/v1WRBXrPPRXAb94JlAGD1zQbzECl8LibZ9WYkTunhHiVJqRaCPgrdLQABDzfuBSO6N+pjWxn +kjMdwLfS7JLIvgm/LCkFbwJrnu+8vyq8W8BQj0FwcYeyTbcEqYSjMq+u7msXi7Kx/mzhkIyIqJdI +zshNy/MGz19qCkKxHh53L46g5pIOBvwFItIm4TFRfTLcDwIDAQABoyMwITAOBgNVHQ8BAf8EBAMC +AQYwDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAgEAXzSBdu+WHdXltdkCY4QWwa6g +cFGn90xHNcgL1yg9iXHZqjNB6hQbbCEAwGxCGX6faVsgQt+i0trEfJdLjbDorMjupWkEmQqSpqsn +LhpNgb+E1HAerUf+/UqdM+DyucRFCCEK2mlpc3INvjT+lIutwx4116KD7+U4x6WFH6vPNOw/KP4M +8VeGTslV9xzU2KV9Bnpv1d8Q34FOIWWxtuEXeZVFBs5fzNxGiWNoRI2T9GRwoD2dKAXDOXC4Ynsg +/eTb6QihuJ49CcdP+yz4k3ZB3lLg4VfSnQO8d57+nile98FRYB/e2guyLXW3Q0iT5/Z5xoRdgFlg +lPx4mI88k1HtQJAH32RjJMtOcQWh15QaiDLxInQirqWm2BJpTGCjAu4r7NRjkgtevi92a6O2JryP +A9gK8kxkRr05YuWW6zRjESjMlfGt7+/cgFhI6Uu46mWs6fyAtbXIRfmswZ/ZuepiiI7E8UuDEq3m +i4TWnsLrgxifarsbJGAzcMzs9zLzXNl5fe+epP7JI8Mk7hWSsT2RTyaGvWZzJBPqpK5jwa19hAM8 +EHiGG3njxPPyBJUgriOCxLM6AGK/5jYk4Ve6xx6QddVfP5VhK8E7zeWzaGHQRiapIVJpLesux+t3 +zqY6tQMzT3bR51xUAV3LePTJDL/PEo4XLSNolOer/qmyKwbQBM0= +-----END CERTIFICATE----- + +TeliaSonera Root CA v1 +====================== +-----BEGIN CERTIFICATE----- +MIIFODCCAyCgAwIBAgIRAJW+FqD3LkbxezmCcvqLzZYwDQYJKoZIhvcNAQEFBQAwNzEUMBIGA1UE +CgwLVGVsaWFTb25lcmExHzAdBgNVBAMMFlRlbGlhU29uZXJhIFJvb3QgQ0EgdjEwHhcNMDcxMDE4 +MTIwMDUwWhcNMzIxMDE4MTIwMDUwWjA3MRQwEgYDVQQKDAtUZWxpYVNvbmVyYTEfMB0GA1UEAwwW +VGVsaWFTb25lcmEgUm9vdCBDQSB2MTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMK+ +6yfwIaPzaSZVfp3FVRaRXP3vIb9TgHot0pGMYzHw7CTww6XScnwQbfQ3t+XmfHnqjLWCi65ItqwA +3GV17CpNX8GH9SBlK4GoRz6JI5UwFpB/6FcHSOcZrr9FZ7E3GwYq/t75rH2D+1665I+XZ75Ljo1k +B1c4VWk0Nj0TSO9P4tNmHqTPGrdeNjPUtAa9GAH9d4RQAEX1jF3oI7x+/jXh7VB7qTCNGdMJjmhn +Xb88lxhTuylixcpecsHHltTbLaC0H2kD7OriUPEMPPCs81Mt8Bz17Ww5OXOAFshSsCPN4D7c3TxH +oLs1iuKYaIu+5b9y7tL6pe0S7fyYGKkmdtwoSxAgHNN/Fnct7W+A90m7UwW7XWjH1Mh1Fj+JWov3 +F0fUTPHSiXk+TT2YqGHeOh7S+F4D4MHJHIzTjU3TlTazN19jY5szFPAtJmtTfImMMsJu7D0hADnJ +oWjiUIMusDor8zagrC/kb2HCUQk5PotTubtn2txTuXZZNp1D5SDgPTJghSJRt8czu90VL6R4pgd7 +gUY2BIbdeTXHlSw7sKMXNeVzH7RcWe/a6hBle3rQf5+ztCo3O3CLm1u5K7fsslESl1MpWtTwEhDc +TwK7EpIvYtQ/aUN8Ddb8WHUBiJ1YFkveupD/RwGJBmr2X7KQarMCpgKIv7NHfirZ1fpoeDVNAgMB +AAGjPzA9MA8GA1UdEwEB/wQFMAMBAf8wCwYDVR0PBAQDAgEGMB0GA1UdDgQWBBTwj1k4ALP1j5qW +DNXr+nuqF+gTEjANBgkqhkiG9w0BAQUFAAOCAgEAvuRcYk4k9AwI//DTDGjkk0kiP0Qnb7tt3oNm +zqjMDfz1mgbldxSR651Be5kqhOX//CHBXfDkH1e3damhXwIm/9fH907eT/j3HEbAek9ALCI18Bmx +0GtnLLCo4MBANzX2hFxc469CeP6nyQ1Q6g2EdvZR74NTxnr/DlZJLo961gzmJ1TjTQpgcmLNkQfW +pb/ImWvtxBnmq0wROMVvMeJuScg/doAmAyYp4Db29iBT4xdwNBedY2gea+zDTYa4EzAvXUYNR0PV +G6pZDrlcjQZIrXSHX8f8MVRBE+LHIQ6e4B4N4cB7Q4WQxYpYxmUKeFfyxiMPAdkgS94P+5KFdSpc +c41teyWRyu5FrgZLAMzTsVlQ2jqIOylDRl6XK1TOU2+NSueW+r9xDkKLfP0ooNBIytrEgUy7onOT +JsjrDNYmiLbAJM+7vVvrdX3pCI6GMyx5dwlppYn8s3CQh3aP0yK7Qs69cwsgJirQmz1wHiRszYd2 +qReWt88NkvuOGKmYSdGe/mBEciG5Ge3C9THxOUiIkCR1VBatzvT4aRRkOfujuLpwQMcnHL/EVlP6 +Y2XQ8xwOFvVrhlhNGNTkDY6lnVuR3HYkUD/GKvvZt5y11ubQ2egZixVxSK236thZiNSQvxaz2ems +WWFUyBy6ysHK4bkgTI86k4mloMy/0/Z1pHWWbVY= +-----END CERTIFICATE----- + +E-Tugra Certification Authority +=============================== +-----BEGIN CERTIFICATE----- +MIIGSzCCBDOgAwIBAgIIamg+nFGby1MwDQYJKoZIhvcNAQELBQAwgbIxCzAJBgNVBAYTAlRSMQ8w +DQYDVQQHDAZBbmthcmExQDA+BgNVBAoMN0UtVHXEn3JhIEVCRyBCaWxpxZ9pbSBUZWtub2xvamls +ZXJpIHZlIEhpem1ldGxlcmkgQS7Fni4xJjAkBgNVBAsMHUUtVHVncmEgU2VydGlmaWthc3lvbiBN +ZXJrZXppMSgwJgYDVQQDDB9FLVR1Z3JhIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTEzMDMw +NTEyMDk0OFoXDTIzMDMwMzEyMDk0OFowgbIxCzAJBgNVBAYTAlRSMQ8wDQYDVQQHDAZBbmthcmEx +QDA+BgNVBAoMN0UtVHXEn3JhIEVCRyBCaWxpxZ9pbSBUZWtub2xvamlsZXJpIHZlIEhpem1ldGxl +cmkgQS7Fni4xJjAkBgNVBAsMHUUtVHVncmEgU2VydGlmaWthc3lvbiBNZXJrZXppMSgwJgYDVQQD +DB9FLVR1Z3JhIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIICIjANBgkqhkiG9w0BAQEFAAOCAg8A +MIICCgKCAgEA4vU/kwVRHoViVF56C/UYB4Oufq9899SKa6VjQzm5S/fDxmSJPZQuVIBSOTkHS0vd +hQd2h8y/L5VMzH2nPbxHD5hw+IyFHnSOkm0bQNGZDbt1bsipa5rAhDGvykPL6ys06I+XawGb1Q5K +CKpbknSFQ9OArqGIW66z6l7LFpp3RMih9lRozt6Plyu6W0ACDGQXwLWTzeHxE2bODHnv0ZEoq1+g +ElIwcxmOj+GMB6LDu0rw6h8VqO4lzKRG+Bsi77MOQ7osJLjFLFzUHPhdZL3Dk14opz8n8Y4e0ypQ +BaNV2cvnOVPAmJ6MVGKLJrD3fY185MaeZkJVgkfnsliNZvcHfC425lAcP9tDJMW/hkd5s3kc91r0 +E+xs+D/iWR+V7kI+ua2oMoVJl0b+SzGPWsutdEcf6ZG33ygEIqDUD13ieU/qbIWGvaimzuT6w+Gz +rt48Ue7LE3wBf4QOXVGUnhMMti6lTPk5cDZvlsouDERVxcr6XQKj39ZkjFqzAQqptQpHF//vkUAq +jqFGOjGY5RH8zLtJVor8udBhmm9lbObDyz51Sf6Pp+KJxWfXnUYTTjF2OySznhFlhqt/7x3U+Lzn +rFpct1pHXFXOVbQicVtbC/DP3KBhZOqp12gKY6fgDT+gr9Oq0n7vUaDmUStVkhUXU8u3Zg5mTPj5 +dUyQ5xJwx0UCAwEAAaNjMGEwHQYDVR0OBBYEFC7j27JJ0JxUeVz6Jyr+zE7S6E5UMA8GA1UdEwEB +/wQFMAMBAf8wHwYDVR0jBBgwFoAULuPbsknQnFR5XPonKv7MTtLoTlQwDgYDVR0PAQH/BAQDAgEG +MA0GCSqGSIb3DQEBCwUAA4ICAQAFNzr0TbdF4kV1JI+2d1LoHNgQk2Xz8lkGpD4eKexd0dCrfOAK +kEh47U6YA5n+KGCRHTAduGN8qOY1tfrTYXbm1gdLymmasoR6d5NFFxWfJNCYExL/u6Au/U5Mh/jO +XKqYGwXgAEZKgoClM4so3O0409/lPun++1ndYYRP0lSWE2ETPo+Aab6TR7U1Q9Jauz1c77NCR807 +VRMGsAnb/WP2OogKmW9+4c4bU2pEZiNRCHu8W1Ki/QY3OEBhj0qWuJA3+GbHeJAAFS6LrVE1Uweo +a2iu+U48BybNCAVwzDk/dr2l02cmAYamU9JgO3xDf1WKvJUawSg5TB9D0pH0clmKuVb8P7Sd2nCc +dlqMQ1DujjByTd//SffGqWfZbawCEeI6FiWnWAjLb1NBnEg4R2gz0dfHj9R0IdTDBZB6/86WiLEV +KV0jq9BgoRJP3vQXzTLlyb/IQ639Lo7xr+L0mPoSHyDYwKcMhcWQ9DstliaxLL5Mq+ux0orJ23gT +Dx4JnW2PAJ8C2sH6H3p6CcRK5ogql5+Ji/03X186zjhZhkuvcQu02PJwT58yE+Owp1fl2tpDy4Q0 +8ijE6m30Ku/Ba3ba+367hTzSU8JNvnHhRdH9I2cNE3X7z2VnIp2usAnRCf8dNL/+I5c30jn6PQ0G +C7TbO6Orb1wdtn7os4I07QZcJA== +-----END CERTIFICATE----- + +T-TeleSec GlobalRoot Class 2 +============================ +-----BEGIN CERTIFICATE----- +MIIDwzCCAqugAwIBAgIBATANBgkqhkiG9w0BAQsFADCBgjELMAkGA1UEBhMCREUxKzApBgNVBAoM +IlQtU3lzdGVtcyBFbnRlcnByaXNlIFNlcnZpY2VzIEdtYkgxHzAdBgNVBAsMFlQtU3lzdGVtcyBU +cnVzdCBDZW50ZXIxJTAjBgNVBAMMHFQtVGVsZVNlYyBHbG9iYWxSb290IENsYXNzIDIwHhcNMDgx +MDAxMTA0MDE0WhcNMzMxMDAxMjM1OTU5WjCBgjELMAkGA1UEBhMCREUxKzApBgNVBAoMIlQtU3lz +dGVtcyBFbnRlcnByaXNlIFNlcnZpY2VzIEdtYkgxHzAdBgNVBAsMFlQtU3lzdGVtcyBUcnVzdCBD +ZW50ZXIxJTAjBgNVBAMMHFQtVGVsZVNlYyBHbG9iYWxSb290IENsYXNzIDIwggEiMA0GCSqGSIb3 +DQEBAQUAA4IBDwAwggEKAoIBAQCqX9obX+hzkeXaXPSi5kfl82hVYAUdAqSzm1nzHoqvNK38DcLZ +SBnuaY/JIPwhqgcZ7bBcrGXHX+0CfHt8LRvWurmAwhiCFoT6ZrAIxlQjgeTNuUk/9k9uN0goOA/F +vudocP05l03Sx5iRUKrERLMjfTlH6VJi1hKTXrcxlkIF+3anHqP1wvzpesVsqXFP6st4vGCvx970 +2cu+fjOlbpSD8DT6IavqjnKgP6TeMFvvhk1qlVtDRKgQFRzlAVfFmPHmBiiRqiDFt1MmUUOyCxGV +WOHAD3bZwI18gfNycJ5v/hqO2V81xrJvNHy+SE/iWjnX2J14np+GPgNeGYtEotXHAgMBAAGjQjBA +MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBS/WSA2AHmgoCJrjNXy +YdK4LMuCSjANBgkqhkiG9w0BAQsFAAOCAQEAMQOiYQsfdOhyNsZt+U2e+iKo4YFWz827n+qrkRk4 +r6p8FU3ztqONpfSO9kSpp+ghla0+AGIWiPACuvxhI+YzmzB6azZie60EI4RYZeLbK4rnJVM3YlNf +vNoBYimipidx5joifsFvHZVwIEoHNN/q/xWA5brXethbdXwFeilHfkCoMRN3zUA7tFFHei4R40cR +3p1m0IvVVGb6g1XqfMIpiRvpb7PO4gWEyS8+eIVibslfwXhjdFjASBgMmTnrpMwatXlajRWc2BQN +9noHV8cigwUtPJslJj0Ys6lDfMjIq2SPDqO/nBudMNva0Bkuqjzx+zOAduTNrRlPBSeOE6Fuwg== +-----END CERTIFICATE----- + +Atos TrustedRoot 2011 +===================== +-----BEGIN CERTIFICATE----- +MIIDdzCCAl+gAwIBAgIIXDPLYixfszIwDQYJKoZIhvcNAQELBQAwPDEeMBwGA1UEAwwVQXRvcyBU +cnVzdGVkUm9vdCAyMDExMQ0wCwYDVQQKDARBdG9zMQswCQYDVQQGEwJERTAeFw0xMTA3MDcxNDU4 +MzBaFw0zMDEyMzEyMzU5NTlaMDwxHjAcBgNVBAMMFUF0b3MgVHJ1c3RlZFJvb3QgMjAxMTENMAsG +A1UECgwEQXRvczELMAkGA1UEBhMCREUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCV +hTuXbyo7LjvPpvMpNb7PGKw+qtn4TaA+Gke5vJrf8v7MPkfoepbCJI419KkM/IL9bcFyYie96mvr +54rMVD6QUM+A1JX76LWC1BTFtqlVJVfbsVD2sGBkWXppzwO3bw2+yj5vdHLqqjAqc2K+SZFhyBH+ +DgMq92og3AIVDV4VavzjgsG1xZ1kCWyjWZgHJ8cblithdHFsQ/H3NYkQ4J7sVaE3IqKHBAUsR320 +HLliKWYoyrfhk/WklAOZuXCFteZI6o1Q/NnezG8HDt0Lcp2AMBYHlT8oDv3FdU9T1nSatCQujgKR +z3bFmx5VdJx4IbHwLfELn8LVlhgf8FQieowHAgMBAAGjfTB7MB0GA1UdDgQWBBSnpQaxLKYJYO7R +l+lwrrw7GWzbITAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFKelBrEspglg7tGX6XCuvDsZ +bNshMBgGA1UdIAQRMA8wDQYLKwYBBAGwLQMEAQEwDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEB +CwUAA4IBAQAmdzTblEiGKkGdLD4GkGDEjKwLVLgfuXvTBznk+j57sj1O7Z8jvZfza1zv7v1Apt+h +k6EKhqzvINB5Ab149xnYJDE0BAGmuhWawyfc2E8PzBhj/5kPDpFrdRbhIfzYJsdHt6bPWHJxfrrh +TZVHO8mvbaG0weyJ9rQPOLXiZNwlz6bb65pcmaHFCN795trV1lpFDMS3wrUU77QR/w4VtfX128a9 +61qn8FYiqTxlVMYVqL2Gns2Dlmh6cYGJ4Qvh6hEbaAjMaZ7snkGeRDImeuKHCnE96+RapNLbxc3G +3mB/ufNPRJLvKrcYPqcZ2Qt9sTdBQrC6YB3y/gkRsPCHe6ed +-----END CERTIFICATE----- + +QuoVadis Root CA 1 G3 +===================== +-----BEGIN CERTIFICATE----- +MIIFYDCCA0igAwIBAgIUeFhfLq0sGUvjNwc1NBMotZbUZZMwDQYJKoZIhvcNAQELBQAwSDELMAkG +A1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxHjAcBgNVBAMTFVF1b1ZhZGlzIFJv +b3QgQ0EgMSBHMzAeFw0xMjAxMTIxNzI3NDRaFw00MjAxMTIxNzI3NDRaMEgxCzAJBgNVBAYTAkJN +MRkwFwYDVQQKExBRdW9WYWRpcyBMaW1pdGVkMR4wHAYDVQQDExVRdW9WYWRpcyBSb290IENBIDEg +RzMwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCgvlAQjunybEC0BJyFuTHK3C3kEakE +PBtVwedYMB0ktMPvhd6MLOHBPd+C5k+tR4ds7FtJwUrVu4/sh6x/gpqG7D0DmVIB0jWerNrwU8lm +PNSsAgHaJNM7qAJGr6Qc4/hzWHa39g6QDbXwz8z6+cZM5cOGMAqNF34168Xfuw6cwI2H44g4hWf6 +Pser4BOcBRiYz5P1sZK0/CPTz9XEJ0ngnjybCKOLXSoh4Pw5qlPafX7PGglTvF0FBM+hSo+LdoIN +ofjSxxR3W5A2B4GbPgb6Ul5jxaYA/qXpUhtStZI5cgMJYr2wYBZupt0lwgNm3fME0UDiTouG9G/l +g6AnhF4EwfWQvTA9xO+oabw4m6SkltFi2mnAAZauy8RRNOoMqv8hjlmPSlzkYZqn0ukqeI1RPToV +7qJZjqlc3sX5kCLliEVx3ZGZbHqfPT2YfF72vhZooF6uCyP8Wg+qInYtyaEQHeTTRCOQiJ/GKubX +9ZqzWB4vMIkIG1SitZgj7Ah3HJVdYdHLiZxfokqRmu8hqkkWCKi9YSgxyXSthfbZxbGL0eUQMk1f +iyA6PEkfM4VZDdvLCXVDaXP7a3F98N/ETH3Goy7IlXnLc6KOTk0k+17kBL5yG6YnLUlamXrXXAkg +t3+UuU/xDRxeiEIbEbfnkduebPRq34wGmAOtzCjvpUfzUwIDAQABo0IwQDAPBgNVHRMBAf8EBTAD +AQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUo5fW816iEOGrRZ88F2Q87gFwnMwwDQYJKoZI +hvcNAQELBQADggIBABj6W3X8PnrHX3fHyt/PX8MSxEBd1DKquGrX1RUVRpgjpeaQWxiZTOOtQqOC +MTaIzen7xASWSIsBx40Bz1szBpZGZnQdT+3Btrm0DWHMY37XLneMlhwqI2hrhVd2cDMT/uFPpiN3 +GPoajOi9ZcnPP/TJF9zrx7zABC4tRi9pZsMbj/7sPtPKlL92CiUNqXsCHKnQO18LwIE6PWThv6ct +Tr1NxNgpxiIY0MWscgKCP6o6ojoilzHdCGPDdRS5YCgtW2jgFqlmgiNR9etT2DGbe+m3nUvriBbP ++V04ikkwj+3x6xn0dxoxGE1nVGwvb2X52z3sIexe9PSLymBlVNFxZPT5pqOBMzYzcfCkeF9OrYMh +3jRJjehZrJ3ydlo28hP0r+AJx2EqbPfgna67hkooby7utHnNkDPDs3b69fBsnQGQ+p6Q9pxyz0fa +wx/kNSBT8lTR32GDpgLiJTjehTItXnOQUl1CxM49S+H5GYQd1aJQzEH7QRTDvdbJWqNjZgKAvQU6 +O0ec7AAmTPWIUb+oI38YB7AL7YsmoWTTYUrrXJ/es69nA7Mf3W1daWhpq1467HxpvMc7hU6eFbm0 +FU/DlXpY18ls6Wy58yljXrQs8C097Vpl4KlbQMJImYFtnh8GKjwStIsPm6Ik8KaN1nrgS7ZklmOV +hMJKzRwuJIczYOXD +-----END CERTIFICATE----- + +QuoVadis Root CA 2 G3 +===================== +-----BEGIN CERTIFICATE----- +MIIFYDCCA0igAwIBAgIURFc0JFuBiZs18s64KztbpybwdSgwDQYJKoZIhvcNAQELBQAwSDELMAkG +A1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxHjAcBgNVBAMTFVF1b1ZhZGlzIFJv +b3QgQ0EgMiBHMzAeFw0xMjAxMTIxODU5MzJaFw00MjAxMTIxODU5MzJaMEgxCzAJBgNVBAYTAkJN +MRkwFwYDVQQKExBRdW9WYWRpcyBMaW1pdGVkMR4wHAYDVQQDExVRdW9WYWRpcyBSb290IENBIDIg +RzMwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQChriWyARjcV4g/Ruv5r+LrI3HimtFh +ZiFfqq8nUeVuGxbULX1QsFN3vXg6YOJkApt8hpvWGo6t/x8Vf9WVHhLL5hSEBMHfNrMWn4rjyduY +NM7YMxcoRvynyfDStNVNCXJJ+fKH46nafaF9a7I6JaltUkSs+L5u+9ymc5GQYaYDFCDy54ejiK2t +oIz/pgslUiXnFgHVy7g1gQyjO/Dh4fxaXc6AcW34Sas+O7q414AB+6XrW7PFXmAqMaCvN+ggOp+o +MiwMzAkd056OXbxMmO7FGmh77FOm6RQ1o9/NgJ8MSPsc9PG/Srj61YxxSscfrf5BmrODXfKEVu+l +V0POKa2Mq1W/xPtbAd0jIaFYAI7D0GoT7RPjEiuA3GfmlbLNHiJuKvhB1PLKFAeNilUSxmn1uIZo +L1NesNKqIcGY5jDjZ1XHm26sGahVpkUG0CM62+tlXSoREfA7T8pt9DTEceT/AFr2XK4jYIVz8eQQ +sSWu1ZK7E8EM4DnatDlXtas1qnIhO4M15zHfeiFuuDIIfR0ykRVKYnLP43ehvNURG3YBZwjgQQvD +6xVu+KQZ2aKrr+InUlYrAoosFCT5v0ICvybIxo/gbjh9Uy3l7ZizlWNof/k19N+IxWA1ksB8aRxh +lRbQ694Lrz4EEEVlWFA4r0jyWbYW8jwNkALGcC4BrTwV1wIDAQABo0IwQDAPBgNVHRMBAf8EBTAD +AQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQU7edvdlq/YOxJW8ald7tyFnGbxD0wDQYJKoZI +hvcNAQELBQADggIBAJHfgD9DCX5xwvfrs4iP4VGyvD11+ShdyLyZm3tdquXK4Qr36LLTn91nMX66 +AarHakE7kNQIXLJgapDwyM4DYvmL7ftuKtwGTTwpD4kWilhMSA/ohGHqPHKmd+RCroijQ1h5fq7K +pVMNqT1wvSAZYaRsOPxDMuHBR//47PERIjKWnML2W2mWeyAMQ0GaW/ZZGYjeVYg3UQt4XAoeo0L9 +x52ID8DyeAIkVJOviYeIyUqAHerQbj5hLja7NQ4nlv1mNDthcnPxFlxHBlRJAHpYErAK74X9sbgz +dWqTHBLmYF5vHX/JHyPLhGGfHoJE+V+tYlUkmlKY7VHnoX6XOuYvHxHaU4AshZ6rNRDbIl9qxV6X +U/IyAgkwo1jwDQHVcsaxfGl7w/U2Rcxhbl5MlMVerugOXou/983g7aEOGzPuVBj+D77vfoRrQ+Nw +mNtddbINWQeFFSM51vHfqSYP1kjHs6Yi9TM3WpVHn3u6GBVv/9YUZINJ0gpnIdsPNWNgKCLjsZWD +zYWm3S8P52dSbrsvhXz1SnPnxT7AvSESBT/8twNJAlvIJebiVDj1eYeMHVOyToV7BjjHLPj4sHKN +JeV3UvQDHEimUF+IIDBu8oJDqz2XhOdT+yHBTw8imoa4WSr2Rz0ZiC3oheGe7IUIarFsNMkd7Egr +O3jtZsSOeWmD3n+M +-----END CERTIFICATE----- + +QuoVadis Root CA 3 G3 +===================== +-----BEGIN CERTIFICATE----- +MIIFYDCCA0igAwIBAgIULvWbAiin23r/1aOp7r0DoM8Sah0wDQYJKoZIhvcNAQELBQAwSDELMAkG +A1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxHjAcBgNVBAMTFVF1b1ZhZGlzIFJv +b3QgQ0EgMyBHMzAeFw0xMjAxMTIyMDI2MzJaFw00MjAxMTIyMDI2MzJaMEgxCzAJBgNVBAYTAkJN +MRkwFwYDVQQKExBRdW9WYWRpcyBMaW1pdGVkMR4wHAYDVQQDExVRdW9WYWRpcyBSb290IENBIDMg +RzMwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCzyw4QZ47qFJenMioKVjZ/aEzHs286 +IxSR/xl/pcqs7rN2nXrpixurazHb+gtTTK/FpRp5PIpM/6zfJd5O2YIyC0TeytuMrKNuFoM7pmRL +Mon7FhY4futD4tN0SsJiCnMK3UmzV9KwCoWdcTzeo8vAMvMBOSBDGzXRU7Ox7sWTaYI+FrUoRqHe +6okJ7UO4BUaKhvVZR74bbwEhELn9qdIoyhA5CcoTNs+cra1AdHkrAj80//ogaX3T7mH1urPnMNA3 +I4ZyYUUpSFlob3emLoG+B01vr87ERRORFHAGjx+f+IdpsQ7vw4kZ6+ocYfx6bIrc1gMLnia6Et3U +VDmrJqMz6nWB2i3ND0/kA9HvFZcba5DFApCTZgIhsUfei5pKgLlVj7WiL8DWM2fafsSntARE60f7 +5li59wzweyuxwHApw0BiLTtIadwjPEjrewl5qW3aqDCYz4ByA4imW0aucnl8CAMhZa634RylsSqi +Md5mBPfAdOhx3v89WcyWJhKLhZVXGqtrdQtEPREoPHtht+KPZ0/l7DxMYIBpVzgeAVuNVejH38DM +dyM0SXV89pgR6y3e7UEuFAUCf+D+IOs15xGsIs5XPd7JMG0QA4XN8f+MFrXBsj6IbGB/kE+V9/Yt +rQE5BwT6dYB9v0lQ7e/JxHwc64B+27bQ3RP+ydOc17KXqQIDAQABo0IwQDAPBgNVHRMBAf8EBTAD +AQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUxhfQvKjqAkPyGwaZXSuQILnXnOQwDQYJKoZI +hvcNAQELBQADggIBADRh2Va1EodVTd2jNTFGu6QHcrxfYWLopfsLN7E8trP6KZ1/AvWkyaiTt3px +KGmPc+FSkNrVvjrlt3ZqVoAh313m6Tqe5T72omnHKgqwGEfcIHB9UqM+WXzBusnIFUBhynLWcKzS +t/Ac5IYp8M7vaGPQtSCKFWGafoaYtMnCdvvMujAWzKNhxnQT5WvvoxXqA/4Ti2Tk08HS6IT7SdEQ +TXlm66r99I0xHnAUrdzeZxNMgRVhvLfZkXdxGYFgu/BYpbWcC/ePIlUnwEsBbTuZDdQdm2NnL9Du +DcpmvJRPpq3t/O5jrFc/ZSXPsoaP0Aj/uHYUbt7lJ+yreLVTubY/6CD50qi+YUbKh4yE8/nxoGib +Ih6BJpsQBJFxwAYf3KDTuVan45gtf4Od34wrnDKOMpTwATwiKp9Dwi7DmDkHOHv8XgBCH/MyJnmD +hPbl8MFREsALHgQjDFSlTC9JxUrRtm5gDWv8a4uFJGS3iQ6rJUdbPM9+Sb3H6QrG2vd+DhcI00iX +0HGS8A85PjRqHH3Y8iKuu2n0M7SmSFXRDw4m6Oy2Cy2nhTXN/VnIn9HNPlopNLk9hM6xZdRZkZFW +dSHBd575euFgndOtBBj0fOtek49TSiIp+EgrPk2GrFt/ywaZWWDYWGWVjUTR939+J399roD1B0y2 +PpxxVJkES/1Y+Zj0 +-----END CERTIFICATE----- + +DigiCert Assured ID Root G2 +=========================== +-----BEGIN CERTIFICATE----- +MIIDljCCAn6gAwIBAgIQC5McOtY5Z+pnI7/Dr5r0SzANBgkqhkiG9w0BAQsFADBlMQswCQYDVQQG +EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSQw +IgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgRzIwHhcNMTMwODAxMTIwMDAwWhcNMzgw +MTE1MTIwMDAwWjBlMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQL +ExB3d3cuZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgRzIw +ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ5ygvUj82ckmIkzTz+GoeMVSAn61UQbVH +35ao1K+ALbkKz3X9iaV9JPrjIgwrvJUXCzO/GU1BBpAAvQxNEP4HteccbiJVMWWXvdMX0h5i89vq +bFCMP4QMls+3ywPgym2hFEwbid3tALBSfK+RbLE4E9HpEgjAALAcKxHad3A2m67OeYfcgnDmCXRw +VWmvo2ifv922ebPynXApVfSr/5Vh88lAbx3RvpO704gqu52/clpWcTs/1PPRCv4o76Pu2ZmvA9OP +YLfykqGxvYmJHzDNw6YuYjOuFgJ3RFrngQo8p0Quebg/BLxcoIfhG69Rjs3sLPr4/m3wOnyqi+Rn +lTGNAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgGGMB0GA1UdDgQWBBTO +w0q5mVXyuNtgv6l+vVa1lzan1jANBgkqhkiG9w0BAQsFAAOCAQEAyqVVjOPIQW5pJ6d1Ee88hjZv +0p3GeDgdaZaikmkuOGybfQTUiaWxMTeKySHMq2zNixya1r9I0jJmwYrA8y8678Dj1JGG0VDjA9tz +d29KOVPt3ibHtX2vK0LRdWLjSisCx1BL4GnilmwORGYQRI+tBev4eaymG+g3NJ1TyWGqolKvSnAW +hsI6yLETcDbYz+70CjTVW0z9B5yiutkBclzzTcHdDrEcDcRjvq30FPuJ7KJBDkzMyFdA0G4Dqs0M +jomZmWzwPDCvON9vvKO+KSAnq3T/EyJ43pdSVR6DtVQgA+6uwE9W3jfMw3+qBCe703e4YtsXfJwo +IhNzbM8m9Yop5w== +-----END CERTIFICATE----- + +DigiCert Assured ID Root G3 +=========================== +-----BEGIN CERTIFICATE----- +MIICRjCCAc2gAwIBAgIQC6Fa+h3foLVJRK/NJKBs7DAKBggqhkjOPQQDAzBlMQswCQYDVQQGEwJV +UzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSQwIgYD +VQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgRzMwHhcNMTMwODAxMTIwMDAwWhcNMzgwMTE1 +MTIwMDAwWjBlMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 +d3cuZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgRzMwdjAQ +BgcqhkjOPQIBBgUrgQQAIgNiAAQZ57ysRGXtzbg/WPuNsVepRC0FFfLvC/8QdJ+1YlJfZn4f5dwb +RXkLzMZTCp2NXQLZqVneAlr2lSoOjThKiknGvMYDOAdfVdp+CW7if17QRSAPWXYQ1qAk8C3eNvJs +KTmjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgGGMB0GA1UdDgQWBBTL0L2p4ZgF +UaFNN6KDec6NHSrkhDAKBggqhkjOPQQDAwNnADBkAjAlpIFFAmsSS3V0T8gj43DydXLefInwz5Fy +YZ5eEJJZVrmDxxDnOOlYJjZ91eQ0hjkCMHw2U/Aw5WJjOpnitqM7mzT6HtoQknFekROn3aRukswy +1vUhZscv6pZjamVFkpUBtA== +-----END CERTIFICATE----- + +DigiCert Global Root G2 +======================= +-----BEGIN CERTIFICATE----- +MIIDjjCCAnagAwIBAgIQAzrx5qcRqaC7KGSxHQn65TANBgkqhkiG9w0BAQsFADBhMQswCQYDVQQG +EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSAw +HgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBHMjAeFw0xMzA4MDExMjAwMDBaFw0zODAxMTUx +MjAwMDBaMGExCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3 +dy5kaWdpY2VydC5jb20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IEcyMIIBIjANBgkq +hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuzfNNNx7a8myaJCtSnX/RrohCgiN9RlUyfuI2/Ou8jqJ +kTx65qsGGmvPrC3oXgkkRLpimn7Wo6h+4FR1IAWsULecYxpsMNzaHxmx1x7e/dfgy5SDN67sH0NO +3Xss0r0upS/kqbitOtSZpLYl6ZtrAGCSYP9PIUkY92eQq2EGnI/yuum06ZIya7XzV+hdG82MHauV +BJVJ8zUtluNJbd134/tJS7SsVQepj5WztCO7TG1F8PapspUwtP1MVYwnSlcUfIKdzXOS0xZKBgyM +UNGPHgm+F6HmIcr9g+UQvIOlCsRnKPZzFBQ9RnbDhxSJITRNrw9FDKZJobq7nMWxM4MphQIDAQAB +o0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBhjAdBgNVHQ4EFgQUTiJUIBiV5uNu +5g/6+rkS7QYXjzkwDQYJKoZIhvcNAQELBQADggEBAGBnKJRvDkhj6zHd6mcY1Yl9PMWLSn/pvtsr +F9+wX3N3KjITOYFnQoQj8kVnNeyIv/iPsGEMNKSuIEyExtv4NeF22d+mQrvHRAiGfzZ0JFrabA0U +WTW98kndth/Jsw1HKj2ZL7tcu7XUIOGZX1NGFdtom/DzMNU+MeKNhJ7jitralj41E6Vf8PlwUHBH +QRFXGU7Aj64GxJUTFy8bJZ918rGOmaFvE7FBcf6IKshPECBV1/MUReXgRPTqh5Uykw7+U0b6LJ3/ +iyK5S9kJRaTepLiaWN0bfVKfjllDiIGknibVb63dDcY3fe0Dkhvld1927jyNxF1WW6LZZm6zNTfl +MrY= +-----END CERTIFICATE----- + +DigiCert Global Root G3 +======================= +-----BEGIN CERTIFICATE----- +MIICPzCCAcWgAwIBAgIQBVVWvPJepDU1w6QP1atFcjAKBggqhkjOPQQDAzBhMQswCQYDVQQGEwJV +UzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSAwHgYD +VQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBHMzAeFw0xMzA4MDExMjAwMDBaFw0zODAxMTUxMjAw +MDBaMGExCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5k +aWdpY2VydC5jb20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IEczMHYwEAYHKoZIzj0C +AQYFK4EEACIDYgAE3afZu4q4C/sLfyHS8L6+c/MzXRq8NOrexpu80JX28MzQC7phW1FGfp4tn+6O +YwwX7Adw9c+ELkCDnOg/QW07rdOkFFk2eJ0DQ+4QE2xy3q6Ip6FrtUPOZ9wj/wMco+I+o0IwQDAP +BgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBhjAdBgNVHQ4EFgQUs9tIpPmhxdiuNkHMEWNp +Yim8S8YwCgYIKoZIzj0EAwMDaAAwZQIxAK288mw/EkrRLTnDCgmXc/SINoyIJ7vmiI1Qhadj+Z4y +3maTD/HMsQmP3Wyr+mt/oAIwOWZbwmSNuJ5Q3KjVSaLtx9zRSX8XAbjIho9OjIgrqJqpisXRAL34 +VOKa5Vt8sycX +-----END CERTIFICATE----- + +DigiCert Trusted Root G4 +======================== +-----BEGIN CERTIFICATE----- +MIIFkDCCA3igAwIBAgIQBZsbV56OITLiOQe9p3d1XDANBgkqhkiG9w0BAQwFADBiMQswCQYDVQQG +EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSEw +HwYDVQQDExhEaWdpQ2VydCBUcnVzdGVkIFJvb3QgRzQwHhcNMTMwODAxMTIwMDAwWhcNMzgwMTE1 +MTIwMDAwWjBiMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 +d3cuZGlnaWNlcnQuY29tMSEwHwYDVQQDExhEaWdpQ2VydCBUcnVzdGVkIFJvb3QgRzQwggIiMA0G +CSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC/5pBzaN675F1KPDAiMGkz7MKnJS7JIT3yithZwuEp +pz1Yq3aaza57G4QNxDAf8xukOBbrVsaXbR2rsnnyyhHS5F/WBTxSD1Ifxp4VpX6+n6lXFllVcq9o +k3DCsrp1mWpzMpTREEQQLt+C8weE5nQ7bXHiLQwb7iDVySAdYyktzuxeTsiT+CFhmzTrBcZe7Fsa +vOvJz82sNEBfsXpm7nfISKhmV1efVFiODCu3T6cw2Vbuyntd463JT17lNecxy9qTXtyOj4DatpGY +QJB5w3jHtrHEtWoYOAMQjdjUN6QuBX2I9YI+EJFwq1WCQTLX2wRzKm6RAXwhTNS8rhsDdV14Ztk6 +MUSaM0C/CNdaSaTC5qmgZ92kJ7yhTzm1EVgX9yRcRo9k98FpiHaYdj1ZXUJ2h4mXaXpI8OCiEhtm +mnTK3kse5w5jrubU75KSOp493ADkRSWJtppEGSt+wJS00mFt6zPZxd9LBADMfRyVw4/3IbKyEbe7 +f/LVjHAsQWCqsWMYRJUadmJ+9oCw++hkpjPRiQfhvbfmQ6QYuKZ3AeEPlAwhHbJUKSWJbOUOUlFH +dL4mrLZBdd56rF+NP8m800ERElvlEFDrMcXKchYiCd98THU/Y+whX8QgUWtvsauGi0/C1kVfnSD8 +oR7FwI+isX4KJpn15GkvmB0t9dmpsh3lGwIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1Ud +DwEB/wQEAwIBhjAdBgNVHQ4EFgQU7NfjgtJxXWRM3y5nP+e6mK4cD08wDQYJKoZIhvcNAQEMBQAD +ggIBALth2X2pbL4XxJEbw6GiAI3jZGgPVs93rnD5/ZpKmbnJeFwMDF/k5hQpVgs2SV1EY+CtnJYY +ZhsjDT156W1r1lT40jzBQ0CuHVD1UvyQO7uYmWlrx8GnqGikJ9yd+SeuMIW59mdNOj6PWTkiU0Tr +yF0Dyu1Qen1iIQqAyHNm0aAFYF/opbSnr6j3bTWcfFqK1qI4mfN4i/RN0iAL3gTujJtHgXINwBQy +7zBZLq7gcfJW5GqXb5JQbZaNaHqasjYUegbyJLkJEVDXCLG4iXqEI2FCKeWjzaIgQdfRnGTZ6iah +ixTXTBmyUEFxPT9NcCOGDErcgdLMMpSEDQgJlxxPwO5rIHQw0uA5NBCFIRUBCOhVMt5xSdkoF1BN +5r5N0XWs0Mr7QbhDparTwwVETyw2m+L64kW4I1NsBm9nVX9GtUw/bihaeSbSpKhil9Ie4u1Ki7wb +/UdKDd9nZn6yW0HQO+T0O/QEY+nvwlQAUaCKKsnOeMzV6ocEGLPOr0mIr/OSmbaz5mEP0oUA51Aa +5BuVnRmhuZyxm7EAHu/QD09CbMkKvO5D+jpxpchNJqU1/YldvIViHTLSoCtU7ZpXwdv6EM8Zt4tK +G48BtieVU+i2iW1bvGjUI+iLUaJW+fCmgKDWHrO8Dw9TdSmq6hN35N6MgSGtBxBHEa2HPQfRdbzP +82Z+ +-----END CERTIFICATE----- + +COMODO RSA Certification Authority +================================== +-----BEGIN CERTIFICATE----- +MIIF2DCCA8CgAwIBAgIQTKr5yttjb+Af907YWwOGnTANBgkqhkiG9w0BAQwFADCBhTELMAkGA1UE +BhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgG +A1UEChMRQ09NT0RPIENBIExpbWl0ZWQxKzApBgNVBAMTIkNPTU9ETyBSU0EgQ2VydGlmaWNhdGlv +biBBdXRob3JpdHkwHhcNMTAwMTE5MDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCBhTELMAkGA1UEBhMC +R0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgGA1UE +ChMRQ09NT0RPIENBIExpbWl0ZWQxKzApBgNVBAMTIkNPTU9ETyBSU0EgQ2VydGlmaWNhdGlvbiBB +dXRob3JpdHkwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCR6FSS0gpWsawNJN3Fz0Rn +dJkrN6N9I3AAcbxT38T6KhKPS38QVr2fcHK3YX/JSw8Xpz3jsARh7v8Rl8f0hj4K+j5c+ZPmNHrZ +FGvnnLOFoIJ6dq9xkNfs/Q36nGz637CC9BR++b7Epi9Pf5l/tfxnQ3K9DADWietrLNPtj5gcFKt+ +5eNu/Nio5JIk2kNrYrhV/erBvGy2i/MOjZrkm2xpmfh4SDBF1a3hDTxFYPwyllEnvGfDyi62a+pG +x8cgoLEfZd5ICLqkTqnyg0Y3hOvozIFIQ2dOciqbXL1MGyiKXCJ7tKuY2e7gUYPDCUZObT6Z+pUX +2nwzV0E8jVHtC7ZcryxjGt9XyD+86V3Em69FmeKjWiS0uqlWPc9vqv9JWL7wqP/0uK3pN/u6uPQL +OvnoQ0IeidiEyxPx2bvhiWC4jChWrBQdnArncevPDt09qZahSL0896+1DSJMwBGB7FY79tOi4lu3 +sgQiUpWAk2nojkxl8ZEDLXB0AuqLZxUpaVICu9ffUGpVRr+goyhhf3DQw6KqLCGqR84onAZFdr+C +GCe01a60y1Dma/RMhnEw6abfFobg2P9A3fvQQoh/ozM6LlweQRGBY84YcWsr7KaKtzFcOmpH4MN5 +WdYgGq/yapiqcrxXStJLnbsQ/LBMQeXtHT1eKJ2czL+zUdqnR+WEUwIDAQABo0IwQDAdBgNVHQ4E +FgQUu69+Aj36pvE8hI6t7jiY7NkyMtQwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8w +DQYJKoZIhvcNAQEMBQADggIBAArx1UaEt65Ru2yyTUEUAJNMnMvlwFTPoCWOAvn9sKIN9SCYPBMt +rFaisNZ+EZLpLrqeLppysb0ZRGxhNaKatBYSaVqM4dc+pBroLwP0rmEdEBsqpIt6xf4FpuHA1sj+ +nq6PK7o9mfjYcwlYRm6mnPTXJ9OV2jeDchzTc+CiR5kDOF3VSXkAKRzH7JsgHAckaVd4sjn8OoSg +tZx8jb8uk2IntznaFxiuvTwJaP+EmzzV1gsD41eeFPfR60/IvYcjt7ZJQ3mFXLrrkguhxuhoqEwW +sRqZCuhTLJK7oQkYdQxlqHvLI7cawiiFwxv/0Cti76R7CZGYZ4wUAc1oBmpjIXUDgIiKboHGhfKp +pC3n9KUkEEeDys30jXlYsQab5xoq2Z0B15R97QNKyvDb6KkBPvVWmckejkk9u+UJueBPSZI9FoJA +zMxZxuY67RIuaTxslbH9qh17f4a+Hg4yRvv7E491f0yLS0Zj/gA0QHDBw7mh3aZw4gSzQbzpgJHq +ZJx64SIDqZxubw5lT2yHh17zbqD5daWbQOhTsiedSrnAdyGN/4fy3ryM7xfft0kL0fJuMAsaDk52 +7RH89elWsn2/x20Kk4yl0MC2Hb46TpSi125sC8KKfPog88Tk5c0NqMuRkrF8hey1FGlmDoLnzc7I +LaZRfyHBNVOFBkpdn627G190 +-----END CERTIFICATE----- + +USERTrust RSA Certification Authority +===================================== +-----BEGIN CERTIFICATE----- +MIIF3jCCA8agAwIBAgIQAf1tMPyjylGoG7xkDjUDLTANBgkqhkiG9w0BAQwFADCBiDELMAkGA1UE +BhMCVVMxEzARBgNVBAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0plcnNleSBDaXR5MR4wHAYDVQQK +ExVUaGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNVBAMTJVVTRVJUcnVzdCBSU0EgQ2VydGlmaWNh +dGlvbiBBdXRob3JpdHkwHhcNMTAwMjAxMDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCBiDELMAkGA1UE +BhMCVVMxEzARBgNVBAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0plcnNleSBDaXR5MR4wHAYDVQQK +ExVUaGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNVBAMTJVVTRVJUcnVzdCBSU0EgQ2VydGlmaWNh +dGlvbiBBdXRob3JpdHkwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCAEmUXNg7D2wiz +0KxXDXbtzSfTTK1Qg2HiqiBNCS1kCdzOiZ/MPans9s/B3PHTsdZ7NygRK0faOca8Ohm0X6a9fZ2j +Y0K2dvKpOyuR+OJv0OwWIJAJPuLodMkYtJHUYmTbf6MG8YgYapAiPLz+E/CHFHv25B+O1ORRxhFn +RghRy4YUVD+8M/5+bJz/Fp0YvVGONaanZshyZ9shZrHUm3gDwFA66Mzw3LyeTP6vBZY1H1dat//O ++T23LLb2VN3I5xI6Ta5MirdcmrS3ID3KfyI0rn47aGYBROcBTkZTmzNg95S+UzeQc0PzMsNT79uq +/nROacdrjGCT3sTHDN/hMq7MkztReJVni+49Vv4M0GkPGw/zJSZrM233bkf6c0Plfg6lZrEpfDKE +Y1WJxA3Bk1QwGROs0303p+tdOmw1XNtB1xLaqUkL39iAigmTYo61Zs8liM2EuLE/pDkP2QKe6xJM +lXzzawWpXhaDzLhn4ugTncxbgtNMs+1b/97lc6wjOy0AvzVVdAlJ2ElYGn+SNuZRkg7zJn0cTRe8 +yexDJtC/QV9AqURE9JnnV4eeUB9XVKg+/XRjL7FQZQnmWEIuQxpMtPAlR1n6BB6T1CZGSlCBst6+ +eLf8ZxXhyVeEHg9j1uliutZfVS7qXMYoCAQlObgOK6nyTJccBz8NUvXt7y+CDwIDAQABo0IwQDAd +BgNVHQ4EFgQUU3m/WqorSs9UgOHYm8Cd8rIDZsswDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQF +MAMBAf8wDQYJKoZIhvcNAQEMBQADggIBAFzUfA3P9wF9QZllDHPFUp/L+M+ZBn8b2kMVn54CVVeW +FPFSPCeHlCjtHzoBN6J2/FNQwISbxmtOuowhT6KOVWKR82kV2LyI48SqC/3vqOlLVSoGIG1VeCkZ +7l8wXEskEVX/JJpuXior7gtNn3/3ATiUFJVDBwn7YKnuHKsSjKCaXqeYalltiz8I+8jRRa8YFWSQ +Eg9zKC7F4iRO/Fjs8PRF/iKz6y+O0tlFYQXBl2+odnKPi4w2r78NBc5xjeambx9spnFixdjQg3IM +8WcRiQycE0xyNN+81XHfqnHd4blsjDwSXWXavVcStkNr/+XeTWYRUc+ZruwXtuhxkYzeSf7dNXGi +FSeUHM9h4ya7b6NnJSFd5t0dCy5oGzuCr+yDZ4XUmFF0sbmZgIn/f3gZXHlKYC6SQK5MNyosycdi +yA5d9zZbyuAlJQG03RoHnHcAP9Dc1ew91Pq7P8yF1m9/qS3fuQL39ZeatTXaw2ewh0qpKJ4jjv9c +J2vhsE/zB+4ALtRZh8tSQZXq9EfX7mRBVXyNWQKV3WKdwrnuWih0hKWbt5DHDAff9Yk2dDLWKMGw +sAvgnEzDHNb842m1R0aBL6KCq9NjRHDEjf8tM7qtj3u1cIiuPhnPQCjY/MiQu12ZIvVS5ljFH4gx +Q+6IHdfGjjxDah2nGN59PRbxYvnKkKj9 +-----END CERTIFICATE----- + +USERTrust ECC Certification Authority +===================================== +-----BEGIN CERTIFICATE----- +MIICjzCCAhWgAwIBAgIQXIuZxVqUxdJxVt7NiYDMJjAKBggqhkjOPQQDAzCBiDELMAkGA1UEBhMC +VVMxEzARBgNVBAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0plcnNleSBDaXR5MR4wHAYDVQQKExVU +aGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNVBAMTJVVTRVJUcnVzdCBFQ0MgQ2VydGlmaWNhdGlv +biBBdXRob3JpdHkwHhcNMTAwMjAxMDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCBiDELMAkGA1UEBhMC +VVMxEzARBgNVBAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0plcnNleSBDaXR5MR4wHAYDVQQKExVU +aGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNVBAMTJVVTRVJUcnVzdCBFQ0MgQ2VydGlmaWNhdGlv +biBBdXRob3JpdHkwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAAQarFRaqfloI+d61SRvU8Za2EurxtW2 +0eZzca7dnNYMYf3boIkDuAUU7FfO7l0/4iGzzvfUinngo4N+LZfQYcTxmdwlkWOrfzCjtHDix6Ez +nPO/LlxTsV+zfTJ/ijTjeXmjQjBAMB0GA1UdDgQWBBQ64QmG1M8ZwpZ2dEl23OA1xmNjmjAOBgNV +HQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAKBggqhkjOPQQDAwNoADBlAjA2Z6EWCNzklwBB +HU6+4WMBzzuqQhFkoJ2UOQIReVx7Hfpkue4WQrO/isIJxOzksU0CMQDpKmFHjFJKS04YcPbWRNZu +9YO6bVi9JNlWSOrvxKJGgYhqOkbRqZtNyWHa0V1Xahg= +-----END CERTIFICATE----- + +GlobalSign ECC Root CA - R4 +=========================== +-----BEGIN CERTIFICATE----- +MIIB4TCCAYegAwIBAgIRKjikHJYKBN5CsiilC+g0mAIwCgYIKoZIzj0EAwIwUDEkMCIGA1UECxMb +R2xvYmFsU2lnbiBFQ0MgUm9vdCBDQSAtIFI0MRMwEQYDVQQKEwpHbG9iYWxTaWduMRMwEQYDVQQD +EwpHbG9iYWxTaWduMB4XDTEyMTExMzAwMDAwMFoXDTM4MDExOTAzMTQwN1owUDEkMCIGA1UECxMb +R2xvYmFsU2lnbiBFQ0MgUm9vdCBDQSAtIFI0MRMwEQYDVQQKEwpHbG9iYWxTaWduMRMwEQYDVQQD +EwpHbG9iYWxTaWduMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEuMZ5049sJQ6fLjkZHAOkrprl +OQcJFspjsbmG+IpXwVfOQvpzofdlQv8ewQCybnMO/8ch5RikqtlxP6jUuc6MHaNCMEAwDgYDVR0P +AQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFFSwe61FuOJAf/sKbvu+M8k8o4TV +MAoGCCqGSM49BAMCA0gAMEUCIQDckqGgE6bPA7DmxCGXkPoUVy0D7O48027KqGx2vKLeuwIgJ6iF +JzWbVsaj8kfSt24bAgAXqmemFZHe+pTsewv4n4Q= +-----END CERTIFICATE----- + +GlobalSign ECC Root CA - R5 +=========================== +-----BEGIN CERTIFICATE----- +MIICHjCCAaSgAwIBAgIRYFlJ4CYuu1X5CneKcflK2GwwCgYIKoZIzj0EAwMwUDEkMCIGA1UECxMb +R2xvYmFsU2lnbiBFQ0MgUm9vdCBDQSAtIFI1MRMwEQYDVQQKEwpHbG9iYWxTaWduMRMwEQYDVQQD +EwpHbG9iYWxTaWduMB4XDTEyMTExMzAwMDAwMFoXDTM4MDExOTAzMTQwN1owUDEkMCIGA1UECxMb +R2xvYmFsU2lnbiBFQ0MgUm9vdCBDQSAtIFI1MRMwEQYDVQQKEwpHbG9iYWxTaWduMRMwEQYDVQQD +EwpHbG9iYWxTaWduMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAER0UOlvt9Xb/pOdEh+J8LttV7HpI6 +SFkc8GIxLcB6KP4ap1yztsyX50XUWPrRd21DosCHZTQKH3rd6zwzocWdTaRvQZU4f8kehOvRnkmS +h5SHDDqFSmafnVmTTZdhBoZKo0IwQDAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAd +BgNVHQ4EFgQUPeYpSJvqB8ohREom3m7e0oPQn1kwCgYIKoZIzj0EAwMDaAAwZQIxAOVpEslu28Yx +uglB4Zf4+/2a4n0Sye18ZNPLBSWLVtmg515dTguDnFt2KaAJJiFqYgIwcdK1j1zqO+F4CYWodZI7 +yFz9SO8NdCKoCOJuxUnOxwy8p2Fp8fc74SrL+SvzZpA3 +-----END CERTIFICATE----- + +Staat der Nederlanden Root CA - G3 +================================== +-----BEGIN CERTIFICATE----- +MIIFdDCCA1ygAwIBAgIEAJiiOTANBgkqhkiG9w0BAQsFADBaMQswCQYDVQQGEwJOTDEeMBwGA1UE +CgwVU3RhYXQgZGVyIE5lZGVybGFuZGVuMSswKQYDVQQDDCJTdGFhdCBkZXIgTmVkZXJsYW5kZW4g +Um9vdCBDQSAtIEczMB4XDTEzMTExNDExMjg0MloXDTI4MTExMzIzMDAwMFowWjELMAkGA1UEBhMC +TkwxHjAcBgNVBAoMFVN0YWF0IGRlciBOZWRlcmxhbmRlbjErMCkGA1UEAwwiU3RhYXQgZGVyIE5l +ZGVybGFuZGVuIFJvb3QgQ0EgLSBHMzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAL4y +olQPcPssXFnrbMSkUeiFKrPMSjTysF/zDsccPVMeiAho2G89rcKezIJnByeHaHE6n3WWIkYFsO2t +x1ueKt6c/DrGlaf1F2cY5y9JCAxcz+bMNO14+1Cx3Gsy8KL+tjzk7FqXxz8ecAgwoNzFs21v0IJy +EavSgWhZghe3eJJg+szeP4TrjTgzkApyI/o1zCZxMdFyKJLZWyNtZrVtB0LrpjPOktvA9mxjeM3K +Tj215VKb8b475lRgsGYeCasH/lSJEULR9yS6YHgamPfJEf0WwTUaVHXvQ9Plrk7O53vDxk5hUUur +mkVLoR9BvUhTFXFkC4az5S6+zqQbwSmEorXLCCN2QyIkHxcE1G6cxvx/K2Ya7Irl1s9N9WMJtxU5 +1nus6+N86U78dULI7ViVDAZCopz35HCz33JvWjdAidiFpNfxC95DGdRKWCyMijmev4SH8RY7Ngzp +07TKbBlBUgmhHbBqv4LvcFEhMtwFdozL92TkA1CvjJFnq8Xy7ljY3r735zHPbMk7ccHViLVlvMDo +FxcHErVc0qsgk7TmgoNwNsXNo42ti+yjwUOH5kPiNL6VizXtBznaqB16nzaeErAMZRKQFWDZJkBE +41ZgpRDUajz9QdwOWke275dhdU/Z/seyHdTtXUmzqWrLZoQT1Vyg3N9udwbRcXXIV2+vD3dbAgMB +AAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBRUrfrHkleu +yjWcLhL75LpdINyUVzANBgkqhkiG9w0BAQsFAAOCAgEAMJmdBTLIXg47mAE6iqTnB/d6+Oea31BD +U5cqPco8R5gu4RV78ZLzYdqQJRZlwJ9UXQ4DO1t3ApyEtg2YXzTdO2PCwyiBwpwpLiniyMMB8jPq +KqrMCQj3ZWfGzd/TtiunvczRDnBfuCPRy5FOCvTIeuXZYzbB1N/8Ipf3YF3qKS9Ysr1YvY2WTxB1 +v0h7PVGHoTx0IsL8B3+A3MSs/mrBcDCw6Y5p4ixpgZQJut3+TcCDjJRYwEYgr5wfAvg1VUkvRtTA +8KCWAg8zxXHzniN9lLf9OtMJgwYh/WA9rjLA0u6NpvDntIJ8CsxwyXmA+P5M9zWEGYox+wrZ13+b +8KKaa8MFSu1BYBQw0aoRQm7TIwIEC8Zl3d1Sd9qBa7Ko+gE4uZbqKmxnl4mUnrzhVNXkanjvSr0r +mj1AfsbAddJu+2gw7OyLnflJNZoaLNmzlTnVHpL3prllL+U9bTpITAjc5CgSKL59NVzq4BZ+Extq +1z7XnvwtdbLBFNUjA9tbbws+eC8N3jONFrdI54OagQ97wUNNVQQXOEpR1VmiiXTTn74eS9fGbbeI +JG9gkaSChVtWQbzQRKtqE77RLFi3EjNYsjdj3BP1lB0/QFH1T/U67cjF68IeHRaVesd+QnGTbksV +tzDfqu1XhUisHWrdOWnk4Xl4vs4Fv6EM94B7IWcnMFk= +-----END CERTIFICATE----- + +Staat der Nederlanden EV Root CA +================================ +-----BEGIN CERTIFICATE----- +MIIFcDCCA1igAwIBAgIEAJiWjTANBgkqhkiG9w0BAQsFADBYMQswCQYDVQQGEwJOTDEeMBwGA1UE +CgwVU3RhYXQgZGVyIE5lZGVybGFuZGVuMSkwJwYDVQQDDCBTdGFhdCBkZXIgTmVkZXJsYW5kZW4g +RVYgUm9vdCBDQTAeFw0xMDEyMDgxMTE5MjlaFw0yMjEyMDgxMTEwMjhaMFgxCzAJBgNVBAYTAk5M +MR4wHAYDVQQKDBVTdGFhdCBkZXIgTmVkZXJsYW5kZW4xKTAnBgNVBAMMIFN0YWF0IGRlciBOZWRl +cmxhbmRlbiBFViBSb290IENBMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA48d+ifkk +SzrSM4M1LGns3Amk41GoJSt5uAg94JG6hIXGhaTK5skuU6TJJB79VWZxXSzFYGgEt9nCUiY4iKTW +O0Cmws0/zZiTs1QUWJZV1VD+hq2kY39ch/aO5ieSZxeSAgMs3NZmdO3dZ//BYY1jTw+bbRcwJu+r +0h8QoPnFfxZpgQNH7R5ojXKhTbImxrpsX23Wr9GxE46prfNeaXUmGD5BKyF/7otdBwadQ8QpCiv8 +Kj6GyzyDOvnJDdrFmeK8eEEzduG/L13lpJhQDBXd4Pqcfzho0LKmeqfRMb1+ilgnQ7O6M5HTp5gV +XJrm0w912fxBmJc+qiXbj5IusHsMX/FjqTf5m3VpTCgmJdrV8hJwRVXj33NeN/UhbJCONVrJ0yPr +08C+eKxCKFhmpUZtcALXEPlLVPxdhkqHz3/KRawRWrUgUY0viEeXOcDPusBCAUCZSCELa6fS/ZbV +0b5GnUngC6agIk440ME8MLxwjyx1zNDFjFE7PZQIZCZhfbnDZY8UnCHQqv0XcgOPvZuM5l5Tnrmd +74K74bzickFbIZTTRTeU0d8JOV3nI6qaHcptqAqGhYqCvkIH1vI4gnPah1vlPNOePqc7nvQDs/nx +fRN0Av+7oeX6AHkcpmZBiFxgV6YuCcS6/ZrPpx9Aw7vMWgpVSzs4dlG4Y4uElBbmVvMCAwEAAaNC +MEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFP6rAJCYniT8qcwa +ivsnuL8wbqg7MA0GCSqGSIb3DQEBCwUAA4ICAQDPdyxuVr5Os7aEAJSrR8kN0nbHhp8dB9O2tLsI +eK9p0gtJ3jPFrK3CiAJ9Brc1AsFgyb/E6JTe1NOpEyVa/m6irn0F3H3zbPB+po3u2dfOWBfoqSmu +c0iH55vKbimhZF8ZE/euBhD/UcabTVUlT5OZEAFTdfETzsemQUHSv4ilf0X8rLiltTMMgsT7B/Zq +5SWEXwbKwYY5EdtYzXc7LMJMD16a4/CrPmEbUCTCwPTxGfARKbalGAKb12NMcIxHowNDXLldRqAN +b/9Zjr7dn3LDWyvfjFvO5QxGbJKyCqNMVEIYFRIYvdr8unRu/8G2oGTYqV9Vrp9canaW2HNnh/tN +f1zuacpzEPuKqf2evTY4SUmH9A4U8OmHuD+nT3pajnnUk+S7aFKErGzp85hwVXIy+TSrK0m1zSBi +5Dp6Z2Orltxtrpfs/J92VoguZs9btsmksNcFuuEnL5O7Jiqik7Ab846+HUCjuTaPPoIaGl6I6lD4 +WeKDRikL40Rc4ZW2aZCaFG+XroHPaO+Zmr615+F/+PoTRxZMzG0IQOeLeG9QgkRQP2YGiqtDhFZK +DyAthg710tvSeopLzaXoTvFeJiUBWSOgftL2fiFX1ye8FVdMpEbB4IMeDExNH08GGeL5qPQ6gqGy +eUN51q1veieQA6TqJIc/2b3Z6fJfUEkc7uzXLg== +-----END CERTIFICATE----- + +IdenTrust Commercial Root CA 1 +============================== +-----BEGIN CERTIFICATE----- +MIIFYDCCA0igAwIBAgIQCgFCgAAAAUUjyES1AAAAAjANBgkqhkiG9w0BAQsFADBKMQswCQYDVQQG +EwJVUzESMBAGA1UEChMJSWRlblRydXN0MScwJQYDVQQDEx5JZGVuVHJ1c3QgQ29tbWVyY2lhbCBS +b290IENBIDEwHhcNMTQwMTE2MTgxMjIzWhcNMzQwMTE2MTgxMjIzWjBKMQswCQYDVQQGEwJVUzES +MBAGA1UEChMJSWRlblRydXN0MScwJQYDVQQDEx5JZGVuVHJ1c3QgQ29tbWVyY2lhbCBSb290IENB +IDEwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCnUBneP5k91DNG8W9RYYKyqU+PZ4ld +hNlT3Qwo2dfw/66VQ3KZ+bVdfIrBQuExUHTRgQ18zZshq0PirK1ehm7zCYofWjK9ouuU+ehcCuz/ +mNKvcbO0U59Oh++SvL3sTzIwiEsXXlfEU8L2ApeN2WIrvyQfYo3fw7gpS0l4PJNgiCL8mdo2yMKi +1CxUAGc1bnO/AljwpN3lsKImesrgNqUZFvX9t++uP0D1bVoE/c40yiTcdCMbXTMTEl3EASX2MN0C +XZ/g1Ue9tOsbobtJSdifWwLziuQkkORiT0/Br4sOdBeo0XKIanoBScy0RnnGF7HamB4HWfp1IYVl +3ZBWzvurpWCdxJ35UrCLvYf5jysjCiN2O/cz4ckA82n5S6LgTrx+kzmEB/dEcH7+B1rlsazRGMzy +NeVJSQjKVsk9+w8YfYs7wRPCTY/JTw436R+hDmrfYi7LNQZReSzIJTj0+kuniVyc0uMNOYZKdHzV +WYfCP04MXFL0PfdSgvHqo6z9STQaKPNBiDoT7uje/5kdX7rL6B7yuVBgwDHTc+XvvqDtMwt0viAg +xGds8AgDelWAf0ZOlqf0Hj7h9tgJ4TNkK2PXMl6f+cB7D3hvl7yTmvmcEpB4eoCHFddydJxVdHix +uuFucAS6T6C6aMN7/zHwcz09lCqxC0EOoP5NiGVreTO01wIDAQABo0IwQDAOBgNVHQ8BAf8EBAMC +AQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQU7UQZwNPwBovupHu+QucmVMiONnYwDQYJKoZI +hvcNAQELBQADggIBAA2ukDL2pkt8RHYZYR4nKM1eVO8lvOMIkPkp165oCOGUAFjvLi5+U1KMtlwH +6oi6mYtQlNeCgN9hCQCTrQ0U5s7B8jeUeLBfnLOic7iPBZM4zY0+sLj7wM+x8uwtLRvM7Kqas6pg +ghstO8OEPVeKlh6cdbjTMM1gCIOQ045U8U1mwF10A0Cj7oV+wh93nAbowacYXVKV7cndJZ5t+qnt +ozo00Fl72u1Q8zW/7esUTTHHYPTa8Yec4kjixsU3+wYQ+nVZZjFHKdp2mhzpgq7vmrlR94gjmmmV +YjzlVYA211QC//G5Xc7UI2/YRYRKW2XviQzdFKcgyxilJbQN+QHwotL0AMh0jqEqSI5l2xPE4iUX +feu+h1sXIFRRk0pTAwvsXcoz7WL9RccvW9xYoIA55vrX/hMUpu09lEpCdNTDd1lzzY9GvlU47/ro +kTLql1gEIt44w8y8bckzOmoKaT+gyOpyj4xjhiO9bTyWnpXgSUyqorkqG5w2gXjtw+hG4iZZRHUe +2XWJUc0QhJ1hYMtd+ZciTY6Y5uN/9lu7rs3KSoFrXgvzUeF0K+l+J6fZmUlO+KWA2yUPHGNiiskz +Z2s8EIPGrd6ozRaOjfAHN3Gf8qv8QfXBi+wAN10J5U6A7/qxXDgGpRtK4dw4LTzcqx+QGtVKnO7R +cGzM7vRX+Bi6hG6H +-----END CERTIFICATE----- + +IdenTrust Public Sector Root CA 1 +================================= +-----BEGIN CERTIFICATE----- +MIIFZjCCA06gAwIBAgIQCgFCgAAAAUUjz0Z8AAAAAjANBgkqhkiG9w0BAQsFADBNMQswCQYDVQQG +EwJVUzESMBAGA1UEChMJSWRlblRydXN0MSowKAYDVQQDEyFJZGVuVHJ1c3QgUHVibGljIFNlY3Rv +ciBSb290IENBIDEwHhcNMTQwMTE2MTc1MzMyWhcNMzQwMTE2MTc1MzMyWjBNMQswCQYDVQQGEwJV +UzESMBAGA1UEChMJSWRlblRydXN0MSowKAYDVQQDEyFJZGVuVHJ1c3QgUHVibGljIFNlY3RvciBS +b290IENBIDEwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC2IpT8pEiv6EdrCvsnduTy +P4o7ekosMSqMjbCpwzFrqHd2hCa2rIFCDQjrVVi7evi8ZX3yoG2LqEfpYnYeEe4IFNGyRBb06tD6 +Hi9e28tzQa68ALBKK0CyrOE7S8ItneShm+waOh7wCLPQ5CQ1B5+ctMlSbdsHyo+1W/CD80/HLaXI +rcuVIKQxKFdYWuSNG5qrng0M8gozOSI5Cpcu81N3uURF/YTLNiCBWS2ab21ISGHKTN9T0a9SvESf +qy9rg3LvdYDaBjMbXcjaY8ZNzaxmMc3R3j6HEDbhuaR672BQssvKplbgN6+rNBM5Jeg5ZuSYeqoS +mJxZZoY+rfGwyj4GD3vwEUs3oERte8uojHH01bWRNszwFcYr3lEXsZdMUD2xlVl8BX0tIdUAvwFn +ol57plzy9yLxkA2T26pEUWbMfXYD62qoKjgZl3YNa4ph+bz27nb9cCvdKTz4Ch5bQhyLVi9VGxyh +LrXHFub4qjySjmm2AcG1hp2JDws4lFTo6tyePSW8Uybt1as5qsVATFSrsrTZ2fjXctscvG29ZV/v +iDUqZi/u9rNl8DONfJhBaUYPQxxp+pu10GFqzcpL2UyQRqsVWaFHVCkugyhfHMKiq3IXAAaOReyL +4jM9f9oZRORicsPfIsbyVtTdX5Vy7W1f90gDW/3FKqD2cyOEEBsB5wIDAQABo0IwQDAOBgNVHQ8B +Af8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQU43HgntinQtnbcZFrlJPrw6PRFKMw +DQYJKoZIhvcNAQELBQADggIBAEf63QqwEZE4rU1d9+UOl1QZgkiHVIyqZJnYWv6IAcVYpZmxI1Qj +t2odIFflAWJBF9MJ23XLblSQdf4an4EKwt3X9wnQW3IV5B4Jaj0z8yGa5hV+rVHVDRDtfULAj+7A +mgjVQdZcDiFpboBhDhXAuM/FSRJSzL46zNQuOAXeNf0fb7iAaJg9TaDKQGXSc3z1i9kKlT/YPyNt +GtEqJBnZhbMX73huqVjRI9PHE+1yJX9dsXNw0H8GlwmEKYBhHfpe/3OsoOOJuBxxFcbeMX8S3OFt +m6/n6J91eEyrRjuazr8FGF1NFTwWmhlQBJqymm9li1JfPFgEKCXAZmExfrngdbkaqIHWchezxQMx +NRF4eKLg6TCMf4DfWN88uieW4oA0beOY02QnrEh+KHdcxiVhJfiFDGX6xDIvpZgF5PgLZxYWxoK4 +Mhn5+bl53B/N66+rDt0b20XkeucC4pVd/GnwU2lhlXV5C15V5jgclKlZM57IcXR5f1GJtshquDDI +ajjDbp7hNxbqBWJMWxJH7ae0s1hWx0nzfxJoCTFx8G34Tkf71oXuxVhAGaQdp/lLQzfcaFpPz+vC +ZHTetBXZ9FRUGi8c15dxVJCO2SCdUyt/q4/i6jC8UDfv8Ue1fXwsBOxonbRJRBD0ckscZOf85muQ +3Wl9af0AVqW3rLatt8o+Ae+c +-----END CERTIFICATE----- + +Entrust Root Certification Authority - G2 +========================================= +-----BEGIN CERTIFICATE----- +MIIEPjCCAyagAwIBAgIESlOMKDANBgkqhkiG9w0BAQsFADCBvjELMAkGA1UEBhMCVVMxFjAUBgNV +BAoTDUVudHJ1c3QsIEluYy4xKDAmBgNVBAsTH1NlZSB3d3cuZW50cnVzdC5uZXQvbGVnYWwtdGVy +bXMxOTA3BgNVBAsTMChjKSAyMDA5IEVudHJ1c3QsIEluYy4gLSBmb3IgYXV0aG9yaXplZCB1c2Ug +b25seTEyMDAGA1UEAxMpRW50cnVzdCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRzIw +HhcNMDkwNzA3MTcyNTU0WhcNMzAxMjA3MTc1NTU0WjCBvjELMAkGA1UEBhMCVVMxFjAUBgNVBAoT +DUVudHJ1c3QsIEluYy4xKDAmBgNVBAsTH1NlZSB3d3cuZW50cnVzdC5uZXQvbGVnYWwtdGVybXMx +OTA3BgNVBAsTMChjKSAyMDA5IEVudHJ1c3QsIEluYy4gLSBmb3IgYXV0aG9yaXplZCB1c2Ugb25s +eTEyMDAGA1UEAxMpRW50cnVzdCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRzIwggEi +MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC6hLZy254Ma+KZ6TABp3bqMriVQRrJ2mFOWHLP +/vaCeb9zYQYKpSfYs1/TRU4cctZOMvJyig/3gxnQaoCAAEUesMfnmr8SVycco2gvCoe9amsOXmXz +HHfV1IWNcCG0szLni6LVhjkCsbjSR87kyUnEO6fe+1R9V77w6G7CebI6C1XiUJgWMhNcL3hWwcKU +s/Ja5CeanyTXxuzQmyWC48zCxEXFjJd6BmsqEZ+pCm5IO2/b1BEZQvePB7/1U1+cPvQXLOZprE4y +TGJ36rfo5bs0vBmLrpxR57d+tVOxMyLlbc9wPBr64ptntoP0jaWvYkxN4FisZDQSA/i2jZRjJKRx +AgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRqciZ6 +0B7vfec7aVHUbI2fkBJmqzANBgkqhkiG9w0BAQsFAAOCAQEAeZ8dlsa2eT8ijYfThwMEYGprmi5Z +iXMRrEPR9RP/jTkrwPK9T3CMqS/qF8QLVJ7UG5aYMzyorWKiAHarWWluBh1+xLlEjZivEtRh2woZ +Rkfz6/djwUAFQKXSt/S1mja/qYh2iARVBCuch38aNzx+LaUa2NSJXsq9rD1s2G2v1fN2D807iDgi +nWyTmsQ9v4IbZT+mD12q/OWyFcq1rca8PdCE6OoGcrBNOTJ4vz4RnAuknZoh8/CbCzB428Hch0P+ +vGOaysXCHMnHjf87ElgI5rY97HosTvuDls4MPGmHVHOkc8KT/1EQrBVUAdj8BbGJoX90g5pJ19xO +e4pIb4tF9g== +-----END CERTIFICATE----- + +Entrust Root Certification Authority - EC1 +========================================== +-----BEGIN CERTIFICATE----- +MIIC+TCCAoCgAwIBAgINAKaLeSkAAAAAUNCR+TAKBggqhkjOPQQDAzCBvzELMAkGA1UEBhMCVVMx +FjAUBgNVBAoTDUVudHJ1c3QsIEluYy4xKDAmBgNVBAsTH1NlZSB3d3cuZW50cnVzdC5uZXQvbGVn +YWwtdGVybXMxOTA3BgNVBAsTMChjKSAyMDEyIEVudHJ1c3QsIEluYy4gLSBmb3IgYXV0aG9yaXpl +ZCB1c2Ugb25seTEzMDEGA1UEAxMqRW50cnVzdCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5 +IC0gRUMxMB4XDTEyMTIxODE1MjUzNloXDTM3MTIxODE1NTUzNlowgb8xCzAJBgNVBAYTAlVTMRYw +FAYDVQQKEw1FbnRydXN0LCBJbmMuMSgwJgYDVQQLEx9TZWUgd3d3LmVudHJ1c3QubmV0L2xlZ2Fs +LXRlcm1zMTkwNwYDVQQLEzAoYykgMjAxMiBFbnRydXN0LCBJbmMuIC0gZm9yIGF1dGhvcml6ZWQg +dXNlIG9ubHkxMzAxBgNVBAMTKkVudHJ1c3QgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAt +IEVDMTB2MBAGByqGSM49AgEGBSuBBAAiA2IABIQTydC6bUF74mzQ61VfZgIaJPRbiWlH47jCffHy +AsWfoPZb1YsGGYZPUxBtByQnoaD41UcZYUx9ypMn6nQM72+WCf5j7HBdNq1nd67JnXxVRDqiY1Ef +9eNi1KlHBz7MIKNCMEAwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYE +FLdj5xrdjekIplWDpOBqUEFlEUJJMAoGCCqGSM49BAMDA2cAMGQCMGF52OVCR98crlOZF7ZvHH3h +vxGU0QOIdeSNiaSKd0bebWHvAvX7td/M/k7//qnmpwIwW5nXhTcGtXsI/esni0qU+eH6p44mCOh8 +kmhtc9hvJqwhAriZtyZBWyVgrtBIGu4G +-----END CERTIFICATE----- + +CFCA EV ROOT +============ +-----BEGIN CERTIFICATE----- +MIIFjTCCA3WgAwIBAgIEGErM1jANBgkqhkiG9w0BAQsFADBWMQswCQYDVQQGEwJDTjEwMC4GA1UE +CgwnQ2hpbmEgRmluYW5jaWFsIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MRUwEwYDVQQDDAxDRkNB +IEVWIFJPT1QwHhcNMTIwODA4MDMwNzAxWhcNMjkxMjMxMDMwNzAxWjBWMQswCQYDVQQGEwJDTjEw +MC4GA1UECgwnQ2hpbmEgRmluYW5jaWFsIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MRUwEwYDVQQD +DAxDRkNBIEVWIFJPT1QwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDXXWvNED8fBVnV +BU03sQ7smCuOFR36k0sXgiFxEFLXUWRwFsJVaU2OFW2fvwwbwuCjZ9YMrM8irq93VCpLTIpTUnrD +7i7es3ElweldPe6hL6P3KjzJIx1qqx2hp/Hz7KDVRM8Vz3IvHWOX6Jn5/ZOkVIBMUtRSqy5J35DN +uF++P96hyk0g1CXohClTt7GIH//62pCfCqktQT+x8Rgp7hZZLDRJGqgG16iI0gNyejLi6mhNbiyW +ZXvKWfry4t3uMCz7zEasxGPrb382KzRzEpR/38wmnvFyXVBlWY9ps4deMm/DGIq1lY+wejfeWkU7 +xzbh72fROdOXW3NiGUgthxwG+3SYIElz8AXSG7Ggo7cbcNOIabla1jj0Ytwli3i/+Oh+uFzJlU9f +py25IGvPa931DfSCt/SyZi4QKPaXWnuWFo8BGS1sbn85WAZkgwGDg8NNkt0yxoekN+kWzqotaK8K +gWU6cMGbrU1tVMoqLUuFG7OA5nBFDWteNfB/O7ic5ARwiRIlk9oKmSJgamNgTnYGmE69g60dWIol +hdLHZR4tjsbftsbhf4oEIRUpdPA+nJCdDC7xij5aqgwJHsfVPKPtl8MeNPo4+QgO48BdK4PRVmrJ +tqhUUy54Mmc9gn900PvhtgVguXDbjgv5E1hvcWAQUhC5wUEJ73IfZzF4/5YFjQIDAQABo2MwYTAf +BgNVHSMEGDAWgBTj/i39KNALtbq2osS/BqoFjJP7LzAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB +/wQEAwIBBjAdBgNVHQ4EFgQU4/4t/SjQC7W6tqLEvwaqBYyT+y8wDQYJKoZIhvcNAQELBQADggIB +ACXGumvrh8vegjmWPfBEp2uEcwPenStPuiB/vHiyz5ewG5zz13ku9Ui20vsXiObTej/tUxPQ4i9q +ecsAIyjmHjdXNYmEwnZPNDatZ8POQQaIxffu2Bq41gt/UP+TqhdLjOztUmCypAbqTuv0axn96/Ua +4CUqmtzHQTb3yHQFhDmVOdYLO6Qn+gjYXB74BGBSESgoA//vU2YApUo0FmZ8/Qmkrp5nGm9BC2sG +E5uPhnEFtC+NiWYzKXZUmhH4J/qyP5Hgzg0b8zAarb8iXRvTvyUFTeGSGn+ZnzxEk8rUQElsgIfX +BDrDMlI1Dlb4pd19xIsNER9Tyx6yF7Zod1rg1MvIB671Oi6ON7fQAUtDKXeMOZePglr4UeWJoBjn +aH9dCi77o0cOPaYjesYBx4/IXr9tgFa+iiS6M+qf4TIRnvHST4D2G0CvOJ4RUHlzEhLN5mydLIhy +PDCBBpEi6lmt2hkuIsKNuYyH4Ga8cyNfIWRjgEj1oDwYPZTISEEdQLpe/v5WOaHIz16eGWRGENoX +kbcFgKyLmZJ956LYBws2J+dIeWCKw9cTXPhyQN9Ky8+ZAAoACxGV2lZFA4gKn2fQ1XmxqI1AbQ3C +ekD6819kR5LLU7m7Wc5P/dAVUwHY3+vZ5nbv0CO7O6l5s9UCKc2Jo5YPSjXnTkLAdc0Hz+Ys63su +-----END CERTIFICATE----- + +OISTE WISeKey Global Root GB CA +=============================== +-----BEGIN CERTIFICATE----- +MIIDtTCCAp2gAwIBAgIQdrEgUnTwhYdGs/gjGvbCwDANBgkqhkiG9w0BAQsFADBtMQswCQYDVQQG +EwJDSDEQMA4GA1UEChMHV0lTZUtleTEiMCAGA1UECxMZT0lTVEUgRm91bmRhdGlvbiBFbmRvcnNl +ZDEoMCYGA1UEAxMfT0lTVEUgV0lTZUtleSBHbG9iYWwgUm9vdCBHQiBDQTAeFw0xNDEyMDExNTAw +MzJaFw0zOTEyMDExNTEwMzFaMG0xCzAJBgNVBAYTAkNIMRAwDgYDVQQKEwdXSVNlS2V5MSIwIAYD +VQQLExlPSVNURSBGb3VuZGF0aW9uIEVuZG9yc2VkMSgwJgYDVQQDEx9PSVNURSBXSVNlS2V5IEds +b2JhbCBSb290IEdCIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA2Be3HEokKtaX +scriHvt9OO+Y9bI5mE4nuBFde9IllIiCFSZqGzG7qFshISvYD06fWvGxWuR51jIjK+FTzJlFXHtP +rby/h0oLS5daqPZI7H17Dc0hBt+eFf1Biki3IPShehtX1F1Q/7pn2COZH8g/497/b1t3sWtuuMlk +9+HKQUYOKXHQuSP8yYFfTvdv37+ErXNku7dCjmn21HYdfp2nuFeKUWdy19SouJVUQHMD9ur06/4o +Qnc/nSMbsrY9gBQHTC5P99UKFg29ZkM3fiNDecNAhvVMKdqOmq0NpQSHiB6F4+lT1ZvIiwNjeOvg +GUpuuy9rM2RYk61pv48b74JIxwIDAQABo1EwTzALBgNVHQ8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB +/zAdBgNVHQ4EFgQUNQ/INmNe4qPs+TtmFc5RUuORmj0wEAYJKwYBBAGCNxUBBAMCAQAwDQYJKoZI +hvcNAQELBQADggEBAEBM+4eymYGQfp3FsLAmzYh7KzKNbrghcViXfa43FK8+5/ea4n32cZiZBKpD +dHij40lhPnOMTZTg+XHEthYOU3gf1qKHLwI5gSk8rxWYITD+KJAAjNHhy/peyP34EEY7onhCkRd0 +VQreUGdNZtGn//3ZwLWoo4rOZvUPQ82nK1d7Y0Zqqi5S2PTt4W2tKZB4SLrhI6qjiey1q5bAtEui +HZeeevJuQHHfaPFlTc58Bd9TZaml8LGXBHAVRgOY1NK/VLSgWH1Sb9pWJmLU2NuJMW8c8CLC02Ic +Nc1MaRVUGpCY3useX8p3x8uOPUNpnJpY0CQ73xtAln41rYHHTnG6iBM= +-----END CERTIFICATE----- + +SZAFIR ROOT CA2 +=============== +-----BEGIN CERTIFICATE----- +MIIDcjCCAlqgAwIBAgIUPopdB+xV0jLVt+O2XwHrLdzk1uQwDQYJKoZIhvcNAQELBQAwUTELMAkG +A1UEBhMCUEwxKDAmBgNVBAoMH0tyYWpvd2EgSXpiYSBSb3psaWN6ZW5pb3dhIFMuQS4xGDAWBgNV +BAMMD1NaQUZJUiBST09UIENBMjAeFw0xNTEwMTkwNzQzMzBaFw0zNTEwMTkwNzQzMzBaMFExCzAJ +BgNVBAYTAlBMMSgwJgYDVQQKDB9LcmFqb3dhIEl6YmEgUm96bGljemVuaW93YSBTLkEuMRgwFgYD +VQQDDA9TWkFGSVIgUk9PVCBDQTIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC3vD5Q +qEvNQLXOYeeWyrSh2gwisPq1e3YAd4wLz32ohswmUeQgPYUM1ljj5/QqGJ3a0a4m7utT3PSQ1hNK +DJA8w/Ta0o4NkjrcsbH/ON7Dui1fgLkCvUqdGw+0w8LBZwPd3BucPbOw3gAeqDRHu5rr/gsUvTaE +2g0gv/pby6kWIK05YO4vdbbnl5z5Pv1+TW9NL++IDWr63fE9biCloBK0TXC5ztdyO4mTp4CEHCdJ +ckm1/zuVnsHMyAHs6A6KCpbns6aH5db5BSsNl0BwPLqsdVqc1U2dAgrSS5tmS0YHF2Wtn2yIANwi +ieDhZNRnvDF5YTy7ykHNXGoAyDw4jlivAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0P +AQH/BAQDAgEGMB0GA1UdDgQWBBQuFqlKGLXLzPVvUPMjX/hd56zwyDANBgkqhkiG9w0BAQsFAAOC +AQEAtXP4A9xZWx126aMqe5Aosk3AM0+qmrHUuOQn/6mWmc5G4G18TKI4pAZw8PRBEew/R40/cof5 +O/2kbytTAOD/OblqBw7rHRz2onKQy4I9EYKL0rufKq8h5mOGnXkZ7/e7DDWQw4rtTw/1zBLZpD67 +oPwglV9PJi8RI4NOdQcPv5vRtB3pEAT+ymCPoky4rc/hkA/NrgrHXXu3UNLUYfrVFdvXn4dRVOul +4+vJhaAlIDf7js4MNIThPIGyd05DpYhfhmehPea0XGG2Ptv+tyjFogeutcrKjSoS75ftwjCkySp6 ++/NNIxuZMzSgLvWpCz/UXeHPhJ/iGcJfitYgHuNztw== +-----END CERTIFICATE----- + +Certum Trusted Network CA 2 +=========================== +-----BEGIN CERTIFICATE----- +MIIF0jCCA7qgAwIBAgIQIdbQSk8lD8kyN/yqXhKN6TANBgkqhkiG9w0BAQ0FADCBgDELMAkGA1UE +BhMCUEwxIjAgBgNVBAoTGVVuaXpldG8gVGVjaG5vbG9naWVzIFMuQS4xJzAlBgNVBAsTHkNlcnR1 +bSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTEkMCIGA1UEAxMbQ2VydHVtIFRydXN0ZWQgTmV0d29y +ayBDQSAyMCIYDzIwMTExMDA2MDgzOTU2WhgPMjA0NjEwMDYwODM5NTZaMIGAMQswCQYDVQQGEwJQ +TDEiMCAGA1UEChMZVW5pemV0byBUZWNobm9sb2dpZXMgUy5BLjEnMCUGA1UECxMeQ2VydHVtIENl +cnRpZmljYXRpb24gQXV0aG9yaXR5MSQwIgYDVQQDExtDZXJ0dW0gVHJ1c3RlZCBOZXR3b3JrIENB +IDIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC9+Xj45tWADGSdhhuWZGc/IjoedQF9 +7/tcZ4zJzFxrqZHmuULlIEub2pt7uZld2ZuAS9eEQCsn0+i6MLs+CRqnSZXvK0AkwpfHp+6bJe+o +CgCXhVqqndwpyeI1B+twTUrWwbNWuKFBOJvR+zF/j+Bf4bE/D44WSWDXBo0Y+aomEKsq09DRZ40b +Rr5HMNUuctHFY9rnY3lEfktjJImGLjQ/KUxSiyqnwOKRKIm5wFv5HdnnJ63/mgKXwcZQkpsCLL2p +uTRZCr+ESv/f/rOf69me4Jgj7KZrdxYq28ytOxykh9xGc14ZYmhFV+SQgkK7QtbwYeDBoz1mo130 +GO6IyY0XRSmZMnUCMe4pJshrAua1YkV/NxVaI2iJ1D7eTiew8EAMvE0Xy02isx7QBlrd9pPPV3WZ +9fqGGmd4s7+W/jTcvedSVuWz5XV710GRBdxdaeOVDUO5/IOWOZV7bIBaTxNyxtd9KXpEulKkKtVB +Rgkg/iKgtlswjbyJDNXXcPiHUv3a76xRLgezTv7QCdpw75j6VuZt27VXS9zlLCUVyJ4ueE742pye +hizKV/Ma5ciSixqClnrDvFASadgOWkaLOusm+iPJtrCBvkIApPjW/jAux9JG9uWOdf3yzLnQh1vM +BhBgu4M1t15n3kfsmUjxpKEV/q2MYo45VU85FrmxY53/twIDAQABo0IwQDAPBgNVHRMBAf8EBTAD +AQH/MB0GA1UdDgQWBBS2oVQ5AsOgP46KvPrU+Bym0ToO/TAOBgNVHQ8BAf8EBAMCAQYwDQYJKoZI +hvcNAQENBQADggIBAHGlDs7k6b8/ONWJWsQCYftMxRQXLYtPU2sQF/xlhMcQSZDe28cmk4gmb3DW +Al45oPePq5a1pRNcgRRtDoGCERuKTsZPpd1iHkTfCVn0W3cLN+mLIMb4Ck4uWBzrM9DPhmDJ2vuA +L55MYIR4PSFk1vtBHxgP58l1cb29XN40hz5BsA72udY/CROWFC/emh1auVbONTqwX3BNXuMp8SMo +clm2q8KMZiYcdywmdjWLKKdpoPk79SPdhRB0yZADVpHnr7pH1BKXESLjokmUbOe3lEu6LaTaM4tM +pkT/WjzGHWTYtTHkpjx6qFcL2+1hGsvxznN3Y6SHb0xRONbkX8eftoEq5IVIeVheO/jbAoJnwTnb +w3RLPTYe+SmTiGhbqEQZIfCn6IENLOiTNrQ3ssqwGyZ6miUfmpqAnksqP/ujmv5zMnHCnsZy4Ypo +J/HkD7TETKVhk/iXEAcqMCWpuchxuO9ozC1+9eB+D4Kob7a6bINDd82Kkhehnlt4Fj1F4jNy3eFm +ypnTycUm/Q1oBEauttmbjL4ZvrHG8hnjXALKLNhvSgfZyTXaQHXyxKcZb55CEJh15pWLYLztxRLX +is7VmFxWlgPF7ncGNf/P5O4/E2Hu29othfDNrp2yGAlFw5Khchf8R7agCyzxxN5DaAhqXzvwdmP7 +zAYspsbiDrW5viSP +-----END CERTIFICATE----- + +Hellenic Academic and Research Institutions RootCA 2015 +======================================================= +-----BEGIN CERTIFICATE----- +MIIGCzCCA/OgAwIBAgIBADANBgkqhkiG9w0BAQsFADCBpjELMAkGA1UEBhMCR1IxDzANBgNVBAcT +BkF0aGVuczFEMEIGA1UEChM7SGVsbGVuaWMgQWNhZGVtaWMgYW5kIFJlc2VhcmNoIEluc3RpdHV0 +aW9ucyBDZXJ0LiBBdXRob3JpdHkxQDA+BgNVBAMTN0hlbGxlbmljIEFjYWRlbWljIGFuZCBSZXNl +YXJjaCBJbnN0aXR1dGlvbnMgUm9vdENBIDIwMTUwHhcNMTUwNzA3MTAxMTIxWhcNNDAwNjMwMTAx +MTIxWjCBpjELMAkGA1UEBhMCR1IxDzANBgNVBAcTBkF0aGVuczFEMEIGA1UEChM7SGVsbGVuaWMg +QWNhZGVtaWMgYW5kIFJlc2VhcmNoIEluc3RpdHV0aW9ucyBDZXJ0LiBBdXRob3JpdHkxQDA+BgNV +BAMTN0hlbGxlbmljIEFjYWRlbWljIGFuZCBSZXNlYXJjaCBJbnN0aXR1dGlvbnMgUm9vdENBIDIw +MTUwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDC+Kk/G4n8PDwEXT2QNrCROnk8Zlrv +bTkBSRq0t89/TSNTt5AA4xMqKKYx8ZEA4yjsriFBzh/a/X0SWwGDD7mwX5nh8hKDgE0GPt+sr+eh +iGsxr/CL0BgzuNtFajT0AoAkKAoCFZVedioNmToUW/bLy1O8E00BiDeUJRtCvCLYjqOWXjrZMts+ +6PAQZe104S+nfK8nNLspfZu2zwnI5dMK/IhlZXQK3HMcXM1AsRzUtoSMTFDPaI6oWa7CJ06CojXd +FPQf/7J31Ycvqm59JCfnxssm5uX+Zwdj2EUN3TpZZTlYepKZcj2chF6IIbjV9Cz82XBST3i4vTwr +i5WY9bPRaM8gFH5MXF/ni+X1NYEZN9cRCLdmvtNKzoNXADrDgfgXy5I2XdGj2HUb4Ysn6npIQf1F +GQatJ5lOwXBH3bWfgVMS5bGMSF0xQxfjjMZ6Y5ZLKTBOhE5iGV48zpeQpX8B653g+IuJ3SWYPZK2 +fu/Z8VFRfS0myGlZYeCsargqNhEEelC9MoS+L9xy1dcdFkfkR2YgP/SWxa+OAXqlD3pk9Q0Yh9mu +iNX6hME6wGkoLfINaFGq46V3xqSQDqE3izEjR8EJCOtu93ib14L8hCCZSRm2Ekax+0VVFqmjZayc +Bw/qa9wfLgZy7IaIEuQt218FL+TwA9MmM+eAws1CoRc0CwIDAQABo0IwQDAPBgNVHRMBAf8EBTAD +AQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUcRVnyMjJvXVdctA4GGqd83EkVAswDQYJKoZI +hvcNAQELBQADggIBAHW7bVRLqhBYRjTyYtcWNl0IXtVsyIe9tC5G8jH4fOpCtZMWVdyhDBKg2mF+ +D1hYc2Ryx+hFjtyp8iY/xnmMsVMIM4GwVhO+5lFc2JsKT0ucVlMC6U/2DWDqTUJV6HwbISHTGzrM +d/K4kPFox/la/vot9L/J9UUbzjgQKjeKeaO04wlshYaT/4mWJ3iBj2fjRnRUjtkNaeJK9E10A/+y +d+2VZ5fkscWrv2oj6NSU4kQoYsRL4vDY4ilrGnB+JGGTe08DMiUNRSQrlrRGar9KC/eaj8GsGsVn +82800vpzY4zvFrCopEYq+OsS7HK07/grfoxSwIuEVPkvPuNVqNxmsdnhX9izjFk0WaSrT2y7Hxjb +davYy5LNlDhhDgcGH0tGEPEVvo2FXDtKK4F5D7Rpn0lQl033DlZdwJVqwjbDG2jJ9SrcR5q+ss7F +Jej6A7na+RZukYT1HCjI/CbM1xyQVqdfbzoEvM14iQuODy+jqk+iGxI9FghAD/FGTNeqewjBCvVt +J94Cj8rDtSvK6evIIVM4pcw72Hc3MKJP2W/R8kCtQXoXxdZKNYm3QdV8hn9VTYNKpXMgwDqvkPGa +JI7ZjnHKe7iG2rKPmT4dEw0SEe7Uq/DpFXYC5ODfqiAeW2GFZECpkJcNrVPSWh2HagCXZWK0vm9q +p/UsQu0yrbYhnr68 +-----END CERTIFICATE----- + +Hellenic Academic and Research Institutions ECC RootCA 2015 +=========================================================== +-----BEGIN CERTIFICATE----- +MIICwzCCAkqgAwIBAgIBADAKBggqhkjOPQQDAjCBqjELMAkGA1UEBhMCR1IxDzANBgNVBAcTBkF0 +aGVuczFEMEIGA1UEChM7SGVsbGVuaWMgQWNhZGVtaWMgYW5kIFJlc2VhcmNoIEluc3RpdHV0aW9u +cyBDZXJ0LiBBdXRob3JpdHkxRDBCBgNVBAMTO0hlbGxlbmljIEFjYWRlbWljIGFuZCBSZXNlYXJj +aCBJbnN0aXR1dGlvbnMgRUNDIFJvb3RDQSAyMDE1MB4XDTE1MDcwNzEwMzcxMloXDTQwMDYzMDEw +MzcxMlowgaoxCzAJBgNVBAYTAkdSMQ8wDQYDVQQHEwZBdGhlbnMxRDBCBgNVBAoTO0hlbGxlbmlj +IEFjYWRlbWljIGFuZCBSZXNlYXJjaCBJbnN0aXR1dGlvbnMgQ2VydC4gQXV0aG9yaXR5MUQwQgYD +VQQDEztIZWxsZW5pYyBBY2FkZW1pYyBhbmQgUmVzZWFyY2ggSW5zdGl0dXRpb25zIEVDQyBSb290 +Q0EgMjAxNTB2MBAGByqGSM49AgEGBSuBBAAiA2IABJKgQehLgoRc4vgxEZmGZE4JJS+dQS8KrjVP +dJWyUWRrjWvmP3CV8AVER6ZyOFB2lQJajq4onvktTpnvLEhvTCUp6NFxW98dwXU3tNf6e3pCnGoK +Vlp8aQuqgAkkbH7BRqNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0O +BBYEFLQiC4KZJAEOnLvkDv2/+5cgk5kqMAoGCCqGSM49BAMCA2cAMGQCMGfOFmI4oqxiRaeplSTA +GiecMjvAwNW6qef4BENThe5SId6d9SWDPp5YSy/XZxMOIQIwBeF1Ad5o7SofTUwJCA3sS61kFyjn +dc5FZXIhF8siQQ6ME5g4mlRtm8rifOoCWCKR +-----END CERTIFICATE----- + +ISRG Root X1 +============ +-----BEGIN CERTIFICATE----- +MIIFazCCA1OgAwIBAgIRAIIQz7DSQONZRGPgu2OCiwAwDQYJKoZIhvcNAQELBQAwTzELMAkGA1UE +BhMCVVMxKTAnBgNVBAoTIEludGVybmV0IFNlY3VyaXR5IFJlc2VhcmNoIEdyb3VwMRUwEwYDVQQD +EwxJU1JHIFJvb3QgWDEwHhcNMTUwNjA0MTEwNDM4WhcNMzUwNjA0MTEwNDM4WjBPMQswCQYDVQQG +EwJVUzEpMCcGA1UEChMgSW50ZXJuZXQgU2VjdXJpdHkgUmVzZWFyY2ggR3JvdXAxFTATBgNVBAMT +DElTUkcgUm9vdCBYMTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAK3oJHP0FDfzm54r +Vygch77ct984kIxuPOZXoHj3dcKi/vVqbvYATyjb3miGbESTtrFj/RQSa78f0uoxmyF+0TM8ukj1 +3Xnfs7j/EvEhmkvBioZxaUpmZmyPfjxwv60pIgbz5MDmgK7iS4+3mX6UA5/TR5d8mUgjU+g4rk8K +b4Mu0UlXjIB0ttov0DiNewNwIRt18jA8+o+u3dpjq+sWT8KOEUt+zwvo/7V3LvSye0rgTBIlDHCN +Aymg4VMk7BPZ7hm/ELNKjD+Jo2FR3qyHB5T0Y3HsLuJvW5iB4YlcNHlsdu87kGJ55tukmi8mxdAQ +4Q7e2RCOFvu396j3x+UCB5iPNgiV5+I3lg02dZ77DnKxHZu8A/lJBdiB3QW0KtZB6awBdpUKD9jf +1b0SHzUvKBds0pjBqAlkd25HN7rOrFleaJ1/ctaJxQZBKT5ZPt0m9STJEadao0xAH0ahmbWnOlFu +hjuefXKnEgV4We0+UXgVCwOPjdAvBbI+e0ocS3MFEvzG6uBQE3xDk3SzynTnjh8BCNAw1FtxNrQH +usEwMFxIt4I7mKZ9YIqioymCzLq9gwQbooMDQaHWBfEbwrbwqHyGO0aoSCqI3Haadr8faqU9GY/r +OPNk3sgrDQoo//fb4hVC1CLQJ13hef4Y53CIrU7m2Ys6xt0nUW7/vGT1M0NPAgMBAAGjQjBAMA4G +A1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBR5tFnme7bl5AFzgAiIyBpY +9umbbjANBgkqhkiG9w0BAQsFAAOCAgEAVR9YqbyyqFDQDLHYGmkgJykIrGF1XIpu+ILlaS/V9lZL +ubhzEFnTIZd+50xx+7LSYK05qAvqFyFWhfFQDlnrzuBZ6brJFe+GnY+EgPbk6ZGQ3BebYhtF8GaV +0nxvwuo77x/Py9auJ/GpsMiu/X1+mvoiBOv/2X/qkSsisRcOj/KKNFtY2PwByVS5uCbMiogziUwt +hDyC3+6WVwW6LLv3xLfHTjuCvjHIInNzktHCgKQ5ORAzI4JMPJ+GslWYHb4phowim57iaztXOoJw +TdwJx4nLCgdNbOhdjsnvzqvHu7UrTkXWStAmzOVyyghqpZXjFaH3pO3JLF+l+/+sKAIuvtd7u+Nx +e5AW0wdeRlN8NwdCjNPElpzVmbUq4JUagEiuTDkHzsxHpFKVK7q4+63SM1N95R1NbdWhscdCb+ZA +JzVcoyi3B43njTOQ5yOf+1CceWxG1bQVs5ZufpsMljq4Ui0/1lvh+wjChP4kqKOJ2qxq4RgqsahD +YVvTH9w7jXbyLeiNdd8XM2w9U/t7y0Ff/9yi0GE44Za4rF2LN9d11TPAmRGunUHBcnWEvgJBQl9n +JEiU0Zsnvgc/ubhPgXRR4Xq37Z0j4r7g1SgEEzwxA57demyPxgcYxn/eR44/KJ4EBs+lVDR3veyJ +m+kXQ99b21/+jh5Xos1AnX5iItreGCc= +-----END CERTIFICATE----- + +AC RAIZ FNMT-RCM +================ +-----BEGIN CERTIFICATE----- +MIIFgzCCA2ugAwIBAgIPXZONMGc2yAYdGsdUhGkHMA0GCSqGSIb3DQEBCwUAMDsxCzAJBgNVBAYT +AkVTMREwDwYDVQQKDAhGTk1ULVJDTTEZMBcGA1UECwwQQUMgUkFJWiBGTk1ULVJDTTAeFw0wODEw +MjkxNTU5NTZaFw0zMDAxMDEwMDAwMDBaMDsxCzAJBgNVBAYTAkVTMREwDwYDVQQKDAhGTk1ULVJD +TTEZMBcGA1UECwwQQUMgUkFJWiBGTk1ULVJDTTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoC +ggIBALpxgHpMhm5/yBNtwMZ9HACXjywMI7sQmkCpGreHiPibVmr75nuOi5KOpyVdWRHbNi63URcf +qQgfBBckWKo3Shjf5TnUV/3XwSyRAZHiItQDwFj8d0fsjz50Q7qsNI1NOHZnjrDIbzAzWHFctPVr +btQBULgTfmxKo0nRIBnuvMApGGWn3v7v3QqQIecaZ5JCEJhfTzC8PhxFtBDXaEAUwED653cXeuYL +j2VbPNmaUtu1vZ5Gzz3rkQUCwJaydkxNEJY7kvqcfw+Z374jNUUeAlz+taibmSXaXvMiwzn15Cou +08YfxGyqxRxqAQVKL9LFwag0Jl1mpdICIfkYtwb1TplvqKtMUejPUBjFd8g5CSxJkjKZqLsXF3mw +WsXmo8RZZUc1g16p6DULmbvkzSDGm0oGObVo/CK67lWMK07q87Hj/LaZmtVC+nFNCM+HHmpxffnT +tOmlcYF7wk5HlqX2doWjKI/pgG6BU6VtX7hI+cL5NqYuSf+4lsKMB7ObiFj86xsc3i1w4peSMKGJ +47xVqCfWS+2QrYv6YyVZLag13cqXM7zlzced0ezvXg5KkAYmY6252TUtB7p2ZSysV4999AeU14EC +ll2jB0nVetBX+RvnU0Z1qrB5QstocQjpYL05ac70r8NWQMetUqIJ5G+GR4of6ygnXYMgrwTJbFaa +i0b1AgMBAAGjgYMwgYAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYE +FPd9xf3E6Jobd2Sn9R2gzL+HYJptMD4GA1UdIAQ3MDUwMwYEVR0gADArMCkGCCsGAQUFBwIBFh1o +dHRwOi8vd3d3LmNlcnQuZm5tdC5lcy9kcGNzLzANBgkqhkiG9w0BAQsFAAOCAgEAB5BK3/MjTvDD +nFFlm5wioooMhfNzKWtN/gHiqQxjAb8EZ6WdmF/9ARP67Jpi6Yb+tmLSbkyU+8B1RXxlDPiyN8+s +D8+Nb/kZ94/sHvJwnvDKuO+3/3Y3dlv2bojzr2IyIpMNOmqOFGYMLVN0V2Ue1bLdI4E7pWYjJ2cJ +j+F3qkPNZVEI7VFY/uY5+ctHhKQV8Xa7pO6kO8Rf77IzlhEYt8llvhjho6Tc+hj507wTmzl6NLrT +Qfv6MooqtyuGC2mDOL7Nii4LcK2NJpLuHvUBKwrZ1pebbuCoGRw6IYsMHkCtA+fdZn71uSANA+iW ++YJF1DngoABd15jmfZ5nc8OaKveri6E6FO80vFIOiZiaBECEHX5FaZNXzuvO+FB8TxxuBEOb+dY7 +Ixjp6o7RTUaN8Tvkasq6+yO3m/qZASlaWFot4/nUbQ4mrcFuNLwy+AwF+mWj2zs3gyLp1txyM/1d +8iC9djwj2ij3+RvrWWTV3F9yfiD8zYm1kGdNYno/Tq0dwzn+evQoFt9B9kiABdcPUXmsEKvU7ANm +5mqwujGSQkBqvjrTcuFqN1W8rB2Vt2lh8kORdOag0wokRqEIr9baRRmW1FMdW4R58MD3R++Lj8UG +rp1MYp3/RgT408m2ECVAdf4WqslKYIYvuu8wd+RU4riEmViAqhOLUTpPSPaLtrM= +-----END CERTIFICATE----- + +Amazon Root CA 1 +================ +-----BEGIN CERTIFICATE----- +MIIDQTCCAimgAwIBAgITBmyfz5m/jAo54vB4ikPmljZbyjANBgkqhkiG9w0BAQsFADA5MQswCQYD +VQQGEwJVUzEPMA0GA1UEChMGQW1hem9uMRkwFwYDVQQDExBBbWF6b24gUm9vdCBDQSAxMB4XDTE1 +MDUyNjAwMDAwMFoXDTM4MDExNzAwMDAwMFowOTELMAkGA1UEBhMCVVMxDzANBgNVBAoTBkFtYXpv +bjEZMBcGA1UEAxMQQW1hem9uIFJvb3QgQ0EgMTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC +ggEBALJ4gHHKeNXjca9HgFB0fW7Y14h29Jlo91ghYPl0hAEvrAIthtOgQ3pOsqTQNroBvo3bSMgH +FzZM9O6II8c+6zf1tRn4SWiw3te5djgdYZ6k/oI2peVKVuRF4fn9tBb6dNqcmzU5L/qwIFAGbHrQ +gLKm+a/sRxmPUDgH3KKHOVj4utWp+UhnMJbulHheb4mjUcAwhmahRWa6VOujw5H5SNz/0egwLX0t +dHA114gk957EWW67c4cX8jJGKLhD+rcdqsq08p8kDi1L93FcXmn/6pUCyziKrlA4b9v7LWIbxcce +VOF34GfID5yHI9Y/QCB/IIDEgEw+OyQmjgSubJrIqg0CAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB +/zAOBgNVHQ8BAf8EBAMCAYYwHQYDVR0OBBYEFIQYzIU07LwMlJQuCFmcx7IQTgoIMA0GCSqGSIb3 +DQEBCwUAA4IBAQCY8jdaQZChGsV2USggNiMOruYou6r4lK5IpDB/G/wkjUu0yKGX9rbxenDIU5PM +CCjjmCXPI6T53iHTfIUJrU6adTrCC2qJeHZERxhlbI1Bjjt/msv0tadQ1wUsN+gDS63pYaACbvXy +8MWy7Vu33PqUXHeeE6V/Uq2V8viTO96LXFvKWlJbYK8U90vvo/ufQJVtMVT8QtPHRh8jrdkPSHCa +2XV4cdFyQzR1bldZwgJcJmApzyMZFo6IQ6XU5MsI+yMRQ+hDKXJioaldXgjUkK642M4UwtBV8ob2 +xJNDd2ZhwLnoQdeXeGADbkpyrqXRfboQnoZsG4q5WTP468SQvvG5 +-----END CERTIFICATE----- + +Amazon Root CA 2 +================ +-----BEGIN CERTIFICATE----- +MIIFQTCCAymgAwIBAgITBmyf0pY1hp8KD+WGePhbJruKNzANBgkqhkiG9w0BAQwFADA5MQswCQYD +VQQGEwJVUzEPMA0GA1UEChMGQW1hem9uMRkwFwYDVQQDExBBbWF6b24gUm9vdCBDQSAyMB4XDTE1 +MDUyNjAwMDAwMFoXDTQwMDUyNjAwMDAwMFowOTELMAkGA1UEBhMCVVMxDzANBgNVBAoTBkFtYXpv +bjEZMBcGA1UEAxMQQW1hem9uIFJvb3QgQ0EgMjCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoC +ggIBAK2Wny2cSkxKgXlRmeyKy2tgURO8TW0G/LAIjd0ZEGrHJgw12MBvIITplLGbhQPDW9tK6Mj4 +kHbZW0/jTOgGNk3Mmqw9DJArktQGGWCsN0R5hYGCrVo34A3MnaZMUnbqQ523BNFQ9lXg1dKmSYXp +N+nKfq5clU1Imj+uIFptiJXZNLhSGkOQsL9sBbm2eLfq0OQ6PBJTYv9K8nu+NQWpEjTj82R0Yiw9 +AElaKP4yRLuH3WUnAnE72kr3H9rN9yFVkE8P7K6C4Z9r2UXTu/Bfh+08LDmG2j/e7HJV63mjrdvd +fLC6HM783k81ds8P+HgfajZRRidhW+mez/CiVX18JYpvL7TFz4QuK/0NURBs+18bvBt+xa47mAEx +kv8LV/SasrlX6avvDXbR8O70zoan4G7ptGmh32n2M8ZpLpcTnqWHsFcQgTfJU7O7f/aS0ZzQGPSS +btqDT6ZjmUyl+17vIWR6IF9sZIUVyzfpYgwLKhbcAS4y2j5L9Z469hdAlO+ekQiG+r5jqFoz7Mt0 +Q5X5bGlSNscpb/xVA1wf+5+9R+vnSUeVC06JIglJ4PVhHvG/LopyboBZ/1c6+XUyo05f7O0oYtlN +c/LMgRdg7c3r3NunysV+Ar3yVAhU/bQtCSwXVEqY0VThUWcI0u1ufm8/0i2BWSlmy5A5lREedCf+ +3euvAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgGGMB0GA1UdDgQWBBSw +DPBMMPQFWAJI/TPlUq9LhONmUjANBgkqhkiG9w0BAQwFAAOCAgEAqqiAjw54o+Ci1M3m9Zh6O+oA +A7CXDpO8Wqj2LIxyh6mx/H9z/WNxeKWHWc8w4Q0QshNabYL1auaAn6AFC2jkR2vHat+2/XcycuUY ++gn0oJMsXdKMdYV2ZZAMA3m3MSNjrXiDCYZohMr/+c8mmpJ5581LxedhpxfL86kSk5Nrp+gvU5LE +YFiwzAJRGFuFjWJZY7attN6a+yb3ACfAXVU3dJnJUH/jWS5E4ywl7uxMMne0nxrpS10gxdr9HIcW +xkPo1LsmmkVwXqkLN1PiRnsn/eBG8om3zEK2yygmbtmlyTrIQRNg91CMFa6ybRoVGld45pIq2WWQ +gj9sAq+uEjonljYE1x2igGOpm/HlurR8FLBOybEfdF849lHqm/osohHUqS0nGkWxr7JOcQ3AWEbW +aQbLU8uz/mtBzUF+fUwPfHJ5elnNXkoOrJupmHN5fLT0zLm4BwyydFy4x2+IoZCn9Kr5v2c69BoV +Yh63n749sSmvZ6ES8lgQGVMDMBu4Gon2nL2XA46jCfMdiyHxtN/kHNGfZQIG6lzWE7OE76KlXIx3 +KadowGuuQNKotOrN8I1LOJwZmhsoVLiJkO/KdYE+HvJkJMcYr07/R54H9jVlpNMKVv/1F2Rs76gi +JUmTtt8AF9pYfl3uxRuw0dFfIRDH+fO6AgonB8Xx1sfT4PsJYGw= +-----END CERTIFICATE----- + +Amazon Root CA 3 +================ +-----BEGIN CERTIFICATE----- +MIIBtjCCAVugAwIBAgITBmyf1XSXNmY/Owua2eiedgPySjAKBggqhkjOPQQDAjA5MQswCQYDVQQG +EwJVUzEPMA0GA1UEChMGQW1hem9uMRkwFwYDVQQDExBBbWF6b24gUm9vdCBDQSAzMB4XDTE1MDUy +NjAwMDAwMFoXDTQwMDUyNjAwMDAwMFowOTELMAkGA1UEBhMCVVMxDzANBgNVBAoTBkFtYXpvbjEZ +MBcGA1UEAxMQQW1hem9uIFJvb3QgQ0EgMzBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABCmXp8ZB +f8ANm+gBG1bG8lKlui2yEujSLtf6ycXYqm0fc4E7O5hrOXwzpcVOho6AF2hiRVd9RFgdszflZwjr +Zt6jQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgGGMB0GA1UdDgQWBBSrttvXBp43 +rDCGB5Fwx5zEGbF4wDAKBggqhkjOPQQDAgNJADBGAiEA4IWSoxe3jfkrBqWTrBqYaGFy+uGh0Psc +eGCmQ5nFuMQCIQCcAu/xlJyzlvnrxir4tiz+OpAUFteMYyRIHN8wfdVoOw== +-----END CERTIFICATE----- + +Amazon Root CA 4 +================ +-----BEGIN CERTIFICATE----- +MIIB8jCCAXigAwIBAgITBmyf18G7EEwpQ+Vxe3ssyBrBDjAKBggqhkjOPQQDAzA5MQswCQYDVQQG +EwJVUzEPMA0GA1UEChMGQW1hem9uMRkwFwYDVQQDExBBbWF6b24gUm9vdCBDQSA0MB4XDTE1MDUy +NjAwMDAwMFoXDTQwMDUyNjAwMDAwMFowOTELMAkGA1UEBhMCVVMxDzANBgNVBAoTBkFtYXpvbjEZ +MBcGA1UEAxMQQW1hem9uIFJvb3QgQ0EgNDB2MBAGByqGSM49AgEGBSuBBAAiA2IABNKrijdPo1MN +/sGKe0uoe0ZLY7Bi9i0b2whxIdIA6GO9mif78DluXeo9pcmBqqNbIJhFXRbb/egQbeOc4OO9X4Ri +83BkM6DLJC9wuoihKqB1+IGuYgbEgds5bimwHvouXKNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNV +HQ8BAf8EBAMCAYYwHQYDVR0OBBYEFNPsxzplbszh2naaVvuc84ZtV+WBMAoGCCqGSM49BAMDA2gA +MGUCMDqLIfG9fhGt0O9Yli/W651+kI0rz2ZVwyzjKKlwCkcO8DdZEv8tmZQoTipPNU0zWgIxAOp1 +AE47xDqUEpHJWEadIRNyp4iciuRMStuW1KyLa2tJElMzrdfkviT8tQp21KW8EA== +-----END CERTIFICATE----- + +LuxTrust Global Root 2 +====================== +-----BEGIN CERTIFICATE----- +MIIFwzCCA6ugAwIBAgIUCn6m30tEntpqJIWe5rgV0xZ/u7EwDQYJKoZIhvcNAQELBQAwRjELMAkG +A1UEBhMCTFUxFjAUBgNVBAoMDUx1eFRydXN0IFMuQS4xHzAdBgNVBAMMFkx1eFRydXN0IEdsb2Jh +bCBSb290IDIwHhcNMTUwMzA1MTMyMTU3WhcNMzUwMzA1MTMyMTU3WjBGMQswCQYDVQQGEwJMVTEW +MBQGA1UECgwNTHV4VHJ1c3QgUy5BLjEfMB0GA1UEAwwWTHV4VHJ1c3QgR2xvYmFsIFJvb3QgMjCC +AiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBANeFl78RmOnwYoNMPIf5U2o3C/IPPIfOb9wm +Kb3FibrJgz337spbxm1Jc7TJRqMbNBM/wYlFV/TZsfs2ZUv7COJIcRHIbjuend+JZTemhfY7RBi2 +xjcwYkSSl2l9QjAk5A0MiWtj3sXh306pFGxT4GHO9hcvHTy95iJMHZP1EMShduxq3sVs35a0VkBC +wGKSMKEtFZSg0iAGCW5qbeXrt77U8PEVfIvmTroTzEsnXpk8F12PgX8zPU/TPxvsXD/wPEx1bvKm +1Z3aLQdjAsZy6ZS8TEmVT4hSyNvoaYL4zDRbIvCGp4m9SAptZoFtyMhk+wHh9OHe2Z7d21vUKpkm +FRseTJIpgp7VkoGSQXAZ96Tlk0u8d2cx3Rz9MXANF5kM+Qw5GSoXtTBxVdUPrljhPS80m8+f9niF +wpN6cj5mj5wWEWCPnolvZ77gR1o7DJpni89Gxq44o/KnvObWhWszJHAiS8sIm7vI+AIpHb4gDEa/ +a4ebsypmQjVGbKq6rfmYe+lQVRQxv7HaLe2ArWgk+2mr2HETMOZns4dA/Yl+8kPREd8vZS9kzl8U +ubG/Mb2HeFpZZYiq/FkySIbWTLkpS5XTdvN3JW1CHDiDTf2jX5t/Lax5Gw5CMZdjpPuKadUiDTSQ +MC6otOBttpSsvItO13D8xTiOZCXhTTmQzsmHhFhxAgMBAAGjgagwgaUwDwYDVR0TAQH/BAUwAwEB +/zBCBgNVHSAEOzA5MDcGByuBKwEBAQowLDAqBggrBgEFBQcCARYeaHR0cHM6Ly9yZXBvc2l0b3J5 +Lmx1eHRydXN0Lmx1MA4GA1UdDwEB/wQEAwIBBjAfBgNVHSMEGDAWgBT/GCh2+UgFLKGu8SsbK7JT ++Et8szAdBgNVHQ4EFgQU/xgodvlIBSyhrvErGyuyU/hLfLMwDQYJKoZIhvcNAQELBQADggIBAGoZ +FO1uecEsh9QNcH7X9njJCwROxLHOk3D+sFTAMs2ZMGQXvw/l4jP9BzZAcg4atmpZ1gDlaCDdLnIN +H2pkMSCEfUmmWjfrRcmF9dTHF5kH5ptV5AzoqbTOjFu1EVzPig4N1qx3gf4ynCSecs5U89BvolbW +7MM3LGVYvlcAGvI1+ut7MV3CwRI9loGIlonBWVx65n9wNOeD4rHh4bhY79SV5GCc8JaXcozrhAIu +ZY+kt9J/Z93I055cqqmkoCUUBpvsT34tC38ddfEz2O3OuHVtPlu5mB0xDVbYQw8wkbIEa91WvpWA +VWe+2M2D2RjuLg+GLZKecBPs3lHJQ3gCpU3I+V/EkVhGFndadKpAvAefMLmx9xIX3eP/JEAdemrR +TxgKqpAd60Ae36EeRJIQmvKN4dFLRp7oRUKX6kWZ8+xm1QL68qZKJKrezrnK+T+Tb/mjuuqlPpmt +/f97mfVl7vBZKGfXkJWkE4SphMHozs51k2MavDzq1WQfLSoSOcbDWjLtR5EWDrw4wVDej8oqkDQc +7kGUnF4ZLvhFSZl0kbAEb+MEWrGrKqv+x9CWttrhSmQGbmBNvUJO/3jaJMobtNeWOWyu8Q6qp31I +iyBMz2TWuJdGsE7RKlY6oJO9r4Ak4Ap+58rVyuiFVdw2KuGUaJPHZnJED4AhMmwlxyOAgwrr +-----END CERTIFICATE----- + +TUBITAK Kamu SM SSL Kok Sertifikasi - Surum 1 +============================================= +-----BEGIN CERTIFICATE----- +MIIEYzCCA0ugAwIBAgIBATANBgkqhkiG9w0BAQsFADCB0jELMAkGA1UEBhMCVFIxGDAWBgNVBAcT +D0dlYnplIC0gS29jYWVsaTFCMEAGA1UEChM5VHVya2l5ZSBCaWxpbXNlbCB2ZSBUZWtub2xvamlr +IEFyYXN0aXJtYSBLdXJ1bXUgLSBUVUJJVEFLMS0wKwYDVQQLEyRLYW11IFNlcnRpZmlrYXN5b24g +TWVya2V6aSAtIEthbXUgU00xNjA0BgNVBAMTLVRVQklUQUsgS2FtdSBTTSBTU0wgS29rIFNlcnRp +ZmlrYXNpIC0gU3VydW0gMTAeFw0xMzExMjUwODI1NTVaFw00MzEwMjUwODI1NTVaMIHSMQswCQYD +VQQGEwJUUjEYMBYGA1UEBxMPR2ViemUgLSBLb2NhZWxpMUIwQAYDVQQKEzlUdXJraXllIEJpbGlt +c2VsIHZlIFRla25vbG9qaWsgQXJhc3Rpcm1hIEt1cnVtdSAtIFRVQklUQUsxLTArBgNVBAsTJEth +bXUgU2VydGlmaWthc3lvbiBNZXJrZXppIC0gS2FtdSBTTTE2MDQGA1UEAxMtVFVCSVRBSyBLYW11 +IFNNIFNTTCBLb2sgU2VydGlmaWthc2kgLSBTdXJ1bSAxMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A +MIIBCgKCAQEAr3UwM6q7a9OZLBI3hNmNe5eA027n/5tQlT6QlVZC1xl8JoSNkvoBHToP4mQ4t4y8 +6Ij5iySrLqP1N+RAjhgleYN1Hzv/bKjFxlb4tO2KRKOrbEz8HdDc72i9z+SqzvBV96I01INrN3wc +wv61A+xXzry0tcXtAA9TNypN9E8Mg/uGz8v+jE69h/mniyFXnHrfA2eJLJ2XYacQuFWQfw4tJzh0 +3+f92k4S400VIgLI4OD8D62K18lUUMw7D8oWgITQUVbDjlZ/iSIzL+aFCr2lqBs23tPcLG07xxO9 +WSMs5uWk99gL7eqQQESolbuT1dCANLZGeA4fAJNG4e7p+exPFwIDAQABo0IwQDAdBgNVHQ4EFgQU +ZT/HiobGPN08VFw1+DrtUgxHV8gwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wDQYJ +KoZIhvcNAQELBQADggEBACo/4fEyjq7hmFxLXs9rHmoJ0iKpEsdeV31zVmSAhHqT5Am5EM2fKifh +AHe+SMg1qIGf5LgsyX8OsNJLN13qudULXjS99HMpw+0mFZx+CFOKWI3QSyjfwbPfIPP54+M638yc +lNhOT8NrF7f3cuitZjO1JVOr4PhMqZ398g26rrnZqsZr+ZO7rqu4lzwDGrpDxpa5RXI4s6ehlj2R +e37AIVNMh+3yC1SVUZPVIqUNivGTDj5UDrDYyU7c8jEyVupk+eq1nRZmQnLzf9OxMUP8pI4X8W0j +q5Rm+K37DwhuJi1/FwcJsoz7UMCflo3Ptv0AnVoUmr8CRPXBwp8iXqIPoeM= +-----END CERTIFICATE----- + +GDCA TrustAUTH R5 ROOT +====================== +-----BEGIN CERTIFICATE----- +MIIFiDCCA3CgAwIBAgIIfQmX/vBH6nowDQYJKoZIhvcNAQELBQAwYjELMAkGA1UEBhMCQ04xMjAw +BgNVBAoMKUdVQU5HIERPTkcgQ0VSVElGSUNBVEUgQVVUSE9SSVRZIENPLixMVEQuMR8wHQYDVQQD +DBZHRENBIFRydXN0QVVUSCBSNSBST09UMB4XDTE0MTEyNjA1MTMxNVoXDTQwMTIzMTE1NTk1OVow +YjELMAkGA1UEBhMCQ04xMjAwBgNVBAoMKUdVQU5HIERPTkcgQ0VSVElGSUNBVEUgQVVUSE9SSVRZ +IENPLixMVEQuMR8wHQYDVQQDDBZHRENBIFRydXN0QVVUSCBSNSBST09UMIICIjANBgkqhkiG9w0B +AQEFAAOCAg8AMIICCgKCAgEA2aMW8Mh0dHeb7zMNOwZ+Vfy1YI92hhJCfVZmPoiC7XJjDp6L3TQs +AlFRwxn9WVSEyfFrs0yw6ehGXTjGoqcuEVe6ghWinI9tsJlKCvLriXBjTnnEt1u9ol2x8kECK62p +OqPseQrsXzrj/e+APK00mxqriCZ7VqKChh/rNYmDf1+uKU49tm7srsHwJ5uu4/Ts765/94Y9cnrr +pftZTqfrlYwiOXnhLQiPzLyRuEH3FMEjqcOtmkVEs7LXLM3GKeJQEK5cy4KOFxg2fZfmiJqwTTQJ +9Cy5WmYqsBebnh52nUpmMUHfP/vFBu8btn4aRjb3ZGM74zkYI+dndRTVdVeSN72+ahsmUPI2JgaQ +xXABZG12ZuGR224HwGGALrIuL4xwp9E7PLOR5G62xDtw8mySlwnNR30YwPO7ng/Wi64HtloPzgsM +R6flPri9fcebNaBhlzpBdRfMK5Z3KpIhHtmVdiBnaM8Nvd/WHwlqmuLMc3GkL30SgLdTMEZeS1SZ +D2fJpcjyIMGC7J0R38IC+xo70e0gmu9lZJIQDSri3nDxGGeCjGHeuLzRL5z7D9Ar7Rt2ueQ5Vfj4 +oR24qoAATILnsn8JuLwwoC8N9VKejveSswoAHQBUlwbgsQfZxw9cZX08bVlX5O2ljelAU58VS6Bx +9hoh49pwBiFYFIeFd3mqgnkCAwEAAaNCMEAwHQYDVR0OBBYEFOLJQJ9NzuiaoXzPDj9lxSmIahlR +MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEBCwUAA4ICAQDRSVfg +p8xoWLoBDysZzY2wYUWsEe1jUGn4H3++Fo/9nesLqjJHdtJnJO29fDMylyrHBYZmDRd9FBUb1Ov9 +H5r2XpdptxolpAqzkT9fNqyL7FeoPueBihhXOYV0GkLH6VsTX4/5COmSdI31R9KrO9b7eGZONn35 +6ZLpBN79SWP8bfsUcZNnL0dKt7n/HipzcEYwv1ryL3ml4Y0M2fmyYzeMN2WFcGpcWwlyua1jPLHd ++PwyvzeG5LuOmCd+uh8W4XAR8gPfJWIyJyYYMoSf/wA6E7qaTfRPuBRwIrHKK5DOKcFw9C+df/KQ +HtZa37dG/OaG+svgIHZ6uqbL9XzeYqWxi+7egmaKTjowHz+Ay60nugxe19CxVsp3cbK1daFQqUBD +F8Io2c9Si1vIY9RCPqAzekYu9wogRlR+ak8x8YF+QnQ4ZXMn7sZ8uI7XpTrXmKGcjBBV09tL7ECQ +8s1uV9JiDnxXk7Gnbc2dg7sq5+W2O3FYrf3RRbxake5TFW/TRQl1brqQXR4EzzffHqhmsYzmIGrv +/EhOdJhCrylvLmrH+33RZjEizIYAfmaDDEL0vTSSwxrqT8p+ck0LcIymSLumoRT2+1hEmRSuqguT +aaApJUqlyyvdimYHFngVV3Eb7PVHhPOeMTd61X8kreS8/f3MboPoDKi3QWwH3b08hpcv0g== +-----END CERTIFICATE----- + +TrustCor RootCert CA-1 +====================== +-----BEGIN CERTIFICATE----- +MIIEMDCCAxigAwIBAgIJANqb7HHzA7AZMA0GCSqGSIb3DQEBCwUAMIGkMQswCQYDVQQGEwJQQTEP +MA0GA1UECAwGUGFuYW1hMRQwEgYDVQQHDAtQYW5hbWEgQ2l0eTEkMCIGA1UECgwbVHJ1c3RDb3Ig +U3lzdGVtcyBTLiBkZSBSLkwuMScwJQYDVQQLDB5UcnVzdENvciBDZXJ0aWZpY2F0ZSBBdXRob3Jp +dHkxHzAdBgNVBAMMFlRydXN0Q29yIFJvb3RDZXJ0IENBLTEwHhcNMTYwMjA0MTIzMjE2WhcNMjkx +MjMxMTcyMzE2WjCBpDELMAkGA1UEBhMCUEExDzANBgNVBAgMBlBhbmFtYTEUMBIGA1UEBwwLUGFu +YW1hIENpdHkxJDAiBgNVBAoMG1RydXN0Q29yIFN5c3RlbXMgUy4gZGUgUi5MLjEnMCUGA1UECwwe +VHJ1c3RDb3IgQ2VydGlmaWNhdGUgQXV0aG9yaXR5MR8wHQYDVQQDDBZUcnVzdENvciBSb290Q2Vy +dCBDQS0xMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAv463leLCJhJrMxnHQFgKq1mq +jQCj/IDHUHuO1CAmujIS2CNUSSUQIpidRtLByZ5OGy4sDjjzGiVoHKZaBeYei0i/mJZ0PmnK6bV4 +pQa81QBeCQryJ3pS/C3Vseq0iWEk8xoT26nPUu0MJLq5nux+AHT6k61sKZKuUbS701e/s/OojZz0 +JEsq1pme9J7+wH5COucLlVPat2gOkEz7cD+PSiyU8ybdY2mplNgQTsVHCJCZGxdNuWxu72CVEY4h +gLW9oHPY0LJ3xEXqWib7ZnZ2+AYfYW0PVcWDtxBWcgYHpfOxGgMFZA6dWorWhnAbJN7+KIor0Gqw +/Hqi3LJ5DotlDwIDAQABo2MwYTAdBgNVHQ4EFgQU7mtJPHo/DeOxCbeKyKsZn3MzUOcwHwYDVR0j +BBgwFoAU7mtJPHo/DeOxCbeKyKsZn3MzUOcwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMC +AYYwDQYJKoZIhvcNAQELBQADggEBACUY1JGPE+6PHh0RU9otRCkZoB5rMZ5NDp6tPVxBb5UrJKF5 +mDo4Nvu7Zp5I/5CQ7z3UuJu0h3U/IJvOcs+hVcFNZKIZBqEHMwwLKeXx6quj7LUKdJDHfXLy11yf +ke+Ri7fc7Waiz45mO7yfOgLgJ90WmMCV1Aqk5IGadZQ1nJBfiDcGrVmVCrDRZ9MZyonnMlo2HD6C +qFqTvsbQZJG2z9m2GM/bftJlo6bEjhcxwft+dtvTheNYsnd6djtsL1Ac59v2Z3kf9YKVmgenFK+P +3CghZwnS1k1aHBkcjndcw5QkPTJrS37UeJSDvjdNzl/HHk484IkzlQsPpTLWPFp5LBk= +-----END CERTIFICATE----- + +TrustCor RootCert CA-2 +====================== +-----BEGIN CERTIFICATE----- +MIIGLzCCBBegAwIBAgIIJaHfyjPLWQIwDQYJKoZIhvcNAQELBQAwgaQxCzAJBgNVBAYTAlBBMQ8w +DQYDVQQIDAZQYW5hbWExFDASBgNVBAcMC1BhbmFtYSBDaXR5MSQwIgYDVQQKDBtUcnVzdENvciBT +eXN0ZW1zIFMuIGRlIFIuTC4xJzAlBgNVBAsMHlRydXN0Q29yIENlcnRpZmljYXRlIEF1dGhvcml0 +eTEfMB0GA1UEAwwWVHJ1c3RDb3IgUm9vdENlcnQgQ0EtMjAeFw0xNjAyMDQxMjMyMjNaFw0zNDEy +MzExNzI2MzlaMIGkMQswCQYDVQQGEwJQQTEPMA0GA1UECAwGUGFuYW1hMRQwEgYDVQQHDAtQYW5h +bWEgQ2l0eTEkMCIGA1UECgwbVHJ1c3RDb3IgU3lzdGVtcyBTLiBkZSBSLkwuMScwJQYDVQQLDB5U +cnVzdENvciBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkxHzAdBgNVBAMMFlRydXN0Q29yIFJvb3RDZXJ0 +IENBLTIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCnIG7CKqJiJJWQdsg4foDSq8Gb +ZQWU9MEKENUCrO2fk8eHyLAnK0IMPQo+QVqedd2NyuCb7GgypGmSaIwLgQ5WoD4a3SwlFIIvl9Nk +RvRUqdw6VC0xK5mC8tkq1+9xALgxpL56JAfDQiDyitSSBBtlVkxs1Pu2YVpHI7TYabS3OtB0PAx1 +oYxOdqHp2yqlO/rOsP9+aij9JxzIsekp8VduZLTQwRVtDr4uDkbIXvRR/u8OYzo7cbrPb1nKDOOb +XUm4TOJXsZiKQlecdu/vvdFoqNL0Cbt3Nb4lggjEFixEIFapRBF37120Hapeaz6LMvYHL1cEksr1 +/p3C6eizjkxLAjHZ5DxIgif3GIJ2SDpxsROhOdUuxTTCHWKF3wP+TfSvPd9cW436cOGlfifHhi5q +jxLGhF5DUVCcGZt45vz27Ud+ez1m7xMTiF88oWP7+ayHNZ/zgp6kPwqcMWmLmaSISo5uZk3vFsQP +eSghYA2FFn3XVDjxklb9tTNMg9zXEJ9L/cb4Qr26fHMC4P99zVvh1Kxhe1fVSntb1IVYJ12/+Ctg +rKAmrhQhJ8Z3mjOAPF5GP/fDsaOGM8boXg25NSyqRsGFAnWAoOsk+xWq5Gd/bnc/9ASKL3x74xdh +8N0JqSDIvgmk0H5Ew7IwSjiqqewYmgeCK9u4nBit2uBGF6zPXQIDAQABo2MwYTAdBgNVHQ4EFgQU +2f4hQG6UnrybPZx9mCAZ5YwwYrIwHwYDVR0jBBgwFoAU2f4hQG6UnrybPZx9mCAZ5YwwYrIwDwYD +VR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAYYwDQYJKoZIhvcNAQELBQADggIBAJ5Fngw7tu/h +Osh80QA9z+LqBrWyOrsGS2h60COXdKcs8AjYeVrXWoSK2BKaG9l9XE1wxaX5q+WjiYndAfrs3fnp +kpfbsEZC89NiqpX+MWcUaViQCqoL7jcjx1BRtPV+nuN79+TMQjItSQzL/0kMmx40/W5ulop5A7Zv +2wnL/V9lFDfhOPXzYRZY5LVtDQsEGz9QLX+zx3oaFoBg+Iof6Rsqxvm6ARppv9JYx1RXCI/hOWB3 +S6xZhBqI8d3LT3jX5+EzLfzuQfogsL7L9ziUwOHQhQ+77Sxzq+3+knYaZH9bDTMJBzN7Bj8RpFxw +PIXAz+OQqIN3+tvmxYxoZxBnpVIt8MSZj3+/0WvitUfW2dCFmU2Umw9Lje4AWkcdEQOsQRivh7dv +DDqPys/cA8GiCcjl/YBeyGBCARsaU1q7N6a3vLqE6R5sGtRk2tRD/pOLS/IseRYQ1JMLiI+h2IYU +RpFHmygk71dSTlxCnKr3Sewn6EAes6aJInKc9Q0ztFijMDvd1GpUk74aTfOTlPf8hAs/hCBcNANE +xdqtvArBAs8e5ZTZ845b2EzwnexhF7sUMlQMAimTHpKG9n/v55IFDlndmQguLvqcAFLTxWYp5KeX +RKQOKIETNcX2b2TmQcTVL8w0RSXPQQCWPUouwpaYT05KnJe32x+SMsj/D1Fu1uwJ +-----END CERTIFICATE----- + +TrustCor ECA-1 +============== +-----BEGIN CERTIFICATE----- +MIIEIDCCAwigAwIBAgIJAISCLF8cYtBAMA0GCSqGSIb3DQEBCwUAMIGcMQswCQYDVQQGEwJQQTEP +MA0GA1UECAwGUGFuYW1hMRQwEgYDVQQHDAtQYW5hbWEgQ2l0eTEkMCIGA1UECgwbVHJ1c3RDb3Ig +U3lzdGVtcyBTLiBkZSBSLkwuMScwJQYDVQQLDB5UcnVzdENvciBDZXJ0aWZpY2F0ZSBBdXRob3Jp +dHkxFzAVBgNVBAMMDlRydXN0Q29yIEVDQS0xMB4XDTE2MDIwNDEyMzIzM1oXDTI5MTIzMTE3Mjgw +N1owgZwxCzAJBgNVBAYTAlBBMQ8wDQYDVQQIDAZQYW5hbWExFDASBgNVBAcMC1BhbmFtYSBDaXR5 +MSQwIgYDVQQKDBtUcnVzdENvciBTeXN0ZW1zIFMuIGRlIFIuTC4xJzAlBgNVBAsMHlRydXN0Q29y +IENlcnRpZmljYXRlIEF1dGhvcml0eTEXMBUGA1UEAwwOVHJ1c3RDb3IgRUNBLTEwggEiMA0GCSqG +SIb3DQEBAQUAA4IBDwAwggEKAoIBAQDPj+ARtZ+odnbb3w9U73NjKYKtR8aja+3+XzP4Q1HpGjOR +MRegdMTUpwHmspI+ap3tDvl0mEDTPwOABoJA6LHip1GnHYMma6ve+heRK9jGrB6xnhkB1Zem6g23 +xFUfJ3zSCNV2HykVh0A53ThFEXXQmqc04L/NyFIduUd+Dbi7xgz2c1cWWn5DkR9VOsZtRASqnKmc +p0yJF4OuowReUoCLHhIlERnXDH19MURB6tuvsBzvgdAsxZohmz3tQjtQJvLsznFhBmIhVE5/wZ0+ +fyCMgMsq2JdiyIMzkX2woloPV+g7zPIlstR8L+xNxqE6FXrntl019fZISjZFZtS6mFjBAgMBAAGj +YzBhMB0GA1UdDgQWBBREnkj1zG1I1KBLf/5ZJC+Dl5mahjAfBgNVHSMEGDAWgBREnkj1zG1I1KBL +f/5ZJC+Dl5mahjAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsF +AAOCAQEABT41XBVwm8nHc2FvcivUwo/yQ10CzsSUuZQRg2dd4mdsdXa/uwyqNsatR5Nj3B5+1t4u +/ukZMjgDfxT2AHMsWbEhBuH7rBiVDKP/mZb3Kyeb1STMHd3BOuCYRLDE5D53sXOpZCz2HAF8P11F +hcCF5yWPldwX8zyfGm6wyuMdKulMY/okYWLW2n62HGz1Ah3UKt1VkOsqEUc8Ll50soIipX1TH0Xs +J5F95yIW6MBoNtjG8U+ARDL54dHRHareqKucBK+tIA5kmE2la8BIWJZpTdwHjFGTot+fDz2LYLSC +jaoITmJF4PkL0uDgPFveXHEnJcLmA4GLEFPjx1WitJ/X5g== +-----END CERTIFICATE----- + +SSL.com Root Certification Authority RSA +======================================== +-----BEGIN CERTIFICATE----- +MIIF3TCCA8WgAwIBAgIIeyyb0xaAMpkwDQYJKoZIhvcNAQELBQAwfDELMAkGA1UEBhMCVVMxDjAM +BgNVBAgMBVRleGFzMRAwDgYDVQQHDAdIb3VzdG9uMRgwFgYDVQQKDA9TU0wgQ29ycG9yYXRpb24x +MTAvBgNVBAMMKFNTTC5jb20gUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSBSU0EwHhcNMTYw +MjEyMTczOTM5WhcNNDEwMjEyMTczOTM5WjB8MQswCQYDVQQGEwJVUzEOMAwGA1UECAwFVGV4YXMx +EDAOBgNVBAcMB0hvdXN0b24xGDAWBgNVBAoMD1NTTCBDb3Jwb3JhdGlvbjExMC8GA1UEAwwoU1NM +LmNvbSBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IFJTQTCCAiIwDQYJKoZIhvcNAQEBBQAD +ggIPADCCAgoCggIBAPkP3aMrfcvQKv7sZ4Wm5y4bunfh4/WvpOz6Sl2RxFdHaxh3a3by/ZPkPQ/C +Fp4LZsNWlJ4Xg4XOVu/yFv0AYvUiCVToZRdOQbngT0aXqhvIuG5iXmmxX9sqAn78bMrzQdjt0Oj8 +P2FI7bADFB0QDksZ4LtO7IZl/zbzXmcCC52GVWH9ejjt/uIZALdvoVBidXQ8oPrIJZK0bnoix/ge +oeOy3ZExqysdBP+lSgQ36YWkMyv94tZVNHwZpEpox7Ko07fKoZOI68GXvIz5HdkihCR0xwQ9aqkp +k8zruFvh/l8lqjRYyMEjVJ0bmBHDOJx+PYZspQ9AhnwC9FwCTyjLrnGfDzrIM/4RJTXq/LrFYD3Z +fBjVsqnTdXgDciLKOsMf7yzlLqn6niy2UUb9rwPW6mBo6oUWNmuF6R7As93EJNyAKoFBbZQ+yODJ +gUEAnl6/f8UImKIYLEJAs/lvOCdLToD0PYFH4Ih86hzOtXVcUS4cK38acijnALXRdMbX5J+tB5O2 +UzU1/Dfkw/ZdFr4hc96SCvigY2q8lpJqPvi8ZVWb3vUNiSYE/CUapiVpy8JtynziWV+XrOvvLsi8 +1xtZPCvM8hnIk2snYxnP/Okm+Mpxm3+T/jRnhE6Z6/yzeAkzcLpmpnbtG3PrGqUNxCITIJRWCk4s +bE6x/c+cCbqiM+2HAgMBAAGjYzBhMB0GA1UdDgQWBBTdBAkHovV6fVJTEpKV7jiAJQ2mWTAPBgNV +HRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFN0ECQei9Xp9UlMSkpXuOIAlDaZZMA4GA1UdDwEB/wQE +AwIBhjANBgkqhkiG9w0BAQsFAAOCAgEAIBgRlCn7Jp0cHh5wYfGVcpNxJK1ok1iOMq8bs3AD/CUr +dIWQPXhq9LmLpZc7tRiRux6n+UBbkflVma8eEdBcHadm47GUBwwyOabqG7B52B2ccETjit3E+ZUf +ijhDPwGFpUenPUayvOUiaPd7nNgsPgohyC0zrL/FgZkxdMF1ccW+sfAjRfSda/wZY52jvATGGAsl +u1OJD7OAUN5F7kR/q5R4ZJjT9ijdh9hwZXT7DrkT66cPYakylszeu+1jTBi7qUD3oFRuIIhxdRjq +erQ0cuAjJ3dctpDqhiVAq+8zD8ufgr6iIPv2tS0a5sKFsXQP+8hlAqRSAUfdSSLBv9jra6x+3uxj +MxW3IwiPxg+NQVrdjsW5j+VFP3jbutIbQLH+cU0/4IGiul607BXgk90IH37hVZkLId6Tngr75qNJ +vTYw/ud3sqB1l7UtgYgXZSD32pAAn8lSzDLKNXz1PQ/YK9f1JmzJBjSWFupwWRoyeXkLtoh/D1JI +Pb9s2KJELtFOt3JY04kTlf5Eq/jXixtunLwsoFvVagCvXzfh1foQC5ichucmj87w7G6KVwuA406y +wKBjYZC6VWg3dGq2ktufoYYitmUnDuy2n0Jg5GfCtdpBC8TTi2EbvPofkSvXRAdeuims2cXp71NI +WuuA8ShYIc2wBlX7Jz9TkHCpBB5XJ7k= +-----END CERTIFICATE----- + +SSL.com Root Certification Authority ECC +======================================== +-----BEGIN CERTIFICATE----- +MIICjTCCAhSgAwIBAgIIdebfy8FoW6gwCgYIKoZIzj0EAwIwfDELMAkGA1UEBhMCVVMxDjAMBgNV +BAgMBVRleGFzMRAwDgYDVQQHDAdIb3VzdG9uMRgwFgYDVQQKDA9TU0wgQ29ycG9yYXRpb24xMTAv +BgNVBAMMKFNTTC5jb20gUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSBFQ0MwHhcNMTYwMjEy +MTgxNDAzWhcNNDEwMjEyMTgxNDAzWjB8MQswCQYDVQQGEwJVUzEOMAwGA1UECAwFVGV4YXMxEDAO +BgNVBAcMB0hvdXN0b24xGDAWBgNVBAoMD1NTTCBDb3Jwb3JhdGlvbjExMC8GA1UEAwwoU1NMLmNv +bSBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IEVDQzB2MBAGByqGSM49AgEGBSuBBAAiA2IA +BEVuqVDEpiM2nl8ojRfLliJkP9x6jh3MCLOicSS6jkm5BBtHllirLZXI7Z4INcgn64mMU1jrYor+ +8FsPazFSY0E7ic3s7LaNGdM0B9y7xgZ/wkWV7Mt/qCPgCemB+vNH06NjMGEwHQYDVR0OBBYEFILR +hXMw5zUE044CkvvlpNHEIejNMA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAUgtGFczDnNQTT +jgKS++Wk0cQh6M0wDgYDVR0PAQH/BAQDAgGGMAoGCCqGSM49BAMCA2cAMGQCMG/n61kRpGDPYbCW +e+0F+S8Tkdzt5fxQaxFGRrMcIQBiu77D5+jNB5n5DQtdcj7EqgIwH7y6C+IwJPt8bYBVCpk+gA0z +5Wajs6O7pdWLjwkspl1+4vAHCGht0nxpbl/f5Wpl +-----END CERTIFICATE----- + +SSL.com EV Root Certification Authority RSA R2 +============================================== +-----BEGIN CERTIFICATE----- +MIIF6zCCA9OgAwIBAgIIVrYpzTS8ePYwDQYJKoZIhvcNAQELBQAwgYIxCzAJBgNVBAYTAlVTMQ4w +DAYDVQQIDAVUZXhhczEQMA4GA1UEBwwHSG91c3RvbjEYMBYGA1UECgwPU1NMIENvcnBvcmF0aW9u +MTcwNQYDVQQDDC5TU0wuY29tIEVWIFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgUlNBIFIy +MB4XDTE3MDUzMTE4MTQzN1oXDTQyMDUzMDE4MTQzN1owgYIxCzAJBgNVBAYTAlVTMQ4wDAYDVQQI +DAVUZXhhczEQMA4GA1UEBwwHSG91c3RvbjEYMBYGA1UECgwPU1NMIENvcnBvcmF0aW9uMTcwNQYD +VQQDDC5TU0wuY29tIEVWIFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgUlNBIFIyMIICIjAN +BgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAjzZlQOHWTcDXtOlG2mvqM0fNTPl9fb69LT3w23jh +hqXZuglXaO1XPqDQCEGD5yhBJB/jchXQARr7XnAjssufOePPxU7Gkm0mxnu7s9onnQqG6YE3Bf7w +cXHswxzpY6IXFJ3vG2fThVUCAtZJycxa4bH3bzKfydQ7iEGonL3Lq9ttewkfokxykNorCPzPPFTO +Zw+oz12WGQvE43LrrdF9HSfvkusQv1vrO6/PgN3B0pYEW3p+pKk8OHakYo6gOV7qd89dAFmPZiw+ +B6KjBSYRaZfqhbcPlgtLyEDhULouisv3D5oi53+aNxPN8k0TayHRwMwi8qFG9kRpnMphNQcAb9Zh +CBHqurj26bNg5U257J8UZslXWNvNh2n4ioYSA0e/ZhN2rHd9NCSFg83XqpyQGp8hLH94t2S42Oim +9HizVcuE0jLEeK6jj2HdzghTreyI/BXkmg3mnxp3zkyPuBQVPWKchjgGAGYS5Fl2WlPAApiiECto +RHuOec4zSnaqW4EWG7WK2NAAe15itAnWhmMOpgWVSbooi4iTsjQc2KRVbrcc0N6ZVTsj9CLg+Slm +JuwgUHfbSguPvuUCYHBBXtSuUDkiFCbLsjtzdFVHB3mBOagwE0TlBIqulhMlQg+5U8Sb/M3kHN48 ++qvWBkofZ6aYMBzdLNvcGJVXZsb/XItW9XcCAwEAAaNjMGEwDwYDVR0TAQH/BAUwAwEB/zAfBgNV +HSMEGDAWgBT5YLvU49U09rj1BoAlp3PbRmmonjAdBgNVHQ4EFgQU+WC71OPVNPa49QaAJadz20Zp +qJ4wDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEBCwUAA4ICAQBWs47LCp1Jjr+kxJG7ZhcFUZh1 +++VQLHqe8RT6q9OKPv+RKY9ji9i0qVQBDb6Thi/5Sm3HXvVX+cpVHBK+Rw82xd9qt9t1wkclf7nx +Y/hoLVUE0fKNsKTPvDxeH3jnpaAgcLAExbf3cqfeIg29MyVGjGSSJuM+LmOW2puMPfgYCdcDzH2G +guDKBAdRUNf/ktUM79qGn5nX67evaOI5JpS6aLe/g9Pqemc9YmeuJeVy6OLk7K4S9ksrPJ/psEDz +OFSz/bdoyNrGj1E8svuR3Bznm53htw1yj+KkxKl4+esUrMZDBcJlOSgYAsOCsp0FvmXtll9ldDz7 +CTUue5wT/RsPXcdtgTpWD8w74a8CLyKsRspGPKAcTNZEtF4uXBVmCeEmKf7GUmG6sXP/wwyc5Wxq +lD8UykAWlYTzWamsX0xhk23RO8yilQwipmdnRC652dKKQbNmC1r7fSOl8hqw/96bg5Qu0T/fkreR +rwU7ZcegbLHNYhLDkBvjJc40vG93drEQw/cFGsDWr3RiSBd3kmmQYRzelYB0VI8YHMPzA9C/pEN1 +hlMYegouCRw2n5H9gooiS9EOUCXdywMMF8mDAAhONU2Ki+3wApRmLER/y5UnlhetCTCstnEXbosX +9hwJ1C07mKVx01QT2WDz9UtmT/rx7iASjbSsV7FFY6GsdqnC+w== +-----END CERTIFICATE----- + +SSL.com EV Root Certification Authority ECC +=========================================== +-----BEGIN CERTIFICATE----- +MIIClDCCAhqgAwIBAgIILCmcWxbtBZUwCgYIKoZIzj0EAwIwfzELMAkGA1UEBhMCVVMxDjAMBgNV +BAgMBVRleGFzMRAwDgYDVQQHDAdIb3VzdG9uMRgwFgYDVQQKDA9TU0wgQ29ycG9yYXRpb24xNDAy +BgNVBAMMK1NTTC5jb20gRVYgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSBFQ0MwHhcNMTYw +MjEyMTgxNTIzWhcNNDEwMjEyMTgxNTIzWjB/MQswCQYDVQQGEwJVUzEOMAwGA1UECAwFVGV4YXMx +EDAOBgNVBAcMB0hvdXN0b24xGDAWBgNVBAoMD1NTTCBDb3Jwb3JhdGlvbjE0MDIGA1UEAwwrU1NM +LmNvbSBFViBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IEVDQzB2MBAGByqGSM49AgEGBSuB +BAAiA2IABKoSR5CYG/vvw0AHgyBO8TCCogbR8pKGYfL2IWjKAMTH6kMAVIbc/R/fALhBYlzccBYy +3h+Z1MzFB8gIH2EWB1E9fVwHU+M1OIzfzZ/ZLg1KthkuWnBaBu2+8KGwytAJKaNjMGEwHQYDVR0O +BBYEFFvKXuXe0oGqzagtZFG22XKbl+ZPMA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAUW8pe +5d7SgarNqC1kUbbZcpuX5k8wDgYDVR0PAQH/BAQDAgGGMAoGCCqGSM49BAMCA2gAMGUCMQCK5kCJ +N+vp1RPZytRrJPOwPYdGWBrssd9v+1a6cGvHOMzosYxPD/fxZ3YOg9AeUY8CMD32IygmTMZgh5Mm +m7I1HrrW9zzRHM76JTymGoEVW/MSD2zuZYrJh6j5B+BimoxcSg== +-----END CERTIFICATE----- + +GlobalSign Root CA - R6 +======================= +-----BEGIN CERTIFICATE----- +MIIFgzCCA2ugAwIBAgIORea7A4Mzw4VlSOb/RVEwDQYJKoZIhvcNAQEMBQAwTDEgMB4GA1UECxMX +R2xvYmFsU2lnbiBSb290IENBIC0gUjYxEzARBgNVBAoTCkdsb2JhbFNpZ24xEzARBgNVBAMTCkds +b2JhbFNpZ24wHhcNMTQxMjEwMDAwMDAwWhcNMzQxMjEwMDAwMDAwWjBMMSAwHgYDVQQLExdHbG9i +YWxTaWduIFJvb3QgQ0EgLSBSNjETMBEGA1UEChMKR2xvYmFsU2lnbjETMBEGA1UEAxMKR2xvYmFs +U2lnbjCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAJUH6HPKZvnsFMp7PPcNCPG0RQss +grRIxutbPK6DuEGSMxSkb3/pKszGsIhrxbaJ0cay/xTOURQh7ErdG1rG1ofuTToVBu1kZguSgMpE +3nOUTvOniX9PeGMIyBJQbUJmL025eShNUhqKGoC3GYEOfsSKvGRMIRxDaNc9PIrFsmbVkJq3MQbF +vuJtMgamHvm566qjuL++gmNQ0PAYid/kD3n16qIfKtJwLnvnvJO7bVPiSHyMEAc4/2ayd2F+4OqM +PKq0pPbzlUoSB239jLKJz9CgYXfIWHSw1CM69106yqLbnQneXUQtkPGBzVeS+n68UARjNN9rkxi+ +azayOeSsJDa38O+2HBNXk7besvjihbdzorg1qkXy4J02oW9UivFyVm4uiMVRQkQVlO6jxTiWm05O +WgtH8wY2SXcwvHE35absIQh1/OZhFj931dmRl4QKbNQCTXTAFO39OfuD8l4UoQSwC+n+7o/hbguy +CLNhZglqsQY6ZZZZwPA1/cnaKI0aEYdwgQqomnUdnjqGBQCe24DWJfncBZ4nWUx2OVvq+aWh2IMP +0f/fMBH5hc8zSPXKbWQULHpYT9NLCEnFlWQaYw55PfWzjMpYrZxCRXluDocZXFSxZba/jJvcE+kN +b7gu3GduyYsRtYQUigAZcIN5kZeR1BonvzceMgfYFGM8KEyvAgMBAAGjYzBhMA4GA1UdDwEB/wQE +AwIBBjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBSubAWjkxPioufi1xzWx/B/yGdToDAfBgNV +HSMEGDAWgBSubAWjkxPioufi1xzWx/B/yGdToDANBgkqhkiG9w0BAQwFAAOCAgEAgyXt6NH9lVLN +nsAEoJFp5lzQhN7craJP6Ed41mWYqVuoPId8AorRbrcWc+ZfwFSY1XS+wc3iEZGtIxg93eFyRJa0 +lV7Ae46ZeBZDE1ZXs6KzO7V33EByrKPrmzU+sQghoefEQzd5Mr6155wsTLxDKZmOMNOsIeDjHfrY +BzN2VAAiKrlNIC5waNrlU/yDXNOd8v9EDERm8tLjvUYAGm0CuiVdjaExUd1URhxN25mW7xocBFym +Fe944Hn+Xds+qkxV/ZoVqW/hpvvfcDDpw+5CRu3CkwWJ+n1jez/QcYF8AOiYrg54NMMl+68KnyBr +3TsTjxKM4kEaSHpzoHdpx7Zcf4LIHv5YGygrqGytXm3ABdJ7t+uA/iU3/gKbaKxCXcPu9czc8FB1 +0jZpnOZ7BN9uBmm23goJSFmH63sUYHpkqmlD75HHTOwY3WzvUy2MmeFe8nI+z1TIvWfspA9MRf/T +uTAjB0yPEL+GltmZWrSZVxykzLsViVO6LAUP5MSeGbEYNNVMnbrt9x+vJJUEeKgDu+6B5dpffItK +oZB0JaezPkvILFa9x8jvOOJckvB595yEunQtYQEgfn7R8k8HWV+LLUNS60YMlOH1Zkd5d9VUWx+t +JDfLRVpOoERIyNiwmcUVhAn21klJwGW45hpxbqCo8YLoRT5s1gLXCmeDBVrJpBA= +-----END CERTIFICATE----- + +OISTE WISeKey Global Root GC CA +=============================== +-----BEGIN CERTIFICATE----- +MIICaTCCAe+gAwIBAgIQISpWDK7aDKtARb8roi066jAKBggqhkjOPQQDAzBtMQswCQYDVQQGEwJD +SDEQMA4GA1UEChMHV0lTZUtleTEiMCAGA1UECxMZT0lTVEUgRm91bmRhdGlvbiBFbmRvcnNlZDEo +MCYGA1UEAxMfT0lTVEUgV0lTZUtleSBHbG9iYWwgUm9vdCBHQyBDQTAeFw0xNzA1MDkwOTQ4MzRa +Fw00MjA1MDkwOTU4MzNaMG0xCzAJBgNVBAYTAkNIMRAwDgYDVQQKEwdXSVNlS2V5MSIwIAYDVQQL +ExlPSVNURSBGb3VuZGF0aW9uIEVuZG9yc2VkMSgwJgYDVQQDEx9PSVNURSBXSVNlS2V5IEdsb2Jh +bCBSb290IEdDIENBMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAETOlQwMYPchi82PG6s4nieUqjFqdr +VCTbUf/q9Akkwwsin8tqJ4KBDdLArzHkdIJuyiXZjHWd8dvQmqJLIX4Wp2OQ0jnUsYd4XxiWD1Ab +NTcPasbc2RNNpI6QN+a9WzGRo1QwUjAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAd +BgNVHQ4EFgQUSIcUrOPDnpBgOtfKie7TrYy0UGYwEAYJKwYBBAGCNxUBBAMCAQAwCgYIKoZIzj0E +AwMDaAAwZQIwJsdpW9zV57LnyAyMjMPdeYwbY9XJUpROTYJKcx6ygISpJcBMWm1JKWB4E+J+SOtk +AjEA2zQgMgj/mkkCtojeFK9dbJlxjRo/i9fgojaGHAeCOnZT/cKi7e97sIBPWA9LUzm9 +-----END CERTIFICATE----- + +GTS Root R1 +=========== +-----BEGIN CERTIFICATE----- +MIIFWjCCA0KgAwIBAgIQbkepxUtHDA3sM9CJuRz04TANBgkqhkiG9w0BAQwFADBHMQswCQYDVQQG +EwJVUzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZpY2VzIExMQzEUMBIGA1UEAxMLR1RTIFJv +b3QgUjEwHhcNMTYwNjIyMDAwMDAwWhcNMzYwNjIyMDAwMDAwWjBHMQswCQYDVQQGEwJVUzEiMCAG +A1UEChMZR29vZ2xlIFRydXN0IFNlcnZpY2VzIExMQzEUMBIGA1UEAxMLR1RTIFJvb3QgUjEwggIi +MA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC2EQKLHuOhd5s73L+UPreVp0A8of2C+X0yBoJx +9vaMf/vo27xqLpeXo4xL+Sv2sfnOhB2x+cWX3u+58qPpvBKJXqeqUqv4IyfLpLGcY9vXmX7wCl7r +aKb0xlpHDU0QM+NOsROjyBhsS+z8CZDfnWQpJSMHobTSPS5g4M/SCYe7zUjwTcLCeoiKu7rPWRnW +r4+wB7CeMfGCwcDfLqZtbBkOtdh+JhpFAz2weaSUKK0PfyblqAj+lug8aJRT7oM6iCsVlgmy4HqM +LnXWnOunVmSPlk9orj2XwoSPwLxAwAtcvfaHszVsrBhQf4TgTM2S0yDpM7xSma8ytSmzJSq0SPly +4cpk9+aCEI3oncKKiPo4Zor8Y/kB+Xj9e1x3+naH+uzfsQ55lVe0vSbv1gHR6xYKu44LtcXFilWr +06zqkUspzBmkMiVOKvFlRNACzqrOSbTqn3yDsEB750Orp2yjj32JgfpMpf/VjsPOS+C12LOORc92 +wO1AK/1TD7Cn1TsNsYqiA94xrcx36m97PtbfkSIS5r762DL8EGMUUXLeXdYWk70paDPvOmbsB4om +3xPXV2V4J95eSRQAogB/mqghtqmxlbCluQ0WEdrHbEg8QOB+DVrNVjzRlwW5y0vtOUucxD/SVRNu +JLDWcfr0wbrM7Rv1/oFB2ACYPTrIrnqYNxgFlQIDAQABo0IwQDAOBgNVHQ8BAf8EBAMCAQYwDwYD +VR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQU5K8rJnEaK0gnhS9SZizv8IkTcT4wDQYJKoZIhvcNAQEM +BQADggIBADiWCu49tJYeX++dnAsznyvgyv3SjgofQXSlfKqE1OXyHuY3UjKcC9FhHb8owbZEKTV1 +d5iyfNm9dKyKaOOpMQkpAWBz40d8U6iQSifvS9efk+eCNs6aaAyC58/UEBZvXw6ZXPYfcX3v73sv +fuo21pdwCxXu11xWajOl40k4DLh9+42FpLFZXvRq4d2h9mREruZRgyFmxhE+885H7pwoHyXa/6xm +ld01D1zvICxi/ZG6qcz8WpyTgYMpl0p8WnK0OdC3d8t5/Wk6kjftbjhlRn7pYL15iJdfOBL07q9b +gsiG1eGZbYwE8na6SfZu6W0eX6DvJ4J2QPim01hcDyxC2kLGe4g0x8HYRZvBPsVhHdljUEn2NIVq +4BjFbkerQUIpm/ZgDdIx02OYI5NaAIFItO/Nis3Jz5nu2Z6qNuFoS3FJFDYoOj0dzpqPJeaAcWEr +tXvM+SUWgeExX6GjfhaknBZqlxi9dnKlC54dNuYvoS++cJEPqOba+MSSQGwlfnuzCdyyF62ARPBo +pY+Udf90WuioAnwMCeKpSwughQtiue+hMZL77/ZRBIls6Kl0obsXs7X9SQ98POyDGCBDTtWTurQ0 +sR8WNh8M5mQ5Fkzc4P4dyKliPUDqysU0ArSuiYgzNdwsE3PYJ/HQcu51OyLemGhmW/HGY0dVHLql +CFF1pkgl +-----END CERTIFICATE----- + +GTS Root R2 +=========== +-----BEGIN CERTIFICATE----- +MIIFWjCCA0KgAwIBAgIQbkepxlqz5yDFMJo/aFLybzANBgkqhkiG9w0BAQwFADBHMQswCQYDVQQG +EwJVUzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZpY2VzIExMQzEUMBIGA1UEAxMLR1RTIFJv +b3QgUjIwHhcNMTYwNjIyMDAwMDAwWhcNMzYwNjIyMDAwMDAwWjBHMQswCQYDVQQGEwJVUzEiMCAG +A1UEChMZR29vZ2xlIFRydXN0IFNlcnZpY2VzIExMQzEUMBIGA1UEAxMLR1RTIFJvb3QgUjIwggIi +MA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDO3v2m++zsFDQ8BwZabFn3GTXd98GdVarTzTuk +k3LvCvptnfbwhYBboUhSnznFt+4orO/LdmgUud+tAWyZH8QiHZ/+cnfgLFuv5AS/T3KgGjSY6Dlo +7JUle3ah5mm5hRm9iYz+re026nO8/4Piy33B0s5Ks40FnotJk9/BW9BuXvAuMC6C/Pq8tBcKSOWI +m8Wba96wyrQD8Nr0kLhlZPdcTK3ofmZemde4wj7I0BOdre7kRXuJVfeKH2JShBKzwkCX44ofR5Gm +dFrS+LFjKBC4swm4VndAoiaYecb+3yXuPuWgf9RhD1FLPD+M2uFwdNjCaKH5wQzpoeJ/u1U8dgbu +ak7MkogwTZq9TwtImoS1mKPV+3PBV2HdKFZ1E66HjucMUQkQdYhMvI35ezzUIkgfKtzra7tEscsz +cTJGr61K8YzodDqs5xoic4DSMPclQsciOzsSrZYuxsN2B6ogtzVJV+mSSeh2FnIxZyuWfoqjx5RW +Ir9qS34BIbIjMt/kmkRtWVtd9QCgHJvGeJeNkP+byKq0rxFROV7Z+2et1VsRnTKaG73Vululycsl +aVNVJ1zgyjbLiGH7HrfQy+4W+9OmTN6SpdTi3/UGVN4unUu0kzCqgc7dGtxRcw1PcOnlthYhGXmy +5okLdWTK1au8CcEYof/UVKGFPP0UJAOyh9OktwIDAQABo0IwQDAOBgNVHQ8BAf8EBAMCAQYwDwYD +VR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUu//KjiOfT5nK2+JopqUVJxce2Q4wDQYJKoZIhvcNAQEM +BQADggIBALZp8KZ3/p7uC4Gt4cCpx/k1HUCCq+YEtN/L9x0Pg/B+E02NjO7jMyLDOfxA325BS0JT +vhaI8dI4XsRomRyYUpOM52jtG2pzegVATX9lO9ZY8c6DR2Dj/5epnGB3GFW1fgiTz9D2PGcDFWEJ ++YF59exTpJ/JjwGLc8R3dtyDovUMSRqodt6Sm2T4syzFJ9MHwAiApJiS4wGWAqoC7o87xdFtCjMw +c3i5T1QWvwsHoaRc5svJXISPD+AVdyx+Jn7axEvbpxZ3B7DNdehyQtaVhJ2Gg/LkkM0JR9SLA3Da +WsYDQvTtN6LwG1BUSw7YhN4ZKJmBR64JGz9I0cNv4rBgF/XuIwKl2gBbbZCr7qLpGzvpx0QnRY5r +n/WkhLx3+WuXrD5RRaIRpsyF7gpo8j5QOHokYh4XIDdtak23CZvJ/KRY9bb7nE4Yu5UC56Gtmwfu +Nmsk0jmGwZODUNKBRqhfYlcsu2xkiAhu7xNUX90txGdj08+JN7+dIPT7eoOboB6BAFDC5AwiWVIQ +7UNWhwD4FFKnHYuTjKJNRn8nxnGbJN7k2oaLDX5rIMHAnuFl2GqjpuiFizoHCBy69Y9Vmhh1fuXs +gWbRIXOhNUQLgD1bnF5vKheW0YMjiGZt5obicDIvUiLnyOd/xCxgXS/Dr55FBcOEArf9LAhST4Ld +o/DUhgkC +-----END CERTIFICATE----- + +GTS Root R3 +=========== +-----BEGIN CERTIFICATE----- +MIICDDCCAZGgAwIBAgIQbkepx2ypcyRAiQ8DVd2NHTAKBggqhkjOPQQDAzBHMQswCQYDVQQGEwJV +UzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZpY2VzIExMQzEUMBIGA1UEAxMLR1RTIFJvb3Qg +UjMwHhcNMTYwNjIyMDAwMDAwWhcNMzYwNjIyMDAwMDAwWjBHMQswCQYDVQQGEwJVUzEiMCAGA1UE +ChMZR29vZ2xlIFRydXN0IFNlcnZpY2VzIExMQzEUMBIGA1UEAxMLR1RTIFJvb3QgUjMwdjAQBgcq +hkjOPQIBBgUrgQQAIgNiAAQfTzOHMymKoYTey8chWEGJ6ladK0uFxh1MJ7x/JlFyb+Kf1qPKzEUU +Rout736GjOyxfi//qXGdGIRFBEFVbivqJn+7kAHjSxm65FSWRQmx1WyRRK2EE46ajA2ADDL24Cej +QjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTB8Sa6oC2uhYHP +0/EqEr24Cmf9vDAKBggqhkjOPQQDAwNpADBmAjEAgFukfCPAlaUs3L6JbyO5o91lAFJekazInXJ0 +glMLfalAvWhgxeG4VDvBNhcl2MG9AjEAnjWSdIUlUfUk7GRSJFClH9voy8l27OyCbvWFGFPouOOa +KaqW04MjyaR7YbPMAuhd +-----END CERTIFICATE----- + +GTS Root R4 +=========== +-----BEGIN CERTIFICATE----- +MIICCjCCAZGgAwIBAgIQbkepyIuUtui7OyrYorLBmTAKBggqhkjOPQQDAzBHMQswCQYDVQQGEwJV +UzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZpY2VzIExMQzEUMBIGA1UEAxMLR1RTIFJvb3Qg +UjQwHhcNMTYwNjIyMDAwMDAwWhcNMzYwNjIyMDAwMDAwWjBHMQswCQYDVQQGEwJVUzEiMCAGA1UE +ChMZR29vZ2xlIFRydXN0IFNlcnZpY2VzIExMQzEUMBIGA1UEAxMLR1RTIFJvb3QgUjQwdjAQBgcq +hkjOPQIBBgUrgQQAIgNiAATzdHOnaItgrkO4NcWBMHtLSZ37wWHO5t5GvWvVYRg1rkDdc/eJkTBa +6zzuhXyiQHY7qca4R9gq55KRanPpsXI5nymfopjTX15YhmUPoYRlBtHci8nHc8iMai/lxKvRHYqj +QjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBSATNbrdP9JNqPV +2Py1PsVq8JQdjDAKBggqhkjOPQQDAwNnADBkAjBqUFJ0CMRw3J5QdCHojXohw0+WbhXRIjVhLfoI +N+4Zba3bssx9BzT1YBkstTTZbyACMANxsbqjYAuG7ZoIapVon+Kz4ZNkfF6Tpt95LY2F45TPI11x +zPKwTdb+mciUqXWi4w== +-----END CERTIFICATE----- + +UCA Global G2 Root +================== +-----BEGIN CERTIFICATE----- +MIIFRjCCAy6gAwIBAgIQXd+x2lqj7V2+WmUgZQOQ7zANBgkqhkiG9w0BAQsFADA9MQswCQYDVQQG +EwJDTjERMA8GA1UECgwIVW5pVHJ1c3QxGzAZBgNVBAMMElVDQSBHbG9iYWwgRzIgUm9vdDAeFw0x +NjAzMTEwMDAwMDBaFw00MDEyMzEwMDAwMDBaMD0xCzAJBgNVBAYTAkNOMREwDwYDVQQKDAhVbmlU +cnVzdDEbMBkGA1UEAwwSVUNBIEdsb2JhbCBHMiBSb290MIICIjANBgkqhkiG9w0BAQEFAAOCAg8A +MIICCgKCAgEAxeYrb3zvJgUno4Ek2m/LAfmZmqkywiKHYUGRO8vDaBsGxUypK8FnFyIdK+35KYmT +oni9kmugow2ifsqTs6bRjDXVdfkX9s9FxeV67HeToI8jrg4aA3++1NDtLnurRiNb/yzmVHqUwCoV +8MmNsHo7JOHXaOIxPAYzRrZUEaalLyJUKlgNAQLx+hVRZ2zA+te2G3/RVogvGjqNO7uCEeBHANBS +h6v7hn4PJGtAnTRnvI3HLYZveT6OqTwXS3+wmeOwcWDcC/Vkw85DvG1xudLeJ1uK6NjGruFZfc8o +LTW4lVYa8bJYS7cSN8h8s+1LgOGN+jIjtm+3SJUIsUROhYw6AlQgL9+/V087OpAh18EmNVQg7Mc/ +R+zvWr9LesGtOxdQXGLYD0tK3Cv6brxzks3sx1DoQZbXqX5t2Okdj4q1uViSukqSKwxW/YDrCPBe +KW4bHAyvj5OJrdu9o54hyokZ7N+1wxrrFv54NkzWbtA+FxyQF2smuvt6L78RHBgOLXMDj6DlNaBa +4kx1HXHhOThTeEDMg5PXCp6dW4+K5OXgSORIskfNTip1KnvyIvbJvgmRlld6iIis7nCs+dwp4wwc +OxJORNanTrAmyPPZGpeRaOrvjUYG0lZFWJo8DA+DuAUlwznPO6Q0ibd5Ei9Hxeepl2n8pndntd97 +8XplFeRhVmUCAwEAAaNCMEAwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0O +BBYEFIHEjMz15DD/pQwIX4wVZyF0Ad/fMA0GCSqGSIb3DQEBCwUAA4ICAQATZSL1jiutROTL/7lo +5sOASD0Ee/ojL3rtNtqyzm325p7lX1iPyzcyochltq44PTUbPrw7tgTQvPlJ9Zv3hcU2tsu8+Mg5 +1eRfB70VVJd0ysrtT7q6ZHafgbiERUlMjW+i67HM0cOU2kTC5uLqGOiiHycFutfl1qnN3e92mI0A +Ds0b+gO3joBYDic/UvuUospeZcnWhNq5NXHzJsBPd+aBJ9J3O5oUb3n09tDh05S60FdRvScFDcH9 +yBIw7m+NESsIndTUv4BFFJqIRNow6rSn4+7vW4LVPtateJLbXDzz2K36uGt/xDYotgIVilQsnLAX +c47QN6MUPJiVAAwpBVueSUmxX8fjy88nZY41F7dXyDDZQVu5FLbowg+UMaeUmMxq67XhJ/UQqAHo +jhJi6IjMtX9Gl8CbEGY4GjZGXyJoPd/JxhMnq1MGrKI8hgZlb7F+sSlEmqO6SWkoaY/X5V+tBIZk +bxqgDMUIYs6Ao9Dz7GjevjPHF1t/gMRMTLGmhIrDO7gJzRSBuhjjVFc2/tsvfEehOjPI+Vg7RE+x +ygKJBJYoaMVLuCaJu9YzL1DV/pqJuhgyklTGW+Cd+V7lDSKb9triyCGyYiGqhkCyLmTTX8jjfhFn +RR8F/uOi77Oos/N9j/gMHyIfLXC0uAE0djAA5SN4p1bXUB+K+wb1whnw0A== +-----END CERTIFICATE----- + +UCA Extended Validation Root +============================ +-----BEGIN CERTIFICATE----- +MIIFWjCCA0KgAwIBAgIQT9Irj/VkyDOeTzRYZiNwYDANBgkqhkiG9w0BAQsFADBHMQswCQYDVQQG +EwJDTjERMA8GA1UECgwIVW5pVHJ1c3QxJTAjBgNVBAMMHFVDQSBFeHRlbmRlZCBWYWxpZGF0aW9u +IFJvb3QwHhcNMTUwMzEzMDAwMDAwWhcNMzgxMjMxMDAwMDAwWjBHMQswCQYDVQQGEwJDTjERMA8G +A1UECgwIVW5pVHJ1c3QxJTAjBgNVBAMMHFVDQSBFeHRlbmRlZCBWYWxpZGF0aW9uIFJvb3QwggIi +MA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCpCQcoEwKwmeBkqh5DFnpzsZGgdT6o+uM4AHrs +iWogD4vFsJszA1qGxliG1cGFu0/GnEBNyr7uaZa4rYEwmnySBesFK5pI0Lh2PpbIILvSsPGP2KxF +Rv+qZ2C0d35qHzwaUnoEPQc8hQ2E0B92CvdqFN9y4zR8V05WAT558aopO2z6+I9tTcg1367r3CTu +eUWnhbYFiN6IXSV8l2RnCdm/WhUFhvMJHuxYMjMR83dksHYf5BA1FxvyDrFspCqjc/wJHx4yGVMR +59mzLC52LqGj3n5qiAno8geK+LLNEOfic0CTuwjRP+H8C5SzJe98ptfRr5//lpr1kXuYC3fUfugH +0mK1lTnj8/FtDw5lhIpjVMWAtuCeS31HJqcBCF3RiJ7XwzJE+oJKCmhUfzhTA8ykADNkUVkLo4KR +el7sFsLzKuZi2irbWWIQJUoqgQtHB0MGcIfS+pMRKXpITeuUx3BNr2fVUbGAIAEBtHoIppB/TuDv +B0GHr2qlXov7z1CymlSvw4m6WC31MJixNnI5fkkE/SmnTHnkBVfblLkWU41Gsx2VYVdWf6/wFlth +WG82UBEL2KwrlRYaDh8IzTY0ZRBiZtWAXxQgXy0MoHgKaNYs1+lvK9JKBZP8nm9rZ/+I8U6laUpS +NwXqxhaN0sSZ0YIrO7o1dfdRUVjzyAfd5LQDfwIDAQABo0IwQDAdBgNVHQ4EFgQU2XQ65DA9DfcS +3H5aBZ8eNJr34RQwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAYYwDQYJKoZIhvcNAQEL +BQADggIBADaNl8xCFWQpN5smLNb7rhVpLGsaGvdftvkHTFnq88nIua7Mui563MD1sC3AO6+fcAUR +ap8lTwEpcOPlDOHqWnzcSbvBHiqB9RZLcpHIojG5qtr8nR/zXUACE/xOHAbKsxSQVBcZEhrxH9cM +aVr2cXj0lH2RC47skFSOvG+hTKv8dGT9cZr4QQehzZHkPJrgmzI5c6sq1WnIeJEmMX3ixzDx/BR4 +dxIOE/TdFpS/S2d7cFOFyrC78zhNLJA5wA3CXWvp4uXViI3WLL+rG761KIcSF3Ru/H38j9CHJrAb ++7lsq+KePRXBOy5nAliRn+/4Qh8st2j1da3Ptfb/EX3C8CSlrdP6oDyp+l3cpaDvRKS+1ujl5BOW +F3sGPjLtx7dCvHaj2GU4Kzg1USEODm8uNBNA4StnDG1KQTAYI1oyVZnJF+A83vbsea0rWBmirSwi +GpWOvpaQXUJXxPkUAzUrHC1RVwinOt4/5Mi0A3PCwSaAuwtCH60NryZy2sy+s6ODWA2CxR9GUeOc +GMyNm43sSet1UNWMKFnKdDTajAshqx7qG+XH/RU+wBeq+yNuJkbL+vmxcmtpzyKEC2IPrNkZAJSi +djzULZrtBJ4tBmIQN1IchXIbJ+XMxjHsN+xjWZsLHXbMfjKaiJUINlK73nZfdklJrX+9ZSCyycEr +dhh2n1ax +-----END CERTIFICATE----- + +Certigna Root CA +================ +-----BEGIN CERTIFICATE----- +MIIGWzCCBEOgAwIBAgIRAMrpG4nxVQMNo+ZBbcTjpuEwDQYJKoZIhvcNAQELBQAwWjELMAkGA1UE +BhMCRlIxEjAQBgNVBAoMCURoaW15b3RpczEcMBoGA1UECwwTMDAwMiA0ODE0NjMwODEwMDAzNjEZ +MBcGA1UEAwwQQ2VydGlnbmEgUm9vdCBDQTAeFw0xMzEwMDEwODMyMjdaFw0zMzEwMDEwODMyMjda +MFoxCzAJBgNVBAYTAkZSMRIwEAYDVQQKDAlEaGlteW90aXMxHDAaBgNVBAsMEzAwMDIgNDgxNDYz +MDgxMDAwMzYxGTAXBgNVBAMMEENlcnRpZ25hIFJvb3QgQ0EwggIiMA0GCSqGSIb3DQEBAQUAA4IC +DwAwggIKAoICAQDNGDllGlmx6mQWDoyUJJV8g9PFOSbcDO8WV43X2KyjQn+Cyu3NW9sOty3tRQgX +stmzy9YXUnIo245Onoq2C/mehJpNdt4iKVzSs9IGPjA5qXSjklYcoW9MCiBtnyN6tMbaLOQdLNyz +KNAT8kxOAkmhVECe5uUFoC2EyP+YbNDrihqECB63aCPuI9Vwzm1RaRDuoXrC0SIxwoKF0vJVdlB8 +JXrJhFwLrN1CTivngqIkicuQstDuI7pmTLtipPlTWmR7fJj6o0ieD5Wupxj0auwuA0Wv8HT4Ks16 +XdG+RCYyKfHx9WzMfgIhC59vpD++nVPiz32pLHxYGpfhPTc3GGYo0kDFUYqMwy3OU4gkWGQwFsWq +4NYKpkDfePb1BHxpE4S80dGnBs8B92jAqFe7OmGtBIyT46388NtEbVncSVmurJqZNjBBe3YzIoej +wpKGbvlw7q6Hh5UbxHq9MfPU0uWZ/75I7HX1eBYdpnDBfzwboZL7z8g81sWTCo/1VTp2lc5ZmIoJ +lXcymoO6LAQ6l73UL77XbJuiyn1tJslV1c/DeVIICZkHJC1kJWumIWmbat10TWuXekG9qxf5kBdI +jzb5LdXF2+6qhUVB+s06RbFo5jZMm5BX7CO5hwjCxAnxl4YqKE3idMDaxIzb3+KhF1nOJFl0Mdp/ +/TBt2dzhauH8XwIDAQABo4IBGjCCARYwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYw +HQYDVR0OBBYEFBiHVuBud+4kNTxOc5of1uHieX4rMB8GA1UdIwQYMBaAFBiHVuBud+4kNTxOc5of +1uHieX4rMEQGA1UdIAQ9MDswOQYEVR0gADAxMC8GCCsGAQUFBwIBFiNodHRwczovL3d3d3cuY2Vy +dGlnbmEuZnIvYXV0b3JpdGVzLzBtBgNVHR8EZjBkMC+gLaArhilodHRwOi8vY3JsLmNlcnRpZ25h +LmZyL2NlcnRpZ25hcm9vdGNhLmNybDAxoC+gLYYraHR0cDovL2NybC5kaGlteW90aXMuY29tL2Nl +cnRpZ25hcm9vdGNhLmNybDANBgkqhkiG9w0BAQsFAAOCAgEAlLieT/DjlQgi581oQfccVdV8AOIt +OoldaDgvUSILSo3L6btdPrtcPbEo/uRTVRPPoZAbAh1fZkYJMyjhDSSXcNMQH+pkV5a7XdrnxIxP +TGRGHVyH41neQtGbqH6mid2PHMkwgu07nM3A6RngatgCdTer9zQoKJHyBApPNeNgJgH60BGM+RFq +7q89w1DTj18zeTyGqHNFkIwgtnJzFyO+B2XleJINugHA64wcZr+shncBlA2c5uk5jR+mUYyZDDl3 +4bSb+hxnV29qao6pK0xXeXpXIs/NX2NGjVxZOob4Mkdio2cNGJHc+6Zr9UhhcyNZjgKnvETq9Emd +8VRY+WCv2hikLyhF3HqgiIZd8zvn/yk1gPxkQ5Tm4xxvvq0OKmOZK8l+hfZx6AYDlf7ej0gcWtSS +6Cvu5zHbugRqh5jnxV/vfaci9wHYTfmJ0A6aBVmknpjZbyvKcL5kwlWj9Omvw5Ip3IgWJJk8jSaY +tlu3zM63Nwf9JtmYhST/WSMDmu2dnajkXjjO11INb9I/bbEFa0nOipFGc/T2L/Coc3cOZayhjWZS +aX5LaAzHHjcng6WMxwLkFM1JAbBzs/3GkDpv0mztO+7skb6iQ12LAEpmJURw3kAP+HwV96LOPNde +E4yBFxgX0b3xdxA61GU5wSesVywlVP+i2k+KYTlerj1KjL0= +-----END CERTIFICATE----- + +emSign Root CA - G1 +=================== +-----BEGIN CERTIFICATE----- +MIIDlDCCAnygAwIBAgIKMfXkYgxsWO3W2DANBgkqhkiG9w0BAQsFADBnMQswCQYDVQQGEwJJTjET +MBEGA1UECxMKZW1TaWduIFBLSTElMCMGA1UEChMcZU11ZGhyYSBUZWNobm9sb2dpZXMgTGltaXRl +ZDEcMBoGA1UEAxMTZW1TaWduIFJvb3QgQ0EgLSBHMTAeFw0xODAyMTgxODMwMDBaFw00MzAyMTgx +ODMwMDBaMGcxCzAJBgNVBAYTAklOMRMwEQYDVQQLEwplbVNpZ24gUEtJMSUwIwYDVQQKExxlTXVk +aHJhIFRlY2hub2xvZ2llcyBMaW1pdGVkMRwwGgYDVQQDExNlbVNpZ24gUm9vdCBDQSAtIEcxMIIB +IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAk0u76WaK7p1b1TST0Bsew+eeuGQzf2N4aLTN +LnF115sgxk0pvLZoYIr3IZpWNVrzdr3YzZr/k1ZLpVkGoZM0Kd0WNHVO8oG0x5ZOrRkVUkr+PHB1 +cM2vK6sVmjM8qrOLqs1D/fXqcP/tzxE7lM5OMhbTI0Aqd7OvPAEsbO2ZLIvZTmmYsvePQbAyeGHW +DV/D+qJAkh1cF+ZwPjXnorfCYuKrpDhMtTk1b+oDafo6VGiFbdbyL0NVHpENDtjVaqSW0RM8LHhQ +6DqS0hdW5TUaQBw+jSztOd9C4INBdN+jzcKGYEho42kLVACL5HZpIQ15TjQIXhTCzLG3rdd8cIrH +hQIDAQABo0IwQDAdBgNVHQ4EFgQU++8Nhp6w492pufEhF38+/PB3KxowDgYDVR0PAQH/BAQDAgEG +MA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQELBQADggEBAFn/8oz1h31xPaOfG1vR2vjTnGs2 +vZupYeveFix0PZ7mddrXuqe8QhfnPZHr5X3dPpzxz5KsbEjMwiI/aTvFthUvozXGaCocV685743Q +NcMYDHsAVhzNixl03r4PEuDQqqE/AjSxcM6dGNYIAwlG7mDgfrbESQRRfXBgvKqy/3lyeqYdPV8q ++Mri/Tm3R7nrft8EI6/6nAYH6ftjk4BAtcZsCjEozgyfz7MjNYBBjWzEN3uBL4ChQEKF6dk4jeih +U80Bv2noWgbyRQuQ+q7hv53yrlc8pa6yVvSLZUDp/TGBLPQ5Cdjua6e0ph0VpZj3AYHYhX3zUVxx +iN66zB+Afko= +-----END CERTIFICATE----- + +emSign ECC Root CA - G3 +======================= +-----BEGIN CERTIFICATE----- +MIICTjCCAdOgAwIBAgIKPPYHqWhwDtqLhDAKBggqhkjOPQQDAzBrMQswCQYDVQQGEwJJTjETMBEG +A1UECxMKZW1TaWduIFBLSTElMCMGA1UEChMcZU11ZGhyYSBUZWNobm9sb2dpZXMgTGltaXRlZDEg +MB4GA1UEAxMXZW1TaWduIEVDQyBSb290IENBIC0gRzMwHhcNMTgwMjE4MTgzMDAwWhcNNDMwMjE4 +MTgzMDAwWjBrMQswCQYDVQQGEwJJTjETMBEGA1UECxMKZW1TaWduIFBLSTElMCMGA1UEChMcZU11 +ZGhyYSBUZWNobm9sb2dpZXMgTGltaXRlZDEgMB4GA1UEAxMXZW1TaWduIEVDQyBSb290IENBIC0g +RzMwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAAQjpQy4LRL1KPOxst3iAhKAnjlfSU2fySU0WXTsuwYc +58Byr+iuL+FBVIcUqEqy6HyC5ltqtdyzdc6LBtCGI79G1Y4PPwT01xySfvalY8L1X44uT6EYGQIr +MgqCZH0Wk9GjQjBAMB0GA1UdDgQWBBR8XQKEE9TMipuBzhccLikenEhjQjAOBgNVHQ8BAf8EBAMC +AQYwDwYDVR0TAQH/BAUwAwEB/zAKBggqhkjOPQQDAwNpADBmAjEAvvNhzwIQHWSVB7gYboiFBS+D +CBeQyh+KTOgNG3qxrdWBCUfvO6wIBHxcmbHtRwfSAjEAnbpV/KlK6O3t5nYBQnvI+GDZjVGLVTv7 +jHvrZQnD+JbNR6iC8hZVdyR+EhCVBCyj +-----END CERTIFICATE----- + +emSign Root CA - C1 +=================== +-----BEGIN CERTIFICATE----- +MIIDczCCAlugAwIBAgILAK7PALrEzzL4Q7IwDQYJKoZIhvcNAQELBQAwVjELMAkGA1UEBhMCVVMx +EzARBgNVBAsTCmVtU2lnbiBQS0kxFDASBgNVBAoTC2VNdWRocmEgSW5jMRwwGgYDVQQDExNlbVNp +Z24gUm9vdCBDQSAtIEMxMB4XDTE4MDIxODE4MzAwMFoXDTQzMDIxODE4MzAwMFowVjELMAkGA1UE +BhMCVVMxEzARBgNVBAsTCmVtU2lnbiBQS0kxFDASBgNVBAoTC2VNdWRocmEgSW5jMRwwGgYDVQQD +ExNlbVNpZ24gUm9vdCBDQSAtIEMxMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAz+up +ufGZBczYKCFK83M0UYRWEPWgTywS4/oTmifQz/l5GnRfHXk5/Fv4cI7gklL35CX5VIPZHdPIWoU/ +Xse2B+4+wM6ar6xWQio5JXDWv7V7Nq2s9nPczdcdioOl+yuQFTdrHCZH3DspVpNqs8FqOp099cGX +OFgFixwR4+S0uF2FHYP+eF8LRWgYSKVGczQ7/g/IdrvHGPMF0Ybzhe3nudkyrVWIzqa2kbBPrH4V +I5b2P/AgNBbeCsbEBEV5f6f9vtKppa+cxSMq9zwhbL2vj07FOrLzNBL834AaSaTUqZX3noleooms +lMuoaJuvimUnzYnu3Yy1aylwQ6BpC+S5DwIDAQABo0IwQDAdBgNVHQ4EFgQU/qHgcB4qAzlSWkK+ +XJGFehiqTbUwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQELBQAD +ggEBAMJKVvoVIXsoounlHfv4LcQ5lkFMOycsxGwYFYDGrK9HWS8mC+M2sO87/kOXSTKZEhVb3xEp +/6tT+LvBeA+snFOvV71ojD1pM/CjoCNjO2RnIkSt1XHLVip4kqNPEjE2NuLe/gDEo2APJ62gsIq1 +NnpSob0n9CAnYuhNlCQT5AoE6TyrLshDCUrGYQTlSTR+08TI9Q/Aqum6VF7zYytPT1DU/rl7mYw9 +wC68AivTxEDkigcxHpvOJpkT+xHqmiIMERnHXhuBUDDIlhJu58tBf5E7oke3VIAb3ADMmpDqw8NQ +BmIMMMAVSKeoWXzhriKi4gp6D/piq1JM4fHfyr6DDUI= +-----END CERTIFICATE----- + +emSign ECC Root CA - C3 +======================= +-----BEGIN CERTIFICATE----- +MIICKzCCAbGgAwIBAgIKe3G2gla4EnycqDAKBggqhkjOPQQDAzBaMQswCQYDVQQGEwJVUzETMBEG +A1UECxMKZW1TaWduIFBLSTEUMBIGA1UEChMLZU11ZGhyYSBJbmMxIDAeBgNVBAMTF2VtU2lnbiBF +Q0MgUm9vdCBDQSAtIEMzMB4XDTE4MDIxODE4MzAwMFoXDTQzMDIxODE4MzAwMFowWjELMAkGA1UE +BhMCVVMxEzARBgNVBAsTCmVtU2lnbiBQS0kxFDASBgNVBAoTC2VNdWRocmEgSW5jMSAwHgYDVQQD +ExdlbVNpZ24gRUNDIFJvb3QgQ0EgLSBDMzB2MBAGByqGSM49AgEGBSuBBAAiA2IABP2lYa57JhAd +6bciMK4G9IGzsUJxlTm801Ljr6/58pc1kjZGDoeVjbk5Wum739D+yAdBPLtVb4OjavtisIGJAnB9 +SMVK4+kiVCJNk7tCDK93nCOmfddhEc5lx/h//vXyqaNCMEAwHQYDVR0OBBYEFPtaSNCAIEDyqOkA +B2kZd6fmw/TPMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MAoGCCqGSM49BAMDA2gA +MGUCMQC02C8Cif22TGK6Q04ThHK1rt0c3ta13FaPWEBaLd4gTCKDypOofu4SQMfWh0/434UCMBwU +ZOR8loMRnLDRWmFLpg9J0wD8ofzkpf9/rdcw0Md3f76BB1UwUCAU9Vc4CqgxUQ== +-----END CERTIFICATE----- + +Hongkong Post Root CA 3 +======================= +-----BEGIN CERTIFICATE----- +MIIFzzCCA7egAwIBAgIUCBZfikyl7ADJk0DfxMauI7gcWqQwDQYJKoZIhvcNAQELBQAwbzELMAkG +A1UEBhMCSEsxEjAQBgNVBAgTCUhvbmcgS29uZzESMBAGA1UEBxMJSG9uZyBLb25nMRYwFAYDVQQK +Ew1Ib25na29uZyBQb3N0MSAwHgYDVQQDExdIb25na29uZyBQb3N0IFJvb3QgQ0EgMzAeFw0xNzA2 +MDMwMjI5NDZaFw00MjA2MDMwMjI5NDZaMG8xCzAJBgNVBAYTAkhLMRIwEAYDVQQIEwlIb25nIEtv +bmcxEjAQBgNVBAcTCUhvbmcgS29uZzEWMBQGA1UEChMNSG9uZ2tvbmcgUG9zdDEgMB4GA1UEAxMX +SG9uZ2tvbmcgUG9zdCBSb290IENBIDMwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCz +iNfqzg8gTr7m1gNt7ln8wlffKWihgw4+aMdoWJwcYEuJQwy51BWy7sFOdem1p+/l6TWZ5Mwc50tf +jTMwIDNT2aa71T4Tjukfh0mtUC1Qyhi+AViiE3CWu4mIVoBc+L0sPOFMV4i707mV78vH9toxdCim +5lSJ9UExyuUmGs2C4HDaOym71QP1mbpV9WTRYA6ziUm4ii8F0oRFKHyPaFASePwLtVPLwpgchKOe +sL4jpNrcyCse2m5FHomY2vkALgbpDDtw1VAliJnLzXNg99X/NWfFobxeq81KuEXryGgeDQ0URhLj +0mRiikKYvLTGCAj4/ahMZJx2Ab0vqWwzD9g/KLg8aQFChn5pwckGyuV6RmXpwtZQQS4/t+TtbNe/ +JgERohYpSms0BpDsE9K2+2p20jzt8NYt3eEV7KObLyzJPivkaTv/ciWxNoZbx39ri1UbSsUgYT2u +y1DhCDq+sI9jQVMwCFk8mB13umOResoQUGC/8Ne8lYePl8X+l2oBlKN8W4UdKjk60FSh0Tlxnf0h ++bV78OLgAo9uliQlLKAeLKjEiafv7ZkGL7YKTE/bosw3Gq9HhS2KX8Q0NEwA/RiTZxPRN+ZItIsG +xVd7GYYKecsAyVKvQv83j+GjHno9UKtjBucVtT+2RTeUN7F+8kjDf8V1/peNRY8apxpyKBpADwID +AQABo2MwYTAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAfBgNVHSMEGDAWgBQXnc0e +i9Y5K3DTXNSguB+wAPzFYTAdBgNVHQ4EFgQUF53NHovWOStw01zUoLgfsAD8xWEwDQYJKoZIhvcN +AQELBQADggIBAFbVe27mIgHSQpsY1Q7XZiNc4/6gx5LS6ZStS6LG7BJ8dNVI0lkUmcDrudHr9Egw +W62nV3OZqdPlt9EuWSRY3GguLmLYauRwCy0gUCCkMpXRAJi70/33MvJJrsZ64Ee+bs7Lo3I6LWld +y8joRTnU+kLBEUx3XZL7av9YROXrgZ6voJmtvqkBZss4HTzfQx/0TW60uhdG/H39h4F5ag0zD/ov ++BS5gLNdTaqX4fnkGMX41TiMJjz98iji7lpJiCzfeT2OnpA8vUFKOt1b9pq0zj8lMH8yfaIDlNDc +eqFS3m6TjRgm/VWsvY+b0s+v54Ysyx8Jb6NvqYTUc79NoXQbTiNg8swOqn+knEwlqLJmOzj/2ZQw +9nKEvmhVEA/GcywWaZMH/rFF7buiVWqw2rVKAiUnhde3t4ZEFolsgCs+l6mc1X5VTMbeRRAc6uk7 +nwNT7u56AQIWeNTowr5GdogTPyK7SBIdUgC0An4hGh6cJfTzPV4e0hz5sy229zdcxsshTrD3mUcY +hcErulWuBurQB7Lcq9CClnXO0lD+mefPL5/ndtFhKvshuzHQqp9HpLIiyhY6UFfEW0NnxWViA0kB +60PZ2Pierc+xYw5F9KBaLJstxabArahH9CdMOA0uG0k7UvToiIMrVCjU8jVStDKDYmlkDJGcn5fq +dBb9HxEGmpv0 +-----END CERTIFICATE----- + +Entrust Root Certification Authority - G4 +========================================= +-----BEGIN CERTIFICATE----- +MIIGSzCCBDOgAwIBAgIRANm1Q3+vqTkPAAAAAFVlrVgwDQYJKoZIhvcNAQELBQAwgb4xCzAJBgNV +BAYTAlVTMRYwFAYDVQQKEw1FbnRydXN0LCBJbmMuMSgwJgYDVQQLEx9TZWUgd3d3LmVudHJ1c3Qu +bmV0L2xlZ2FsLXRlcm1zMTkwNwYDVQQLEzAoYykgMjAxNSBFbnRydXN0LCBJbmMuIC0gZm9yIGF1 +dGhvcml6ZWQgdXNlIG9ubHkxMjAwBgNVBAMTKUVudHJ1c3QgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1 +dGhvcml0eSAtIEc0MB4XDTE1MDUyNzExMTExNloXDTM3MTIyNzExNDExNlowgb4xCzAJBgNVBAYT +AlVTMRYwFAYDVQQKEw1FbnRydXN0LCBJbmMuMSgwJgYDVQQLEx9TZWUgd3d3LmVudHJ1c3QubmV0 +L2xlZ2FsLXRlcm1zMTkwNwYDVQQLEzAoYykgMjAxNSBFbnRydXN0LCBJbmMuIC0gZm9yIGF1dGhv +cml6ZWQgdXNlIG9ubHkxMjAwBgNVBAMTKUVudHJ1c3QgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhv +cml0eSAtIEc0MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAsewsQu7i0TD/pZJH4i3D +umSXbcr3DbVZwbPLqGgZ2K+EbTBwXX7zLtJTmeH+H17ZSK9dE43b/2MzTdMAArzE+NEGCJR5WIoV +3imz/f3ET+iq4qA7ec2/a0My3dl0ELn39GjUu9CH1apLiipvKgS1sqbHoHrmSKvS0VnM1n4j5pds +8ELl3FFLFUHtSUrJ3hCX1nbB76W1NhSXNdh4IjVS70O92yfbYVaCNNzLiGAMC1rlLAHGVK/XqsEQ +e9IFWrhAnoanw5CGAlZSCXqc0ieCU0plUmr1POeo8pyvi73TDtTUXm6Hnmo9RR3RXRv06QqsYJn7 +ibT/mCzPfB3pAqoEmh643IhuJbNsZvc8kPNXwbMv9W3y+8qh+CmdRouzavbmZwe+LGcKKh9asj5X +xNMhIWNlUpEbsZmOeX7m640A2Vqq6nPopIICR5b+W45UYaPrL0swsIsjdXJ8ITzI9vF01Bx7owVV +7rtNOzK+mndmnqxpkCIHH2E6lr7lmk/MBTwoWdPBDFSoWWG9yHJM6Nyfh3+9nEg2XpWjDrk4JFX8 +dWbrAuMINClKxuMrLzOg2qOGpRKX/YAr2hRC45K9PvJdXmd0LhyIRyk0X+IyqJwlN4y6mACXi0mW +Hv0liqzc2thddG5msP9E36EYxr5ILzeUePiVSj9/E15dWf10hkNjc0kCAwEAAaNCMEAwDwYDVR0T +AQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFJ84xFYjwznooHFs6FRM5Og6sb9n +MA0GCSqGSIb3DQEBCwUAA4ICAQAS5UKme4sPDORGpbZgQIeMJX6tuGguW8ZAdjwD+MlZ9POrYs4Q +jbRaZIxowLByQzTSGwv2LFPSypBLhmb8qoMi9IsabyZIrHZ3CL/FmFz0Jomee8O5ZDIBf9PD3Vht +7LGrhFV0d4QEJ1JrhkzO3bll/9bGXp+aEJlLdWr+aumXIOTkdnrG0CSqkM0gkLpHZPt/B7NTeLUK +YvJzQ85BK4FqLoUWlFPUa19yIqtRLULVAJyZv967lDtX/Zr1hstWO1uIAeV8KEsD+UmDfLJ/fOPt +jqF/YFOOVZ1QNBIPt5d7bIdKROf1beyAN/BYGW5KaHbwH5Lk6rWS02FREAutp9lfx1/cH6NcjKF+ +m7ee01ZvZl4HliDtC3T7Zk6LERXpgUl+b7DUUH8i119lAg2m9IUe2K4GS0qn0jFmwvjO5QimpAKW +RGhXxNUzzxkvFMSUHHuk2fCfDrGA4tGeEWSpiBE6doLlYsKA2KSD7ZPvfC+QsDJMlhVoSFLUmQjA +JOgc47OlIQ6SwJAfzyBfyjs4x7dtOvPmRLgOMWuIjnDrnBdSqEGULoe256YSxXXfW8AKbnuk5F6G ++TaU33fD6Q3AOfF5u0aOq0NZJ7cguyPpVkAh7DE9ZapD8j3fcEThuk0mEDuYn/PIjhs4ViFqUZPT +kcpG2om3PVODLAgfi49T3f+sHw== +-----END CERTIFICATE----- diff --git a/examples/create-react-app/resources/icudt67l.dat b/examples/create-react-app/resources/icudt67l.dat new file mode 100644 index 0000000..b61fa2b Binary files /dev/null and b/examples/create-react-app/resources/icudt67l.dat differ diff --git a/include/.gitignore b/include/.gitignore new file mode 100644 index 0000000..e43b0f9 --- /dev/null +++ b/include/.gitignore @@ -0,0 +1 @@ +.DS_Store diff --git a/include/AppCore/App.h b/include/AppCore/App.h new file mode 100644 index 0000000..e8a986b --- /dev/null +++ b/include/AppCore/App.h @@ -0,0 +1,182 @@ +/// +/// @file App.h +/// +/// @brief The header for the App class. +/// +/// @author +/// +/// This file is a part of Ultralight, a fast, lightweight, HTML UI engine +/// +/// Website: +/// +/// Copyright (C) 2019 Ultralight, Inc. All rights reserved. +/// +#pragma once +#include "Defines.h" +#include +#include +#include + +namespace ultralight { + +class Monitor; +class Window; + +/// +/// Interface for all App-related events. @see App::set_listener +/// +class AExport AppListener { +public: + virtual ~AppListener() {} + + /// + /// Called whenever the App updates. You should update all app logic here. + /// + /// @note This event is fired right before the run loop calls + /// Renderer::Update and Renderer::Render. + /// + virtual void OnUpdate() {} +}; + +/// +/// App-specific settings. +/// +struct AExport Settings { + /// + /// The name of the developer of this app. + /// + /// This is used to generate a unique path to store local application data + /// on the user's machine. + /// + String developer_name = "MyCompany"; + + /// + /// The name of this app. + /// + /// This is used to generate a unique path to store local application data + /// on the user's machine. + /// + String app_name = "MyApp"; + + /// + /// The root file path for our file system. You should set this to the + /// relative path where all of your app data is. + /// + /// This will be used to resolve all file URLs, eg file:///page.html + /// + /// @note This relative path is resolved using the following logic: + /// - Windows: relative to the executable path + /// - Linux: relative to the executable path + /// - macOS: relative to YourApp.app/Contents/Resources/ + /// + String file_system_path = "./assets/"; + + /// + /// Whether or not we should load and compile shaders from the file system + /// (eg, from the /shaders/ path, relative to file_system_path). + /// + /// If this is false (the default), we will instead load pre-compiled shaders + /// from memory which speeds up application startup time. + /// + bool load_shaders_from_file_system = false; + + /// + /// We try to use the GPU renderer when a compatible GPU is detected. + /// + /// Set this to true to force the engine to always use the CPU renderer. + /// + bool force_cpu_renderer = false; +}; + +/// +/// Main application class. +/// +class AExport App : public RefCounted { +public: + /// + /// Create the App singleton. + /// + /// @param settings Settings to customize App runtime behavior. + /// + /// @param config Config options for the Ultralight renderer. + /// + /// @return Returns a ref-pointer to the created App instance. + /// + /// @note You should only create one of these per application lifetime. + /// + /// @note Certain Config options may be overridden during App creation, + /// most commonly Config::face_winding and Config::device_scale_hint. + /// + static Ref Create(Settings settings = Settings(), Config config = Config()); + + /// + /// Get the App singleton. + /// + static App* instance(); + + /// + /// Get the settings this App was created with. + /// + virtual const Settings& settings() const = 0; + + /// + /// Set the main window. You must set this before calling Run. + /// + /// @param window The window to use for all rendering. + /// + /// @note We currently only support one Window per App, this will change + /// later once we add support for multiple driver instances. + /// + virtual void set_window(Ref window) = 0; + + /// + /// Get the main window. + /// + virtual RefPtr window() = 0; + + /// + /// Set an AppListener to receive callbacks for app-related events. + /// + /// @note Ownership remains with the caller. + /// + virtual void set_listener(AppListener* listener) = 0; + + /// + /// Get the AppListener, if any. + /// + virtual AppListener* listener() = 0; + + /// + /// Whether or not the App is running. + /// + virtual bool is_running() const = 0; + + /// + /// Get the main monitor (this is never NULL). + /// + /// @note We'll add monitor enumeration later. + /// + virtual Monitor* main_monitor() = 0; + + /// + /// Get the underlying Renderer instance. + /// + virtual Ref renderer() = 0; + + /// + /// Run the main loop. + /// + /// @note Make sure to call set_window before calling this. + /// + virtual void Run() = 0; + + /// + /// Quit the application. + /// + virtual void Quit() = 0; + +protected: + virtual ~App(); +}; + +} // namespace ultralight diff --git a/include/AppCore/AppCore.h b/include/AppCore/AppCore.h new file mode 100644 index 0000000..e518565 --- /dev/null +++ b/include/AppCore/AppCore.h @@ -0,0 +1,6 @@ +#include +#include +#include +#include +#include +#include \ No newline at end of file diff --git a/include/AppCore/CAPI.h b/include/AppCore/CAPI.h index 68a43b0..5be6242 100644 --- a/include/AppCore/CAPI.h +++ b/include/AppCore/CAPI.h @@ -9,7 +9,7 @@ /// /// Website: /// -/// Copyright (C) 2019 Ultralight, Inc. All rights reserved. +/// Copyright (C) 2020 Ultralight, Inc. All rights reserved. /// #ifndef APPCORE_CAPI_H #define APPCORE_CAPI_H @@ -56,15 +56,38 @@ ACExport ULSettings ulCreateSettings(); /// ACExport void ulDestroySettings(ULSettings settings); +/// +/// Set the name of the developer of this app. +/// +/// This is used to generate a unique path to store local application data +/// on the user's machine. +/// +/// Default is "MyCompany" +/// +ACExport void ulSettingsSetDeveloperName(ULSettings settings, ULString name); + +/// +/// Set the name of this app. +/// +/// This is used to generate a unique path to store local application data +/// on the user's machine. +/// +/// Default is "MyApp" +/// +ACExport void ulSettingsSetAppName(ULSettings settings, ULString name); + /// /// Set the root file path for our file system, you should set this to the /// relative path where all of your app data is. /// /// This will be used to resolve all file URLs, eg file:///page.html /// -/// @note By default, on macOS we use the app bundle's @resource_path, -/// on all other platforms we use the "./assets/" directory relative -/// to the executable's directory. +/// @note The default path is "./assets/" +/// +/// This relative path is resolved using the following logic: +/// - Windows: relative to the executable path +/// - Linux: relative to the executable path +/// - macOS: relative to YourApp.app/Contents/Resources/ /// ACExport void ulSettingsSetFileSystemPath(ULSettings settings, ULString path); @@ -79,6 +102,13 @@ ACExport void ulSettingsSetLoadShadersFromFileSystem(ULSettings settings, bool enabled); /// +/// We try to use the GPU renderer when a compatible GPU is detected. +/// +/// Set this to true to force the engine to always use the CPU renderer. +/// +ACExport void ulSettingsSetForceCPURenderer(ULSettings settings, + bool force_cpu); +/// /// Create the App singleton. /// /// @param settings Settings to customize App runtime behavior. You can pass @@ -160,12 +190,12 @@ ACExport void ulAppQuit(ULApp app); ACExport double ulMonitorGetScale(ULMonitor monitor); /// -/// Get the width of the monitor (in device coordinates). +/// Get the width of the monitor (in pixels). /// ACExport unsigned int ulMonitorGetWidth(ULMonitor monitor); /// -/// Get the height of the monitor (in device coordinates). +/// Get the height of the monitor (in pixels). /// ACExport unsigned int ulMonitorGetHeight(ULMonitor monitor); @@ -206,19 +236,19 @@ typedef void /// /// Set a callback to be notified when a window resizes -/// (parameters are passed back in device coordinates). +/// (parameters are passed back in pixels). /// ACExport void ulWindowSetResizeCallback(ULWindow window, ULResizeCallback callback, void* user_data); /// -/// Get window width (in device coordinates). +/// Get window width (in pixels). /// ACExport unsigned int ulWindowGetWidth(ULWindow window); /// -/// Get window height (in device coordinates). +/// Get window height (in pixels). /// ACExport unsigned int ulWindowGetHeight(ULWindow window); @@ -257,6 +287,15 @@ ACExport int ulWindowDeviceToPixel(ULWindow window, int val); /// ACExport int ulWindowPixelsToDevice(ULWindow window, int val); +/// +/// Get the underlying native window handle. +/// +/// @note This is: - HWND on Windows +/// - NSWindow* on macOS +/// - GLFWwindow* on Linux +/// +ACExport void* ulWindowGetNativeHandle(ULWindow window); + /// /// Create a new Overlay. /// @@ -268,10 +307,10 @@ ACExport int ulWindowPixelsToDevice(ULWindow window, int val); /// @param height The height in device coordinates. /// /// @param x The x-position (offset from the left of the Window), in -/// device coordinates. +/// pixels. /// /// @param y The y-position (offset from the top of the Window), in -/// device coordinates. +/// pixels. /// /// @note Each Overlay is essentially a View and an on-screen quad. You should /// create the Overlay then load content into the underlying View. @@ -279,6 +318,26 @@ ACExport int ulWindowPixelsToDevice(ULWindow window, int val); ACExport ULOverlay ulCreateOverlay(ULWindow window, unsigned int width, unsigned int height, int x, int y); +/// +/// Create a new Overlay, wrapping an existing View. +/// +/// @param window The window to create the Overlay in. (we currently only +/// support one window per application) +/// +/// @param view The View to wrap (will use its width and height). +/// +/// @param x The x-position (offset from the left of the Window), in +/// pixels. +/// +/// @param y The y-position (offset from the top of the Window), in +/// pixels. +/// +/// @note Each Overlay is essentially a View and an on-screen quad. You should +/// create the Overlay then load content into the underlying View. +/// +ACExport ULOverlay ulCreateOverlayWithView(ULWindow window, ULView view, + int x, int y); + /// /// Destroy an overlay. /// @@ -290,35 +349,33 @@ ACExport void ulDestroyOverlay(ULOverlay overlay); ACExport ULView ulOverlayGetView(ULOverlay overlay); /// -/// Get the width (in device coordinates). +/// Get the width (in pixels). /// ACExport unsigned int ulOverlayGetWidth(ULOverlay overlay); /// -/// Get the height (in device coordinates). +/// Get the height (in pixels). /// ACExport unsigned int ulOverlayGetHeight(ULOverlay overlay); /// -/// Get the x-position (offset from the left of the Window), in device -/// coordinates. +/// Get the x-position (offset from the left of the Window), in pixels. /// ACExport int ulOverlayGetX(ULOverlay overlay); /// -/// Get the y-position (offset from the top of the Window), in device -/// coordinates. +/// Get the y-position (offset from the top of the Window), in pixels. /// ACExport int ulOverlayGetY(ULOverlay overlay); /// -/// Move the overlay to a new position (in device coordinates). +/// Move the overlay to a new position (in pixels). /// ACExport void ulOverlayMoveTo(ULOverlay overlay, int x, int y); /// /// Resize the overlay (and underlying View), dimensions should be -/// specified in device coordinates. +/// specified in pixels. /// ACExport void ulOverlayResize(ULOverlay overlay, unsigned int width, unsigned int height); @@ -353,6 +410,37 @@ ACExport void ulOverlayFocus(ULOverlay overlay); /// ACExport void ulOverlayUnfocus(ULOverlay overlay); +/****************************************************************************** + * Platform + *****************************************************************************/ + +/// +/// This is only needed if you are not calling ulCreateApp(). +/// +/// Initializes the platform font loader and sets it as the current FontLoader. +/// +ACExport void ulEnablePlatformFontLoader(); + +/// +/// This is only needed if you are not calling ulCreateApp(). +/// +/// Initializes the platform file system (needed for loading file:/// URLs) and +/// sets it as the current FileSystem. +/// +/// You can specify a base directory path to resolve relative paths against. +/// +ACExport void ulEnablePlatformFileSystem(ULString base_dir); + +/// +/// This is only needed if you are not calling ulCreateApp(). +/// +/// Initializes the default logger (writes the log to a file). +/// +/// You should specify a writable log path to write the log to +/// for example "./ultralight.log". +/// +ACExport void ulEnableDefaultLogger(ULString log_path); + #ifdef __cplusplus } #endif diff --git a/include/AppCore/Defines.h b/include/AppCore/Defines.h new file mode 100644 index 0000000..8c6ce16 --- /dev/null +++ b/include/AppCore/Defines.h @@ -0,0 +1,50 @@ +// Copyright 2018 Ultralight, Inc. All rights reserved. +#pragma once + +// Needed for limit defines, like INTMAX_MAX, which is used by the std C++ library +#ifndef __STDC_LIMIT_MACROS +#define __STDC_LIMIT_MACROS +#endif + +#include +#include +#include + +#ifdef SWIG +#define AExport +#else + +// Require C++11 Support +#if defined(_MSC_VER) +# if _MSC_VER < 1800 +# error This project needs at least Visual Studio 2013 to build +# endif +#elif __cplusplus <= 199711L +# error This project can only be compiled with a compiler that supports C++11 +#endif + + +#if defined(__WIN32__) || defined(_WIN32) +# if defined(ULTRALIGHT_STATIC_BUILD) +# define AExport +# else +# if defined(APPCORE_IMPLEMENTATION) +# define AExport __declspec(dllexport) +# else +# define AExport __declspec(dllimport) +# endif +# endif +#define _thread_local __declspec(thread) +#ifndef _NATIVE_WCHAR_T_DEFINED +#define DISABLE_NATIVE_WCHAR_T +#endif +#else +# if defined(ULTRALIGHT_STATIC_BUILD) +# define AExport +# else +# define AExport __attribute__((visibility("default"))) +# endif +#define _thread_local __thread +#endif + +#endif diff --git a/include/AppCore/JSHelpers.h b/include/AppCore/JSHelpers.h new file mode 100644 index 0000000..3e6eec1 --- /dev/null +++ b/include/AppCore/JSHelpers.h @@ -0,0 +1,554 @@ +#pragma once +#include +#include +#include +#include +#include +#include + +namespace ultralight { + +/// +/// Set the current JSContext. +/// +/// Most JavaScriptCore C API calls require an active JavaScript execution +/// context (JSContextRef). You can get the JSContextRef for a page via +/// `View::LockJSContext()`. This context changes with each page navigation. +/// +/// **Note**: +/// You MUST set a JSContext before using most of the C++ API below. +/// +void AExport SetJSContext(JSContextRef ctx); + +/// +/// Get the current JSContext. +/// +JSContextRef AExport GetJSContext(); + +/// +/// JavaScript String wrapper that automatically manages JSStringRef lifetime +/// and provides helpful conversions. +/// +class AExport JSString { +public: + /// Create empty string + JSString(); + + /// Create from C-string + JSString(const char* str); + + /// Create from Ultralight String + JSString(const String& str); + + /// Take ownership of existing JSStringRef (will not increase ref-count) + JSString(JSStringRef str); + + /// Copy constructor (will increase ref-count) + JSString(const JSString& other); + + /// Destructor + ~JSString(); + + /// Assignment operator (will increase ref-count) + JSString& operator=(const JSString& other); + + /// Cast to String + operator String(); + + /// Cast to underlying JSStringRef + operator JSStringRef() const { return instance_; } + +protected: + JSStringRef instance_; +}; + +class JSArray; +class JSObject; +class JSFunction; + +/// Tag type used with the JSValue constructor to create "Null" types +struct AExport JSValueNullTag {}; + +/// Tag type used with the JSValue constructor to create "Undefined" types +struct AExport JSValueUndefinedTag {}; + +/// +/// JavaScript variant value wrapper that automatically manages JSValueRef +/// lifetime and provides helpful conversions. +/// +class AExport JSValue { +public: + /// Create null (empty) JSValue + JSValue(); + + /// Create null JSValue explicitly + JSValue(JSValueNullTag); + + /// Create undefined JSValue + JSValue(JSValueUndefinedTag); + + /// Create boolean JSValue + JSValue(bool val); + + /// Create unsigned integer JSValue (aka, Number) [will be cast to double] + JSValue(uint32_t val); + + /// Create integer JSValue (aka, Number) [will be cast to double] + JSValue(int32_t val); + + /// Create unsigned integer JSValue (aka, Number) [will be cast to double] + JSValue(uint64_t val); + + /// Create integer JSValue (aka, Number) [will be cast to double] + JSValue(int64_t val); + + /// Create double JSValue (aka, Number) + JSValue(double val); + + /// Create string JSValue + JSValue(const char* val); + + /// Create string JSValue + JSValue(const String& val); + + /// Create string JSValue + JSValue(JSString val); + + /// Create from existing JSValueRef + JSValue(JSValueRef val); + + /// Create object JSValue + JSValue(JSObjectRef obj); + + /// Copy constructor, a shallow copy is made, the constructed JSValue will + /// point to the same JSValueRef. + JSValue(const JSValue& other); + + /// Destructor + virtual ~JSValue(); + + /// A shallow copy is made, this JSValue will point to the same JSValueRef + virtual JSValue& operator=(const JSValue& other); + + /// Whether or not the value is a JavaScript Null type. + bool IsNull() const; + + /// Whether or not the value is a JavaScript Undefined type. + bool IsUndefined() const; + + /// Whether or not the value is a JavaScript Boolean type. + bool IsBoolean() const; + + /// Whether or not the value is a JavaScript Number type. + bool IsNumber() const; + + /// Whether or not the value is a JavaScript String type. + bool IsString() const; + + /// Whether or not the value is a JavaScript Object type. + bool IsObject() const; + + /// Whether or not the value is a JavaScript Array type. + bool IsArray() const; + + /// Whether or not the value is a JavaScript Function type. + bool IsFunction() const; + + /// Get the value as a Boolean + bool ToBoolean() const; + + /// Get the value as a Number (Double) + double ToNumber() const; + + /// Get the value as a Number (Integer) + int64_t ToInteger() const { return static_cast(ToNumber()); } + + /// Get the value as a String + JSString ToString() const; + + /// Get the value as an Object (will debug assert if not an Object) + JSObject ToObject() const; + + /// Get the value as an Array (will debug asset if not an Array) + JSArray ToArray() const; + + /// Get the value as a Function (will debug asset if not a Function) + JSFunction ToFunction() const; + + operator bool() const { return ToBoolean(); } + + operator double() const { return ToNumber(); } + + operator uint32_t() const { return static_cast(ToNumber()); } + + operator int32_t() const { return static_cast(ToNumber()); } + + operator uint64_t() const { return static_cast(ToNumber()); } + + operator int64_t() const { return ToInteger(); } + + operator String() const { return ToString(); } + + operator JSString() const { return ToString(); } + + operator JSObject() const; + + operator JSObjectRef() const; + + operator JSArray() const; + + operator JSFunction() const; + + /// Get the underlying JSValueRef + operator JSValueRef() const { return instance(); } + + /// + /// Get the bound context for this JSValue (it is cached at creation). + /// + JSContextRef context() const { return ctx_; } + + /// + /// Set the JSContext for this JSValue. + /// + /// **Note**: + /// JSValues created from within a JSCallback have a temporary JSContext + /// that is destroyed when the callback returns. You will need to "move" + /// any JSValues created within these callbacks to the View's main context + /// (call set_context() with the main context) before using them outside + /// the callback. + /// + void set_context(JSContextRef context) { ctx_ = context; } + +protected: + JSValue(JSContextRef ctx); + JSValue(JSContextRef ctx, JSValueRef val); + virtual JSValueRef instance() const; + + JSContextRef ctx_; + JSValueRef instance_ = nullptr; + friend class JSFunction; +}; + +/// +/// A vector of JSValues, used for passing around arguments in JSCallback. +/// +class AExport JSArgs { +public: + /// Create an empty list of JavaScript arguments + JSArgs(); + + /// Create a list of JavaScript arguments using a C++ initializer list + JSArgs(const std::initializer_list& values); + + /// Copy-constructor + JSArgs(const JSArgs& other); + + /// Destructor + ~JSArgs(); + + /// Assignment operator + JSArgs& operator=(const JSArgs& other); + + /// + /// Access an element of the argument list by index. + /// + /// **Note**: + /// All JSValues are actually wrappers of JSValueRef instances so even + /// though this function doesn't return a JSValue& you are still operating + /// directly on the underlying JavaScript value instance. + /// + JSValue operator[](size_t pos); + + /// + /// Access an element of the argument list by index. (const overload) + /// + /// **Note**: + /// All JSValues are actually wrappers of JSValueRef instances so even + /// though this function doesn't return a JSValue& you are still operating + /// directly on the underlying JavaScript value instance. + /// + const JSValue operator[](size_t pos) const; + + /// Whether or not the argument list is empty. + bool empty() const; + + /// The number of elements in the argument list. + size_t size() const; + + /// Clear the argument list. + void clear(); + + /// Add a new argument to the end of the list. + void push_back(const JSValue& val); + + /// Remove the last item from the end of the list. + void pop_back(); + + /// Get the argument list as a C-array of JSValues + JSValue* data(); + + /// Get the argument list as a C-array of JSValues (const overload) + const JSValue* data() const; +protected: + void* instance_; +}; + +/// +/// JSCallback typedef used for binding C++ callbacks to JavaScript functions. +/// +/// Takes two arguments (const JSObject& thisObj, const JSArgs& args) and +/// returns nothing (void). +/// +typedef std::function JSCallback; + +/// +/// JSCallbackWithRetval typedef used for binding C++ callbacks to JavaScript +/// functions with an optional return value. +/// +/// Takes two arguments (const JSObject& thisObj, const JSArgs& args) and +/// returns a JSValue back to JavaScript. +/// +typedef std::function JSCallbackWithRetval; + +/// +/// Macro to help bind C++ member functions to a JSCallback +/// +/// Usage: JSCallback callback = BindJSCallback(&MyClass::MyMemberFunction); +/// +/// **Note**: Expected to run from within an instance of 'MyClass', note the +/// 'this' keyword in the macro. +/// +#define BindJSCallback(fn) (JSCallback)std::bind(fn, this, std::placeholders::_1, std::placeholders::_2) + +/// +/// Macro to help bind C++ member functions to a JSCallbackWithRetval +/// +/// Usage: JSCallback callback = BindJSCallback(&MyClass::MyMemberFunction); +/// +/// **Note**: Expected to run from within an instance of 'MyClass', note the +/// 'this' keyword in the macro. +/// +#define BindJSCallbackWithRetval(fn) (JSCallbackWithRetval)std::bind(fn, this, std::placeholders::_1, std::placeholders::_2) + +/// +/// Wrapper for JSObject property value (JSValue subclass). Allows new value assignment +/// to object property, binding C++ callbacks to object properties via function objects, +/// as well as value query via the JSValue interface. +/// +class AExport JSPropertyValue : public JSValue { +public: + virtual ~JSPropertyValue(); + + /// Assign a new value to the property (internally calls JSObjectSetProperty) + virtual JSPropertyValue& operator=(const JSValue& value); + + /// Bind to native C++ callback (creates a Function object that can be called from JS) + JSPropertyValue& operator=(const JSCallback& callback); + + /// Bind to native C++ callback with return value (creates a Function object that can be called from JS) + JSPropertyValue& operator=(const JSCallbackWithRetval& callback); + +protected: + virtual JSValueRef instance() const; + JSPropertyValue(JSContextRef ctx, JSObjectRef proxy_obj, unsigned idx); + JSPropertyValue(JSContextRef ctx, JSObjectRef proxy_obj, JSString idx); + JSPropertyValue(const JSPropertyValue&) = default; + JSPropertyValue& operator=(const JSPropertyValue&) = delete; + + JSObject* proxyObj_; + bool using_numeric_idx_; + unsigned numeric_idx_; + JSString string_idx_; + friend class JSArray; + friend class JSObject; +}; + +/// +/// JSArray wrapper that automatically manages lifetime and provides +/// convenient access to indices and Array functions. +/// +class AExport JSArray { +public: + /// Create empty Array + JSArray(); + + /// Create Array from list of JSValues + JSArray(const std::initializer_list& values); + + /// Create Array from existing JSObjectRef (JavaScriptCore C API) + JSArray(JSObjectRef array_obj); + + /// Copy constructor (shallow copy, will point to same instance) + JSArray(const JSArray& other); + + ~JSArray(); + + /// Assignment (shallow assignment, will point to same instance) + JSArray& operator=(const JSArray& other); + + /// Get number of elements in the Array + unsigned length(); + + /// Push an element to back of Array + void push(const JSValue& val); + + /// Find the index (location) of a certain value, will return -1 if not found + int indexOf(const JSValue& val, int start = 0) const; + + /// Get a property by array index (numbering starts at 0) + JSPropertyValue operator[](unsigned idx) const; + + /// Get the underlying JSObjectRef (JavaScriptCore C API) + operator JSObjectRef() const { return instance_; } + + /// + /// Get the bound context for this JSArray (it is cached at creation). + /// + JSContextRef context() const { return ctx_; } + + /// + /// Set the JSContext for this JSArray. + /// + /// **Note**: + /// JSArrays created from within a JSCallback have a temporary JSContext + /// that is destroyed when the callback returns. You will need to "move" + /// any JSArrays created within these callbacks to the View's main context + /// (call set_context() with the main context) before using them outside + /// the callback. + /// + void set_context(JSContextRef context) { ctx_ = context; } + +protected: + JSArray(JSContextRef ctx, JSValueRef val); + + JSContextRef ctx_; + JSObjectRef instance_; + friend class JSValue; +}; + +/// +/// JSObject wrapper that automatically manages lifetime and provides +/// convenient access to properties. +/// +class AExport JSObject { +public: + /// Create empty Object + JSObject(); + + /// Create from existing JSObjectRef from JavaScriptCore C API + JSObject(JSObjectRef obj); + + /// Copy constructor (shallow copy, will point to same instance) + JSObject(const JSObject& other); + + ~JSObject(); + + /// Assignment (shallow assignment, will point to same instance) + JSObject& operator=(const JSObject& other); + + /// Get a property by name + JSPropertyValue operator[](JSString propertyName) const; + + /// Check if a property exists + bool HasProperty(JSString propertyName) const; + + /// Remove a property + bool DeleteProperty(JSString propertyName); + + /// Get the underlying JSObjectRef (JavaScriptCore C API) + operator JSObjectRef() const { return instance_; } + + /// + /// Get the bound context for this JSObject (it is cached at creation). + /// + JSContextRef context() const { return ctx_; } + + /// + /// Set the JSContext for this JSObject. + /// + /// **Note**: + /// JSObjects created from within a JSCallback have a temporary JSContext + /// that is destroyed when the callback returns. You will need to "move" + /// any JSObjects created within these callbacks to the View's main context + /// (call set_context() with the main context) before using them outside + /// the callback. + /// + void set_context(JSContextRef context) { ctx_ = context; } + +protected: + JSObject(JSContextRef ctx, JSValueRef val); + JSObject(JSContextRef ctx, JSObjectRef obj); + + JSContextRef ctx_; + JSObjectRef instance_; + friend class JSValue; + friend class JSPropertyValue; +}; + +/// +/// JSFunction wrapper that automatically manages lifetime and provides +/// convenient function invocation operators. +/// +class AExport JSFunction { +public: + /// Create an empty Function. + /// NOTE: It is OKAY to create this without calling SetJSContext() first. + JSFunction(); + + /// Copy constructor (shallow copy, will point to same instance) + JSFunction(const JSFunction& other); + + ~JSFunction(); + + /// Assignment (shallow assignment, will point to same instance) + JSFunction& operator=(const JSFunction& other); + + /// Whether or not this is a valid, callable Function object. + bool IsValid() const; + + /// Call function (using Global Object for 'this') and return the result. + JSValue operator()(const JSArgs& args); + + /// Call function (with explicit object for 'this') and return the result + JSValue operator()(const JSObject& thisObject, const JSArgs& args); + + /// Get the underlying JSObjectRef (JavaScriptCore C API) + operator JSObjectRef() const { return instance_; } + + /// + /// Get the bound context for this JSFunction (it is cached at creation). + /// + JSContextRef context() const { return ctx_; } + + /// + /// Set the JSContext for this JSFunction. + /// + /// **Note**: + /// JSFunctions created from within a JSCallback have a temporary JSContext + /// that is destroyed when the callback returns. You will need to "move" + /// any JSFunctions created within these callbacks to the View's main context + /// (call set_context() with the main context) before using them outside + /// the callback. + /// + void set_context(JSContextRef context) { ctx_ = context; } + +protected: + JSFunction(JSContextRef ctx, JSValueRef val); + + JSContextRef ctx_; + JSObjectRef instance_; + friend class JSValue; +}; + +/// +/// Get the Global Object for the current JSContext. +/// In JavaScript, this would be equivalent to the "window" object. +/// +JSObject AExport JSGlobalObject(); + +/// +/// Evaluate a string of JavaScript and return a result. +/// +JSValue AExport JSEval(const JSString& str); + +} // namespace ultralight diff --git a/include/AppCore/Monitor.h b/include/AppCore/Monitor.h new file mode 100644 index 0000000..26a9ebf --- /dev/null +++ b/include/AppCore/Monitor.h @@ -0,0 +1,41 @@ +/// +/// @file Monitor.h +/// +/// @brief The header for the Monitor class. +/// +/// @author +/// +/// This file is a part of Ultralight, a fast, lightweight, HTML UI engine +/// +/// Website: +/// +/// Copyright (C) 2019 Ultralight, Inc. All rights reserved. +/// +#pragma once +#include "Defines.h" + +namespace ultralight { + +/// +/// Monitor class, represents a platform monitor. +/// +class AExport Monitor { +public: + virtual ~Monitor() {} + + /// + /// Get the DPI scale (1.0 = 100%) + /// + virtual double scale() const = 0; + + /// + /// Get the width of the monitor. + /// + virtual uint32_t width() const = 0; + + /// Get the height of the monitor. + /// + virtual uint32_t height() const = 0; +}; + +} // namespace ultralight diff --git a/include/AppCore/Overlay.h b/include/AppCore/Overlay.h new file mode 100644 index 0000000..43b2db1 --- /dev/null +++ b/include/AppCore/Overlay.h @@ -0,0 +1,141 @@ +/// +/// @file Overlay.h +/// +/// @brief The header for the Overlay class. +/// +/// @author +/// +/// This file is a part of Ultralight, a fast, lightweight, HTML UI engine +/// +/// Website: +/// +/// Copyright (C) 2019 Ultralight, Inc. All rights reserved. +/// +#pragma once +#include "Window.h" +#include + +namespace ultralight { + +/// +/// Web-content overlay. Displays a web-page within an area of the main window. +/// +/// @note Each Overlay is essentially a View and an on-screen quad. You should +/// create the Overlay then load content into the underlying View. +/// +class AExport Overlay : public RefCounted { +public: + /// + /// Create a new Overlay. + /// + /// @param window The window to create the Overlay in. (we currently only + /// support one window per application) + /// + /// @param width The width in pixels. + /// + /// @param height The height in pixels. + /// + /// @param x The x-position (offset from the left of the Window), in + /// pixels. + /// + /// @param y The y-position (offset from the top of the Window), in + /// pixels. + /// + static Ref Create(Ref window, uint32_t width, + uint32_t height, int x, int y); + + /// + /// Create a new Overlay, wrapping an existing View. + /// + /// @param window The window to create the Overlay in. (we currently only + /// support one window per application) + /// + /// @param view The View to wrap (will use its width and height). + /// + /// @param x The x-position (offset from the left of the Window), in + /// pixels. + /// + /// @param y The y-position (offset from the top of the Window), in + /// pixels. + /// + static Ref Create(Ref window, Ref view, int x, int y); + + /// + /// Get the underlying View. + /// + virtual ultralight::Ref view() = 0; + + /// + /// Get the width (in pixels). + /// + virtual uint32_t width() const = 0; + + /// + /// Get the height (in pixels). + /// + virtual uint32_t height() const = 0; + + /// + /// Get the x-position (offset from the left of the Window), in pixels. + /// + virtual int x() const = 0; + + /// + /// Get the y-position (offset from the top of the Window), in pixels. + /// + virtual int y() const = 0; + + /// + /// Whether or not the overlay is hidden (not drawn). + /// + virtual bool is_hidden() const = 0; + + /// + /// Hide the overlay (will no longer be drawn) + /// + virtual void Hide() = 0; + + /// + /// Show the overlay. + /// + virtual void Show() = 0; + + /// + /// Whether or not this overlay has keyboard focus. + /// + virtual bool has_focus() const = 0; + + /// + /// Grant this overlay exclusive keyboard focus. + /// + virtual void Focus() = 0; + + /// + /// Remove keyboard focus. + /// + virtual void Unfocus() = 0; + + /// + /// Move the overlay to a new position (in pixels). + /// + virtual void MoveTo(int x, int y) = 0; + + /// + /// Resize the overlay (and underlying View), dimensions should be + /// specified in pixels. + /// + virtual void Resize(uint32_t width, uint32_t height) = 0; + + /// + /// Whether or not this Overlay needs repaint (either it has moved, resized, + /// or the internal View needs repaint). + /// + virtual bool NeedsRepaint() = 0; + +protected: + virtual ~Overlay(); + virtual void Draw() = 0; + friend class OverlayManager; +}; + +} // namespace framework diff --git a/include/AppCore/Platform.h b/include/AppCore/Platform.h new file mode 100644 index 0000000..4dcda9f --- /dev/null +++ b/include/AppCore/Platform.h @@ -0,0 +1,53 @@ +/// +/// @file Platform.h +/// +/// @brief The header for the Platform helpers. +/// +/// @author +/// +/// This file is a part of Ultralight, a fast, lightweight, HTML UI engine +/// +/// Website: +/// +/// Copyright (C) 2020 Ultralight, Inc. All rights reserved. +/// +#pragma once +#include "Defines.h" +#include +#include +#include +#include + +namespace ultralight { + +/// +/// Get the native font loader for the current platform. +/// +/// @note This singleton is owned by the library, do not destroy it. +/// +AExport FontLoader* GetPlatformFontLoader(); + +/// +/// Get the native file system for the current platform, creating it if it +/// doesn't exist using the base directory provided. +/// +/// This is used to load data for file:/// URLs. +/// +/// @param baseDir An base file path that will be used to resolve relative +/// file paths. You can optionally specify "@resource_path" +/// on macOS to use the app bundle's resource path. +/// +/// @note This singleton is owned by the library, do not destroy it. +/// +AExport FileSystem* GetPlatformFileSystem(const String& baseDir); + +/// +/// Get the default logger (writes the log to a file on disk). +/// +/// @param logPath A file path to write the log to. +/// +/// @note This singleton is owned by the library, do not destroy it. +/// +AExport Logger* GetDefaultLogger(const String& logPath); + +} // namespace ultralight diff --git a/include/AppCore/Window.h b/include/AppCore/Window.h new file mode 100644 index 0000000..b200457 --- /dev/null +++ b/include/AppCore/Window.h @@ -0,0 +1,157 @@ +/// +/// @file Window.h +/// +/// @brief The header for the Window class. +/// +/// @author +/// +/// This file is a part of Ultralight, a fast, lightweight, HTML UI engine +/// +/// Website: +/// +/// Copyright (C) 2019 Ultralight, Inc. All rights reserved. +/// +#pragma once +#include "Defines.h" +#include +#include +#include + +namespace ultralight { + +class Monitor; +class OverlayManager; +class Surface; + +/// +/// Interface for all Window-related events. @see Window::set_listener +/// +class WindowListener { +public: + virtual ~WindowListener() {} + + /// + /// Called when the Window is closed. + /// + virtual void OnClose() = 0; + + /// + /// Called when the Window is resized. + /// + /// @param width The new width (in pixels). + /// + /// @param height The new height (in pixels). + /// + virtual void OnResize(uint32_t width, uint32_t height) = 0; +}; + +/// +/// Window creation flags. @see Window::Create +/// +enum WindowFlags : uint8_t { + kWindowFlags_Borderless = 1 << 0, + kWindowFlags_Titled = 1 << 1, + kWindowFlags_Resizable = 1 << 2, + kWindowFlags_Maximizable = 1 << 3, +}; + +/// +/// Window class, represents a platform window. +/// +class AExport Window : public RefCounted { +public: + /// + /// Create a new Window. + /// + /// @param monitor The monitor to create the Window on. + /// + /// @param width The width (in device coordinates). + /// + /// @param height The height (in device coordinates). + /// + /// @param fullscreen Whether or not the window is fullscreen. + /// + /// @param window_flags Various window flags. + /// + static Ref Create(Monitor* monitor, uint32_t width, uint32_t height, + bool fullscreen, unsigned int window_flags); + + /// + /// Set a WindowListener to receive callbacks for window-related events. + /// + /// @note Ownership remains with the caller. + /// + virtual void set_listener(WindowListener* listener) = 0; + + /// + /// Get the WindowListener, if any. + /// + virtual WindowListener* listener() = 0; + + /// + /// Get the window width (in pixels). + /// + virtual uint32_t width() const = 0; + + /// + /// Get the window height (in pixels). + /// + virtual uint32_t height() const = 0; + + /// + /// Whether or not the window is fullscreen. + /// + virtual bool is_fullscreen() const = 0; + + /// + /// The DPI scale of the window. + /// + virtual double scale() const = 0; + + /// + /// Set the window title. + /// + virtual void SetTitle(const char* title) = 0; + + /// + /// Set the cursor. + /// + virtual void SetCursor(ultralight::Cursor cursor) = 0; + + /// + /// Close the window. + /// + virtual void Close() = 0; + + /// + /// Convert device coordinates to pixels using the current DPI scale. + /// + virtual int DeviceToPixels(int val) const = 0; + + /// + /// Convert pixels to device coordinates using the current DPI scale. + /// + virtual int PixelsToDevice(int val) const = 0; + + /// + /// Draw a surface directly to window, used only by CPU renderer + /// + virtual void DrawSurface(int x, int y, Surface* surface) {} + + /// + /// Get the underlying native window handle. + /// + /// @note This is: - HWND on Windows + /// - NSWindow* on macOS + /// - GLFWwindow* on Linux + /// + virtual void* native_handle() const = 0; + +protected: + virtual ~Window(); + virtual OverlayManager* overlay_manager() const = 0; + + friend class OverlayImpl; +}; + +} // namespace ultralight diff --git a/include/JavaScriptCore/JSBase.h b/include/JavaScriptCore/JSBase.h index bc85aca..01c1b28 100644 --- a/include/JavaScriptCore/JSBase.h +++ b/include/JavaScriptCore/JSBase.h @@ -68,20 +68,27 @@ typedef const struct OpaqueJSValue* JSValueRef; /*! @typedef JSObjectRef A JavaScript object. A JSObject is a JSValue. */ typedef struct OpaqueJSValue* JSObjectRef; +/* Clang's __has_declspec_attribute emulation */ +/* https://clang.llvm.org/docs/LanguageExtensions.html#has-declspec-attribute */ + +#ifndef __has_declspec_attribute +#define __has_declspec_attribute(x) 0 +#endif + /* JavaScript symbol exports */ -/* These rules should stay the same as in WebKit2/Shared/API/c/WKBase.h */ +/* These rules should stay the same as in WebKit/Shared/API/c/WKDeclarationSpecifiers.h */ #undef JS_EXPORT #if defined(JS_NO_EXPORT) #define JS_EXPORT -#elif defined(__GNUC__) && !defined(__CC_ARM) && !defined(__ARMCC__) -#define JS_EXPORT __attribute__((visibility("default"))) -#elif defined(WIN32) || defined(_WIN32) || defined(_WIN32_WCE) || defined(__CC_ARM) || defined(__ARMCC__) +#elif defined(WIN32) || defined(_WIN32) || defined(__CC_ARM) || defined(__ARMCC__) || (__has_declspec_attribute(dllimport) && __has_declspec_attribute(dllexport)) #if defined(BUILDING_JavaScriptCore) || defined(STATICALLY_LINKED_WITH_JavaScriptCore) #define JS_EXPORT __declspec(dllexport) #else #define JS_EXPORT __declspec(dllimport) #endif +#elif defined(__GNUC__) +#define JS_EXPORT __attribute__((visibility("default"))) #else /* !defined(JS_NO_EXPORT) */ #define JS_EXPORT #endif /* defined(JS_NO_EXPORT) */ @@ -136,9 +143,13 @@ JS_EXPORT void JSGarbageCollect(JSContextRef ctx); } #endif -/* Enable the Objective-C API for platforms with a modern runtime. */ +/* Enable the Objective-C API for platforms with a modern runtime. NOTE: This is duplicated in VM.h. */ #if !defined(JSC_OBJC_API_ENABLED) -#define JSC_OBJC_API_ENABLED (defined(__clang__) && defined(__APPLE__) && ((defined(__MAC_OS_X_VERSION_MIN_REQUIRED) && !defined(__i386__)) || (defined(TARGET_OS_IPHONE) && TARGET_OS_IPHONE))) +#if (defined(__clang__) && defined(__APPLE__) && ((defined(__MAC_OS_X_VERSION_MIN_REQUIRED) && !defined(__i386__)) || (defined(TARGET_OS_IPHONE) && TARGET_OS_IPHONE))) +#define JSC_OBJC_API_ENABLED 1 +#else +#define JSC_OBJC_API_ENABLED 0 +#endif #endif #endif /* JSBase_h */ diff --git a/include/JavaScriptCore/JSContextRef.h b/include/JavaScriptCore/JSContextRef.h index 0c800bc..1ce7435 100644 --- a/include/JavaScriptCore/JSContextRef.h +++ b/include/JavaScriptCore/JSContextRef.h @@ -46,9 +46,14 @@ extern "C" { JavaScript objects between contexts in different groups will produce undefined behavior. When objects from the same context group are used in multiple threads, explicit synchronization is required. + + A JSContextGroup may need to run deferred tasks on a run loop, such as garbage collection + or resolving WebAssembly compilations. By default, calling JSContextGroupCreate will use + the run loop of the thread it was called on. Currently, there is no API to change a + JSContextGroup's run loop once it has been created. @result The created JSContextGroup. */ -JS_EXPORT JSContextGroupRef JSContextGroupCreate(void) CF_AVAILABLE(10_6, 7_0); +JS_EXPORT JSContextGroupRef JSContextGroupCreate(void) JSC_API_AVAILABLE(macos(10.6), ios(7.0)); /*! @function @@ -56,14 +61,14 @@ JS_EXPORT JSContextGroupRef JSContextGroupCreate(void) CF_AVAILABLE(10_6, 7_0); @param group The JSContextGroup to retain. @result A JSContextGroup that is the same as group. */ -JS_EXPORT JSContextGroupRef JSContextGroupRetain(JSContextGroupRef group) CF_AVAILABLE(10_6, 7_0); +JS_EXPORT JSContextGroupRef JSContextGroupRetain(JSContextGroupRef group) JSC_API_AVAILABLE(macos(10.6), ios(7.0)); /*! @function @abstract Releases a JavaScript context group. @param group The JSContextGroup to release. */ -JS_EXPORT void JSContextGroupRelease(JSContextGroupRef group) CF_AVAILABLE(10_6, 7_0); +JS_EXPORT void JSContextGroupRelease(JSContextGroupRef group) JSC_API_AVAILABLE(macos(10.6), ios(7.0)); /*! @function @@ -78,7 +83,7 @@ JS_EXPORT void JSContextGroupRelease(JSContextGroupRef group) CF_AVAILABLE(10_6, NULL to use the default object class. @result A JSGlobalContext with a global object of class globalObjectClass. */ -JS_EXPORT JSGlobalContextRef JSGlobalContextCreate(JSClassRef globalObjectClass) CF_AVAILABLE(10_5, 7_0); +JS_EXPORT JSGlobalContextRef JSGlobalContextCreate(JSClassRef globalObjectClass) JSC_API_AVAILABLE(macos(10.5), ios(7.0)); /*! @function @@ -92,7 +97,7 @@ JS_EXPORT JSGlobalContextRef JSGlobalContextCreate(JSClassRef globalObjectClass) @result A JSGlobalContext with a global object of class globalObjectClass and a context group equal to group. */ -JS_EXPORT JSGlobalContextRef JSGlobalContextCreateInGroup(JSContextGroupRef group, JSClassRef globalObjectClass) CF_AVAILABLE(10_6, 7_0); +JS_EXPORT JSGlobalContextRef JSGlobalContextCreateInGroup(JSContextGroupRef group, JSClassRef globalObjectClass) JSC_API_AVAILABLE(macos(10.6), ios(7.0)); /*! @function @@ -123,7 +128,7 @@ JS_EXPORT JSObjectRef JSContextGetGlobalObject(JSContextRef ctx); @param ctx The JSContext whose group you want to get. @result ctx's group. */ -JS_EXPORT JSContextGroupRef JSContextGetGroup(JSContextRef ctx) CF_AVAILABLE(10_6, 7_0); +JS_EXPORT JSContextGroupRef JSContextGetGroup(JSContextRef ctx) JSC_API_AVAILABLE(macos(10.6), ios(7.0)); /*! @function @@ -131,7 +136,7 @@ JS_EXPORT JSContextGroupRef JSContextGetGroup(JSContextRef ctx) CF_AVAILABLE(10_ @param ctx The JSContext whose global context you want to get. @result ctx's global context. */ -JS_EXPORT JSGlobalContextRef JSContextGetGlobalContext(JSContextRef ctx) CF_AVAILABLE(10_7, 7_0); +JS_EXPORT JSGlobalContextRef JSContextGetGlobalContext(JSContextRef ctx) JSC_API_AVAILABLE(macos(10.7), ios(7.0)); /*! @function @@ -141,7 +146,7 @@ JS_EXPORT JSGlobalContextRef JSContextGetGlobalContext(JSContextRef ctx) CF_AVAI @discussion A JSGlobalContext's name is exposed for remote debugging to make it easier to identify the context you would like to attach to. */ -JS_EXPORT JSStringRef JSGlobalContextCopyName(JSGlobalContextRef ctx) CF_AVAILABLE(10_10, 8_0); +JS_EXPORT JSStringRef JSGlobalContextCopyName(JSGlobalContextRef ctx) JSC_API_AVAILABLE(macos(10.10), ios(8.0)); /*! @function @@ -149,7 +154,7 @@ JS_EXPORT JSStringRef JSGlobalContextCopyName(JSGlobalContextRef ctx) CF_AVAILAB @param ctx The JSGlobalContext that you want to name. @param name The remote debugging name to set on ctx. */ -JS_EXPORT void JSGlobalContextSetName(JSGlobalContextRef ctx, JSStringRef name) CF_AVAILABLE(10_10, 8_0); +JS_EXPORT void JSGlobalContextSetName(JSGlobalContextRef ctx, JSStringRef name) JSC_API_AVAILABLE(macos(10.10), ios(8.0)); #ifdef __cplusplus } diff --git a/include/JavaScriptCore/JSObjectRef.h b/include/JavaScriptCore/JSObjectRef.h index 95d53b7..e2caaea 100644 --- a/include/JavaScriptCore/JSObjectRef.h +++ b/include/JavaScriptCore/JSObjectRef.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2006, 2007 Apple Inc. All rights reserved. + * Copyright (C) 2006-2019 Apple Inc. All rights reserved. * Copyright (C) 2008 Kelvin W Sherlock (ksherlock@gmail.com) * * Redistribution and use in source and binary forms, with or without @@ -91,6 +91,10 @@ derived class (the parent class) first, and the most derived class last. typedef void (*JSObjectInitializeCallback) (JSContextRef ctx, JSObjectRef object); +/* Extension of the above callback with the class that the method is being invoked for. */ +typedef void +(*JSObjectInitializeCallbackEx) (JSContextRef ctx, JSClassRef jsClass, JSObjectRef object); + /*! @typedef JSObjectFinalizeCallback @abstract The callback invoked when an object is finalized (prepared for garbage collection). An object may be finalized on any thread. @@ -109,6 +113,10 @@ all functions that have a JSContextRef parameter. typedef void (*JSObjectFinalizeCallback) (JSObjectRef object); +/* Extension of the above callback with the class that the method is being invoked for. */ +typedef void +(*JSObjectFinalizeCallbackEx) (JSClassRef jsClass, JSObjectRef object); + /*! @typedef JSObjectHasPropertyCallback @abstract The callback invoked when determining whether an object has a property. @@ -129,6 +137,10 @@ If this callback is NULL, the getProperty callback will be used to service hasPr typedef bool (*JSObjectHasPropertyCallback) (JSContextRef ctx, JSObjectRef object, JSStringRef propertyName); +/* Extension of the above callback with the class that the method is being invoked for. */ +typedef bool +(*JSObjectHasPropertyCallbackEx) (JSContextRef ctx, JSClassRef jsClass, JSObjectRef object, JSStringRef propertyName); + /*! @typedef JSObjectGetPropertyCallback @abstract The callback invoked when getting a property's value. @@ -146,6 +158,10 @@ If this function returns NULL, the get request forwards to object's statically d typedef JSValueRef (*JSObjectGetPropertyCallback) (JSContextRef ctx, JSObjectRef object, JSStringRef propertyName, JSValueRef* exception); +/* Extension of the above callback with the class that the method is being invoked for. */ +typedef JSValueRef +(*JSObjectGetPropertyCallbackEx) (JSContextRef ctx, JSClassRef jsClass, JSObjectRef object, JSStringRef propertyName, JSValueRef* exception); + /*! @typedef JSObjectSetPropertyCallback @abstract The callback invoked when setting a property's value. @@ -164,6 +180,10 @@ If this function returns false, the set request forwards to object's statically typedef bool (*JSObjectSetPropertyCallback) (JSContextRef ctx, JSObjectRef object, JSStringRef propertyName, JSValueRef value, JSValueRef* exception); +/* Extension of the above callback with the class that the method is being invoked for. */ +typedef bool +(*JSObjectSetPropertyCallbackEx) (JSContextRef ctx, JSClassRef jsClass, JSObjectRef object, JSStringRef propertyName, JSValueRef value, JSValueRef* exception); + /*! @typedef JSObjectDeletePropertyCallback @abstract The callback invoked when deleting a property. @@ -181,6 +201,10 @@ If this function returns false, the delete request forwards to object's statical typedef bool (*JSObjectDeletePropertyCallback) (JSContextRef ctx, JSObjectRef object, JSStringRef propertyName, JSValueRef* exception); +/* Extension of the above callback with the class that the method is being invoked for. */ +typedef bool +(*JSObjectDeletePropertyCallbackEx) (JSContextRef ctx, JSClassRef jsClass, JSObjectRef object, JSStringRef propertyName, JSValueRef* exception); + /*! @typedef JSObjectGetPropertyNamesCallback @abstract The callback invoked when collecting the names of an object's properties. @@ -198,6 +222,10 @@ Use JSPropertyNameAccumulatorAddName to add property names to accumulator. A cla typedef void (*JSObjectGetPropertyNamesCallback) (JSContextRef ctx, JSObjectRef object, JSPropertyNameAccumulatorRef propertyNames); +/* Extension of the above callback with the class that the method is being invoked for. */ +typedef void +(*JSObjectGetPropertyNamesCallbackEx) (JSContextRef ctx, JSClassRef jsClass, JSObjectRef object, JSPropertyNameAccumulatorRef propertyNames); + /*! @typedef JSObjectCallAsFunctionCallback @abstract The callback invoked when an object is called as a function. @@ -219,6 +247,12 @@ If this callback is NULL, calling your object as a function will throw an except typedef JSValueRef (*JSObjectCallAsFunctionCallback) (JSContextRef ctx, JSObjectRef function, JSObjectRef thisObject, size_t argumentCount, const JSValueRef arguments[], JSValueRef* exception); +/* Extension of the above callback with the class and class name of the object being called as a function. +@discussion If this is a JSStaticFunctionEx, className will actually be the name of the function. +*/ +typedef JSValueRef +(*JSObjectCallAsFunctionCallbackEx) (JSContextRef ctx, JSClassRef jsClass, JSStringRef className, JSObjectRef function, JSObjectRef thisObject, size_t argumentCount, const JSValueRef arguments[], JSValueRef* exception); + /*! @typedef JSObjectCallAsConstructorCallback @abstract The callback invoked when an object is used as a constructor in a 'new' expression. @@ -239,6 +273,10 @@ If this callback is NULL, using your object as a constructor in a 'new' expressi typedef JSObjectRef (*JSObjectCallAsConstructorCallback) (JSContextRef ctx, JSObjectRef constructor, size_t argumentCount, const JSValueRef arguments[], JSValueRef* exception); +/* Extension of the above callback with the class that the method is being invoked for. */ +typedef JSObjectRef +(*JSObjectCallAsConstructorCallbackEx) (JSContextRef ctx, JSClassRef jsClass, JSObjectRef constructor, size_t argumentCount, const JSValueRef arguments[], JSValueRef* exception); + /*! @typedef JSObjectHasInstanceCallback @abstract hasInstance The callback invoked when an object is used as the target of an 'instanceof' expression. @@ -260,6 +298,10 @@ Standard JavaScript practice calls for objects that implement the callAsConstruc typedef bool (*JSObjectHasInstanceCallback) (JSContextRef ctx, JSObjectRef constructor, JSValueRef possibleInstance, JSValueRef* exception); +/* Extension of the above callback with the class that the method is being invoked for. */ +typedef bool +(*JSObjectHasInstanceCallbackEx) (JSContextRef ctx, JSClassRef jsClass, JSObjectRef constructor, JSValueRef possibleInstance, JSValueRef* exception); + /*! @typedef JSObjectConvertToTypeCallback @abstract The callback invoked when converting an object to a particular JavaScript type. @@ -279,6 +321,10 @@ This function is only invoked when converting an object to number or string. An typedef JSValueRef (*JSObjectConvertToTypeCallback) (JSContextRef ctx, JSObjectRef object, JSType type, JSValueRef* exception); +/* Extension of the above callback with the class that the method is being invoked for. */ +typedef JSValueRef +(*JSObjectConvertToTypeCallbackEx) (JSContextRef ctx, JSClassRef jsClass, JSObjectRef object, JSType type, JSValueRef* exception); + /*! @struct JSStaticValue @abstract This structure describes a statically declared value property. @@ -294,6 +340,14 @@ typedef struct { JSPropertyAttributes attributes; } JSStaticValue; +/* Extension of the above structure for use with class version 1000 */ +typedef struct { + const char* name; + JSObjectGetPropertyCallbackEx getPropertyEx; + JSObjectSetPropertyCallbackEx setPropertyEx; + JSPropertyAttributes attributes; +} JSStaticValueEx; + /*! @struct JSStaticFunction @abstract This structure describes a statically declared function property. @@ -307,6 +361,13 @@ typedef struct { JSPropertyAttributes attributes; } JSStaticFunction; +/* Extension of the above structure for use with class version 1000 */ +typedef struct { + const char* name; + JSObjectCallAsFunctionCallbackEx callAsFunctionEx; + JSPropertyAttributes attributes; +} JSStaticFunctionEx; + /*! @struct JSClassDefinition @abstract This structure contains properties and callbacks that define a type of object. All fields other than the version field are optional. Any pointer may be NULL. @@ -341,26 +402,49 @@ Standard JavaScript practice calls for storing function objects in prototypes, s A NULL callback specifies that the default object callback should substitute, except in the case of hasProperty, where it specifies that getProperty should substitute. */ typedef struct { - int version; /* current (and only) version is 0 */ + int version; /* default version is 0, use version 1000 for callbacks with extended class information */ JSClassAttributes attributes; const char* className; JSClassRef parentClass; - - const JSStaticValue* staticValues; - const JSStaticFunction* staticFunctions; - - JSObjectInitializeCallback initialize; - JSObjectFinalizeCallback finalize; - JSObjectHasPropertyCallback hasProperty; - JSObjectGetPropertyCallback getProperty; - JSObjectSetPropertyCallback setProperty; - JSObjectDeletePropertyCallback deleteProperty; - JSObjectGetPropertyNamesCallback getPropertyNames; - JSObjectCallAsFunctionCallback callAsFunction; - JSObjectCallAsConstructorCallback callAsConstructor; - JSObjectHasInstanceCallback hasInstance; - JSObjectConvertToTypeCallback convertToType; + + union { + /* version 0 */ + struct { + const JSStaticValue* staticValues; + const JSStaticFunction* staticFunctions; + JSObjectInitializeCallback initialize; + JSObjectFinalizeCallback finalize; + JSObjectHasPropertyCallback hasProperty; + JSObjectGetPropertyCallback getProperty; + JSObjectSetPropertyCallback setProperty; + JSObjectDeletePropertyCallback deleteProperty; + JSObjectGetPropertyNamesCallback getPropertyNames; + JSObjectCallAsFunctionCallback callAsFunction; + JSObjectCallAsConstructorCallback callAsConstructor; + JSObjectHasInstanceCallback hasInstance; + JSObjectConvertToTypeCallback convertToType; + }; + + /* version 1000 */ + struct { + const JSStaticValueEx* staticValuesEx; + const JSStaticFunctionEx* staticFunctionsEx; + JSObjectInitializeCallbackEx initializeEx; + JSObjectFinalizeCallbackEx finalizeEx; + JSObjectHasPropertyCallbackEx hasPropertyEx; + JSObjectGetPropertyCallbackEx getPropertyEx; + JSObjectSetPropertyCallbackEx setPropertyEx; + JSObjectDeletePropertyCallbackEx deletePropertyEx; + JSObjectGetPropertyNamesCallbackEx getPropertyNamesEx; + JSObjectCallAsFunctionCallbackEx callAsFunctionEx; + JSObjectCallAsConstructorCallbackEx callAsConstructorEx; + JSObjectHasInstanceCallbackEx hasInstanceEx; + JSObjectConvertToTypeCallbackEx convertToTypeEx; + }; + }; + + void* privateData; /* version 1000 only */ } JSClassDefinition; /*! @@ -396,6 +480,25 @@ JS_EXPORT JSClassRef JSClassRetain(JSClassRef jsClass); */ JS_EXPORT void JSClassRelease(JSClassRef jsClass); +/*! +@function +@abstract Retrieves the private data from a class reference, only possible with classes created with version 1000 (extended callbacks). +@param jsClass The class to get the data from +@result The private data on the class, or NULL, if not set +@discussion Only classes with version 1000 (extended callbacks) can store private data, for other classes always NULL will always be returned. +*/ +JS_EXPORT void* JSClassGetPrivate(JSClassRef jsClass); + +/*! +@function +@abstract Sets the private data on a class, only possible with classes created with version 1000 (extended callbacks). +@param jsClass The class to set the data on +@param data A void* to set as the private data for the class +@result true if the data has been set on the class, false if the class has not been created with version 1000 (extended callbacks) +@discussion Only classes with version 1000 (extended callbacks) can store private data, for other classes the function always fails. The set pointer is not touched by the engine. +*/ +JS_EXPORT bool JSClassSetPrivate(JSClassRef jsClass, void* data); + /*! @function @abstract Creates a JavaScript object. @@ -441,7 +544,7 @@ JS_EXPORT JSObjectRef JSObjectMakeConstructor(JSContextRef ctx, JSClassRef jsCla @discussion The behavior of this function does not exactly match the behavior of the built-in Array constructor. Specifically, if one argument is supplied, this function returns an array with one element. */ -JS_EXPORT JSObjectRef JSObjectMakeArray(JSContextRef ctx, size_t argumentCount, const JSValueRef arguments[], JSValueRef* exception) CF_AVAILABLE(10_6, 7_0); +JS_EXPORT JSObjectRef JSObjectMakeArray(JSContextRef ctx, size_t argumentCount, const JSValueRef arguments[], JSValueRef* exception) JSC_API_AVAILABLE(macos(10.6), ios(7.0)); /*! @function @@ -452,7 +555,7 @@ JS_EXPORT JSObjectRef JSObjectMakeArray(JSContextRef ctx, size_t argumentCount, @param exception A pointer to a JSValueRef in which to store an exception, if any. Pass NULL if you do not care to store an exception. @result A JSObject that is a Date. */ -JS_EXPORT JSObjectRef JSObjectMakeDate(JSContextRef ctx, size_t argumentCount, const JSValueRef arguments[], JSValueRef* exception) CF_AVAILABLE(10_6, 7_0); +JS_EXPORT JSObjectRef JSObjectMakeDate(JSContextRef ctx, size_t argumentCount, const JSValueRef arguments[], JSValueRef* exception) JSC_API_AVAILABLE(macos(10.6), ios(7.0)); /*! @function @@ -463,7 +566,7 @@ JS_EXPORT JSObjectRef JSObjectMakeDate(JSContextRef ctx, size_t argumentCount, c @param exception A pointer to a JSValueRef in which to store an exception, if any. Pass NULL if you do not care to store an exception. @result A JSObject that is a Error. */ -JS_EXPORT JSObjectRef JSObjectMakeError(JSContextRef ctx, size_t argumentCount, const JSValueRef arguments[], JSValueRef* exception) CF_AVAILABLE(10_6, 7_0); +JS_EXPORT JSObjectRef JSObjectMakeError(JSContextRef ctx, size_t argumentCount, const JSValueRef arguments[], JSValueRef* exception) JSC_API_AVAILABLE(macos(10.6), ios(7.0)); /*! @function @@ -474,7 +577,18 @@ JS_EXPORT JSObjectRef JSObjectMakeError(JSContextRef ctx, size_t argumentCount, @param exception A pointer to a JSValueRef in which to store an exception, if any. Pass NULL if you do not care to store an exception. @result A JSObject that is a RegExp. */ -JS_EXPORT JSObjectRef JSObjectMakeRegExp(JSContextRef ctx, size_t argumentCount, const JSValueRef arguments[], JSValueRef* exception) CF_AVAILABLE(10_6, 7_0); +JS_EXPORT JSObjectRef JSObjectMakeRegExp(JSContextRef ctx, size_t argumentCount, const JSValueRef arguments[], JSValueRef* exception) JSC_API_AVAILABLE(macos(10.6), ios(7.0)); + +/*! + @function + @abstract Creates a JavaScript promise object by invoking the provided executor. + @param ctx The execution context to use. + @param resolve A pointer to a JSObjectRef in which to store the resolve function for the new promise. Pass NULL if you do not care to store the resolve callback. + @param reject A pointer to a JSObjectRef in which to store the reject function for the new promise. Pass NULL if you do not care to store the reject callback. + @param exception A pointer to a JSValueRef in which to store an exception, if any. Pass NULL if you do not care to store an exception. + @result A JSObject that is a promise or NULL if an exception occurred. + */ +JS_EXPORT JSObjectRef JSObjectMakeDeferredPromise(JSContextRef ctx, JSObjectRef* resolve, JSObjectRef* reject, JSValueRef* exception) JSC_API_AVAILABLE(macos(10.15), ios(13.0)); /*! @function @@ -536,9 +650,9 @@ JS_EXPORT JSValueRef JSObjectGetProperty(JSContextRef ctx, JSObjectRef object, J @param ctx The execution context to use. @param object The JSObject whose property you want to set. @param propertyName A JSString containing the property's name. -@param value A JSValue to use as the property's value. -@param exception A pointer to a JSValueRef in which to store an exception, if any. Pass NULL if you do not care to store an exception. +@param value A JSValueRef to use as the property's value. @param attributes A logically ORed set of JSPropertyAttributes to give to the property. +@param exception A pointer to a JSValueRef in which to store an exception, if any. Pass NULL if you do not care to store an exception. */ JS_EXPORT void JSObjectSetProperty(JSContextRef ctx, JSObjectRef object, JSStringRef propertyName, JSValueRef value, JSPropertyAttributes attributes, JSValueRef* exception); @@ -553,6 +667,54 @@ JS_EXPORT void JSObjectSetProperty(JSContextRef ctx, JSObjectRef object, JSStrin */ JS_EXPORT bool JSObjectDeleteProperty(JSContextRef ctx, JSObjectRef object, JSStringRef propertyName, JSValueRef* exception); +/*! + @function + @abstract Tests whether an object has a given property using a JSValueRef as the property key. + @param object The JSObject to test. + @param propertyKey A JSValueRef containing the property key to use when looking up the property. + @param exception A pointer to a JSValueRef in which to store an exception, if any. Pass NULL if you do not care to store an exception. + @result true if the object has a property whose name matches propertyKey, otherwise false. + @discussion This function is the same as performing "propertyKey in object" from JavaScript. + */ +JS_EXPORT bool JSObjectHasPropertyForKey(JSContextRef ctx, JSObjectRef object, JSValueRef propertyKey, JSValueRef* exception) JSC_API_AVAILABLE(macos(10.15), ios(13.0)); + +/*! + @function + @abstract Gets a property from an object using a JSValueRef as the property key. + @param ctx The execution context to use. + @param object The JSObject whose property you want to get. + @param propertyKey A JSValueRef containing the property key to use when looking up the property. + @param exception A pointer to a JSValueRef in which to store an exception, if any. Pass NULL if you do not care to store an exception. + @result The property's value if object has the property key, otherwise the undefined value. + @discussion This function is the same as performing "object[propertyKey]" from JavaScript. + */ +JS_EXPORT JSValueRef JSObjectGetPropertyForKey(JSContextRef ctx, JSObjectRef object, JSValueRef propertyKey, JSValueRef* exception) JSC_API_AVAILABLE(macos(10.15), ios(13.0)); + +/*! + @function + @abstract Sets a property on an object using a JSValueRef as the property key. + @param ctx The execution context to use. + @param object The JSObject whose property you want to set. + @param propertyKey A JSValueRef containing the property key to use when looking up the property. + @param value A JSValueRef to use as the property's value. + @param attributes A logically ORed set of JSPropertyAttributes to give to the property. + @param exception A pointer to a JSValueRef in which to store an exception, if any. Pass NULL if you do not care to store an exception. + @discussion This function is the same as performing "object[propertyKey] = value" from JavaScript. + */ +JS_EXPORT void JSObjectSetPropertyForKey(JSContextRef ctx, JSObjectRef object, JSValueRef propertyKey, JSValueRef value, JSPropertyAttributes attributes, JSValueRef* exception) JSC_API_AVAILABLE(macos(10.15), ios(13.0)); + +/*! + @function + @abstract Deletes a property from an object using a JSValueRef as the property key. + @param ctx The execution context to use. + @param object The JSObject whose property you want to delete. + @param propertyKey A JSValueRef containing the property key to use when looking up the property. + @param exception A pointer to a JSValueRef in which to store an exception, if any. Pass NULL if you do not care to store an exception. + @result true if the delete operation succeeds, otherwise false (for example, if the property has the kJSPropertyAttributeDontDelete attribute set). + @discussion This function is the same as performing "delete object[propertyKey]" from JavaScript. + */ +JS_EXPORT bool JSObjectDeletePropertyForKey(JSContextRef ctx, JSObjectRef object, JSValueRef propertyKey, JSValueRef* exception) JSC_API_AVAILABLE(macos(10.15), ios(13.0)); + /*! @function @abstract Gets a property from an object by numeric index. diff --git a/include/JavaScriptCore/JSObjectRefPrivate.h b/include/JavaScriptCore/JSObjectRefPrivate.h index 32e80ab..6e32612 100644 --- a/include/JavaScriptCore/JSObjectRefPrivate.h +++ b/include/JavaScriptCore/JSObjectRefPrivate.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2010 Apple Inc. All rights reserved. + * Copyright (C) 2010-2019 Apple Inc. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -67,6 +67,10 @@ JS_EXPORT JSValueRef JSObjectGetPrivateProperty(JSContextRef ctx, JSObjectRef ob */ JS_EXPORT bool JSObjectDeletePrivateProperty(JSContextRef ctx, JSObjectRef object, JSStringRef propertyName); +JS_EXPORT JSObjectRef JSObjectGetProxyTarget(JSObjectRef); + +JS_EXPORT JSGlobalContextRef JSObjectGetGlobalContext(JSObjectRef object); + #ifdef __cplusplus } #endif diff --git a/include/JavaScriptCore/JSRetainPtr.h b/include/JavaScriptCore/JSRetainPtr.h index e400840..f061948 100644 --- a/include/JavaScriptCore/JSRetainPtr.h +++ b/include/JavaScriptCore/JSRetainPtr.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2005, 2006, 2007, 2010 Apple Inc. All rights reserved. + * Copyright (C) 2005-2018 Apple Inc. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -26,13 +26,16 @@ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -#ifndef JSRetainPtr_h -#define JSRetainPtr_h +#pragma once #include #include #include +#if !defined(WARN_UNUSED_RETURN) +#define WARN_UNUSED_RETURN +#endif + inline void JSRetain(JSStringRef string) { JSStringRetain(string); } inline void JSRelease(JSStringRef string) { JSStringRelease(string); } inline void JSRetain(JSGlobalContextRef context) { JSGlobalContextRetain(context); } @@ -42,17 +45,16 @@ enum AdoptTag { Adopt }; template class JSRetainPtr { public: - JSRetainPtr() : m_ptr(0) { } + JSRetainPtr() = default; JSRetainPtr(T ptr) : m_ptr(ptr) { if (ptr) JSRetain(ptr); } - JSRetainPtr(AdoptTag, T ptr) : m_ptr(ptr) { } JSRetainPtr(const JSRetainPtr&); - template JSRetainPtr(const JSRetainPtr&); + JSRetainPtr(JSRetainPtr&&); ~JSRetainPtr(); T get() const { return m_ptr; } void clear(); - T leakRef(); + T leakRef() WARN_UNUSED_RETURN; T operator->() const { return m_ptr; } @@ -60,18 +62,30 @@ public: explicit operator bool() const { return m_ptr; } JSRetainPtr& operator=(const JSRetainPtr&); - template JSRetainPtr& operator=(const JSRetainPtr&); + JSRetainPtr& operator=(JSRetainPtr&&); JSRetainPtr& operator=(T); - template JSRetainPtr& operator=(U*); - void adopt(T); - void swap(JSRetainPtr&); + friend JSRetainPtr adopt(JSStringRef); + friend JSRetainPtr adopt(JSGlobalContextRef); + + // FIXME: Make this private once Apple's internal code is updated to not rely on it. + // https://bugs.webkit.org/show_bug.cgi?id=189644 + JSRetainPtr(AdoptTag, T); + private: - T m_ptr; + T m_ptr { nullptr }; }; +JSRetainPtr adopt(JSStringRef); +JSRetainPtr adopt(JSGlobalContextRef); + +template inline JSRetainPtr::JSRetainPtr(AdoptTag, T ptr) + : m_ptr(ptr) +{ +} + inline JSRetainPtr adopt(JSStringRef o) { return JSRetainPtr(Adopt, o); @@ -89,11 +103,9 @@ template inline JSRetainPtr::JSRetainPtr(const JSRetainPtr& o) JSRetain(m_ptr); } -template template inline JSRetainPtr::JSRetainPtr(const JSRetainPtr& o) - : m_ptr(o.get()) +template inline JSRetainPtr::JSRetainPtr(JSRetainPtr&& o) + : m_ptr(o.leakRef()) { - if (m_ptr) - JSRetain(m_ptr); } template inline JSRetainPtr::~JSRetainPtr() @@ -104,39 +116,23 @@ template inline JSRetainPtr::~JSRetainPtr() template inline void JSRetainPtr::clear() { - if (T ptr = m_ptr) { - m_ptr = 0; + if (T ptr = leakRef()) JSRelease(ptr); - } } template inline T JSRetainPtr::leakRef() { - T ptr = m_ptr; - m_ptr = 0; - return ptr; + return std::exchange(m_ptr, nullptr); } template inline JSRetainPtr& JSRetainPtr::operator=(const JSRetainPtr& o) { - T optr = o.get(); - if (optr) - JSRetain(optr); - T ptr = m_ptr; - m_ptr = optr; - if (ptr) - JSRelease(ptr); - return *this; + return operator=(o.get()); } -template template inline JSRetainPtr& JSRetainPtr::operator=(const JSRetainPtr& o) +template inline JSRetainPtr& JSRetainPtr::operator=(JSRetainPtr&& o) { - T optr = o.get(); - if (optr) - JSRetain(optr); - T ptr = m_ptr; - m_ptr = optr; - if (ptr) + if (T ptr = std::exchange(m_ptr, o.leakRef())) JSRelease(ptr); return *this; } @@ -145,28 +141,7 @@ template inline JSRetainPtr& JSRetainPtr::operator=(T optr) { if (optr) JSRetain(optr); - T ptr = m_ptr; - m_ptr = optr; - if (ptr) - JSRelease(ptr); - return *this; -} - -template inline void JSRetainPtr::adopt(T optr) -{ - T ptr = m_ptr; - m_ptr = optr; - if (ptr) - JSRelease(ptr); -} - -template template inline JSRetainPtr& JSRetainPtr::operator=(U* optr) -{ - if (optr) - JSRetain(optr); - T ptr = m_ptr; - m_ptr = optr; - if (ptr) + if (T ptr = std::exchange(m_ptr, optr)) JSRelease(ptr); return *this; } @@ -210,6 +185,3 @@ template inline bool operator!=(T* a, const JSRetainPtr< { return a != b.get(); } - - -#endif // JSRetainPtr_h diff --git a/include/JavaScriptCore/JSTypedArray.h b/include/JavaScriptCore/JSTypedArray.h index e23b76d..7eaf76c 100644 --- a/include/JavaScriptCore/JSTypedArray.h +++ b/include/JavaScriptCore/JSTypedArray.h @@ -45,7 +45,7 @@ extern "C" { @param exception A pointer to a JSValueRef in which to store an exception, if any. Pass NULL if you do not care to store an exception. @result A JSObjectRef that is a Typed Array with all elements set to zero or NULL if there was an error. */ -JS_EXPORT JSObjectRef JSObjectMakeTypedArray(JSContextRef ctx, JSTypedArrayType arrayType, size_t length, JSValueRef* exception) CF_AVAILABLE(10_12, 10_0); +JS_EXPORT JSObjectRef JSObjectMakeTypedArray(JSContextRef ctx, JSTypedArrayType arrayType, size_t length, JSValueRef* exception) JSC_API_AVAILABLE(macos(10.12), ios(10.0)); /*! @function @@ -60,7 +60,7 @@ JS_EXPORT JSObjectRef JSObjectMakeTypedArray(JSContextRef ctx, JSTypedArrayType @result A JSObjectRef Typed Array whose backing store is the same as the one pointed to by bytes or NULL if there was an error. @discussion If an exception is thrown during this function the bytesDeallocator will always be called. */ -JS_EXPORT JSObjectRef JSObjectMakeTypedArrayWithBytesNoCopy(JSContextRef ctx, JSTypedArrayType arrayType, void* bytes, size_t byteLength, JSTypedArrayBytesDeallocator bytesDeallocator, void* deallocatorContext, JSValueRef* exception) CF_AVAILABLE(10_12, 10_0); +JS_EXPORT JSObjectRef JSObjectMakeTypedArrayWithBytesNoCopy(JSContextRef ctx, JSTypedArrayType arrayType, void* bytes, size_t byteLength, JSTypedArrayBytesDeallocator bytesDeallocator, void* deallocatorContext, JSValueRef* exception) JSC_API_AVAILABLE(macos(10.12), ios(10.0)); /*! @function @@ -71,7 +71,7 @@ JS_EXPORT JSObjectRef JSObjectMakeTypedArrayWithBytesNoCopy(JSContextRef ctx, JS @param exception A pointer to a JSValueRef in which to store an exception, if any. Pass NULL if you do not care to store an exception. @result A JSObjectRef that is a Typed Array or NULL if there was an error. The backing store of the Typed Array will be buffer. */ -JS_EXPORT JSObjectRef JSObjectMakeTypedArrayWithArrayBuffer(JSContextRef ctx, JSTypedArrayType arrayType, JSObjectRef buffer, JSValueRef* exception) CF_AVAILABLE(10_12, 10_0); +JS_EXPORT JSObjectRef JSObjectMakeTypedArrayWithArrayBuffer(JSContextRef ctx, JSTypedArrayType arrayType, JSObjectRef buffer, JSValueRef* exception) JSC_API_AVAILABLE(macos(10.12), ios(10.0)); /*! @function @@ -84,7 +84,7 @@ JS_EXPORT JSObjectRef JSObjectMakeTypedArrayWithArrayBuffer(JSContextRef ctx, JS @param exception A pointer to a JSValueRef in which to store an exception, if any. Pass NULL if you do not care to store an exception. @result A JSObjectRef that is a Typed Array or NULL if there was an error. The backing store of the Typed Array will be buffer. */ -JS_EXPORT JSObjectRef JSObjectMakeTypedArrayWithArrayBufferAndOffset(JSContextRef ctx, JSTypedArrayType arrayType, JSObjectRef buffer, size_t byteOffset, size_t length, JSValueRef* exception) CF_AVAILABLE(10_12, 10_0); +JS_EXPORT JSObjectRef JSObjectMakeTypedArrayWithArrayBufferAndOffset(JSContextRef ctx, JSTypedArrayType arrayType, JSObjectRef buffer, size_t byteOffset, size_t length, JSValueRef* exception) JSC_API_AVAILABLE(macos(10.12), ios(10.0)); /*! @function @@ -95,7 +95,7 @@ JS_EXPORT JSObjectRef JSObjectMakeTypedArrayWithArrayBufferAndOffset(JSContextRe @result A pointer to the raw data buffer that serves as object's backing store or NULL if object is not a Typed Array object. @discussion The pointer returned by this function is temporary and is not guaranteed to remain valid across JavaScriptCore API calls. */ -JS_EXPORT void* JSObjectGetTypedArrayBytesPtr(JSContextRef ctx, JSObjectRef object, JSValueRef* exception) CF_AVAILABLE(10_12, 10_0); +JS_EXPORT void* JSObjectGetTypedArrayBytesPtr(JSContextRef ctx, JSObjectRef object, JSValueRef* exception) JSC_API_AVAILABLE(macos(10.12), ios(10.0)); /*! @function @@ -105,7 +105,7 @@ JS_EXPORT void* JSObjectGetTypedArrayBytesPtr(JSContextRef ctx, JSObjectRef obje @param exception A pointer to a JSValueRef in which to store an exception, if any. Pass NULL if you do not care to store an exception. @result The length of the Typed Array object or 0 if the object is not a Typed Array object. */ -JS_EXPORT size_t JSObjectGetTypedArrayLength(JSContextRef ctx, JSObjectRef object, JSValueRef* exception) CF_AVAILABLE(10_12, 10_0); +JS_EXPORT size_t JSObjectGetTypedArrayLength(JSContextRef ctx, JSObjectRef object, JSValueRef* exception) JSC_API_AVAILABLE(macos(10.12), ios(10.0)); /*! @function @@ -115,7 +115,7 @@ JS_EXPORT size_t JSObjectGetTypedArrayLength(JSContextRef ctx, JSObjectRef objec @param exception A pointer to a JSValueRef in which to store an exception, if any. Pass NULL if you do not care to store an exception. @result The byte length of the Typed Array object or 0 if the object is not a Typed Array object. */ -JS_EXPORT size_t JSObjectGetTypedArrayByteLength(JSContextRef ctx, JSObjectRef object, JSValueRef* exception) CF_AVAILABLE(10_12, 10_0); +JS_EXPORT size_t JSObjectGetTypedArrayByteLength(JSContextRef ctx, JSObjectRef object, JSValueRef* exception) JSC_API_AVAILABLE(macos(10.12), ios(10.0)); /*! @function @@ -125,7 +125,7 @@ JS_EXPORT size_t JSObjectGetTypedArrayByteLength(JSContextRef ctx, JSObjectRef o @param exception A pointer to a JSValueRef in which to store an exception, if any. Pass NULL if you do not care to store an exception. @result The byte offset of the Typed Array object or 0 if the object is not a Typed Array object. */ -JS_EXPORT size_t JSObjectGetTypedArrayByteOffset(JSContextRef ctx, JSObjectRef object, JSValueRef* exception) CF_AVAILABLE(10_12, 10_0); +JS_EXPORT size_t JSObjectGetTypedArrayByteOffset(JSContextRef ctx, JSObjectRef object, JSValueRef* exception) JSC_API_AVAILABLE(macos(10.12), ios(10.0)); /*! @function @@ -135,7 +135,7 @@ JS_EXPORT size_t JSObjectGetTypedArrayByteOffset(JSContextRef ctx, JSObjectRef o @param exception A pointer to a JSValueRef in which to store an exception, if any. Pass NULL if you do not care to store an exception. @result A JSObjectRef with a JSTypedArrayType of kJSTypedArrayTypeArrayBuffer or NULL if object is not a Typed Array. */ -JS_EXPORT JSObjectRef JSObjectGetTypedArrayBuffer(JSContextRef ctx, JSObjectRef object, JSValueRef* exception) CF_AVAILABLE(10_12, 10_0); +JS_EXPORT JSObjectRef JSObjectGetTypedArrayBuffer(JSContextRef ctx, JSObjectRef object, JSValueRef* exception) JSC_API_AVAILABLE(macos(10.12), ios(10.0)); // ------------- Array Buffer functions ------------- @@ -151,7 +151,7 @@ JS_EXPORT JSObjectRef JSObjectGetTypedArrayBuffer(JSContextRef ctx, JSObjectRef @result A JSObjectRef Array Buffer whose backing store is the same as the one pointed to by bytes or NULL if there was an error. @discussion If an exception is thrown during this function the bytesDeallocator will always be called. */ -JS_EXPORT JSObjectRef JSObjectMakeArrayBufferWithBytesNoCopy(JSContextRef ctx, void* bytes, size_t byteLength, JSTypedArrayBytesDeallocator bytesDeallocator, void* deallocatorContext, JSValueRef* exception) CF_AVAILABLE(10_12, 10_0); +JS_EXPORT JSObjectRef JSObjectMakeArrayBufferWithBytesNoCopy(JSContextRef ctx, void* bytes, size_t byteLength, JSTypedArrayBytesDeallocator bytesDeallocator, void* deallocatorContext, JSValueRef* exception) JSC_API_AVAILABLE(macos(10.12), ios(10.0)); /*! @function @@ -161,7 +161,7 @@ JS_EXPORT JSObjectRef JSObjectMakeArrayBufferWithBytesNoCopy(JSContextRef ctx, v @result A pointer to the raw data buffer that serves as object's backing store or NULL if object is not an Array Buffer object. @discussion The pointer returned by this function is temporary and is not guaranteed to remain valid across JavaScriptCore API calls. */ -JS_EXPORT void* JSObjectGetArrayBufferBytesPtr(JSContextRef ctx, JSObjectRef object, JSValueRef* exception) CF_AVAILABLE(10_12, 10_0); +JS_EXPORT void* JSObjectGetArrayBufferBytesPtr(JSContextRef ctx, JSObjectRef object, JSValueRef* exception) JSC_API_AVAILABLE(macos(10.12), ios(10.0)); /*! @function @@ -171,7 +171,7 @@ JS_EXPORT void* JSObjectGetArrayBufferBytesPtr(JSContextRef ctx, JSObjectRef obj @param exception A pointer to a JSValueRef in which to store an exception, if any. Pass NULL if you do not care to store an exception. @result The number of bytes stored in the data object. */ -JS_EXPORT size_t JSObjectGetArrayBufferByteLength(JSContextRef ctx, JSObjectRef object, JSValueRef* exception) CF_AVAILABLE(10_12, 10_0); +JS_EXPORT size_t JSObjectGetArrayBufferByteLength(JSContextRef ctx, JSObjectRef object, JSValueRef* exception) JSC_API_AVAILABLE(macos(10.12), ios(10.0)); #ifdef __cplusplus } diff --git a/include/JavaScriptCore/JSValueRef.h b/include/JavaScriptCore/JSValueRef.h index 9815de7..911b4bf 100644 --- a/include/JavaScriptCore/JSValueRef.h +++ b/include/JavaScriptCore/JSValueRef.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2006 Apple Inc. All rights reserved. + * Copyright (C) 2006-2019 Apple Inc. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -42,6 +42,7 @@ @constant kJSTypeNumber A primitive number value. @constant kJSTypeString A primitive string value. @constant kJSTypeObject An object value (meaning that this JSValueRef is a JSObjectRef). +@constant kJSTypeSymbol A primitive symbol value. */ typedef enum { kJSTypeUndefined, @@ -49,7 +50,8 @@ typedef enum { kJSTypeBoolean, kJSTypeNumber, kJSTypeString, - kJSTypeObject + kJSTypeObject, + kJSTypeSymbol JSC_API_AVAILABLE(macos(10.15), ios(13.0)) } JSType; /*! @@ -80,7 +82,7 @@ typedef enum { kJSTypedArrayTypeFloat64Array, kJSTypedArrayTypeArrayBuffer, kJSTypedArrayTypeNone, -} JSTypedArrayType CF_ENUM_AVAILABLE(10_12, 10_0); +} JSTypedArrayType JSC_API_AVAILABLE(macos(10.12), ios(10.0)); #ifdef __cplusplus extern "C" { @@ -140,6 +142,15 @@ JS_EXPORT bool JSValueIsNumber(JSContextRef ctx, JSValueRef value); */ JS_EXPORT bool JSValueIsString(JSContextRef ctx, JSValueRef value); +/*! +@function +@abstract Tests whether a JavaScript value's type is the symbol type. +@param ctx The execution context to use. +@param value The JSValue to test. +@result true if value's type is the symbol type, otherwise false. +*/ +JS_EXPORT bool JSValueIsSymbol(JSContextRef ctx, JSValueRef value) JSC_API_AVAILABLE(macos(10.15), ios(13.0)); + /*! @function @abstract Tests whether a JavaScript value's type is the object type. @@ -149,6 +160,7 @@ JS_EXPORT bool JSValueIsString(JSContextRef ctx, JSValueRef value); */ JS_EXPORT bool JSValueIsObject(JSContextRef ctx, JSValueRef value); + /*! @function @abstract Tests whether a JavaScript value is an object with a given class in its class chain. @@ -166,7 +178,7 @@ JS_EXPORT bool JSValueIsObjectOfClass(JSContextRef ctx, JSValueRef value, JSClas @param value The JSValue to test. @result true if value is an array, otherwise false. */ -JS_EXPORT bool JSValueIsArray(JSContextRef ctx, JSValueRef value) CF_AVAILABLE(10_11, 9_0); +JS_EXPORT bool JSValueIsArray(JSContextRef ctx, JSValueRef value) JSC_API_AVAILABLE(macos(10.11), ios(9.0)); /*! @function @@ -175,7 +187,7 @@ JS_EXPORT bool JSValueIsArray(JSContextRef ctx, JSValueRef value) CF_AVAILABLE(1 @param value The JSValue to test. @result true if value is a date, otherwise false. */ -JS_EXPORT bool JSValueIsDate(JSContextRef ctx, JSValueRef value) CF_AVAILABLE(10_11, 9_0); +JS_EXPORT bool JSValueIsDate(JSContextRef ctx, JSValueRef value) JSC_API_AVAILABLE(macos(10.11), ios(9.0)); /*! @function @@ -185,7 +197,7 @@ JS_EXPORT bool JSValueIsDate(JSContextRef ctx, JSValueRef value) CF_AVAILABLE(10 @param exception A pointer to a JSValueRef in which to store an exception, if any. Pass NULL if you do not care to store an exception. @result A value of type JSTypedArrayType that identifies value's Typed Array type, or kJSTypedArrayTypeNone if the value is not a Typed Array object. */ -JS_EXPORT JSTypedArrayType JSValueGetTypedArrayType(JSContextRef ctx, JSValueRef value, JSValueRef* exception) CF_AVAILABLE(10_12, 10_0); +JS_EXPORT JSTypedArrayType JSValueGetTypedArrayType(JSContextRef ctx, JSValueRef value, JSValueRef* exception) JSC_API_AVAILABLE(macos(10.12), ios(10.0)); /* Comparing values */ @@ -267,6 +279,15 @@ JS_EXPORT JSValueRef JSValueMakeNumber(JSContextRef ctx, double number); */ JS_EXPORT JSValueRef JSValueMakeString(JSContextRef ctx, JSStringRef string); +/*! + @function + @abstract Creates a JavaScript value of the symbol type. + @param ctx The execution context to use. + @param description A description of the newly created symbol value. + @result A unique JSValue of the symbol type, whose description matches the one provided. + */ +JS_EXPORT JSValueRef JSValueMakeSymbol(JSContextRef ctx, JSStringRef description) JSC_API_AVAILABLE(macos(10.15), ios(13.0)); + /* Converting to and from JSON formatted strings */ /*! @@ -276,7 +297,7 @@ JS_EXPORT JSValueRef JSValueMakeString(JSContextRef ctx, JSStringRef string); @param string The JSString containing the JSON string to be parsed. @result A JSValue containing the parsed value, or NULL if the input is invalid. */ -JS_EXPORT JSValueRef JSValueMakeFromJSONString(JSContextRef ctx, JSStringRef string) CF_AVAILABLE(10_7, 7_0); +JS_EXPORT JSValueRef JSValueMakeFromJSONString(JSContextRef ctx, JSStringRef string) JSC_API_AVAILABLE(macos(10.7), ios(7.0)); /*! @function @@ -287,7 +308,7 @@ JS_EXPORT JSValueRef JSValueMakeFromJSONString(JSContextRef ctx, JSStringRef str @param exception A pointer to a JSValueRef in which to store an exception, if any. Pass NULL if you do not care to store an exception. @result A JSString with the result of serialization, or NULL if an exception is thrown. */ -JS_EXPORT JSStringRef JSValueCreateJSONString(JSContextRef ctx, JSValueRef value, unsigned indent, JSValueRef* exception) CF_AVAILABLE(10_7, 7_0); +JS_EXPORT JSStringRef JSValueCreateJSONString(JSContextRef ctx, JSValueRef value, unsigned indent, JSValueRef* exception) JSC_API_AVAILABLE(macos(10.7), ios(7.0)); /* Converting to primitive values */ diff --git a/include/JavaScriptCore/WebKitAvailability.h b/include/JavaScriptCore/WebKitAvailability.h index eaeaecf..0a96269 100644 --- a/include/JavaScriptCore/WebKitAvailability.h +++ b/include/JavaScriptCore/WebKitAvailability.h @@ -66,20 +66,15 @@ #define AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER #endif -#endif /* __MAC_OS_X_VERSION_MIN_REQUIRED <= 101100 */ +#endif /* !TARGET_OS_IPHONE && __MAC_OS_X_VERSION_MIN_REQUIRED < 101100 */ #if defined(BUILDING_GTK__) -#undef CF_AVAILABLE -#define CF_AVAILABLE(_mac, _ios) -#undef CF_ENUM_AVAILABLE -#define CF_ENUM_AVAILABLE(_mac, _ios) +#undef JSC_API_AVAILABLE +#define JSC_API_AVAILABLE(...) #endif #else -#ifndef CF_AVAILABLE -#define CF_AVAILABLE(_mac, _ios) -#define CF_ENUM_AVAILABLE(_mac, _ios) -#endif +#define JSC_API_AVAILABLE(...) #endif #endif /* __WebKitAvailability__ */ diff --git a/include/README.md b/include/README.md new file mode 100644 index 0000000..7b6efd7 --- /dev/null +++ b/include/README.md @@ -0,0 +1,5 @@ +# Ultralight-API + +These are the C/C++ API Headers for the Ultralight SDK + +For more info see: [ultralight-ux/Ultralight](https://github.com/ultralight-ux/Ultralight) diff --git a/include/Ultralight/Bitmap.h b/include/Ultralight/Bitmap.h new file mode 100644 index 0000000..603deb9 --- /dev/null +++ b/include/Ultralight/Bitmap.h @@ -0,0 +1,279 @@ +/// +/// @file Bitmap.h +/// +/// @brief The header for the Bitmap class. +/// +/// @author +/// +/// This file is a part of Ultralight, a fast, lightweight, HTML UI engine +/// +/// Website: +/// +/// Copyright (C) 2020 Ultralight, Inc. All rights reserved. +/// +#pragma once +#include +#include +#include + +namespace ultralight { + +#pragma pack(push, 1) + +/// +/// The various Bitmap formats. +/// +enum UExport BitmapFormat { + /** + * Alpha channel only, 8-bits per pixel. + * + * Encoding: 8-bits per channel, unsigned normalized. + * + * Color-space: Linear (no gamma), alpha-coverage only. + */ + kBitmapFormat_A8_UNORM, + + /** + * Blue Green Red Alpha channels, 32-bits per pixel. + * + * Encoding: 8-bits per channel, unsigned normalized. + * + * Color-space: sRGB gamma with premultiplied linear alpha channel. + * + * NOTE: Alpha is premultiplied with BGR channels _before_ sRGB gamma is + * applied so we can use sRGB conversion hardware and perform all + * blending in linear space on GPU. + */ + kBitmapFormat_BGRA8_UNORM_SRGB, +}; + +/// +/// Macro to get the bytes per pixel from a BitmapFormat +/// +#define GetBytesPerPixel(x) (x == kBitmapFormat_A8_UNORM? 1 : 4) + +/// +/// @brief Bitmap container with basic blitting and conversion routines. +/// +class UExport Bitmap : public RefCounted { + public: + /// + /// Create an empty Bitmap. No pixels will be allocated. + /// + static Ref Create(); + + /// + /// Create a Bitmap with a certain configuration. Pixels will be allocated + /// but not initialized. + /// + /// @param width The width in pixels. + /// + /// @param height The height in pixels. + /// + /// @param format The pixel format to use. + /// + /// @return A ref-pointer to a new Bitmap instance. + /// + static Ref Create(uint32_t width, uint32_t height, + BitmapFormat format); + + /// + /// Create a Bitmap with existing pixels and configuration. + /// + /// @param width The width in pixels. + /// + /// @param height The height in pixels. + /// + /// @param format The pixel format to use. + /// + /// @param row_bytes The number of bytes between each row (note that this + /// value should be >= width * bytes_per_pixel). + /// + /// @param pixels Pointer to raw pixel buffer. + /// + /// @param size Size of the raw pixel buffer. + /// + /// @param should_copy Whether or not a copy should be made of the pixels. + /// If this is false, the returned Bitmap will use the + /// raw pixels passed in as its own, but you are still + /// responsible for destroying your buffer afterwards. + /// + /// @param fixup_gamma Whether or not we should reinterpret the source + /// as an sRGB bitmap with premultiplied alpha applied + /// after the gamma function (typical of PNGs). We + /// expect all premultiplication to be applied before + /// the gamma function so we can blend properly in + /// linear space. Only valid for + /// kBitmapFormat_BGRA8_UNORM_SRGB. + /// + /// @return A ref-pointer to a new Bitmap instance. + /// + static Ref Create(uint32_t width, uint32_t height, + BitmapFormat format, uint32_t row_bytes, + const void* pixels, size_t size, + bool should_copy = true, bool fixup_gamma = false); + + /// + /// Create a bitmap from a deep copy of another Bitmap. + /// + static Ref Create(const Bitmap& bitmap); + + /// + /// Get the width in pixels. + /// + virtual uint32_t width() const = 0; + + /// + /// Get the height in pixels. + /// + virtual uint32_t height() const = 0; + + /// + /// Get the bounds as an IntRect + /// + virtual IntRect bounds() const = 0; + + /// + /// Get the pixel format. + /// + virtual BitmapFormat format() const = 0; + + /// + /// Get the number of bytes per pixel. + /// + virtual uint32_t bpp() const = 0; + + /// + /// Get the number of bytes between each row of pixels. + /// + /// @note This value is usually calculated as width * bytes_per_pixel (bpp) + /// but it may be larger due to alignment rules in the allocator. + /// + virtual uint32_t row_bytes() const = 0; + + /// + /// Get the size in bytes of the pixel buffer. + /// + /// @note Size is calculated as row_bytes() * height(). + /// + virtual size_t size() const = 0; + + /// + /// Whether or not this Bitmap owns the pixel buffer and will destroy it + /// at the end of its lifetime. + /// + virtual bool owns_pixels() const = 0; + + /// + /// Lock the pixel buffer for reading/writing. + /// + /// @return A pointer to the pixel buffer. + /// + virtual void* LockPixels() = 0; + + /// + /// Unlock the pixel buffer. + /// + virtual void UnlockPixels() = 0; + + /// + /// Lock the pixel buffer for reading/writing. (const) + /// + /// @return A const pointer to the pixel buffer. + /// + virtual const void* LockPixels() const = 0; + + /// + /// Unlock the pixel buffer. (const) + /// + virtual void UnlockPixels() const = 0; + + /// + /// Get the raw pixel buffer. + /// + /// @note You should only call this if pixels are already locked. + /// + virtual void* raw_pixels() = 0; + + /// + /// Whether or not this Bitmap is empty (no pixels allocated). + /// + virtual bool IsEmpty() const = 0; + + /// + /// Erase the Bitmap (set all pixels to 0). + /// + virtual void Erase() = 0; + + /// + /// Assign another bitmap to this one. + /// + /// @param bitmap The bitmap to copy from. + /// + virtual void Set(Ref bitmap) = 0; + + /// + /// Draw another bitmap to this bitmap. + /// + /// @note Formats do not need to match. Bitmap formats will be converted + /// to one another automatically. Note that when converting from + /// BGRA8 to A8, only the Blue channel will be used. + /// + /// @param src_rect The source rectangle, relative to src bitmap. + /// + /// @param dest_rect The destination rectangle, relative to this bitmap. + /// + /// @param src The source bitmap. + /// + /// @param pad_repeat Whether or not we should pad the drawn bitmap by one + /// pixel of repeated edge pixels from the source bitmap. + /// + /// @return Whether or not the operation succeeded (this can fail if the + /// src_rect and/or dest_rect are invalid, or if their total + /// dimensions do not match). + /// + virtual bool DrawBitmap(IntRect src_rect, IntRect dest_rect, + Ref src, bool pad_repeat) = 0; + + /// + /// Write this Bitmap out to a PNG image. (mainly used for Debug) + /// + /// @param path The filepath to write to (opened with fopen()) + /// + /// @return Whether or not the operation succeeded. + /// + virtual bool WritePNG(const char* path) = 0; + + /// + /// Make a resized copy of this bitmap by writing to a pre-allocated + /// destination bitmap. + /// + /// @param destination The bitmap to store the result in, the width and + /// height of the destination will be used. + /// + /// @param high_quality Whether or not a high quality resampling will be + /// used during the resize. (Otherwise, just uses fast + /// nearest-neighbor sampling) + /// + /// @return Whether or not the operation succeeded. This operation is only + /// valid if both formats are kBitmapFormat_BGRA8_UNORM_SRGB and + /// both the source and destination are non-empty. + /// + virtual bool Resample(Ref destination, bool high_quality) = 0; + + /// + /// This converts a BGRA bitmap to RGBA bitmap and vice-versa by swapping + /// the red and blue channels. + /// + virtual void SwapRedBlueChannels() = 0; + +protected: + Bitmap(); + virtual ~Bitmap(); + Bitmap(const Bitmap&); + void operator=(const Bitmap&); +}; + +#pragma pack(pop) + +} // namespace ultralight diff --git a/include/Ultralight/Buffer.h b/include/Ultralight/Buffer.h new file mode 100644 index 0000000..63da8f0 --- /dev/null +++ b/include/Ultralight/Buffer.h @@ -0,0 +1,47 @@ +/// +/// @file Buffer.h +/// +/// @brief The header for the Buffer class. +/// +/// @author +/// +/// This file is a part of Ultralight, a fast, lightweight, HTML UI engine +/// +/// Website: +/// +/// Copyright (C) 2020 Ultralight, Inc. All rights reserved. +/// +#pragma once +#include +#include + +namespace ultralight { + +/// +/// A fixed-size byte container for passing data around. +/// +class UExport Buffer : public RefCounted { +public: + /// + /// Create a Buffer, a copy of data is made. + /// + static Ref Create(const void* data, size_t size); + + /// + /// Get a pointer to raw byte data. + /// + virtual void* data() = 0; + + /// + /// Get the size in bytes. + /// + virtual size_t size() const = 0; + +protected: + Buffer(); + virtual ~Buffer(); + Buffer(const Buffer&); + void operator=(const Buffer&); +}; + +} // namespace ultralight diff --git a/include/Ultralight/CAPI.h b/include/Ultralight/CAPI.h index e4c8057..5b04064 100644 --- a/include/Ultralight/CAPI.h +++ b/include/Ultralight/CAPI.h @@ -9,7 +9,7 @@ /// /// Website: /// -/// Copyright (C) 2019 Ultralight, Inc. All rights reserved. +/// Copyright (C) 2020 Ultralight, Inc. All rights reserved. /// #ifndef ULTRALIGHT_CAPI_H #define ULTRALIGHT_CAPI_H @@ -49,14 +49,16 @@ extern "C" { typedef struct C_Config* ULConfig; typedef struct C_Renderer* ULRenderer; +typedef struct C_Session* ULSession; typedef struct C_View* ULView; typedef struct C_Bitmap* ULBitmap; typedef struct C_String* ULString; typedef struct C_Buffer* ULBuffer; -typedef struct C_RenderTarget* ULRenderTarget; typedef struct C_KeyEvent* ULKeyEvent; typedef struct C_MouseEvent* ULMouseEvent; typedef struct C_ScrollEvent* ULScrollEvent; +typedef struct C_Surface* ULSurface; +typedef struct C_Surface* ULBitmapSurface; typedef enum { kMessageSource_XML = 0, @@ -128,14 +130,52 @@ typedef enum { } ULCursor; typedef enum { - kBitmapFormat_A8, - kBitmapFormat_RGBA8 + /// + /// Alpha channel only, 8-bits per pixel. + /// + /// Encoding: 8-bits per channel, unsigned normalized. + /// + /// Color-space: Linear (no gamma), alpha-coverage only. + /// + kBitmapFormat_A8_UNORM, + + /// + /// Blue Green Red Alpha channels, 32-bits per pixel. + /// + /// Encoding: 8-bits per channel, unsigned normalized. + /// + /// Color-space: sRGB gamma with premultiplied linear alpha channel. + /// + kBitmapFormat_BGRA8_UNORM_SRGB } ULBitmapFormat; typedef enum { + /// + /// Key-Down event type. (Does not trigger accelerator commands in WebCore) + /// + /// @NOTE: You should probably use RawKeyDown instead when a physical key + /// is pressed. This member is only here for historic compatibility + /// with WebCore's key event types. + /// kKeyEventType_KeyDown, + + /// + /// Key-Up event type. Use this when a physical key is released. + /// kKeyEventType_KeyUp, + + /// + /// Raw Key-Down type. Use this when a physical key is pressed. + /// + /// @NOTE: You should use RawKeyDown for physical key presses since it + /// allows WebCore to do additional command translation. + /// kKeyEventType_RawKeyDown, + + /// + /// Character input event type. Use this when the OS generates text from + /// a physical key being pressed (eg, WM_CHAR on Windows). + /// kKeyEventType_Char, } ULKeyEventType; @@ -157,6 +197,60 @@ typedef enum { kScrollEventType_ScrollByPage, } ULScrollEventType; +typedef enum { + kFaceWinding_Clockwise, + kFaceWindow_CounterClockwise, +} ULFaceWinding; + +typedef enum { + /// + /// Lighter hinting algorithm-- glyphs are slightly fuzzier but better + /// resemble their original shape. This is achieved by snapping glyphs to the + /// pixel grid only vertically which better preserves inter-glyph spacing. + /// + kFontHinting_Smooth, + + /// + /// Default hinting algorithm-- offers a good balance between sharpness and + /// shape at smaller font sizes. + /// + kFontHinting_Normal, + + /// + /// Strongest hinting algorithm-- outputs only black/white glyphs. The result + /// is usually unpleasant if the underlying TTF does not contain hints for + /// this type of rendering. + /// + kFontHinting_Monochrome, +} ULFontHinting; + +typedef struct { + float left; + float top; + float right; + float bottom; +} ULRect; + +typedef struct { + int left; + int top; + int right; + int bottom; +} ULIntRect; + +typedef struct { + bool is_empty; + unsigned int width; + unsigned int height; + unsigned int texture_id; + unsigned int texture_width; + unsigned int texture_height; + ULBitmapFormat texture_format; + ULRect uv_coords; + unsigned int render_buffer_id; +} ULRenderTarget; + + /****************************************************************************** * API Note: * @@ -164,6 +258,30 @@ typedef enum { * any objects returned from the API or callbacks unless otherwise noted. *****************************************************************************/ +/****************************************************************************** + * Version + *****************************************************************************/ + +/// +/// Get the version string of the library in MAJOR.MINOR.PATCH format. +/// +ULExport const char* ulVersionString(); + +/// +/// Get the numeric major version of the library. +/// +ULExport unsigned int ulVersionMajor(); + +/// +/// Get the numeric minor version of the library. +/// +ULExport unsigned int ulVersionMinor(); + +/// +/// Get the numeric patch version of the library. +/// +ULExport unsigned int ulVersionPatch(); + /****************************************************************************** * Config *****************************************************************************/ @@ -178,6 +296,43 @@ ULExport ULConfig ulCreateConfig(); /// ULExport void ulDestroyConfig(ULConfig config); +/// +/// Set the file path to the directory that contains Ultralight's bundled +/// resources (eg, cacert.pem and other localized resources). +/// +ULExport void ulConfigSetResourcePath(ULConfig config, ULString resource_path); + +/// +/// Set the file path to a writable directory that will be used to store +/// cookies, cached resources, and other persistent data. +/// +ULExport void ulConfigSetCachePath(ULConfig config, ULString cache_path); + +/// +/// When enabled, each View will be rendered to an offscreen GPU texture +/// using the GPU driver set in ulPlatformSetGPUDriver. You can fetch +/// details for the texture via ulViewGetRenderTarget. +/// +/// When disabled (the default), each View will be rendered to an offscreen +/// pixel buffer. This pixel buffer can optionally be provided by the user-- +/// for more info see ulViewGetSurface. +/// +ULExport void ulConfigSetUseGPURenderer(ULConfig config, bool use_gpu); + +/// +/// Set the amount that the application DPI has been scaled, used for +/// scaling device coordinates to pixels and oversampling raster shapes +/// (Default = 1.0). +/// +ULExport void ulConfigSetDeviceScale(ULConfig config, double value); + +/// +/// The winding order for front-facing triangles. @see FaceWinding +/// +/// Note: This is only used with custom GPUDrivers +/// +ULExport void ulConfigSetFaceWinding(ULConfig config, ULFaceWinding winding); + /// /// Set whether images should be enabled (Default = True). /// @@ -189,18 +344,17 @@ ULExport void ulConfigSetEnableImages(ULConfig config, bool enabled); ULExport void ulConfigSetEnableJavaScript(ULConfig config, bool enabled); /// -/// Set whether we should use BGRA byte order (instead of RGBA) for View -/// bitmaps (Default = False). +/// The hinting algorithm to use when rendering fonts. (Default = kFontHinting_Normal) +/// @see ULFontHinting /// -ULExport void ulConfigSetUseBGRAForOffscreenRendering(ULConfig config, - bool enabled); +ULExport void ulConfigSetFontHinting(ULConfig config, ULFontHinting font_hinting); /// -/// Set the amount that the application DPI has been scaled, used for -/// scaling device coordinates to pixels and oversampling raster shapes -/// (Default = 1.0). +/// The gamma to use when compositing font glyphs, change this value to +/// adjust contrast (Adobe and Apple prefer 1.8, others may prefer 2.2). +/// (Default = 1.8) /// -ULExport void ulConfigSetDeviceScaleHint(ULConfig config, double value); +ULExport void ulConfigSetFontGamma(ULConfig config, double font_gamma); /// /// Set default font-family to use (Default = Times New Roman). @@ -248,6 +402,18 @@ ULExport void ulConfigSetForceRepaint(ULConfig config, bool enabled); /// ULExport void ulConfigSetAnimationTimerDelay(ULConfig config, double delay); +/// +/// When a smooth scroll animation is active, the amount of time (in seconds) +/// to wait before triggering another repaint. Default is 60 Hz. +/// +ULExport void ulConfigSetScrollTimerDelay(ULConfig config, double delay); + +/// +/// The amount of time (in seconds) to wait before running the recycler (will +/// attempt to return excess memory back to the system). (Default = 4.0) +/// +ULExport void ulConfigSetRecycleDelay(ULConfig config, double delay); + /// /// Set the size of WebCore's memory cache for decoded images, scripts, and /// other assets in bytes. (Default = 64 * 1024 * 1024) @@ -259,17 +425,59 @@ ULExport void ulConfigSetMemoryCacheSize(ULConfig config, unsigned int size); /// ULExport void ulConfigSetPageCacheSize(ULConfig config, unsigned int size); +/// +/// JavaScriptCore tries to detect the system's physical RAM size to set +/// reasonable allocation limits. Set this to anything other than 0 to +/// override the detected value. Size is in bytes. +/// +/// This can be used to force JavaScriptCore to be more conservative with +/// its allocation strategy (at the cost of some performance). +/// +ULExport void ulConfigSetOverrideRAMSize(ULConfig config, unsigned int size); + +/// +/// The minimum size of large VM heaps in JavaScriptCore. Set this to a +/// lower value to make these heaps start with a smaller initial value. +/// +ULExport void ulConfigSetMinLargeHeapSize(ULConfig config, unsigned int size); + +/// +/// The minimum size of small VM heaps in JavaScriptCore. Set this to a +/// lower value to make these heaps start with a smaller initial value. +/// +ULExport void ulConfigSetMinSmallHeapSize(ULConfig config, unsigned int size); + /****************************************************************************** * Renderer *****************************************************************************/ /// -/// Create renderer (create this only once per application lifetime). +/// Create the Ultralight Renderer directly. +/// +/// Unlike ulCreateApp(), this does not use any native windows for drawing +/// and allows you to manage your own runloop and painting. This method is +/// recommended for those wishing to integrate the library into a game. +/// +/// This singleton manages the lifetime of all Views and coordinates all +/// painting, rendering, network requests, and event dispatch. +/// +/// You should only call this once per process lifetime. +/// +/// You shoud set up your platform handlers (eg, ulPlatformSetLogger, +/// ulPlatformSetFileSystem, etc.) before calling this. +/// +/// You will also need to define a font loader before calling this-- +/// as of this writing (v1.2) the only way to do this in C API is by calling +/// ulEnablePlatformFontLoader() (available in ). +/// +/// @NOTE: You should not call this if you are using ulCreateApp(), it +/// creates its own renderer and provides default implementations for +/// various platform handlers automatically. /// ULExport ULRenderer ulCreateRenderer(ULConfig config); /// -/// Destroy renderer. +/// Destroy the renderer. /// ULExport void ulDestroyRenderer(ULRenderer renderer); @@ -279,19 +487,77 @@ ULExport void ulDestroyRenderer(ULRenderer renderer); ULExport void ulUpdate(ULRenderer renderer); /// -/// Render all active Views to their respective bitmaps. +/// Render all active Views. /// ULExport void ulRender(ULRenderer renderer); +/// +/// Attempt to release as much memory as possible. Don't call this from any +/// callbacks or driver code. +/// +ULExport void ulPurgeMemory(ULRenderer renderer); + +/// +/// Print detailed memory usage statistics to the log. +/// (@see ulPlatformSetLogger) +/// +ULExport void ulLogMemoryUsage(ULRenderer renderer); + +/****************************************************************************** + * Session + *****************************************************************************/ + +/// +/// Create a Session to store local data in (such as cookies, local storage, +/// application cache, indexed db, etc). +/// +ULExport ULSession ulCreateSession(ULRenderer renderer, bool is_persistent, + ULString name); + +/// +/// Destroy a Session. +/// +ULExport void ulDestroySession(ULSession session); + +/// +/// Get the default session (persistent session named "default"). +/// +/// @note This session is owned by the Renderer, you shouldn't destroy it. +/// +ULExport ULSession ulDefaultSession(ULRenderer renderer); + +/// +/// Whether or not is persistent (backed to disk). +/// +ULExport bool ulSessionIsPersistent(ULSession session); + +/// +/// Unique name identifying the session (used for unique disk path). +/// +ULExport ULString ulSessionGetName(ULSession session); + +/// +/// Unique numeric Id for the session. +/// +ULExport unsigned long long ulSessionGetId(ULSession session); + +/// +/// The disk path to write to (used by persistent sessions only). +/// +ULExport ULString ulSessionGetDiskPath(ULSession session); + /****************************************************************************** * View *****************************************************************************/ /// -/// Create a View with certain size (in device coordinates). +/// Create a View with certain size (in pixels). +/// +/// @note You can pass null to 'session' to use the default session. /// ULExport ULView ulCreateView(ULRenderer renderer, unsigned int width, - unsigned int height, bool transparent); + unsigned int height, bool transparent, + ULSession session, bool force_cpu_renderer); /// /// Destroy a View. @@ -312,22 +578,43 @@ ULExport ULString ulViewGetURL(ULView view); /// ULExport ULString ulViewGetTitle(ULView view); +/// +/// Get the width, in pixels. +/// +ULExport unsigned int ulViewGetWidth(ULView view); + +/// +/// Get the height, in pixels. +/// +ULExport unsigned int ulViewGetHeight(ULView view); + /// /// Check if main frame is loading. /// ULExport bool ulViewIsLoading(ULView view); /// -/// Check if bitmap is dirty (has changed since last call to ulViewGetBitmap). +/// Get the RenderTarget for the View. /// -ULExport bool ulViewIsBitmapDirty(ULView view); +/// @note Only valid when the GPU renderer is enabled in Config. +/// +ULExport ULRenderTarget ulViewGetRenderTarget(ULView view); /// -/// Get bitmap (will reset the dirty flag). +/// Get the Surface for the View (native pixel buffer container). /// -/// @note Don't destroy the returned bitmap, it is owned by the View. +/// @note Only valid when the GPU renderer is disabled in Config. /// -ULExport ULBitmap ulViewGetBitmap(ULView view); +/// (Will return a nullptr when the GPU renderer is enabled.) +/// +/// The default Surface is BitmapSurface but you can provide your +/// own Surface implementation via ulPlatformSetSurfaceDefinition. +/// +/// When using the default Surface, you can retrieve the underlying +/// bitmap by casting ULSurface to ULBitmapSurface and calling +/// ulBitmapSurfaceGetBitmap(). +/// +ULExport ULSurface ulViewGetSurface(ULView view); /// /// Load a raw string of HTML. @@ -340,20 +627,51 @@ ULExport void ulViewLoadHTML(ULView view, ULString html_string); ULExport void ulViewLoadURL(ULView view, ULString url_string); /// -/// Resize view to a certain width and height (in device coordinates). +/// Resize view to a certain width and height (in pixels). /// ULExport void ulViewResize(ULView view, unsigned int width, unsigned int height); /// -/// Get the page's JSContext for use with JavaScriptCore API. +/// Acquire the page's JSContext for use with JavaScriptCore API. +/// +/// @note This call locks the context for the current thread. You should +/// call ulViewUnlockJSContext() after using the context so other +/// worker threads can modify JavaScript state. /// -ULExport JSContextRef ulViewGetJSContext(ULView view); +/// @note The lock is recusive, it's okay to call this multiple times as long +/// as you call ulViewUnlockJSContext() the same number of times. +/// +ULExport JSContextRef ulViewLockJSContext(ULView view); /// -/// Evaluate a raw string of JavaScript and return result. +/// Unlock the page's JSContext after a previous call to ulViewLockJSContext(). /// -ULExport JSValueRef ulViewEvaluateScript(ULView view, ULString js_string); +ULExport void ulViewUnlockJSContext(ULView view); + +/// +/// Evaluate a string of JavaScript and return result. +/// +/// @param js_string The string of JavaScript to evaluate. +/// +/// @param exception The address of a ULString to store a description of the +/// last exception. Pass NULL to ignore this. Don't destroy +/// the exception string returned, it's owned by the View. +/// +/// @note Don't destroy the returned string, it's owned by the View. This value +/// is reset with every call-- if you want to retain it you should copy +/// the result to a new string via ulCreateStringFromCopy(). +/// +/// @note An example of using this API: +///
+///         ULString script = ulCreateString("1 + 1");
+///         ULString exception;
+///         ULString result = ulViewEvaluateScript(view, script, &exception);
+///         /* Use the result ("2") and exception description (if any) here. */
+///         ulDestroyString(script);
+///       
+/// +ULExport ULString ulViewEvaluateScript(ULView view, ULString js_string, ULString* exception); /// /// Check if can navigate backwards in history. @@ -390,6 +708,36 @@ ULExport void ulViewReload(ULView view); /// ULExport void ulViewStop(ULView view); +/// +/// Give focus to the View. +/// +/// You should call this to give visual indication that the View has input +/// focus (changes active text selection colors, for example). +/// +ULExport void ulViewFocus(ULView view); + +/// +/// Remove focus from the View and unfocus any focused input elements. +/// +/// You should call this to give visual indication that the View has lost +/// input focus. +/// +ULExport void ulViewUnfocus(ULView view); + +/// +/// Whether or not the View has focus. +/// +ULExport bool ulViewHasFocus(ULView view); + +/// +/// Whether or not the View has an input element with visible keyboard focus +/// (indicated by a blinking caret). +/// +/// You can use this to decide whether or not the View should consume +/// keyboard input events (useful in games with mixed UI and key handling). +/// +ULExport bool ulViewHasInputFocus(ULView view); + /// /// Fire a keyboard event. /// @@ -460,26 +808,98 @@ ULExport void ulViewSetAddConsoleMessageCallback(ULView view, ULAddConsoleMessageCallback callback, void* user_data); -typedef void -(*ULBeginLoadingCallback) (void* user_data, ULView caller); +typedef ULView +(*ULCreateChildViewCallback) (void* user_data, ULView caller, + ULString opener_url, ULString target_url, bool is_popup, + ULIntRect popup_rect); /// -/// Set callback for when the page begins loading new URL into main frame. +/// Set callback for when the page wants to create a new View. +/// +/// This is usually the result of a user clicking a link with target="_blank" +/// or by JavaScript calling window.open(url). +/// +/// To allow creation of these new Views, you should create a new View in +/// this callback, resize it to your container, +/// and return it. You are responsible for displaying the returned View. +/// +/// You should return NULL if you want to block the action. +/// +ULExport void ulViewSetCreateChildViewCallback(ULView view, + ULCreateChildViewCallback callback, + void* user_data); + +typedef void +(*ULBeginLoadingCallback) (void* user_data, ULView caller, + unsigned long long frame_id, bool is_main_frame, ULString url); + +/// +/// Set callback for when the page begins loading a new URL into a frame. /// ULExport void ulViewSetBeginLoadingCallback(ULView view, ULBeginLoadingCallback callback, void* user_data); typedef void -(*ULFinishLoadingCallback) (void* user_data, ULView caller); +(*ULFinishLoadingCallback) (void* user_data, ULView caller, + unsigned long long frame_id, bool is_main_frame, ULString url); /// -/// Set callback for when the page finishes loading URL into main frame. +/// Set callback for when the page finishes loading a URL into a frame. /// ULExport void ulViewSetFinishLoadingCallback(ULView view, ULFinishLoadingCallback callback, void* user_data); +typedef void +(*ULFailLoadingCallback) (void* user_data, ULView caller, + unsigned long long frame_id, bool is_main_frame, ULString url, + ULString description, ULString error_domain, int error_code); + +/// +/// Set callback for when an error occurs while loading a URL into a frame. +/// +ULExport void ulViewSetFailLoadingCallback(ULView view, + ULFailLoadingCallback callback, + void* user_data); + +typedef void +(*ULWindowObjectReadyCallback) (void* user_data, ULView caller, + unsigned long long frame_id, bool is_main_frame, ULString url); + +/// +/// Set callback for when the JavaScript window object is reset for a new +/// page load. +/// +/// This is called before any scripts are executed on the page and is the +/// earliest time to setup any initial JavaScript state or bindings. +/// +/// The document is not guaranteed to be loaded/parsed at this point. If +/// you need to make any JavaScript calls that are dependent on DOM elements +/// or scripts on the page, use DOMReady instead. +/// +/// The window object is lazily initialized (this will not be called on pages +/// with no scripts). +/// +ULExport void ulViewSetWindowObjectReadyCallback(ULView view, + ULWindowObjectReadyCallback callback, + void* user_data); + +typedef void +(*ULDOMReadyCallback) (void* user_data, ULView caller, + unsigned long long frame_id, bool is_main_frame, ULString url); + +/// +/// Set callback for when all JavaScript has been parsed and the document is +/// ready. +/// +/// This is the best time to make any JavaScript calls that are dependent on +/// DOM elements or scripts on the page. +/// +ULExport void ulViewSetDOMReadyCallback(ULView view, + ULDOMReadyCallback callback, + void* user_data); + typedef void (*ULUpdateHistoryCallback) (void* user_data, ULView caller); @@ -490,17 +910,6 @@ ULExport void ulViewSetUpdateHistoryCallback(ULView view, ULUpdateHistoryCallback callback, void* user_data); -typedef void -(*ULDOMReadyCallback) (void* user_data, ULView caller); - -/// -/// Set callback for when all JavaScript has been parsed and the document is -/// ready. This is the best time to make initial JavaScript calls to your page. -/// -ULExport void ulViewSetDOMReadyCallback(ULView view, - ULDOMReadyCallback callback, - void* user_data); - /// /// Set whether or not a view should be repainted during the next call to /// ulRender. @@ -549,6 +958,11 @@ ULExport ULString ulCreateStringUTF8(const char* str, size_t len); /// ULExport ULString ulCreateStringUTF16(ULChar16* str, size_t len); +/// +/// Create string from copy of existing string. +/// +ULExport ULString ulCreateStringFromCopy(ULString str); + /// /// Destroy string (you should destroy any strings you explicitly Create). /// @@ -569,6 +983,16 @@ ULExport size_t ulStringGetLength(ULString str); /// ULExport bool ulStringIsEmpty(ULString str); +/// +/// Replaces the contents of 'str' with the contents of 'new_str' +/// +ULExport void ulStringAssignString(ULString str, ULString new_str); + +/// +/// Replaces the contents of 'str' with the contents of a C-string. +/// +ULExport void ulStringAssignCString(ULString str, const char* c_str); + /****************************************************************************** * Bitmap *****************************************************************************/ @@ -672,6 +1096,12 @@ ULExport void ulBitmapErase(ULBitmap bitmap); /// ULExport bool ulBitmapWritePNG(ULBitmap bitmap, const char* path); +/// +/// This converts a BGRA bitmap to RGBA bitmap and vice-versa by swapping +/// the red and blue channels. +/// +ULExport void ulBitmapSwapRedBlueChannels(ULBitmap bitmap); + /****************************************************************************** * Key Event ******************************************************************************/ @@ -737,6 +1167,768 @@ ULExport ULScrollEvent ulCreateScrollEvent(ULScrollEventType type, int delta_x, /// ULExport void ulDestroyScrollEvent(ULScrollEvent evt); +/****************************************************************************** + * Rect + *****************************************************************************/ + +/// +/// Whether or not a ULRect is empty (all members equal to 0) +/// +ULExport bool ulRectIsEmpty(ULRect rect); + +/// +/// Create an empty ULRect (all members equal to 0) +/// +ULExport ULRect ulRectMakeEmpty(); + +/****************************************************************************** + * IntRect + *****************************************************************************/ + + /// + /// Whether or not a ULIntRect is empty (all members equal to 0) + /// +ULExport bool ulIntRectIsEmpty(ULIntRect rect); + +/// +/// Create an empty ULIntRect (all members equal to 0) +/// +ULExport ULIntRect ulIntRectMakeEmpty(); + +/****************************************************************************** + * Surface + *****************************************************************************/ + +/// +/// Width (in pixels). +/// +ULExport unsigned int ulSurfaceGetWidth(ULSurface surface); + +/// +/// Height (in pixels). +/// +ULExport unsigned int ulSurfaceGetHeight(ULSurface surface); + +/// +/// Number of bytes between rows (usually width * 4) +/// +ULExport unsigned int ulSurfaceGetRowBytes(ULSurface surface); + +/// +/// Size in bytes. +/// +ULExport size_t ulSurfaceGetSize(ULSurface surface); + +/// +/// Lock the pixel buffer and get a pointer to the beginning of the data +/// for reading/writing. +/// +/// Native pixel format is premultiplied BGRA 32-bit (8 bits per channel). +/// +ULExport void* ulSurfaceLockPixels(ULSurface surface); + +/// +/// Unlock the pixel buffer. +/// +ULExport void ulSurfaceUnlockPixels(ULSurface surface); + +/// +/// Resize the pixel buffer to a certain width and height (both in pixels). +/// +/// This should never be called while pixels are locked. +/// +ULExport void ulSurfaceResize(ULSurface surface, unsigned int width, unsigned int height); + +/// +/// Set the dirty bounds to a certain value. +/// +/// This is called after the Renderer paints to an area of the pixel buffer. +/// (The new value will be joined with the existing dirty_bounds()) +/// +ULExport void ulSurfaceSetDirtyBounds(ULSurface surface, ULIntRect bounds); + +/// +/// Get the dirty bounds. +/// +/// This value can be used to determine which portion of the pixel buffer has +/// been updated since the last call to ulSurfaceClearDirtyBounds(). +/// +/// The general algorithm to determine if a Surface needs display is: +///
+///   if (!ulIntRectIsEmpty(ulSurfaceGetDirtyBounds(surface))) {
+///       // Surface pixels are dirty and needs display.
+///       // Cast Surface to native Surface and use it here (pseudo code)
+///       DisplaySurface(surface);
+///
+///       // Once you're done, clear the dirty bounds:
+///       ulSurfaceClearDirtyBounds(surface);
+///  }
+///  
+/// +ULExport ULIntRect ulSurfaceGetDirtyBounds(ULSurface surface); + +/// +/// Clear the dirty bounds. +/// +/// You should call this after you're done displaying the Surface. +/// +ULExport void ulSurfaceClearDirtyBounds(ULSurface surface); + +/// +/// Get the underlying user data pointer (this is only valid if you have +/// set a custom surface implementation via ulPlatformSetSurfaceDefinition). +/// +/// This will return nullptr if this surface is the default ULBitmapSurface. +/// +ULExport void* ulSurfaceGetUserData(ULSurface surface); + +/****************************************************************************** + * BitmapSurface + *****************************************************************************/ + +/// +/// Get the underlying Bitmap from the default Surface. +/// +/// @note Do not call ulDestroyBitmap() on the returned value, it is owned +/// by the surface. +/// +ULExport ULBitmap ulBitmapSurfaceGetBitmap(ULBitmapSurface surface); + +/****************************************************************************** + * Surface Definition + *****************************************************************************/ + +/// +/// The callback invoked when a Surface is created. +/// +/// @param width The width in pixels. +/// @param height The height in pixels. +/// +/// @return This callback should return a pointer to user-defined data for the +/// instance. This user data pointer will be passed to all other +/// callbacks when operating on the instance. +/// +typedef void* +(*ULSurfaceDefinitionCreateCallback) (unsigned int width, unsigned int height); + +/// +/// The callback invoked when a Surface is destroyed. +/// +/// @param user_data User data pointer uniquely identifying the surface. +/// +typedef void +(*ULSurfaceDefinitionDestroyCallback) (void* user_data); + +/// +/// The callback invoked when a Surface's width (in pixels) is requested. +/// +/// @param user_data User data pointer uniquely identifying the surface. +/// +typedef unsigned int +(*ULSurfaceDefinitionGetWidthCallback) (void* user_data); + +/// +/// The callback invoked when a Surface's height (in pixels) is requested. +/// +/// @param user_data User data pointer uniquely identifying the surface. +/// +typedef unsigned int +(*ULSurfaceDefinitionGetHeightCallback) (void* user_data); + +/// +/// The callback invoked when a Surface's row bytes is requested. +/// +/// @note This value is also known as "stride". Usually width * 4. +/// +/// @param user_data User data pointer uniquely identifying the surface. +/// +typedef unsigned int +(*ULSurfaceDefinitionGetRowBytesCallback) (void* user_data); + +/// +/// The callback invoked when a Surface's size (in bytes) is requested. +/// +/// @param user_data User data pointer uniquely identifying the surface. +/// +typedef size_t +(*ULSurfaceDefinitionGetSizeCallback) (void* user_data); + +/// +/// The callback invoked when a Surface's pixel buffer is requested to be +/// locked for reading/writing (should return a pointer to locked bytes). +/// +/// @param user_data User data pointer uniquely identifying the surface. +/// +typedef void* +(*ULSurfaceDefinitionLockPixelsCallback) (void* user_data); + +/// +/// The callback invoked when a Surface's pixel buffer is requested to be +/// unlocked after previously being locked. +/// +/// @param user_data User data pointer uniquely identifying the surface. +/// +typedef void +(*ULSurfaceDefinitionUnlockPixelsCallback) (void* user_data); + +/// +/// The callback invoked when a Surface is requested to be resized to a +/// certain width/height. +/// +/// @param user_data User data pointer uniquely identifying the surface. +/// @param width Width in pixels. +/// @param height Height in pixels. +/// +typedef void +(*ULSurfaceDefinitionResizeCallback) (void* user_data, unsigned int width, unsigned int height); + +typedef struct { + ULSurfaceDefinitionCreateCallback create; + ULSurfaceDefinitionDestroyCallback destroy; + ULSurfaceDefinitionGetWidthCallback get_width; + ULSurfaceDefinitionGetHeightCallback get_height; + ULSurfaceDefinitionGetRowBytesCallback get_row_bytes; + ULSurfaceDefinitionGetSizeCallback get_size; + ULSurfaceDefinitionLockPixelsCallback lock_pixels; + ULSurfaceDefinitionUnlockPixelsCallback unlock_pixels; + ULSurfaceDefinitionResizeCallback resize; +} ULSurfaceDefinition; + +/****************************************************************************** + * File System + *****************************************************************************/ + +/// +/// File Handle type used as unique ID for opened files. +/// +#if defined(__WIN32__) || defined(_WIN32) +typedef size_t ULFileHandle; +#else +typedef int ULFileHandle; +#endif + +/// +/// Handle used to denote an invalid file. +/// +const ULFileHandle ULInvalidFileHandle = (ULFileHandle)-1; + +/// +/// The callback invoked when the FileSystem wants to check if a file path +/// exists, return true if it exists. +/// +typedef bool +(*ULFileSystemFileExistsCallback) (ULString path); + +/// +/// The callback invoked when the FileSystem wants to get the file size of a +/// previously opened file, store result in 'result'. Return true on success. +/// +typedef bool +(*ULFileSystemGetFileSizeCallback) (ULFileHandle handle, long long* result); + +/// +/// The callback invoked when the FileSystem wants to get the mime type of a +/// file (eg "text/html"), store result in 'result'. Return true on success. +/// +typedef bool +(*ULFileSystemGetFileMimeTypeCallback) (ULString path, ULString result); + +/// +/// The callback invoked when the FileSystem wants to open a file path for +/// reading or writing. Return file handle on success, or ULInvalidFileHandle +/// on failure. +/// +/// @NOTE: As of this writing (v1.2), this function is only used for reading. +/// +typedef ULFileHandle +(*ULFileSystemOpenFileCallback) (ULString path, bool open_for_writing); + +/// +/// The callback invoked when the FileSystem wants to close a previously-opened +/// file. +/// +typedef void +(*ULFileSystemCloseFileCallback) (ULFileHandle handle); + +/// +/// The callback invoked when the FileSystem wants to read from a +/// currently-opened file, return number of bytes read or -1 on failure. +/// +typedef long long +(*ULFileSystemReadFromFileCallback) (ULFileHandle handle, char* data, long long length); + +typedef struct { + ULFileSystemFileExistsCallback file_exists; + ULFileSystemGetFileSizeCallback get_file_size; + ULFileSystemGetFileMimeTypeCallback get_file_mime_type; + ULFileSystemOpenFileCallback open_file; + ULFileSystemCloseFileCallback close_file; + ULFileSystemReadFromFileCallback read_from_file; +} ULFileSystem; + +/****************************************************************************** + * Logger + *****************************************************************************/ + +typedef enum { + kLogLevel_Error = 0, + kLogLevel_Warning, + kLogLevel_Info +} ULLogLevel; + +/// +/// The callback invoked when the library wants to print a message to the log. +/// +typedef void +(*ULLoggerLogMessageCallback) (ULLogLevel log_level, ULString message); + +typedef struct { + ULLoggerLogMessageCallback log_message; +} ULLogger; + + +/****************************************************************************** + * GPUDriver + *****************************************************************************/ + +/// +/// Render buffer description. +/// +typedef struct { + unsigned int texture_id; // The backing texture for this RenderBuffer + unsigned int width; // The width of the RenderBuffer texture + unsigned int height; // The height of the RenderBuffer texture + bool has_stencil_buffer; // Currently unused, always false. + bool has_depth_buffer; // Currently unsued, always false. +} ULRenderBuffer; + +/// +/// @note This pragma pack(push, 1) command is important! Vertex layouts +/// should not be padded with any bytes. +/// +#pragma pack(push, 1) + +/// +/// Vertex layout for path vertices. +/// +/// (this struct's members aligned on single-byte boundaries) +/// +typedef struct { + float pos[2]; + unsigned char color[4]; + float obj[2]; +} ULVertex_2f_4ub_2f; + +/// +/// Vertex layout for quad vertices. +/// +/// (this struct's members aligned on single-byte boundaries) +/// +typedef struct { + float pos[2]; + unsigned char color[4]; + float tex[2]; + float obj[2]; + float data0[4]; + float data1[4]; + float data2[4]; + float data3[4]; + float data4[4]; + float data5[4]; + float data6[4]; +} ULVertex_2f_4ub_2f_2f_28f; + +/// +/// End single-byte alignment. +/// +#pragma pack(pop) + +/// +/// Vertex formats. +/// +typedef enum { + kVertexBufferFormat_2f_4ub_2f, + kVertexBufferFormat_2f_4ub_2f_2f_28f, +} ULVertexBufferFormat; + +/// +/// Vertex buffer data. +/// +typedef struct { + ULVertexBufferFormat format; + unsigned int size; + unsigned char* data; +} ULVertexBuffer; + +/// +/// Vertex index type. +/// +typedef unsigned int ULIndexType; + +/// +/// Vertex index buffer data. +/// +typedef struct { + unsigned int size; + unsigned char* data; +} ULIndexBuffer; + +/// +/// Shader types, used with ULGPUState::shader_type +/// +/// Each of these correspond to a vertex/pixel shader pair. You can find +/// stock shader code for these in the `shaders` folder of the AppCore repo. +/// +typedef enum { + kShaderType_Fill, // Shader program for quad geometry + kShaderType_FillPath, // Shader program for path geometry +} ULShaderType; + +/// +/// Raw 4x4 matrix as an array of floats +/// +typedef struct { + float data[16]; +} ULMatrix4x4; + +/// +/// 4-component float vector +/// +typedef struct { + float value[4]; +} ULvec4; + +/// +/// GPU State description. +/// +typedef struct { + /// Viewport width in pixels + unsigned int viewport_width; + + /// Viewport height in pixels + unsigned int viewport_height; + + /// Transform matrix-- you should multiply this with the screen-space + /// orthographic projection matrix then pass to the vertex shader. + ULMatrix4x4 transform; + + /// Whether or not we should enable texturing for the current draw command. + bool enable_texturing; + + /// Whether or not we should enable blending for the current draw command. + /// If blending is disabled, any drawn pixels should overwrite existing. + /// Mainly used so we can modify alpha values of the RenderBuffer during + /// scissored clears. + bool enable_blend; + + /// The vertex/pixel shader program pair to use for the current draw command. + /// You should cast this to ShaderType to get the corresponding enum. + unsigned char shader_type; + + /// The render buffer to use for the current draw command. + unsigned int render_buffer_id; + + /// The texture id to bind to slot #1. (Will be 0 if none) + unsigned int texture_1_id; + + /// The texture id to bind to slot #2. (Will be 0 if none) + unsigned int texture_2_id; + + /// The texture id to bind to slot #3. (Will be 0 if none) + unsigned int texture_3_id; + + /// The following four members are passed to the pixel shader via uniforms. + float uniform_scalar[8]; + ULvec4 uniform_vector[8]; + unsigned char clip_size; + ULMatrix4x4 clip[8]; + + /// Whether or not scissor testing should be used for the current draw + /// command. + bool enable_scissor; + + /// The scissor rect to use for scissor testing (units in pixels) + ULIntRect scissor_rect; +} ULGPUState; + +/// +/// Command types, used with ULCommand::command_type +/// +typedef enum { + kCommandType_ClearRenderBuffer, + kCommandType_DrawGeometry, +} ULCommandType; + +/// +/// Command description. +/// +typedef struct { + unsigned char command_type; // The type of command to dispatch. + ULGPUState gpu_state; // GPU state parameters for current command. + + /// The following members are only used with kCommandType_DrawGeometry + unsigned int geometry_id; // The geometry ID to bind + unsigned int indices_count; // The number of indices + unsigned int indices_offset; // The index to start from +} ULCommand; + +/// +/// Command list, @see ULGPUDriverUpdateCommandList +typedef struct { + unsigned int size; + ULCommand* commands; +} ULCommandList; + +/// +/// The callback invoked when the GPUDriver will begin dispatching commands +/// (such as CreateTexture and UpdateCommandList) during the current call to +/// ulRender(). +/// +typedef void +(*ULGPUDriverBeginSynchronizeCallback) (); + +/// +/// The callback invoked when the GPUDriver has finished dispatching commands. +/// during the current call to ulRender(). +/// +typedef void +(*ULGPUDriverEndSynchronizeCallback) (); + +/// +/// The callback invoked when the GPUDriver wants to get the next available +/// texture ID. +/// +typedef unsigned int +(*ULGPUDriverNextTextureIdCallback) (); + +/// +/// The callback invoked when the GPUDriver wants to create a texture with a +/// certain ID and optional bitmap. +/// +/// **NOTE**: If the Bitmap is empty (ulBitmapIsEmpty), then a RTT Texture +/// should be created instead. This will be used as a backing +/// texture for a new RenderBuffer. +/// +typedef void +(*ULGPUDriverCreateTextureCallback) (unsigned int texture_id, + ULBitmap bitmap); + +/// +/// The callback invoked when the GPUDriver wants to update an existing non-RTT +/// texture with new bitmap data. +/// +typedef void +(*ULGPUDriverUpdateTextureCallback) (unsigned int texture_id, + ULBitmap bitmap); + +/// +/// The callback invoked when the GPUDriver wants to destroy a texture. +/// +typedef void +(*ULGPUDriverDestroyTextureCallback) (unsigned int texture_id); + +/// +/// The callback invoked when the GPUDriver wants to generate the next +/// available render buffer ID. +/// +typedef unsigned int +(*ULGPUDriverNextRenderBufferIdCallback) (); + +/// +/// The callback invoked when the GPUDriver wants to create a render buffer +/// with certain ID and buffer description. +/// +typedef void +(*ULGPUDriverCreateRenderBufferCallback) (unsigned int render_buffer_id, + ULRenderBuffer buffer); + +/// +/// The callback invoked when the GPUDriver wants to destroy a render buffer +/// +typedef void +(*ULGPUDriverDestroyRenderBufferCallback) (unsigned int render_buffer_id); + +/// +/// The callback invoked when the GPUDriver wants to generate the next +/// available geometry ID. +/// +typedef unsigned int +(*ULGPUDriverNextGeometryIdCallback) (); + +/// +/// The callback invoked when the GPUDriver wants to create geometry with +/// certain ID and vertex/index data. +/// +typedef void +(*ULGPUDriverCreateGeometryCallback) (unsigned int geometry_id, + ULVertexBuffer vertices, + ULIndexBuffer indices); + +/// +/// The callback invoked when the GPUDriver wants to update existing geometry +/// with new vertex/index data. +/// +typedef void +(*ULGPUDriverUpdateGeometryCallback) (unsigned int geometry_id, + ULVertexBuffer vertices, + ULIndexBuffer indices); + +/// +/// The callback invoked when the GPUDriver wants to destroy geometry. +/// +typedef void +(*ULGPUDriverDestroyGeometryCallback) (unsigned int geometry_id); + +/// +/// The callback invoked when the GPUDriver wants to update the command list +/// (you should copy the commands to your own structure). +/// +typedef void +(*ULGPUDriverUpdateCommandListCallback) (ULCommandList list); + +typedef struct { + ULGPUDriverBeginSynchronizeCallback begin_synchronize; + ULGPUDriverEndSynchronizeCallback end_synchronize; + ULGPUDriverNextTextureIdCallback next_texture_id; + ULGPUDriverCreateTextureCallback create_texture; + ULGPUDriverUpdateTextureCallback update_texture; + ULGPUDriverDestroyTextureCallback destroy_texture; + ULGPUDriverNextRenderBufferIdCallback next_render_buffer_id; + ULGPUDriverCreateRenderBufferCallback create_render_buffer; + ULGPUDriverDestroyRenderBufferCallback destroy_render_buffer; + ULGPUDriverNextGeometryIdCallback next_geometry_id; + ULGPUDriverCreateGeometryCallback create_geometry; + ULGPUDriverUpdateGeometryCallback update_geometry; + ULGPUDriverDestroyGeometryCallback destroy_geometry; + ULGPUDriverUpdateCommandListCallback update_command_list; +} ULGPUDriver; + +/// +/// Sets up an orthographic projection matrix with a certain viewport width +/// and height, multiplies it by 'transform', and returns the result. +/// +/// This should be used to calculate the model-view projection matrix for the +/// vertex shaders using the current ULGPUState. +/// +/// The 'flip_y' can be optionally used to flip the Y coordinate-space. +/// (Usually flip_y == true for OpenGL) +/// +ULExport ULMatrix4x4 ulApplyProjection(ULMatrix4x4 transform, + float viewport_width, + float viewport_height, + bool flip_y); + +/****************************************************************************** + * Clipboard + *****************************************************************************/ + +/// +/// The callback invoked when the library wants to clear the system's +/// clipboard. +/// +typedef void +(*ULClipboardClearCallback) (); + +/// +/// The callback invoked when the library wants to read from the system's +/// clipboard. +/// +/// You should store the result (if any) in 'result'. +/// +typedef void +(*ULClipboardReadPlainTextCallback) (ULString result); + +/// +/// The callback invoked when the library wants to write to the system's +/// clipboard. +/// +typedef void +(*ULClipboardWritePlainTextCallback) (ULString text); + +typedef struct { + ULClipboardClearCallback clear; + ULClipboardReadPlainTextCallback read_plain_text; + ULClipboardWritePlainTextCallback write_plain_text; +} ULClipboard; + +/****************************************************************************** + * Platform + *****************************************************************************/ + +/// +/// Set a custom Logger implementation. +/// +/// This is used to log debug messages to the console or to a log file. +/// +/// You should call this before ulCreateRenderer() or ulCreateApp(). +/// +/// @note ulCreateApp() will use the default logger if you never call this. +/// +/// @note If you're not using ulCreateApp(), (eg, using ulCreateRenderer()) +/// you can still use the default logger by calling +/// ulEnableDefaultLogger() (@see ) +/// +ULExport void ulPlatformSetLogger(ULLogger logger); + +/// +/// Set a custom FileSystem implementation. +/// +/// This is used for loading File URLs (eg, ). If you don't +/// call this, and are not using ulCreateApp() or ulEnablePlatformFileSystem(), +/// you will not be able to load any File URLs. +/// +/// You should call this before ulCreateRenderer() or ulCreateApp(). +/// +/// @note ulCreateApp() will use the default platform file system if you never +/// call this. +/// +/// @note If you're not using ulCreateApp(), (eg, using ulCreateRenderer()) +/// you can still use the default platform file system by calling +/// ulEnablePlatformFileSystem() (@see ) +/// +ULExport void ulPlatformSetFileSystem(ULFileSystem file_system); + +/// +/// Set a custom Surface implementation. +/// +/// This can be used to wrap a platform-specific GPU texture, Windows DIB, +/// macOS CGImage, or any other pixel buffer target for display on screen. +/// +/// By default, the library uses a bitmap surface for all surfaces but you can +/// override this by providing your own surface definition here. +/// +/// You should call this before ulCreateRenderer() or ulCreateApp(). +/// +ULExport void ulPlatformSetSurfaceDefinition(ULSurfaceDefinition surface_definition); + +/// +/// Set a custom GPUDriver implementation. +/// +/// This should be used if you have enabled the GPU renderer in the Config and +/// are using ulCreateRenderer() (which does not provide its own GPUDriver +/// implementation). +/// +/// The GPUDriver interface is used by the library to dispatch GPU calls to +/// your native GPU context (eg, D3D11, Metal, OpenGL, Vulkan, etc.) There +/// are reference implementations for this interface in the AppCore repo. +/// +/// You should call this before ulCreateRenderer(). +/// +ULExport void ulPlatformSetGPUDriver(ULGPUDriver gpu_driver); + +/// +/// Set a custom Clipboard implementation. +/// +/// This should be used if you are using ulCreateRenderer() (which does not +/// provide its own clipboard implementation). +/// +/// The Clipboard interface is used by the library to make calls to the +/// system's native clipboard (eg, cut, copy, paste). +/// +/// You should call this before ulCreateRenderer(). +/// +ULExport void ulPlatformSetClipboard(ULClipboard clipboard); + #ifdef __cplusplus } #endif diff --git a/include/Ultralight/Defines.h b/include/Ultralight/Defines.h new file mode 100644 index 0000000..c750899 --- /dev/null +++ b/include/Ultralight/Defines.h @@ -0,0 +1,103 @@ +/// +/// @file Defines.h +/// +/// @brief Common platform definitions +/// +/// @author +/// +/// This file is a part of Ultralight, a next-generation HTML renderer. +/// +/// Website: +/// +/// Copyright (C) 2020 Ultralight, Inc. All rights reserved. +/// +#pragma once + +// Needed for limit defines, like INTMAX_MAX, which is used by the std C++ library +#ifndef __STDC_LIMIT_MACROS +#define __STDC_LIMIT_MACROS +#endif + +#include +#include +#include + +#ifdef SWIG +#define UExport +#else + +// Require C++11 Support +#if defined(_MSC_VER) +# if _MSC_VER < 1800 +# error This project needs at least Visual Studio 2013 to build +# endif +#elif __cplusplus <= 199711L +# error This project can only be compiled with a compiler that supports C++11 +#endif + + +#if defined(__WIN32__) || defined(_WIN32) +# if defined(ULTRALIGHT_STATIC_BUILD) +# define UExport +# else +# if defined(ULTRALIGHT_IMPLEMENTATION) +# define UExport __declspec(dllexport) +# else +# define UExport __declspec(dllimport) +# endif +# endif +#define _thread_local __declspec(thread) +#ifndef _NATIVE_WCHAR_T_DEFINED +#define DISABLE_NATIVE_WCHAR_T +#endif +#else +# if defined(ULTRALIGHT_STATIC_BUILD) +# define UExport +# else +# define UExport __attribute__((visibility("default"))) +# endif +#define _thread_local __thread +#endif + +#endif + +#define ULTRALIGHT_VERSION "1.2.1" +#define ULTRALIGHT_VERSION_MAJOR 1 +#define ULTRALIGHT_VERSION_MINOR 2 +#define ULTRALIGHT_VERSION_PATCH 1 + +#ifdef __cplusplus +extern "C" { +#endif + +UExport const char* UltralightVersionString(); +UExport uint32_t UltralightVersionMajor(); +UExport uint32_t UltralightVersionMinor(); +UExport uint32_t UltralightVersionPatch(); + +#ifdef __cplusplus +} +#endif + +/// +/// @mainpage Ultralight C++ API Reference +/// +/// @section intro_sec Introduction +/// +/// Hi there, welcome to the C++ API Reference for Ultralight! +/// +/// Ultralight is a next-generation HTML renderer for desktop apps and games. +/// +/// If this is your first time exploring the API, we recommend +/// starting with ultralight::Renderer and ultralight::View. +/// +/// +/// @section usefullinks_sec Useful Links +/// - Home: -- Get the latest binaries +/// - Docs: -- API overview, code snippets, tutorials and more! +/// - Discord: -- Stuck? Have questions? Come chat with us! +/// - GitHub: -- Report issues and browse code +/// +/// @section copyright_sec Copyright +/// Documentation is Copyright (C) 2020 Ultralight, Inc. All rights reserved. +/// diff --git a/include/Ultralight/Geometry.h b/include/Ultralight/Geometry.h new file mode 100644 index 0000000..6f3f2bd --- /dev/null +++ b/include/Ultralight/Geometry.h @@ -0,0 +1,677 @@ +/// +/// @file Geometry.h +/// +/// @brief The header for various geometry definitions and helpers +/// +/// @author +/// +/// This file is a part of Ultralight, a fast, lightweight, HTML UI engine +/// +/// Website: +/// +/// Copyright (C) 2020 Ultralight, Inc. All rights reserved. +/// +#pragma once +#include +#include +#include +#include +#include + +namespace ultralight { + +/// +/// 2D Vector Helper +/// +struct UExport vec2 { + union { + float value[2]; + struct { float x, y; }; + }; + + inline vec2() {} + + inline vec2(float x, float y) : x(x), y(y) {} + + inline vec2(float x) : x(x), y(x) {} + + inline vec2 yx() const { return { y, x }; } + + inline vec2 xx() const { return { x, x }; } + + inline vec2 yy() const { return { y, y }; } + + inline friend vec2 operator+(vec2 lhs, const vec2& rhs) { lhs += rhs; return lhs; } + + inline friend vec2 operator-(vec2 lhs, const vec2& rhs) { lhs -= rhs; return lhs; } + + inline friend vec2 operator*(vec2 lhs, const vec2& rhs) { lhs *= rhs; return lhs; } + + inline friend vec2 operator/(vec2 lhs, const vec2& rhs) { lhs /= rhs; return lhs; } + + inline friend vec2 operator+(vec2 lhs, float rhs) { lhs += rhs; return lhs; } + + inline friend vec2 operator-(vec2 lhs, float rhs) { lhs -= rhs; return lhs; } + + inline friend vec2 operator*(vec2 lhs, float rhs) { lhs *= rhs; return lhs; } + + inline friend vec2 operator/(vec2 lhs, float rhs) { lhs /= rhs; return lhs; } + + inline vec2& operator+=(const vec2& rhs) { + value[0] += rhs.value[0]; + value[1] += rhs.value[1]; + return *this; + } + + inline vec2& operator-=(const vec2& rhs) { + value[0] -= rhs.value[0]; + value[1] -= rhs.value[1]; + return *this; + } + + inline vec2& operator*=(const vec2& rhs) { + value[0] *= rhs.value[0]; + value[1] *= rhs.value[1]; + return *this; + } + + inline vec2& operator/=(const vec2& rhs) { + value[0] /= rhs.value[0]; + value[1] /= rhs.value[1]; + return *this; + } + + inline vec2& operator+=(float rhs) { + value[0] += rhs; + value[1] += rhs; + return *this; + } + + inline vec2& operator-=(float rhs) { + value[0] -= rhs; + value[1] -= rhs; + return *this; + } + + inline vec2& operator*=(float rhs) { + value[0] *= rhs; + value[1] *= rhs; + return *this; + } + + inline vec2& operator/=(float rhs) { + value[0] /= rhs; + value[1] /= rhs; + return *this; + } + + inline friend bool operator==(const vec2& a, const vec2& b) { + return !memcmp(&a, &b, sizeof(a)); + } + + inline friend bool operator!=(const vec2& a, const vec2& b) { + return !(a == b); + } + + inline friend vec2 min_(const vec2& a, const vec2& b) { + return{ (b.x < a.x) ? b.x : a.x, + (b.y < a.y) ? b.y : a.y }; + } + + inline friend vec2 max_(const vec2& a, const vec2& b) { + return{ (a.x < b.x) ? b.x : a.x, + (a.y < b.y) ? b.y : a.y }; + } + + inline friend vec2 clamp(const vec2& x, const vec2& minVal, const vec2& maxVal) { + return min_(max_(x, minVal), maxVal); + } + + inline friend vec2 mix(const vec2& a, const vec2& b, float t) { + return a * (1.0f - t) + b * t; + } + + inline friend float length(const vec2& a) { + return sqrtf(a.x * a.x + a.y * a.y); + } + + // squared length + inline friend float length2(const vec2& a) { + return dot(a, a); + } + + inline friend float distance(const vec2& a, const vec2& b) { + return length(a - b); + } + + // squared distance + inline friend float distance2(const vec2& a, const vec2& b) { + return length2(a - b); + } + + inline friend vec2 normalize(const vec2& a) { + return a / length(a); + } + + inline friend float dot(const vec2& a, const vec2& b) { + return a.x * b.x + a.y * b.y; + } +}; + +/// +/// 3D Vector Helper +/// +struct UExport vec3 { + union { + float value[3]; + struct { float x, y, z; }; + }; + + inline vec3() {} + + inline vec3(float x, float y, float z) : x(x), y(y), z(z) {} + + inline vec3(float x) : x(x), y(x), z(x) {} + + inline friend vec3 operator+(vec3 lhs, const vec3& rhs) { lhs += rhs; return lhs; } + + inline friend vec3 operator-(vec3 lhs, const vec3& rhs) { lhs -= rhs; return lhs; } + + inline friend vec3 operator*(vec3 lhs, const vec3& rhs) { lhs *= rhs; return lhs; } + + inline friend vec3 operator/(vec3 lhs, const vec3& rhs) { lhs /= rhs; return lhs; } + + inline friend vec3 operator+(vec3 lhs, float rhs) { lhs += rhs; return lhs; } + + inline friend vec3 operator-(vec3 lhs, float rhs) { lhs -= rhs; return lhs; } + + inline friend vec3 operator*(vec3 lhs, float rhs) { lhs *= rhs; return lhs; } + + inline friend vec3 operator/(vec3 lhs, float rhs) { lhs /= rhs; return lhs; } + + inline vec3& operator+=(const vec3& rhs) { + value[0] += rhs.value[0]; + value[1] += rhs.value[1]; + value[2] += rhs.value[2]; + return *this; + } + + inline vec3& operator-=(const vec3& rhs) { + value[0] -= rhs.value[0]; + value[1] -= rhs.value[1]; + value[2] -= rhs.value[2]; + return *this; + } + + inline vec3& operator*=(const vec3& rhs) { + value[0] *= rhs.value[0]; + value[1] *= rhs.value[1]; + value[2] *= rhs.value[2]; + return *this; + } + + inline vec3& operator/=(const vec3& rhs) { + value[0] /= rhs.value[0]; + value[1] /= rhs.value[1]; + value[2] /= rhs.value[2]; + return *this; + } + + inline vec3& operator+=(float rhs) { + value[0] += rhs; + value[1] += rhs; + value[2] += rhs; + return *this; + } + + inline vec3& operator-=(float rhs) { + value[0] -= rhs; + value[1] -= rhs; + value[2] -= rhs; + return *this; + } + + inline vec3& operator*=(float rhs) { + value[0] *= rhs; + value[1] *= rhs; + value[2] *= rhs; + return *this; + } + + inline vec3& operator/=(float rhs) { + value[0] /= rhs; + value[1] /= rhs; + value[2] /= rhs; + return *this; + } + + inline friend bool operator==(const vec3& a, const vec3& b) { + return !memcmp(&a, &b, sizeof(a)); + } + + inline friend bool operator!=(const vec3& a, const vec3& b) { + return !(a == b); + } + + inline friend vec3 min_(const vec3& a, const vec3& b) { + return{ (b.x < a.x) ? b.x : a.x, + (b.y < a.y) ? b.y : a.y, + (b.z < a.z) ? b.z : a.z }; + } + + inline friend vec3 max_(const vec3& a, const vec3& b) { + return{ (a.x < b.x) ? b.x : a.x, + (a.y < b.y) ? b.y : a.y, + (a.z < b.z) ? b.z : a.z }; + } + inline friend vec3 clamp(const vec3& x, const vec3& minVal, const vec3& maxVal) { + return min_(max_(x, minVal), maxVal); + } + + inline friend vec3 mix(const vec3& a, const vec3& b, float t) { + return a * (1.0f - t) + b * t; + } + + inline friend float length(const vec3& a) { + return sqrtf(a.x * a.x + a.y * a.y + a.z * a.z); + } + + inline friend float distance(const vec3& a, const vec3& b) { + return length(a - b); + } + + inline friend vec3 normalize(const vec3& a) { + return a / length(a); + } + + inline friend float dot(const vec3& a, const vec3& b) { + return a.x * b.x + a.y * b.y + a.z * b.z; + } +}; + +/// +/// 4D Vector Helper +/// +struct UExport vec4 { + union { + float value[4]; + struct { float x, y, z, w; }; + }; + + inline vec4() {} + + inline vec4(float x, float y, float z, float w) : x(x), y(y), z(z), w(w) {} + + inline vec4(float x) : x(x), y(x), z(x), w(x) {} + + inline vec4(const float x[4]) { memcpy(value, x, sizeof(value)); } + + inline friend bool operator==(const vec4& a, const vec4& b) { + return !memcmp(&a, &b, sizeof(a)); + } + + inline friend bool operator!=(const vec4& a, const vec4& b) { + return !(a == b); + } + + inline friend vec4 operator+(vec4 lhs, const vec4& rhs) { lhs += rhs; return lhs; } + + inline friend vec4 operator-(vec4 lhs, const vec4& rhs) { lhs -= rhs; return lhs; } + + inline friend vec4 operator*(vec4 lhs, const vec4& rhs) { lhs *= rhs; return lhs; } + + inline friend vec4 operator/(vec4 lhs, const vec4& rhs) { lhs /= rhs; return lhs; } + + inline friend vec4 operator+(vec4 lhs, float rhs) { lhs += rhs; return lhs; } + + inline friend vec4 operator-(vec4 lhs, float rhs) { lhs -= rhs; return lhs; } + + inline friend vec4 operator*(vec4 lhs, float rhs) { lhs *= rhs; return lhs; } + + inline friend vec4 operator/(vec4 lhs, float rhs) { lhs /= rhs; return lhs; } + + inline vec4& operator+=(const vec4& rhs) { + value[0] += rhs.value[0]; + value[1] += rhs.value[1]; + value[2] += rhs.value[2]; + value[3] += rhs.value[3]; + return *this; + } + + inline vec4& operator-=(const vec4& rhs) { + value[0] -= rhs.value[0]; + value[1] -= rhs.value[1]; + value[2] -= rhs.value[2]; + value[3] -= rhs.value[3]; + return *this; + } + + inline vec4& operator*=(const vec4& rhs) { + value[0] *= rhs.value[0]; + value[1] *= rhs.value[1]; + value[2] *= rhs.value[2]; + value[3] *= rhs.value[3]; + return *this; + } + + inline vec4& operator/=(const vec4& rhs) { + value[0] /= rhs.value[0]; + value[1] /= rhs.value[1]; + value[2] /= rhs.value[2]; + value[3] /= rhs.value[3]; + return *this; + } + + inline vec4& operator+=(float rhs) { + value[0] += rhs; + value[1] += rhs; + value[2] += rhs; + value[3] += rhs; + return *this; + } + + inline vec4& operator-=(float rhs) { + value[0] -= rhs; + value[1] -= rhs; + value[2] -= rhs; + value[3] -= rhs; + return *this; + } + + inline vec4& operator*=(float rhs) { + value[0] *= rhs; + value[1] *= rhs; + value[2] *= rhs; + value[3] *= rhs; + return *this; + } + + inline vec4& operator/=(float rhs) { + value[0] /= rhs; + value[1] /= rhs; + value[2] /= rhs; + value[3] /= rhs; + return *this; + } + + inline friend vec4 min_(const vec4& a, const vec4& b) { + return{ (b.x < a.x) ? b.x : a.x, + (b.y < a.y) ? b.y : a.y, + (b.z < a.z) ? b.z : a.z, + (b.w < a.w) ? b.w : a.w }; + } + + inline friend vec4 max_(const vec4& a, const vec4& b) { + return{ (a.x < b.x) ? b.x : a.x, + (a.y < b.y) ? b.y : a.y, + (a.z < b.z) ? b.z : a.z, + (a.w < b.w) ? b.w : a.w }; + } +}; + +/// +/// Point is typedef'd to a 2D vector +/// +typedef vec2 Point; + +/// +/// Float Rectangle Helper +/// +struct UExport Rect { + union { + float value[4]; + struct { float left, top, right, bottom; }; + }; + + static inline Rect MakeEmpty() { + Rect result; + result.SetEmpty(); + return result; + } + + inline float width() const { return right - left; } + inline float height() const { return bottom - top; } + inline float x() const { return left; } + inline float y() const { return top; } + inline float center_x() const { return (left + right) * 0.5f; } + inline float center_y() const { return (top + bottom) * 0.5f; } + + inline Point origin() const { return { left, top }; } + + inline void SetEmpty() { + memset(this, 0, sizeof(*this)); + } + + inline bool IsEmpty() const { + return *this == MakeEmpty(); + } + + inline bool IsValid() const { + return width() > 0 && height() > 0; + } + + inline void Inset(float dx, float dy) { + value[0] += dx; + value[1] += dy; + value[2] -= dx; + value[3] -= dy; + } + + inline void Outset(float dx, float dy) { + Inset(-dx, -dy); + } + + inline void Move(float dx, float dy) { + value[0] += dx; + value[1] += dy; + value[2] += dx; + value[3] += dy; + } + + inline float area() const { + return width() * height(); + } + + inline void Join(const Rect& rhs) { + // if we are empty, just assign + if (IsEmpty()) { + *this = rhs; + } + else { + if (rhs.value[0] < value[0]) value[0] = rhs.value[0]; + if (rhs.value[1] < value[1]) value[1] = rhs.value[1]; + if (rhs.value[2] > value[2]) value[2] = rhs.value[2]; + if (rhs.value[3] > value[3]) value[3] = rhs.value[3]; + } + } + + inline void Join(const Point& p) { + // if we are empty, just assign + if (IsEmpty()) { + *this = { p.x, p.y, p.x, p.y }; + } + else { + if (p.x < value[0]) value[0] = p.x; + if (p.y < value[1]) value[1] = p.y; + if (p.x > value[2]) value[2] = p.x; + if (p.y > value[3]) value[3] = p.y; + } + } + + inline bool Contains(const Point& p) const { + return p.x >= left && p.x <= right && + p.y >= top && p.y <= bottom; + } + + inline bool Contains(const Rect& r) const { + return left <= r.left && top <= r.top && + right >= r.right && bottom >= r.bottom; + } + + inline bool Intersects(const Rect& rhs) const { + return !(rhs.left > right || + rhs.right < left || + rhs.top > bottom || + rhs.bottom < top); + } + + inline Rect Intersect(const Rect& other) const { + return{ (left < other.left) ? other.left : left, + (top < other.top) ? other.top : top, + (other.right < right) ? other.right : right, + (other.bottom < bottom) ? other.bottom : bottom }; + } + + friend inline bool operator==(const Rect& a, const Rect& b) { + return !memcmp(&a, &b, sizeof(a)); + } + + friend inline bool operator!=(const Rect& a, const Rect& b) { + return !(a == b); + } +}; + +/// +/// Integer Rectangle Helper +/// +struct UExport IntRect { + union { + int value[4]; + struct { int left, top, right, bottom; }; + }; + + static inline IntRect MakeEmpty() { + IntRect result; + result.SetEmpty(); + return result; + } + + inline int width() const { return right - left; } + inline int height() const { return bottom - top; } + inline int x() const { return left; } + inline int y() const { return top; } + inline int center_x() const { return (int)std::round((left + right) * 0.5f); } + inline int center_y() const { return (int)std::round((top + bottom) * 0.5f); } + + inline Point origin() const { return{ (float)left, (float)top }; } + + inline void SetEmpty() { + memset(this, 0, sizeof(*this)); + } + + inline bool IsEmpty() const { + return *this == MakeEmpty(); + } + + inline bool IsValid() const { + return width() > 0 && height() > 0; + } + + inline void Inset(int dx, int dy) { + value[0] += dx; + value[1] += dy; + value[2] -= dx; + value[3] -= dy; + } + + inline void Outset(int dx, int dy) { + Inset(-dx, -dy); + } + + inline void Move(int dx, int dy) { + value[0] += dx; + value[1] += dy; + value[2] += dx; + value[3] += dy; + } + + inline int area() const { + return width() * height(); + } + + inline void Join(const IntRect& rhs) { + // if we are empty, just assign + if (IsEmpty()) { + *this = rhs; + } + else { + if (rhs.value[0] < value[0]) value[0] = rhs.value[0]; + if (rhs.value[1] < value[1]) value[1] = rhs.value[1]; + if (rhs.value[2] > value[2]) value[2] = rhs.value[2]; + if (rhs.value[3] > value[3]) value[3] = rhs.value[3]; + } + } + + inline void Join(const Point& p) { + // if we are empty, just assign + if (IsEmpty()) { + *this = { (int)std::floor(p.x), (int)std::floor(p.y), (int)std::ceil(p.x), (int)std::ceil(p.y) }; + } + else { + if ((int)std::floor(p.x) < value[0]) value[0] = (int)std::floor(p.x); + if ((int)std::floor(p.y) < value[1]) value[1] = (int)std::floor(p.y); + if ((int)std::ceil(p.x) > value[2]) value[2] = (int)std::ceil(p.x); + if ((int)std::ceil(p.y) > value[3]) value[3] = (int)std::ceil(p.y); + } + } + + inline bool Contains(const Point& p) const { + return p.x >= left && p.x <= right && + p.y >= top && p.y <= bottom; + } + + inline bool Contains(const IntRect& r) const { + return left <= r.left && top <= r.top && + right >= r.right && bottom >= r.bottom; + } + + inline bool Intersects(const IntRect& rhs) const { + // Since this is mostly used for pixel operations, we only count + // intersections that have width and height >= 1. + return !(rhs.left > right - 1 || + rhs.right < left || + rhs.top > bottom - 1 || + rhs.bottom < top); + } + + inline IntRect Intersect(const IntRect& other) const { + return{ (left < other.left) ? other.left : left, + (top < other.top) ? other.top : top, + (other.right < right) ? other.right : right, + (other.bottom < bottom) ? other.bottom : bottom }; + } + + friend inline bool operator==(const IntRect& a, const IntRect& b) { + return !memcmp(&a, &b, sizeof(a)); + } + + friend inline bool operator!=(const IntRect& a, const IntRect& b) { + return !(a == b); + } +}; + +/// +/// Rounded Rectangle Helper +/// +struct UExport RoundedRect { + Rect rect; + float radii_x[4]; + float radii_y[4]; + + void SetEmpty(); + + bool IsRounded() const; + + // Negative is inside, positive is outside. + float GetSignedDistance(const Point& p) const; + + // Returns whether or not intersection is found. Can fail if the resulting + // geometry is not a rounded rectangle. + bool Intersect(const RoundedRect& other, RoundedRect& result) const; + + void SnapToPixels(); + + Rect CalculateInterior() const; +}; + +} // namespace ultralight diff --git a/include/Ultralight/JavaScript.h b/include/Ultralight/JavaScript.h new file mode 100644 index 0000000..2f422d2 --- /dev/null +++ b/include/Ultralight/JavaScript.h @@ -0,0 +1,39 @@ +/// +/// @file View.h +/// +/// @brief The header for the View class. +/// +/// @author +/// +/// This file is a part of Ultralight, a fast, lightweight, HTML UI engine +/// +/// Website: +/// +/// Copyright (C) 2020 Ultralight, Inc. All rights reserved. +/// +#pragma once +#include +#include +#include +#include + +namespace ultralight { + +/// +/// This class wraps a JSContextRef (a JavaScript execution context for use +/// with JavaScriptCore) and locks the context on the current thread for the +/// duration of its lifetime. +/// +class UExport JSContext : public RefCounted { +public: + /// Get the underlying JSContextRef for use with JavaScriptCore C API + virtual JSContextRef ctx() = 0; + + /// Typecast to a JSContextRef for use with JavaScriptCore C API + operator JSContextRef(); + +protected: + virtual ~JSContext(); +}; + +} // namespace ultralight diff --git a/include/Ultralight/KeyCodes.h b/include/Ultralight/KeyCodes.h new file mode 100644 index 0000000..8301d97 --- /dev/null +++ b/include/Ultralight/KeyCodes.h @@ -0,0 +1,527 @@ +/// +/// @file KeyCodes.h +/// +/// @brief The header for the KeyCodes definitions. +/// +/// @author +/// +/// This file is a part of Ultralight, a fast, lightweight, HTML UI engine +/// +/// Website: +/// +/// Copyright (C) 2020 Ultralight, Inc. All rights reserved. +/// +#pragma once + +namespace ultralight { + +/// +/// Namespace containing all the key-code definitions for KeyboardEvent. +/// Most of these correspond directly to the key-code values on Windows. + /// +namespace KeyCodes { + + // GK_BACK (08) BACKSPACE key + const int GK_BACK = 0x08; + + // GK_TAB (09) TAB key + const int GK_TAB = 0x09; + + // GK_CLEAR (0C) CLEAR key + const int GK_CLEAR = 0x0C; + + // GK_RETURN (0D) + const int GK_RETURN = 0x0D; + + // GK_SHIFT (10) SHIFT key + const int GK_SHIFT = 0x10; + + // GK_CONTROL (11) CTRL key + const int GK_CONTROL = 0x11; + + // GK_MENU (12) ALT key + const int GK_MENU = 0x12; + + // GK_PAUSE (13) PAUSE key + const int GK_PAUSE = 0x13; + + // GK_CAPITAL (14) CAPS LOCK key + const int GK_CAPITAL = 0x14; + + // GK_KANA (15) Input Method Editor (IME) Kana mode + const int GK_KANA = 0x15; + + // GK_HANGUEL (15) IME Hanguel mode (maintained for compatibility; use GK_HANGUL) + // GK_HANGUL (15) IME Hangul mode + const int GK_HANGUL = 0x15; + + // GK_JUNJA (17) IME Junja mode + const int GK_JUNJA = 0x17; + + // GK_FINAL (18) IME final mode + const int GK_FINAL = 0x18; + + // GK_HANJA (19) IME Hanja mode + const int GK_HANJA = 0x19; + + // GK_KANJI (19) IME Kanji mode + const int GK_KANJI = 0x19; + + // GK_ESCAPE (1B) ESC key + const int GK_ESCAPE = 0x1B; + + // GK_CONVERT (1C) IME convert + const int GK_CONVERT = 0x1C; + + // GK_NONCONVERT (1D) IME nonconvert + const int GK_NONCONVERT = 0x1D; + + // GK_ACCEPT (1E) IME accept + const int GK_ACCEPT = 0x1E; + + // GK_MODECHANGE (1F) IME mode change request + const int GK_MODECHANGE = 0x1F; + + // GK_SPACE (20) SPACEBAR + const int GK_SPACE = 0x20; + + // GK_PRIOR (21) PAGE UP key + const int GK_PRIOR = 0x21; + + // GK_NEXT (22) PAGE DOWN key + const int GK_NEXT = 0x22; + + // GK_END (23) END key + const int GK_END = 0x23; + + // GK_HOME (24) HOME key + const int GK_HOME = 0x24; + + // GK_LEFT (25) LEFT ARROW key + const int GK_LEFT = 0x25; + + // GK_UP (26) UP ARROW key + const int GK_UP = 0x26; + + // GK_RIGHT (27) RIGHT ARROW key + const int GK_RIGHT = 0x27; + + // GK_DOWN (28) DOWN ARROW key + const int GK_DOWN = 0x28; + + // GK_SELECT (29) SELECT key + const int GK_SELECT = 0x29; + + // GK_PRINT (2A) PRINT key + const int GK_PRINT = 0x2A; + + // GK_EXECUTE (2B) EXECUTE key + const int GK_EXECUTE = 0x2B; + + // GK_SNAPSHOT (2C) PRINT SCREEN key + const int GK_SNAPSHOT = 0x2C; + + // GK_INSERT (2D) INS key + const int GK_INSERT = 0x2D; + + // GK_DELETE (2E) DEL key + const int GK_DELETE = 0x2E; + + // GK_HELP (2F) HELP key + const int GK_HELP = 0x2F; + + // (30) 0 key + const int GK_0 = 0x30; + + // (31) 1 key + const int GK_1 = 0x31; + + // (32) 2 key + const int GK_2 = 0x32; + + // (33) 3 key + const int GK_3 = 0x33; + + // (34) 4 key + const int GK_4 = 0x34; + + // (35) 5 key; + const int GK_5 = 0x35; + + // (36) 6 key + const int GK_6 = 0x36; + + // (37) 7 key + const int GK_7 = 0x37; + + // (38) 8 key + const int GK_8 = 0x38; + + // (39) 9 key + const int GK_9 = 0x39; + + // (41) A key + const int GK_A = 0x41; + + // (42) B key + const int GK_B = 0x42; + + // (43) C key + const int GK_C = 0x43; + + // (44) D key + const int GK_D = 0x44; + + // (45) E key + const int GK_E = 0x45; + + // (46) F key + const int GK_F = 0x46; + + // (47) G key + const int GK_G = 0x47; + + // (48) H key + const int GK_H = 0x48; + + // (49) I key + const int GK_I = 0x49; + + // (4A) J key + const int GK_J = 0x4A; + + // (4B) K key + const int GK_K = 0x4B; + + // (4C) L key + const int GK_L = 0x4C; + + // (4D) M key + const int GK_M = 0x4D; + + // (4E) N key + const int GK_N = 0x4E; + + // (4F) O key + const int GK_O = 0x4F; + + // (50) P key + const int GK_P = 0x50; + + // (51) Q key + const int GK_Q = 0x51; + + // (52) R key + const int GK_R = 0x52; + + // (53) S key + const int GK_S = 0x53; + + // (54) T key + const int GK_T = 0x54; + + // (55) U key + const int GK_U = 0x55; + + // (56) V key + const int GK_V = 0x56; + + // (57) W key + const int GK_W = 0x57; + + // (58) X key + const int GK_X = 0x58; + + // (59) Y key + const int GK_Y = 0x59; + + // (5A) Z key + const int GK_Z = 0x5A; + + // GK_LWIN (5B) Left Windows key (Microsoft Natural keyboard) + const int GK_LWIN = 0x5B; + + // GK_RWIN (5C) Right Windows key (Natural keyboard) + const int GK_RWIN = 0x5C; + + // GK_APPS (5D) Applications key (Natural keyboard) + const int GK_APPS = 0x5D; + + // GK_SLEEP (5F) Computer Sleep key + const int GK_SLEEP = 0x5F; + + // GK_NUMPAD0 (60) Numeric keypad 0 key + const int GK_NUMPAD0 = 0x60; + + // GK_NUMPAD1 (61) Numeric keypad 1 key + const int GK_NUMPAD1 = 0x61; + + // GK_NUMPAD2 (62) Numeric keypad 2 key + const int GK_NUMPAD2 = 0x62; + + // GK_NUMPAD3 (63) Numeric keypad 3 key + const int GK_NUMPAD3 = 0x63; + + // GK_NUMPAD4 (64) Numeric keypad 4 key + const int GK_NUMPAD4 = 0x64; + + // GK_NUMPAD5 (65) Numeric keypad 5 key + const int GK_NUMPAD5 = 0x65; + + // GK_NUMPAD6 (66) Numeric keypad 6 key + const int GK_NUMPAD6 = 0x66; + + // GK_NUMPAD7 (67) Numeric keypad 7 key + const int GK_NUMPAD7 = 0x67; + + // GK_NUMPAD8 (68) Numeric keypad 8 key + const int GK_NUMPAD8 = 0x68; + + // GK_NUMPAD9 (69) Numeric keypad 9 key + const int GK_NUMPAD9 = 0x69; + + // GK_MULTIPLY (6A) Multiply key + const int GK_MULTIPLY = 0x6A; + + // GK_ADD (6B) Add key + const int GK_ADD = 0x6B; + + // GK_SEPARATOR (6C) Separator key + const int GK_SEPARATOR = 0x6C; + + // GK_SUBTRACT (6D) Subtract key + const int GK_SUBTRACT = 0x6D; + + // GK_DECIMAL (6E) Decimal key + const int GK_DECIMAL = 0x6E; + + // GK_DIVIDE (6F) Divide key + const int GK_DIVIDE = 0x6F; + + // GK_F1 (70) F1 key + const int GK_F1 = 0x70; + + // GK_F2 (71) F2 key + const int GK_F2 = 0x71; + + // GK_F3 (72) F3 key + const int GK_F3 = 0x72; + + // GK_F4 (73) F4 key + const int GK_F4 = 0x73; + + // GK_F5 (74) F5 key + const int GK_F5 = 0x74; + + // GK_F6 (75) F6 key + const int GK_F6 = 0x75; + + // GK_F7 (76) F7 key + const int GK_F7 = 0x76; + + // GK_F8 (77) F8 key + const int GK_F8 = 0x77; + + // GK_F9 (78) F9 key + const int GK_F9 = 0x78; + + // GK_F10 (79) F10 key + const int GK_F10 = 0x79; + + // GK_F11 (7A) F11 key + const int GK_F11 = 0x7A; + + // GK_F12 (7B) F12 key + const int GK_F12 = 0x7B; + + // GK_F13 (7C) F13 key + const int GK_F13 = 0x7C; + + // GK_F14 (7D) F14 key + const int GK_F14 = 0x7D; + + // GK_F15 (7E) F15 key + const int GK_F15 = 0x7E; + + // GK_F16 (7F) F16 key + const int GK_F16 = 0x7F; + + // GK_F17 (80H) F17 key + const int GK_F17 = 0x80; + + // GK_F18 (81H) F18 key + const int GK_F18 = 0x81; + + // GK_F19 (82H) F19 key + const int GK_F19 = 0x82; + + // GK_F20 (83H) F20 key + const int GK_F20 = 0x83; + + // GK_F21 (84H) F21 key + const int GK_F21 = 0x84; + + // GK_F22 (85H) F22 key + const int GK_F22 = 0x85; + + // GK_F23 (86H) F23 key + const int GK_F23 = 0x86; + + // GK_F24 (87H) F24 key + const int GK_F24 = 0x87; + + // GK_NUMLOCK (90) NUM LOCK key + const int GK_NUMLOCK = 0x90; + + // GK_SCROLL (91) SCROLL LOCK key + const int GK_SCROLL = 0x91; + + // GK_LSHIFT (A0) Left SHIFT key + const int GK_LSHIFT = 0xA0; + + // GK_RSHIFT (A1) Right SHIFT key + const int GK_RSHIFT = 0xA1; + + // GK_LCONTROL (A2) Left CONTROL key + const int GK_LCONTROL = 0xA2; + + // GK_RCONTROL (A3) Right CONTROL key + const int GK_RCONTROL = 0xA3; + + // GK_LMENU (A4) Left MENU key + const int GK_LMENU = 0xA4; + + // GK_RMENU (A5) Right MENU key + const int GK_RMENU = 0xA5; + + // GK_BROWSER_BACK (A6) Windows 2000/XP: Browser Back key + const int GK_BROWSER_BACK = 0xA6; + + // GK_BROWSER_FORWARD (A7) Windows 2000/XP: Browser Forward key + const int GK_BROWSER_FORWARD = 0xA7; + + // GK_BROWSER_REFRESH (A8) Windows 2000/XP: Browser Refresh key + const int GK_BROWSER_REFRESH = 0xA8; + + // GK_BROWSER_STOP (A9) Windows 2000/XP: Browser Stop key + const int GK_BROWSER_STOP = 0xA9; + + // GK_BROWSER_SEARCH (AA) Windows 2000/XP: Browser Search key + const int GK_BROWSER_SEARCH = 0xAA; + + // GK_BROWSER_FAVORITES (AB) Windows 2000/XP: Browser Favorites key + const int GK_BROWSER_FAVORITES = 0xAB; + + // GK_BROWSER_HOME (AC) Windows 2000/XP: Browser Start and Home key + const int GK_BROWSER_HOME = 0xAC; + + // GK_VOLUME_MUTE (AD) Windows 2000/XP: Volume Mute key + const int GK_VOLUME_MUTE = 0xAD; + + // GK_VOLUME_DOWN (AE) Windows 2000/XP: Volume Down key + const int GK_VOLUME_DOWN = 0xAE; + + // GK_VOLUME_UP (AF) Windows 2000/XP: Volume Up key + const int GK_VOLUME_UP = 0xAF; + + // GK_MEDIA_NEXT_TRACK (B0) Windows 2000/XP: Next Track key + const int GK_MEDIA_NEXT_TRACK = 0xB0; + + // GK_MEDIA_PREV_TRACK (B1) Windows 2000/XP: Previous Track key + const int GK_MEDIA_PREV_TRACK = 0xB1; + + // GK_MEDIA_STOP (B2) Windows 2000/XP: Stop Media key + const int GK_MEDIA_STOP = 0xB2; + + // GK_MEDIA_PLAY_PAUSE (B3) Windows 2000/XP: Play/Pause Media key + const int GK_MEDIA_PLAY_PAUSE = 0xB3; + + // GK_LAUNCH_MAIL (B4) Windows 2000/XP: Start Mail key + const int GK_MEDIA_LAUNCH_MAIL = 0xB4; + + // GK_LAUNCH_MEDIA_SELECT (B5) Windows 2000/XP: Select Media key + const int GK_MEDIA_LAUNCH_MEDIA_SELECT = 0xB5; + + // GK_LAUNCH_APP1 (B6) Windows 2000/XP: Start Application 1 key + const int GK_MEDIA_LAUNCH_APP1 = 0xB6; + + // GK_LAUNCH_APP2 (B7) Windows 2000/XP: Start Application 2 key + const int GK_MEDIA_LAUNCH_APP2 = 0xB7; + + // GK_OEM_1 (BA) Used for miscellaneous characters; it can vary by keyboard. Windows 2000/XP: For the US standard keyboard, the ';:' key + const int GK_OEM_1 = 0xBA; + + // GK_OEM_PLUS (BB) Windows 2000/XP: For any country/region, the '+' key + const int GK_OEM_PLUS = 0xBB; + + // GK_OEM_COMMA (BC) Windows 2000/XP: For any country/region, the ',' key + const int GK_OEM_COMMA = 0xBC; + + // GK_OEM_MINUS (BD) Windows 2000/XP: For any country/region, the '-' key + const int GK_OEM_MINUS = 0xBD; + + // GK_OEM_PERIOD (BE) Windows 2000/XP: For any country/region, the '.' key + const int GK_OEM_PERIOD = 0xBE; + + // GK_OEM_2 (BF) Used for miscellaneous characters; it can vary by keyboard. Windows 2000/XP: For the US standard keyboard, the '/?' key + const int GK_OEM_2 = 0xBF; + + // GK_OEM_3 (C0) Used for miscellaneous characters; it can vary by keyboard. Windows 2000/XP: For the US standard keyboard, the '`~' key + const int GK_OEM_3 = 0xC0; + + // GK_OEM_4 (DB) Used for miscellaneous characters; it can vary by keyboard. Windows 2000/XP: For the US standard keyboard, the '[{' key + const int GK_OEM_4 = 0xDB; + + // GK_OEM_5 (DC) Used for miscellaneous characters; it can vary by keyboard. Windows 2000/XP: For the US standard keyboard, the '\|' key + const int GK_OEM_5 = 0xDC; + + // GK_OEM_6 (DD) Used for miscellaneous characters; it can vary by keyboard. Windows 2000/XP: For the US standard keyboard, the ']}' key + const int GK_OEM_6 = 0xDD; + + // GK_OEM_7 (DE) Used for miscellaneous characters; it can vary by keyboard. Windows 2000/XP: For the US standard keyboard, the 'single-quote/double-quote' key + const int GK_OEM_7 = 0xDE; + + // GK_OEM_8 (DF) Used for miscellaneous characters; it can vary by keyboard. + const int GK_OEM_8 = 0xDF; + + // GK_OEM_102 (E2) Windows 2000/XP: Either the angle bracket key or the backslash key on the RT 102-key keyboard + const int GK_OEM_102 = 0xE2; + + // GK_PROCESSKEY (E5) Windows 95/98/Me, Windows NT 4.0, Windows 2000/XP: IME PROCESS key + const int GK_PROCESSKEY = 0xE5; + + // GK_PACKET (E7) Windows 2000/XP: Used to pass Unicode characters as if they were keystrokes. The GK_PACKET key is the low word of a 32-bit Virtual Key value used for non-keyboard input methods. For more information, see Remark in KEYBDINPUT,SendInput, WM_KEYDOWN, and WM_KEYUP + const int GK_PACKET = 0xE7; + + // GK_ATTN (F6) Attn key + const int GK_ATTN = 0xF6; + + // GK_CRSEL (F7) CrSel key + const int GK_CRSEL = 0xF7; + + // GK_EXSEL (F8) ExSel key + const int GK_EXSEL = 0xF8; + + // GK_EREOF (F9) Erase EOF key + const int GK_EREOF = 0xF9; + + // GK_PLAY (FA) Play key + const int GK_PLAY = 0xFA; + + // GK_ZOOM (FB) Zoom key + const int GK_ZOOM = 0xFB; + + // GK_NONAME (FC) Reserved for future use + const int GK_NONAME = 0xFC; + + // GK_PA1 (FD) PA1 key + const int GK_PA1 = 0xFD; + + // GK_OEM_CLEAR (FE) Clear key + const int GK_OEM_CLEAR = 0xFE; + + const int GK_UNKNOWN = 0; + +} // namespace KeyCodes + +} // namespace ultralight diff --git a/include/Ultralight/KeyEvent.h b/include/Ultralight/KeyEvent.h new file mode 100644 index 0000000..202c78f --- /dev/null +++ b/include/Ultralight/KeyEvent.h @@ -0,0 +1,180 @@ +/// +/// @file KeyEvent.h +/// +/// @brief The header for the KeyEvent class. +/// +/// @author +/// +/// This file is a part of Ultralight, a fast, lightweight, HTML UI engine +/// +/// Website: +/// +/// Copyright (C) 2020 Ultralight, Inc. All rights reserved. +/// +#pragma once +#include +#include +#include +#ifdef __OBJC__ +#import +#endif + +namespace ultralight { + +/// +/// @brief A generic keyboard event that can be created from a platform event +/// or synthesized from scratch. +/// +/// @see View::FireKeyEvent +/// +class UExport KeyEvent { +public: + /// + /// The various KeyEvent types. + /// + enum Type { + /// + /// Key-Down event type. (Does not trigger accelerator commands in WebCore) + /// + /// @NOTE: You should probably use RawKeyDown instead when a physical key + /// is pressed. This member is only here for historic compatibility + /// with WebCore's key event types. + /// + kType_KeyDown, + + /// + /// Key-Up event type. Use this when a physical key is released. + /// + kType_KeyUp, + + /// + /// Raw Key-Down type. Use this when a physical key is pressed. + /// + /// @NOTE: You should use RawKeyDown for physical key presses since it + /// allows WebCore to do additional command translation. + /// + kType_RawKeyDown, + + /// + /// Character input event type. Use this when the OS generates text from + /// a physical key being pressed (eg, WM_CHAR on Windows). + /// + kType_Char, + }; + + /// + /// Creates an empty KeyEvent, you will need to initialize its members + /// yourself. This is useful for synthesizing your own keyboard events. + /// + KeyEvent(); + +#ifdef _WIN32 + /// + /// Create a KeyEvent directly from a Windows keyboard event. + /// + KeyEvent(Type type, uintptr_t wparam, intptr_t lparam, bool is_system_key); +#endif + +#ifdef __OBJC__ + /// + /// Create a KeyEvent directly from a macOS NSEvent. + /// + KeyEvent(NSEvent* evt); +#endif + + /// + /// An enumeration of the different keyboard modifiers. + /// + enum Modifiers : uint8_t { + /// Whether or not an ALT key is down + kMod_AltKey = 1 << 0, + + /// Whether or not a Control key is down + kMod_CtrlKey = 1 << 1, + + /// Whether or not a meta key (Command-key on Mac, Windows-key on Win) is down + kMod_MetaKey = 1 << 2, + + /// Whether or not a Shift key is down + kMod_ShiftKey = 1 << 3, + }; + + /// + // The type of this KeyEvent + /// + Type type; + + /// + /// The current state of the keyboard. Modifiers may be OR'd together to + /// represent multiple values. + /// + unsigned modifiers; + + /// + // The virtual key-code associated with this keyboard event. This is either + // directly from the event (ie, WPARAM on Windows) or via a mapping function. + // You can see a full list of the possible virtual key-codes in + // KeyboardCodes.h + /// + int virtual_key_code; + + /// + /// The actual key-code generated by the platform. The DOM spec primarily + /// uses Windows-equivalent codes (hence virtualKeyCode above) but it helps to + /// also specify the platform-specific key-code as well. + /// + int native_key_code; + + /// + /// This is a string identifying the key that was pressed. This can be + /// generated from the virtual_key_code via the GetKeyIdentifierFromVirtualKeyCode() + /// utility function. You can find the full list of key identifiers at: + /// + /// + String key_identifier; + + /// + /// The actual text generated by this keyboard event. This is usually only a + /// single character. + /// + String text; + + /// + /// The text generated by this keyboard event before all modifiers except + /// shift are applied. This is used internally for working out shortcut keys. + /// This is usually only a single character. + /// + String unmodified_text; + + /// + /// Whether or not this is a keypad event. + /// + bool is_keypad; + + /// + /// Whether or not this was generated as the result of an auto-repeat + /// (eg, holding down a key). + /// + bool is_auto_repeat; + + /// + /// Whether or not the pressed key is a "system key". This is a Windows-only + /// concept and should be "false" for all non-Windows platforms. For more + /// information, see the following link: + /// + bool is_system_key; +}; + +/// +/// Utility function for generating a key identifier string from a virtual +/// key-code. +/// +/// @param virtual_key_code The virtual key-code to generate the key +/// identifier from. +/// +/// @param key_identifier_result The string to store the result in. +/// +void UExport GetKeyIdentifierFromVirtualKeyCode(int virtual_key_code, + String& key_identifier_result); + +} // namespace ultralight diff --git a/include/Ultralight/Listener.h b/include/Ultralight/Listener.h new file mode 100644 index 0000000..f6b0300 --- /dev/null +++ b/include/Ultralight/Listener.h @@ -0,0 +1,287 @@ +/// +/// @file Listener.h +/// +/// @brief The header for View listener interfaces. +/// +/// @author +/// +/// This file is a part of Ultralight, a fast, lightweight, HTML UI engine +/// +/// Website: +/// +/// Copyright (C) 2020 Ultralight, Inc. All rights reserved. +/// +#pragma once +#include +#include +#include +#include + +namespace ultralight { + +class View; + +/// +/// MessageSource types, @see ViewListener::OnAddConsoleMessage +/// +enum MessageSource { + kMessageSource_XML = 0, + kMessageSource_JS, + kMessageSource_Network, + kMessageSource_ConsoleAPI, + kMessageSource_Storage, + kMessageSource_AppCache, + kMessageSource_Rendering, + kMessageSource_CSS, + kMessageSource_Security, + kMessageSource_ContentBlocker, + kMessageSource_Other, +}; + +/// +/// MessageLevel types, @see ViewListener::OnAddConsoleMessage +/// +enum MessageLevel { + kMessageLevel_Log = 1, + kMessageLevel_Warning = 2, + kMessageLevel_Error = 3, + kMessageLevel_Debug = 4, + kMessageLevel_Info = 5, +}; + +/// +/// Cursor types, @see ViewListener::OnChangeCursor +/// +enum Cursor { + kCursor_Pointer = 0, + kCursor_Cross, + kCursor_Hand, + kCursor_IBeam, + kCursor_Wait, + kCursor_Help, + kCursor_EastResize, + kCursor_NorthResize, + kCursor_NorthEastResize, + kCursor_NorthWestResize, + kCursor_SouthResize, + kCursor_SouthEastResize, + kCursor_SouthWestResize, + kCursor_WestResize, + kCursor_NorthSouthResize, + kCursor_EastWestResize, + kCursor_NorthEastSouthWestResize, + kCursor_NorthWestSouthEastResize, + kCursor_ColumnResize, + kCursor_RowResize, + kCursor_MiddlePanning, + kCursor_EastPanning, + kCursor_NorthPanning, + kCursor_NorthEastPanning, + kCursor_NorthWestPanning, + kCursor_SouthPanning, + kCursor_SouthEastPanning, + kCursor_SouthWestPanning, + kCursor_WestPanning, + kCursor_Move, + kCursor_VerticalText, + kCursor_Cell, + kCursor_ContextMenu, + kCursor_Alias, + kCursor_Progress, + kCursor_NoDrop, + kCursor_Copy, + kCursor_None, + kCursor_NotAllowed, + kCursor_ZoomIn, + kCursor_ZoomOut, + kCursor_Grab, + kCursor_Grabbing, + kCursor_Custom +}; + +/// +/// @brief Interface for View-related events +/// +/// @note For more info @see View::set_view_listener +/// +class UExport ViewListener { +public: + virtual ~ViewListener() {} + + /// + /// Called when the page title changes + /// + virtual void OnChangeTitle(ultralight::View* caller, + const String& title) {} + + /// + /// Called when the page URL changes + /// + virtual void OnChangeURL(ultralight::View* caller, + const String& url) {} + + /// + /// Called when the tooltip changes (usually as result of a mouse hover) + /// + virtual void OnChangeTooltip(ultralight::View* caller, + const String& tooltip) {} + + /// + /// Called when the mouse cursor changes + /// + virtual void OnChangeCursor(ultralight::View* caller, + Cursor cursor) {} + + /// + /// Called when a message is added to the console (useful for errors / debug) + /// + virtual void OnAddConsoleMessage(ultralight::View* caller, + MessageSource source, + MessageLevel level, + const String& message, + uint32_t line_number, + uint32_t column_number, + const String& source_id) {} + + /// + /// Called when the page wants to create a new View. + /// + /// This is usually the result of a user clicking a link with target="_blank" + /// or by JavaScript calling window.open(url). + /// + /// To allow creation of these new Views, you should create a new View in + /// this callback (eg, Renderer::CreateView()), resize it to your container, + /// and return it. You are responsible for displaying the returned View. + /// + /// @param caller The View that called this event. + /// + /// @param opener_url The URL of the page that initiated this request. + /// + /// @param target_url The URL that the new View will navigate to. + /// + /// @param is_popup Whether or not this was triggered by window.open(). + /// + /// @param popup_rect Popups can optionally request certain dimensions and + /// coordinates via window.open(). You can choose to + /// respect these or not by resizing/moving the View to + /// this rect. + /// + /// @return Returns a RefPtr<> to a created View to use to satisfy the + /// the request (or return nullptr if you want to block the action). + /// + virtual RefPtr OnCreateChildView(ultralight::View* caller, + const String& opener_url, + const String& target_url, + bool is_popup, + const IntRect& popup_rect); +}; + +/// +/// @brief Interface for Load-related events +/// +/// @note For more info @see View::set_load_listener +/// +class UExport LoadListener { +public: + virtual ~LoadListener() {} + + /// + /// Called when the page begins loading a new URL into a frame. + /// + /// @param frame_id A unique ID for the frame. + /// + /// @param is_main_frame Whether or not this is the main frame. + /// + /// @param url The URL for the load. + /// + virtual void OnBeginLoading(ultralight::View* caller, + uint64_t frame_id, + bool is_main_frame, + const String& url) {} + + /// + /// Called when the page finishes loading a URL into a frame. + /// + /// @param frame_id A unique ID for the frame. + /// + /// @param is_main_frame Whether or not this is the main frame. + /// + /// @param url The URL for the load. + /// + virtual void OnFinishLoading(ultralight::View* caller, + uint64_t frame_id, + bool is_main_frame, + const String& url) {} + + /// + /// Called when an error occurs while loading a URL into a frame. + /// + /// @param frame_id A unique ID for the frame. + /// + /// @param is_main_frame Whether or not this is the main frame. + /// + /// @param url The URL for the load. + /// + /// @param description A human-readable description of the error. + /// + /// @param error_domain The name of the module that triggered the error. + /// + /// @param error_code Internal error code generated by the module. + /// + virtual void OnFailLoading(ultralight::View* caller, + uint64_t frame_id, + bool is_main_frame, + const String& url, + const String& description, + const String& error_domain, + int error_code) {} + + /// + /// Called when the JavaScript window object is reset for a new page load. + /// + /// This is called before any scripts are executed on the page and is the + /// earliest time to setup any initial JavaScript state or bindings. + /// + /// The document is not guaranteed to be loaded/parsed at this point. If + /// you need to make any JavaScript calls that are dependent on DOM elements + /// or scripts on the page, use OnDOMReady instead. + /// + /// The window object is lazily initialized (this will not be called on pages + /// with no scripts). + /// + /// @param frame_id A unique ID for the frame. + /// + /// @param is_main_frame Whether or not this is the main frame. + /// + /// @param url The URL for the load. + /// + virtual void OnWindowObjectReady(ultralight::View* caller, + uint64_t frame_id, + bool is_main_frame, + const String& url) {} + + /// + /// Called when all JavaScript has been parsed and the document is ready. + /// + /// This is the best time to make any JavaScript calls that are dependent on + /// DOM elements or scripts on the page. + /// + /// @param frame_id A unique ID for the frame. + /// + /// @param is_main_frame Whether or not this is the main frame. + /// + /// @param url The URL for the load. + /// + virtual void OnDOMReady(ultralight::View* caller, + uint64_t frame_id, + bool is_main_frame, + const String& url) {} + + /// + /// Called when the session history (back/forward state) is modified. + /// + virtual void OnUpdateHistory(ultralight::View* caller) {} + +}; + +} // namespace ultralight diff --git a/include/Ultralight/Matrix.h b/include/Ultralight/Matrix.h new file mode 100644 index 0000000..15763a5 --- /dev/null +++ b/include/Ultralight/Matrix.h @@ -0,0 +1,190 @@ +/// +/// @file Matrix.h +/// +/// @brief The header for Matrix helpers +/// +/// @author +/// +/// This file is a part of Ultralight, a fast, lightweight, HTML UI engine +/// +/// Website: +/// +/// Copyright (C) 2020 Ultralight, Inc. All rights reserved. +/// +#pragma once +#include +#include +#include + +namespace ultralight { + +/// +/// 4x4 Matrix Helper +/// +struct UExport Matrix4x4 { + /// + /// Raw 4x4 matrix as an array + /// + float data[16]; + + /// + /// Set to identity matrix. + /// + void SetIdentity(); +}; + +/// +/// Transformation Matrix helper +/// +struct UExport Matrix { +#if defined(__x86_64__) || defined(_M_X64) +#if defined(_MSC_VER) + __declspec(align(16)) typedef double Aligned4x4[4][4]; +#else + typedef double Aligned4x4[4][4] __attribute__((aligned(16))); +#endif +#else + typedef double Aligned4x4[4][4]; +#endif + + Aligned4x4 data; + + /// + /// Set to identity matrix. + /// + void SetIdentity(); + + /// + /// Set to an orthographic projection matrix suitable for use with our + /// vertex shaders. Optionally flip the y-coordinate space (eg, for OpenGL). + /// + void SetOrthographicProjection(double screen_width, double screen_height, + bool flip_y); + + /// + /// Set to another matrix. + /// + void Set(const Matrix& other); + + /// + /// Set to another matrix. + /// + void Set(const Matrix4x4& other); + + /// + /// Set from raw affine members. + /// + void Set(double a, double b, double c, double d, double e, double f); + + /// + /// Set from raw 4x4 components. + /// + void Set(double m11, double m12, double m13, double m14, + double m21, double m22, double m23, double m24, + double m31, double m32, double m33, double m34, + double m41, double m42, double m43, double m44); + + inline double m11() const { return data[0][0]; } + inline double m12() const { return data[0][1]; } + inline double m13() const { return data[0][2]; } + inline double m14() const { return data[0][3]; } + inline double m21() const { return data[1][0]; } + inline double m22() const { return data[1][1]; } + inline double m23() const { return data[1][2]; } + inline double m24() const { return data[1][3]; } + inline double m31() const { return data[2][0]; } + inline double m32() const { return data[2][1]; } + inline double m33() const { return data[2][2]; } + inline double m34() const { return data[2][3]; } + inline double m41() const { return data[3][0]; } + inline double m42() const { return data[3][1]; } + inline double m43() const { return data[3][2]; } + inline double m44() const { return data[3][3]; } + + inline double a() const { return data[0][0]; } + inline double b() const { return data[0][1]; } + inline double c() const { return data[1][0]; } + inline double d() const { return data[1][1]; } + inline double e() const { return data[3][0]; } + inline double f() const { return data[3][1]; } + + /// + /// Whether or not this is an identity matrix. + /// + bool IsIdentity() const; + + /// + /// Whether or not this is an identity matrix or translation. + /// + bool IsIdentityOrTranslation() const; + + /// + /// Whether or not this matrix uses only affine transformations. + /// + bool IsAffine() const; + + /// + /// Whether or not this is an identity, translation, or non-negative + /// uniform scale. + /// + bool IsSimple() const; + + /// + /// Translate by x and y. + /// + void Translate(double x, double y); + + /// + /// Scale by x and y. + /// + void Scale(double x, double y); + + /// + /// Rotate matrix by theta (in degrees) + /// + void Rotate(double theta); + + /// + /// Rotate matrix by x and y + /// + void Rotate(double x, double y); + + /// + /// Transform (multiply) by another Matrix + /// + void Transform(const Matrix& other); + + /// + /// Get the inverse of this matrix. May return false if not invertible. + /// + bool GetInverse(Matrix& result) const; + + /// + /// Transform point by this matrix and get the result. + /// + Point Apply(const Point& p) const; + + /// + /// Transform rect by this matrix and get the result as an axis-aligned rect. + /// + Rect Apply(const Rect& r) const; + + /// + /// Get an integer hash of this matrix's members. + /// + uint32_t Hash() const; + + /// + /// Get this matrix as unaligned 4x4 float components (for use passing to + /// GPU driver APIs). + /// + Matrix4x4 GetMatrix4x4() const; +}; + +bool UExport operator==(const Matrix& a, const Matrix& b); +bool UExport operator!=(const Matrix& a, const Matrix& b); + +bool UExport operator==(const Matrix4x4& a, const Matrix4x4& b); +bool UExport operator!=(const Matrix4x4& a, const Matrix4x4& b); + +} // namespace ultralight diff --git a/include/Ultralight/MouseEvent.h b/include/Ultralight/MouseEvent.h new file mode 100644 index 0000000..8c2e727 --- /dev/null +++ b/include/Ultralight/MouseEvent.h @@ -0,0 +1,77 @@ +/// +/// @file MouseEvent.h +/// +/// @brief The header for the MouseEvent class. +/// +/// @author +/// +/// This file is a part of Ultralight, a fast, lightweight, HTML UI engine +/// +/// Website: +/// +/// Copyright (C) 2020 Ultralight, Inc. All rights reserved. +/// +#pragma once +#include + +namespace ultralight { + +/// +/// @brief A generic mouse event. +/// +/// @note @see View::FireMouseEvent +/// +class MouseEvent { +public: + /// + /// The various MouseEvent types. + /// + enum Type { + /// + /// Mouse moved type + /// + kType_MouseMoved, + + /// + /// Mouse button pressed type + /// + kType_MouseDown, + + /// + /// Mouse button released type + /// + kType_MouseUp, + }; + + /// + /// The various mouse button types. + /// + enum Button { + kButton_None = 0, + kButton_Left, + kButton_Middle, + kButton_Right, + }; + + /// + /// The type of this MouseEvent + /// + Type type; + + /// + /// The current x-position of the mouse, relative to the View + /// + int x; + + /// + /// The current y-position of the mouse, relative to the View + /// + int y; + + /// + /// The mouse button that was pressed/released, if any. + /// + Button button; +}; + +} // namespace ultralight diff --git a/include/Ultralight/RefPtr.h b/include/Ultralight/RefPtr.h new file mode 100644 index 0000000..12d89b5 --- /dev/null +++ b/include/Ultralight/RefPtr.h @@ -0,0 +1,538 @@ +/// +/// @file RefPtr.h +/// +/// @brief The header for all ref-counting utilities. +/// +/// @author +/// +/// This file is a part of Ultralight, a fast, lightweight, HTML UI engine +/// +/// Website: +/// +/// Copyright (C) 2020 Ultralight, Inc. All rights reserved. +/// +/* +* Portions of the below code are derived from 'RefPtr.h' from Apple's WTF, +* with the following license header: +* +* Copyright (C) 2013-2014 Apple Inc. All rights reserved. +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions +* are met: +* 1. Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* 2. Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the distribution. +* +* THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' +* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, +* THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS +* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF +* THE POSSIBILITY OF SUCH DAMAGE. +*/ + +#pragma once +#include +#include +#include + +namespace ultralight { + +/// +/// @brief Interface for all ref-counted objects that will be managed using +/// the Ref<> and RefPtr<> smart pointers. +/// +class UExport RefCounted { + public: + virtual void AddRef() const = 0; + virtual void Release() const = 0; + virtual int ref_count() const = 0; + protected: + virtual ~RefCounted(); +}; + +inline void adopted(const void*) { } + +template class Ref; +template class RefPtr; + +/// +/// @brief Helper for wrapping new objects with the Ref smart pointer. +/// +/// All ref-counted object are created with an initial ref-count of '1'. +/// The AdoptRef() helper returns a Ref without calling AddRef(). +/// This is used for creating new objects, like so: +/// +/// Ref ref = AdoptRef(*new ObjectImpl()); +/// +template Ref AdoptRef(T&); + +/// +/// @brief A non-nullable smart pointer. +/// +/// This smart pointer automatically manages the lifetime of a RefCounted +/// object. Also guarantees that the managed instance is not NULL. +/// +template class Ref { +public: + /// + /// Destroy Ref (wll decrement ref-count by one) + /// + ~Ref() + { + if (instance_) + instance_->Release(); + } + + /// + /// Construct Ref from a reference. (Will increment ref-count by one) + /// + Ref(T& object) + : instance_(&object) + { + instance_->AddRef(); + } + + /// + /// Copy constructor. + /// + Ref(const Ref& other) + : instance_(other.instance_) + { + instance_->AddRef(); + } + + /// + /// Copy constructor with internal type conversion. + /// + template + Ref(Ref& other) + : instance_(other.ptr()) + { + instance_->AddRef(); + } + + /// + /// Copy constructor with internal type conversion. + /// + template + Ref(const Ref& other) + : instance_(other.ptr()) + { + instance_->AddRef(); + } + + /// + /// Move constructor. + /// + Ref(Ref&& other) + : instance_(&other.LeakRef()) + { + assert(instance_); + } + + /// + /// Move constructor. + /// + template + Ref(Ref&& other) + : instance_(&other.LeakRef()) + { + assert(instance_); + } + + Ref& operator=(T& object) + { + assert(instance_); + object.AddRef(); + instance_->Release(); + instance_ = &object; + assert(instance_); + return *this; + } + + Ref& operator=(const Ref& other) + { + assert(instance_); + other.instance_->AddRef(); + instance_->Release(); + instance_ = other.instance_; + assert(instance_); + return *this; + } + + template + Ref& operator=(const Ref& other) + { + assert(instance_); + other.instance_->AddRef(); + instance_->Release(); + instance_ = other.instance_; + assert(instance_); + return *this; + } + + Ref& operator=(Ref&& reference) + { + assert(instance_); + instance_->Release(); + instance_ = &reference.LeakRef(); + assert(instance_); + return *this; + } + + template Ref& operator=(Ref&& reference) + { + assert(instance_); + instance_->Release(); + instance_ = &reference.LeakRef(); + assert(instance_); + return *this; + } + + const T* operator->() const { assert(instance_); return instance_; } + T* operator->() { assert(instance_); return instance_; } + + /// + /// Get a pointer to wrapped object. + /// + const T* ptr() const { assert(instance_); return instance_; } + + /// + /// Get a pointer to wrapped object. + /// + T* ptr() { assert(instance_); return instance_; } + + /// + /// Get a reference to wrapped object. + /// + const T& get() const { assert(instance_); return *instance_; } + + /// + /// Get a reference to wrapped object. + /// + T& get() { assert(instance_); return *instance_; } + + operator T&() { assert(instance_); return *instance_; } + operator const T&() const { assert(instance_); return *instance_; } + + template Ref Replace(Ref&&); + + T& LeakRef() { + assert(instance_); + + T* result = std::move(instance_); + instance_ = std::forward(nullptr); + return *result; + } + + friend inline bool operator==(const Ref& a, const Ref& b) { + return a.instance_ == b.instance_; + } + + friend inline bool operator!=(const Ref& a, const Ref& b) { + return a.instance_ != b.instance_; + } + + friend inline bool operator<(const Ref& a, const Ref& b) { + return a.instance_ < b.instance_; + } + +protected: + friend Ref AdoptRef(T&); + template friend class RefPtr; + + enum AdoptTag { Adopt }; + Ref(T& object, AdoptTag) + : instance_(&object) + { + } + + T* instance_; +}; + +template template Ref Ref::Replace(Ref&& reference) +{ + auto oldReference = AdoptRef(*instance_); + instance_ = &reference.LeakRef(); + return oldReference; +} + +template +Ref AdoptRef(T& reference) +{ + adopted(&reference); + return Ref(reference, Ref::Adopt); +} + +/// +/// @brief A nullable smart pointer. +/// +/// This smart pointer automatically manages the lifetime of a RefCounted +/// object. The managed instance may be NULL. +/// +template class RefPtr { + public: + /// + /// Construct a NULL ref-pointer. + /// + RefPtr() + : instance_(nullptr) + { + } + + /// + /// Construct a NULL ref-pointer. + /// + RefPtr(std::nullptr_t) + : instance_(nullptr) + { + } + + /// + /// Construct from a pointer. (Will increment ref-count by one) + /// + RefPtr(T* other) + : instance_(other) + { + if (instance_) + instance_->AddRef(); + } + + /// + /// Copy constructor. + /// + RefPtr(const RefPtr& other) + : instance_(other.instance_) + { + if (instance_) + instance_->AddRef(); + } + + /// + /// Copy constructor with internal type conversion. + /// + template + RefPtr(const RefPtr& other) + : instance_(other.instance_) + { + if (instance_) + instance_->AddRef(); + } + + /// + /// Move constructor. + /// + RefPtr(RefPtr&& other) + : instance_(other.LeakRef()) + { + } + + /// + /// Move constructor. + /// + template + RefPtr(RefPtr&& other) + : instance_(other.LeakRef()) + { + } + + /// + /// Construct from a Ref + /// + template + RefPtr(const Ref& other) + : instance_(other.instance_) + { + if (instance_) + instance_->AddRef(); + } + + /// + /// Construct by moving from a Ref + /// + template + RefPtr(Ref&& other); + + /// + /// Destroy RefPtr (wll decrement ref-count by one) + /// + ~RefPtr() + { + T* old_value = std::move(instance_); + instance_ = std::forward(nullptr); + if (old_value) + old_value->Release(); + } + + /// + /// Get a pointer to wrapped object. + /// + T* get() const { return instance_; } + + T* LeakRef() { + T* result = std::move(instance_); + instance_ = std::forward(nullptr); + return result; + } + + T& operator*() const { assert(instance_); return *instance_; } + T* operator->() const { return instance_; } + + bool operator!() const { return !instance_; } + + // This conversion operator allows implicit conversion to bool but not to other integer types. + typedef T* (RefPtr::*UnspecifiedBoolType); + operator UnspecifiedBoolType() const { return instance_ ? &RefPtr::instance_ : nullptr; } + + RefPtr& operator=(const RefPtr&); + RefPtr& operator=(T*); + RefPtr& operator=(std::nullptr_t); + template RefPtr& operator=(const RefPtr&); + RefPtr& operator=(RefPtr&&); + template RefPtr& operator=(RefPtr&&); + template RefPtr& operator=(Ref&&); + + friend inline bool operator==(const RefPtr& a, const RefPtr& b) { + return a.instance_ == b.instance_; + } + + friend inline bool operator!=(const RefPtr& a, const RefPtr& b) { + return a.instance_ != b.instance_; + } + + friend inline bool operator<(const RefPtr& a, const RefPtr& b) { + return a.instance_ < b.instance_; + } + + void Swap(RefPtr&); + +private: + T* instance_; +}; + +template +template +RefPtr::RefPtr(Ref&& reference) + : instance_(&reference.LeakRef()) +{ +} + +template +RefPtr& RefPtr::operator=(const RefPtr& other) +{ + RefPtr ptr = other; + Swap(ptr); + return *this; +} + +template +template +RefPtr& RefPtr::operator=(const RefPtr& other) +{ + RefPtr ptr = other; + Swap(ptr); + return *this; +} + +template +RefPtr& RefPtr::operator=(T* object) +{ + RefPtr ptr = object; + Swap(ptr); + return *this; +} + +template +RefPtr& RefPtr::operator=(std::nullptr_t) +{ + T* old_instance = std::move(instance_); + instance_ = std::forward(nullptr); + if (old_instance) + old_instance->Release(); + return *this; +} + +template +RefPtr& RefPtr::operator=(RefPtr&& other) +{ + RefPtr ptr = std::move(other); + Swap(ptr); + return *this; +} + +template +template +RefPtr& RefPtr::operator=(RefPtr&& other) +{ + RefPtr ptr = std::move(other); + Swap(ptr); + return *this; +} + +template +template +RefPtr& RefPtr::operator=(Ref&& other) +{ + RefPtr ptr = std::move(other); + Swap(ptr); + return *this; +} + +template +void RefPtr::Swap(RefPtr& other) +{ + std::swap(instance_, other.instance_); +} + +template +void Swap(RefPtr& a, RefPtr& b) +{ + a.Swap(b); +} + +template +bool operator==(const RefPtr& a, const RefPtr& b) +{ + return a.get() == b.get(); +} + +template +bool operator==(const RefPtr& a, U* b) +{ + return a.get() == b; +} + +template +bool operator==(T* a, const RefPtr& b) +{ + return a == b.get(); +} + +template +bool operator!=(const RefPtr& a, const RefPtr& b) +{ + return a.get() != b.get(); +} + +template +bool operator!=(const RefPtr& a, U* b) +{ + return a.get() != b; +} + +template +bool operator!=(T* a, const RefPtr& b) +{ + return a != b.get(); +} + +} // namespace ultralight diff --git a/include/Ultralight/RenderTarget.h b/include/Ultralight/RenderTarget.h new file mode 100644 index 0000000..0f98cae --- /dev/null +++ b/include/Ultralight/RenderTarget.h @@ -0,0 +1,84 @@ +/// +/// @file RenderTarget.h +/// +/// @brief The header for the RenderTarget struct. +/// +/// @author +/// +/// This file is a part of Ultralight, a fast, lightweight, HTML UI engine +/// +/// Website: +/// +/// Copyright (C) 2020 Ultralight, Inc. All rights reserved. +/// +#pragma once +#include +#include +#include + +namespace ultralight { + +#pragma pack(push, 1) + +/// +/// @brief Rendering details for a View, to be used with your own GPUDriver +/// +/// When using your own GPUDriver, each View is rendered to an offscreen +/// texture that you can display on a 3D quad in your application. This struct +/// provides all the details you need to display the corresponding texture in +/// your application. +/// +struct UExport RenderTarget { + /// + /// Whether this target is empty (null texture) + /// + bool is_empty; + + /// + /// The viewport width (in device coordinates). + /// + uint32_t width; + + /// + /// The viewport height (in device coordinates). + /// + uint32_t height; + + /// + /// The GPUDriver-specific texture ID (you should bind the texture using + /// your implementation of GPUDriver::BindTexture before drawing a quad). + /// + uint32_t texture_id; + + /// + /// The texture width (in pixels). This may be padded. + /// + uint32_t texture_width; + + /// + /// The texture height (in pixels). This may be padded. + /// + uint32_t texture_height; + + /// + /// The pixel format of the texture. + /// + BitmapFormat texture_format; + + /// + /// UV coordinates of the texture (this is needed because the texture may + /// be padded). + /// + Rect uv_coords; + + /// + /// The GPUDriver-specific render buffer ID. + /// + uint32_t render_buffer_id; + + RenderTarget(); +}; + +#pragma pack(pop) + +} // namespace ultralight diff --git a/include/Ultralight/Renderer.h b/include/Ultralight/Renderer.h new file mode 100644 index 0000000..9b42d53 --- /dev/null +++ b/include/Ultralight/Renderer.h @@ -0,0 +1,137 @@ +/// +/// @file Renderer.h +/// +/// @brief The header for the Renderer class. +/// +/// @author +/// +/// This file is a part of Ultralight, a fast, lightweight, HTML UI engine +/// +/// Website: +/// +/// Copyright (C) 2020 Ultralight, Inc. All rights reserved. +/// +#pragma once +#include +#include +#include +#include + +namespace ultralight { + +/// +/// @brief This singleton manages the lifetime of all Views (@see View) and +/// coordinates painting, network requests, and event dispatch. +/// +/// @note You don't have to create this instance directly if you use the +/// AppCore API. The App class will automatically create a Renderer and +/// perform all rendering within its run loop. @see App::Create +/// +class UExport Renderer : public RefCounted { +public: + /// + /// Create the Ultralight Renderer directly. + /// + /// Unlike App::Create(), this does not use any native windows for drawing + /// and allows you to manage your own runloop and painting. This method is + /// recommended for those wishing to integrate the library into a game. + /// + /// You should set up your Platform config, file-system, font loader, + /// and surface-factories/gpu-drivers before calling this function. + /// (@see ) + /// + /// At a minimum, you will need to define a FontLoader ahead of time or this + /// call will fail. You can use the platform's native FontLoader by calling: + ///
+  ///   /// This function is defined in 
+  ///   Platform::instance().set_font_loader(GetPlatformFontLoader());
+  /// 
+ /// + /// @note You should only create one Renderer per application lifetime. + /// + /// @note: You should not call this if you are using App::Create(), it + /// creates its own renderer and provides default implementations for + /// various platform handlers automatically. + /// + /// @return Renderer is ref-counted. This method returns a ref-pointer + /// to a new instance, you should store it in a RefPtr<> to keep + /// the instance alive. + /// + static Ref Create(); + + /// + /// Create a Session to store local data in (such as cookies, local storage, + /// application cache, indexed db, etc). + /// + /// @note A default, persistent Session is already created for you. You + /// only need to call this if you want to create private, in-memory + /// session or use a separate session for each View. + /// + /// @param is_persistent Whether or not to store the session on disk. + /// Persistent sessions will be written to the path + /// set in Config::cache_path + /// + /// @param name A unique name for this session, this will be used to + /// generate a unique disk path for persistent sessions. + /// + virtual Ref CreateSession(bool is_persistent, const String& name) = 0; + + /// + /// Get the default Session. This session is persistent (backed to disk) and + /// has the name "default". + /// + virtual Ref default_session() = 0; + + /// + /// Create a new View. + /// + /// @param width The initial width, in pixels. + /// + /// @param height The initial height, in pixels. + /// + /// @param transparent Whether or not the view background is transparent. + /// + /// @param session The session to store local data in. Pass a nullptr to + /// use the default session. + /// + /// @return Returns a ref-pointer to a new View instance. You should assign + /// it to either a Ref (non-nullable) or RefPtr + /// (nullable). + /// + virtual Ref CreateView(uint32_t width, uint32_t height, + bool transparent, RefPtr session, + bool force_cpu_renderer = false) = 0; + + /// + /// Update timers and dispatch internal callbacks. You should call this often + /// from your main application loop. + /// + virtual void Update() = 0; + + /// + /// Render all active views to their respective render-targets/surfaces. + /// + /// You should call this once per frame (usually in synchrony with the + /// monitor's refresh rate). + /// + /// @note Views are only repainted if they actually need painting. + /// + virtual void Render() = 0; + + /// + /// Attempt to release as much memory as possible. Don't call this from any + /// callbacks or driver code. + /// + virtual void PurgeMemory() = 0; + + /// + /// Print detailed memory usage statistics to the log. + /// (@see Platform::set_logger()) + /// + virtual void LogMemoryUsage() = 0; + +protected: + virtual ~Renderer(); +}; + +} // namespace ultralight diff --git a/include/Ultralight/RequestHandler.h b/include/Ultralight/RequestHandler.h new file mode 100644 index 0000000..e69de29 diff --git a/include/Ultralight/ScrollEvent.h b/include/Ultralight/ScrollEvent.h new file mode 100644 index 0000000..1dee4a2 --- /dev/null +++ b/include/Ultralight/ScrollEvent.h @@ -0,0 +1,53 @@ +/// +/// @file ScrollEvent.h +/// +/// @brief The header for the ScrollEvent class. +/// +/// @author +/// +/// This file is a part of Ultralight, a fast, lightweight, HTML UI engine +/// +/// Website: +/// +/// Copyright (C) 2020 Ultralight, Inc. All rights reserved. +/// +#pragma once +#include + +namespace ultralight { + +/// +/// @brief A generic scroll event. +/// +/// @note @see View::FireScrollEvent +/// +class ScrollEvent { +public: + /// + /// The scroll event granularity type + /// + enum Type { + /// The delta value is interpreted as number of pixels + kType_ScrollByPixel, + + /// The delta value is interpreted as number of pages + kType_ScrollByPage, + }; + + /// + /// Scroll granularity type + /// + Type type; + + /// + /// Horizontal scroll amount + /// + int delta_x; + + /// + /// Vertical scroll amount + /// + int delta_y; +}; + +} // namespace ultralight diff --git a/include/Ultralight/Session.h b/include/Ultralight/Session.h new file mode 100644 index 0000000..de97298 --- /dev/null +++ b/include/Ultralight/Session.h @@ -0,0 +1,53 @@ +/// +/// @file Session.h +/// +/// @brief The header for the Session class. +/// +/// @author +/// +/// This file is a part of Ultralight, a fast, lightweight, HTML UI engine +/// +/// Website: +/// +/// Copyright (C) 2020 Ultralight, Inc. All rights reserved. +/// +#pragma once +#include +#include +#include + +namespace ultralight { + +/// +/// @brief A Session stores local data such as cookies, local storage, +/// and application cache for one or more Views. +/// +/// @see Renderer::CreateSession +/// +class UExport Session : public RefCounted { +public: + /// + /// Whether or not this session is written to disk. + /// + virtual bool is_persistent() const = 0; + + /// + /// A unique name identifying this session. + /// + virtual String name() const = 0; + + /// + /// A unique numeric ID identifying this session. + /// + virtual uint64_t id() const = 0; + + /// + /// The disk path of this session (only valid for persistent sessions). + /// + virtual String disk_path() const = 0; + +protected: + virtual ~Session(); +}; + +} // namespace ultralight diff --git a/include/Ultralight/String.h b/include/Ultralight/String.h new file mode 100644 index 0000000..98e51b5 --- /dev/null +++ b/include/Ultralight/String.h @@ -0,0 +1,120 @@ +/// +/// @file String.h +/// +/// @brief The header for the String class. +/// +/// @author +/// +/// This file is a part of Ultralight, a fast, lightweight, HTML UI engine +/// +/// Website: +/// +/// Copyright (C) 2020 Ultralight, Inc. All rights reserved. +/// +#pragma once +#include +#include +#include +#include + +namespace ultralight { + +/// +/// @brief UTF-16 String container with conversions for UTF-8 and UTF-32. +/// +/// @note Internally, all strings are represented as UTF-16. +/// +class UExport String { +public: + /// + /// Create empty string + /// + String(); + + /// + /// Create from null-terminated, ASCII C-string + /// + String(const char* str); + + /// + /// Create from raw, UTF-8 string with certain length + /// + String(const char* str, size_t len); + + /// + /// Create from existing String8 (UTF-8). + /// + String(const String8& str); + + /// + /// Create from raw UTF-16 string with certain length + /// + String(const Char16* str, size_t len); + + /// + /// Create from existing String16 (UTF-16) + /// + String(const String16& str); + + /// + /// Create from existing String32 (UTF-32) + /// + String(const String32& str); + + /// + /// Copy constructor + /// + String(const String& other); + + /// + /// Destructor + /// + ~String(); + + /// + /// Assign string from another, copy is made + /// + String& operator=(const String& other); + + /// + /// Append string with another + /// + String& operator+=(const String& other); + + /// + /// Concatenation operator + /// + inline friend String operator+(String lhs, const String& rhs) { lhs += rhs; return lhs; } + + /// + /// Get native UTF-16 string + /// + String16& utf16() { return str_; } + + /// + /// Get native UTF-16 string + /// + const String16& utf16() const { return str_; } + + /// + /// Convert to UTF-8 string + /// + String8 utf8() const; + + /// + /// Convert to UTF-32 string + /// + String32 utf32() const; + + /// + /// Check if string is empty or not + /// + bool empty() const { return utf16().empty(); } + +private: + String16 str_; +}; + + +} // namespace ultralight + diff --git a/include/Ultralight/String16.h b/include/Ultralight/String16.h new file mode 100644 index 0000000..84ecafd --- /dev/null +++ b/include/Ultralight/String16.h @@ -0,0 +1,130 @@ +/// +/// @file String16.h +/// +/// @brief The header for the String16 class. +/// +/// @author +/// +/// This file is a part of Ultralight, a fast, lightweight, HTML UI engine +/// +/// Website: +/// +/// Copyright (C) 2020 Ultralight, Inc. All rights reserved. +/// +#pragma once +#include +#include +#include + +namespace ultralight { + +namespace detail { + template struct selector; + template<> struct selector<4> { typedef char16_t Char16; }; + template<> struct selector<2> { typedef wchar_t Char16; }; +} + +#ifdef DISABLE_NATIVE_WCHAR_T +// Force Char16 type to use char16_t, used on Windows when native wchar_t support is disabled. +typedef char16_t Char16; +#else +// We use wchar_t if size == 2, otherwise use char16_t +typedef detail::selector::Char16 Char16; +#endif + +/// +/// @brief A UTF-16 string container. +/// +class UExport String16 { +public: + // Make an empty String16 + String16(); + + // Make a String16 from null-terminated ASCII C-string + String16(const char* c_str); + + // Make a String16 from ASCII C-string with certain length + String16(const char* c_str, size_t len); + + // Make a String16 from raw UTF-16 buffer with certain length + String16(const Char16* str, size_t len); + + // Make a String16 from raw unsigned short UTF-16 buffer with certain length. Useful on Windows + // when native support for wchar_t is disabled (eg, /Zc:wchar_t-). + String16(const unsigned short* str, size_t len); + + // Make a deep copy of String16 + String16(const String16& other); + + ~String16(); + + // Assign a String16 to this one, deep copy is made + String16& operator=(const String16& other); + + // Append a String16 to this one. + String16& operator+=(const String16& other); + + // Concatenation operator + inline friend String16 operator+(String16 lhs, const String16& rhs) { lhs += rhs; return lhs; } + + // Get raw UTF-16 data + Char16* data() { return data_; } + + // Get raw UTF-16 data (const) + const Char16* data() const { return data_; } + + // Get raw UTF-16 data as unsigned short. This is useful on Windows if you compile without native + // support for wchar_t (eg, /Zc:wchar_t-) + unsigned short* udata() { return reinterpret_cast(data_); } + + // Get raw UTF-16 data as unsigned short (const). + const unsigned short* udata() const { return reinterpret_cast(data_); } + + // Get length in characters. + size_t length() const { return length_; } + + // Get size in characters (synonym for length) + size_t size() const { return length_; } + + // Check if string is empty. + bool empty() const { return !data_ || length_ == 0; } + + // Get character at specific position + Char16& operator[](size_t pos) { return data_[pos]; } + + // Get character at specific position (const) + const Char16& operator[](size_t pos) const { return data_[pos]; } + +private: + Char16* data_; + size_t length_; +}; + +/// +/// @brief A UTF-16 string vector. +/// +class UExport String16Vector : public RefCounted { +public: + // Create an empty string vector + static Ref Create(); + + // Create a string vector from an existing array (a deep copy is made) + static Ref Create(const String16* stringArray, size_t len); + + // Add an element to the back of the string vector + virtual void push_back(const String16& val) = 0; + + // Get raw String16 vector array + virtual String16* data() = 0; + + // Get the number of elements in vector + virtual size_t size() const = 0; + +protected: + String16Vector(); + virtual ~String16Vector(); + String16Vector(const String16Vector&); + void operator=(const String16Vector&); +}; + +} // namespace ultralight diff --git a/include/Ultralight/String32.h b/include/Ultralight/String32.h new file mode 100644 index 0000000..b5910f6 --- /dev/null +++ b/include/Ultralight/String32.h @@ -0,0 +1,71 @@ +/// +/// @file String32.h +/// +/// @brief The header for the String32 class. +/// +/// @author +/// +/// This file is a part of Ultralight, a fast, lightweight, HTML UI engine +/// +/// Website: +/// +/// Copyright (C) 2020 Ultralight, Inc. All rights reserved. +/// +#pragma once +#include +#include + +namespace ultralight { + +/// +/// @brief A UTF-32 string container. +/// +class UExport String32 { +public: + // Make an empty String32 + String32(); + + // Make a String32 from raw UTF-32 string with certain length + String32(const char32_t* c_str, size_t len); + + // Make a deep copy of String32 + String32(const String32& other); + + ~String32(); + + // Assign a String32 to this one, deep copy is made + String32& operator=(const String32& other); + + // Append a String32 to this one. + String32& operator+=(const String32& other); + + // Concatenation operator + inline friend String32 operator+(String32 lhs, const String32& rhs) { lhs += rhs; return lhs; } + + // Get raw UTF-32 data + char32_t* data() { return data_; } + + // Get raw UTF-32 data (const) + const char32_t* data() const { return data_; } + + // Get length in characters. + size_t length() const { return length_; } + + // Get size in characters (synonym for length) + size_t size() const { return length_; } + + // Check if string is empty. + bool empty() const { return !data_ || length_ == 0; } + + // Get character at specific position + char32_t& operator[](size_t pos) { return data_[pos]; } + + // Get character at specific position (const) + const char32_t& operator[](size_t pos) const { return data_[pos]; } + +private: + char32_t* data_; + size_t length_; +}; + +} // namespace ultralight diff --git a/include/Ultralight/String8.h b/include/Ultralight/String8.h new file mode 100644 index 0000000..7ab86c1 --- /dev/null +++ b/include/Ultralight/String8.h @@ -0,0 +1,74 @@ +/// +/// @file String8.h +/// +/// @brief The header for the String8 class. +/// +/// @author +/// +/// This file is a part of Ultralight, a fast, lightweight, HTML UI engine +/// +/// Website: +/// +/// Copyright (C) 2020 Ultralight, Inc. All rights reserved. +/// +#pragma once +#include +#include + +namespace ultralight { + +/// +/// @brief A UTF-8 string container. +// +class UExport String8 { +public: + // Make an empty String8 + String8(); + + // Make a String8 from raw, null-terminated UTF-8 string + String8(const char* c_str); + + // Make a String8 from raw UTF-8 string with certain length + String8(const char* c_str, size_t len); + + // Make a deep copy of String8 + String8(const String8& other); + + ~String8(); + + // Assign a String8 to this one, deep copy is made + String8& operator=(const String8& other); + + // Append a String8 to this one. + String8& operator+=(const String8& other); + + // Concatenation operator + inline friend String8 operator+(String8 lhs, const String8& rhs) { lhs += rhs; return lhs; } + + // Get raw UTF-8 data + char* data() { return data_; } + + // Get raw UTF-8 data (const) + const char* data() const { return data_; } + + // Get length in characters. + size_t length() const { return length_; } + + // Get size in characters (synonym for length) + size_t size() const { return length_; } + + // Check if string is empty. + bool empty() const { return !data_ || length_ == 0; } + + // Get character at specific position + char& operator[](size_t pos) { return data_[pos]; } + + // Get character at specific position (const) + const char& operator[](size_t pos) const { return data_[pos]; } + +private: + char* data_; + size_t length_; +}; + +} // namespace ultralight diff --git a/include/Ultralight/Ultralight.h b/include/Ultralight/Ultralight.h new file mode 100644 index 0000000..5b87585 --- /dev/null +++ b/include/Ultralight/Ultralight.h @@ -0,0 +1,29 @@ +// Copyright 2020 Ultralight, Inc. All rights reserved. +#pragma once +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include diff --git a/include/Ultralight/View.h b/include/Ultralight/View.h new file mode 100644 index 0000000..105ba1d --- /dev/null +++ b/include/Ultralight/View.h @@ -0,0 +1,307 @@ +/// +/// @file View.h +/// +/// @brief The header for the View class. +/// +/// @author +/// +/// This file is a part of Ultralight, a fast, lightweight, HTML UI engine +/// +/// Website: +/// +/// Copyright (C) 2020 Ultralight, Inc. All rights reserved. +/// +#pragma once +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace ultralight { + +/// +/// @brief The View class is used to load and display web content. +/// +/// View is an offscreen web-page container that can be used to display +/// web-content in your application. +/// +/// You can load content into a View via View::LoadURL() or View::LoadHTML() +/// and interact with it via View::FireMouseEvent() and similar API. +/// +/// When displaying a View, the API is different depending on whether you +/// are using the CPU renderer or the GPU renderer: +/// +/// When using the CPU renderer, you would get the underlying pixel-buffer +/// surface for a View via View::surface(). +/// +/// When using the GPU renderer, you would get the underlying render target +/// and texture information via View::render_target(). +/// +/// @note The API is not currently thread-safe, all calls must be made on the +/// same thread that the Renderer/App was created on. +/// +class UExport View : public RefCounted { +public: + /// + /// Get the URL of the current page loaded into this View, if any. + /// + virtual String url() = 0; + + /// + /// Get the title of the current page loaded into this View, if any. + /// + virtual String title() = 0; + + /// + /// Get the width of the View, in pixels. + /// + virtual uint32_t width() const = 0; + + /// + /// Get the height of the View, in pixels. + /// + virtual uint32_t height() const = 0; + + /// + /// Check if the main frame of the page is currently loading. + /// + virtual bool is_loading() = 0; + + /// + /// Get the offscreen RenderTarget for the View. + /// + /// @note Only valid when the GPU renderer is enabled in Config. + /// + /// You can use this with your GPUDriver implementation to bind + /// and display the corresponding texture in your application. + /// + virtual RenderTarget render_target() = 0; + + /// + /// Get the offscreen Surface for the View (pixel-buffer container). + /// + /// @note Only valid when the CPU is enabled (will return a nullptr + /// otherwise) + /// + /// The default Surface is BitmapSurface but you can provide your + /// own Surface implementation via Platform::set_surface_factory. + /// + virtual Surface* surface() = 0; + + /// + /// Load a raw string of HTML, the View will navigate to it as a new page. + /// + /// @param html The raw HTML string to load. + /// + /// @param url An optional URL for this load (to make it appear as if we + /// we loaded this HTML from a certain URL). Can be used for + /// resolving relative URLs and cross-origin rules. + /// + /// @param add_to_history Whether or not this load should be added to the + /// session's history (back/forward list). + /// + virtual void LoadHTML(const String& html, + const String& url = "", + bool add_to_history = false) = 0; + + /// + /// Load a URL, the View will navigate to it as a new page. + /// + /// @note You can use File URLs (eg, file:///page.html) but you must define + /// your own FileSystem implementation if you are not using AppCore. + /// @see Platform::set_file_system + /// + virtual void LoadURL(const String& url) = 0; + + /// + /// Resize View to a certain size. + /// + /// @param width The initial width, in pixels. + /// + /// @param height The initial height, in pixels. + /// + /// + virtual void Resize(uint32_t width, uint32_t height) = 0; + + /// + /// Acquire the page's JSContext for use with the JavaScriptCore API + /// + /// @note You can use the underlying JSContextRef with the JavaScriptCore + /// C API. This allows you to marshall C/C++ objects to/from + /// JavaScript, bind callbacks, and call JS functions directly. + /// + /// @note The JSContextRef gets reset after each page navigation. You + /// should initialize your JavaScript state within the + /// OnWindowObjectReady and OnDOMReady events, @see ViewListener. + /// + /// @note This call locks the internal context for the current thread. + /// It will be unlocked when the returned JSContext's ref-count goes + /// to zero. The lock is recursive, you can call this multiple times. + /// + virtual Ref LockJSContext() = 0; + + /// + /// Helper function to evaluate a raw string of JavaScript and return the + /// result as a String. + /// + /// @param script A string of JavaScript to evaluate in the main frame. + /// + /// @param exception A string to store the exception in, if any. Pass a + /// nullptr if you don't care about exceptions. + /// + /// @return Returns the JavaScript result typecast to a String. + /// + /// + /// @note You do not need to lock the JS context, it is done automatically. + /// + /// @note If you need lower-level access to native JavaScript values, you + /// should instead lock the JS context and call JSEvaluateScript() in + /// the JavaScriptCore C API. @see + /// + virtual String EvaluateScript(const String& script, String* exception = nullptr) = 0; + + /// + /// Whether or not we can navigate backwards in history + /// + virtual bool CanGoBack() = 0; + + /// + /// Whether or not we can navigate forwards in history + /// + virtual bool CanGoForward() = 0; + + /// + /// Navigate backwards in history + /// + virtual void GoBack() = 0; + + /// + /// Navigate forwards in history + /// + virtual void GoForward() = 0; + + /// + /// Navigate to an arbitrary offset in history + /// + virtual void GoToHistoryOffset(int offset) = 0; + + /// + /// Reload current page + /// + virtual void Reload() = 0; + + /// + /// Stop all page loads + /// + virtual void Stop() = 0; + + /// + /// Give focus to the View. + /// + /// You should call this to give visual indication that the View has input + /// focus (changes active text selection colors, for example). + /// + virtual void Focus() = 0; + + /// + /// Remove focus from the View and unfocus any focused input elements. + /// + /// You should call this to give visual indication that the View has lost + /// input focus. + /// + virtual void Unfocus() = 0; + + /// + /// Whether or not the View has focus. + /// + virtual bool HasFocus() = 0; + + /// + /// Whether or not the View has an input element with visible keyboard focus + /// (indicated by a blinking caret). + /// + /// You can use this to decide whether or not the View should consume + /// keyboard input events (useful in games with mixed UI and key handling). + /// + virtual bool HasInputFocus() = 0; + + /// + /// Fire a keyboard event + /// + /// @note Only 'Char' events actually generate text in input fields. + /// + virtual void FireKeyEvent(const KeyEvent& evt) = 0; + + /// + /// Fire a mouse event + /// + virtual void FireMouseEvent(const MouseEvent& evt) = 0; + + /// + /// Fire a scroll event + /// + virtual void FireScrollEvent(const ScrollEvent& evt) = 0; + + /// + /// Set a ViewListener to receive callbacks for View-related events. + /// + /// @note Ownership remains with the caller. + /// + virtual void set_view_listener(ViewListener* listener) = 0; + + /// + /// Get the active ViewListener, if any + /// + virtual ViewListener* view_listener() const = 0; + + /// + /// Set a LoadListener to receive callbacks for Load-related events. + /// + /// @note Ownership remains with the caller. + /// + virtual void set_load_listener(LoadListener* listener) = 0; + + /// + /// Get the active LoadListener, if any + /// + virtual LoadListener* load_listener() const = 0; + + /// + /// Set whether or not this View should be repainted during the next + /// call to Renderer::Render + /// + /// @note This flag is automatically set whenever the page content changes + /// but you can set it directly in case you need to force a repaint. + /// + virtual void set_needs_paint(bool needs_paint) = 0; + + /// + /// Whether or not this View should be repainted during the next call to + /// Renderer::Render. + /// + virtual bool needs_paint() const = 0; + + /// + /// Get the inspector for this View, this is useful for debugging and + /// inspecting pages locally. This will only succeed if you have the + /// inspector assets in your filesystem-- the inspector will look for + /// file:///inspector/Main.html when it first loads. + /// + /// @note The inspector View is owned by the View and lazily-created on + /// first call. The initial dimensions are 10x10, you should call + /// View::Resize() on the returned View to resize it to your desired + /// dimensions. + /// + virtual RefPtr inspector() = 0; + +protected: + virtual ~View(); +}; + +} // namespace ultralight diff --git a/include/Ultralight/platform/Clipboard.h b/include/Ultralight/platform/Clipboard.h new file mode 100644 index 0000000..0413bb4 --- /dev/null +++ b/include/Ultralight/platform/Clipboard.h @@ -0,0 +1,51 @@ +/// +/// @file Clipboard.h +/// +/// @brief The header for the Clipboard interface. +/// +/// @author +/// +/// This file is a part of Ultralight, a fast, lightweight, HTML UI engine +/// +/// Website: +/// +/// Copyright (C) 2020 Ultralight, Inc. All rights reserved. +/// +#pragma once +#include +#include + +namespace ultralight { + +/// +/// @brief Clipboard interface. +/// +/// This is used for reading and writing data to the platform Clipboard. +/// +/// AppCore automatically provides a platform-specific implementation of this +/// that cuts/copies/pastes to the OS clipboard when you call App::Create(). +/// +/// If you are using Renderer::Create() instead, you will need to provide your +/// own implementation of this. @see Platform::set_clipboard(). +/// +class UExport Clipboard { +public: + virtual ~Clipboard(); + + /// + /// Clear the clipboard. + /// + virtual void Clear() = 0; + + /// + /// Read plain text from the clipboard + /// + virtual String16 ReadPlainText() = 0; + + /// + /// Write plain text to the clipboard. + /// + virtual void WritePlainText(const String16& text) = 0; +}; + +} // namespace ultralight diff --git a/include/Ultralight/platform/Config.h b/include/Ultralight/platform/Config.h new file mode 100644 index 0000000..8b3817e --- /dev/null +++ b/include/Ultralight/platform/Config.h @@ -0,0 +1,230 @@ +/// +/// @file Config.h +/// +/// @brief The header for the Config struct. +/// +/// @author +/// +/// This file is a part of Ultralight, a fast, lightweight, HTML UI engine +/// +/// Website: +/// +/// Copyright (C) 2020 Ultralight, Inc. All rights reserved. +/// +#pragma once +#include +#include + +namespace ultralight { + +/// +/// The winding order for front-facing triangles. (This is only used when the +/// GPU renderer is enabled) +/// +/// @note In most 3D engines, there is the concept that triangles have a +/// a "front" and a "back". All the front-facing triangles (eg, those +/// that are facing the camera) are rendered, and all back-facing +/// triangles are culled (ignored). The winding-order of the triangle's +/// vertices is used to determine which side is front and back. You +/// should tell Ultralight which winding-order your 3D engine uses. +/// +enum FaceWinding { + /// + /// Clockwise Winding (Direct3D, etc.) + /// + kFaceWinding_Clockwise, + + /// + /// Counter-Clockwise Winding (OpenGL, etc.) + /// + kFaceWinding_CounterClockwise, +}; + +enum FontHinting { + /// + /// Lighter hinting algorithm-- glyphs are slightly fuzzier but better + /// resemble their original shape. This is achieved by snapping glyphs to the + /// pixel grid only vertically which better preserves inter-glyph spacing. + /// + kFontHinting_Smooth, + + /// + /// Default hinting algorithm-- offers a good balance between sharpness and + /// shape at smaller font sizes. + /// + kFontHinting_Normal, + + /// + /// Strongest hinting algorithm-- outputs only black/white glyphs. The result + /// is usually unpleasant if the underlying TTF does not contain hints for + /// this type of rendering. + /// + kFontHinting_Monochrome, +}; + +/// +/// @brief Configuration settings for Ultralight. +/// +/// This is intended to be implemented by users and defined before creating the +/// Renderer. @see Platform::set_config. +/// +struct UExport Config { + /// + /// The file path to the directory that contains Ultralight's bundled + /// resources (eg, cacert.pem and other localized resources). + /// + String16 resource_path; + + /// + /// The file path to a writable directory that will be used to store cookies, + /// cached resources, and other persistent data. + /// + String16 cache_path; + + /// + /// When enabled, each View will be rendered to an offscreen GPU texture + /// using the GPU driver set in Platform::set_gpu_driver. You can fetch + /// details for the texture via View::render_target. + /// + /// When disabled (the default), each View will be rendered to an offscreen + /// pixel buffer. This pixel buffer can optionally be provided by the user-- + /// for more info see and View::surface. + /// + bool use_gpu_renderer = false; + + /// + /// The amount that the application DPI has been scaled (200% = 2.0). + /// This should match the device scale set for the current monitor. + /// + /// Note: Device scales are rounded to nearest 1/8th (eg, 0.125). + /// + double device_scale = 1.0; + + /// + /// The winding order for front-facing triangles. @see FaceWinding + /// + /// Note: This is only used when the GPU renderer is enabled. + /// + FaceWinding face_winding = kFaceWinding_CounterClockwise; + + /// + /// Whether or not images should be enabled. + /// + bool enable_images = true; + + /// + /// Whether or not JavaScript should be enabled. + /// + bool enable_javascript = true; + + /// + /// The hinting algorithm to use when rendering fonts. @see FontHinting + /// + FontHinting font_hinting = kFontHinting_Normal; + + /// + /// The gamma to use when compositing font glyphs, change this value to + /// adjust contrast (Adobe and Apple prefer 1.8, others may prefer 2.2). + /// + double font_gamma = 1.8; + + /// + /// Default font-family to use. + /// + String16 font_family_standard = "Times New Roman"; + + /// + /// Default font-family to use for fixed fonts. (pre/code) + /// + String16 font_family_fixed = "Courier New"; + + /// + /// Default font-family to use for serif fonts. + /// + String16 font_family_serif = "Times New Roman"; + + /// + /// Default font-family to use for sans-serif fonts. + /// + String16 font_family_sans_serif = "Arial"; + + /// + /// Default user-agent string. + /// + String16 user_agent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) " + "AppleWebKit/608.3.10 (KHTML, like Gecko) " + "Ultralight/1.2.0 Safari/608.3.10"; + + /// + /// Default user stylesheet. You should set this to your own custom CSS + /// string to define default styles for various DOM elements, scrollbars, + /// and platform input widgets. + /// + String16 user_stylesheet; + + /// + /// Whether or not we should continuously repaint any Views or compositor + /// layers, regardless if they are dirty or not. This is mainly used to + /// diagnose painting/shader issues. + /// + bool force_repaint = false; + + /// + /// When a CSS animation is active, the amount of time (in seconds) to wait + /// before triggering another repaint. Default is 60 Hz. + /// + double animation_timer_delay = 1.0 / 60.0; + + /// + /// When a smooth scroll animation is active, the amount of time (in seconds) + /// to wait before triggering another repaint. Default is 60 Hz. + /// + double scroll_timer_delay = 1.0 / 60.0; + + /// + /// The amount of time (in seconds) to wait before running the recycler (will + /// attempt to return excess memory back to the system). + /// + double recycle_delay = 4.0; + + /// + /// Size of WebCore's memory cache in bytes. + /// + /// @note You should increase this if you anticipate handling pages with + /// large resources, Safari typically uses 128+ MiB for its cache. + /// + uint32_t memory_cache_size = 64 * 1024 * 1024; + + /// + /// Number of pages to keep in the cache. Defaults to 0 (none). + /// + /// @note Safari typically caches about 5 pages and maintains an on-disk + /// cache to support typical web-browsing activities. If you increase + /// this, you should probably increase the memory cache size as well. + /// + uint32_t page_cache_size = 0; + + /// + /// JavaScriptCore tries to detect the system's physical RAM size to set + /// reasonable allocation limits. Set this to anything other than 0 to + /// override the detected value. Size is in bytes. + /// + /// This can be used to force JavaScriptCore to be more conservative with + /// its allocation strategy (at the cost of some performance). + /// + uint32_t override_ram_size = 0; + + /// + /// The minimum size of large VM heaps in JavaScriptCore. Set this to a + /// lower value to make these heaps start with a smaller initial value. + /// + uint32_t min_large_heap_size = 32 * 1024 * 1024; + + /// + /// The minimum size of small VM heaps in JavaScriptCore. Set this to a + /// lower value to make these heaps start with a smaller initial value. + /// + uint32_t min_small_heap_size = 1 * 1024 * 1024; +}; + +} // namespace ultralight diff --git a/include/Ultralight/platform/FileSystem.h b/include/Ultralight/platform/FileSystem.h new file mode 100644 index 0000000..9c6a08f --- /dev/null +++ b/include/Ultralight/platform/FileSystem.h @@ -0,0 +1,93 @@ +/// +/// @file FileSystem.h +/// +/// @brief The header for the FileSystem interface. +/// +/// @author +/// +/// This file is a part of Ultralight, a fast, lightweight, HTML UI engine +/// +/// Website: +/// +/// Copyright (C) 2020 Ultralight, Inc. All rights reserved. +/// +#pragma once +#include +#include + +namespace ultralight { + +/// +/// File Handle type used as unique ID for opened files. +/// +#if defined(__WIN32__) || defined(_WIN32) +typedef size_t FileHandle; +#else +typedef int FileHandle; +#endif + +/// +/// Handle used to denote an invalid file. +/// +const FileHandle invalidFileHandle = (FileHandle)-1; + +/// +/// @brief FileSystem interface. +/// +/// This is used for loading File URLs (eg, ). +/// +/// You can provide the library with your own FileSystem implementation so that +/// file assets are loaded from your own pipeline (useful if you would like +/// to encrypt/compress your file assets or ship it in a custom format). +/// +/// AppCore automatically provides a platform-specific implementation of this +/// that loads files from a local directory when you call App::Create(). +/// +/// If you are using Renderer::Create() instead, you will need to provide your +/// own implementation via `Platform::instance().set_file_system(). For +/// convenience, you can still use AppCore's file system implementation-- +/// see the helper functions defined in . +/// +/// To provide your own custom FileSystem implementation, you should inherit +/// from this class, handle the virtual member functions, and then pass an +/// instance of your class to `Platform::instance().set_file_system()` before +/// calling Renderer::Create() or App::Create(). +/// +class UExport FileSystem { +public: + virtual ~FileSystem(); + + /// + /// Check if file path exists, return true if exists. + /// + virtual bool FileExists(const String16& path) = 0; + + /// + /// Get file size of previously opened file, store result in 'result'. Return true on success. + /// + virtual bool GetFileSize(FileHandle handle, int64_t& result) = 0; + + /// + /// Get file mime type (eg "text/html"), store result in 'result'. Return true on success. + /// + virtual bool GetFileMimeType(const String16& path, String16& result) = 0; + + /// + /// Open file path for reading or writing. Return file handle on success, or invalidFileHandle on failure. + /// + /// @NOTE: As of this writing (v1.2), this function is only used for reading. + /// + virtual FileHandle OpenFile(const String16& path, bool open_for_writing) = 0; + + /// + /// Close previously-opened file. + /// + virtual void CloseFile(FileHandle& handle) = 0; + + /// + /// Read from currently-opened file, return number of bytes read or -1 on failure. + /// + virtual int64_t ReadFromFile(FileHandle handle, char* data, int64_t length) = 0; +}; + +} // namespace ultralight diff --git a/include/Ultralight/platform/FontLoader.h b/include/Ultralight/platform/FontLoader.h new file mode 100644 index 0000000..1a548c6 --- /dev/null +++ b/include/Ultralight/platform/FontLoader.h @@ -0,0 +1,132 @@ +/// +/// @file FontLoader.h +/// +/// @brief The header for the FontLoader interface. +/// +/// @author +/// +/// This file is a part of Ultralight, a fast, lightweight, HTML UI engine +/// +/// Website: +/// +/// Copyright (C) 2020 Ultralight, Inc. All rights reserved. +/// +#pragma once +#include +#include +#include + +namespace ultralight { + +/// +/// Represents a font file, either on-disk path or in-memory file contents. +/// +class UExport FontFile : public RefCounted { +public: + /// + /// Create a font file from an on-disk file path. + /// + /// @note The file path should already exist. + /// + static Ref Create(const String16& filepath); + + /// + /// Create a font file from an in-memory buffer. + /// + static Ref Create(Ref buffer); + + /// + /// Whether or not this font file was created from an in-memory buffer. + /// + virtual bool is_in_memory() const = 0; + + /// + /// The file path (if any). + /// + virtual String16 filepath() const = 0; + + /// + /// The in-memory buffer (if any). + /// + virtual RefPtr buffer() const = 0; + + /// + /// Unique hash (if this is a filepath, only the path string is hashed). + /// + virtual uint32_t hash() const = 0; + +protected: + FontFile(); + virtual ~FontFile(); + FontFile(const FontFile&); + void operator=(const FontFile&); +}; + +/// +/// @brief Font Loader interface, used for all font lookup operations. +/// +/// Every operating system has its own library of installed system fonts. The +/// FontLoader interface is used to lookup these fonts and fetch the actual +/// font data (raw TTF/OTF file data) for a given a certain font description. +/// +/// AppCore automatically provides a platform-specific implementation of this +/// that loads installed fonts from the OS when you call App::Create(). +/// +/// If you are using Renderer::Create() instead, you will need to provide your +/// own implementation via `Platform::instance().set_font_loader(). For +/// convenience, you can still use AppCore's font loader implementation-- +/// see the helper functions defined in . +/// +/// To provide your own custom FontLoader implementation, you should inherit +/// from this class, handle the virtual member functions, and then pass an +/// instance of your class to `Platform::instance().set_font_loader()` before +/// calling Renderer::Create() or App::Create(). +/// +class UExport FontLoader { +public: + virtual ~FontLoader(); + + /// + /// Fallback font family name. Will be used if all other fonts fail to load. + /// + /// @note This font should be guaranteed to exist (eg, FontLoader::Load + /// won't fail when passed this font family name). + /// + virtual String16 fallback_font() const = 0; + + /// + /// Fallback font family name that can render the specified characters. This + /// is mainly used to support CJK (Chinese, Japanese, Korean) text display. + /// + /// @param characters One or more UTF-16 characters. This is almost always + /// a single character. + /// + /// @param weight Font weight. + /// + /// @param italic Whether or not italic is requested. + /// + /// @return Should return a font family name that can render the text. + /// + virtual String16 fallback_font_for_characters(const String16& characters, + int weight, + bool italic) const = 0; + + /// + /// Get the actual font file data (TTF/OTF) for a given font description. + /// + /// @param family Font family name. + /// + /// @param weight Font weight. + /// + /// @param italic Whether or not italic is requested. + /// + /// @return A font file matching the given description (either an on-disk + /// font filepath or an in-memory file contents). You can return + /// NULL here and the loader will fallback to another font. + /// + virtual RefPtr Load(const String16& family, + int weight, + bool italic) = 0; +}; + +} // namespace ultralight diff --git a/include/Ultralight/platform/GPUDriver.h b/include/Ultralight/platform/GPUDriver.h new file mode 100644 index 0000000..4bc8180 --- /dev/null +++ b/include/Ultralight/platform/GPUDriver.h @@ -0,0 +1,288 @@ +/// +/// @file GPUDriver.h +/// +/// @brief The header for the GPUDriver interface. +/// +/// @author +/// +/// This file is a part of Ultralight, a fast, lightweight, HTML UI engine +/// +/// Website: +/// +/// Copyright (C) 2020 Ultralight, Inc. All rights reserved. +/// +#pragma once +#pragma warning(disable: 4251) +#include +#include +#include +#include + +namespace ultralight { + +/// +/// @note This pragma pack(push, 1) command is important! Vertex layouts +/// should not be padded with any bytes. +/// +#pragma pack(push, 1) + +/// +/// RenderBuffer description, @see GPUDriver::CreateRenderBuffer. +/// +struct UExport RenderBuffer { + uint32_t texture_id; // The backing texture for this RenderBuffer + uint32_t width; // The width of the RenderBuffer texture + uint32_t height; // The height of the RenderBuffer texture + bool has_stencil_buffer; // Currently unused, always false. + bool has_depth_buffer; // Currently unsued, always false. +}; + +/// +/// Vertex layout for path vertices, useful for synthesizing or modifying +/// vertex data. +/// +struct Vertex_2f_4ub_2f { + float pos[2]; + unsigned char color[4]; + float obj[2]; +}; + +/// +/// Vertex layout for quad vertices, useful for synthesizing or modifying +/// vertex data. +/// +struct Vertex_2f_4ub_2f_2f_28f { + float pos[2]; + unsigned char color[4]; + float tex[2]; + float obj[2]; + float data0[4]; + float data1[4]; + float data2[4]; + float data3[4]; + float data4[4]; + float data5[4]; + float data6[4]; +}; + +/// +/// Vertex formats +/// +enum UExport VertexBufferFormat { + kVertexBufferFormat_2f_4ub_2f, + kVertexBufferFormat_2f_4ub_2f_2f_28f, +}; + +/// +/// Vertex buffer, @see GPUDriver::CreateGeometry +/// +struct UExport VertexBuffer { + VertexBufferFormat format; + uint32_t size; + uint8_t* data; +}; + +/// +/// Vertex index type +/// +typedef uint32_t IndexType; + +/// +/// Vertex index buffer, @see GPUDriver::CreateGeometry +/// +struct UExport IndexBuffer { + uint32_t size; + uint8_t* data; +}; + +/// +/// Shader types, used by GPUState::shader_type +/// +/// Each of these correspond to a vertex/pixel shader pair. You can find +/// stock shader code for these in the `shaders` folder of the AppCore repo. +/// +enum UExport ShaderType { + kShaderType_Fill, // Shader program for quad geometry + kShaderType_FillPath, // Shader program for path geometry +}; + +/// +/// GPU state description. +/// +struct UExport GPUState { + /// Viewport width in pixels + uint32_t viewport_width; + + /// Viewport height in pixels + uint32_t viewport_height; + + /// Transform matrix-- you should multiply this with the screen-space + /// orthographic projection matrix then pass to the vertex shader. + Matrix4x4 transform; + + /// Whether or not we should enable texturing for the current draw command. + bool enable_texturing; + + /// Whether or not we should enable blending for the current draw command. + /// If blending is disabled, any drawn pixels should overwrite existing. + /// Mainly used so we can modify alpha values of the RenderBuffer during + /// scissored clears. + bool enable_blend; + + /// The vertex/pixel shader program pair to use for the current draw command. + /// You should cast this to ShaderType to get the corresponding enum. + uint8_t shader_type; + + /// The render buffer to use for the current draw command. + uint32_t render_buffer_id; + + /// The texture id to bind to slot #1. (Will be 0 if none) + uint32_t texture_1_id; + + /// The texture id to bind to slot #2. (Will be 0 if none) + uint32_t texture_2_id; + + /// The texture id to bind to slot #3. (Will be 0 if none) + uint32_t texture_3_id; + + /// The following four members are passed to the pixel shader via uniforms. + float uniform_scalar[8]; + vec4 uniform_vector[8]; + uint8_t clip_size; + Matrix4x4 clip[8]; + + /// Whether or not scissor testing should be used for the current draw command. + bool enable_scissor; + + /// The scissor rect to use for scissor testing (units in pixels) + IntRect scissor_rect; +}; + +/// +/// Command types, used by Command::command_type +/// +enum UExport CommandType { + kCommandType_ClearRenderBuffer, + kCommandType_DrawGeometry, +}; + +/// +/// Command description. +/// +struct UExport Command { + uint8_t command_type; // The type of command to dispatch. + GPUState gpu_state; // GPU state parameters for current command. + + /// The following members are only used with kCommandType_DrawGeometry + uint32_t geometry_id; // The geometry ID to bind + uint32_t indices_count; // The number of indices + uint32_t indices_offset; // The index to start from +}; + +/// +/// Command list, @see GPUDriver::UpdateCommandList +/// +struct UExport CommandList { + uint32_t size; + Command* commands; +}; + +#pragma pack(pop) + +/// +/// @brief GPUDriver interface, dispatches GPU calls to the native driver. +/// +/// This is automatically provided for you when you use App::Create(), AppCore +/// provides platform-specific implementations of GPUDriver for each OS. +/// +/// If you are using Renderer::Create(), you will need to provide your own +/// implementation of this class if you have enabled the GPU renderer in the +/// Config. @see Platform::set_gpu_driver +/// +class UExport GPUDriver { +public: + virtual ~GPUDriver(); + + /// + /// Called before any commands are dispatched during a frame. + /// + virtual void BeginSynchronize() = 0; + + /// + /// Called after any commands are dispatched during a frame. + /// + virtual void EndSynchronize() = 0; + + /// + /// Get the next available texture ID. + /// + virtual uint32_t NextTextureId() = 0; + + /// + /// Create a texture with a certain ID and optional bitmap. + /// + /// **NOTE**: If the Bitmap is empty (Bitmap::IsEmpty), then a RTT Texture + /// should be created instead. This will be used as a backing + /// texture for a new RenderBuffer. + /// + virtual void CreateTexture(uint32_t texture_id, + Ref bitmap) = 0; + + /// + /// Update an existing non-RTT texture with new bitmap data. + /// + virtual void UpdateTexture(uint32_t texture_id, + Ref bitmap) = 0; + + /// + /// Destroy a texture. + /// + virtual void DestroyTexture(uint32_t texture_id) = 0; + + /// + /// Generate the next available render buffer ID. + /// + virtual uint32_t NextRenderBufferId() = 0; + + /// + /// Create a render buffer with certain ID and buffer description. + /// + virtual void CreateRenderBuffer(uint32_t render_buffer_id, + const RenderBuffer& buffer) = 0; + + /// + /// Destroy a render buffer + /// + virtual void DestroyRenderBuffer(uint32_t render_buffer_id) = 0; + + /// + /// Generate the next available geometry ID. + /// + virtual uint32_t NextGeometryId() = 0; + + /// + /// Create geometry with certain ID and vertex/index data. + /// + virtual void CreateGeometry(uint32_t geometry_id, + const VertexBuffer& vertices, + const IndexBuffer& indices) = 0; + + /// + /// Update existing geometry with new vertex/index data. + /// + virtual void UpdateGeometry(uint32_t geometry_id, + const VertexBuffer& vertices, + const IndexBuffer& indices) = 0; + + /// + /// Destroy geometry. + /// + virtual void DestroyGeometry(uint32_t geometry_id) = 0; + + /// + /// Update command list (you should copy the commands to your own structure). + /// + virtual void UpdateCommandList(const CommandList& list) = 0; +}; + +} // namespace ultralight diff --git a/include/Ultralight/platform/Logger.h b/include/Ultralight/platform/Logger.h new file mode 100644 index 0000000..db36d36 --- /dev/null +++ b/include/Ultralight/platform/Logger.h @@ -0,0 +1,47 @@ +/// +/// @file Logger.h +/// +/// @brief The header for the Logger interface. +/// +/// @author +/// +/// This file is a part of Ultralight, a fast, lightweight, HTML UI engine +/// +/// Website: +/// +/// Copyright (C) 2020 Ultralight, Inc. All rights reserved. +/// +#pragma once +#include +#include + +namespace ultralight { + +/// +/// Log levels, used with Logger::LogMessage +/// +enum LogLevel { + kLogLevel_Error = 0, + kLogLevel_Warning, + kLogLevel_Info +}; + +/// +/// @brief Logger interface. +/// +/// This can be used to log debug messages to the console or to a log file. +/// +/// This is intended to be implemented by users and defined before creating the +/// Renderer. @see Platform::set_file_system. +/// +class UExport Logger { +public: + virtual ~Logger(); + + /// + /// Called when the library wants to print a message to the log. + /// + virtual void LogMessage(LogLevel log_level, const String16& message) = 0; +}; + +} // namespace ultralight diff --git a/include/Ultralight/platform/Platform.h b/include/Ultralight/platform/Platform.h new file mode 100644 index 0000000..4688497 --- /dev/null +++ b/include/Ultralight/platform/Platform.h @@ -0,0 +1,141 @@ +/// +/// @file Platform.h +/// +/// @brief The header for the Platform singleton. +/// +/// @author +/// +/// This file is a part of Ultralight, a fast, lightweight, HTML UI engine +/// +/// Website: +/// +/// Copyright (C) 2020 Ultralight, Inc. All rights reserved. +/// +#pragma once +#include + +namespace ultralight { + +struct Config; +class Logger; +class GPUDriver; +class FontLoader; +class FileSystem; +class Clipboard; +class SurfaceFactory; + +/// +/// @brief Platform singleton to configure Ultralight and provide user-defined +/// implementations for various platform operations. +/// +/// @note All of these settings and user-defined interfaces should be set +/// BEFORE creating the Renderer. +/// +class UExport Platform { + public: + /// + /// Get the Platform singleton + /// + static Platform& instance(); + + virtual ~Platform(); + + /// + /// Set the Config + /// + virtual void set_config(const Config& config) = 0; + + /// + /// Get the Config + /// + virtual const Config& config() const = 0; + + /// + /// Set the Logger (to handle error messages and debug output). + /// + /// @param logger A user-defined Logger implementation, ownership remains + /// with the caller. + /// + virtual void set_logger(Logger* logger) = 0; + + /// + /// Get the Logger + /// + virtual Logger* logger() const = 0; + + /// + /// Set the GPU Driver (will handle all rendering) + /// + /// @param gpu_driver A user-defined GPUDriver implementation, ownership + /// remains with the caller. + /// + virtual void set_gpu_driver(GPUDriver* gpu_driver) = 0; + + /// + /// Get the GPU Driver + /// + virtual GPUDriver* gpu_driver() const = 0; + + /// + /// Set the Font Loader (will be used to map font families to actual fonts) + /// + /// @param font_loader A user-defined FontLoader implementation, ownership + /// remains with the caller. + /// + virtual void set_font_loader(FontLoader* font_loader) = 0; + + /// + /// Get the Font Loader + /// + virtual FontLoader* font_loader() const = 0; + + /// + /// Set the File System (will be used for all file system operations) + /// + /// @param file_system A user-defined FileSystem implementation, ownership + /// remains with the caller. + /// + virtual void set_file_system(FileSystem* file_system) = 0; + + /// + /// Get the File System + /// + virtual FileSystem* file_system() const = 0; + + /// + /// Set the Clipboard (will be used for all clipboard operations) + /// + /// @param clipboard A user-defined Clipboard implementation, ownership + /// remains with the caller. + /// + virtual void set_clipboard(Clipboard* clipboard) = 0; + + /// + /// Get the Clipboard + /// + virtual Clipboard* clipboard() const = 0; + + /// + /// Set the SurfaceFactory + /// + /// This can be used to provide a platform-specific bitmap surface for View + /// to paint into when the CPU renderer is enabled. See View::surface(). + /// + /// @param surface_factory A user-defined SurfaceFactory implementation, + /// ownership remains with the caller. + /// + /// @note A default BitmapSurfaceFactory is defined if you never call this, + /// View::surface() can be safely cast to BitmapSurface. + /// + virtual void set_surface_factory(SurfaceFactory* surface_factory) = 0; + + /// + /// Get the SurfaceFactory + /// + /// @note A default BitmapSurfaceFactory is set by default, View::surface() + /// can be safely cast to BitmapSurface if you don't define your own. + /// + virtual SurfaceFactory* surface_factory() const = 0; +}; + +} // namespace ultralight diff --git a/include/Ultralight/platform/Surface.h b/include/Ultralight/platform/Surface.h new file mode 100644 index 0000000..d6112be --- /dev/null +++ b/include/Ultralight/platform/Surface.h @@ -0,0 +1,191 @@ +/// +/// @file Surface.h +/// +/// @brief The header for the Surface and SurfaceFactory interfaces. +/// +/// @author +/// +/// This file is a part of Ultralight, a fast, lightweight, HTML UI engine +/// +/// Website: +/// +/// Copyright (C) 2020 Ultralight, Inc. All rights reserved. +/// +#pragma once +#include +#include +#include +#include + +namespace ultralight { + +/// +/// Offscreen pixel buffer surface. (Premultiplied BGRA 32-bit format) +/// +/// When using the CPU renderer, each View is painted to its own Surface. +/// +/// You can provide your own Surface implementation to make the renderer +/// paint directly to a block of memory controlled by you (this is useful for +/// lower-latency uploads to GPU memory or other platform-specific bitmaps). +/// +/// A default Surface implementation, BitmapSurface, is automatically +/// provided by the library when you call Renderer::Create() without defining +/// a custom SurfaceFactory. +/// +/// To provide your own custom Surface implementation, you should inherit +/// from this class, handle the virtual member functions, and then define a +/// custom SurfaceFactory that creates/destroys an instance of your class. +/// After that, you should pass an instance of your custom SurfaceFactory class +/// to `Platform::instance().set_font_loader()` before calling App::Create() +/// or Renderer::Create(). +/// +class UExport Surface { +public: + virtual ~Surface(); + + /// + /// Width (in pixels). + /// + virtual uint32_t width() const = 0; + + /// + /// Height (in pixels). + /// + virtual uint32_t height() const = 0; + + /// + /// Number of bytes between rows (usually width * 4) + /// + virtual uint32_t row_bytes() const = 0; + + /// + /// Size in bytes. + /// + virtual size_t size() const = 0; + + /// + /// Lock the pixel buffer and get a pointer to the beginning of the data + /// for reading/writing. + /// + /// Native pixel format is premultiplied BGRA 32-bit (8 bits per channel). + /// + virtual void* LockPixels() = 0; + + /// + /// Unlock the pixel buffer. + /// + virtual void UnlockPixels() = 0; + + /// + /// Resize the pixel buffer to a certain width and height (both in pixels). + /// + /// This should never be called while pixels are locked. + /// + virtual void Resize(uint32_t width, uint32_t height) = 0; + + /// + /// Set the dirty bounds to a certain value. + /// + /// This is called after the Renderer paints to an area of the pixel buffer. + /// (The new value will be joined with the existing dirty_bounds()) + /// + virtual void set_dirty_bounds(const IntRect& bounds); + + /// + /// Get the dirty bounds. + /// + /// This value can be used to determine which portion of the pixel buffer has + /// been updated since the last call to ClearDirtyBounds(). + /// + /// The general algorithm to determine if a Surface needs display is: + ///
+  ///   if (!surface.dirty_bounds().IsEmpty()) {
+  ///       // Surface pixels are dirty and needs display.
+  ///       // Cast Surface to native Surface and use it here (pseudo code)
+  ///       DisplaySurface(surface);
+  ///
+  ///       // Once you're done, clear the dirty bounds:
+  ///       surface.ClearDirtyBounds();
+  ///  }
+  ///  
+ /// + virtual IntRect dirty_bounds() const; + + /// + /// Clear the dirty bounds. + /// + /// You should call this after you're done displaying the Surface. + /// + virtual void ClearDirtyBounds(); + +protected: + Surface(); + + IntRect dirty_bounds_; +}; + +/// +/// SurfaceFactory can be used to provide your own native Surface implementation. +/// +/// This can be used to wrap a platform-specific GPU texture, Windows DIB, +/// macOS CGImage, or any other pixel buffer target for display on screen. +/// +/// The default factory creates/destroys a BitmapSurface but you can override +/// this by providing your own factory to Platform::set_surface_factory. +/// +class UExport SurfaceFactory { +public: + virtual ~SurfaceFactory(); + + /// + /// Create a native Surface with a certain width and height (in pixels). + /// + virtual Surface* CreateSurface(uint32_t width, uint32_t height) = 0; + + /// + /// Destroy a native Surface previously created by CreateSurface(). + /// + virtual void DestroySurface(Surface* surface) = 0; +}; + +/// +/// The default Surface implementation, backed by a Bitmap. +/// +class UExport BitmapSurface : public Surface { +public: + virtual uint32_t width() const override; + + virtual uint32_t height() const override; + + virtual uint32_t row_bytes() const override; + + virtual size_t size() const override; + + virtual void* LockPixels() override; + + virtual void UnlockPixels() override; + + virtual void Resize(uint32_t width, uint32_t height) override; + + /// + /// Get the underlying Bitmap. + /// + RefPtr bitmap(); + +protected: + BitmapSurface(uint32_t width, uint32_t height); + virtual ~BitmapSurface(); + BitmapSurface(const BitmapSurface&) = delete; + void operator=(const BitmapSurface&) = delete; + friend class BitmapSurfaceFactory; + + void* impl_; +}; + +/// +/// Get the default Bitmap Surface Factory singleton. (Do not destroy this, +/// this singleton is owned by the library). +/// +UExport SurfaceFactory* GetBitmapSurfaceFactory(); + +} // namespace ultralight diff --git a/include/Ultralight/private/PlatformFileSystem.h b/include/Ultralight/private/PlatformFileSystem.h new file mode 100644 index 0000000..172809c --- /dev/null +++ b/include/Ultralight/private/PlatformFileSystem.h @@ -0,0 +1,17 @@ +#pragma once +#include +#include + +namespace ultralight { +namespace PlatformFileSystem { + +bool UExport FileExists(const String& path); +bool UExport IsDirectory(const String& path, bool follow_symbolic_links); +String UExport AppendPath(const String& path, const String& component); +bool UExport MakeAllDirectories(const String& path); +String UExport GetFileName(const String& path); +String UExport GetDirectoryName(const String& path); +String UExport RealFilePath(const String& path); + +} // PlatformFileSystem +} // ultralight diff --git a/muon.go b/muon.go index 81a8777..479e9d7 100644 --- a/muon.go +++ b/muon.go @@ -49,8 +49,14 @@ func New(cfg *Config, handler http.Handler) *Window { callbacks: make(map[string]*ipf), } - ufg := UlCreateConfig() std := UlCreateSettings() + defer UlDestroySettings(std) + + UlSettingsSetForceCPURenderer(std, true) + + ufg := UlCreateConfig() + defer UlDestroyConfig(ufg) + w.app = UlCreateApp(std, ufg) mm := UlAppGetMainMonitor(w.app) @@ -74,12 +80,11 @@ func New(cfg *Config, handler http.Handler) *Window { hint |= 8 } - w.wnd = UlCreateWindow(mm, w.cfg.Width, w.cfg.Height, false, hint) + w.wnd = UlCreateWindow(mm, w.cfg.Width, w.cfg.Height, false, 0) UlWindowSetTitle(w.wnd, w.cfg.Title) - UlAppSetWindow(w.app, w.wnd) - w.ov = UlCreateOverlay(w.wnd, w.cfg.Width, w.cfg.Height, w.cfg.X, w.cfg.Y) + w.ov = UlCreateOverlay(w.wnd, w.cfg.Width, w.cfg.Height, 0, 0) UlWindowSetResizeCallback(w.wnd, resizeCallback(w.ov), nil) @@ -134,11 +139,17 @@ func (w *Window) Bind(name string, function interface{}) { // Eval evaluates a given JavaScript string in the given Window view. `ret` is necessary for JSON serialization if an object is returned. func (w *Window) Eval(js string, ret reflect.Type) (interface{}, error) { - us := UlCreateString(js) - defer UlDestroyString(us) + us := JSStringCreateWithUTF8CString(js) + defer JSStringRelease(us) + src := JSStringCreateWithUTF8CString("") + defer JSStringRelease(src) - ref := UlViewEvaluateScript(w.view, us) - ctx := UlViewGetJSContext(w.view) + ctx := UlViewLockJSContext(w.view) + defer UlViewUnlockJSContext(w.view) + + global := JSContextGetGlobalObject(ctx) + + ref := JSEvaluateScript(ctx, us, global, src, 0, nil) val, err := fromJSValue(ctx, ref, ret) @@ -159,11 +170,11 @@ func (w *Window) Move(x int, y int) { UlOverlayMoveTo(w.ov, int32(x), int32(y)) } -func (w *Window) ipcCallback(ctx JSContextRef, functin JSObjectRef, thisObject JSObjectRef, argumentCount uint, arguments []JSValueRef, exception []JSValueRef) JSValueRef { +func (w *Window) ipcCallback(ctx JSContextRef, function JSObjectRef, thisObject JSObjectRef, argumentCount uint32, arguments []JSValueRef, exception []JSValueRef) JSValueRef { jsName := JSStringCreateWithUTF8CString("name") defer JSStringRelease(jsName) - prop := JSObjectGetProperty(ctx, functin, jsName, nil) + prop := JSObjectGetProperty(ctx, function, jsName, nil) jsProp := JSValueToStringCopy(ctx, prop, nil) defer JSStringRelease(jsProp) @@ -177,7 +188,7 @@ func (w *Window) ipcCallback(ctx JSContextRef, functin JSObjectRef, thisObject J params := make([]reflect.Value, argumentCount) - for i := uint(0); i < argumentCount; i++ { + for i := uint32(0); i < argumentCount; i++ { val, err := fromJSValue(ctx, arguments[i], f.ParamTypes[i]) if err != nil { @@ -298,7 +309,7 @@ func toJSValue(ctx JSContextRef, value reflect.Value) JSValueRef { for i := 0; i < value.Len(); i++ { rets[i] = toJSValue(ctx, value.Index(i)) } - arr := JSObjectMakeArray(ctx, uint(len(rets)), rets, nil) + arr := JSObjectMakeArray(ctx, uint32(len(rets)), rets, nil) jsv = *(*JSValueRef)(unsafe.Pointer(&arr)) default: panic("Not implemented!") @@ -312,7 +323,9 @@ func toJSValue(ctx JSContextRef, value reflect.Value) JSValueRef { } func (w *Window) addFunction(name string) { - ctx := UlViewGetJSContext(w.view) + ctx := UlViewLockJSContext(w.view) + defer UlViewUnlockJSContext(w.view) + gobj := JSContextGetGlobalObject(ctx) fn := JSStringCreateWithUTF8CString(name) diff --git a/muon_test.go b/muon_test.go index 53703ac..31db487 100644 --- a/muon_test.go +++ b/muon_test.go @@ -11,8 +11,8 @@ var w *Window func TestMain(m *testing.M) { cfg := &Config{ - Height: 1, - Width: 1, + Height: 100, + Width: 100, } w = New(cfg, http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {})) diff --git a/ultralight.yml b/ultralight.yml index c708208..b9feed9 100644 --- a/ultralight.yml +++ b/ultralight.yml @@ -4,7 +4,7 @@ GENERATOR: PackageLicense: "THE AUTOGENERATED LICENSE. ALL THE RIGHTS ARE RESERVED BY ROBOTS." FlagGroups: - {name: CFLAGS, flags: [-I../include]} - - {name: LDFLAGS, flags: ["-L${SRCDIR}/libs -lUltralightCore -lWebCore -lUltralight -lAppCore"]} + - {name: LDFLAGS, flags: ["-Wl,--allow-multiple-definition -L${SRCDIR}/libs/linux/x64 -Wl,-rpath,/home/co/code/Muon/ultralight/libs/linux/x64 -lUltralightCore -lAppCore -lUltralight -lWebCore"]} Includes: ["AppCore/CAPI.h"] Options: SafeStrings: true @@ -14,41 +14,48 @@ PARSER: IncludePaths: - include - /usr/include - - /usr/lib/gcc/x86_64-linux-gnu/7/include + - /usr/lib/gcc/x86_64-linux-gnu/9/include SourcesPaths: - AppCore/CAPI.h TRANSLATOR: ConstRules: - defines: eval + defines: expand + enum: eval Rules: global: - - {action: accept, from: "^ul"} - - {action: accept, from: "^UL"} - - {action: accept, from: "^JS"} - - {action: accept, from: "^k"} - - {action: accept, from: "^B"} - - {action: ignore, from: __size_t__} - - {action: ignore, from: __SIZE_T__} - - {action: ignore, from: _BSD_SIZE_T_DEFINED_} - - {action: ignore, from: _SIZE_T_DECLARED} - - {action: ignore, from: __wchar_t__} - - {action: ignore, from: __WCHAR_T__} - - {transform: export} + - {action: accept, from: "^ul"} + - {action: accept, from: "^Ul"} + - {action: accept, from: "^UL"} + - {action: accept, from: "^js"} + - {action: accept, from: "^JS"} + - {action: accept, from: "^k"} + - {action: accept, from: "^B"} + - {transform: export} + # - {action: accept, from: "^ul"} + # - {action: accept, from: "^UL"} + # - {action: accept, from: "^Ul"} + # - {action: accept, from: "^JS"} + # - {action: accept, from: "^k"} + # - {action: accept, from: "^B"} + # # - {action: ignore, from: __size_t__} + # # - {action: ignore, from: __SIZE_T__} + # # - {action: ignore, from: _BSD_SIZE_T_DEFINED_} + # # - {action: ignore, from: _SIZE_T_DECLARED} + # # - {action: ignore, from: __wchar_t__} + # # - {action: ignore, from: __WCHAR_T__} + #- {transform: export} function: - - {action: ignore, from: __GO__} - # - {action: ignore, from: JSObjectGetArrayBufferByteLength} - # - {action: ignore, from: JSObjectGetArrayBufferBytesPtr} - # - {action: ignore, from: JSObjectGetTypedArrayBuffer} - # - {action: ignore, from: JSObjectGetTypedArrayByteLength} - # - {action: ignore, from: JSObjectGetTypedArrayByteOffset} - # - {action: ignore, from: JSObjectGetTypedArrayBytesPtr} - # - {action: ignore, from: JSObjectGetTypedArrayLength} - # - {action: ignore, from: JSObjectMakeArrayBufferWithBytesNoCopy} - # - {action: ignore, from: JSObjectMakeTypedArray} - # - {action: ignore, from: JSObjectMakeTypedArrayWithArrayBuffer} - # - {action: ignore, from: JSObjectMakeTypedArrayWithArrayBufferAndOffset} - # - {action: ignore, from: JSObjectMakeTypedArrayWithBytesNoCopy} - # - {action: ignore, from: JSValueGetTypedArrayType} + - {action: accept, from: "^ul"} + - {action: accept, from: "^Ul"} + - {action: accept, from: "^UL"} + - {action: accept, from: "^js"} + - {action: accept, from: "^JS"} + - {action: ignore, from: "ulCreateStringFromCopy"} # Not actually exported the header lies! + + - {transform: export} private: - - {transform: unexport} \ No newline at end of file + - {transform: unexport} + post-global: + - {action: replace, from: _$} + - {load: snakecase} \ No newline at end of file diff --git a/ultralight/cgo_helpers.c b/ultralight/cgo_helpers.c index 89c7738..1a299d4 100644 --- a/ultralight/cgo_helpers.c +++ b/ultralight/cgo_helpers.c @@ -1,6 +1,6 @@ // THE AUTOGENERATED LICENSE. ALL THE RIGHTS ARE RESERVED BY ROBOTS. -// WARNING: This file has automatically been generated on Mon, 07 Oct 2019 13:59:36 CDT. +// WARNING: This file has automatically been generated on Sun, 02 Oct 2022 19:40:55 PDT. // Code generated by https://git.io/c-for-go. DO NOT EDIT. #include "_cgo_export.h" @@ -38,20 +38,164 @@ void ULAddConsoleMessageCallback_44b8dd01(void* user_data, ULView caller, ULMess uLAddConsoleMessageCallback44B8DD01(user_data, caller, source, level, message, line_number, column_number, source_id); } -void ULBeginLoadingCallback_70d8c0ad(void* user_data, ULView caller) { - uLBeginLoadingCallback70D8C0AD(user_data, caller); +ULView ULCreateChildViewCallback_ef6d2cdd(void* user_data, ULView caller, ULString opener_url, ULString target_url, _Bool is_popup, ULIntRect popup_rect) { + return uLCreateChildViewCallbackEF6D2CDD(user_data, caller, opener_url, target_url, is_popup, popup_rect); } -void ULFinishLoadingCallback_1ed4ecae(void* user_data, ULView caller) { - uLFinishLoadingCallback1ED4ECAE(user_data, caller); +void ULBeginLoadingCallback_70d8c0ad(void* user_data, ULView caller, unsigned long long frame_id, _Bool is_main_frame, ULString url) { + uLBeginLoadingCallback70D8C0AD(user_data, caller, frame_id, is_main_frame, url); +} + +void ULFinishLoadingCallback_1ed4ecae(void* user_data, ULView caller, unsigned long long frame_id, _Bool is_main_frame, ULString url) { + uLFinishLoadingCallback1ED4ECAE(user_data, caller, frame_id, is_main_frame, url); +} + +void ULFailLoadingCallback_55ff90b8(void* user_data, ULView caller, unsigned long long frame_id, _Bool is_main_frame, ULString url, ULString description, ULString error_domain, int error_code) { + uLFailLoadingCallback55FF90B8(user_data, caller, frame_id, is_main_frame, url, description, error_domain, error_code); +} + +void ULWindowObjectReadyCallback_66dc25f3(void* user_data, ULView caller, unsigned long long frame_id, _Bool is_main_frame, ULString url) { + uLWindowObjectReadyCallback66DC25F3(user_data, caller, frame_id, is_main_frame, url); +} + +void ULDOMReadyCallback_6432c207(void* user_data, ULView caller, unsigned long long frame_id, _Bool is_main_frame, ULString url) { + uLDOMReadyCallback6432C207(user_data, caller, frame_id, is_main_frame, url); } void ULUpdateHistoryCallback_6e105364(void* user_data, ULView caller) { uLUpdateHistoryCallback6E105364(user_data, caller); } -void ULDOMReadyCallback_6432c207(void* user_data, ULView caller) { - uLDOMReadyCallback6432C207(user_data, caller); +void* ULSurfaceDefinitionCreateCallback_573ec115(unsigned int width, unsigned int height) { + return uLSurfaceDefinitionCreateCallback573EC115(width, height); +} + +void ULSurfaceDefinitionDestroyCallback_851bacee(void* user_data) { + uLSurfaceDefinitionDestroyCallback851BACEE(user_data); +} + +unsigned int ULSurfaceDefinitionGetWidthCallback_1a49a8fd(void* user_data) { + return uLSurfaceDefinitionGetWidthCallback1A49A8FD(user_data); +} + +unsigned int ULSurfaceDefinitionGetHeightCallback_3e5fe408(void* user_data) { + return uLSurfaceDefinitionGetHeightCallback3E5FE408(user_data); +} + +unsigned int ULSurfaceDefinitionGetRowBytesCallback_adcc8668(void* user_data) { + return uLSurfaceDefinitionGetRowBytesCallbackADCC8668(user_data); +} + +unsigned long int ULSurfaceDefinitionGetSizeCallback_83184afe(void* user_data) { + return uLSurfaceDefinitionGetSizeCallback83184AFE(user_data); +} + +void* ULSurfaceDefinitionLockPixelsCallback_7763e12f(void* user_data) { + return uLSurfaceDefinitionLockPixelsCallback7763E12F(user_data); +} + +void ULSurfaceDefinitionUnlockPixelsCallback_d4b69f9(void* user_data) { + uLSurfaceDefinitionUnlockPixelsCallbackD4B69F9(user_data); +} + +void ULSurfaceDefinitionResizeCallback_22d82567(void* user_data, unsigned int width, unsigned int height) { + uLSurfaceDefinitionResizeCallback22D82567(user_data, width, height); +} + +_Bool ULFileSystemFileExistsCallback_d03bf100(ULString path) { + return uLFileSystemFileExistsCallbackD03BF100(path); +} + +_Bool ULFileSystemGetFileSizeCallback_e87ad8b1(int handle, long long* result) { + return uLFileSystemGetFileSizeCallbackE87AD8B1(handle, result); +} + +_Bool ULFileSystemGetFileMimeTypeCallback_7e6fd322(ULString path, ULString result) { + return uLFileSystemGetFileMimeTypeCallback7E6FD322(path, result); +} + +int ULFileSystemOpenFileCallback_bbb19604(ULString path, _Bool open_for_writing) { + return uLFileSystemOpenFileCallbackBBB19604(path, open_for_writing); +} + +void ULFileSystemCloseFileCallback_c90ac2e5(int handle) { + uLFileSystemCloseFileCallbackC90AC2E5(handle); +} + +long long ULFileSystemReadFromFileCallback_bc1997bc(int handle, char* data, long long length) { + return uLFileSystemReadFromFileCallbackBC1997BC(handle, data, length); +} + +void ULLoggerLogMessageCallback_454e682a(ULLogLevel log_level, ULString message) { + uLLoggerLogMessageCallback454E682A(log_level, message); +} + +void ULGPUDriverBeginSynchronizeCallback_650938c() { + uLGPUDriverBeginSynchronizeCallback650938C(); +} + +void ULGPUDriverEndSynchronizeCallback_f6baad4d() { + uLGPUDriverEndSynchronizeCallbackF6BAAD4D(); +} + +unsigned int ULGPUDriverNextTextureIdCallback_7de045b4() { + return uLGPUDriverNextTextureIdCallback7DE045B4(); +} + +void ULGPUDriverCreateTextureCallback_a32244d8(unsigned int texture_id, ULBitmap bitmap) { + uLGPUDriverCreateTextureCallbackA32244D8(texture_id, bitmap); +} + +void ULGPUDriverUpdateTextureCallback_3d7a526(unsigned int texture_id, ULBitmap bitmap) { + uLGPUDriverUpdateTextureCallback3D7A526(texture_id, bitmap); +} + +void ULGPUDriverDestroyTextureCallback_a8eea310(unsigned int texture_id) { + uLGPUDriverDestroyTextureCallbackA8EEA310(texture_id); +} + +unsigned int ULGPUDriverNextRenderBufferIdCallback_bfeb3fb8() { + return uLGPUDriverNextRenderBufferIdCallbackBFEB3FB8(); +} + +void ULGPUDriverCreateRenderBufferCallback_68ee5367(unsigned int render_buffer_id, ULRenderBuffer buffer) { + uLGPUDriverCreateRenderBufferCallback68EE5367(render_buffer_id, buffer); +} + +void ULGPUDriverDestroyRenderBufferCallback_81623f13(unsigned int render_buffer_id) { + uLGPUDriverDestroyRenderBufferCallback81623F13(render_buffer_id); +} + +unsigned int ULGPUDriverNextGeometryIdCallback_5f2a8fea() { + return uLGPUDriverNextGeometryIdCallback5F2A8FEA(); +} + +void ULGPUDriverCreateGeometryCallback_5957236d(unsigned int geometry_id, ULVertexBuffer vertices, ULIndexBuffer indices) { + uLGPUDriverCreateGeometryCallback5957236D(geometry_id, vertices, indices); +} + +void ULGPUDriverUpdateGeometryCallback_3f20997(unsigned int geometry_id, ULVertexBuffer vertices, ULIndexBuffer indices) { + uLGPUDriverUpdateGeometryCallback3F20997(geometry_id, vertices, indices); +} + +void ULGPUDriverDestroyGeometryCallback_cce3a508(unsigned int geometry_id) { + uLGPUDriverDestroyGeometryCallbackCCE3A508(geometry_id); +} + +void ULGPUDriverUpdateCommandListCallback_d3815a9e(ULCommandList list) { + uLGPUDriverUpdateCommandListCallbackD3815A9E(list); +} + +void ULClipboardClearCallback_eda3036a() { + uLClipboardClearCallbackEDA3036A(); +} + +void ULClipboardReadPlainTextCallback_fedfb2b6(ULString result) { + uLClipboardReadPlainTextCallbackFEDFB2B6(result); +} + +void ULClipboardWritePlainTextCallback_6e8e0ca4(ULString text) { + uLClipboardWritePlainTextCallback6E8E0CA4(text); } void JSTypedArrayBytesDeallocator_68d51f83(void* bytes, void* deallocatorContext) { @@ -62,43 +206,87 @@ void JSObjectInitializeCallback_5793b16(JSContextRef ctx, JSObjectRef object) { jSObjectInitializeCallback5793B16(ctx, object); } +void JSObjectInitializeCallbackEx_3f9a093b(JSContextRef ctx, JSClassRef jsClass, JSObjectRef object) { + jSObjectInitializeCallbackEx3F9A093B(ctx, jsClass, object); +} + void JSObjectFinalizeCallback_93da0aea(JSObjectRef object) { jSObjectFinalizeCallback93DA0AEA(object); } +void JSObjectFinalizeCallbackEx_d64d3113(JSClassRef jsClass, JSObjectRef object) { + jSObjectFinalizeCallbackExD64D3113(jsClass, object); +} + _Bool JSObjectHasPropertyCallback_340bfa95(JSContextRef ctx, JSObjectRef object, JSStringRef propertyName) { return jSObjectHasPropertyCallback340BFA95(ctx, object, propertyName); } +_Bool JSObjectHasPropertyCallbackEx_c35701e7(JSContextRef ctx, JSClassRef jsClass, JSObjectRef object, JSStringRef propertyName) { + return jSObjectHasPropertyCallbackExC35701E7(ctx, jsClass, object, propertyName); +} + JSValueRef JSObjectGetPropertyCallback_5caec716(JSContextRef ctx, JSObjectRef object, JSStringRef propertyName, JSValueRef* exception) { return jSObjectGetPropertyCallback5CAEC716(ctx, object, propertyName, exception); } +JSValueRef JSObjectGetPropertyCallbackEx_8b91eedb(JSContextRef ctx, JSClassRef jsClass, JSObjectRef object, JSStringRef propertyName, JSValueRef* exception) { + return jSObjectGetPropertyCallbackEx8B91EEDB(ctx, jsClass, object, propertyName, exception); +} + _Bool JSObjectSetPropertyCallback_a684f1fe(JSContextRef ctx, JSObjectRef object, JSStringRef propertyName, JSValueRef value, JSValueRef* exception) { return jSObjectSetPropertyCallbackA684F1FE(ctx, object, propertyName, value, exception); } +_Bool JSObjectSetPropertyCallbackEx_d28cf88c(JSContextRef ctx, JSClassRef jsClass, JSObjectRef object, JSStringRef propertyName, JSValueRef value, JSValueRef* exception) { + return jSObjectSetPropertyCallbackExD28CF88C(ctx, jsClass, object, propertyName, value, exception); +} + _Bool JSObjectDeletePropertyCallback_b0108ebe(JSContextRef ctx, JSObjectRef object, JSStringRef propertyName, JSValueRef* exception) { return jSObjectDeletePropertyCallbackB0108EBE(ctx, object, propertyName, exception); } +_Bool JSObjectDeletePropertyCallbackEx_e24fcdb0(JSContextRef ctx, JSClassRef jsClass, JSObjectRef object, JSStringRef propertyName, JSValueRef* exception) { + return jSObjectDeletePropertyCallbackExE24FCDB0(ctx, jsClass, object, propertyName, exception); +} + void JSObjectGetPropertyNamesCallback_e77d2329(JSContextRef ctx, JSObjectRef object, JSPropertyNameAccumulatorRef propertyNames) { jSObjectGetPropertyNamesCallbackE77D2329(ctx, object, propertyNames); } +void JSObjectGetPropertyNamesCallbackEx_74285955(JSContextRef ctx, JSClassRef jsClass, JSObjectRef object, JSPropertyNameAccumulatorRef propertyNames) { + jSObjectGetPropertyNamesCallbackEx74285955(ctx, jsClass, object, propertyNames); +} + JSValueRef JSObjectCallAsFunctionCallback_89f9469b(JSContextRef ctx, JSObjectRef function, JSObjectRef thisObject, unsigned long int argumentCount, JSValueRef* arguments, JSValueRef* exception) { return jSObjectCallAsFunctionCallback89F9469B(ctx, function, thisObject, argumentCount, arguments, exception); } +JSValueRef JSObjectCallAsFunctionCallbackEx_9f036e3c(JSContextRef ctx, JSClassRef jsClass, JSStringRef className, JSObjectRef function, JSObjectRef thisObject, unsigned long int argumentCount, JSValueRef* arguments, JSValueRef* exception) { + return jSObjectCallAsFunctionCallbackEx9F036E3C(ctx, jsClass, className, function, thisObject, argumentCount, arguments, exception); +} + JSObjectRef JSObjectCallAsConstructorCallback_45f4b71f(JSContextRef ctx, JSObjectRef constructor, unsigned long int argumentCount, JSValueRef* arguments, JSValueRef* exception) { return jSObjectCallAsConstructorCallback45F4B71F(ctx, constructor, argumentCount, arguments, exception); } +JSObjectRef JSObjectCallAsConstructorCallbackEx_a563df4(JSContextRef ctx, JSClassRef jsClass, JSObjectRef constructor, unsigned long int argumentCount, JSValueRef* arguments, JSValueRef* exception) { + return jSObjectCallAsConstructorCallbackExA563DF4(ctx, jsClass, constructor, argumentCount, arguments, exception); +} + _Bool JSObjectHasInstanceCallback_aa527d2e(JSContextRef ctx, JSObjectRef constructor, JSValueRef possibleInstance, JSValueRef* exception) { return jSObjectHasInstanceCallbackAA527D2E(ctx, constructor, possibleInstance, exception); } +_Bool JSObjectHasInstanceCallbackEx_b7bafe4e(JSContextRef ctx, JSClassRef jsClass, JSObjectRef constructor, JSValueRef possibleInstance, JSValueRef* exception) { + return jSObjectHasInstanceCallbackExB7BAFE4E(ctx, jsClass, constructor, possibleInstance, exception); +} + JSValueRef JSObjectConvertToTypeCallback_d379d61c(JSContextRef ctx, JSObjectRef object, JSType _type, JSValueRef* exception) { return jSObjectConvertToTypeCallbackD379D61C(ctx, object, _type, exception); } +JSValueRef JSObjectConvertToTypeCallbackEx_1bcea974(JSContextRef ctx, JSClassRef jsClass, JSObjectRef object, JSType _type, JSValueRef* exception) { + return jSObjectConvertToTypeCallbackEx1BCEA974(ctx, jsClass, object, _type, exception); +} + diff --git a/ultralight/cgo_helpers.go b/ultralight/cgo_helpers.go index db5e2f6..ac3a05f 100644 --- a/ultralight/cgo_helpers.go +++ b/ultralight/cgo_helpers.go @@ -1,23 +1,20 @@ // THE AUTOGENERATED LICENSE. ALL THE RIGHTS ARE RESERVED BY ROBOTS. -// WARNING: This file has automatically been generated on Mon, 07 Oct 2019 13:59:36 CDT. +// WARNING: This file has automatically been generated on Sun, 02 Oct 2022 19:40:55 PDT. // Code generated by https://git.io/c-for-go. DO NOT EDIT. package ultralight /* #cgo CFLAGS: -I../include -#cgo windows,386 LDFLAGS: -L${SRCDIR}/libs/windows/x32 -#cgo windows,amd64 LDFLAGS: -L${SRCDIR}/libs/windows/x64 -#cgo darwin,amd64 LDFLAGS: -L${SRCDIR}/libs/darwin/x64 -#cgo linux,amd64 LDFLAGS: -L${SRCDIR}/libs/linux/x64 -#cgo LDFLAGS: -lUltralightCore -lWebCore -lUltralight -lAppCore +#cgo LDFLAGS: -Wl,--allow-multiple-definition -L${SRCDIR}/libs/linux/x64 -Wl,-rpath,/home/co/code/Muon/ultralight/libs/linux/x64 -lUltralightCore -lAppCore -lUltralight -lWebCore #include "AppCore/CAPI.h" #include #include "cgo_helpers.h" */ import "C" import ( + "fmt" "runtime" "sync" "unsafe" @@ -98,10 +95,10 @@ func NewULUpdateCallbackRef(ref unsafe.Pointer) *ULUpdateCallback { } //export uLUpdateCallback7E1C6355 -func uLUpdateCallback7E1C6355(cuser_data unsafe.Pointer) { +func uLUpdateCallback7E1C6355(cuserData unsafe.Pointer) { if uLUpdateCallback7E1C6355Func != nil { - user_data7e1c6355 := (unsafe.Pointer)(unsafe.Pointer(cuser_data)) - uLUpdateCallback7E1C6355Func(user_data7e1c6355) + userData7e1c6355 := (unsafe.Pointer)(unsafe.Pointer(cuserData)) + uLUpdateCallback7E1C6355Func(userData7e1c6355) return } panic("callback func has not been set (race?)") @@ -134,10 +131,10 @@ func NewULCloseCallbackRef(ref unsafe.Pointer) *ULCloseCallback { } //export uLCloseCallback195B2F9 -func uLCloseCallback195B2F9(cuser_data unsafe.Pointer) { +func uLCloseCallback195B2F9(cuserData unsafe.Pointer) { if uLCloseCallback195B2F9Func != nil { - user_data195b2f9 := (unsafe.Pointer)(unsafe.Pointer(cuser_data)) - uLCloseCallback195B2F9Func(user_data195b2f9) + userData195b2f9 := (unsafe.Pointer)(unsafe.Pointer(cuserData)) + uLCloseCallback195B2F9Func(userData195b2f9) return } panic("callback func has not been set (race?)") @@ -170,12 +167,12 @@ func NewULResizeCallbackRef(ref unsafe.Pointer) *ULResizeCallback { } //export uLResizeCallback6E7309D9 -func uLResizeCallback6E7309D9(cuser_data unsafe.Pointer, cwidth C.uint, cheight C.uint) { +func uLResizeCallback6E7309D9(cuserData unsafe.Pointer, cwidth C.uint, cheight C.uint) { if uLResizeCallback6E7309D9Func != nil { - user_data6e7309d9 := (unsafe.Pointer)(unsafe.Pointer(cuser_data)) + userData6e7309d9 := (unsafe.Pointer)(unsafe.Pointer(cuserData)) width6e7309d9 := (uint32)(cwidth) height6e7309d9 := (uint32)(cheight) - uLResizeCallback6E7309D9Func(user_data6e7309d9, width6e7309d9, height6e7309d9) + uLResizeCallback6E7309D9Func(userData6e7309d9, width6e7309d9, height6e7309d9) return } panic("callback func has not been set (race?)") @@ -183,6 +180,319 @@ func uLResizeCallback6E7309D9(cuser_data unsafe.Pointer, cwidth C.uint, cheight var uLResizeCallback6E7309D9Func ULResizeCallback +// allocULRectMemory allocates memory for type C.ULRect in C. +// The caller is responsible for freeing the this memory via C.free. +func allocULRectMemory(n int) unsafe.Pointer { + mem, err := C.calloc(C.size_t(n), (C.size_t)(sizeOfULRectValue)) + if mem == nil { + panic(fmt.Sprintln("memory alloc error: ", err)) + } + return mem +} + +const sizeOfULRectValue = unsafe.Sizeof([1]C.ULRect{}) + +// Ref returns the underlying reference to C object or nil if struct is nil. +func (x *ULRect) Ref() *C.ULRect { + if x == nil { + return nil + } + return x.ref4622ce0c +} + +// Free invokes alloc map's free mechanism that cleanups any allocated memory using C free. +// Does nothing if struct is nil or has no allocation map. +func (x *ULRect) Free() { + if x != nil && x.allocs4622ce0c != nil { + x.allocs4622ce0c.(*cgoAllocMap).Free() + x.ref4622ce0c = nil + } +} + +// NewULRectRef creates a new wrapper struct with underlying reference set to the original C object. +// Returns nil if the provided pointer to C object is nil too. +func NewULRectRef(ref unsafe.Pointer) *ULRect { + if ref == nil { + return nil + } + obj := new(ULRect) + obj.ref4622ce0c = (*C.ULRect)(unsafe.Pointer(ref)) + return obj +} + +// PassRef returns the underlying C object, otherwise it will allocate one and set its values +// from this wrapping struct, counting allocations into an allocation map. +func (x *ULRect) PassRef() (*C.ULRect, *cgoAllocMap) { + if x == nil { + return nil, nil + } else if x.ref4622ce0c != nil { + return x.ref4622ce0c, nil + } + mem4622ce0c := allocULRectMemory(1) + ref4622ce0c := (*C.ULRect)(mem4622ce0c) + allocs4622ce0c := new(cgoAllocMap) + allocs4622ce0c.Add(mem4622ce0c) + + var cleft_allocs *cgoAllocMap + ref4622ce0c.left, cleft_allocs = (C.float)(x.Left), cgoAllocsUnknown + allocs4622ce0c.Borrow(cleft_allocs) + + var ctop_allocs *cgoAllocMap + ref4622ce0c.top, ctop_allocs = (C.float)(x.Top), cgoAllocsUnknown + allocs4622ce0c.Borrow(ctop_allocs) + + var cright_allocs *cgoAllocMap + ref4622ce0c.right, cright_allocs = (C.float)(x.Right), cgoAllocsUnknown + allocs4622ce0c.Borrow(cright_allocs) + + var cbottom_allocs *cgoAllocMap + ref4622ce0c.bottom, cbottom_allocs = (C.float)(x.Bottom), cgoAllocsUnknown + allocs4622ce0c.Borrow(cbottom_allocs) + + x.ref4622ce0c = ref4622ce0c + x.allocs4622ce0c = allocs4622ce0c + return ref4622ce0c, allocs4622ce0c + +} + +// PassValue does the same as PassRef except that it will try to dereference the returned pointer. +func (x ULRect) PassValue() (C.ULRect, *cgoAllocMap) { + if x.ref4622ce0c != nil { + return *x.ref4622ce0c, nil + } + ref, allocs := x.PassRef() + return *ref, allocs +} + +// Deref uses the underlying reference to C object and fills the wrapping struct with values. +// Do not forget to call this method whether you get a struct for C object and want to read its values. +func (x *ULRect) Deref() { + if x.ref4622ce0c == nil { + return + } + x.Left = (float32)(x.ref4622ce0c.left) + x.Top = (float32)(x.ref4622ce0c.top) + x.Right = (float32)(x.ref4622ce0c.right) + x.Bottom = (float32)(x.ref4622ce0c.bottom) +} + +// allocULIntRectMemory allocates memory for type C.ULIntRect in C. +// The caller is responsible for freeing the this memory via C.free. +func allocULIntRectMemory(n int) unsafe.Pointer { + mem, err := C.calloc(C.size_t(n), (C.size_t)(sizeOfULIntRectValue)) + if mem == nil { + panic(fmt.Sprintln("memory alloc error: ", err)) + } + return mem +} + +const sizeOfULIntRectValue = unsafe.Sizeof([1]C.ULIntRect{}) + +// Ref returns the underlying reference to C object or nil if struct is nil. +func (x *ULIntRect) Ref() *C.ULIntRect { + if x == nil { + return nil + } + return x.ref79619c19 +} + +// Free invokes alloc map's free mechanism that cleanups any allocated memory using C free. +// Does nothing if struct is nil or has no allocation map. +func (x *ULIntRect) Free() { + if x != nil && x.allocs79619c19 != nil { + x.allocs79619c19.(*cgoAllocMap).Free() + x.ref79619c19 = nil + } +} + +// NewULIntRectRef creates a new wrapper struct with underlying reference set to the original C object. +// Returns nil if the provided pointer to C object is nil too. +func NewULIntRectRef(ref unsafe.Pointer) *ULIntRect { + if ref == nil { + return nil + } + obj := new(ULIntRect) + obj.ref79619c19 = (*C.ULIntRect)(unsafe.Pointer(ref)) + return obj +} + +// PassRef returns the underlying C object, otherwise it will allocate one and set its values +// from this wrapping struct, counting allocations into an allocation map. +func (x *ULIntRect) PassRef() (*C.ULIntRect, *cgoAllocMap) { + if x == nil { + return nil, nil + } else if x.ref79619c19 != nil { + return x.ref79619c19, nil + } + mem79619c19 := allocULIntRectMemory(1) + ref79619c19 := (*C.ULIntRect)(mem79619c19) + allocs79619c19 := new(cgoAllocMap) + allocs79619c19.Add(mem79619c19) + + var cleft_allocs *cgoAllocMap + ref79619c19.left, cleft_allocs = (C.int)(x.Left), cgoAllocsUnknown + allocs79619c19.Borrow(cleft_allocs) + + var ctop_allocs *cgoAllocMap + ref79619c19.top, ctop_allocs = (C.int)(x.Top), cgoAllocsUnknown + allocs79619c19.Borrow(ctop_allocs) + + var cright_allocs *cgoAllocMap + ref79619c19.right, cright_allocs = (C.int)(x.Right), cgoAllocsUnknown + allocs79619c19.Borrow(cright_allocs) + + var cbottom_allocs *cgoAllocMap + ref79619c19.bottom, cbottom_allocs = (C.int)(x.Bottom), cgoAllocsUnknown + allocs79619c19.Borrow(cbottom_allocs) + + x.ref79619c19 = ref79619c19 + x.allocs79619c19 = allocs79619c19 + return ref79619c19, allocs79619c19 + +} + +// PassValue does the same as PassRef except that it will try to dereference the returned pointer. +func (x ULIntRect) PassValue() (C.ULIntRect, *cgoAllocMap) { + if x.ref79619c19 != nil { + return *x.ref79619c19, nil + } + ref, allocs := x.PassRef() + return *ref, allocs +} + +// Deref uses the underlying reference to C object and fills the wrapping struct with values. +// Do not forget to call this method whether you get a struct for C object and want to read its values. +func (x *ULIntRect) Deref() { + if x.ref79619c19 == nil { + return + } + x.Left = (int32)(x.ref79619c19.left) + x.Top = (int32)(x.ref79619c19.top) + x.Right = (int32)(x.ref79619c19.right) + x.Bottom = (int32)(x.ref79619c19.bottom) +} + +// allocULRenderTargetMemory allocates memory for type C.ULRenderTarget in C. +// The caller is responsible for freeing the this memory via C.free. +func allocULRenderTargetMemory(n int) unsafe.Pointer { + mem, err := C.calloc(C.size_t(n), (C.size_t)(sizeOfULRenderTargetValue)) + if mem == nil { + panic(fmt.Sprintln("memory alloc error: ", err)) + } + return mem +} + +const sizeOfULRenderTargetValue = unsafe.Sizeof([1]C.ULRenderTarget{}) + +// Ref returns the underlying reference to C object or nil if struct is nil. +func (x *ULRenderTarget) Ref() *C.ULRenderTarget { + if x == nil { + return nil + } + return x.ref79bb0a51 +} + +// Free invokes alloc map's free mechanism that cleanups any allocated memory using C free. +// Does nothing if struct is nil or has no allocation map. +func (x *ULRenderTarget) Free() { + if x != nil && x.allocs79bb0a51 != nil { + x.allocs79bb0a51.(*cgoAllocMap).Free() + x.ref79bb0a51 = nil + } +} + +// NewULRenderTargetRef creates a new wrapper struct with underlying reference set to the original C object. +// Returns nil if the provided pointer to C object is nil too. +func NewULRenderTargetRef(ref unsafe.Pointer) *ULRenderTarget { + if ref == nil { + return nil + } + obj := new(ULRenderTarget) + obj.ref79bb0a51 = (*C.ULRenderTarget)(unsafe.Pointer(ref)) + return obj +} + +// PassRef returns the underlying C object, otherwise it will allocate one and set its values +// from this wrapping struct, counting allocations into an allocation map. +func (x *ULRenderTarget) PassRef() (*C.ULRenderTarget, *cgoAllocMap) { + if x == nil { + return nil, nil + } else if x.ref79bb0a51 != nil { + return x.ref79bb0a51, nil + } + mem79bb0a51 := allocULRenderTargetMemory(1) + ref79bb0a51 := (*C.ULRenderTarget)(mem79bb0a51) + allocs79bb0a51 := new(cgoAllocMap) + allocs79bb0a51.Add(mem79bb0a51) + + var cis_empty_allocs *cgoAllocMap + ref79bb0a51.is_empty, cis_empty_allocs = (C._Bool)(x.IsEmpty), cgoAllocsUnknown + allocs79bb0a51.Borrow(cis_empty_allocs) + + var cwidth_allocs *cgoAllocMap + ref79bb0a51.width, cwidth_allocs = (C.uint)(x.Width), cgoAllocsUnknown + allocs79bb0a51.Borrow(cwidth_allocs) + + var cheight_allocs *cgoAllocMap + ref79bb0a51.height, cheight_allocs = (C.uint)(x.Height), cgoAllocsUnknown + allocs79bb0a51.Borrow(cheight_allocs) + + var ctexture_id_allocs *cgoAllocMap + ref79bb0a51.texture_id, ctexture_id_allocs = (C.uint)(x.TextureId), cgoAllocsUnknown + allocs79bb0a51.Borrow(ctexture_id_allocs) + + var ctexture_width_allocs *cgoAllocMap + ref79bb0a51.texture_width, ctexture_width_allocs = (C.uint)(x.TextureWidth), cgoAllocsUnknown + allocs79bb0a51.Borrow(ctexture_width_allocs) + + var ctexture_height_allocs *cgoAllocMap + ref79bb0a51.texture_height, ctexture_height_allocs = (C.uint)(x.TextureHeight), cgoAllocsUnknown + allocs79bb0a51.Borrow(ctexture_height_allocs) + + var ctexture_format_allocs *cgoAllocMap + ref79bb0a51.texture_format, ctexture_format_allocs = (C.ULBitmapFormat)(x.TextureFormat), cgoAllocsUnknown + allocs79bb0a51.Borrow(ctexture_format_allocs) + + var cuv_coords_allocs *cgoAllocMap + ref79bb0a51.uv_coords, cuv_coords_allocs = x.UvCoords.PassValue() + allocs79bb0a51.Borrow(cuv_coords_allocs) + + var crender_buffer_id_allocs *cgoAllocMap + ref79bb0a51.render_buffer_id, crender_buffer_id_allocs = (C.uint)(x.RenderBufferId), cgoAllocsUnknown + allocs79bb0a51.Borrow(crender_buffer_id_allocs) + + x.ref79bb0a51 = ref79bb0a51 + x.allocs79bb0a51 = allocs79bb0a51 + return ref79bb0a51, allocs79bb0a51 + +} + +// PassValue does the same as PassRef except that it will try to dereference the returned pointer. +func (x ULRenderTarget) PassValue() (C.ULRenderTarget, *cgoAllocMap) { + if x.ref79bb0a51 != nil { + return *x.ref79bb0a51, nil + } + ref, allocs := x.PassRef() + return *ref, allocs +} + +// Deref uses the underlying reference to C object and fills the wrapping struct with values. +// Do not forget to call this method whether you get a struct for C object and want to read its values. +func (x *ULRenderTarget) Deref() { + if x.ref79bb0a51 == nil { + return + } + x.IsEmpty = (bool)(x.ref79bb0a51.is_empty) + x.Width = (uint32)(x.ref79bb0a51.width) + x.Height = (uint32)(x.ref79bb0a51.height) + x.TextureId = (uint32)(x.ref79bb0a51.texture_id) + x.TextureWidth = (uint32)(x.ref79bb0a51.texture_width) + x.TextureHeight = (uint32)(x.ref79bb0a51.texture_height) + x.TextureFormat = (ULBitmapFormat)(x.ref79bb0a51.texture_format) + x.UvCoords = *NewULRectRef(unsafe.Pointer(&x.ref79bb0a51.uv_coords)) + x.RenderBufferId = (uint32)(x.ref79bb0a51.render_buffer_id) +} + func (x ULChangeTitleCallback) PassRef() (ref *C.ULChangeTitleCallback, allocs *cgoAllocMap) { if x == nil { return nil, nil @@ -208,12 +518,12 @@ func NewULChangeTitleCallbackRef(ref unsafe.Pointer) *ULChangeTitleCallback { } //export uLChangeTitleCallbackBD58034C -func uLChangeTitleCallbackBD58034C(cuser_data unsafe.Pointer, ccaller C.ULView, ctitle C.ULString) { +func uLChangeTitleCallbackBD58034C(cuserData unsafe.Pointer, ccaller C.ULView, ctitle C.ULString) { if uLChangeTitleCallbackBD58034CFunc != nil { - user_databd58034c := (unsafe.Pointer)(unsafe.Pointer(cuser_data)) + userDatabd58034c := (unsafe.Pointer)(unsafe.Pointer(cuserData)) callerbd58034c := *(*ULView)(unsafe.Pointer(&ccaller)) titlebd58034c := *(*ULString)(unsafe.Pointer(&ctitle)) - uLChangeTitleCallbackBD58034CFunc(user_databd58034c, callerbd58034c, titlebd58034c) + uLChangeTitleCallbackBD58034CFunc(userDatabd58034c, callerbd58034c, titlebd58034c) return } panic("callback func has not been set (race?)") @@ -246,12 +556,12 @@ func NewULChangeURLCallbackRef(ref unsafe.Pointer) *ULChangeURLCallback { } //export uLChangeURLCallback4EC32B80 -func uLChangeURLCallback4EC32B80(cuser_data unsafe.Pointer, ccaller C.ULView, curl C.ULString) { +func uLChangeURLCallback4EC32B80(cuserData unsafe.Pointer, ccaller C.ULView, curl C.ULString) { if uLChangeURLCallback4EC32B80Func != nil { - user_data4ec32b80 := (unsafe.Pointer)(unsafe.Pointer(cuser_data)) + userData4ec32b80 := (unsafe.Pointer)(unsafe.Pointer(cuserData)) caller4ec32b80 := *(*ULView)(unsafe.Pointer(&ccaller)) url4ec32b80 := *(*ULString)(unsafe.Pointer(&curl)) - uLChangeURLCallback4EC32B80Func(user_data4ec32b80, caller4ec32b80, url4ec32b80) + uLChangeURLCallback4EC32B80Func(userData4ec32b80, caller4ec32b80, url4ec32b80) return } panic("callback func has not been set (race?)") @@ -284,12 +594,12 @@ func NewULChangeTooltipCallbackRef(ref unsafe.Pointer) *ULChangeTooltipCallback } //export uLChangeTooltipCallback12CA407 -func uLChangeTooltipCallback12CA407(cuser_data unsafe.Pointer, ccaller C.ULView, ctooltip C.ULString) { +func uLChangeTooltipCallback12CA407(cuserData unsafe.Pointer, ccaller C.ULView, ctooltip C.ULString) { if uLChangeTooltipCallback12CA407Func != nil { - user_data12ca407 := (unsafe.Pointer)(unsafe.Pointer(cuser_data)) + userData12ca407 := (unsafe.Pointer)(unsafe.Pointer(cuserData)) caller12ca407 := *(*ULView)(unsafe.Pointer(&ccaller)) tooltip12ca407 := *(*ULString)(unsafe.Pointer(&ctooltip)) - uLChangeTooltipCallback12CA407Func(user_data12ca407, caller12ca407, tooltip12ca407) + uLChangeTooltipCallback12CA407Func(userData12ca407, caller12ca407, tooltip12ca407) return } panic("callback func has not been set (race?)") @@ -322,12 +632,12 @@ func NewULChangeCursorCallbackRef(ref unsafe.Pointer) *ULChangeCursorCallback { } //export uLChangeCursorCallback1A7011DF -func uLChangeCursorCallback1A7011DF(cuser_data unsafe.Pointer, ccaller C.ULView, ccursor C.ULCursor) { +func uLChangeCursorCallback1A7011DF(cuserData unsafe.Pointer, ccaller C.ULView, ccursor C.ULCursor) { if uLChangeCursorCallback1A7011DFFunc != nil { - user_data1a7011df := (unsafe.Pointer)(unsafe.Pointer(cuser_data)) + userData1a7011df := (unsafe.Pointer)(unsafe.Pointer(cuserData)) caller1a7011df := *(*ULView)(unsafe.Pointer(&ccaller)) cursor1a7011df := (ULCursor)(ccursor) - uLChangeCursorCallback1A7011DFFunc(user_data1a7011df, caller1a7011df, cursor1a7011df) + uLChangeCursorCallback1A7011DFFunc(userData1a7011df, caller1a7011df, cursor1a7011df) return } panic("callback func has not been set (race?)") @@ -360,17 +670,17 @@ func NewULAddConsoleMessageCallbackRef(ref unsafe.Pointer) *ULAddConsoleMessageC } //export uLAddConsoleMessageCallback44B8DD01 -func uLAddConsoleMessageCallback44B8DD01(cuser_data unsafe.Pointer, ccaller C.ULView, csource C.ULMessageSource, clevel C.ULMessageLevel, cmessage C.ULString, cline_number C.uint, ccolumn_number C.uint, csource_id C.ULString) { +func uLAddConsoleMessageCallback44B8DD01(cuserData unsafe.Pointer, ccaller C.ULView, csource C.ULMessageSource, clevel C.ULMessageLevel, cmessage C.ULString, clineNumber C.uint, ccolumnNumber C.uint, csourceId C.ULString) { if uLAddConsoleMessageCallback44B8DD01Func != nil { - user_data44b8dd01 := (unsafe.Pointer)(unsafe.Pointer(cuser_data)) + userData44b8dd01 := (unsafe.Pointer)(unsafe.Pointer(cuserData)) caller44b8dd01 := *(*ULView)(unsafe.Pointer(&ccaller)) source44b8dd01 := (ULMessageSource)(csource) level44b8dd01 := (ULMessageLevel)(clevel) message44b8dd01 := *(*ULString)(unsafe.Pointer(&cmessage)) - line_number44b8dd01 := (uint32)(cline_number) - column_number44b8dd01 := (uint32)(ccolumn_number) - source_id44b8dd01 := *(*ULString)(unsafe.Pointer(&csource_id)) - uLAddConsoleMessageCallback44B8DD01Func(user_data44b8dd01, caller44b8dd01, source44b8dd01, level44b8dd01, message44b8dd01, line_number44b8dd01, column_number44b8dd01, source_id44b8dd01) + lineNumber44b8dd01 := (uint32)(clineNumber) + columnNumber44b8dd01 := (uint32)(ccolumnNumber) + sourceId44b8dd01 := *(*ULString)(unsafe.Pointer(&csourceId)) + uLAddConsoleMessageCallback44B8DD01Func(userData44b8dd01, caller44b8dd01, source44b8dd01, level44b8dd01, message44b8dd01, lineNumber44b8dd01, columnNumber44b8dd01, sourceId44b8dd01) return } panic("callback func has not been set (race?)") @@ -378,6 +688,48 @@ func uLAddConsoleMessageCallback44B8DD01(cuser_data unsafe.Pointer, ccaller C.UL var uLAddConsoleMessageCallback44B8DD01Func ULAddConsoleMessageCallback +func (x ULCreateChildViewCallback) PassRef() (ref *C.ULCreateChildViewCallback, allocs *cgoAllocMap) { + if x == nil { + return nil, nil + } + if uLCreateChildViewCallbackEF6D2CDDFunc == nil { + uLCreateChildViewCallbackEF6D2CDDFunc = x + } + return (*C.ULCreateChildViewCallback)(C.ULCreateChildViewCallback_ef6d2cdd), nil +} + +func (x ULCreateChildViewCallback) PassValue() (ref C.ULCreateChildViewCallback, allocs *cgoAllocMap) { + if x == nil { + return nil, nil + } + if uLCreateChildViewCallbackEF6D2CDDFunc == nil { + uLCreateChildViewCallbackEF6D2CDDFunc = x + } + return (C.ULCreateChildViewCallback)(C.ULCreateChildViewCallback_ef6d2cdd), nil +} + +func NewULCreateChildViewCallbackRef(ref unsafe.Pointer) *ULCreateChildViewCallback { + return (*ULCreateChildViewCallback)(ref) +} + +//export uLCreateChildViewCallbackEF6D2CDD +func uLCreateChildViewCallbackEF6D2CDD(cuserData unsafe.Pointer, ccaller C.ULView, copenerUrl C.ULString, ctargetUrl C.ULString, cisPopup C._Bool, cpopupRect C.ULIntRect) C.ULView { + if uLCreateChildViewCallbackEF6D2CDDFunc != nil { + userDataef6d2cdd := (unsafe.Pointer)(unsafe.Pointer(cuserData)) + calleref6d2cdd := *(*ULView)(unsafe.Pointer(&ccaller)) + openerUrlef6d2cdd := *(*ULString)(unsafe.Pointer(&copenerUrl)) + targetUrlef6d2cdd := *(*ULString)(unsafe.Pointer(&ctargetUrl)) + isPopupef6d2cdd := (bool)(cisPopup) + popupRectef6d2cdd := *NewULIntRectRef(unsafe.Pointer(&cpopupRect)) + retef6d2cdd := uLCreateChildViewCallbackEF6D2CDDFunc(userDataef6d2cdd, calleref6d2cdd, openerUrlef6d2cdd, targetUrlef6d2cdd, isPopupef6d2cdd, popupRectef6d2cdd) + ret, _ := *(*C.ULView)(unsafe.Pointer(&retef6d2cdd)), cgoAllocsUnknown + return ret + } + panic("callback func has not been set (race?)") +} + +var uLCreateChildViewCallbackEF6D2CDDFunc ULCreateChildViewCallback + func (x ULBeginLoadingCallback) PassRef() (ref *C.ULBeginLoadingCallback, allocs *cgoAllocMap) { if x == nil { return nil, nil @@ -403,11 +755,14 @@ func NewULBeginLoadingCallbackRef(ref unsafe.Pointer) *ULBeginLoadingCallback { } //export uLBeginLoadingCallback70D8C0AD -func uLBeginLoadingCallback70D8C0AD(cuser_data unsafe.Pointer, ccaller C.ULView) { +func uLBeginLoadingCallback70D8C0AD(cuserData unsafe.Pointer, ccaller C.ULView, cframeId C.ulonglong, cisMainFrame C._Bool, curl C.ULString) { if uLBeginLoadingCallback70D8C0ADFunc != nil { - user_data70d8c0ad := (unsafe.Pointer)(unsafe.Pointer(cuser_data)) + userData70d8c0ad := (unsafe.Pointer)(unsafe.Pointer(cuserData)) caller70d8c0ad := *(*ULView)(unsafe.Pointer(&ccaller)) - uLBeginLoadingCallback70D8C0ADFunc(user_data70d8c0ad, caller70d8c0ad) + frameId70d8c0ad := (uint64)(cframeId) + isMainFrame70d8c0ad := (bool)(cisMainFrame) + url70d8c0ad := *(*ULString)(unsafe.Pointer(&curl)) + uLBeginLoadingCallback70D8C0ADFunc(userData70d8c0ad, caller70d8c0ad, frameId70d8c0ad, isMainFrame70d8c0ad, url70d8c0ad) return } panic("callback func has not been set (race?)") @@ -440,11 +795,14 @@ func NewULFinishLoadingCallbackRef(ref unsafe.Pointer) *ULFinishLoadingCallback } //export uLFinishLoadingCallback1ED4ECAE -func uLFinishLoadingCallback1ED4ECAE(cuser_data unsafe.Pointer, ccaller C.ULView) { +func uLFinishLoadingCallback1ED4ECAE(cuserData unsafe.Pointer, ccaller C.ULView, cframeId C.ulonglong, cisMainFrame C._Bool, curl C.ULString) { if uLFinishLoadingCallback1ED4ECAEFunc != nil { - user_data1ed4ecae := (unsafe.Pointer)(unsafe.Pointer(cuser_data)) + userData1ed4ecae := (unsafe.Pointer)(unsafe.Pointer(cuserData)) caller1ed4ecae := *(*ULView)(unsafe.Pointer(&ccaller)) - uLFinishLoadingCallback1ED4ECAEFunc(user_data1ed4ecae, caller1ed4ecae) + frameId1ed4ecae := (uint64)(cframeId) + isMainFrame1ed4ecae := (bool)(cisMainFrame) + url1ed4ecae := *(*ULString)(unsafe.Pointer(&curl)) + uLFinishLoadingCallback1ED4ECAEFunc(userData1ed4ecae, caller1ed4ecae, frameId1ed4ecae, isMainFrame1ed4ecae, url1ed4ecae) return } panic("callback func has not been set (race?)") @@ -452,42 +810,88 @@ func uLFinishLoadingCallback1ED4ECAE(cuser_data unsafe.Pointer, ccaller C.ULView var uLFinishLoadingCallback1ED4ECAEFunc ULFinishLoadingCallback -func (x ULUpdateHistoryCallback) PassRef() (ref *C.ULUpdateHistoryCallback, allocs *cgoAllocMap) { +func (x ULFailLoadingCallback) PassRef() (ref *C.ULFailLoadingCallback, allocs *cgoAllocMap) { if x == nil { return nil, nil } - if uLUpdateHistoryCallback6E105364Func == nil { - uLUpdateHistoryCallback6E105364Func = x + if uLFailLoadingCallback55FF90B8Func == nil { + uLFailLoadingCallback55FF90B8Func = x } - return (*C.ULUpdateHistoryCallback)(C.ULUpdateHistoryCallback_6e105364), nil + return (*C.ULFailLoadingCallback)(C.ULFailLoadingCallback_55ff90b8), nil } -func (x ULUpdateHistoryCallback) PassValue() (ref C.ULUpdateHistoryCallback, allocs *cgoAllocMap) { +func (x ULFailLoadingCallback) PassValue() (ref C.ULFailLoadingCallback, allocs *cgoAllocMap) { if x == nil { return nil, nil } - if uLUpdateHistoryCallback6E105364Func == nil { - uLUpdateHistoryCallback6E105364Func = x + if uLFailLoadingCallback55FF90B8Func == nil { + uLFailLoadingCallback55FF90B8Func = x } - return (C.ULUpdateHistoryCallback)(C.ULUpdateHistoryCallback_6e105364), nil + return (C.ULFailLoadingCallback)(C.ULFailLoadingCallback_55ff90b8), nil } -func NewULUpdateHistoryCallbackRef(ref unsafe.Pointer) *ULUpdateHistoryCallback { - return (*ULUpdateHistoryCallback)(ref) +func NewULFailLoadingCallbackRef(ref unsafe.Pointer) *ULFailLoadingCallback { + return (*ULFailLoadingCallback)(ref) } -//export uLUpdateHistoryCallback6E105364 -func uLUpdateHistoryCallback6E105364(cuser_data unsafe.Pointer, ccaller C.ULView) { - if uLUpdateHistoryCallback6E105364Func != nil { - user_data6e105364 := (unsafe.Pointer)(unsafe.Pointer(cuser_data)) - caller6e105364 := *(*ULView)(unsafe.Pointer(&ccaller)) - uLUpdateHistoryCallback6E105364Func(user_data6e105364, caller6e105364) +//export uLFailLoadingCallback55FF90B8 +func uLFailLoadingCallback55FF90B8(cuserData unsafe.Pointer, ccaller C.ULView, cframeId C.ulonglong, cisMainFrame C._Bool, curl C.ULString, cdescription C.ULString, cerrorDomain C.ULString, cerrorCode C.int) { + if uLFailLoadingCallback55FF90B8Func != nil { + userData55ff90b8 := (unsafe.Pointer)(unsafe.Pointer(cuserData)) + caller55ff90b8 := *(*ULView)(unsafe.Pointer(&ccaller)) + frameId55ff90b8 := (uint64)(cframeId) + isMainFrame55ff90b8 := (bool)(cisMainFrame) + url55ff90b8 := *(*ULString)(unsafe.Pointer(&curl)) + description55ff90b8 := *(*ULString)(unsafe.Pointer(&cdescription)) + errorDomain55ff90b8 := *(*ULString)(unsafe.Pointer(&cerrorDomain)) + errorCode55ff90b8 := (int32)(cerrorCode) + uLFailLoadingCallback55FF90B8Func(userData55ff90b8, caller55ff90b8, frameId55ff90b8, isMainFrame55ff90b8, url55ff90b8, description55ff90b8, errorDomain55ff90b8, errorCode55ff90b8) return } panic("callback func has not been set (race?)") } -var uLUpdateHistoryCallback6E105364Func ULUpdateHistoryCallback +var uLFailLoadingCallback55FF90B8Func ULFailLoadingCallback + +func (x ULWindowObjectReadyCallback) PassRef() (ref *C.ULWindowObjectReadyCallback, allocs *cgoAllocMap) { + if x == nil { + return nil, nil + } + if uLWindowObjectReadyCallback66DC25F3Func == nil { + uLWindowObjectReadyCallback66DC25F3Func = x + } + return (*C.ULWindowObjectReadyCallback)(C.ULWindowObjectReadyCallback_66dc25f3), nil +} + +func (x ULWindowObjectReadyCallback) PassValue() (ref C.ULWindowObjectReadyCallback, allocs *cgoAllocMap) { + if x == nil { + return nil, nil + } + if uLWindowObjectReadyCallback66DC25F3Func == nil { + uLWindowObjectReadyCallback66DC25F3Func = x + } + return (C.ULWindowObjectReadyCallback)(C.ULWindowObjectReadyCallback_66dc25f3), nil +} + +func NewULWindowObjectReadyCallbackRef(ref unsafe.Pointer) *ULWindowObjectReadyCallback { + return (*ULWindowObjectReadyCallback)(ref) +} + +//export uLWindowObjectReadyCallback66DC25F3 +func uLWindowObjectReadyCallback66DC25F3(cuserData unsafe.Pointer, ccaller C.ULView, cframeId C.ulonglong, cisMainFrame C._Bool, curl C.ULString) { + if uLWindowObjectReadyCallback66DC25F3Func != nil { + userData66dc25f3 := (unsafe.Pointer)(unsafe.Pointer(cuserData)) + caller66dc25f3 := *(*ULView)(unsafe.Pointer(&ccaller)) + frameId66dc25f3 := (uint64)(cframeId) + isMainFrame66dc25f3 := (bool)(cisMainFrame) + url66dc25f3 := *(*ULString)(unsafe.Pointer(&curl)) + uLWindowObjectReadyCallback66DC25F3Func(userData66dc25f3, caller66dc25f3, frameId66dc25f3, isMainFrame66dc25f3, url66dc25f3) + return + } + panic("callback func has not been set (race?)") +} + +var uLWindowObjectReadyCallback66DC25F3Func ULWindowObjectReadyCallback func (x ULDOMReadyCallback) PassRef() (ref *C.ULDOMReadyCallback, allocs *cgoAllocMap) { if x == nil { @@ -514,11 +918,14 @@ func NewULDOMReadyCallbackRef(ref unsafe.Pointer) *ULDOMReadyCallback { } //export uLDOMReadyCallback6432C207 -func uLDOMReadyCallback6432C207(cuser_data unsafe.Pointer, ccaller C.ULView) { +func uLDOMReadyCallback6432C207(cuserData unsafe.Pointer, ccaller C.ULView, cframeId C.ulonglong, cisMainFrame C._Bool, curl C.ULString) { if uLDOMReadyCallback6432C207Func != nil { - user_data6432c207 := (unsafe.Pointer)(unsafe.Pointer(cuser_data)) + userData6432c207 := (unsafe.Pointer)(unsafe.Pointer(cuserData)) caller6432c207 := *(*ULView)(unsafe.Pointer(&ccaller)) - uLDOMReadyCallback6432C207Func(user_data6432c207, caller6432c207) + frameId6432c207 := (uint64)(cframeId) + isMainFrame6432c207 := (bool)(cisMainFrame) + url6432c207 := *(*ULString)(unsafe.Pointer(&curl)) + uLDOMReadyCallback6432C207Func(userData6432c207, caller6432c207, frameId6432c207, isMainFrame6432c207, url6432c207) return } panic("callback func has not been set (race?)") @@ -526,6 +933,2976 @@ func uLDOMReadyCallback6432C207(cuser_data unsafe.Pointer, ccaller C.ULView) { var uLDOMReadyCallback6432C207Func ULDOMReadyCallback +func (x ULUpdateHistoryCallback) PassRef() (ref *C.ULUpdateHistoryCallback, allocs *cgoAllocMap) { + if x == nil { + return nil, nil + } + if uLUpdateHistoryCallback6E105364Func == nil { + uLUpdateHistoryCallback6E105364Func = x + } + return (*C.ULUpdateHistoryCallback)(C.ULUpdateHistoryCallback_6e105364), nil +} + +func (x ULUpdateHistoryCallback) PassValue() (ref C.ULUpdateHistoryCallback, allocs *cgoAllocMap) { + if x == nil { + return nil, nil + } + if uLUpdateHistoryCallback6E105364Func == nil { + uLUpdateHistoryCallback6E105364Func = x + } + return (C.ULUpdateHistoryCallback)(C.ULUpdateHistoryCallback_6e105364), nil +} + +func NewULUpdateHistoryCallbackRef(ref unsafe.Pointer) *ULUpdateHistoryCallback { + return (*ULUpdateHistoryCallback)(ref) +} + +//export uLUpdateHistoryCallback6E105364 +func uLUpdateHistoryCallback6E105364(cuserData unsafe.Pointer, ccaller C.ULView) { + if uLUpdateHistoryCallback6E105364Func != nil { + userData6e105364 := (unsafe.Pointer)(unsafe.Pointer(cuserData)) + caller6e105364 := *(*ULView)(unsafe.Pointer(&ccaller)) + uLUpdateHistoryCallback6E105364Func(userData6e105364, caller6e105364) + return + } + panic("callback func has not been set (race?)") +} + +var uLUpdateHistoryCallback6E105364Func ULUpdateHistoryCallback + +func (x ULSurfaceDefinitionCreateCallback) PassRef() (ref *C.ULSurfaceDefinitionCreateCallback, allocs *cgoAllocMap) { + if x == nil { + return nil, nil + } + if uLSurfaceDefinitionCreateCallback573EC115Func == nil { + uLSurfaceDefinitionCreateCallback573EC115Func = x + } + return (*C.ULSurfaceDefinitionCreateCallback)(C.ULSurfaceDefinitionCreateCallback_573ec115), nil +} + +func (x ULSurfaceDefinitionCreateCallback) PassValue() (ref C.ULSurfaceDefinitionCreateCallback, allocs *cgoAllocMap) { + if x == nil { + return nil, nil + } + if uLSurfaceDefinitionCreateCallback573EC115Func == nil { + uLSurfaceDefinitionCreateCallback573EC115Func = x + } + return (C.ULSurfaceDefinitionCreateCallback)(C.ULSurfaceDefinitionCreateCallback_573ec115), nil +} + +func NewULSurfaceDefinitionCreateCallbackRef(ref unsafe.Pointer) *ULSurfaceDefinitionCreateCallback { + return (*ULSurfaceDefinitionCreateCallback)(ref) +} + +//export uLSurfaceDefinitionCreateCallback573EC115 +func uLSurfaceDefinitionCreateCallback573EC115(cwidth C.uint, cheight C.uint) unsafe.Pointer { + if uLSurfaceDefinitionCreateCallback573EC115Func != nil { + width573ec115 := (uint32)(cwidth) + height573ec115 := (uint32)(cheight) + ret573ec115 := uLSurfaceDefinitionCreateCallback573EC115Func(width573ec115, height573ec115) + ret, _ := ret573ec115, cgoAllocsUnknown + return ret + } + panic("callback func has not been set (race?)") +} + +var uLSurfaceDefinitionCreateCallback573EC115Func ULSurfaceDefinitionCreateCallback + +func (x ULSurfaceDefinitionDestroyCallback) PassRef() (ref *C.ULSurfaceDefinitionDestroyCallback, allocs *cgoAllocMap) { + if x == nil { + return nil, nil + } + if uLSurfaceDefinitionDestroyCallback851BACEEFunc == nil { + uLSurfaceDefinitionDestroyCallback851BACEEFunc = x + } + return (*C.ULSurfaceDefinitionDestroyCallback)(C.ULSurfaceDefinitionDestroyCallback_851bacee), nil +} + +func (x ULSurfaceDefinitionDestroyCallback) PassValue() (ref C.ULSurfaceDefinitionDestroyCallback, allocs *cgoAllocMap) { + if x == nil { + return nil, nil + } + if uLSurfaceDefinitionDestroyCallback851BACEEFunc == nil { + uLSurfaceDefinitionDestroyCallback851BACEEFunc = x + } + return (C.ULSurfaceDefinitionDestroyCallback)(C.ULSurfaceDefinitionDestroyCallback_851bacee), nil +} + +func NewULSurfaceDefinitionDestroyCallbackRef(ref unsafe.Pointer) *ULSurfaceDefinitionDestroyCallback { + return (*ULSurfaceDefinitionDestroyCallback)(ref) +} + +//export uLSurfaceDefinitionDestroyCallback851BACEE +func uLSurfaceDefinitionDestroyCallback851BACEE(cuserData unsafe.Pointer) { + if uLSurfaceDefinitionDestroyCallback851BACEEFunc != nil { + userData851bacee := (unsafe.Pointer)(unsafe.Pointer(cuserData)) + uLSurfaceDefinitionDestroyCallback851BACEEFunc(userData851bacee) + return + } + panic("callback func has not been set (race?)") +} + +var uLSurfaceDefinitionDestroyCallback851BACEEFunc ULSurfaceDefinitionDestroyCallback + +func (x ULSurfaceDefinitionGetWidthCallback) PassRef() (ref *C.ULSurfaceDefinitionGetWidthCallback, allocs *cgoAllocMap) { + if x == nil { + return nil, nil + } + if uLSurfaceDefinitionGetWidthCallback1A49A8FDFunc == nil { + uLSurfaceDefinitionGetWidthCallback1A49A8FDFunc = x + } + return (*C.ULSurfaceDefinitionGetWidthCallback)(C.ULSurfaceDefinitionGetWidthCallback_1a49a8fd), nil +} + +func (x ULSurfaceDefinitionGetWidthCallback) PassValue() (ref C.ULSurfaceDefinitionGetWidthCallback, allocs *cgoAllocMap) { + if x == nil { + return nil, nil + } + if uLSurfaceDefinitionGetWidthCallback1A49A8FDFunc == nil { + uLSurfaceDefinitionGetWidthCallback1A49A8FDFunc = x + } + return (C.ULSurfaceDefinitionGetWidthCallback)(C.ULSurfaceDefinitionGetWidthCallback_1a49a8fd), nil +} + +func NewULSurfaceDefinitionGetWidthCallbackRef(ref unsafe.Pointer) *ULSurfaceDefinitionGetWidthCallback { + return (*ULSurfaceDefinitionGetWidthCallback)(ref) +} + +//export uLSurfaceDefinitionGetWidthCallback1A49A8FD +func uLSurfaceDefinitionGetWidthCallback1A49A8FD(cuserData unsafe.Pointer) C.uint { + if uLSurfaceDefinitionGetWidthCallback1A49A8FDFunc != nil { + userData1a49a8fd := (unsafe.Pointer)(unsafe.Pointer(cuserData)) + ret1a49a8fd := uLSurfaceDefinitionGetWidthCallback1A49A8FDFunc(userData1a49a8fd) + ret, _ := (C.uint)(ret1a49a8fd), cgoAllocsUnknown + return ret + } + panic("callback func has not been set (race?)") +} + +var uLSurfaceDefinitionGetWidthCallback1A49A8FDFunc ULSurfaceDefinitionGetWidthCallback + +func (x ULSurfaceDefinitionGetHeightCallback) PassRef() (ref *C.ULSurfaceDefinitionGetHeightCallback, allocs *cgoAllocMap) { + if x == nil { + return nil, nil + } + if uLSurfaceDefinitionGetHeightCallback3E5FE408Func == nil { + uLSurfaceDefinitionGetHeightCallback3E5FE408Func = x + } + return (*C.ULSurfaceDefinitionGetHeightCallback)(C.ULSurfaceDefinitionGetHeightCallback_3e5fe408), nil +} + +func (x ULSurfaceDefinitionGetHeightCallback) PassValue() (ref C.ULSurfaceDefinitionGetHeightCallback, allocs *cgoAllocMap) { + if x == nil { + return nil, nil + } + if uLSurfaceDefinitionGetHeightCallback3E5FE408Func == nil { + uLSurfaceDefinitionGetHeightCallback3E5FE408Func = x + } + return (C.ULSurfaceDefinitionGetHeightCallback)(C.ULSurfaceDefinitionGetHeightCallback_3e5fe408), nil +} + +func NewULSurfaceDefinitionGetHeightCallbackRef(ref unsafe.Pointer) *ULSurfaceDefinitionGetHeightCallback { + return (*ULSurfaceDefinitionGetHeightCallback)(ref) +} + +//export uLSurfaceDefinitionGetHeightCallback3E5FE408 +func uLSurfaceDefinitionGetHeightCallback3E5FE408(cuserData unsafe.Pointer) C.uint { + if uLSurfaceDefinitionGetHeightCallback3E5FE408Func != nil { + userData3e5fe408 := (unsafe.Pointer)(unsafe.Pointer(cuserData)) + ret3e5fe408 := uLSurfaceDefinitionGetHeightCallback3E5FE408Func(userData3e5fe408) + ret, _ := (C.uint)(ret3e5fe408), cgoAllocsUnknown + return ret + } + panic("callback func has not been set (race?)") +} + +var uLSurfaceDefinitionGetHeightCallback3E5FE408Func ULSurfaceDefinitionGetHeightCallback + +func (x ULSurfaceDefinitionGetRowBytesCallback) PassRef() (ref *C.ULSurfaceDefinitionGetRowBytesCallback, allocs *cgoAllocMap) { + if x == nil { + return nil, nil + } + if uLSurfaceDefinitionGetRowBytesCallbackADCC8668Func == nil { + uLSurfaceDefinitionGetRowBytesCallbackADCC8668Func = x + } + return (*C.ULSurfaceDefinitionGetRowBytesCallback)(C.ULSurfaceDefinitionGetRowBytesCallback_adcc8668), nil +} + +func (x ULSurfaceDefinitionGetRowBytesCallback) PassValue() (ref C.ULSurfaceDefinitionGetRowBytesCallback, allocs *cgoAllocMap) { + if x == nil { + return nil, nil + } + if uLSurfaceDefinitionGetRowBytesCallbackADCC8668Func == nil { + uLSurfaceDefinitionGetRowBytesCallbackADCC8668Func = x + } + return (C.ULSurfaceDefinitionGetRowBytesCallback)(C.ULSurfaceDefinitionGetRowBytesCallback_adcc8668), nil +} + +func NewULSurfaceDefinitionGetRowBytesCallbackRef(ref unsafe.Pointer) *ULSurfaceDefinitionGetRowBytesCallback { + return (*ULSurfaceDefinitionGetRowBytesCallback)(ref) +} + +//export uLSurfaceDefinitionGetRowBytesCallbackADCC8668 +func uLSurfaceDefinitionGetRowBytesCallbackADCC8668(cuserData unsafe.Pointer) C.uint { + if uLSurfaceDefinitionGetRowBytesCallbackADCC8668Func != nil { + userDataadcc8668 := (unsafe.Pointer)(unsafe.Pointer(cuserData)) + retadcc8668 := uLSurfaceDefinitionGetRowBytesCallbackADCC8668Func(userDataadcc8668) + ret, _ := (C.uint)(retadcc8668), cgoAllocsUnknown + return ret + } + panic("callback func has not been set (race?)") +} + +var uLSurfaceDefinitionGetRowBytesCallbackADCC8668Func ULSurfaceDefinitionGetRowBytesCallback + +func (x ULSurfaceDefinitionGetSizeCallback) PassRef() (ref *C.ULSurfaceDefinitionGetSizeCallback, allocs *cgoAllocMap) { + if x == nil { + return nil, nil + } + if uLSurfaceDefinitionGetSizeCallback83184AFEFunc == nil { + uLSurfaceDefinitionGetSizeCallback83184AFEFunc = x + } + return (*C.ULSurfaceDefinitionGetSizeCallback)(C.ULSurfaceDefinitionGetSizeCallback_83184afe), nil +} + +func (x ULSurfaceDefinitionGetSizeCallback) PassValue() (ref C.ULSurfaceDefinitionGetSizeCallback, allocs *cgoAllocMap) { + if x == nil { + return nil, nil + } + if uLSurfaceDefinitionGetSizeCallback83184AFEFunc == nil { + uLSurfaceDefinitionGetSizeCallback83184AFEFunc = x + } + return (C.ULSurfaceDefinitionGetSizeCallback)(C.ULSurfaceDefinitionGetSizeCallback_83184afe), nil +} + +func NewULSurfaceDefinitionGetSizeCallbackRef(ref unsafe.Pointer) *ULSurfaceDefinitionGetSizeCallback { + return (*ULSurfaceDefinitionGetSizeCallback)(ref) +} + +//export uLSurfaceDefinitionGetSizeCallback83184AFE +func uLSurfaceDefinitionGetSizeCallback83184AFE(cuserData unsafe.Pointer) C.size_t { + if uLSurfaceDefinitionGetSizeCallback83184AFEFunc != nil { + userData83184afe := (unsafe.Pointer)(unsafe.Pointer(cuserData)) + ret83184afe := uLSurfaceDefinitionGetSizeCallback83184AFEFunc(userData83184afe) + ret, _ := (C.size_t)(ret83184afe), cgoAllocsUnknown + return ret + } + panic("callback func has not been set (race?)") +} + +var uLSurfaceDefinitionGetSizeCallback83184AFEFunc ULSurfaceDefinitionGetSizeCallback + +func (x ULSurfaceDefinitionLockPixelsCallback) PassRef() (ref *C.ULSurfaceDefinitionLockPixelsCallback, allocs *cgoAllocMap) { + if x == nil { + return nil, nil + } + if uLSurfaceDefinitionLockPixelsCallback7763E12FFunc == nil { + uLSurfaceDefinitionLockPixelsCallback7763E12FFunc = x + } + return (*C.ULSurfaceDefinitionLockPixelsCallback)(C.ULSurfaceDefinitionLockPixelsCallback_7763e12f), nil +} + +func (x ULSurfaceDefinitionLockPixelsCallback) PassValue() (ref C.ULSurfaceDefinitionLockPixelsCallback, allocs *cgoAllocMap) { + if x == nil { + return nil, nil + } + if uLSurfaceDefinitionLockPixelsCallback7763E12FFunc == nil { + uLSurfaceDefinitionLockPixelsCallback7763E12FFunc = x + } + return (C.ULSurfaceDefinitionLockPixelsCallback)(C.ULSurfaceDefinitionLockPixelsCallback_7763e12f), nil +} + +func NewULSurfaceDefinitionLockPixelsCallbackRef(ref unsafe.Pointer) *ULSurfaceDefinitionLockPixelsCallback { + return (*ULSurfaceDefinitionLockPixelsCallback)(ref) +} + +//export uLSurfaceDefinitionLockPixelsCallback7763E12F +func uLSurfaceDefinitionLockPixelsCallback7763E12F(cuserData unsafe.Pointer) unsafe.Pointer { + if uLSurfaceDefinitionLockPixelsCallback7763E12FFunc != nil { + userData7763e12f := (unsafe.Pointer)(unsafe.Pointer(cuserData)) + ret7763e12f := uLSurfaceDefinitionLockPixelsCallback7763E12FFunc(userData7763e12f) + ret, _ := ret7763e12f, cgoAllocsUnknown + return ret + } + panic("callback func has not been set (race?)") +} + +var uLSurfaceDefinitionLockPixelsCallback7763E12FFunc ULSurfaceDefinitionLockPixelsCallback + +func (x ULSurfaceDefinitionUnlockPixelsCallback) PassRef() (ref *C.ULSurfaceDefinitionUnlockPixelsCallback, allocs *cgoAllocMap) { + if x == nil { + return nil, nil + } + if uLSurfaceDefinitionUnlockPixelsCallbackD4B69F9Func == nil { + uLSurfaceDefinitionUnlockPixelsCallbackD4B69F9Func = x + } + return (*C.ULSurfaceDefinitionUnlockPixelsCallback)(C.ULSurfaceDefinitionUnlockPixelsCallback_d4b69f9), nil +} + +func (x ULSurfaceDefinitionUnlockPixelsCallback) PassValue() (ref C.ULSurfaceDefinitionUnlockPixelsCallback, allocs *cgoAllocMap) { + if x == nil { + return nil, nil + } + if uLSurfaceDefinitionUnlockPixelsCallbackD4B69F9Func == nil { + uLSurfaceDefinitionUnlockPixelsCallbackD4B69F9Func = x + } + return (C.ULSurfaceDefinitionUnlockPixelsCallback)(C.ULSurfaceDefinitionUnlockPixelsCallback_d4b69f9), nil +} + +func NewULSurfaceDefinitionUnlockPixelsCallbackRef(ref unsafe.Pointer) *ULSurfaceDefinitionUnlockPixelsCallback { + return (*ULSurfaceDefinitionUnlockPixelsCallback)(ref) +} + +//export uLSurfaceDefinitionUnlockPixelsCallbackD4B69F9 +func uLSurfaceDefinitionUnlockPixelsCallbackD4B69F9(cuserData unsafe.Pointer) { + if uLSurfaceDefinitionUnlockPixelsCallbackD4B69F9Func != nil { + userDatad4b69f9 := (unsafe.Pointer)(unsafe.Pointer(cuserData)) + uLSurfaceDefinitionUnlockPixelsCallbackD4B69F9Func(userDatad4b69f9) + return + } + panic("callback func has not been set (race?)") +} + +var uLSurfaceDefinitionUnlockPixelsCallbackD4B69F9Func ULSurfaceDefinitionUnlockPixelsCallback + +func (x ULSurfaceDefinitionResizeCallback) PassRef() (ref *C.ULSurfaceDefinitionResizeCallback, allocs *cgoAllocMap) { + if x == nil { + return nil, nil + } + if uLSurfaceDefinitionResizeCallback22D82567Func == nil { + uLSurfaceDefinitionResizeCallback22D82567Func = x + } + return (*C.ULSurfaceDefinitionResizeCallback)(C.ULSurfaceDefinitionResizeCallback_22d82567), nil +} + +func (x ULSurfaceDefinitionResizeCallback) PassValue() (ref C.ULSurfaceDefinitionResizeCallback, allocs *cgoAllocMap) { + if x == nil { + return nil, nil + } + if uLSurfaceDefinitionResizeCallback22D82567Func == nil { + uLSurfaceDefinitionResizeCallback22D82567Func = x + } + return (C.ULSurfaceDefinitionResizeCallback)(C.ULSurfaceDefinitionResizeCallback_22d82567), nil +} + +func NewULSurfaceDefinitionResizeCallbackRef(ref unsafe.Pointer) *ULSurfaceDefinitionResizeCallback { + return (*ULSurfaceDefinitionResizeCallback)(ref) +} + +//export uLSurfaceDefinitionResizeCallback22D82567 +func uLSurfaceDefinitionResizeCallback22D82567(cuserData unsafe.Pointer, cwidth C.uint, cheight C.uint) { + if uLSurfaceDefinitionResizeCallback22D82567Func != nil { + userData22d82567 := (unsafe.Pointer)(unsafe.Pointer(cuserData)) + width22d82567 := (uint32)(cwidth) + height22d82567 := (uint32)(cheight) + uLSurfaceDefinitionResizeCallback22D82567Func(userData22d82567, width22d82567, height22d82567) + return + } + panic("callback func has not been set (race?)") +} + +var uLSurfaceDefinitionResizeCallback22D82567Func ULSurfaceDefinitionResizeCallback + +// allocULSurfaceDefinitionMemory allocates memory for type C.ULSurfaceDefinition in C. +// The caller is responsible for freeing the this memory via C.free. +func allocULSurfaceDefinitionMemory(n int) unsafe.Pointer { + mem, err := C.calloc(C.size_t(n), (C.size_t)(sizeOfULSurfaceDefinitionValue)) + if mem == nil { + panic(fmt.Sprintln("memory alloc error: ", err)) + } + return mem +} + +const sizeOfULSurfaceDefinitionValue = unsafe.Sizeof([1]C.ULSurfaceDefinition{}) + +// Ref returns the underlying reference to C object or nil if struct is nil. +func (x *ULSurfaceDefinition) Ref() *C.ULSurfaceDefinition { + if x == nil { + return nil + } + return x.ref13063f1a +} + +// Free invokes alloc map's free mechanism that cleanups any allocated memory using C free. +// Does nothing if struct is nil or has no allocation map. +func (x *ULSurfaceDefinition) Free() { + if x != nil && x.allocs13063f1a != nil { + x.allocs13063f1a.(*cgoAllocMap).Free() + x.ref13063f1a = nil + } +} + +// NewULSurfaceDefinitionRef creates a new wrapper struct with underlying reference set to the original C object. +// Returns nil if the provided pointer to C object is nil too. +func NewULSurfaceDefinitionRef(ref unsafe.Pointer) *ULSurfaceDefinition { + if ref == nil { + return nil + } + obj := new(ULSurfaceDefinition) + obj.ref13063f1a = (*C.ULSurfaceDefinition)(unsafe.Pointer(ref)) + return obj +} + +// PassRef returns the underlying C object, otherwise it will allocate one and set its values +// from this wrapping struct, counting allocations into an allocation map. +func (x *ULSurfaceDefinition) PassRef() (*C.ULSurfaceDefinition, *cgoAllocMap) { + if x == nil { + return nil, nil + } else if x.ref13063f1a != nil { + return x.ref13063f1a, nil + } + mem13063f1a := allocULSurfaceDefinitionMemory(1) + ref13063f1a := (*C.ULSurfaceDefinition)(mem13063f1a) + allocs13063f1a := new(cgoAllocMap) + allocs13063f1a.Add(mem13063f1a) + + var ccreate_allocs *cgoAllocMap + ref13063f1a.create, ccreate_allocs = x.Create.PassValue() + allocs13063f1a.Borrow(ccreate_allocs) + + var cdestroy_allocs *cgoAllocMap + ref13063f1a.destroy, cdestroy_allocs = x.Destroy.PassValue() + allocs13063f1a.Borrow(cdestroy_allocs) + + var cget_width_allocs *cgoAllocMap + ref13063f1a.get_width, cget_width_allocs = x.GetWidth.PassValue() + allocs13063f1a.Borrow(cget_width_allocs) + + var cget_height_allocs *cgoAllocMap + ref13063f1a.get_height, cget_height_allocs = x.GetHeight.PassValue() + allocs13063f1a.Borrow(cget_height_allocs) + + var cget_row_bytes_allocs *cgoAllocMap + ref13063f1a.get_row_bytes, cget_row_bytes_allocs = x.GetRowBytes.PassValue() + allocs13063f1a.Borrow(cget_row_bytes_allocs) + + var cget_size_allocs *cgoAllocMap + ref13063f1a.get_size, cget_size_allocs = x.GetSize.PassValue() + allocs13063f1a.Borrow(cget_size_allocs) + + var clock_pixels_allocs *cgoAllocMap + ref13063f1a.lock_pixels, clock_pixels_allocs = x.LockPixels.PassValue() + allocs13063f1a.Borrow(clock_pixels_allocs) + + var cunlock_pixels_allocs *cgoAllocMap + ref13063f1a.unlock_pixels, cunlock_pixels_allocs = x.UnlockPixels.PassValue() + allocs13063f1a.Borrow(cunlock_pixels_allocs) + + var cresize_allocs *cgoAllocMap + ref13063f1a.resize, cresize_allocs = x.Resize.PassValue() + allocs13063f1a.Borrow(cresize_allocs) + + x.ref13063f1a = ref13063f1a + x.allocs13063f1a = allocs13063f1a + return ref13063f1a, allocs13063f1a + +} + +// PassValue does the same as PassRef except that it will try to dereference the returned pointer. +func (x ULSurfaceDefinition) PassValue() (C.ULSurfaceDefinition, *cgoAllocMap) { + if x.ref13063f1a != nil { + return *x.ref13063f1a, nil + } + ref, allocs := x.PassRef() + return *ref, allocs +} + +// Deref uses the underlying reference to C object and fills the wrapping struct with values. +// Do not forget to call this method whether you get a struct for C object and want to read its values. +func (x *ULSurfaceDefinition) Deref() { + if x.ref13063f1a == nil { + return + } + x.Create = *NewULSurfaceDefinitionCreateCallbackRef(unsafe.Pointer(&x.ref13063f1a.create)) + x.Destroy = *NewULSurfaceDefinitionDestroyCallbackRef(unsafe.Pointer(&x.ref13063f1a.destroy)) + x.GetWidth = *NewULSurfaceDefinitionGetWidthCallbackRef(unsafe.Pointer(&x.ref13063f1a.get_width)) + x.GetHeight = *NewULSurfaceDefinitionGetHeightCallbackRef(unsafe.Pointer(&x.ref13063f1a.get_height)) + x.GetRowBytes = *NewULSurfaceDefinitionGetRowBytesCallbackRef(unsafe.Pointer(&x.ref13063f1a.get_row_bytes)) + x.GetSize = *NewULSurfaceDefinitionGetSizeCallbackRef(unsafe.Pointer(&x.ref13063f1a.get_size)) + x.LockPixels = *NewULSurfaceDefinitionLockPixelsCallbackRef(unsafe.Pointer(&x.ref13063f1a.lock_pixels)) + x.UnlockPixels = *NewULSurfaceDefinitionUnlockPixelsCallbackRef(unsafe.Pointer(&x.ref13063f1a.unlock_pixels)) + x.Resize = *NewULSurfaceDefinitionResizeCallbackRef(unsafe.Pointer(&x.ref13063f1a.resize)) +} + +func (x ULFileSystemFileExistsCallback) PassRef() (ref *C.ULFileSystemFileExistsCallback, allocs *cgoAllocMap) { + if x == nil { + return nil, nil + } + if uLFileSystemFileExistsCallbackD03BF100Func == nil { + uLFileSystemFileExistsCallbackD03BF100Func = x + } + return (*C.ULFileSystemFileExistsCallback)(C.ULFileSystemFileExistsCallback_d03bf100), nil +} + +func (x ULFileSystemFileExistsCallback) PassValue() (ref C.ULFileSystemFileExistsCallback, allocs *cgoAllocMap) { + if x == nil { + return nil, nil + } + if uLFileSystemFileExistsCallbackD03BF100Func == nil { + uLFileSystemFileExistsCallbackD03BF100Func = x + } + return (C.ULFileSystemFileExistsCallback)(C.ULFileSystemFileExistsCallback_d03bf100), nil +} + +func NewULFileSystemFileExistsCallbackRef(ref unsafe.Pointer) *ULFileSystemFileExistsCallback { + return (*ULFileSystemFileExistsCallback)(ref) +} + +//export uLFileSystemFileExistsCallbackD03BF100 +func uLFileSystemFileExistsCallbackD03BF100(cpath C.ULString) C._Bool { + if uLFileSystemFileExistsCallbackD03BF100Func != nil { + pathd03bf100 := *(*ULString)(unsafe.Pointer(&cpath)) + retd03bf100 := uLFileSystemFileExistsCallbackD03BF100Func(pathd03bf100) + ret, _ := (C._Bool)(retd03bf100), cgoAllocsUnknown + return ret + } + panic("callback func has not been set (race?)") +} + +var uLFileSystemFileExistsCallbackD03BF100Func ULFileSystemFileExistsCallback + +type sliceHeader struct { + Data unsafe.Pointer + Len int + Cap int +} + +func (x ULFileSystemGetFileSizeCallback) PassRef() (ref *C.ULFileSystemGetFileSizeCallback, allocs *cgoAllocMap) { + if x == nil { + return nil, nil + } + if uLFileSystemGetFileSizeCallbackE87AD8B1Func == nil { + uLFileSystemGetFileSizeCallbackE87AD8B1Func = x + } + return (*C.ULFileSystemGetFileSizeCallback)(C.ULFileSystemGetFileSizeCallback_e87ad8b1), nil +} + +func (x ULFileSystemGetFileSizeCallback) PassValue() (ref C.ULFileSystemGetFileSizeCallback, allocs *cgoAllocMap) { + if x == nil { + return nil, nil + } + if uLFileSystemGetFileSizeCallbackE87AD8B1Func == nil { + uLFileSystemGetFileSizeCallbackE87AD8B1Func = x + } + return (C.ULFileSystemGetFileSizeCallback)(C.ULFileSystemGetFileSizeCallback_e87ad8b1), nil +} + +func NewULFileSystemGetFileSizeCallbackRef(ref unsafe.Pointer) *ULFileSystemGetFileSizeCallback { + return (*ULFileSystemGetFileSizeCallback)(ref) +} + +//export uLFileSystemGetFileSizeCallbackE87AD8B1 +func uLFileSystemGetFileSizeCallbackE87AD8B1(chandle C.ULFileHandle, cresult *C.longlong) C._Bool { + if uLFileSystemGetFileSizeCallbackE87AD8B1Func != nil { + handlee87ad8b1 := (ULFileHandle)(chandle) + var resulte87ad8b1 []int64 + hxfc4425b := (*sliceHeader)(unsafe.Pointer(&resulte87ad8b1)) + hxfc4425b.Data = unsafe.Pointer(cresult) + hxfc4425b.Cap = 0x7fffffff + // hxfc4425b.Len = ? + + rete87ad8b1 := uLFileSystemGetFileSizeCallbackE87AD8B1Func(handlee87ad8b1, resulte87ad8b1) + ret, _ := (C._Bool)(rete87ad8b1), cgoAllocsUnknown + return ret + } + panic("callback func has not been set (race?)") +} + +var uLFileSystemGetFileSizeCallbackE87AD8B1Func ULFileSystemGetFileSizeCallback + +func (x ULFileSystemGetFileMimeTypeCallback) PassRef() (ref *C.ULFileSystemGetFileMimeTypeCallback, allocs *cgoAllocMap) { + if x == nil { + return nil, nil + } + if uLFileSystemGetFileMimeTypeCallback7E6FD322Func == nil { + uLFileSystemGetFileMimeTypeCallback7E6FD322Func = x + } + return (*C.ULFileSystemGetFileMimeTypeCallback)(C.ULFileSystemGetFileMimeTypeCallback_7e6fd322), nil +} + +func (x ULFileSystemGetFileMimeTypeCallback) PassValue() (ref C.ULFileSystemGetFileMimeTypeCallback, allocs *cgoAllocMap) { + if x == nil { + return nil, nil + } + if uLFileSystemGetFileMimeTypeCallback7E6FD322Func == nil { + uLFileSystemGetFileMimeTypeCallback7E6FD322Func = x + } + return (C.ULFileSystemGetFileMimeTypeCallback)(C.ULFileSystemGetFileMimeTypeCallback_7e6fd322), nil +} + +func NewULFileSystemGetFileMimeTypeCallbackRef(ref unsafe.Pointer) *ULFileSystemGetFileMimeTypeCallback { + return (*ULFileSystemGetFileMimeTypeCallback)(ref) +} + +//export uLFileSystemGetFileMimeTypeCallback7E6FD322 +func uLFileSystemGetFileMimeTypeCallback7E6FD322(cpath C.ULString, cresult C.ULString) C._Bool { + if uLFileSystemGetFileMimeTypeCallback7E6FD322Func != nil { + path7e6fd322 := *(*ULString)(unsafe.Pointer(&cpath)) + result7e6fd322 := *(*ULString)(unsafe.Pointer(&cresult)) + ret7e6fd322 := uLFileSystemGetFileMimeTypeCallback7E6FD322Func(path7e6fd322, result7e6fd322) + ret, _ := (C._Bool)(ret7e6fd322), cgoAllocsUnknown + return ret + } + panic("callback func has not been set (race?)") +} + +var uLFileSystemGetFileMimeTypeCallback7E6FD322Func ULFileSystemGetFileMimeTypeCallback + +func (x ULFileSystemOpenFileCallback) PassRef() (ref *C.ULFileSystemOpenFileCallback, allocs *cgoAllocMap) { + if x == nil { + return nil, nil + } + if uLFileSystemOpenFileCallbackBBB19604Func == nil { + uLFileSystemOpenFileCallbackBBB19604Func = x + } + return (*C.ULFileSystemOpenFileCallback)(C.ULFileSystemOpenFileCallback_bbb19604), nil +} + +func (x ULFileSystemOpenFileCallback) PassValue() (ref C.ULFileSystemOpenFileCallback, allocs *cgoAllocMap) { + if x == nil { + return nil, nil + } + if uLFileSystemOpenFileCallbackBBB19604Func == nil { + uLFileSystemOpenFileCallbackBBB19604Func = x + } + return (C.ULFileSystemOpenFileCallback)(C.ULFileSystemOpenFileCallback_bbb19604), nil +} + +func NewULFileSystemOpenFileCallbackRef(ref unsafe.Pointer) *ULFileSystemOpenFileCallback { + return (*ULFileSystemOpenFileCallback)(ref) +} + +//export uLFileSystemOpenFileCallbackBBB19604 +func uLFileSystemOpenFileCallbackBBB19604(cpath C.ULString, copenForWriting C._Bool) C.ULFileHandle { + if uLFileSystemOpenFileCallbackBBB19604Func != nil { + pathbbb19604 := *(*ULString)(unsafe.Pointer(&cpath)) + openForWritingbbb19604 := (bool)(copenForWriting) + retbbb19604 := uLFileSystemOpenFileCallbackBBB19604Func(pathbbb19604, openForWritingbbb19604) + ret, _ := (C.ULFileHandle)(retbbb19604), cgoAllocsUnknown + return ret + } + panic("callback func has not been set (race?)") +} + +var uLFileSystemOpenFileCallbackBBB19604Func ULFileSystemOpenFileCallback + +func (x ULFileSystemCloseFileCallback) PassRef() (ref *C.ULFileSystemCloseFileCallback, allocs *cgoAllocMap) { + if x == nil { + return nil, nil + } + if uLFileSystemCloseFileCallbackC90AC2E5Func == nil { + uLFileSystemCloseFileCallbackC90AC2E5Func = x + } + return (*C.ULFileSystemCloseFileCallback)(C.ULFileSystemCloseFileCallback_c90ac2e5), nil +} + +func (x ULFileSystemCloseFileCallback) PassValue() (ref C.ULFileSystemCloseFileCallback, allocs *cgoAllocMap) { + if x == nil { + return nil, nil + } + if uLFileSystemCloseFileCallbackC90AC2E5Func == nil { + uLFileSystemCloseFileCallbackC90AC2E5Func = x + } + return (C.ULFileSystemCloseFileCallback)(C.ULFileSystemCloseFileCallback_c90ac2e5), nil +} + +func NewULFileSystemCloseFileCallbackRef(ref unsafe.Pointer) *ULFileSystemCloseFileCallback { + return (*ULFileSystemCloseFileCallback)(ref) +} + +//export uLFileSystemCloseFileCallbackC90AC2E5 +func uLFileSystemCloseFileCallbackC90AC2E5(chandle C.ULFileHandle) { + if uLFileSystemCloseFileCallbackC90AC2E5Func != nil { + handlec90ac2e5 := (ULFileHandle)(chandle) + uLFileSystemCloseFileCallbackC90AC2E5Func(handlec90ac2e5) + return + } + panic("callback func has not been set (race?)") +} + +var uLFileSystemCloseFileCallbackC90AC2E5Func ULFileSystemCloseFileCallback + +func (x ULFileSystemReadFromFileCallback) PassRef() (ref *C.ULFileSystemReadFromFileCallback, allocs *cgoAllocMap) { + if x == nil { + return nil, nil + } + if uLFileSystemReadFromFileCallbackBC1997BCFunc == nil { + uLFileSystemReadFromFileCallbackBC1997BCFunc = x + } + return (*C.ULFileSystemReadFromFileCallback)(C.ULFileSystemReadFromFileCallback_bc1997bc), nil +} + +func (x ULFileSystemReadFromFileCallback) PassValue() (ref C.ULFileSystemReadFromFileCallback, allocs *cgoAllocMap) { + if x == nil { + return nil, nil + } + if uLFileSystemReadFromFileCallbackBC1997BCFunc == nil { + uLFileSystemReadFromFileCallbackBC1997BCFunc = x + } + return (C.ULFileSystemReadFromFileCallback)(C.ULFileSystemReadFromFileCallback_bc1997bc), nil +} + +func NewULFileSystemReadFromFileCallbackRef(ref unsafe.Pointer) *ULFileSystemReadFromFileCallback { + return (*ULFileSystemReadFromFileCallback)(ref) +} + +//export uLFileSystemReadFromFileCallbackBC1997BC +func uLFileSystemReadFromFileCallbackBC1997BC(chandle C.ULFileHandle, cdata *C.char, clength C.longlong) C.longlong { + if uLFileSystemReadFromFileCallbackBC1997BCFunc != nil { + handlebc1997bc := (ULFileHandle)(chandle) + var databc1997bc []byte + hxf95e7c8 := (*sliceHeader)(unsafe.Pointer(&databc1997bc)) + hxf95e7c8.Data = unsafe.Pointer(cdata) + hxf95e7c8.Cap = 0x7fffffff + // hxf95e7c8.Len = ? + + lengthbc1997bc := (int64)(clength) + retbc1997bc := uLFileSystemReadFromFileCallbackBC1997BCFunc(handlebc1997bc, databc1997bc, lengthbc1997bc) + ret, _ := (C.longlong)(retbc1997bc), cgoAllocsUnknown + return ret + } + panic("callback func has not been set (race?)") +} + +var uLFileSystemReadFromFileCallbackBC1997BCFunc ULFileSystemReadFromFileCallback + +// allocULFileSystemMemory allocates memory for type C.ULFileSystem in C. +// The caller is responsible for freeing the this memory via C.free. +func allocULFileSystemMemory(n int) unsafe.Pointer { + mem, err := C.calloc(C.size_t(n), (C.size_t)(sizeOfULFileSystemValue)) + if mem == nil { + panic(fmt.Sprintln("memory alloc error: ", err)) + } + return mem +} + +const sizeOfULFileSystemValue = unsafe.Sizeof([1]C.ULFileSystem{}) + +// Ref returns the underlying reference to C object or nil if struct is nil. +func (x *ULFileSystem) Ref() *C.ULFileSystem { + if x == nil { + return nil + } + return x.ref41d243eb +} + +// Free invokes alloc map's free mechanism that cleanups any allocated memory using C free. +// Does nothing if struct is nil or has no allocation map. +func (x *ULFileSystem) Free() { + if x != nil && x.allocs41d243eb != nil { + x.allocs41d243eb.(*cgoAllocMap).Free() + x.ref41d243eb = nil + } +} + +// NewULFileSystemRef creates a new wrapper struct with underlying reference set to the original C object. +// Returns nil if the provided pointer to C object is nil too. +func NewULFileSystemRef(ref unsafe.Pointer) *ULFileSystem { + if ref == nil { + return nil + } + obj := new(ULFileSystem) + obj.ref41d243eb = (*C.ULFileSystem)(unsafe.Pointer(ref)) + return obj +} + +// PassRef returns the underlying C object, otherwise it will allocate one and set its values +// from this wrapping struct, counting allocations into an allocation map. +func (x *ULFileSystem) PassRef() (*C.ULFileSystem, *cgoAllocMap) { + if x == nil { + return nil, nil + } else if x.ref41d243eb != nil { + return x.ref41d243eb, nil + } + mem41d243eb := allocULFileSystemMemory(1) + ref41d243eb := (*C.ULFileSystem)(mem41d243eb) + allocs41d243eb := new(cgoAllocMap) + allocs41d243eb.Add(mem41d243eb) + + var cfile_exists_allocs *cgoAllocMap + ref41d243eb.file_exists, cfile_exists_allocs = x.FileExists.PassValue() + allocs41d243eb.Borrow(cfile_exists_allocs) + + var cget_file_size_allocs *cgoAllocMap + ref41d243eb.get_file_size, cget_file_size_allocs = x.GetFileSize.PassValue() + allocs41d243eb.Borrow(cget_file_size_allocs) + + var cget_file_mime_type_allocs *cgoAllocMap + ref41d243eb.get_file_mime_type, cget_file_mime_type_allocs = x.GetFileMimeType.PassValue() + allocs41d243eb.Borrow(cget_file_mime_type_allocs) + + var copen_file_allocs *cgoAllocMap + ref41d243eb.open_file, copen_file_allocs = x.OpenFile.PassValue() + allocs41d243eb.Borrow(copen_file_allocs) + + var cclose_file_allocs *cgoAllocMap + ref41d243eb.close_file, cclose_file_allocs = x.CloseFile.PassValue() + allocs41d243eb.Borrow(cclose_file_allocs) + + var cread_from_file_allocs *cgoAllocMap + ref41d243eb.read_from_file, cread_from_file_allocs = x.ReadFromFile.PassValue() + allocs41d243eb.Borrow(cread_from_file_allocs) + + x.ref41d243eb = ref41d243eb + x.allocs41d243eb = allocs41d243eb + return ref41d243eb, allocs41d243eb + +} + +// PassValue does the same as PassRef except that it will try to dereference the returned pointer. +func (x ULFileSystem) PassValue() (C.ULFileSystem, *cgoAllocMap) { + if x.ref41d243eb != nil { + return *x.ref41d243eb, nil + } + ref, allocs := x.PassRef() + return *ref, allocs +} + +// Deref uses the underlying reference to C object and fills the wrapping struct with values. +// Do not forget to call this method whether you get a struct for C object and want to read its values. +func (x *ULFileSystem) Deref() { + if x.ref41d243eb == nil { + return + } + x.FileExists = *NewULFileSystemFileExistsCallbackRef(unsafe.Pointer(&x.ref41d243eb.file_exists)) + x.GetFileSize = *NewULFileSystemGetFileSizeCallbackRef(unsafe.Pointer(&x.ref41d243eb.get_file_size)) + x.GetFileMimeType = *NewULFileSystemGetFileMimeTypeCallbackRef(unsafe.Pointer(&x.ref41d243eb.get_file_mime_type)) + x.OpenFile = *NewULFileSystemOpenFileCallbackRef(unsafe.Pointer(&x.ref41d243eb.open_file)) + x.CloseFile = *NewULFileSystemCloseFileCallbackRef(unsafe.Pointer(&x.ref41d243eb.close_file)) + x.ReadFromFile = *NewULFileSystemReadFromFileCallbackRef(unsafe.Pointer(&x.ref41d243eb.read_from_file)) +} + +func (x ULLoggerLogMessageCallback) PassRef() (ref *C.ULLoggerLogMessageCallback, allocs *cgoAllocMap) { + if x == nil { + return nil, nil + } + if uLLoggerLogMessageCallback454E682AFunc == nil { + uLLoggerLogMessageCallback454E682AFunc = x + } + return (*C.ULLoggerLogMessageCallback)(C.ULLoggerLogMessageCallback_454e682a), nil +} + +func (x ULLoggerLogMessageCallback) PassValue() (ref C.ULLoggerLogMessageCallback, allocs *cgoAllocMap) { + if x == nil { + return nil, nil + } + if uLLoggerLogMessageCallback454E682AFunc == nil { + uLLoggerLogMessageCallback454E682AFunc = x + } + return (C.ULLoggerLogMessageCallback)(C.ULLoggerLogMessageCallback_454e682a), nil +} + +func NewULLoggerLogMessageCallbackRef(ref unsafe.Pointer) *ULLoggerLogMessageCallback { + return (*ULLoggerLogMessageCallback)(ref) +} + +//export uLLoggerLogMessageCallback454E682A +func uLLoggerLogMessageCallback454E682A(clogLevel C.ULLogLevel, cmessage C.ULString) { + if uLLoggerLogMessageCallback454E682AFunc != nil { + logLevel454e682a := (ULLogLevel)(clogLevel) + message454e682a := *(*ULString)(unsafe.Pointer(&cmessage)) + uLLoggerLogMessageCallback454E682AFunc(logLevel454e682a, message454e682a) + return + } + panic("callback func has not been set (race?)") +} + +var uLLoggerLogMessageCallback454E682AFunc ULLoggerLogMessageCallback + +// allocULLoggerMemory allocates memory for type C.ULLogger in C. +// The caller is responsible for freeing the this memory via C.free. +func allocULLoggerMemory(n int) unsafe.Pointer { + mem, err := C.calloc(C.size_t(n), (C.size_t)(sizeOfULLoggerValue)) + if mem == nil { + panic(fmt.Sprintln("memory alloc error: ", err)) + } + return mem +} + +const sizeOfULLoggerValue = unsafe.Sizeof([1]C.ULLogger{}) + +// Ref returns the underlying reference to C object or nil if struct is nil. +func (x *ULLogger) Ref() *C.ULLogger { + if x == nil { + return nil + } + return x.refd55f8aa0 +} + +// Free invokes alloc map's free mechanism that cleanups any allocated memory using C free. +// Does nothing if struct is nil or has no allocation map. +func (x *ULLogger) Free() { + if x != nil && x.allocsd55f8aa0 != nil { + x.allocsd55f8aa0.(*cgoAllocMap).Free() + x.refd55f8aa0 = nil + } +} + +// NewULLoggerRef creates a new wrapper struct with underlying reference set to the original C object. +// Returns nil if the provided pointer to C object is nil too. +func NewULLoggerRef(ref unsafe.Pointer) *ULLogger { + if ref == nil { + return nil + } + obj := new(ULLogger) + obj.refd55f8aa0 = (*C.ULLogger)(unsafe.Pointer(ref)) + return obj +} + +// PassRef returns the underlying C object, otherwise it will allocate one and set its values +// from this wrapping struct, counting allocations into an allocation map. +func (x *ULLogger) PassRef() (*C.ULLogger, *cgoAllocMap) { + if x == nil { + return nil, nil + } else if x.refd55f8aa0 != nil { + return x.refd55f8aa0, nil + } + memd55f8aa0 := allocULLoggerMemory(1) + refd55f8aa0 := (*C.ULLogger)(memd55f8aa0) + allocsd55f8aa0 := new(cgoAllocMap) + allocsd55f8aa0.Add(memd55f8aa0) + + var clog_message_allocs *cgoAllocMap + refd55f8aa0.log_message, clog_message_allocs = x.LogMessage.PassValue() + allocsd55f8aa0.Borrow(clog_message_allocs) + + x.refd55f8aa0 = refd55f8aa0 + x.allocsd55f8aa0 = allocsd55f8aa0 + return refd55f8aa0, allocsd55f8aa0 + +} + +// PassValue does the same as PassRef except that it will try to dereference the returned pointer. +func (x ULLogger) PassValue() (C.ULLogger, *cgoAllocMap) { + if x.refd55f8aa0 != nil { + return *x.refd55f8aa0, nil + } + ref, allocs := x.PassRef() + return *ref, allocs +} + +// Deref uses the underlying reference to C object and fills the wrapping struct with values. +// Do not forget to call this method whether you get a struct for C object and want to read its values. +func (x *ULLogger) Deref() { + if x.refd55f8aa0 == nil { + return + } + x.LogMessage = *NewULLoggerLogMessageCallbackRef(unsafe.Pointer(&x.refd55f8aa0.log_message)) +} + +// allocULRenderBufferMemory allocates memory for type C.ULRenderBuffer in C. +// The caller is responsible for freeing the this memory via C.free. +func allocULRenderBufferMemory(n int) unsafe.Pointer { + mem, err := C.calloc(C.size_t(n), (C.size_t)(sizeOfULRenderBufferValue)) + if mem == nil { + panic(fmt.Sprintln("memory alloc error: ", err)) + } + return mem +} + +const sizeOfULRenderBufferValue = unsafe.Sizeof([1]C.ULRenderBuffer{}) + +// Ref returns the underlying reference to C object or nil if struct is nil. +func (x *ULRenderBuffer) Ref() *C.ULRenderBuffer { + if x == nil { + return nil + } + return x.refe8ed55f +} + +// Free invokes alloc map's free mechanism that cleanups any allocated memory using C free. +// Does nothing if struct is nil or has no allocation map. +func (x *ULRenderBuffer) Free() { + if x != nil && x.allocse8ed55f != nil { + x.allocse8ed55f.(*cgoAllocMap).Free() + x.refe8ed55f = nil + } +} + +// NewULRenderBufferRef creates a new wrapper struct with underlying reference set to the original C object. +// Returns nil if the provided pointer to C object is nil too. +func NewULRenderBufferRef(ref unsafe.Pointer) *ULRenderBuffer { + if ref == nil { + return nil + } + obj := new(ULRenderBuffer) + obj.refe8ed55f = (*C.ULRenderBuffer)(unsafe.Pointer(ref)) + return obj +} + +// PassRef returns the underlying C object, otherwise it will allocate one and set its values +// from this wrapping struct, counting allocations into an allocation map. +func (x *ULRenderBuffer) PassRef() (*C.ULRenderBuffer, *cgoAllocMap) { + if x == nil { + return nil, nil + } else if x.refe8ed55f != nil { + return x.refe8ed55f, nil + } + meme8ed55f := allocULRenderBufferMemory(1) + refe8ed55f := (*C.ULRenderBuffer)(meme8ed55f) + allocse8ed55f := new(cgoAllocMap) + allocse8ed55f.Add(meme8ed55f) + + var ctexture_id_allocs *cgoAllocMap + refe8ed55f.texture_id, ctexture_id_allocs = (C.uint)(x.TextureId), cgoAllocsUnknown + allocse8ed55f.Borrow(ctexture_id_allocs) + + var cwidth_allocs *cgoAllocMap + refe8ed55f.width, cwidth_allocs = (C.uint)(x.Width), cgoAllocsUnknown + allocse8ed55f.Borrow(cwidth_allocs) + + var cheight_allocs *cgoAllocMap + refe8ed55f.height, cheight_allocs = (C.uint)(x.Height), cgoAllocsUnknown + allocse8ed55f.Borrow(cheight_allocs) + + var chas_stencil_buffer_allocs *cgoAllocMap + refe8ed55f.has_stencil_buffer, chas_stencil_buffer_allocs = (C._Bool)(x.HasStencilBuffer), cgoAllocsUnknown + allocse8ed55f.Borrow(chas_stencil_buffer_allocs) + + var chas_depth_buffer_allocs *cgoAllocMap + refe8ed55f.has_depth_buffer, chas_depth_buffer_allocs = (C._Bool)(x.HasDepthBuffer), cgoAllocsUnknown + allocse8ed55f.Borrow(chas_depth_buffer_allocs) + + x.refe8ed55f = refe8ed55f + x.allocse8ed55f = allocse8ed55f + return refe8ed55f, allocse8ed55f + +} + +// PassValue does the same as PassRef except that it will try to dereference the returned pointer. +func (x ULRenderBuffer) PassValue() (C.ULRenderBuffer, *cgoAllocMap) { + if x.refe8ed55f != nil { + return *x.refe8ed55f, nil + } + ref, allocs := x.PassRef() + return *ref, allocs +} + +// Deref uses the underlying reference to C object and fills the wrapping struct with values. +// Do not forget to call this method whether you get a struct for C object and want to read its values. +func (x *ULRenderBuffer) Deref() { + if x.refe8ed55f == nil { + return + } + x.TextureId = (uint32)(x.refe8ed55f.texture_id) + x.Width = (uint32)(x.refe8ed55f.width) + x.Height = (uint32)(x.refe8ed55f.height) + x.HasStencilBuffer = (bool)(x.refe8ed55f.has_stencil_buffer) + x.HasDepthBuffer = (bool)(x.refe8ed55f.has_depth_buffer) +} + +// allocULVertex2f4ub2fMemory allocates memory for type C.ULVertex_2f_4ub_2f in C. +// The caller is responsible for freeing the this memory via C.free. +func allocULVertex2f4ub2fMemory(n int) unsafe.Pointer { + mem, err := C.calloc(C.size_t(n), (C.size_t)(sizeOfULVertex2f4ub2fValue)) + if mem == nil { + panic(fmt.Sprintln("memory alloc error: ", err)) + } + return mem +} + +const sizeOfULVertex2f4ub2fValue = unsafe.Sizeof([1]C.ULVertex_2f_4ub_2f{}) + +// Ref returns the underlying reference to C object or nil if struct is nil. +func (x *ULVertex2f4ub2f) Ref() *C.ULVertex_2f_4ub_2f { + if x == nil { + return nil + } + return x.ref2acaf525 +} + +// Free invokes alloc map's free mechanism that cleanups any allocated memory using C free. +// Does nothing if struct is nil or has no allocation map. +func (x *ULVertex2f4ub2f) Free() { + if x != nil && x.allocs2acaf525 != nil { + x.allocs2acaf525.(*cgoAllocMap).Free() + x.ref2acaf525 = nil + } +} + +// NewULVertex2f4ub2fRef creates a new wrapper struct with underlying reference set to the original C object. +// Returns nil if the provided pointer to C object is nil too. +func NewULVertex2f4ub2fRef(ref unsafe.Pointer) *ULVertex2f4ub2f { + if ref == nil { + return nil + } + obj := new(ULVertex2f4ub2f) + obj.ref2acaf525 = (*C.ULVertex_2f_4ub_2f)(unsafe.Pointer(ref)) + return obj +} + +// PassRef returns the underlying C object, otherwise it will allocate one and set its values +// from this wrapping struct, counting allocations into an allocation map. +func (x *ULVertex2f4ub2f) PassRef() (*C.ULVertex_2f_4ub_2f, *cgoAllocMap) { + if x == nil { + return nil, nil + } else if x.ref2acaf525 != nil { + return x.ref2acaf525, nil + } + mem2acaf525 := allocULVertex2f4ub2fMemory(1) + ref2acaf525 := (*C.ULVertex_2f_4ub_2f)(mem2acaf525) + allocs2acaf525 := new(cgoAllocMap) + allocs2acaf525.Add(mem2acaf525) + + var cpos_allocs *cgoAllocMap + ref2acaf525.pos, cpos_allocs = *(*[2]C.float)(unsafe.Pointer(&x.Pos)), cgoAllocsUnknown + allocs2acaf525.Borrow(cpos_allocs) + + var ccolor_allocs *cgoAllocMap + ref2acaf525.color, ccolor_allocs = *(*[4]C.uchar)(unsafe.Pointer(&x.Color)), cgoAllocsUnknown + allocs2acaf525.Borrow(ccolor_allocs) + + var cobj_allocs *cgoAllocMap + ref2acaf525.obj, cobj_allocs = *(*[2]C.float)(unsafe.Pointer(&x.Obj)), cgoAllocsUnknown + allocs2acaf525.Borrow(cobj_allocs) + + x.ref2acaf525 = ref2acaf525 + x.allocs2acaf525 = allocs2acaf525 + return ref2acaf525, allocs2acaf525 + +} + +// PassValue does the same as PassRef except that it will try to dereference the returned pointer. +func (x ULVertex2f4ub2f) PassValue() (C.ULVertex_2f_4ub_2f, *cgoAllocMap) { + if x.ref2acaf525 != nil { + return *x.ref2acaf525, nil + } + ref, allocs := x.PassRef() + return *ref, allocs +} + +// Deref uses the underlying reference to C object and fills the wrapping struct with values. +// Do not forget to call this method whether you get a struct for C object and want to read its values. +func (x *ULVertex2f4ub2f) Deref() { + if x.ref2acaf525 == nil { + return + } + x.Pos = *(*[2]float32)(unsafe.Pointer(&x.ref2acaf525.pos)) + x.Color = *(*[4]byte)(unsafe.Pointer(&x.ref2acaf525.color)) + x.Obj = *(*[2]float32)(unsafe.Pointer(&x.ref2acaf525.obj)) +} + +// allocULVertex2f4ub2f2f28fMemory allocates memory for type C.ULVertex_2f_4ub_2f_2f_28f in C. +// The caller is responsible for freeing the this memory via C.free. +func allocULVertex2f4ub2f2f28fMemory(n int) unsafe.Pointer { + mem, err := C.calloc(C.size_t(n), (C.size_t)(sizeOfULVertex2f4ub2f2f28fValue)) + if mem == nil { + panic(fmt.Sprintln("memory alloc error: ", err)) + } + return mem +} + +const sizeOfULVertex2f4ub2f2f28fValue = unsafe.Sizeof([1]C.ULVertex_2f_4ub_2f_2f_28f{}) + +// Ref returns the underlying reference to C object or nil if struct is nil. +func (x *ULVertex2f4ub2f2f28f) Ref() *C.ULVertex_2f_4ub_2f_2f_28f { + if x == nil { + return nil + } + return x.refa40e1546 +} + +// Free invokes alloc map's free mechanism that cleanups any allocated memory using C free. +// Does nothing if struct is nil or has no allocation map. +func (x *ULVertex2f4ub2f2f28f) Free() { + if x != nil && x.allocsa40e1546 != nil { + x.allocsa40e1546.(*cgoAllocMap).Free() + x.refa40e1546 = nil + } +} + +// NewULVertex2f4ub2f2f28fRef creates a new wrapper struct with underlying reference set to the original C object. +// Returns nil if the provided pointer to C object is nil too. +func NewULVertex2f4ub2f2f28fRef(ref unsafe.Pointer) *ULVertex2f4ub2f2f28f { + if ref == nil { + return nil + } + obj := new(ULVertex2f4ub2f2f28f) + obj.refa40e1546 = (*C.ULVertex_2f_4ub_2f_2f_28f)(unsafe.Pointer(ref)) + return obj +} + +// PassRef returns the underlying C object, otherwise it will allocate one and set its values +// from this wrapping struct, counting allocations into an allocation map. +func (x *ULVertex2f4ub2f2f28f) PassRef() (*C.ULVertex_2f_4ub_2f_2f_28f, *cgoAllocMap) { + if x == nil { + return nil, nil + } else if x.refa40e1546 != nil { + return x.refa40e1546, nil + } + mema40e1546 := allocULVertex2f4ub2f2f28fMemory(1) + refa40e1546 := (*C.ULVertex_2f_4ub_2f_2f_28f)(mema40e1546) + allocsa40e1546 := new(cgoAllocMap) + allocsa40e1546.Add(mema40e1546) + + var cpos_allocs *cgoAllocMap + refa40e1546.pos, cpos_allocs = *(*[2]C.float)(unsafe.Pointer(&x.Pos)), cgoAllocsUnknown + allocsa40e1546.Borrow(cpos_allocs) + + var ccolor_allocs *cgoAllocMap + refa40e1546.color, ccolor_allocs = *(*[4]C.uchar)(unsafe.Pointer(&x.Color)), cgoAllocsUnknown + allocsa40e1546.Borrow(ccolor_allocs) + + var ctex_allocs *cgoAllocMap + refa40e1546.tex, ctex_allocs = *(*[2]C.float)(unsafe.Pointer(&x.Tex)), cgoAllocsUnknown + allocsa40e1546.Borrow(ctex_allocs) + + var cobj_allocs *cgoAllocMap + refa40e1546.obj, cobj_allocs = *(*[2]C.float)(unsafe.Pointer(&x.Obj)), cgoAllocsUnknown + allocsa40e1546.Borrow(cobj_allocs) + + var cdata0_allocs *cgoAllocMap + refa40e1546.data0, cdata0_allocs = *(*[4]C.float)(unsafe.Pointer(&x.Data0)), cgoAllocsUnknown + allocsa40e1546.Borrow(cdata0_allocs) + + var cdata1_allocs *cgoAllocMap + refa40e1546.data1, cdata1_allocs = *(*[4]C.float)(unsafe.Pointer(&x.Data1)), cgoAllocsUnknown + allocsa40e1546.Borrow(cdata1_allocs) + + var cdata2_allocs *cgoAllocMap + refa40e1546.data2, cdata2_allocs = *(*[4]C.float)(unsafe.Pointer(&x.Data2)), cgoAllocsUnknown + allocsa40e1546.Borrow(cdata2_allocs) + + var cdata3_allocs *cgoAllocMap + refa40e1546.data3, cdata3_allocs = *(*[4]C.float)(unsafe.Pointer(&x.Data3)), cgoAllocsUnknown + allocsa40e1546.Borrow(cdata3_allocs) + + var cdata4_allocs *cgoAllocMap + refa40e1546.data4, cdata4_allocs = *(*[4]C.float)(unsafe.Pointer(&x.Data4)), cgoAllocsUnknown + allocsa40e1546.Borrow(cdata4_allocs) + + var cdata5_allocs *cgoAllocMap + refa40e1546.data5, cdata5_allocs = *(*[4]C.float)(unsafe.Pointer(&x.Data5)), cgoAllocsUnknown + allocsa40e1546.Borrow(cdata5_allocs) + + var cdata6_allocs *cgoAllocMap + refa40e1546.data6, cdata6_allocs = *(*[4]C.float)(unsafe.Pointer(&x.Data6)), cgoAllocsUnknown + allocsa40e1546.Borrow(cdata6_allocs) + + x.refa40e1546 = refa40e1546 + x.allocsa40e1546 = allocsa40e1546 + return refa40e1546, allocsa40e1546 + +} + +// PassValue does the same as PassRef except that it will try to dereference the returned pointer. +func (x ULVertex2f4ub2f2f28f) PassValue() (C.ULVertex_2f_4ub_2f_2f_28f, *cgoAllocMap) { + if x.refa40e1546 != nil { + return *x.refa40e1546, nil + } + ref, allocs := x.PassRef() + return *ref, allocs +} + +// Deref uses the underlying reference to C object and fills the wrapping struct with values. +// Do not forget to call this method whether you get a struct for C object and want to read its values. +func (x *ULVertex2f4ub2f2f28f) Deref() { + if x.refa40e1546 == nil { + return + } + x.Pos = *(*[2]float32)(unsafe.Pointer(&x.refa40e1546.pos)) + x.Color = *(*[4]byte)(unsafe.Pointer(&x.refa40e1546.color)) + x.Tex = *(*[2]float32)(unsafe.Pointer(&x.refa40e1546.tex)) + x.Obj = *(*[2]float32)(unsafe.Pointer(&x.refa40e1546.obj)) + x.Data0 = *(*[4]float32)(unsafe.Pointer(&x.refa40e1546.data0)) + x.Data1 = *(*[4]float32)(unsafe.Pointer(&x.refa40e1546.data1)) + x.Data2 = *(*[4]float32)(unsafe.Pointer(&x.refa40e1546.data2)) + x.Data3 = *(*[4]float32)(unsafe.Pointer(&x.refa40e1546.data3)) + x.Data4 = *(*[4]float32)(unsafe.Pointer(&x.refa40e1546.data4)) + x.Data5 = *(*[4]float32)(unsafe.Pointer(&x.refa40e1546.data5)) + x.Data6 = *(*[4]float32)(unsafe.Pointer(&x.refa40e1546.data6)) +} + +// allocULVertexBufferMemory allocates memory for type C.ULVertexBuffer in C. +// The caller is responsible for freeing the this memory via C.free. +func allocULVertexBufferMemory(n int) unsafe.Pointer { + mem, err := C.calloc(C.size_t(n), (C.size_t)(sizeOfULVertexBufferValue)) + if mem == nil { + panic(fmt.Sprintln("memory alloc error: ", err)) + } + return mem +} + +const sizeOfULVertexBufferValue = unsafe.Sizeof([1]C.ULVertexBuffer{}) + +// copyPUcharBytes copies the data from Go slice as *C.uchar. +func copyPUcharBytes(slice *sliceHeader) (*C.uchar, *cgoAllocMap) { + allocs := new(cgoAllocMap) + defer runtime.SetFinalizer(allocs, func(a *cgoAllocMap) { + go a.Free() + }) + + mem0 := unsafe.Pointer(C.CBytes(*(*[]byte)(unsafe.Pointer(&sliceHeader{ + Data: slice.Data, + Len: int(sizeOfUcharValue) * slice.Len, + Cap: int(sizeOfUcharValue) * slice.Len, + })))) + allocs.Add(mem0) + + return (*C.uchar)(mem0), allocs +} + +// allocUcharMemory allocates memory for type C.uchar in C. +// The caller is responsible for freeing the this memory via C.free. +func allocUcharMemory(n int) unsafe.Pointer { + mem, err := C.calloc(C.size_t(n), (C.size_t)(sizeOfUcharValue)) + if mem == nil { + panic(fmt.Sprintln("memory alloc error: ", err)) + } + return mem +} + +const sizeOfUcharValue = unsafe.Sizeof([1]C.uchar{}) + +// Ref returns the underlying reference to C object or nil if struct is nil. +func (x *ULVertexBuffer) Ref() *C.ULVertexBuffer { + if x == nil { + return nil + } + return x.ref38aa9279 +} + +// Free invokes alloc map's free mechanism that cleanups any allocated memory using C free. +// Does nothing if struct is nil or has no allocation map. +func (x *ULVertexBuffer) Free() { + if x != nil && x.allocs38aa9279 != nil { + x.allocs38aa9279.(*cgoAllocMap).Free() + x.ref38aa9279 = nil + } +} + +// NewULVertexBufferRef creates a new wrapper struct with underlying reference set to the original C object. +// Returns nil if the provided pointer to C object is nil too. +func NewULVertexBufferRef(ref unsafe.Pointer) *ULVertexBuffer { + if ref == nil { + return nil + } + obj := new(ULVertexBuffer) + obj.ref38aa9279 = (*C.ULVertexBuffer)(unsafe.Pointer(ref)) + return obj +} + +// PassRef returns the underlying C object, otherwise it will allocate one and set its values +// from this wrapping struct, counting allocations into an allocation map. +func (x *ULVertexBuffer) PassRef() (*C.ULVertexBuffer, *cgoAllocMap) { + if x == nil { + return nil, nil + } else if x.ref38aa9279 != nil { + return x.ref38aa9279, nil + } + mem38aa9279 := allocULVertexBufferMemory(1) + ref38aa9279 := (*C.ULVertexBuffer)(mem38aa9279) + allocs38aa9279 := new(cgoAllocMap) + allocs38aa9279.Add(mem38aa9279) + + var cformat_allocs *cgoAllocMap + ref38aa9279.format, cformat_allocs = (C.ULVertexBufferFormat)(x.Format), cgoAllocsUnknown + allocs38aa9279.Borrow(cformat_allocs) + + var csize_allocs *cgoAllocMap + ref38aa9279.size, csize_allocs = (C.uint)(x.Size), cgoAllocsUnknown + allocs38aa9279.Borrow(csize_allocs) + + var cdata_allocs *cgoAllocMap + ref38aa9279.data, cdata_allocs = copyPUcharBytes((*sliceHeader)(unsafe.Pointer(&x.Data))) + allocs38aa9279.Borrow(cdata_allocs) + + x.ref38aa9279 = ref38aa9279 + x.allocs38aa9279 = allocs38aa9279 + return ref38aa9279, allocs38aa9279 + +} + +// PassValue does the same as PassRef except that it will try to dereference the returned pointer. +func (x ULVertexBuffer) PassValue() (C.ULVertexBuffer, *cgoAllocMap) { + if x.ref38aa9279 != nil { + return *x.ref38aa9279, nil + } + ref, allocs := x.PassRef() + return *ref, allocs +} + +// Deref uses the underlying reference to C object and fills the wrapping struct with values. +// Do not forget to call this method whether you get a struct for C object and want to read its values. +func (x *ULVertexBuffer) Deref() { + if x.ref38aa9279 == nil { + return + } + x.Format = (ULVertexBufferFormat)(x.ref38aa9279.format) + x.Size = (uint32)(x.ref38aa9279.size) + hxff2234b := (*sliceHeader)(unsafe.Pointer(&x.Data)) + hxff2234b.Data = unsafe.Pointer(x.ref38aa9279.data) + hxff2234b.Cap = 0x7fffffff + // hxff2234b.Len = ? + +} + +// allocULIndexBufferMemory allocates memory for type C.ULIndexBuffer in C. +// The caller is responsible for freeing the this memory via C.free. +func allocULIndexBufferMemory(n int) unsafe.Pointer { + mem, err := C.calloc(C.size_t(n), (C.size_t)(sizeOfULIndexBufferValue)) + if mem == nil { + panic(fmt.Sprintln("memory alloc error: ", err)) + } + return mem +} + +const sizeOfULIndexBufferValue = unsafe.Sizeof([1]C.ULIndexBuffer{}) + +// Ref returns the underlying reference to C object or nil if struct is nil. +func (x *ULIndexBuffer) Ref() *C.ULIndexBuffer { + if x == nil { + return nil + } + return x.ref8da49f64 +} + +// Free invokes alloc map's free mechanism that cleanups any allocated memory using C free. +// Does nothing if struct is nil or has no allocation map. +func (x *ULIndexBuffer) Free() { + if x != nil && x.allocs8da49f64 != nil { + x.allocs8da49f64.(*cgoAllocMap).Free() + x.ref8da49f64 = nil + } +} + +// NewULIndexBufferRef creates a new wrapper struct with underlying reference set to the original C object. +// Returns nil if the provided pointer to C object is nil too. +func NewULIndexBufferRef(ref unsafe.Pointer) *ULIndexBuffer { + if ref == nil { + return nil + } + obj := new(ULIndexBuffer) + obj.ref8da49f64 = (*C.ULIndexBuffer)(unsafe.Pointer(ref)) + return obj +} + +// PassRef returns the underlying C object, otherwise it will allocate one and set its values +// from this wrapping struct, counting allocations into an allocation map. +func (x *ULIndexBuffer) PassRef() (*C.ULIndexBuffer, *cgoAllocMap) { + if x == nil { + return nil, nil + } else if x.ref8da49f64 != nil { + return x.ref8da49f64, nil + } + mem8da49f64 := allocULIndexBufferMemory(1) + ref8da49f64 := (*C.ULIndexBuffer)(mem8da49f64) + allocs8da49f64 := new(cgoAllocMap) + allocs8da49f64.Add(mem8da49f64) + + var csize_allocs *cgoAllocMap + ref8da49f64.size, csize_allocs = (C.uint)(x.Size), cgoAllocsUnknown + allocs8da49f64.Borrow(csize_allocs) + + var cdata_allocs *cgoAllocMap + ref8da49f64.data, cdata_allocs = copyPUcharBytes((*sliceHeader)(unsafe.Pointer(&x.Data))) + allocs8da49f64.Borrow(cdata_allocs) + + x.ref8da49f64 = ref8da49f64 + x.allocs8da49f64 = allocs8da49f64 + return ref8da49f64, allocs8da49f64 + +} + +// PassValue does the same as PassRef except that it will try to dereference the returned pointer. +func (x ULIndexBuffer) PassValue() (C.ULIndexBuffer, *cgoAllocMap) { + if x.ref8da49f64 != nil { + return *x.ref8da49f64, nil + } + ref, allocs := x.PassRef() + return *ref, allocs +} + +// Deref uses the underlying reference to C object and fills the wrapping struct with values. +// Do not forget to call this method whether you get a struct for C object and want to read its values. +func (x *ULIndexBuffer) Deref() { + if x.ref8da49f64 == nil { + return + } + x.Size = (uint32)(x.ref8da49f64.size) + hxff73280 := (*sliceHeader)(unsafe.Pointer(&x.Data)) + hxff73280.Data = unsafe.Pointer(x.ref8da49f64.data) + hxff73280.Cap = 0x7fffffff + // hxff73280.Len = ? + +} + +// allocULMatrix4x4Memory allocates memory for type C.ULMatrix4x4 in C. +// The caller is responsible for freeing the this memory via C.free. +func allocULMatrix4x4Memory(n int) unsafe.Pointer { + mem, err := C.calloc(C.size_t(n), (C.size_t)(sizeOfULMatrix4x4Value)) + if mem == nil { + panic(fmt.Sprintln("memory alloc error: ", err)) + } + return mem +} + +const sizeOfULMatrix4x4Value = unsafe.Sizeof([1]C.ULMatrix4x4{}) + +// Ref returns the underlying reference to C object or nil if struct is nil. +func (x *ULMatrix4x4) Ref() *C.ULMatrix4x4 { + if x == nil { + return nil + } + return x.ref5420ec6b +} + +// Free invokes alloc map's free mechanism that cleanups any allocated memory using C free. +// Does nothing if struct is nil or has no allocation map. +func (x *ULMatrix4x4) Free() { + if x != nil && x.allocs5420ec6b != nil { + x.allocs5420ec6b.(*cgoAllocMap).Free() + x.ref5420ec6b = nil + } +} + +// NewULMatrix4x4Ref creates a new wrapper struct with underlying reference set to the original C object. +// Returns nil if the provided pointer to C object is nil too. +func NewULMatrix4x4Ref(ref unsafe.Pointer) *ULMatrix4x4 { + if ref == nil { + return nil + } + obj := new(ULMatrix4x4) + obj.ref5420ec6b = (*C.ULMatrix4x4)(unsafe.Pointer(ref)) + return obj +} + +// PassRef returns the underlying C object, otherwise it will allocate one and set its values +// from this wrapping struct, counting allocations into an allocation map. +func (x *ULMatrix4x4) PassRef() (*C.ULMatrix4x4, *cgoAllocMap) { + if x == nil { + return nil, nil + } else if x.ref5420ec6b != nil { + return x.ref5420ec6b, nil + } + mem5420ec6b := allocULMatrix4x4Memory(1) + ref5420ec6b := (*C.ULMatrix4x4)(mem5420ec6b) + allocs5420ec6b := new(cgoAllocMap) + allocs5420ec6b.Add(mem5420ec6b) + + var cdata_allocs *cgoAllocMap + ref5420ec6b.data, cdata_allocs = *(*[16]C.float)(unsafe.Pointer(&x.Data)), cgoAllocsUnknown + allocs5420ec6b.Borrow(cdata_allocs) + + x.ref5420ec6b = ref5420ec6b + x.allocs5420ec6b = allocs5420ec6b + return ref5420ec6b, allocs5420ec6b + +} + +// PassValue does the same as PassRef except that it will try to dereference the returned pointer. +func (x ULMatrix4x4) PassValue() (C.ULMatrix4x4, *cgoAllocMap) { + if x.ref5420ec6b != nil { + return *x.ref5420ec6b, nil + } + ref, allocs := x.PassRef() + return *ref, allocs +} + +// Deref uses the underlying reference to C object and fills the wrapping struct with values. +// Do not forget to call this method whether you get a struct for C object and want to read its values. +func (x *ULMatrix4x4) Deref() { + if x.ref5420ec6b == nil { + return + } + x.Data = *(*[16]float32)(unsafe.Pointer(&x.ref5420ec6b.data)) +} + +// allocULvec4Memory allocates memory for type C.ULvec4 in C. +// The caller is responsible for freeing the this memory via C.free. +func allocULvec4Memory(n int) unsafe.Pointer { + mem, err := C.calloc(C.size_t(n), (C.size_t)(sizeOfULvec4Value)) + if mem == nil { + panic(fmt.Sprintln("memory alloc error: ", err)) + } + return mem +} + +const sizeOfULvec4Value = unsafe.Sizeof([1]C.ULvec4{}) + +// Ref returns the underlying reference to C object or nil if struct is nil. +func (x *ULvec4) Ref() *C.ULvec4 { + if x == nil { + return nil + } + return x.ref1faeb7f5 +} + +// Free invokes alloc map's free mechanism that cleanups any allocated memory using C free. +// Does nothing if struct is nil or has no allocation map. +func (x *ULvec4) Free() { + if x != nil && x.allocs1faeb7f5 != nil { + x.allocs1faeb7f5.(*cgoAllocMap).Free() + x.ref1faeb7f5 = nil + } +} + +// NewULvec4Ref creates a new wrapper struct with underlying reference set to the original C object. +// Returns nil if the provided pointer to C object is nil too. +func NewULvec4Ref(ref unsafe.Pointer) *ULvec4 { + if ref == nil { + return nil + } + obj := new(ULvec4) + obj.ref1faeb7f5 = (*C.ULvec4)(unsafe.Pointer(ref)) + return obj +} + +// PassRef returns the underlying C object, otherwise it will allocate one and set its values +// from this wrapping struct, counting allocations into an allocation map. +func (x *ULvec4) PassRef() (*C.ULvec4, *cgoAllocMap) { + if x == nil { + return nil, nil + } else if x.ref1faeb7f5 != nil { + return x.ref1faeb7f5, nil + } + mem1faeb7f5 := allocULvec4Memory(1) + ref1faeb7f5 := (*C.ULvec4)(mem1faeb7f5) + allocs1faeb7f5 := new(cgoAllocMap) + allocs1faeb7f5.Add(mem1faeb7f5) + + var cvalue_allocs *cgoAllocMap + ref1faeb7f5.value, cvalue_allocs = *(*[4]C.float)(unsafe.Pointer(&x.Value)), cgoAllocsUnknown + allocs1faeb7f5.Borrow(cvalue_allocs) + + x.ref1faeb7f5 = ref1faeb7f5 + x.allocs1faeb7f5 = allocs1faeb7f5 + return ref1faeb7f5, allocs1faeb7f5 + +} + +// PassValue does the same as PassRef except that it will try to dereference the returned pointer. +func (x ULvec4) PassValue() (C.ULvec4, *cgoAllocMap) { + if x.ref1faeb7f5 != nil { + return *x.ref1faeb7f5, nil + } + ref, allocs := x.PassRef() + return *ref, allocs +} + +// Deref uses the underlying reference to C object and fills the wrapping struct with values. +// Do not forget to call this method whether you get a struct for C object and want to read its values. +func (x *ULvec4) Deref() { + if x.ref1faeb7f5 == nil { + return + } + x.Value = *(*[4]float32)(unsafe.Pointer(&x.ref1faeb7f5.value)) +} + +// allocULGPUStateMemory allocates memory for type C.ULGPUState in C. +// The caller is responsible for freeing the this memory via C.free. +func allocULGPUStateMemory(n int) unsafe.Pointer { + mem, err := C.calloc(C.size_t(n), (C.size_t)(sizeOfULGPUStateValue)) + if mem == nil { + panic(fmt.Sprintln("memory alloc error: ", err)) + } + return mem +} + +const sizeOfULGPUStateValue = unsafe.Sizeof([1]C.ULGPUState{}) + +// allocA8ULvec4Memory allocates memory for type [8]C.ULvec4 in C. +// The caller is responsible for freeing the this memory via C.free. +func allocA8ULvec4Memory(n int) unsafe.Pointer { + mem, err := C.calloc(C.size_t(n), (C.size_t)(sizeOfA8ULvec4Value)) + if mem == nil { + panic(fmt.Sprintln("memory alloc error: ", err)) + } + return mem +} + +const sizeOfA8ULvec4Value = unsafe.Sizeof([1][8]C.ULvec4{}) + +const sizeOfPtr = unsafe.Sizeof(&struct{}{}) + +// unpackA8ULvec4 transforms a sliced Go data structure into plain C format. +func unpackA8ULvec4(x [8]ULvec4) (unpacked [8]C.ULvec4, allocs *cgoAllocMap) { + allocs = new(cgoAllocMap) + defer runtime.SetFinalizer(allocs, func(a *cgoAllocMap) { + go a.Free() + }) + + mem0 := allocA8ULvec4Memory(1) + allocs.Add(mem0) + v0 := (*[8]C.ULvec4)(mem0) + for i0 := range x { + allocs0 := new(cgoAllocMap) + v0[i0], allocs0 = x[i0].PassValue() + allocs.Borrow(allocs0) + } + unpacked = *(*[8]C.ULvec4)(mem0) + return +} + +// allocA8ULMatrix4x4Memory allocates memory for type [8]C.ULMatrix4x4 in C. +// The caller is responsible for freeing the this memory via C.free. +func allocA8ULMatrix4x4Memory(n int) unsafe.Pointer { + mem, err := C.calloc(C.size_t(n), (C.size_t)(sizeOfA8ULMatrix4x4Value)) + if mem == nil { + panic(fmt.Sprintln("memory alloc error: ", err)) + } + return mem +} + +const sizeOfA8ULMatrix4x4Value = unsafe.Sizeof([1][8]C.ULMatrix4x4{}) + +// unpackA8ULMatrix4x4 transforms a sliced Go data structure into plain C format. +func unpackA8ULMatrix4x4(x [8]ULMatrix4x4) (unpacked [8]C.ULMatrix4x4, allocs *cgoAllocMap) { + allocs = new(cgoAllocMap) + defer runtime.SetFinalizer(allocs, func(a *cgoAllocMap) { + go a.Free() + }) + + mem0 := allocA8ULMatrix4x4Memory(1) + allocs.Add(mem0) + v0 := (*[8]C.ULMatrix4x4)(mem0) + for i0 := range x { + allocs0 := new(cgoAllocMap) + v0[i0], allocs0 = x[i0].PassValue() + allocs.Borrow(allocs0) + } + unpacked = *(*[8]C.ULMatrix4x4)(mem0) + return +} + +// packA8ULvec4 reads sliced Go data structure out from plain C format. +func packA8ULvec4(v *[8]ULvec4, ptr0 *[8]C.ULvec4) { + for i0 := range v { + ptr1 := ptr0[i0] + v[i0] = *NewULvec4Ref(unsafe.Pointer(&ptr1)) + } +} + +// packA8ULMatrix4x4 reads sliced Go data structure out from plain C format. +func packA8ULMatrix4x4(v *[8]ULMatrix4x4, ptr0 *[8]C.ULMatrix4x4) { + for i0 := range v { + ptr1 := ptr0[i0] + v[i0] = *NewULMatrix4x4Ref(unsafe.Pointer(&ptr1)) + } +} + +// Ref returns the underlying reference to C object or nil if struct is nil. +func (x *ULGPUState) Ref() *C.ULGPUState { + if x == nil { + return nil + } + return x.ref7caf648c +} + +// Free invokes alloc map's free mechanism that cleanups any allocated memory using C free. +// Does nothing if struct is nil or has no allocation map. +func (x *ULGPUState) Free() { + if x != nil && x.allocs7caf648c != nil { + x.allocs7caf648c.(*cgoAllocMap).Free() + x.ref7caf648c = nil + } +} + +// NewULGPUStateRef creates a new wrapper struct with underlying reference set to the original C object. +// Returns nil if the provided pointer to C object is nil too. +func NewULGPUStateRef(ref unsafe.Pointer) *ULGPUState { + if ref == nil { + return nil + } + obj := new(ULGPUState) + obj.ref7caf648c = (*C.ULGPUState)(unsafe.Pointer(ref)) + return obj +} + +// PassRef returns the underlying C object, otherwise it will allocate one and set its values +// from this wrapping struct, counting allocations into an allocation map. +func (x *ULGPUState) PassRef() (*C.ULGPUState, *cgoAllocMap) { + if x == nil { + return nil, nil + } else if x.ref7caf648c != nil { + return x.ref7caf648c, nil + } + mem7caf648c := allocULGPUStateMemory(1) + ref7caf648c := (*C.ULGPUState)(mem7caf648c) + allocs7caf648c := new(cgoAllocMap) + allocs7caf648c.Add(mem7caf648c) + + var cviewport_width_allocs *cgoAllocMap + ref7caf648c.viewport_width, cviewport_width_allocs = (C.uint)(x.ViewportWidth), cgoAllocsUnknown + allocs7caf648c.Borrow(cviewport_width_allocs) + + var cviewport_height_allocs *cgoAllocMap + ref7caf648c.viewport_height, cviewport_height_allocs = (C.uint)(x.ViewportHeight), cgoAllocsUnknown + allocs7caf648c.Borrow(cviewport_height_allocs) + + var ctransform_allocs *cgoAllocMap + ref7caf648c.transform, ctransform_allocs = x.Transform.PassValue() + allocs7caf648c.Borrow(ctransform_allocs) + + var cenable_texturing_allocs *cgoAllocMap + ref7caf648c.enable_texturing, cenable_texturing_allocs = (C._Bool)(x.EnableTexturing), cgoAllocsUnknown + allocs7caf648c.Borrow(cenable_texturing_allocs) + + var cenable_blend_allocs *cgoAllocMap + ref7caf648c.enable_blend, cenable_blend_allocs = (C._Bool)(x.EnableBlend), cgoAllocsUnknown + allocs7caf648c.Borrow(cenable_blend_allocs) + + var cshader_type_allocs *cgoAllocMap + ref7caf648c.shader_type, cshader_type_allocs = (C.uchar)(x.ShaderType), cgoAllocsUnknown + allocs7caf648c.Borrow(cshader_type_allocs) + + var crender_buffer_id_allocs *cgoAllocMap + ref7caf648c.render_buffer_id, crender_buffer_id_allocs = (C.uint)(x.RenderBufferId), cgoAllocsUnknown + allocs7caf648c.Borrow(crender_buffer_id_allocs) + + var ctexture_1_id_allocs *cgoAllocMap + ref7caf648c.texture_1_id, ctexture_1_id_allocs = (C.uint)(x.Texture1Id), cgoAllocsUnknown + allocs7caf648c.Borrow(ctexture_1_id_allocs) + + var ctexture_2_id_allocs *cgoAllocMap + ref7caf648c.texture_2_id, ctexture_2_id_allocs = (C.uint)(x.Texture2Id), cgoAllocsUnknown + allocs7caf648c.Borrow(ctexture_2_id_allocs) + + var ctexture_3_id_allocs *cgoAllocMap + ref7caf648c.texture_3_id, ctexture_3_id_allocs = (C.uint)(x.Texture3Id), cgoAllocsUnknown + allocs7caf648c.Borrow(ctexture_3_id_allocs) + + var cuniform_scalar_allocs *cgoAllocMap + ref7caf648c.uniform_scalar, cuniform_scalar_allocs = *(*[8]C.float)(unsafe.Pointer(&x.UniformScalar)), cgoAllocsUnknown + allocs7caf648c.Borrow(cuniform_scalar_allocs) + + var cuniform_vector_allocs *cgoAllocMap + ref7caf648c.uniform_vector, cuniform_vector_allocs = unpackA8ULvec4(x.UniformVector) + allocs7caf648c.Borrow(cuniform_vector_allocs) + + var cclip_size_allocs *cgoAllocMap + ref7caf648c.clip_size, cclip_size_allocs = (C.uchar)(x.ClipSize), cgoAllocsUnknown + allocs7caf648c.Borrow(cclip_size_allocs) + + var cclip_allocs *cgoAllocMap + ref7caf648c.clip, cclip_allocs = unpackA8ULMatrix4x4(x.Clip) + allocs7caf648c.Borrow(cclip_allocs) + + var cenable_scissor_allocs *cgoAllocMap + ref7caf648c.enable_scissor, cenable_scissor_allocs = (C._Bool)(x.EnableScissor), cgoAllocsUnknown + allocs7caf648c.Borrow(cenable_scissor_allocs) + + var cscissor_rect_allocs *cgoAllocMap + ref7caf648c.scissor_rect, cscissor_rect_allocs = x.ScissorRect.PassValue() + allocs7caf648c.Borrow(cscissor_rect_allocs) + + x.ref7caf648c = ref7caf648c + x.allocs7caf648c = allocs7caf648c + return ref7caf648c, allocs7caf648c + +} + +// PassValue does the same as PassRef except that it will try to dereference the returned pointer. +func (x ULGPUState) PassValue() (C.ULGPUState, *cgoAllocMap) { + if x.ref7caf648c != nil { + return *x.ref7caf648c, nil + } + ref, allocs := x.PassRef() + return *ref, allocs +} + +// Deref uses the underlying reference to C object and fills the wrapping struct with values. +// Do not forget to call this method whether you get a struct for C object and want to read its values. +func (x *ULGPUState) Deref() { + if x.ref7caf648c == nil { + return + } + x.ViewportWidth = (uint32)(x.ref7caf648c.viewport_width) + x.ViewportHeight = (uint32)(x.ref7caf648c.viewport_height) + x.Transform = *NewULMatrix4x4Ref(unsafe.Pointer(&x.ref7caf648c.transform)) + x.EnableTexturing = (bool)(x.ref7caf648c.enable_texturing) + x.EnableBlend = (bool)(x.ref7caf648c.enable_blend) + x.ShaderType = (byte)(x.ref7caf648c.shader_type) + x.RenderBufferId = (uint32)(x.ref7caf648c.render_buffer_id) + x.Texture1Id = (uint32)(x.ref7caf648c.texture_1_id) + x.Texture2Id = (uint32)(x.ref7caf648c.texture_2_id) + x.Texture3Id = (uint32)(x.ref7caf648c.texture_3_id) + x.UniformScalar = *(*[8]float32)(unsafe.Pointer(&x.ref7caf648c.uniform_scalar)) + packA8ULvec4(&x.UniformVector, (*[8]C.ULvec4)(unsafe.Pointer(&x.ref7caf648c.uniform_vector))) + x.ClipSize = (byte)(x.ref7caf648c.clip_size) + packA8ULMatrix4x4(&x.Clip, (*[8]C.ULMatrix4x4)(unsafe.Pointer(&x.ref7caf648c.clip))) + x.EnableScissor = (bool)(x.ref7caf648c.enable_scissor) + x.ScissorRect = *NewULIntRectRef(unsafe.Pointer(&x.ref7caf648c.scissor_rect)) +} + +// allocULCommandMemory allocates memory for type C.ULCommand in C. +// The caller is responsible for freeing the this memory via C.free. +func allocULCommandMemory(n int) unsafe.Pointer { + mem, err := C.calloc(C.size_t(n), (C.size_t)(sizeOfULCommandValue)) + if mem == nil { + panic(fmt.Sprintln("memory alloc error: ", err)) + } + return mem +} + +const sizeOfULCommandValue = unsafe.Sizeof([1]C.ULCommand{}) + +// Ref returns the underlying reference to C object or nil if struct is nil. +func (x *ULCommand) Ref() *C.ULCommand { + if x == nil { + return nil + } + return x.ref7ce5cb03 +} + +// Free invokes alloc map's free mechanism that cleanups any allocated memory using C free. +// Does nothing if struct is nil or has no allocation map. +func (x *ULCommand) Free() { + if x != nil && x.allocs7ce5cb03 != nil { + x.allocs7ce5cb03.(*cgoAllocMap).Free() + x.ref7ce5cb03 = nil + } +} + +// NewULCommandRef creates a new wrapper struct with underlying reference set to the original C object. +// Returns nil if the provided pointer to C object is nil too. +func NewULCommandRef(ref unsafe.Pointer) *ULCommand { + if ref == nil { + return nil + } + obj := new(ULCommand) + obj.ref7ce5cb03 = (*C.ULCommand)(unsafe.Pointer(ref)) + return obj +} + +// PassRef returns the underlying C object, otherwise it will allocate one and set its values +// from this wrapping struct, counting allocations into an allocation map. +func (x *ULCommand) PassRef() (*C.ULCommand, *cgoAllocMap) { + if x == nil { + return nil, nil + } else if x.ref7ce5cb03 != nil { + return x.ref7ce5cb03, nil + } + mem7ce5cb03 := allocULCommandMemory(1) + ref7ce5cb03 := (*C.ULCommand)(mem7ce5cb03) + allocs7ce5cb03 := new(cgoAllocMap) + allocs7ce5cb03.Add(mem7ce5cb03) + + var ccommand_type_allocs *cgoAllocMap + ref7ce5cb03.command_type, ccommand_type_allocs = (C.uchar)(x.CommandType), cgoAllocsUnknown + allocs7ce5cb03.Borrow(ccommand_type_allocs) + + var cgpu_state_allocs *cgoAllocMap + ref7ce5cb03.gpu_state, cgpu_state_allocs = x.GpuState.PassValue() + allocs7ce5cb03.Borrow(cgpu_state_allocs) + + var cgeometry_id_allocs *cgoAllocMap + ref7ce5cb03.geometry_id, cgeometry_id_allocs = (C.uint)(x.GeometryId), cgoAllocsUnknown + allocs7ce5cb03.Borrow(cgeometry_id_allocs) + + var cindices_count_allocs *cgoAllocMap + ref7ce5cb03.indices_count, cindices_count_allocs = (C.uint)(x.IndicesCount), cgoAllocsUnknown + allocs7ce5cb03.Borrow(cindices_count_allocs) + + var cindices_offset_allocs *cgoAllocMap + ref7ce5cb03.indices_offset, cindices_offset_allocs = (C.uint)(x.IndicesOffset), cgoAllocsUnknown + allocs7ce5cb03.Borrow(cindices_offset_allocs) + + x.ref7ce5cb03 = ref7ce5cb03 + x.allocs7ce5cb03 = allocs7ce5cb03 + return ref7ce5cb03, allocs7ce5cb03 + +} + +// PassValue does the same as PassRef except that it will try to dereference the returned pointer. +func (x ULCommand) PassValue() (C.ULCommand, *cgoAllocMap) { + if x.ref7ce5cb03 != nil { + return *x.ref7ce5cb03, nil + } + ref, allocs := x.PassRef() + return *ref, allocs +} + +// Deref uses the underlying reference to C object and fills the wrapping struct with values. +// Do not forget to call this method whether you get a struct for C object and want to read its values. +func (x *ULCommand) Deref() { + if x.ref7ce5cb03 == nil { + return + } + x.CommandType = (byte)(x.ref7ce5cb03.command_type) + x.GpuState = *NewULGPUStateRef(unsafe.Pointer(&x.ref7ce5cb03.gpu_state)) + x.GeometryId = (uint32)(x.ref7ce5cb03.geometry_id) + x.IndicesCount = (uint32)(x.ref7ce5cb03.indices_count) + x.IndicesOffset = (uint32)(x.ref7ce5cb03.indices_offset) +} + +// allocULCommandListMemory allocates memory for type C.ULCommandList in C. +// The caller is responsible for freeing the this memory via C.free. +func allocULCommandListMemory(n int) unsafe.Pointer { + mem, err := C.calloc(C.size_t(n), (C.size_t)(sizeOfULCommandListValue)) + if mem == nil { + panic(fmt.Sprintln("memory alloc error: ", err)) + } + return mem +} + +const sizeOfULCommandListValue = unsafe.Sizeof([1]C.ULCommandList{}) + +// unpackSULCommand transforms a sliced Go data structure into plain C format. +func unpackSULCommand(x []ULCommand) (unpacked *C.ULCommand, allocs *cgoAllocMap) { + if x == nil { + return nil, nil + } + allocs = new(cgoAllocMap) + defer runtime.SetFinalizer(allocs, func(a *cgoAllocMap) { + go a.Free() + }) + + len0 := len(x) + mem0 := allocULCommandMemory(len0) + allocs.Add(mem0) + h0 := &sliceHeader{ + Data: mem0, + Cap: len0, + Len: len0, + } + v0 := *(*[]C.ULCommand)(unsafe.Pointer(h0)) + for i0 := range x { + allocs0 := new(cgoAllocMap) + v0[i0], allocs0 = x[i0].PassValue() + allocs.Borrow(allocs0) + } + h := (*sliceHeader)(unsafe.Pointer(&v0)) + unpacked = (*C.ULCommand)(h.Data) + return +} + +// packSULCommand reads sliced Go data structure out from plain C format. +func packSULCommand(v []ULCommand, ptr0 *C.ULCommand) { + const m = 0x7fffffff + for i0 := range v { + ptr1 := (*(*[m / sizeOfULCommandValue]C.ULCommand)(unsafe.Pointer(ptr0)))[i0] + v[i0] = *NewULCommandRef(unsafe.Pointer(&ptr1)) + } +} + +// Ref returns the underlying reference to C object or nil if struct is nil. +func (x *ULCommandList) Ref() *C.ULCommandList { + if x == nil { + return nil + } + return x.ref110fbbd7 +} + +// Free invokes alloc map's free mechanism that cleanups any allocated memory using C free. +// Does nothing if struct is nil or has no allocation map. +func (x *ULCommandList) Free() { + if x != nil && x.allocs110fbbd7 != nil { + x.allocs110fbbd7.(*cgoAllocMap).Free() + x.ref110fbbd7 = nil + } +} + +// NewULCommandListRef creates a new wrapper struct with underlying reference set to the original C object. +// Returns nil if the provided pointer to C object is nil too. +func NewULCommandListRef(ref unsafe.Pointer) *ULCommandList { + if ref == nil { + return nil + } + obj := new(ULCommandList) + obj.ref110fbbd7 = (*C.ULCommandList)(unsafe.Pointer(ref)) + return obj +} + +// PassRef returns the underlying C object, otherwise it will allocate one and set its values +// from this wrapping struct, counting allocations into an allocation map. +func (x *ULCommandList) PassRef() (*C.ULCommandList, *cgoAllocMap) { + if x == nil { + return nil, nil + } else if x.ref110fbbd7 != nil { + return x.ref110fbbd7, nil + } + mem110fbbd7 := allocULCommandListMemory(1) + ref110fbbd7 := (*C.ULCommandList)(mem110fbbd7) + allocs110fbbd7 := new(cgoAllocMap) + allocs110fbbd7.Add(mem110fbbd7) + + var csize_allocs *cgoAllocMap + ref110fbbd7.size, csize_allocs = (C.uint)(x.Size), cgoAllocsUnknown + allocs110fbbd7.Borrow(csize_allocs) + + var ccommands_allocs *cgoAllocMap + ref110fbbd7.commands, ccommands_allocs = unpackSULCommand(x.Commands) + allocs110fbbd7.Borrow(ccommands_allocs) + + x.ref110fbbd7 = ref110fbbd7 + x.allocs110fbbd7 = allocs110fbbd7 + return ref110fbbd7, allocs110fbbd7 + +} + +// PassValue does the same as PassRef except that it will try to dereference the returned pointer. +func (x ULCommandList) PassValue() (C.ULCommandList, *cgoAllocMap) { + if x.ref110fbbd7 != nil { + return *x.ref110fbbd7, nil + } + ref, allocs := x.PassRef() + return *ref, allocs +} + +// Deref uses the underlying reference to C object and fills the wrapping struct with values. +// Do not forget to call this method whether you get a struct for C object and want to read its values. +func (x *ULCommandList) Deref() { + if x.ref110fbbd7 == nil { + return + } + x.Size = (uint32)(x.ref110fbbd7.size) + packSULCommand(x.Commands, x.ref110fbbd7.commands) +} + +func (x ULGPUDriverBeginSynchronizeCallback) PassRef() (ref *C.ULGPUDriverBeginSynchronizeCallback, allocs *cgoAllocMap) { + if x == nil { + return nil, nil + } + if uLGPUDriverBeginSynchronizeCallback650938CFunc == nil { + uLGPUDriverBeginSynchronizeCallback650938CFunc = x + } + return (*C.ULGPUDriverBeginSynchronizeCallback)(C.ULGPUDriverBeginSynchronizeCallback_650938c), nil +} + +func (x ULGPUDriverBeginSynchronizeCallback) PassValue() (ref C.ULGPUDriverBeginSynchronizeCallback, allocs *cgoAllocMap) { + if x == nil { + return nil, nil + } + if uLGPUDriverBeginSynchronizeCallback650938CFunc == nil { + uLGPUDriverBeginSynchronizeCallback650938CFunc = x + } + return (C.ULGPUDriverBeginSynchronizeCallback)(C.ULGPUDriverBeginSynchronizeCallback_650938c), nil +} + +func NewULGPUDriverBeginSynchronizeCallbackRef(ref unsafe.Pointer) *ULGPUDriverBeginSynchronizeCallback { + return (*ULGPUDriverBeginSynchronizeCallback)(ref) +} + +//export uLGPUDriverBeginSynchronizeCallback650938C +func uLGPUDriverBeginSynchronizeCallback650938C() { + if uLGPUDriverBeginSynchronizeCallback650938CFunc != nil { + uLGPUDriverBeginSynchronizeCallback650938CFunc() + return + } + panic("callback func has not been set (race?)") +} + +var uLGPUDriverBeginSynchronizeCallback650938CFunc ULGPUDriverBeginSynchronizeCallback + +func (x ULGPUDriverEndSynchronizeCallback) PassRef() (ref *C.ULGPUDriverEndSynchronizeCallback, allocs *cgoAllocMap) { + if x == nil { + return nil, nil + } + if uLGPUDriverEndSynchronizeCallbackF6BAAD4DFunc == nil { + uLGPUDriverEndSynchronizeCallbackF6BAAD4DFunc = x + } + return (*C.ULGPUDriverEndSynchronizeCallback)(C.ULGPUDriverEndSynchronizeCallback_f6baad4d), nil +} + +func (x ULGPUDriverEndSynchronizeCallback) PassValue() (ref C.ULGPUDriverEndSynchronizeCallback, allocs *cgoAllocMap) { + if x == nil { + return nil, nil + } + if uLGPUDriverEndSynchronizeCallbackF6BAAD4DFunc == nil { + uLGPUDriverEndSynchronizeCallbackF6BAAD4DFunc = x + } + return (C.ULGPUDriverEndSynchronizeCallback)(C.ULGPUDriverEndSynchronizeCallback_f6baad4d), nil +} + +func NewULGPUDriverEndSynchronizeCallbackRef(ref unsafe.Pointer) *ULGPUDriverEndSynchronizeCallback { + return (*ULGPUDriverEndSynchronizeCallback)(ref) +} + +//export uLGPUDriverEndSynchronizeCallbackF6BAAD4D +func uLGPUDriverEndSynchronizeCallbackF6BAAD4D() { + if uLGPUDriverEndSynchronizeCallbackF6BAAD4DFunc != nil { + uLGPUDriverEndSynchronizeCallbackF6BAAD4DFunc() + return + } + panic("callback func has not been set (race?)") +} + +var uLGPUDriverEndSynchronizeCallbackF6BAAD4DFunc ULGPUDriverEndSynchronizeCallback + +func (x ULGPUDriverNextTextureIdCallback) PassRef() (ref *C.ULGPUDriverNextTextureIdCallback, allocs *cgoAllocMap) { + if x == nil { + return nil, nil + } + if uLGPUDriverNextTextureIdCallback7DE045B4Func == nil { + uLGPUDriverNextTextureIdCallback7DE045B4Func = x + } + return (*C.ULGPUDriverNextTextureIdCallback)(C.ULGPUDriverNextTextureIdCallback_7de045b4), nil +} + +func (x ULGPUDriverNextTextureIdCallback) PassValue() (ref C.ULGPUDriverNextTextureIdCallback, allocs *cgoAllocMap) { + if x == nil { + return nil, nil + } + if uLGPUDriverNextTextureIdCallback7DE045B4Func == nil { + uLGPUDriverNextTextureIdCallback7DE045B4Func = x + } + return (C.ULGPUDriverNextTextureIdCallback)(C.ULGPUDriverNextTextureIdCallback_7de045b4), nil +} + +func NewULGPUDriverNextTextureIdCallbackRef(ref unsafe.Pointer) *ULGPUDriverNextTextureIdCallback { + return (*ULGPUDriverNextTextureIdCallback)(ref) +} + +//export uLGPUDriverNextTextureIdCallback7DE045B4 +func uLGPUDriverNextTextureIdCallback7DE045B4() C.uint { + if uLGPUDriverNextTextureIdCallback7DE045B4Func != nil { + ret7de045b4 := uLGPUDriverNextTextureIdCallback7DE045B4Func() + ret, _ := (C.uint)(ret7de045b4), cgoAllocsUnknown + return ret + } + panic("callback func has not been set (race?)") +} + +var uLGPUDriverNextTextureIdCallback7DE045B4Func ULGPUDriverNextTextureIdCallback + +func (x ULGPUDriverCreateTextureCallback) PassRef() (ref *C.ULGPUDriverCreateTextureCallback, allocs *cgoAllocMap) { + if x == nil { + return nil, nil + } + if uLGPUDriverCreateTextureCallbackA32244D8Func == nil { + uLGPUDriverCreateTextureCallbackA32244D8Func = x + } + return (*C.ULGPUDriverCreateTextureCallback)(C.ULGPUDriverCreateTextureCallback_a32244d8), nil +} + +func (x ULGPUDriverCreateTextureCallback) PassValue() (ref C.ULGPUDriverCreateTextureCallback, allocs *cgoAllocMap) { + if x == nil { + return nil, nil + } + if uLGPUDriverCreateTextureCallbackA32244D8Func == nil { + uLGPUDriverCreateTextureCallbackA32244D8Func = x + } + return (C.ULGPUDriverCreateTextureCallback)(C.ULGPUDriverCreateTextureCallback_a32244d8), nil +} + +func NewULGPUDriverCreateTextureCallbackRef(ref unsafe.Pointer) *ULGPUDriverCreateTextureCallback { + return (*ULGPUDriverCreateTextureCallback)(ref) +} + +//export uLGPUDriverCreateTextureCallbackA32244D8 +func uLGPUDriverCreateTextureCallbackA32244D8(ctextureId C.uint, cbitmap C.ULBitmap) { + if uLGPUDriverCreateTextureCallbackA32244D8Func != nil { + textureIda32244d8 := (uint32)(ctextureId) + bitmapa32244d8 := *(*ULBitmap)(unsafe.Pointer(&cbitmap)) + uLGPUDriverCreateTextureCallbackA32244D8Func(textureIda32244d8, bitmapa32244d8) + return + } + panic("callback func has not been set (race?)") +} + +var uLGPUDriverCreateTextureCallbackA32244D8Func ULGPUDriverCreateTextureCallback + +func (x ULGPUDriverUpdateTextureCallback) PassRef() (ref *C.ULGPUDriverUpdateTextureCallback, allocs *cgoAllocMap) { + if x == nil { + return nil, nil + } + if uLGPUDriverUpdateTextureCallback3D7A526Func == nil { + uLGPUDriverUpdateTextureCallback3D7A526Func = x + } + return (*C.ULGPUDriverUpdateTextureCallback)(C.ULGPUDriverUpdateTextureCallback_3d7a526), nil +} + +func (x ULGPUDriverUpdateTextureCallback) PassValue() (ref C.ULGPUDriverUpdateTextureCallback, allocs *cgoAllocMap) { + if x == nil { + return nil, nil + } + if uLGPUDriverUpdateTextureCallback3D7A526Func == nil { + uLGPUDriverUpdateTextureCallback3D7A526Func = x + } + return (C.ULGPUDriverUpdateTextureCallback)(C.ULGPUDriverUpdateTextureCallback_3d7a526), nil +} + +func NewULGPUDriverUpdateTextureCallbackRef(ref unsafe.Pointer) *ULGPUDriverUpdateTextureCallback { + return (*ULGPUDriverUpdateTextureCallback)(ref) +} + +//export uLGPUDriverUpdateTextureCallback3D7A526 +func uLGPUDriverUpdateTextureCallback3D7A526(ctextureId C.uint, cbitmap C.ULBitmap) { + if uLGPUDriverUpdateTextureCallback3D7A526Func != nil { + textureId3d7a526 := (uint32)(ctextureId) + bitmap3d7a526 := *(*ULBitmap)(unsafe.Pointer(&cbitmap)) + uLGPUDriverUpdateTextureCallback3D7A526Func(textureId3d7a526, bitmap3d7a526) + return + } + panic("callback func has not been set (race?)") +} + +var uLGPUDriverUpdateTextureCallback3D7A526Func ULGPUDriverUpdateTextureCallback + +func (x ULGPUDriverDestroyTextureCallback) PassRef() (ref *C.ULGPUDriverDestroyTextureCallback, allocs *cgoAllocMap) { + if x == nil { + return nil, nil + } + if uLGPUDriverDestroyTextureCallbackA8EEA310Func == nil { + uLGPUDriverDestroyTextureCallbackA8EEA310Func = x + } + return (*C.ULGPUDriverDestroyTextureCallback)(C.ULGPUDriverDestroyTextureCallback_a8eea310), nil +} + +func (x ULGPUDriverDestroyTextureCallback) PassValue() (ref C.ULGPUDriverDestroyTextureCallback, allocs *cgoAllocMap) { + if x == nil { + return nil, nil + } + if uLGPUDriverDestroyTextureCallbackA8EEA310Func == nil { + uLGPUDriverDestroyTextureCallbackA8EEA310Func = x + } + return (C.ULGPUDriverDestroyTextureCallback)(C.ULGPUDriverDestroyTextureCallback_a8eea310), nil +} + +func NewULGPUDriverDestroyTextureCallbackRef(ref unsafe.Pointer) *ULGPUDriverDestroyTextureCallback { + return (*ULGPUDriverDestroyTextureCallback)(ref) +} + +//export uLGPUDriverDestroyTextureCallbackA8EEA310 +func uLGPUDriverDestroyTextureCallbackA8EEA310(ctextureId C.uint) { + if uLGPUDriverDestroyTextureCallbackA8EEA310Func != nil { + textureIda8eea310 := (uint32)(ctextureId) + uLGPUDriverDestroyTextureCallbackA8EEA310Func(textureIda8eea310) + return + } + panic("callback func has not been set (race?)") +} + +var uLGPUDriverDestroyTextureCallbackA8EEA310Func ULGPUDriverDestroyTextureCallback + +func (x ULGPUDriverNextRenderBufferIdCallback) PassRef() (ref *C.ULGPUDriverNextRenderBufferIdCallback, allocs *cgoAllocMap) { + if x == nil { + return nil, nil + } + if uLGPUDriverNextRenderBufferIdCallbackBFEB3FB8Func == nil { + uLGPUDriverNextRenderBufferIdCallbackBFEB3FB8Func = x + } + return (*C.ULGPUDriverNextRenderBufferIdCallback)(C.ULGPUDriverNextRenderBufferIdCallback_bfeb3fb8), nil +} + +func (x ULGPUDriverNextRenderBufferIdCallback) PassValue() (ref C.ULGPUDriverNextRenderBufferIdCallback, allocs *cgoAllocMap) { + if x == nil { + return nil, nil + } + if uLGPUDriverNextRenderBufferIdCallbackBFEB3FB8Func == nil { + uLGPUDriverNextRenderBufferIdCallbackBFEB3FB8Func = x + } + return (C.ULGPUDriverNextRenderBufferIdCallback)(C.ULGPUDriverNextRenderBufferIdCallback_bfeb3fb8), nil +} + +func NewULGPUDriverNextRenderBufferIdCallbackRef(ref unsafe.Pointer) *ULGPUDriverNextRenderBufferIdCallback { + return (*ULGPUDriverNextRenderBufferIdCallback)(ref) +} + +//export uLGPUDriverNextRenderBufferIdCallbackBFEB3FB8 +func uLGPUDriverNextRenderBufferIdCallbackBFEB3FB8() C.uint { + if uLGPUDriverNextRenderBufferIdCallbackBFEB3FB8Func != nil { + retbfeb3fb8 := uLGPUDriverNextRenderBufferIdCallbackBFEB3FB8Func() + ret, _ := (C.uint)(retbfeb3fb8), cgoAllocsUnknown + return ret + } + panic("callback func has not been set (race?)") +} + +var uLGPUDriverNextRenderBufferIdCallbackBFEB3FB8Func ULGPUDriverNextRenderBufferIdCallback + +func (x ULGPUDriverCreateRenderBufferCallback) PassRef() (ref *C.ULGPUDriverCreateRenderBufferCallback, allocs *cgoAllocMap) { + if x == nil { + return nil, nil + } + if uLGPUDriverCreateRenderBufferCallback68EE5367Func == nil { + uLGPUDriverCreateRenderBufferCallback68EE5367Func = x + } + return (*C.ULGPUDriverCreateRenderBufferCallback)(C.ULGPUDriverCreateRenderBufferCallback_68ee5367), nil +} + +func (x ULGPUDriverCreateRenderBufferCallback) PassValue() (ref C.ULGPUDriverCreateRenderBufferCallback, allocs *cgoAllocMap) { + if x == nil { + return nil, nil + } + if uLGPUDriverCreateRenderBufferCallback68EE5367Func == nil { + uLGPUDriverCreateRenderBufferCallback68EE5367Func = x + } + return (C.ULGPUDriverCreateRenderBufferCallback)(C.ULGPUDriverCreateRenderBufferCallback_68ee5367), nil +} + +func NewULGPUDriverCreateRenderBufferCallbackRef(ref unsafe.Pointer) *ULGPUDriverCreateRenderBufferCallback { + return (*ULGPUDriverCreateRenderBufferCallback)(ref) +} + +//export uLGPUDriverCreateRenderBufferCallback68EE5367 +func uLGPUDriverCreateRenderBufferCallback68EE5367(crenderBufferId C.uint, cbuffer C.ULRenderBuffer) { + if uLGPUDriverCreateRenderBufferCallback68EE5367Func != nil { + renderBufferId68ee5367 := (uint32)(crenderBufferId) + buffer68ee5367 := *NewULRenderBufferRef(unsafe.Pointer(&cbuffer)) + uLGPUDriverCreateRenderBufferCallback68EE5367Func(renderBufferId68ee5367, buffer68ee5367) + return + } + panic("callback func has not been set (race?)") +} + +var uLGPUDriverCreateRenderBufferCallback68EE5367Func ULGPUDriverCreateRenderBufferCallback + +func (x ULGPUDriverDestroyRenderBufferCallback) PassRef() (ref *C.ULGPUDriverDestroyRenderBufferCallback, allocs *cgoAllocMap) { + if x == nil { + return nil, nil + } + if uLGPUDriverDestroyRenderBufferCallback81623F13Func == nil { + uLGPUDriverDestroyRenderBufferCallback81623F13Func = x + } + return (*C.ULGPUDriverDestroyRenderBufferCallback)(C.ULGPUDriverDestroyRenderBufferCallback_81623f13), nil +} + +func (x ULGPUDriverDestroyRenderBufferCallback) PassValue() (ref C.ULGPUDriverDestroyRenderBufferCallback, allocs *cgoAllocMap) { + if x == nil { + return nil, nil + } + if uLGPUDriverDestroyRenderBufferCallback81623F13Func == nil { + uLGPUDriverDestroyRenderBufferCallback81623F13Func = x + } + return (C.ULGPUDriverDestroyRenderBufferCallback)(C.ULGPUDriverDestroyRenderBufferCallback_81623f13), nil +} + +func NewULGPUDriverDestroyRenderBufferCallbackRef(ref unsafe.Pointer) *ULGPUDriverDestroyRenderBufferCallback { + return (*ULGPUDriverDestroyRenderBufferCallback)(ref) +} + +//export uLGPUDriverDestroyRenderBufferCallback81623F13 +func uLGPUDriverDestroyRenderBufferCallback81623F13(crenderBufferId C.uint) { + if uLGPUDriverDestroyRenderBufferCallback81623F13Func != nil { + renderBufferId81623f13 := (uint32)(crenderBufferId) + uLGPUDriverDestroyRenderBufferCallback81623F13Func(renderBufferId81623f13) + return + } + panic("callback func has not been set (race?)") +} + +var uLGPUDriverDestroyRenderBufferCallback81623F13Func ULGPUDriverDestroyRenderBufferCallback + +func (x ULGPUDriverNextGeometryIdCallback) PassRef() (ref *C.ULGPUDriverNextGeometryIdCallback, allocs *cgoAllocMap) { + if x == nil { + return nil, nil + } + if uLGPUDriverNextGeometryIdCallback5F2A8FEAFunc == nil { + uLGPUDriverNextGeometryIdCallback5F2A8FEAFunc = x + } + return (*C.ULGPUDriverNextGeometryIdCallback)(C.ULGPUDriverNextGeometryIdCallback_5f2a8fea), nil +} + +func (x ULGPUDriverNextGeometryIdCallback) PassValue() (ref C.ULGPUDriverNextGeometryIdCallback, allocs *cgoAllocMap) { + if x == nil { + return nil, nil + } + if uLGPUDriverNextGeometryIdCallback5F2A8FEAFunc == nil { + uLGPUDriverNextGeometryIdCallback5F2A8FEAFunc = x + } + return (C.ULGPUDriverNextGeometryIdCallback)(C.ULGPUDriverNextGeometryIdCallback_5f2a8fea), nil +} + +func NewULGPUDriverNextGeometryIdCallbackRef(ref unsafe.Pointer) *ULGPUDriverNextGeometryIdCallback { + return (*ULGPUDriverNextGeometryIdCallback)(ref) +} + +//export uLGPUDriverNextGeometryIdCallback5F2A8FEA +func uLGPUDriverNextGeometryIdCallback5F2A8FEA() C.uint { + if uLGPUDriverNextGeometryIdCallback5F2A8FEAFunc != nil { + ret5f2a8fea := uLGPUDriverNextGeometryIdCallback5F2A8FEAFunc() + ret, _ := (C.uint)(ret5f2a8fea), cgoAllocsUnknown + return ret + } + panic("callback func has not been set (race?)") +} + +var uLGPUDriverNextGeometryIdCallback5F2A8FEAFunc ULGPUDriverNextGeometryIdCallback + +func (x ULGPUDriverCreateGeometryCallback) PassRef() (ref *C.ULGPUDriverCreateGeometryCallback, allocs *cgoAllocMap) { + if x == nil { + return nil, nil + } + if uLGPUDriverCreateGeometryCallback5957236DFunc == nil { + uLGPUDriverCreateGeometryCallback5957236DFunc = x + } + return (*C.ULGPUDriverCreateGeometryCallback)(C.ULGPUDriverCreateGeometryCallback_5957236d), nil +} + +func (x ULGPUDriverCreateGeometryCallback) PassValue() (ref C.ULGPUDriverCreateGeometryCallback, allocs *cgoAllocMap) { + if x == nil { + return nil, nil + } + if uLGPUDriverCreateGeometryCallback5957236DFunc == nil { + uLGPUDriverCreateGeometryCallback5957236DFunc = x + } + return (C.ULGPUDriverCreateGeometryCallback)(C.ULGPUDriverCreateGeometryCallback_5957236d), nil +} + +func NewULGPUDriverCreateGeometryCallbackRef(ref unsafe.Pointer) *ULGPUDriverCreateGeometryCallback { + return (*ULGPUDriverCreateGeometryCallback)(ref) +} + +//export uLGPUDriverCreateGeometryCallback5957236D +func uLGPUDriverCreateGeometryCallback5957236D(cgeometryId C.uint, cvertices C.ULVertexBuffer, cindices C.ULIndexBuffer) { + if uLGPUDriverCreateGeometryCallback5957236DFunc != nil { + geometryId5957236d := (uint32)(cgeometryId) + vertices5957236d := *NewULVertexBufferRef(unsafe.Pointer(&cvertices)) + indices5957236d := *NewULIndexBufferRef(unsafe.Pointer(&cindices)) + uLGPUDriverCreateGeometryCallback5957236DFunc(geometryId5957236d, vertices5957236d, indices5957236d) + return + } + panic("callback func has not been set (race?)") +} + +var uLGPUDriverCreateGeometryCallback5957236DFunc ULGPUDriverCreateGeometryCallback + +func (x ULGPUDriverUpdateGeometryCallback) PassRef() (ref *C.ULGPUDriverUpdateGeometryCallback, allocs *cgoAllocMap) { + if x == nil { + return nil, nil + } + if uLGPUDriverUpdateGeometryCallback3F20997Func == nil { + uLGPUDriverUpdateGeometryCallback3F20997Func = x + } + return (*C.ULGPUDriverUpdateGeometryCallback)(C.ULGPUDriverUpdateGeometryCallback_3f20997), nil +} + +func (x ULGPUDriverUpdateGeometryCallback) PassValue() (ref C.ULGPUDriverUpdateGeometryCallback, allocs *cgoAllocMap) { + if x == nil { + return nil, nil + } + if uLGPUDriverUpdateGeometryCallback3F20997Func == nil { + uLGPUDriverUpdateGeometryCallback3F20997Func = x + } + return (C.ULGPUDriverUpdateGeometryCallback)(C.ULGPUDriverUpdateGeometryCallback_3f20997), nil +} + +func NewULGPUDriverUpdateGeometryCallbackRef(ref unsafe.Pointer) *ULGPUDriverUpdateGeometryCallback { + return (*ULGPUDriverUpdateGeometryCallback)(ref) +} + +//export uLGPUDriverUpdateGeometryCallback3F20997 +func uLGPUDriverUpdateGeometryCallback3F20997(cgeometryId C.uint, cvertices C.ULVertexBuffer, cindices C.ULIndexBuffer) { + if uLGPUDriverUpdateGeometryCallback3F20997Func != nil { + geometryId3f20997 := (uint32)(cgeometryId) + vertices3f20997 := *NewULVertexBufferRef(unsafe.Pointer(&cvertices)) + indices3f20997 := *NewULIndexBufferRef(unsafe.Pointer(&cindices)) + uLGPUDriverUpdateGeometryCallback3F20997Func(geometryId3f20997, vertices3f20997, indices3f20997) + return + } + panic("callback func has not been set (race?)") +} + +var uLGPUDriverUpdateGeometryCallback3F20997Func ULGPUDriverUpdateGeometryCallback + +func (x ULGPUDriverDestroyGeometryCallback) PassRef() (ref *C.ULGPUDriverDestroyGeometryCallback, allocs *cgoAllocMap) { + if x == nil { + return nil, nil + } + if uLGPUDriverDestroyGeometryCallbackCCE3A508Func == nil { + uLGPUDriverDestroyGeometryCallbackCCE3A508Func = x + } + return (*C.ULGPUDriverDestroyGeometryCallback)(C.ULGPUDriverDestroyGeometryCallback_cce3a508), nil +} + +func (x ULGPUDriverDestroyGeometryCallback) PassValue() (ref C.ULGPUDriverDestroyGeometryCallback, allocs *cgoAllocMap) { + if x == nil { + return nil, nil + } + if uLGPUDriverDestroyGeometryCallbackCCE3A508Func == nil { + uLGPUDriverDestroyGeometryCallbackCCE3A508Func = x + } + return (C.ULGPUDriverDestroyGeometryCallback)(C.ULGPUDriverDestroyGeometryCallback_cce3a508), nil +} + +func NewULGPUDriverDestroyGeometryCallbackRef(ref unsafe.Pointer) *ULGPUDriverDestroyGeometryCallback { + return (*ULGPUDriverDestroyGeometryCallback)(ref) +} + +//export uLGPUDriverDestroyGeometryCallbackCCE3A508 +func uLGPUDriverDestroyGeometryCallbackCCE3A508(cgeometryId C.uint) { + if uLGPUDriverDestroyGeometryCallbackCCE3A508Func != nil { + geometryIdcce3a508 := (uint32)(cgeometryId) + uLGPUDriverDestroyGeometryCallbackCCE3A508Func(geometryIdcce3a508) + return + } + panic("callback func has not been set (race?)") +} + +var uLGPUDriverDestroyGeometryCallbackCCE3A508Func ULGPUDriverDestroyGeometryCallback + +func (x ULGPUDriverUpdateCommandListCallback) PassRef() (ref *C.ULGPUDriverUpdateCommandListCallback, allocs *cgoAllocMap) { + if x == nil { + return nil, nil + } + if uLGPUDriverUpdateCommandListCallbackD3815A9EFunc == nil { + uLGPUDriverUpdateCommandListCallbackD3815A9EFunc = x + } + return (*C.ULGPUDriverUpdateCommandListCallback)(C.ULGPUDriverUpdateCommandListCallback_d3815a9e), nil +} + +func (x ULGPUDriverUpdateCommandListCallback) PassValue() (ref C.ULGPUDriverUpdateCommandListCallback, allocs *cgoAllocMap) { + if x == nil { + return nil, nil + } + if uLGPUDriverUpdateCommandListCallbackD3815A9EFunc == nil { + uLGPUDriverUpdateCommandListCallbackD3815A9EFunc = x + } + return (C.ULGPUDriverUpdateCommandListCallback)(C.ULGPUDriverUpdateCommandListCallback_d3815a9e), nil +} + +func NewULGPUDriverUpdateCommandListCallbackRef(ref unsafe.Pointer) *ULGPUDriverUpdateCommandListCallback { + return (*ULGPUDriverUpdateCommandListCallback)(ref) +} + +//export uLGPUDriverUpdateCommandListCallbackD3815A9E +func uLGPUDriverUpdateCommandListCallbackD3815A9E(clist C.ULCommandList) { + if uLGPUDriverUpdateCommandListCallbackD3815A9EFunc != nil { + listd3815a9e := *NewULCommandListRef(unsafe.Pointer(&clist)) + uLGPUDriverUpdateCommandListCallbackD3815A9EFunc(listd3815a9e) + return + } + panic("callback func has not been set (race?)") +} + +var uLGPUDriverUpdateCommandListCallbackD3815A9EFunc ULGPUDriverUpdateCommandListCallback + +// allocULGPUDriverMemory allocates memory for type C.ULGPUDriver in C. +// The caller is responsible for freeing the this memory via C.free. +func allocULGPUDriverMemory(n int) unsafe.Pointer { + mem, err := C.calloc(C.size_t(n), (C.size_t)(sizeOfULGPUDriverValue)) + if mem == nil { + panic(fmt.Sprintln("memory alloc error: ", err)) + } + return mem +} + +const sizeOfULGPUDriverValue = unsafe.Sizeof([1]C.ULGPUDriver{}) + +// Ref returns the underlying reference to C object or nil if struct is nil. +func (x *ULGPUDriver) Ref() *C.ULGPUDriver { + if x == nil { + return nil + } + return x.refdfd8a4f0 +} + +// Free invokes alloc map's free mechanism that cleanups any allocated memory using C free. +// Does nothing if struct is nil or has no allocation map. +func (x *ULGPUDriver) Free() { + if x != nil && x.allocsdfd8a4f0 != nil { + x.allocsdfd8a4f0.(*cgoAllocMap).Free() + x.refdfd8a4f0 = nil + } +} + +// NewULGPUDriverRef creates a new wrapper struct with underlying reference set to the original C object. +// Returns nil if the provided pointer to C object is nil too. +func NewULGPUDriverRef(ref unsafe.Pointer) *ULGPUDriver { + if ref == nil { + return nil + } + obj := new(ULGPUDriver) + obj.refdfd8a4f0 = (*C.ULGPUDriver)(unsafe.Pointer(ref)) + return obj +} + +// PassRef returns the underlying C object, otherwise it will allocate one and set its values +// from this wrapping struct, counting allocations into an allocation map. +func (x *ULGPUDriver) PassRef() (*C.ULGPUDriver, *cgoAllocMap) { + if x == nil { + return nil, nil + } else if x.refdfd8a4f0 != nil { + return x.refdfd8a4f0, nil + } + memdfd8a4f0 := allocULGPUDriverMemory(1) + refdfd8a4f0 := (*C.ULGPUDriver)(memdfd8a4f0) + allocsdfd8a4f0 := new(cgoAllocMap) + allocsdfd8a4f0.Add(memdfd8a4f0) + + var cbegin_synchronize_allocs *cgoAllocMap + refdfd8a4f0.begin_synchronize, cbegin_synchronize_allocs = x.BeginSynchronize.PassValue() + allocsdfd8a4f0.Borrow(cbegin_synchronize_allocs) + + var cend_synchronize_allocs *cgoAllocMap + refdfd8a4f0.end_synchronize, cend_synchronize_allocs = x.EndSynchronize.PassValue() + allocsdfd8a4f0.Borrow(cend_synchronize_allocs) + + var cnext_texture_id_allocs *cgoAllocMap + refdfd8a4f0.next_texture_id, cnext_texture_id_allocs = x.NextTextureId.PassValue() + allocsdfd8a4f0.Borrow(cnext_texture_id_allocs) + + var ccreate_texture_allocs *cgoAllocMap + refdfd8a4f0.create_texture, ccreate_texture_allocs = x.CreateTexture.PassValue() + allocsdfd8a4f0.Borrow(ccreate_texture_allocs) + + var cupdate_texture_allocs *cgoAllocMap + refdfd8a4f0.update_texture, cupdate_texture_allocs = x.UpdateTexture.PassValue() + allocsdfd8a4f0.Borrow(cupdate_texture_allocs) + + var cdestroy_texture_allocs *cgoAllocMap + refdfd8a4f0.destroy_texture, cdestroy_texture_allocs = x.DestroyTexture.PassValue() + allocsdfd8a4f0.Borrow(cdestroy_texture_allocs) + + var cnext_render_buffer_id_allocs *cgoAllocMap + refdfd8a4f0.next_render_buffer_id, cnext_render_buffer_id_allocs = x.NextRenderBufferId.PassValue() + allocsdfd8a4f0.Borrow(cnext_render_buffer_id_allocs) + + var ccreate_render_buffer_allocs *cgoAllocMap + refdfd8a4f0.create_render_buffer, ccreate_render_buffer_allocs = x.CreateRenderBuffer.PassValue() + allocsdfd8a4f0.Borrow(ccreate_render_buffer_allocs) + + var cdestroy_render_buffer_allocs *cgoAllocMap + refdfd8a4f0.destroy_render_buffer, cdestroy_render_buffer_allocs = x.DestroyRenderBuffer.PassValue() + allocsdfd8a4f0.Borrow(cdestroy_render_buffer_allocs) + + var cnext_geometry_id_allocs *cgoAllocMap + refdfd8a4f0.next_geometry_id, cnext_geometry_id_allocs = x.NextGeometryId.PassValue() + allocsdfd8a4f0.Borrow(cnext_geometry_id_allocs) + + var ccreate_geometry_allocs *cgoAllocMap + refdfd8a4f0.create_geometry, ccreate_geometry_allocs = x.CreateGeometry.PassValue() + allocsdfd8a4f0.Borrow(ccreate_geometry_allocs) + + var cupdate_geometry_allocs *cgoAllocMap + refdfd8a4f0.update_geometry, cupdate_geometry_allocs = x.UpdateGeometry.PassValue() + allocsdfd8a4f0.Borrow(cupdate_geometry_allocs) + + var cdestroy_geometry_allocs *cgoAllocMap + refdfd8a4f0.destroy_geometry, cdestroy_geometry_allocs = x.DestroyGeometry.PassValue() + allocsdfd8a4f0.Borrow(cdestroy_geometry_allocs) + + var cupdate_command_list_allocs *cgoAllocMap + refdfd8a4f0.update_command_list, cupdate_command_list_allocs = x.UpdateCommandList.PassValue() + allocsdfd8a4f0.Borrow(cupdate_command_list_allocs) + + x.refdfd8a4f0 = refdfd8a4f0 + x.allocsdfd8a4f0 = allocsdfd8a4f0 + return refdfd8a4f0, allocsdfd8a4f0 + +} + +// PassValue does the same as PassRef except that it will try to dereference the returned pointer. +func (x ULGPUDriver) PassValue() (C.ULGPUDriver, *cgoAllocMap) { + if x.refdfd8a4f0 != nil { + return *x.refdfd8a4f0, nil + } + ref, allocs := x.PassRef() + return *ref, allocs +} + +// Deref uses the underlying reference to C object and fills the wrapping struct with values. +// Do not forget to call this method whether you get a struct for C object and want to read its values. +func (x *ULGPUDriver) Deref() { + if x.refdfd8a4f0 == nil { + return + } + x.BeginSynchronize = *NewULGPUDriverBeginSynchronizeCallbackRef(unsafe.Pointer(&x.refdfd8a4f0.begin_synchronize)) + x.EndSynchronize = *NewULGPUDriverEndSynchronizeCallbackRef(unsafe.Pointer(&x.refdfd8a4f0.end_synchronize)) + x.NextTextureId = *NewULGPUDriverNextTextureIdCallbackRef(unsafe.Pointer(&x.refdfd8a4f0.next_texture_id)) + x.CreateTexture = *NewULGPUDriverCreateTextureCallbackRef(unsafe.Pointer(&x.refdfd8a4f0.create_texture)) + x.UpdateTexture = *NewULGPUDriverUpdateTextureCallbackRef(unsafe.Pointer(&x.refdfd8a4f0.update_texture)) + x.DestroyTexture = *NewULGPUDriverDestroyTextureCallbackRef(unsafe.Pointer(&x.refdfd8a4f0.destroy_texture)) + x.NextRenderBufferId = *NewULGPUDriverNextRenderBufferIdCallbackRef(unsafe.Pointer(&x.refdfd8a4f0.next_render_buffer_id)) + x.CreateRenderBuffer = *NewULGPUDriverCreateRenderBufferCallbackRef(unsafe.Pointer(&x.refdfd8a4f0.create_render_buffer)) + x.DestroyRenderBuffer = *NewULGPUDriverDestroyRenderBufferCallbackRef(unsafe.Pointer(&x.refdfd8a4f0.destroy_render_buffer)) + x.NextGeometryId = *NewULGPUDriverNextGeometryIdCallbackRef(unsafe.Pointer(&x.refdfd8a4f0.next_geometry_id)) + x.CreateGeometry = *NewULGPUDriverCreateGeometryCallbackRef(unsafe.Pointer(&x.refdfd8a4f0.create_geometry)) + x.UpdateGeometry = *NewULGPUDriverUpdateGeometryCallbackRef(unsafe.Pointer(&x.refdfd8a4f0.update_geometry)) + x.DestroyGeometry = *NewULGPUDriverDestroyGeometryCallbackRef(unsafe.Pointer(&x.refdfd8a4f0.destroy_geometry)) + x.UpdateCommandList = *NewULGPUDriverUpdateCommandListCallbackRef(unsafe.Pointer(&x.refdfd8a4f0.update_command_list)) +} + +func (x ULClipboardClearCallback) PassRef() (ref *C.ULClipboardClearCallback, allocs *cgoAllocMap) { + if x == nil { + return nil, nil + } + if uLClipboardClearCallbackEDA3036AFunc == nil { + uLClipboardClearCallbackEDA3036AFunc = x + } + return (*C.ULClipboardClearCallback)(C.ULClipboardClearCallback_eda3036a), nil +} + +func (x ULClipboardClearCallback) PassValue() (ref C.ULClipboardClearCallback, allocs *cgoAllocMap) { + if x == nil { + return nil, nil + } + if uLClipboardClearCallbackEDA3036AFunc == nil { + uLClipboardClearCallbackEDA3036AFunc = x + } + return (C.ULClipboardClearCallback)(C.ULClipboardClearCallback_eda3036a), nil +} + +func NewULClipboardClearCallbackRef(ref unsafe.Pointer) *ULClipboardClearCallback { + return (*ULClipboardClearCallback)(ref) +} + +//export uLClipboardClearCallbackEDA3036A +func uLClipboardClearCallbackEDA3036A() { + if uLClipboardClearCallbackEDA3036AFunc != nil { + uLClipboardClearCallbackEDA3036AFunc() + return + } + panic("callback func has not been set (race?)") +} + +var uLClipboardClearCallbackEDA3036AFunc ULClipboardClearCallback + +func (x ULClipboardReadPlainTextCallback) PassRef() (ref *C.ULClipboardReadPlainTextCallback, allocs *cgoAllocMap) { + if x == nil { + return nil, nil + } + if uLClipboardReadPlainTextCallbackFEDFB2B6Func == nil { + uLClipboardReadPlainTextCallbackFEDFB2B6Func = x + } + return (*C.ULClipboardReadPlainTextCallback)(C.ULClipboardReadPlainTextCallback_fedfb2b6), nil +} + +func (x ULClipboardReadPlainTextCallback) PassValue() (ref C.ULClipboardReadPlainTextCallback, allocs *cgoAllocMap) { + if x == nil { + return nil, nil + } + if uLClipboardReadPlainTextCallbackFEDFB2B6Func == nil { + uLClipboardReadPlainTextCallbackFEDFB2B6Func = x + } + return (C.ULClipboardReadPlainTextCallback)(C.ULClipboardReadPlainTextCallback_fedfb2b6), nil +} + +func NewULClipboardReadPlainTextCallbackRef(ref unsafe.Pointer) *ULClipboardReadPlainTextCallback { + return (*ULClipboardReadPlainTextCallback)(ref) +} + +//export uLClipboardReadPlainTextCallbackFEDFB2B6 +func uLClipboardReadPlainTextCallbackFEDFB2B6(cresult C.ULString) { + if uLClipboardReadPlainTextCallbackFEDFB2B6Func != nil { + resultfedfb2b6 := *(*ULString)(unsafe.Pointer(&cresult)) + uLClipboardReadPlainTextCallbackFEDFB2B6Func(resultfedfb2b6) + return + } + panic("callback func has not been set (race?)") +} + +var uLClipboardReadPlainTextCallbackFEDFB2B6Func ULClipboardReadPlainTextCallback + +func (x ULClipboardWritePlainTextCallback) PassRef() (ref *C.ULClipboardWritePlainTextCallback, allocs *cgoAllocMap) { + if x == nil { + return nil, nil + } + if uLClipboardWritePlainTextCallback6E8E0CA4Func == nil { + uLClipboardWritePlainTextCallback6E8E0CA4Func = x + } + return (*C.ULClipboardWritePlainTextCallback)(C.ULClipboardWritePlainTextCallback_6e8e0ca4), nil +} + +func (x ULClipboardWritePlainTextCallback) PassValue() (ref C.ULClipboardWritePlainTextCallback, allocs *cgoAllocMap) { + if x == nil { + return nil, nil + } + if uLClipboardWritePlainTextCallback6E8E0CA4Func == nil { + uLClipboardWritePlainTextCallback6E8E0CA4Func = x + } + return (C.ULClipboardWritePlainTextCallback)(C.ULClipboardWritePlainTextCallback_6e8e0ca4), nil +} + +func NewULClipboardWritePlainTextCallbackRef(ref unsafe.Pointer) *ULClipboardWritePlainTextCallback { + return (*ULClipboardWritePlainTextCallback)(ref) +} + +//export uLClipboardWritePlainTextCallback6E8E0CA4 +func uLClipboardWritePlainTextCallback6E8E0CA4(ctext C.ULString) { + if uLClipboardWritePlainTextCallback6E8E0CA4Func != nil { + text6e8e0ca4 := *(*ULString)(unsafe.Pointer(&ctext)) + uLClipboardWritePlainTextCallback6E8E0CA4Func(text6e8e0ca4) + return + } + panic("callback func has not been set (race?)") +} + +var uLClipboardWritePlainTextCallback6E8E0CA4Func ULClipboardWritePlainTextCallback + +// allocULClipboardMemory allocates memory for type C.ULClipboard in C. +// The caller is responsible for freeing the this memory via C.free. +func allocULClipboardMemory(n int) unsafe.Pointer { + mem, err := C.calloc(C.size_t(n), (C.size_t)(sizeOfULClipboardValue)) + if mem == nil { + panic(fmt.Sprintln("memory alloc error: ", err)) + } + return mem +} + +const sizeOfULClipboardValue = unsafe.Sizeof([1]C.ULClipboard{}) + +// Ref returns the underlying reference to C object or nil if struct is nil. +func (x *ULClipboard) Ref() *C.ULClipboard { + if x == nil { + return nil + } + return x.refdcb753f +} + +// Free invokes alloc map's free mechanism that cleanups any allocated memory using C free. +// Does nothing if struct is nil or has no allocation map. +func (x *ULClipboard) Free() { + if x != nil && x.allocsdcb753f != nil { + x.allocsdcb753f.(*cgoAllocMap).Free() + x.refdcb753f = nil + } +} + +// NewULClipboardRef creates a new wrapper struct with underlying reference set to the original C object. +// Returns nil if the provided pointer to C object is nil too. +func NewULClipboardRef(ref unsafe.Pointer) *ULClipboard { + if ref == nil { + return nil + } + obj := new(ULClipboard) + obj.refdcb753f = (*C.ULClipboard)(unsafe.Pointer(ref)) + return obj +} + +// PassRef returns the underlying C object, otherwise it will allocate one and set its values +// from this wrapping struct, counting allocations into an allocation map. +func (x *ULClipboard) PassRef() (*C.ULClipboard, *cgoAllocMap) { + if x == nil { + return nil, nil + } else if x.refdcb753f != nil { + return x.refdcb753f, nil + } + memdcb753f := allocULClipboardMemory(1) + refdcb753f := (*C.ULClipboard)(memdcb753f) + allocsdcb753f := new(cgoAllocMap) + allocsdcb753f.Add(memdcb753f) + + var cclear_allocs *cgoAllocMap + refdcb753f.clear, cclear_allocs = x.Clear.PassValue() + allocsdcb753f.Borrow(cclear_allocs) + + var cread_plain_text_allocs *cgoAllocMap + refdcb753f.read_plain_text, cread_plain_text_allocs = x.ReadPlainText.PassValue() + allocsdcb753f.Borrow(cread_plain_text_allocs) + + var cwrite_plain_text_allocs *cgoAllocMap + refdcb753f.write_plain_text, cwrite_plain_text_allocs = x.WritePlainText.PassValue() + allocsdcb753f.Borrow(cwrite_plain_text_allocs) + + x.refdcb753f = refdcb753f + x.allocsdcb753f = allocsdcb753f + return refdcb753f, allocsdcb753f + +} + +// PassValue does the same as PassRef except that it will try to dereference the returned pointer. +func (x ULClipboard) PassValue() (C.ULClipboard, *cgoAllocMap) { + if x.refdcb753f != nil { + return *x.refdcb753f, nil + } + ref, allocs := x.PassRef() + return *ref, allocs +} + +// Deref uses the underlying reference to C object and fills the wrapping struct with values. +// Do not forget to call this method whether you get a struct for C object and want to read its values. +func (x *ULClipboard) Deref() { + if x.refdcb753f == nil { + return + } + x.Clear = *NewULClipboardClearCallbackRef(unsafe.Pointer(&x.refdcb753f.clear)) + x.ReadPlainText = *NewULClipboardReadPlainTextCallbackRef(unsafe.Pointer(&x.refdcb753f.read_plain_text)) + x.WritePlainText = *NewULClipboardWritePlainTextCallbackRef(unsafe.Pointer(&x.refdcb753f.write_plain_text)) +} + func (x JSTypedArrayBytesDeallocator) PassRef() (ref *C.JSTypedArrayBytesDeallocator, allocs *cgoAllocMap) { if x == nil { return nil, nil @@ -600,6 +3977,44 @@ func jSObjectInitializeCallback5793B16(cctx C.JSContextRef, cobject C.JSObjectRe var jSObjectInitializeCallback5793B16Func JSObjectInitializeCallback +func (x JSObjectInitializeCallbackEx) PassRef() (ref *C.JSObjectInitializeCallbackEx, allocs *cgoAllocMap) { + if x == nil { + return nil, nil + } + if jSObjectInitializeCallbackEx3F9A093BFunc == nil { + jSObjectInitializeCallbackEx3F9A093BFunc = x + } + return (*C.JSObjectInitializeCallbackEx)(C.JSObjectInitializeCallbackEx_3f9a093b), nil +} + +func (x JSObjectInitializeCallbackEx) PassValue() (ref C.JSObjectInitializeCallbackEx, allocs *cgoAllocMap) { + if x == nil { + return nil, nil + } + if jSObjectInitializeCallbackEx3F9A093BFunc == nil { + jSObjectInitializeCallbackEx3F9A093BFunc = x + } + return (C.JSObjectInitializeCallbackEx)(C.JSObjectInitializeCallbackEx_3f9a093b), nil +} + +func NewJSObjectInitializeCallbackExRef(ref unsafe.Pointer) *JSObjectInitializeCallbackEx { + return (*JSObjectInitializeCallbackEx)(ref) +} + +//export jSObjectInitializeCallbackEx3F9A093B +func jSObjectInitializeCallbackEx3F9A093B(cctx C.JSContextRef, cjsClass C.JSClassRef, cobject C.JSObjectRef) { + if jSObjectInitializeCallbackEx3F9A093BFunc != nil { + ctx3f9a093b := *(*JSContextRef)(unsafe.Pointer(&cctx)) + jsClass3f9a093b := *(*JSClassRef)(unsafe.Pointer(&cjsClass)) + object3f9a093b := *(*JSObjectRef)(unsafe.Pointer(&cobject)) + jSObjectInitializeCallbackEx3F9A093BFunc(ctx3f9a093b, jsClass3f9a093b, object3f9a093b) + return + } + panic("callback func has not been set (race?)") +} + +var jSObjectInitializeCallbackEx3F9A093BFunc JSObjectInitializeCallbackEx + func (x JSObjectFinalizeCallback) PassRef() (ref *C.JSObjectFinalizeCallback, allocs *cgoAllocMap) { if x == nil { return nil, nil @@ -636,6 +4051,43 @@ func jSObjectFinalizeCallback93DA0AEA(cobject C.JSObjectRef) { var jSObjectFinalizeCallback93DA0AEAFunc JSObjectFinalizeCallback +func (x JSObjectFinalizeCallbackEx) PassRef() (ref *C.JSObjectFinalizeCallbackEx, allocs *cgoAllocMap) { + if x == nil { + return nil, nil + } + if jSObjectFinalizeCallbackExD64D3113Func == nil { + jSObjectFinalizeCallbackExD64D3113Func = x + } + return (*C.JSObjectFinalizeCallbackEx)(C.JSObjectFinalizeCallbackEx_d64d3113), nil +} + +func (x JSObjectFinalizeCallbackEx) PassValue() (ref C.JSObjectFinalizeCallbackEx, allocs *cgoAllocMap) { + if x == nil { + return nil, nil + } + if jSObjectFinalizeCallbackExD64D3113Func == nil { + jSObjectFinalizeCallbackExD64D3113Func = x + } + return (C.JSObjectFinalizeCallbackEx)(C.JSObjectFinalizeCallbackEx_d64d3113), nil +} + +func NewJSObjectFinalizeCallbackExRef(ref unsafe.Pointer) *JSObjectFinalizeCallbackEx { + return (*JSObjectFinalizeCallbackEx)(ref) +} + +//export jSObjectFinalizeCallbackExD64D3113 +func jSObjectFinalizeCallbackExD64D3113(cjsClass C.JSClassRef, cobject C.JSObjectRef) { + if jSObjectFinalizeCallbackExD64D3113Func != nil { + jsClassd64d3113 := *(*JSClassRef)(unsafe.Pointer(&cjsClass)) + objectd64d3113 := *(*JSObjectRef)(unsafe.Pointer(&cobject)) + jSObjectFinalizeCallbackExD64D3113Func(jsClassd64d3113, objectd64d3113) + return + } + panic("callback func has not been set (race?)") +} + +var jSObjectFinalizeCallbackExD64D3113Func JSObjectFinalizeCallbackEx + func (x JSObjectHasPropertyCallback) PassRef() (ref *C.JSObjectHasPropertyCallback, allocs *cgoAllocMap) { if x == nil { return nil, nil @@ -675,12 +4127,46 @@ func jSObjectHasPropertyCallback340BFA95(cctx C.JSContextRef, cobject C.JSObject var jSObjectHasPropertyCallback340BFA95Func JSObjectHasPropertyCallback -type sliceHeader struct { - Data unsafe.Pointer - Len int - Cap int +func (x JSObjectHasPropertyCallbackEx) PassRef() (ref *C.JSObjectHasPropertyCallbackEx, allocs *cgoAllocMap) { + if x == nil { + return nil, nil + } + if jSObjectHasPropertyCallbackExC35701E7Func == nil { + jSObjectHasPropertyCallbackExC35701E7Func = x + } + return (*C.JSObjectHasPropertyCallbackEx)(C.JSObjectHasPropertyCallbackEx_c35701e7), nil } +func (x JSObjectHasPropertyCallbackEx) PassValue() (ref C.JSObjectHasPropertyCallbackEx, allocs *cgoAllocMap) { + if x == nil { + return nil, nil + } + if jSObjectHasPropertyCallbackExC35701E7Func == nil { + jSObjectHasPropertyCallbackExC35701E7Func = x + } + return (C.JSObjectHasPropertyCallbackEx)(C.JSObjectHasPropertyCallbackEx_c35701e7), nil +} + +func NewJSObjectHasPropertyCallbackExRef(ref unsafe.Pointer) *JSObjectHasPropertyCallbackEx { + return (*JSObjectHasPropertyCallbackEx)(ref) +} + +//export jSObjectHasPropertyCallbackExC35701E7 +func jSObjectHasPropertyCallbackExC35701E7(cctx C.JSContextRef, cjsClass C.JSClassRef, cobject C.JSObjectRef, cpropertyName C.JSStringRef) C._Bool { + if jSObjectHasPropertyCallbackExC35701E7Func != nil { + ctxc35701e7 := *(*JSContextRef)(unsafe.Pointer(&cctx)) + jsClassc35701e7 := *(*JSClassRef)(unsafe.Pointer(&cjsClass)) + objectc35701e7 := *(*JSObjectRef)(unsafe.Pointer(&cobject)) + propertyNamec35701e7 := *(*JSStringRef)(unsafe.Pointer(&cpropertyName)) + retc35701e7 := jSObjectHasPropertyCallbackExC35701E7Func(ctxc35701e7, jsClassc35701e7, objectc35701e7, propertyNamec35701e7) + ret, _ := (C._Bool)(retc35701e7), cgoAllocsUnknown + return ret + } + panic("callback func has not been set (race?)") +} + +var jSObjectHasPropertyCallbackExC35701E7Func JSObjectHasPropertyCallbackEx + func (x JSObjectGetPropertyCallback) PassRef() (ref *C.JSObjectGetPropertyCallback, allocs *cgoAllocMap) { if x == nil { return nil, nil @@ -712,10 +4198,10 @@ func jSObjectGetPropertyCallback5CAEC716(cctx C.JSContextRef, cobject C.JSObject object5caec716 := *(*JSObjectRef)(unsafe.Pointer(&cobject)) propertyName5caec716 := *(*JSStringRef)(unsafe.Pointer(&cpropertyName)) var exception5caec716 []JSValueRef - hxfc4425b := (*sliceHeader)(unsafe.Pointer(&exception5caec716)) - hxfc4425b.Data = unsafe.Pointer(cexception) - hxfc4425b.Cap = 0x7fffffff - // hxfc4425b.Len = ? + hxfa9955c := (*sliceHeader)(unsafe.Pointer(&exception5caec716)) + hxfa9955c.Data = unsafe.Pointer(cexception) + hxfa9955c.Cap = 0x7fffffff + // hxfa9955c.Len = ? ret5caec716 := jSObjectGetPropertyCallback5CAEC716Func(ctx5caec716, object5caec716, propertyName5caec716, exception5caec716) ret, _ := *(*C.JSValueRef)(unsafe.Pointer(&ret5caec716)), cgoAllocsUnknown @@ -726,6 +4212,52 @@ func jSObjectGetPropertyCallback5CAEC716(cctx C.JSContextRef, cobject C.JSObject var jSObjectGetPropertyCallback5CAEC716Func JSObjectGetPropertyCallback +func (x JSObjectGetPropertyCallbackEx) PassRef() (ref *C.JSObjectGetPropertyCallbackEx, allocs *cgoAllocMap) { + if x == nil { + return nil, nil + } + if jSObjectGetPropertyCallbackEx8B91EEDBFunc == nil { + jSObjectGetPropertyCallbackEx8B91EEDBFunc = x + } + return (*C.JSObjectGetPropertyCallbackEx)(C.JSObjectGetPropertyCallbackEx_8b91eedb), nil +} + +func (x JSObjectGetPropertyCallbackEx) PassValue() (ref C.JSObjectGetPropertyCallbackEx, allocs *cgoAllocMap) { + if x == nil { + return nil, nil + } + if jSObjectGetPropertyCallbackEx8B91EEDBFunc == nil { + jSObjectGetPropertyCallbackEx8B91EEDBFunc = x + } + return (C.JSObjectGetPropertyCallbackEx)(C.JSObjectGetPropertyCallbackEx_8b91eedb), nil +} + +func NewJSObjectGetPropertyCallbackExRef(ref unsafe.Pointer) *JSObjectGetPropertyCallbackEx { + return (*JSObjectGetPropertyCallbackEx)(ref) +} + +//export jSObjectGetPropertyCallbackEx8B91EEDB +func jSObjectGetPropertyCallbackEx8B91EEDB(cctx C.JSContextRef, cjsClass C.JSClassRef, cobject C.JSObjectRef, cpropertyName C.JSStringRef, cexception *C.JSValueRef) C.JSValueRef { + if jSObjectGetPropertyCallbackEx8B91EEDBFunc != nil { + ctx8b91eedb := *(*JSContextRef)(unsafe.Pointer(&cctx)) + jsClass8b91eedb := *(*JSClassRef)(unsafe.Pointer(&cjsClass)) + object8b91eedb := *(*JSObjectRef)(unsafe.Pointer(&cobject)) + propertyName8b91eedb := *(*JSStringRef)(unsafe.Pointer(&cpropertyName)) + var exception8b91eedb []JSValueRef + hxfa3f05c := (*sliceHeader)(unsafe.Pointer(&exception8b91eedb)) + hxfa3f05c.Data = unsafe.Pointer(cexception) + hxfa3f05c.Cap = 0x7fffffff + // hxfa3f05c.Len = ? + + ret8b91eedb := jSObjectGetPropertyCallbackEx8B91EEDBFunc(ctx8b91eedb, jsClass8b91eedb, object8b91eedb, propertyName8b91eedb, exception8b91eedb) + ret, _ := *(*C.JSValueRef)(unsafe.Pointer(&ret8b91eedb)), cgoAllocsUnknown + return ret + } + panic("callback func has not been set (race?)") +} + +var jSObjectGetPropertyCallbackEx8B91EEDBFunc JSObjectGetPropertyCallbackEx + func (x JSObjectSetPropertyCallback) PassRef() (ref *C.JSObjectSetPropertyCallback, allocs *cgoAllocMap) { if x == nil { return nil, nil @@ -758,10 +4290,10 @@ func jSObjectSetPropertyCallbackA684F1FE(cctx C.JSContextRef, cobject C.JSObject propertyNamea684f1fe := *(*JSStringRef)(unsafe.Pointer(&cpropertyName)) valuea684f1fe := *(*JSValueRef)(unsafe.Pointer(&cvalue)) var exceptiona684f1fe []JSValueRef - hxf95e7c8 := (*sliceHeader)(unsafe.Pointer(&exceptiona684f1fe)) - hxf95e7c8.Data = unsafe.Pointer(cexception) - hxf95e7c8.Cap = 0x7fffffff - // hxf95e7c8.Len = ? + hxf0d18b7 := (*sliceHeader)(unsafe.Pointer(&exceptiona684f1fe)) + hxf0d18b7.Data = unsafe.Pointer(cexception) + hxf0d18b7.Cap = 0x7fffffff + // hxf0d18b7.Len = ? reta684f1fe := jSObjectSetPropertyCallbackA684F1FEFunc(ctxa684f1fe, objecta684f1fe, propertyNamea684f1fe, valuea684f1fe, exceptiona684f1fe) ret, _ := (C._Bool)(reta684f1fe), cgoAllocsUnknown @@ -772,6 +4304,53 @@ func jSObjectSetPropertyCallbackA684F1FE(cctx C.JSContextRef, cobject C.JSObject var jSObjectSetPropertyCallbackA684F1FEFunc JSObjectSetPropertyCallback +func (x JSObjectSetPropertyCallbackEx) PassRef() (ref *C.JSObjectSetPropertyCallbackEx, allocs *cgoAllocMap) { + if x == nil { + return nil, nil + } + if jSObjectSetPropertyCallbackExD28CF88CFunc == nil { + jSObjectSetPropertyCallbackExD28CF88CFunc = x + } + return (*C.JSObjectSetPropertyCallbackEx)(C.JSObjectSetPropertyCallbackEx_d28cf88c), nil +} + +func (x JSObjectSetPropertyCallbackEx) PassValue() (ref C.JSObjectSetPropertyCallbackEx, allocs *cgoAllocMap) { + if x == nil { + return nil, nil + } + if jSObjectSetPropertyCallbackExD28CF88CFunc == nil { + jSObjectSetPropertyCallbackExD28CF88CFunc = x + } + return (C.JSObjectSetPropertyCallbackEx)(C.JSObjectSetPropertyCallbackEx_d28cf88c), nil +} + +func NewJSObjectSetPropertyCallbackExRef(ref unsafe.Pointer) *JSObjectSetPropertyCallbackEx { + return (*JSObjectSetPropertyCallbackEx)(ref) +} + +//export jSObjectSetPropertyCallbackExD28CF88C +func jSObjectSetPropertyCallbackExD28CF88C(cctx C.JSContextRef, cjsClass C.JSClassRef, cobject C.JSObjectRef, cpropertyName C.JSStringRef, cvalue C.JSValueRef, cexception *C.JSValueRef) C._Bool { + if jSObjectSetPropertyCallbackExD28CF88CFunc != nil { + ctxd28cf88c := *(*JSContextRef)(unsafe.Pointer(&cctx)) + jsClassd28cf88c := *(*JSClassRef)(unsafe.Pointer(&cjsClass)) + objectd28cf88c := *(*JSObjectRef)(unsafe.Pointer(&cobject)) + propertyNamed28cf88c := *(*JSStringRef)(unsafe.Pointer(&cpropertyName)) + valued28cf88c := *(*JSValueRef)(unsafe.Pointer(&cvalue)) + var exceptiond28cf88c []JSValueRef + hxf2fab0d := (*sliceHeader)(unsafe.Pointer(&exceptiond28cf88c)) + hxf2fab0d.Data = unsafe.Pointer(cexception) + hxf2fab0d.Cap = 0x7fffffff + // hxf2fab0d.Len = ? + + retd28cf88c := jSObjectSetPropertyCallbackExD28CF88CFunc(ctxd28cf88c, jsClassd28cf88c, objectd28cf88c, propertyNamed28cf88c, valued28cf88c, exceptiond28cf88c) + ret, _ := (C._Bool)(retd28cf88c), cgoAllocsUnknown + return ret + } + panic("callback func has not been set (race?)") +} + +var jSObjectSetPropertyCallbackExD28CF88CFunc JSObjectSetPropertyCallbackEx + func (x JSObjectDeletePropertyCallback) PassRef() (ref *C.JSObjectDeletePropertyCallback, allocs *cgoAllocMap) { if x == nil { return nil, nil @@ -803,10 +4382,10 @@ func jSObjectDeletePropertyCallbackB0108EBE(cctx C.JSContextRef, cobject C.JSObj objectb0108ebe := *(*JSObjectRef)(unsafe.Pointer(&cobject)) propertyNameb0108ebe := *(*JSStringRef)(unsafe.Pointer(&cpropertyName)) var exceptionb0108ebe []JSValueRef - hxff2234b := (*sliceHeader)(unsafe.Pointer(&exceptionb0108ebe)) - hxff2234b.Data = unsafe.Pointer(cexception) - hxff2234b.Cap = 0x7fffffff - // hxff2234b.Len = ? + hxf69fe70 := (*sliceHeader)(unsafe.Pointer(&exceptionb0108ebe)) + hxf69fe70.Data = unsafe.Pointer(cexception) + hxf69fe70.Cap = 0x7fffffff + // hxf69fe70.Len = ? retb0108ebe := jSObjectDeletePropertyCallbackB0108EBEFunc(ctxb0108ebe, objectb0108ebe, propertyNameb0108ebe, exceptionb0108ebe) ret, _ := (C._Bool)(retb0108ebe), cgoAllocsUnknown @@ -817,6 +4396,52 @@ func jSObjectDeletePropertyCallbackB0108EBE(cctx C.JSContextRef, cobject C.JSObj var jSObjectDeletePropertyCallbackB0108EBEFunc JSObjectDeletePropertyCallback +func (x JSObjectDeletePropertyCallbackEx) PassRef() (ref *C.JSObjectDeletePropertyCallbackEx, allocs *cgoAllocMap) { + if x == nil { + return nil, nil + } + if jSObjectDeletePropertyCallbackExE24FCDB0Func == nil { + jSObjectDeletePropertyCallbackExE24FCDB0Func = x + } + return (*C.JSObjectDeletePropertyCallbackEx)(C.JSObjectDeletePropertyCallbackEx_e24fcdb0), nil +} + +func (x JSObjectDeletePropertyCallbackEx) PassValue() (ref C.JSObjectDeletePropertyCallbackEx, allocs *cgoAllocMap) { + if x == nil { + return nil, nil + } + if jSObjectDeletePropertyCallbackExE24FCDB0Func == nil { + jSObjectDeletePropertyCallbackExE24FCDB0Func = x + } + return (C.JSObjectDeletePropertyCallbackEx)(C.JSObjectDeletePropertyCallbackEx_e24fcdb0), nil +} + +func NewJSObjectDeletePropertyCallbackExRef(ref unsafe.Pointer) *JSObjectDeletePropertyCallbackEx { + return (*JSObjectDeletePropertyCallbackEx)(ref) +} + +//export jSObjectDeletePropertyCallbackExE24FCDB0 +func jSObjectDeletePropertyCallbackExE24FCDB0(cctx C.JSContextRef, cjsClass C.JSClassRef, cobject C.JSObjectRef, cpropertyName C.JSStringRef, cexception *C.JSValueRef) C._Bool { + if jSObjectDeletePropertyCallbackExE24FCDB0Func != nil { + ctxe24fcdb0 := *(*JSContextRef)(unsafe.Pointer(&cctx)) + jsClasse24fcdb0 := *(*JSClassRef)(unsafe.Pointer(&cjsClass)) + objecte24fcdb0 := *(*JSObjectRef)(unsafe.Pointer(&cobject)) + propertyNamee24fcdb0 := *(*JSStringRef)(unsafe.Pointer(&cpropertyName)) + var exceptione24fcdb0 []JSValueRef + hxf65bf54 := (*sliceHeader)(unsafe.Pointer(&exceptione24fcdb0)) + hxf65bf54.Data = unsafe.Pointer(cexception) + hxf65bf54.Cap = 0x7fffffff + // hxf65bf54.Len = ? + + rete24fcdb0 := jSObjectDeletePropertyCallbackExE24FCDB0Func(ctxe24fcdb0, jsClasse24fcdb0, objecte24fcdb0, propertyNamee24fcdb0, exceptione24fcdb0) + ret, _ := (C._Bool)(rete24fcdb0), cgoAllocsUnknown + return ret + } + panic("callback func has not been set (race?)") +} + +var jSObjectDeletePropertyCallbackExE24FCDB0Func JSObjectDeletePropertyCallbackEx + func (x JSObjectGetPropertyNamesCallback) PassRef() (ref *C.JSObjectGetPropertyNamesCallback, allocs *cgoAllocMap) { if x == nil { return nil, nil @@ -855,6 +4480,45 @@ func jSObjectGetPropertyNamesCallbackE77D2329(cctx C.JSContextRef, cobject C.JSO var jSObjectGetPropertyNamesCallbackE77D2329Func JSObjectGetPropertyNamesCallback +func (x JSObjectGetPropertyNamesCallbackEx) PassRef() (ref *C.JSObjectGetPropertyNamesCallbackEx, allocs *cgoAllocMap) { + if x == nil { + return nil, nil + } + if jSObjectGetPropertyNamesCallbackEx74285955Func == nil { + jSObjectGetPropertyNamesCallbackEx74285955Func = x + } + return (*C.JSObjectGetPropertyNamesCallbackEx)(C.JSObjectGetPropertyNamesCallbackEx_74285955), nil +} + +func (x JSObjectGetPropertyNamesCallbackEx) PassValue() (ref C.JSObjectGetPropertyNamesCallbackEx, allocs *cgoAllocMap) { + if x == nil { + return nil, nil + } + if jSObjectGetPropertyNamesCallbackEx74285955Func == nil { + jSObjectGetPropertyNamesCallbackEx74285955Func = x + } + return (C.JSObjectGetPropertyNamesCallbackEx)(C.JSObjectGetPropertyNamesCallbackEx_74285955), nil +} + +func NewJSObjectGetPropertyNamesCallbackExRef(ref unsafe.Pointer) *JSObjectGetPropertyNamesCallbackEx { + return (*JSObjectGetPropertyNamesCallbackEx)(ref) +} + +//export jSObjectGetPropertyNamesCallbackEx74285955 +func jSObjectGetPropertyNamesCallbackEx74285955(cctx C.JSContextRef, cjsClass C.JSClassRef, cobject C.JSObjectRef, cpropertyNames C.JSPropertyNameAccumulatorRef) { + if jSObjectGetPropertyNamesCallbackEx74285955Func != nil { + ctx74285955 := *(*JSContextRef)(unsafe.Pointer(&cctx)) + jsClass74285955 := *(*JSClassRef)(unsafe.Pointer(&cjsClass)) + object74285955 := *(*JSObjectRef)(unsafe.Pointer(&cobject)) + propertyNames74285955 := *(*JSPropertyNameAccumulatorRef)(unsafe.Pointer(&cpropertyNames)) + jSObjectGetPropertyNamesCallbackEx74285955Func(ctx74285955, jsClass74285955, object74285955, propertyNames74285955) + return + } + panic("callback func has not been set (race?)") +} + +var jSObjectGetPropertyNamesCallbackEx74285955Func JSObjectGetPropertyNamesCallbackEx + func (x JSObjectCallAsFunctionCallback) PassRef() (ref *C.JSObjectCallAsFunctionCallback, allocs *cgoAllocMap) { if x == nil { return nil, nil @@ -885,18 +4549,18 @@ func jSObjectCallAsFunctionCallback89F9469B(cctx C.JSContextRef, cfunction C.JSO ctx89f9469b := *(*JSContextRef)(unsafe.Pointer(&cctx)) function89f9469b := *(*JSObjectRef)(unsafe.Pointer(&cfunction)) thisObject89f9469b := *(*JSObjectRef)(unsafe.Pointer(&cthisObject)) - argumentCount89f9469b := (uint)(cargumentCount) + argumentCount89f9469b := (uint32)(cargumentCount) var arguments89f9469b []JSValueRef - hxff73280 := (*sliceHeader)(unsafe.Pointer(&arguments89f9469b)) - hxff73280.Data = unsafe.Pointer(carguments) - hxff73280.Cap = 0x7fffffff - hxff73280.Len = int(argumentCount89f9469b) + hxf3b8dbd := (*sliceHeader)(unsafe.Pointer(&arguments89f9469b)) + hxf3b8dbd.Data = unsafe.Pointer(carguments) + hxf3b8dbd.Cap = 0x7fffffff + // hxf3b8dbd.Len = ? var exception89f9469b []JSValueRef - hxfa9955c := (*sliceHeader)(unsafe.Pointer(&exception89f9469b)) - hxfa9955c.Data = unsafe.Pointer(cexception) - hxfa9955c.Cap = 0x7fffffff - // hxfa9955c.Len = ? + hxf7a6dff := (*sliceHeader)(unsafe.Pointer(&exception89f9469b)) + hxf7a6dff.Data = unsafe.Pointer(cexception) + hxf7a6dff.Cap = 0x7fffffff + // hxf7a6dff.Len = ? ret89f9469b := jSObjectCallAsFunctionCallback89F9469BFunc(ctx89f9469b, function89f9469b, thisObject89f9469b, argumentCount89f9469b, arguments89f9469b, exception89f9469b) ret, _ := *(*C.JSValueRef)(unsafe.Pointer(&ret89f9469b)), cgoAllocsUnknown @@ -907,6 +4571,60 @@ func jSObjectCallAsFunctionCallback89F9469B(cctx C.JSContextRef, cfunction C.JSO var jSObjectCallAsFunctionCallback89F9469BFunc JSObjectCallAsFunctionCallback +func (x JSObjectCallAsFunctionCallbackEx) PassRef() (ref *C.JSObjectCallAsFunctionCallbackEx, allocs *cgoAllocMap) { + if x == nil { + return nil, nil + } + if jSObjectCallAsFunctionCallbackEx9F036E3CFunc == nil { + jSObjectCallAsFunctionCallbackEx9F036E3CFunc = x + } + return (*C.JSObjectCallAsFunctionCallbackEx)(C.JSObjectCallAsFunctionCallbackEx_9f036e3c), nil +} + +func (x JSObjectCallAsFunctionCallbackEx) PassValue() (ref C.JSObjectCallAsFunctionCallbackEx, allocs *cgoAllocMap) { + if x == nil { + return nil, nil + } + if jSObjectCallAsFunctionCallbackEx9F036E3CFunc == nil { + jSObjectCallAsFunctionCallbackEx9F036E3CFunc = x + } + return (C.JSObjectCallAsFunctionCallbackEx)(C.JSObjectCallAsFunctionCallbackEx_9f036e3c), nil +} + +func NewJSObjectCallAsFunctionCallbackExRef(ref unsafe.Pointer) *JSObjectCallAsFunctionCallbackEx { + return (*JSObjectCallAsFunctionCallbackEx)(ref) +} + +//export jSObjectCallAsFunctionCallbackEx9F036E3C +func jSObjectCallAsFunctionCallbackEx9F036E3C(cctx C.JSContextRef, cjsClass C.JSClassRef, cclassName C.JSStringRef, cfunction C.JSObjectRef, cthisObject C.JSObjectRef, cargumentCount C.size_t, carguments *C.JSValueRef, cexception *C.JSValueRef) C.JSValueRef { + if jSObjectCallAsFunctionCallbackEx9F036E3CFunc != nil { + ctx9f036e3c := *(*JSContextRef)(unsafe.Pointer(&cctx)) + jsClass9f036e3c := *(*JSClassRef)(unsafe.Pointer(&cjsClass)) + className9f036e3c := *(*JSStringRef)(unsafe.Pointer(&cclassName)) + function9f036e3c := *(*JSObjectRef)(unsafe.Pointer(&cfunction)) + thisObject9f036e3c := *(*JSObjectRef)(unsafe.Pointer(&cthisObject)) + argumentCount9f036e3c := (uint32)(cargumentCount) + var arguments9f036e3c []JSValueRef + hxfe48d67 := (*sliceHeader)(unsafe.Pointer(&arguments9f036e3c)) + hxfe48d67.Data = unsafe.Pointer(carguments) + hxfe48d67.Cap = 0x7fffffff + // hxfe48d67.Len = ? + + var exception9f036e3c []JSValueRef + hxf4171bf := (*sliceHeader)(unsafe.Pointer(&exception9f036e3c)) + hxf4171bf.Data = unsafe.Pointer(cexception) + hxf4171bf.Cap = 0x7fffffff + // hxf4171bf.Len = ? + + ret9f036e3c := jSObjectCallAsFunctionCallbackEx9F036E3CFunc(ctx9f036e3c, jsClass9f036e3c, className9f036e3c, function9f036e3c, thisObject9f036e3c, argumentCount9f036e3c, arguments9f036e3c, exception9f036e3c) + ret, _ := *(*C.JSValueRef)(unsafe.Pointer(&ret9f036e3c)), cgoAllocsUnknown + return ret + } + panic("callback func has not been set (race?)") +} + +var jSObjectCallAsFunctionCallbackEx9F036E3CFunc JSObjectCallAsFunctionCallbackEx + func (x JSObjectCallAsConstructorCallback) PassRef() (ref *C.JSObjectCallAsConstructorCallback, allocs *cgoAllocMap) { if x == nil { return nil, nil @@ -936,18 +4654,18 @@ func jSObjectCallAsConstructorCallback45F4B71F(cctx C.JSContextRef, cconstructor if jSObjectCallAsConstructorCallback45F4B71FFunc != nil { ctx45f4b71f := *(*JSContextRef)(unsafe.Pointer(&cctx)) constructor45f4b71f := *(*JSObjectRef)(unsafe.Pointer(&cconstructor)) - argumentCount45f4b71f := (uint)(cargumentCount) + argumentCount45f4b71f := (uint32)(cargumentCount) var arguments45f4b71f []JSValueRef - hxfa3f05c := (*sliceHeader)(unsafe.Pointer(&arguments45f4b71f)) - hxfa3f05c.Data = unsafe.Pointer(carguments) - hxfa3f05c.Cap = 0x7fffffff - // hxfa3f05c.Len = ? + hxf058b18 := (*sliceHeader)(unsafe.Pointer(&arguments45f4b71f)) + hxf058b18.Data = unsafe.Pointer(carguments) + hxf058b18.Cap = 0x7fffffff + // hxf058b18.Len = ? var exception45f4b71f []JSValueRef - hxf0d18b7 := (*sliceHeader)(unsafe.Pointer(&exception45f4b71f)) - hxf0d18b7.Data = unsafe.Pointer(cexception) - hxf0d18b7.Cap = 0x7fffffff - // hxf0d18b7.Len = ? + hxff6bc57 := (*sliceHeader)(unsafe.Pointer(&exception45f4b71f)) + hxff6bc57.Data = unsafe.Pointer(cexception) + hxff6bc57.Cap = 0x7fffffff + // hxff6bc57.Len = ? ret45f4b71f := jSObjectCallAsConstructorCallback45F4B71FFunc(ctx45f4b71f, constructor45f4b71f, argumentCount45f4b71f, arguments45f4b71f, exception45f4b71f) ret, _ := *(*C.JSObjectRef)(unsafe.Pointer(&ret45f4b71f)), cgoAllocsUnknown @@ -958,6 +4676,58 @@ func jSObjectCallAsConstructorCallback45F4B71F(cctx C.JSContextRef, cconstructor var jSObjectCallAsConstructorCallback45F4B71FFunc JSObjectCallAsConstructorCallback +func (x JSObjectCallAsConstructorCallbackEx) PassRef() (ref *C.JSObjectCallAsConstructorCallbackEx, allocs *cgoAllocMap) { + if x == nil { + return nil, nil + } + if jSObjectCallAsConstructorCallbackExA563DF4Func == nil { + jSObjectCallAsConstructorCallbackExA563DF4Func = x + } + return (*C.JSObjectCallAsConstructorCallbackEx)(C.JSObjectCallAsConstructorCallbackEx_a563df4), nil +} + +func (x JSObjectCallAsConstructorCallbackEx) PassValue() (ref C.JSObjectCallAsConstructorCallbackEx, allocs *cgoAllocMap) { + if x == nil { + return nil, nil + } + if jSObjectCallAsConstructorCallbackExA563DF4Func == nil { + jSObjectCallAsConstructorCallbackExA563DF4Func = x + } + return (C.JSObjectCallAsConstructorCallbackEx)(C.JSObjectCallAsConstructorCallbackEx_a563df4), nil +} + +func NewJSObjectCallAsConstructorCallbackExRef(ref unsafe.Pointer) *JSObjectCallAsConstructorCallbackEx { + return (*JSObjectCallAsConstructorCallbackEx)(ref) +} + +//export jSObjectCallAsConstructorCallbackExA563DF4 +func jSObjectCallAsConstructorCallbackExA563DF4(cctx C.JSContextRef, cjsClass C.JSClassRef, cconstructor C.JSObjectRef, cargumentCount C.size_t, carguments *C.JSValueRef, cexception *C.JSValueRef) C.JSObjectRef { + if jSObjectCallAsConstructorCallbackExA563DF4Func != nil { + ctxa563df4 := *(*JSContextRef)(unsafe.Pointer(&cctx)) + jsClassa563df4 := *(*JSClassRef)(unsafe.Pointer(&cjsClass)) + constructora563df4 := *(*JSObjectRef)(unsafe.Pointer(&cconstructor)) + argumentCounta563df4 := (uint32)(cargumentCount) + var argumentsa563df4 []JSValueRef + hxf5fa529 := (*sliceHeader)(unsafe.Pointer(&argumentsa563df4)) + hxf5fa529.Data = unsafe.Pointer(carguments) + hxf5fa529.Cap = 0x7fffffff + // hxf5fa529.Len = ? + + var exceptiona563df4 []JSValueRef + hxf21690b := (*sliceHeader)(unsafe.Pointer(&exceptiona563df4)) + hxf21690b.Data = unsafe.Pointer(cexception) + hxf21690b.Cap = 0x7fffffff + // hxf21690b.Len = ? + + reta563df4 := jSObjectCallAsConstructorCallbackExA563DF4Func(ctxa563df4, jsClassa563df4, constructora563df4, argumentCounta563df4, argumentsa563df4, exceptiona563df4) + ret, _ := *(*C.JSObjectRef)(unsafe.Pointer(&reta563df4)), cgoAllocsUnknown + return ret + } + panic("callback func has not been set (race?)") +} + +var jSObjectCallAsConstructorCallbackExA563DF4Func JSObjectCallAsConstructorCallbackEx + func (x JSObjectHasInstanceCallback) PassRef() (ref *C.JSObjectHasInstanceCallback, allocs *cgoAllocMap) { if x == nil { return nil, nil @@ -989,10 +4759,10 @@ func jSObjectHasInstanceCallbackAA527D2E(cctx C.JSContextRef, cconstructor C.JSO constructoraa527d2e := *(*JSObjectRef)(unsafe.Pointer(&cconstructor)) possibleInstanceaa527d2e := *(*JSValueRef)(unsafe.Pointer(&cpossibleInstance)) var exceptionaa527d2e []JSValueRef - hxf2fab0d := (*sliceHeader)(unsafe.Pointer(&exceptionaa527d2e)) - hxf2fab0d.Data = unsafe.Pointer(cexception) - hxf2fab0d.Cap = 0x7fffffff - // hxf2fab0d.Len = ? + hxf1231c9 := (*sliceHeader)(unsafe.Pointer(&exceptionaa527d2e)) + hxf1231c9.Data = unsafe.Pointer(cexception) + hxf1231c9.Cap = 0x7fffffff + // hxf1231c9.Len = ? retaa527d2e := jSObjectHasInstanceCallbackAA527D2EFunc(ctxaa527d2e, constructoraa527d2e, possibleInstanceaa527d2e, exceptionaa527d2e) ret, _ := (C._Bool)(retaa527d2e), cgoAllocsUnknown @@ -1003,6 +4773,52 @@ func jSObjectHasInstanceCallbackAA527D2E(cctx C.JSContextRef, cconstructor C.JSO var jSObjectHasInstanceCallbackAA527D2EFunc JSObjectHasInstanceCallback +func (x JSObjectHasInstanceCallbackEx) PassRef() (ref *C.JSObjectHasInstanceCallbackEx, allocs *cgoAllocMap) { + if x == nil { + return nil, nil + } + if jSObjectHasInstanceCallbackExB7BAFE4EFunc == nil { + jSObjectHasInstanceCallbackExB7BAFE4EFunc = x + } + return (*C.JSObjectHasInstanceCallbackEx)(C.JSObjectHasInstanceCallbackEx_b7bafe4e), nil +} + +func (x JSObjectHasInstanceCallbackEx) PassValue() (ref C.JSObjectHasInstanceCallbackEx, allocs *cgoAllocMap) { + if x == nil { + return nil, nil + } + if jSObjectHasInstanceCallbackExB7BAFE4EFunc == nil { + jSObjectHasInstanceCallbackExB7BAFE4EFunc = x + } + return (C.JSObjectHasInstanceCallbackEx)(C.JSObjectHasInstanceCallbackEx_b7bafe4e), nil +} + +func NewJSObjectHasInstanceCallbackExRef(ref unsafe.Pointer) *JSObjectHasInstanceCallbackEx { + return (*JSObjectHasInstanceCallbackEx)(ref) +} + +//export jSObjectHasInstanceCallbackExB7BAFE4E +func jSObjectHasInstanceCallbackExB7BAFE4E(cctx C.JSContextRef, cjsClass C.JSClassRef, cconstructor C.JSObjectRef, cpossibleInstance C.JSValueRef, cexception *C.JSValueRef) C._Bool { + if jSObjectHasInstanceCallbackExB7BAFE4EFunc != nil { + ctxb7bafe4e := *(*JSContextRef)(unsafe.Pointer(&cctx)) + jsClassb7bafe4e := *(*JSClassRef)(unsafe.Pointer(&cjsClass)) + constructorb7bafe4e := *(*JSObjectRef)(unsafe.Pointer(&cconstructor)) + possibleInstanceb7bafe4e := *(*JSValueRef)(unsafe.Pointer(&cpossibleInstance)) + var exceptionb7bafe4e []JSValueRef + hxf04b15b := (*sliceHeader)(unsafe.Pointer(&exceptionb7bafe4e)) + hxf04b15b.Data = unsafe.Pointer(cexception) + hxf04b15b.Cap = 0x7fffffff + // hxf04b15b.Len = ? + + retb7bafe4e := jSObjectHasInstanceCallbackExB7BAFE4EFunc(ctxb7bafe4e, jsClassb7bafe4e, constructorb7bafe4e, possibleInstanceb7bafe4e, exceptionb7bafe4e) + ret, _ := (C._Bool)(retb7bafe4e), cgoAllocsUnknown + return ret + } + panic("callback func has not been set (race?)") +} + +var jSObjectHasInstanceCallbackExB7BAFE4EFunc JSObjectHasInstanceCallbackEx + func (x JSObjectConvertToTypeCallback) PassRef() (ref *C.JSObjectConvertToTypeCallback, allocs *cgoAllocMap) { if x == nil { return nil, nil @@ -1028,18 +4844,18 @@ func NewJSObjectConvertToTypeCallbackRef(ref unsafe.Pointer) *JSObjectConvertToT } //export jSObjectConvertToTypeCallbackD379D61C -func jSObjectConvertToTypeCallbackD379D61C(cctx C.JSContextRef, cobject C.JSObjectRef, c_type C.JSType, cexception *C.JSValueRef) C.JSValueRef { +func jSObjectConvertToTypeCallbackD379D61C(cctx C.JSContextRef, cobject C.JSObjectRef, ckind C.JSType, cexception *C.JSValueRef) C.JSValueRef { if jSObjectConvertToTypeCallbackD379D61CFunc != nil { ctxd379d61c := *(*JSContextRef)(unsafe.Pointer(&cctx)) objectd379d61c := *(*JSObjectRef)(unsafe.Pointer(&cobject)) - _typed379d61c := (JSType)(c_type) + kindd379d61c := (JSType)(ckind) var exceptiond379d61c []JSValueRef - hxf69fe70 := (*sliceHeader)(unsafe.Pointer(&exceptiond379d61c)) - hxf69fe70.Data = unsafe.Pointer(cexception) - hxf69fe70.Cap = 0x7fffffff - // hxf69fe70.Len = ? + hxf2f888b := (*sliceHeader)(unsafe.Pointer(&exceptiond379d61c)) + hxf2f888b.Data = unsafe.Pointer(cexception) + hxf2f888b.Cap = 0x7fffffff + // hxf2f888b.Len = ? - retd379d61c := jSObjectConvertToTypeCallbackD379D61CFunc(ctxd379d61c, objectd379d61c, _typed379d61c, exceptiond379d61c) + retd379d61c := jSObjectConvertToTypeCallbackD379D61CFunc(ctxd379d61c, objectd379d61c, kindd379d61c, exceptiond379d61c) ret, _ := *(*C.JSValueRef)(unsafe.Pointer(&retd379d61c)), cgoAllocsUnknown return ret } @@ -1048,23 +4864,75 @@ func jSObjectConvertToTypeCallbackD379D61C(cctx C.JSContextRef, cobject C.JSObje var jSObjectConvertToTypeCallbackD379D61CFunc JSObjectConvertToTypeCallback +func (x JSObjectConvertToTypeCallbackEx) PassRef() (ref *C.JSObjectConvertToTypeCallbackEx, allocs *cgoAllocMap) { + if x == nil { + return nil, nil + } + if jSObjectConvertToTypeCallbackEx1BCEA974Func == nil { + jSObjectConvertToTypeCallbackEx1BCEA974Func = x + } + return (*C.JSObjectConvertToTypeCallbackEx)(C.JSObjectConvertToTypeCallbackEx_1bcea974), nil +} + +func (x JSObjectConvertToTypeCallbackEx) PassValue() (ref C.JSObjectConvertToTypeCallbackEx, allocs *cgoAllocMap) { + if x == nil { + return nil, nil + } + if jSObjectConvertToTypeCallbackEx1BCEA974Func == nil { + jSObjectConvertToTypeCallbackEx1BCEA974Func = x + } + return (C.JSObjectConvertToTypeCallbackEx)(C.JSObjectConvertToTypeCallbackEx_1bcea974), nil +} + +func NewJSObjectConvertToTypeCallbackExRef(ref unsafe.Pointer) *JSObjectConvertToTypeCallbackEx { + return (*JSObjectConvertToTypeCallbackEx)(ref) +} + +//export jSObjectConvertToTypeCallbackEx1BCEA974 +func jSObjectConvertToTypeCallbackEx1BCEA974(cctx C.JSContextRef, cjsClass C.JSClassRef, cobject C.JSObjectRef, ckind C.JSType, cexception *C.JSValueRef) C.JSValueRef { + if jSObjectConvertToTypeCallbackEx1BCEA974Func != nil { + ctx1bcea974 := *(*JSContextRef)(unsafe.Pointer(&cctx)) + jsClass1bcea974 := *(*JSClassRef)(unsafe.Pointer(&cjsClass)) + object1bcea974 := *(*JSObjectRef)(unsafe.Pointer(&cobject)) + kind1bcea974 := (JSType)(ckind) + var exception1bcea974 []JSValueRef + hxf5d1de2 := (*sliceHeader)(unsafe.Pointer(&exception1bcea974)) + hxf5d1de2.Data = unsafe.Pointer(cexception) + hxf5d1de2.Cap = 0x7fffffff + // hxf5d1de2.Len = ? + + ret1bcea974 := jSObjectConvertToTypeCallbackEx1BCEA974Func(ctx1bcea974, jsClass1bcea974, object1bcea974, kind1bcea974, exception1bcea974) + ret, _ := *(*C.JSValueRef)(unsafe.Pointer(&ret1bcea974)), cgoAllocsUnknown + return ret + } + panic("callback func has not been set (race?)") +} + +var jSObjectConvertToTypeCallbackEx1BCEA974Func JSObjectConvertToTypeCallbackEx + // allocJSStaticValueMemory allocates memory for type C.JSStaticValue in C. // The caller is responsible for freeing the this memory via C.free. func allocJSStaticValueMemory(n int) unsafe.Pointer { mem, err := C.calloc(C.size_t(n), (C.size_t)(sizeOfJSStaticValueValue)) - if err != nil { - panic("memory alloc error: " + err.Error()) + if mem == nil { + panic(fmt.Sprintln("memory alloc error: ", err)) } return mem } const sizeOfJSStaticValueValue = unsafe.Sizeof([1]C.JSStaticValue{}) -// unpackPCharString represents the data from Go string as *C.char and avoids copying. +// unpackPCharString copies the data from Go string as *C.char. func unpackPCharString(str string) (*C.char, *cgoAllocMap) { + allocs := new(cgoAllocMap) + defer runtime.SetFinalizer(allocs, func(a *cgoAllocMap) { + go a.Free() + }) + str = safeString(str) - h := (*stringHeader)(unsafe.Pointer(&str)) - return (*C.char)(h.Data), cgoAllocsUnknown + mem0 := unsafe.Pointer(C.CString(str)) + allocs.Add(mem0) + return (*C.char)(mem0), allocs } type stringHeader struct { @@ -1191,12 +5059,108 @@ func (x *JSStaticValue) Deref() { x.Attributes = (JSPropertyAttributes)(x.ref34655956.attributes) } +// allocJSStaticValueExMemory allocates memory for type C.JSStaticValueEx in C. +// The caller is responsible for freeing the this memory via C.free. +func allocJSStaticValueExMemory(n int) unsafe.Pointer { + mem, err := C.calloc(C.size_t(n), (C.size_t)(sizeOfJSStaticValueExValue)) + if mem == nil { + panic(fmt.Sprintln("memory alloc error: ", err)) + } + return mem +} + +const sizeOfJSStaticValueExValue = unsafe.Sizeof([1]C.JSStaticValueEx{}) + +// Ref returns the underlying reference to C object or nil if struct is nil. +func (x *JSStaticValueEx) Ref() *C.JSStaticValueEx { + if x == nil { + return nil + } + return x.ref6c5f7756 +} + +// Free invokes alloc map's free mechanism that cleanups any allocated memory using C free. +// Does nothing if struct is nil or has no allocation map. +func (x *JSStaticValueEx) Free() { + if x != nil && x.allocs6c5f7756 != nil { + x.allocs6c5f7756.(*cgoAllocMap).Free() + x.ref6c5f7756 = nil + } +} + +// NewJSStaticValueExRef creates a new wrapper struct with underlying reference set to the original C object. +// Returns nil if the provided pointer to C object is nil too. +func NewJSStaticValueExRef(ref unsafe.Pointer) *JSStaticValueEx { + if ref == nil { + return nil + } + obj := new(JSStaticValueEx) + obj.ref6c5f7756 = (*C.JSStaticValueEx)(unsafe.Pointer(ref)) + return obj +} + +// PassRef returns the underlying C object, otherwise it will allocate one and set its values +// from this wrapping struct, counting allocations into an allocation map. +func (x *JSStaticValueEx) PassRef() (*C.JSStaticValueEx, *cgoAllocMap) { + if x == nil { + return nil, nil + } else if x.ref6c5f7756 != nil { + return x.ref6c5f7756, nil + } + mem6c5f7756 := allocJSStaticValueExMemory(1) + ref6c5f7756 := (*C.JSStaticValueEx)(mem6c5f7756) + allocs6c5f7756 := new(cgoAllocMap) + allocs6c5f7756.Add(mem6c5f7756) + + var cname_allocs *cgoAllocMap + ref6c5f7756.name, cname_allocs = unpackPCharString(x.Name) + allocs6c5f7756.Borrow(cname_allocs) + + var cgetPropertyEx_allocs *cgoAllocMap + ref6c5f7756.getPropertyEx, cgetPropertyEx_allocs = x.GetPropertyEx.PassValue() + allocs6c5f7756.Borrow(cgetPropertyEx_allocs) + + var csetPropertyEx_allocs *cgoAllocMap + ref6c5f7756.setPropertyEx, csetPropertyEx_allocs = x.SetPropertyEx.PassValue() + allocs6c5f7756.Borrow(csetPropertyEx_allocs) + + var cattributes_allocs *cgoAllocMap + ref6c5f7756.attributes, cattributes_allocs = (C.JSPropertyAttributes)(x.Attributes), cgoAllocsUnknown + allocs6c5f7756.Borrow(cattributes_allocs) + + x.ref6c5f7756 = ref6c5f7756 + x.allocs6c5f7756 = allocs6c5f7756 + return ref6c5f7756, allocs6c5f7756 + +} + +// PassValue does the same as PassRef except that it will try to dereference the returned pointer. +func (x JSStaticValueEx) PassValue() (C.JSStaticValueEx, *cgoAllocMap) { + if x.ref6c5f7756 != nil { + return *x.ref6c5f7756, nil + } + ref, allocs := x.PassRef() + return *ref, allocs +} + +// Deref uses the underlying reference to C object and fills the wrapping struct with values. +// Do not forget to call this method whether you get a struct for C object and want to read its values. +func (x *JSStaticValueEx) Deref() { + if x.ref6c5f7756 == nil { + return + } + x.Name = packPCharString(x.ref6c5f7756.name) + x.GetPropertyEx = *NewJSObjectGetPropertyCallbackExRef(unsafe.Pointer(&x.ref6c5f7756.getPropertyEx)) + x.SetPropertyEx = *NewJSObjectSetPropertyCallbackExRef(unsafe.Pointer(&x.ref6c5f7756.setPropertyEx)) + x.Attributes = (JSPropertyAttributes)(x.ref6c5f7756.attributes) +} + // allocJSStaticFunctionMemory allocates memory for type C.JSStaticFunction in C. // The caller is responsible for freeing the this memory via C.free. func allocJSStaticFunctionMemory(n int) unsafe.Pointer { mem, err := C.calloc(C.size_t(n), (C.size_t)(sizeOfJSStaticFunctionValue)) - if err != nil { - panic("memory alloc error: " + err.Error()) + if mem == nil { + panic(fmt.Sprintln("memory alloc error: ", err)) } return mem } @@ -1282,96 +5246,109 @@ func (x *JSStaticFunction) Deref() { x.Attributes = (JSPropertyAttributes)(x.ref6b5f4953.attributes) } +// allocJSStaticFunctionExMemory allocates memory for type C.JSStaticFunctionEx in C. +// The caller is responsible for freeing the this memory via C.free. +func allocJSStaticFunctionExMemory(n int) unsafe.Pointer { + mem, err := C.calloc(C.size_t(n), (C.size_t)(sizeOfJSStaticFunctionExValue)) + if mem == nil { + panic(fmt.Sprintln("memory alloc error: ", err)) + } + return mem +} + +const sizeOfJSStaticFunctionExValue = unsafe.Sizeof([1]C.JSStaticFunctionEx{}) + +// Ref returns the underlying reference to C object or nil if struct is nil. +func (x *JSStaticFunctionEx) Ref() *C.JSStaticFunctionEx { + if x == nil { + return nil + } + return x.refc9fcc4d +} + +// Free invokes alloc map's free mechanism that cleanups any allocated memory using C free. +// Does nothing if struct is nil or has no allocation map. +func (x *JSStaticFunctionEx) Free() { + if x != nil && x.allocsc9fcc4d != nil { + x.allocsc9fcc4d.(*cgoAllocMap).Free() + x.refc9fcc4d = nil + } +} + +// NewJSStaticFunctionExRef creates a new wrapper struct with underlying reference set to the original C object. +// Returns nil if the provided pointer to C object is nil too. +func NewJSStaticFunctionExRef(ref unsafe.Pointer) *JSStaticFunctionEx { + if ref == nil { + return nil + } + obj := new(JSStaticFunctionEx) + obj.refc9fcc4d = (*C.JSStaticFunctionEx)(unsafe.Pointer(ref)) + return obj +} + +// PassRef returns the underlying C object, otherwise it will allocate one and set its values +// from this wrapping struct, counting allocations into an allocation map. +func (x *JSStaticFunctionEx) PassRef() (*C.JSStaticFunctionEx, *cgoAllocMap) { + if x == nil { + return nil, nil + } else if x.refc9fcc4d != nil { + return x.refc9fcc4d, nil + } + memc9fcc4d := allocJSStaticFunctionExMemory(1) + refc9fcc4d := (*C.JSStaticFunctionEx)(memc9fcc4d) + allocsc9fcc4d := new(cgoAllocMap) + allocsc9fcc4d.Add(memc9fcc4d) + + var cname_allocs *cgoAllocMap + refc9fcc4d.name, cname_allocs = unpackPCharString(x.Name) + allocsc9fcc4d.Borrow(cname_allocs) + + var ccallAsFunctionEx_allocs *cgoAllocMap + refc9fcc4d.callAsFunctionEx, ccallAsFunctionEx_allocs = x.CallAsFunctionEx.PassValue() + allocsc9fcc4d.Borrow(ccallAsFunctionEx_allocs) + + var cattributes_allocs *cgoAllocMap + refc9fcc4d.attributes, cattributes_allocs = (C.JSPropertyAttributes)(x.Attributes), cgoAllocsUnknown + allocsc9fcc4d.Borrow(cattributes_allocs) + + x.refc9fcc4d = refc9fcc4d + x.allocsc9fcc4d = allocsc9fcc4d + return refc9fcc4d, allocsc9fcc4d + +} + +// PassValue does the same as PassRef except that it will try to dereference the returned pointer. +func (x JSStaticFunctionEx) PassValue() (C.JSStaticFunctionEx, *cgoAllocMap) { + if x.refc9fcc4d != nil { + return *x.refc9fcc4d, nil + } + ref, allocs := x.PassRef() + return *ref, allocs +} + +// Deref uses the underlying reference to C object and fills the wrapping struct with values. +// Do not forget to call this method whether you get a struct for C object and want to read its values. +func (x *JSStaticFunctionEx) Deref() { + if x.refc9fcc4d == nil { + return + } + x.Name = packPCharString(x.refc9fcc4d.name) + x.CallAsFunctionEx = *NewJSObjectCallAsFunctionCallbackExRef(unsafe.Pointer(&x.refc9fcc4d.callAsFunctionEx)) + x.Attributes = (JSPropertyAttributes)(x.refc9fcc4d.attributes) +} + // allocJSClassDefinitionMemory allocates memory for type C.JSClassDefinition in C. // The caller is responsible for freeing the this memory via C.free. func allocJSClassDefinitionMemory(n int) unsafe.Pointer { mem, err := C.calloc(C.size_t(n), (C.size_t)(sizeOfJSClassDefinitionValue)) - if err != nil { - panic("memory alloc error: " + err.Error()) + if mem == nil { + panic(fmt.Sprintln("memory alloc error: ", err)) } return mem } const sizeOfJSClassDefinitionValue = unsafe.Sizeof([1]C.JSClassDefinition{}) -const sizeOfPtr = unsafe.Sizeof(&struct{}{}) - -// unpackSJSStaticValue transforms a sliced Go data structure into plain C format. -func unpackSJSStaticValue(x []JSStaticValue) (unpacked *C.JSStaticValue, allocs *cgoAllocMap) { - if x == nil { - return nil, nil - } - allocs = new(cgoAllocMap) - defer runtime.SetFinalizer(&unpacked, func(**C.JSStaticValue) { - go allocs.Free() - }) - - len0 := len(x) - mem0 := allocJSStaticValueMemory(len0) - allocs.Add(mem0) - h0 := &sliceHeader{ - Data: mem0, - Cap: len0, - Len: len0, - } - v0 := *(*[]C.JSStaticValue)(unsafe.Pointer(h0)) - for i0 := range x { - allocs0 := new(cgoAllocMap) - v0[i0], allocs0 = x[i0].PassValue() - allocs.Borrow(allocs0) - } - h := (*sliceHeader)(unsafe.Pointer(&v0)) - unpacked = (*C.JSStaticValue)(h.Data) - return -} - -// unpackSJSStaticFunction transforms a sliced Go data structure into plain C format. -func unpackSJSStaticFunction(x []JSStaticFunction) (unpacked *C.JSStaticFunction, allocs *cgoAllocMap) { - if x == nil { - return nil, nil - } - allocs = new(cgoAllocMap) - defer runtime.SetFinalizer(&unpacked, func(**C.JSStaticFunction) { - go allocs.Free() - }) - - len0 := len(x) - mem0 := allocJSStaticFunctionMemory(len0) - allocs.Add(mem0) - h0 := &sliceHeader{ - Data: mem0, - Cap: len0, - Len: len0, - } - v0 := *(*[]C.JSStaticFunction)(unsafe.Pointer(h0)) - for i0 := range x { - allocs0 := new(cgoAllocMap) - v0[i0], allocs0 = x[i0].PassValue() - allocs.Borrow(allocs0) - } - h := (*sliceHeader)(unsafe.Pointer(&v0)) - unpacked = (*C.JSStaticFunction)(h.Data) - return -} - -// packSJSStaticValue reads sliced Go data structure out from plain C format. -func packSJSStaticValue(v []JSStaticValue, ptr0 *C.JSStaticValue) { - const m = 0x7fffffff - for i0 := range v { - ptr1 := (*(*[m / sizeOfJSStaticValueValue]C.JSStaticValue)(unsafe.Pointer(ptr0)))[i0] - v[i0] = *NewJSStaticValueRef(unsafe.Pointer(&ptr1)) - } -} - -// packSJSStaticFunction reads sliced Go data structure out from plain C format. -func packSJSStaticFunction(v []JSStaticFunction, ptr0 *C.JSStaticFunction) { - const m = 0x7fffffff - for i0 := range v { - ptr1 := (*(*[m / sizeOfJSStaticFunctionValue]C.JSStaticFunction)(unsafe.Pointer(ptr0)))[i0] - v[i0] = *NewJSStaticFunctionRef(unsafe.Pointer(&ptr1)) - } -} - // Ref returns the underlying reference to C object or nil if struct is nil. func (x *JSClassDefinition) Ref() *C.JSClassDefinition { if x == nil { @@ -1429,57 +5406,9 @@ func (x *JSClassDefinition) PassRef() (*C.JSClassDefinition, *cgoAllocMap) { ref192c18d5.parentClass, cparentClass_allocs = *(*C.JSClassRef)(unsafe.Pointer(&x.ParentClass)), cgoAllocsUnknown allocs192c18d5.Borrow(cparentClass_allocs) - var cstaticValues_allocs *cgoAllocMap - ref192c18d5.staticValues, cstaticValues_allocs = unpackSJSStaticValue(x.StaticValues) - allocs192c18d5.Borrow(cstaticValues_allocs) - - var cstaticFunctions_allocs *cgoAllocMap - ref192c18d5.staticFunctions, cstaticFunctions_allocs = unpackSJSStaticFunction(x.StaticFunctions) - allocs192c18d5.Borrow(cstaticFunctions_allocs) - - var cinitialize_allocs *cgoAllocMap - ref192c18d5.initialize, cinitialize_allocs = x.Initialize.PassValue() - allocs192c18d5.Borrow(cinitialize_allocs) - - var cfinalize_allocs *cgoAllocMap - ref192c18d5.finalize, cfinalize_allocs = x.Finalize.PassValue() - allocs192c18d5.Borrow(cfinalize_allocs) - - var chasProperty_allocs *cgoAllocMap - ref192c18d5.hasProperty, chasProperty_allocs = x.HasProperty.PassValue() - allocs192c18d5.Borrow(chasProperty_allocs) - - var cgetProperty_allocs *cgoAllocMap - ref192c18d5.getProperty, cgetProperty_allocs = x.GetProperty.PassValue() - allocs192c18d5.Borrow(cgetProperty_allocs) - - var csetProperty_allocs *cgoAllocMap - ref192c18d5.setProperty, csetProperty_allocs = x.SetProperty.PassValue() - allocs192c18d5.Borrow(csetProperty_allocs) - - var cdeleteProperty_allocs *cgoAllocMap - ref192c18d5.deleteProperty, cdeleteProperty_allocs = x.DeleteProperty.PassValue() - allocs192c18d5.Borrow(cdeleteProperty_allocs) - - var cgetPropertyNames_allocs *cgoAllocMap - ref192c18d5.getPropertyNames, cgetPropertyNames_allocs = x.GetPropertyNames.PassValue() - allocs192c18d5.Borrow(cgetPropertyNames_allocs) - - var ccallAsFunction_allocs *cgoAllocMap - ref192c18d5.callAsFunction, ccallAsFunction_allocs = x.CallAsFunction.PassValue() - allocs192c18d5.Borrow(ccallAsFunction_allocs) - - var ccallAsConstructor_allocs *cgoAllocMap - ref192c18d5.callAsConstructor, ccallAsConstructor_allocs = x.CallAsConstructor.PassValue() - allocs192c18d5.Borrow(ccallAsConstructor_allocs) - - var chasInstance_allocs *cgoAllocMap - ref192c18d5.hasInstance, chasInstance_allocs = x.HasInstance.PassValue() - allocs192c18d5.Borrow(chasInstance_allocs) - - var cconvertToType_allocs *cgoAllocMap - ref192c18d5.convertToType, cconvertToType_allocs = x.ConvertToType.PassValue() - allocs192c18d5.Borrow(cconvertToType_allocs) + var cprivateData_allocs *cgoAllocMap + ref192c18d5.privateData, cprivateData_allocs = *(*unsafe.Pointer)(unsafe.Pointer(&x.PrivateData)), cgoAllocsUnknown + allocs192c18d5.Borrow(cprivateData_allocs) x.ref192c18d5 = ref192c18d5 x.allocs192c18d5 = allocs192c18d5 @@ -1506,29 +5435,104 @@ func (x *JSClassDefinition) Deref() { x.Attributes = (JSClassAttributes)(x.ref192c18d5.attributes) x.ClassName = packPCharString(x.ref192c18d5.className) x.ParentClass = *(*JSClassRef)(unsafe.Pointer(&x.ref192c18d5.parentClass)) - packSJSStaticValue(x.StaticValues, x.ref192c18d5.staticValues) - packSJSStaticFunction(x.StaticFunctions, x.ref192c18d5.staticFunctions) - x.Initialize = *NewJSObjectInitializeCallbackRef(unsafe.Pointer(&x.ref192c18d5.initialize)) - x.Finalize = *NewJSObjectFinalizeCallbackRef(unsafe.Pointer(&x.ref192c18d5.finalize)) - x.HasProperty = *NewJSObjectHasPropertyCallbackRef(unsafe.Pointer(&x.ref192c18d5.hasProperty)) - x.GetProperty = *NewJSObjectGetPropertyCallbackRef(unsafe.Pointer(&x.ref192c18d5.getProperty)) - x.SetProperty = *NewJSObjectSetPropertyCallbackRef(unsafe.Pointer(&x.ref192c18d5.setProperty)) - x.DeleteProperty = *NewJSObjectDeletePropertyCallbackRef(unsafe.Pointer(&x.ref192c18d5.deleteProperty)) - x.GetPropertyNames = *NewJSObjectGetPropertyNamesCallbackRef(unsafe.Pointer(&x.ref192c18d5.getPropertyNames)) - x.CallAsFunction = *NewJSObjectCallAsFunctionCallbackRef(unsafe.Pointer(&x.ref192c18d5.callAsFunction)) - x.CallAsConstructor = *NewJSObjectCallAsConstructorCallbackRef(unsafe.Pointer(&x.ref192c18d5.callAsConstructor)) - x.HasInstance = *NewJSObjectHasInstanceCallbackRef(unsafe.Pointer(&x.ref192c18d5.hasInstance)) - x.ConvertToType = *NewJSObjectConvertToTypeCallbackRef(unsafe.Pointer(&x.ref192c18d5.convertToType)) + x.PrivateData = (unsafe.Pointer)(unsafe.Pointer(x.ref192c18d5.privateData)) } +// copyPULStringBytes copies the data from Go slice as *C.ULString. +func copyPULStringBytes(slice *sliceHeader) (*C.ULString, *cgoAllocMap) { + allocs := new(cgoAllocMap) + defer runtime.SetFinalizer(allocs, func(a *cgoAllocMap) { + go a.Free() + }) + + mem0 := unsafe.Pointer(C.CBytes(*(*[]byte)(unsafe.Pointer(&sliceHeader{ + Data: slice.Data, + Len: int(sizeOfULStringValue) * slice.Len, + Cap: int(sizeOfULStringValue) * slice.Len, + })))) + allocs.Add(mem0) + + return (*C.ULString)(mem0), allocs +} + +// allocULStringMemory allocates memory for type C.ULString in C. +// The caller is responsible for freeing the this memory via C.free. +func allocULStringMemory(n int) unsafe.Pointer { + mem, err := C.calloc(C.size_t(n), (C.size_t)(sizeOfULStringValue)) + if mem == nil { + panic(fmt.Sprintln("memory alloc error: ", err)) + } + return mem +} + +const sizeOfULStringValue = unsafe.Sizeof([1]C.ULString{}) + +// copyPULChar16Bytes copies the data from Go slice as *C.ULChar16. +func copyPULChar16Bytes(slice *sliceHeader) (*C.ULChar16, *cgoAllocMap) { + allocs := new(cgoAllocMap) + defer runtime.SetFinalizer(allocs, func(a *cgoAllocMap) { + go a.Free() + }) + + mem0 := unsafe.Pointer(C.CBytes(*(*[]byte)(unsafe.Pointer(&sliceHeader{ + Data: slice.Data, + Len: int(sizeOfULChar16Value) * slice.Len, + Cap: int(sizeOfULChar16Value) * slice.Len, + })))) + allocs.Add(mem0) + + return (*C.ULChar16)(mem0), allocs +} + +// allocULChar16Memory allocates memory for type C.ULChar16 in C. +// The caller is responsible for freeing the this memory via C.free. +func allocULChar16Memory(n int) unsafe.Pointer { + mem, err := C.calloc(C.size_t(n), (C.size_t)(sizeOfULChar16Value)) + if mem == nil { + panic(fmt.Sprintln("memory alloc error: ", err)) + } + return mem +} + +const sizeOfULChar16Value = unsafe.Sizeof([1]C.ULChar16{}) + +// copyPJSValueRefBytes copies the data from Go slice as *C.JSValueRef. +func copyPJSValueRefBytes(slice *sliceHeader) (*C.JSValueRef, *cgoAllocMap) { + allocs := new(cgoAllocMap) + defer runtime.SetFinalizer(allocs, func(a *cgoAllocMap) { + go a.Free() + }) + + mem0 := unsafe.Pointer(C.CBytes(*(*[]byte)(unsafe.Pointer(&sliceHeader{ + Data: slice.Data, + Len: int(sizeOfJSValueRefValue) * slice.Len, + Cap: int(sizeOfJSValueRefValue) * slice.Len, + })))) + allocs.Add(mem0) + + return (*C.JSValueRef)(mem0), allocs +} + +// allocJSValueRefMemory allocates memory for type C.JSValueRef in C. +// The caller is responsible for freeing the this memory via C.free. +func allocJSValueRefMemory(n int) unsafe.Pointer { + mem, err := C.calloc(C.size_t(n), (C.size_t)(sizeOfJSValueRefValue)) + if mem == nil { + panic(fmt.Sprintln("memory alloc error: ", err)) + } + return mem +} + +const sizeOfJSValueRefValue = unsafe.Sizeof([1]C.JSValueRef{}) + // unpackArgSJSClassDefinition transforms a sliced Go data structure into plain C format. func unpackArgSJSClassDefinition(x []JSClassDefinition) (unpacked *C.JSClassDefinition, allocs *cgoAllocMap) { if x == nil { return nil, nil } allocs = new(cgoAllocMap) - defer runtime.SetFinalizer(&unpacked, func(**C.JSClassDefinition) { - go allocs.Free() + defer runtime.SetFinalizer(allocs, func(a *cgoAllocMap) { + go a.Free() }) len0 := len(x) @@ -1558,3 +5562,119 @@ func packSJSClassDefinition(v []JSClassDefinition, ptr0 *C.JSClassDefinition) { v[i0] = *NewJSClassDefinitionRef(unsafe.Pointer(&ptr1)) } } + +// copyPJSObjectRefBytes copies the data from Go slice as *C.JSObjectRef. +func copyPJSObjectRefBytes(slice *sliceHeader) (*C.JSObjectRef, *cgoAllocMap) { + allocs := new(cgoAllocMap) + defer runtime.SetFinalizer(allocs, func(a *cgoAllocMap) { + go a.Free() + }) + + mem0 := unsafe.Pointer(C.CBytes(*(*[]byte)(unsafe.Pointer(&sliceHeader{ + Data: slice.Data, + Len: int(sizeOfJSObjectRefValue) * slice.Len, + Cap: int(sizeOfJSObjectRefValue) * slice.Len, + })))) + allocs.Add(mem0) + + return (*C.JSObjectRef)(mem0), allocs +} + +// allocJSObjectRefMemory allocates memory for type C.JSObjectRef in C. +// The caller is responsible for freeing the this memory via C.free. +func allocJSObjectRefMemory(n int) unsafe.Pointer { + mem, err := C.calloc(C.size_t(n), (C.size_t)(sizeOfJSObjectRefValue)) + if mem == nil { + panic(fmt.Sprintln("memory alloc error: ", err)) + } + return mem +} + +const sizeOfJSObjectRefValue = unsafe.Sizeof([1]C.JSObjectRef{}) + +// copyPJSStringRefBytes copies the data from Go slice as *C.JSStringRef. +func copyPJSStringRefBytes(slice *sliceHeader) (*C.JSStringRef, *cgoAllocMap) { + allocs := new(cgoAllocMap) + defer runtime.SetFinalizer(allocs, func(a *cgoAllocMap) { + go a.Free() + }) + + mem0 := unsafe.Pointer(C.CBytes(*(*[]byte)(unsafe.Pointer(&sliceHeader{ + Data: slice.Data, + Len: int(sizeOfJSStringRefValue) * slice.Len, + Cap: int(sizeOfJSStringRefValue) * slice.Len, + })))) + allocs.Add(mem0) + + return (*C.JSStringRef)(mem0), allocs +} + +// allocJSStringRefMemory allocates memory for type C.JSStringRef in C. +// The caller is responsible for freeing the this memory via C.free. +func allocJSStringRefMemory(n int) unsafe.Pointer { + mem, err := C.calloc(C.size_t(n), (C.size_t)(sizeOfJSStringRefValue)) + if mem == nil { + panic(fmt.Sprintln("memory alloc error: ", err)) + } + return mem +} + +const sizeOfJSStringRefValue = unsafe.Sizeof([1]C.JSStringRef{}) + +// copyPJSCharBytes copies the data from Go slice as *C.JSChar. +func copyPJSCharBytes(slice *sliceHeader) (*C.JSChar, *cgoAllocMap) { + allocs := new(cgoAllocMap) + defer runtime.SetFinalizer(allocs, func(a *cgoAllocMap) { + go a.Free() + }) + + mem0 := unsafe.Pointer(C.CBytes(*(*[]byte)(unsafe.Pointer(&sliceHeader{ + Data: slice.Data, + Len: int(sizeOfJSCharValue) * slice.Len, + Cap: int(sizeOfJSCharValue) * slice.Len, + })))) + allocs.Add(mem0) + + return (*C.JSChar)(mem0), allocs +} + +// allocJSCharMemory allocates memory for type C.JSChar in C. +// The caller is responsible for freeing the this memory via C.free. +func allocJSCharMemory(n int) unsafe.Pointer { + mem, err := C.calloc(C.size_t(n), (C.size_t)(sizeOfJSCharValue)) + if mem == nil { + panic(fmt.Sprintln("memory alloc error: ", err)) + } + return mem +} + +const sizeOfJSCharValue = unsafe.Sizeof([1]C.JSChar{}) + +// copyPCharBytes copies the data from Go slice as *C.char. +func copyPCharBytes(slice *sliceHeader) (*C.char, *cgoAllocMap) { + allocs := new(cgoAllocMap) + defer runtime.SetFinalizer(allocs, func(a *cgoAllocMap) { + go a.Free() + }) + + mem0 := unsafe.Pointer(C.CBytes(*(*[]byte)(unsafe.Pointer(&sliceHeader{ + Data: slice.Data, + Len: int(sizeOfCharValue) * slice.Len, + Cap: int(sizeOfCharValue) * slice.Len, + })))) + allocs.Add(mem0) + + return (*C.char)(mem0), allocs +} + +// allocCharMemory allocates memory for type C.char in C. +// The caller is responsible for freeing the this memory via C.free. +func allocCharMemory(n int) unsafe.Pointer { + mem, err := C.calloc(C.size_t(n), (C.size_t)(sizeOfCharValue)) + if mem == nil { + panic(fmt.Sprintln("memory alloc error: ", err)) + } + return mem +} + +const sizeOfCharValue = unsafe.Sizeof([1]C.char{}) diff --git a/ultralight/cgo_helpers.h b/ultralight/cgo_helpers.h index 070f13a..7eb3fad 100644 --- a/ultralight/cgo_helpers.h +++ b/ultralight/cgo_helpers.h @@ -1,6 +1,6 @@ // THE AUTOGENERATED LICENSE. ALL THE RIGHTS ARE RESERVED BY ROBOTS. -// WARNING: This file has automatically been generated on Mon, 07 Oct 2019 13:59:36 CDT. +// WARNING: This file has automatically been generated on Sun, 02 Oct 2022 19:40:55 PDT. // Code generated by https://git.io/c-for-go. DO NOT EDIT. #include "AppCore/CAPI.h" @@ -33,17 +33,125 @@ void ULChangeCursorCallback_1a7011df(void* user_data, ULView caller, ULCursor cu // ULAddConsoleMessageCallback_44b8dd01 is a proxy for callback ULAddConsoleMessageCallback. void ULAddConsoleMessageCallback_44b8dd01(void* user_data, ULView caller, ULMessageSource source, ULMessageLevel level, ULString message, unsigned int line_number, unsigned int column_number, ULString source_id); +// ULCreateChildViewCallback_ef6d2cdd is a proxy for callback ULCreateChildViewCallback. +ULView ULCreateChildViewCallback_ef6d2cdd(void* user_data, ULView caller, ULString opener_url, ULString target_url, _Bool is_popup, ULIntRect popup_rect); + // ULBeginLoadingCallback_70d8c0ad is a proxy for callback ULBeginLoadingCallback. -void ULBeginLoadingCallback_70d8c0ad(void* user_data, ULView caller); +void ULBeginLoadingCallback_70d8c0ad(void* user_data, ULView caller, unsigned long long frame_id, _Bool is_main_frame, ULString url); // ULFinishLoadingCallback_1ed4ecae is a proxy for callback ULFinishLoadingCallback. -void ULFinishLoadingCallback_1ed4ecae(void* user_data, ULView caller); +void ULFinishLoadingCallback_1ed4ecae(void* user_data, ULView caller, unsigned long long frame_id, _Bool is_main_frame, ULString url); + +// ULFailLoadingCallback_55ff90b8 is a proxy for callback ULFailLoadingCallback. +void ULFailLoadingCallback_55ff90b8(void* user_data, ULView caller, unsigned long long frame_id, _Bool is_main_frame, ULString url, ULString description, ULString error_domain, int error_code); + +// ULWindowObjectReadyCallback_66dc25f3 is a proxy for callback ULWindowObjectReadyCallback. +void ULWindowObjectReadyCallback_66dc25f3(void* user_data, ULView caller, unsigned long long frame_id, _Bool is_main_frame, ULString url); + +// ULDOMReadyCallback_6432c207 is a proxy for callback ULDOMReadyCallback. +void ULDOMReadyCallback_6432c207(void* user_data, ULView caller, unsigned long long frame_id, _Bool is_main_frame, ULString url); // ULUpdateHistoryCallback_6e105364 is a proxy for callback ULUpdateHistoryCallback. void ULUpdateHistoryCallback_6e105364(void* user_data, ULView caller); -// ULDOMReadyCallback_6432c207 is a proxy for callback ULDOMReadyCallback. -void ULDOMReadyCallback_6432c207(void* user_data, ULView caller); +// ULSurfaceDefinitionCreateCallback_573ec115 is a proxy for callback ULSurfaceDefinitionCreateCallback. +void* ULSurfaceDefinitionCreateCallback_573ec115(unsigned int width, unsigned int height); + +// ULSurfaceDefinitionDestroyCallback_851bacee is a proxy for callback ULSurfaceDefinitionDestroyCallback. +void ULSurfaceDefinitionDestroyCallback_851bacee(void* user_data); + +// ULSurfaceDefinitionGetWidthCallback_1a49a8fd is a proxy for callback ULSurfaceDefinitionGetWidthCallback. +unsigned int ULSurfaceDefinitionGetWidthCallback_1a49a8fd(void* user_data); + +// ULSurfaceDefinitionGetHeightCallback_3e5fe408 is a proxy for callback ULSurfaceDefinitionGetHeightCallback. +unsigned int ULSurfaceDefinitionGetHeightCallback_3e5fe408(void* user_data); + +// ULSurfaceDefinitionGetRowBytesCallback_adcc8668 is a proxy for callback ULSurfaceDefinitionGetRowBytesCallback. +unsigned int ULSurfaceDefinitionGetRowBytesCallback_adcc8668(void* user_data); + +// ULSurfaceDefinitionGetSizeCallback_83184afe is a proxy for callback ULSurfaceDefinitionGetSizeCallback. +unsigned long int ULSurfaceDefinitionGetSizeCallback_83184afe(void* user_data); + +// ULSurfaceDefinitionLockPixelsCallback_7763e12f is a proxy for callback ULSurfaceDefinitionLockPixelsCallback. +void* ULSurfaceDefinitionLockPixelsCallback_7763e12f(void* user_data); + +// ULSurfaceDefinitionUnlockPixelsCallback_d4b69f9 is a proxy for callback ULSurfaceDefinitionUnlockPixelsCallback. +void ULSurfaceDefinitionUnlockPixelsCallback_d4b69f9(void* user_data); + +// ULSurfaceDefinitionResizeCallback_22d82567 is a proxy for callback ULSurfaceDefinitionResizeCallback. +void ULSurfaceDefinitionResizeCallback_22d82567(void* user_data, unsigned int width, unsigned int height); + +// ULFileSystemFileExistsCallback_d03bf100 is a proxy for callback ULFileSystemFileExistsCallback. +_Bool ULFileSystemFileExistsCallback_d03bf100(ULString path); + +// ULFileSystemGetFileSizeCallback_e87ad8b1 is a proxy for callback ULFileSystemGetFileSizeCallback. +_Bool ULFileSystemGetFileSizeCallback_e87ad8b1(int handle, long long* result); + +// ULFileSystemGetFileMimeTypeCallback_7e6fd322 is a proxy for callback ULFileSystemGetFileMimeTypeCallback. +_Bool ULFileSystemGetFileMimeTypeCallback_7e6fd322(ULString path, ULString result); + +// ULFileSystemOpenFileCallback_bbb19604 is a proxy for callback ULFileSystemOpenFileCallback. +int ULFileSystemOpenFileCallback_bbb19604(ULString path, _Bool open_for_writing); + +// ULFileSystemCloseFileCallback_c90ac2e5 is a proxy for callback ULFileSystemCloseFileCallback. +void ULFileSystemCloseFileCallback_c90ac2e5(int handle); + +// ULFileSystemReadFromFileCallback_bc1997bc is a proxy for callback ULFileSystemReadFromFileCallback. +long long ULFileSystemReadFromFileCallback_bc1997bc(int handle, char* data, long long length); + +// ULLoggerLogMessageCallback_454e682a is a proxy for callback ULLoggerLogMessageCallback. +void ULLoggerLogMessageCallback_454e682a(ULLogLevel log_level, ULString message); + +// ULGPUDriverBeginSynchronizeCallback_650938c is a proxy for callback ULGPUDriverBeginSynchronizeCallback. +void ULGPUDriverBeginSynchronizeCallback_650938c(); + +// ULGPUDriverEndSynchronizeCallback_f6baad4d is a proxy for callback ULGPUDriverEndSynchronizeCallback. +void ULGPUDriverEndSynchronizeCallback_f6baad4d(); + +// ULGPUDriverNextTextureIdCallback_7de045b4 is a proxy for callback ULGPUDriverNextTextureIdCallback. +unsigned int ULGPUDriverNextTextureIdCallback_7de045b4(); + +// ULGPUDriverCreateTextureCallback_a32244d8 is a proxy for callback ULGPUDriverCreateTextureCallback. +void ULGPUDriverCreateTextureCallback_a32244d8(unsigned int texture_id, ULBitmap bitmap); + +// ULGPUDriverUpdateTextureCallback_3d7a526 is a proxy for callback ULGPUDriverUpdateTextureCallback. +void ULGPUDriverUpdateTextureCallback_3d7a526(unsigned int texture_id, ULBitmap bitmap); + +// ULGPUDriverDestroyTextureCallback_a8eea310 is a proxy for callback ULGPUDriverDestroyTextureCallback. +void ULGPUDriverDestroyTextureCallback_a8eea310(unsigned int texture_id); + +// ULGPUDriverNextRenderBufferIdCallback_bfeb3fb8 is a proxy for callback ULGPUDriverNextRenderBufferIdCallback. +unsigned int ULGPUDriverNextRenderBufferIdCallback_bfeb3fb8(); + +// ULGPUDriverCreateRenderBufferCallback_68ee5367 is a proxy for callback ULGPUDriverCreateRenderBufferCallback. +void ULGPUDriverCreateRenderBufferCallback_68ee5367(unsigned int render_buffer_id, ULRenderBuffer buffer); + +// ULGPUDriverDestroyRenderBufferCallback_81623f13 is a proxy for callback ULGPUDriverDestroyRenderBufferCallback. +void ULGPUDriverDestroyRenderBufferCallback_81623f13(unsigned int render_buffer_id); + +// ULGPUDriverNextGeometryIdCallback_5f2a8fea is a proxy for callback ULGPUDriverNextGeometryIdCallback. +unsigned int ULGPUDriverNextGeometryIdCallback_5f2a8fea(); + +// ULGPUDriverCreateGeometryCallback_5957236d is a proxy for callback ULGPUDriverCreateGeometryCallback. +void ULGPUDriverCreateGeometryCallback_5957236d(unsigned int geometry_id, ULVertexBuffer vertices, ULIndexBuffer indices); + +// ULGPUDriverUpdateGeometryCallback_3f20997 is a proxy for callback ULGPUDriverUpdateGeometryCallback. +void ULGPUDriverUpdateGeometryCallback_3f20997(unsigned int geometry_id, ULVertexBuffer vertices, ULIndexBuffer indices); + +// ULGPUDriverDestroyGeometryCallback_cce3a508 is a proxy for callback ULGPUDriverDestroyGeometryCallback. +void ULGPUDriverDestroyGeometryCallback_cce3a508(unsigned int geometry_id); + +// ULGPUDriverUpdateCommandListCallback_d3815a9e is a proxy for callback ULGPUDriverUpdateCommandListCallback. +void ULGPUDriverUpdateCommandListCallback_d3815a9e(ULCommandList list); + +// ULClipboardClearCallback_eda3036a is a proxy for callback ULClipboardClearCallback. +void ULClipboardClearCallback_eda3036a(); + +// ULClipboardReadPlainTextCallback_fedfb2b6 is a proxy for callback ULClipboardReadPlainTextCallback. +void ULClipboardReadPlainTextCallback_fedfb2b6(ULString result); + +// ULClipboardWritePlainTextCallback_6e8e0ca4 is a proxy for callback ULClipboardWritePlainTextCallback. +void ULClipboardWritePlainTextCallback_6e8e0ca4(ULString text); // JSTypedArrayBytesDeallocator_68d51f83 is a proxy for callback JSTypedArrayBytesDeallocator. void JSTypedArrayBytesDeallocator_68d51f83(void* bytes, void* deallocatorContext); @@ -51,33 +159,66 @@ void JSTypedArrayBytesDeallocator_68d51f83(void* bytes, void* deallocatorContext // JSObjectInitializeCallback_5793b16 is a proxy for callback JSObjectInitializeCallback. void JSObjectInitializeCallback_5793b16(JSContextRef ctx, JSObjectRef object); +// JSObjectInitializeCallbackEx_3f9a093b is a proxy for callback JSObjectInitializeCallbackEx. +void JSObjectInitializeCallbackEx_3f9a093b(JSContextRef ctx, JSClassRef jsClass, JSObjectRef object); + // JSObjectFinalizeCallback_93da0aea is a proxy for callback JSObjectFinalizeCallback. void JSObjectFinalizeCallback_93da0aea(JSObjectRef object); +// JSObjectFinalizeCallbackEx_d64d3113 is a proxy for callback JSObjectFinalizeCallbackEx. +void JSObjectFinalizeCallbackEx_d64d3113(JSClassRef jsClass, JSObjectRef object); + // JSObjectHasPropertyCallback_340bfa95 is a proxy for callback JSObjectHasPropertyCallback. _Bool JSObjectHasPropertyCallback_340bfa95(JSContextRef ctx, JSObjectRef object, JSStringRef propertyName); +// JSObjectHasPropertyCallbackEx_c35701e7 is a proxy for callback JSObjectHasPropertyCallbackEx. +_Bool JSObjectHasPropertyCallbackEx_c35701e7(JSContextRef ctx, JSClassRef jsClass, JSObjectRef object, JSStringRef propertyName); + // JSObjectGetPropertyCallback_5caec716 is a proxy for callback JSObjectGetPropertyCallback. JSValueRef JSObjectGetPropertyCallback_5caec716(JSContextRef ctx, JSObjectRef object, JSStringRef propertyName, JSValueRef* exception); +// JSObjectGetPropertyCallbackEx_8b91eedb is a proxy for callback JSObjectGetPropertyCallbackEx. +JSValueRef JSObjectGetPropertyCallbackEx_8b91eedb(JSContextRef ctx, JSClassRef jsClass, JSObjectRef object, JSStringRef propertyName, JSValueRef* exception); + // JSObjectSetPropertyCallback_a684f1fe is a proxy for callback JSObjectSetPropertyCallback. _Bool JSObjectSetPropertyCallback_a684f1fe(JSContextRef ctx, JSObjectRef object, JSStringRef propertyName, JSValueRef value, JSValueRef* exception); +// JSObjectSetPropertyCallbackEx_d28cf88c is a proxy for callback JSObjectSetPropertyCallbackEx. +_Bool JSObjectSetPropertyCallbackEx_d28cf88c(JSContextRef ctx, JSClassRef jsClass, JSObjectRef object, JSStringRef propertyName, JSValueRef value, JSValueRef* exception); + // JSObjectDeletePropertyCallback_b0108ebe is a proxy for callback JSObjectDeletePropertyCallback. _Bool JSObjectDeletePropertyCallback_b0108ebe(JSContextRef ctx, JSObjectRef object, JSStringRef propertyName, JSValueRef* exception); +// JSObjectDeletePropertyCallbackEx_e24fcdb0 is a proxy for callback JSObjectDeletePropertyCallbackEx. +_Bool JSObjectDeletePropertyCallbackEx_e24fcdb0(JSContextRef ctx, JSClassRef jsClass, JSObjectRef object, JSStringRef propertyName, JSValueRef* exception); + // JSObjectGetPropertyNamesCallback_e77d2329 is a proxy for callback JSObjectGetPropertyNamesCallback. void JSObjectGetPropertyNamesCallback_e77d2329(JSContextRef ctx, JSObjectRef object, JSPropertyNameAccumulatorRef propertyNames); +// JSObjectGetPropertyNamesCallbackEx_74285955 is a proxy for callback JSObjectGetPropertyNamesCallbackEx. +void JSObjectGetPropertyNamesCallbackEx_74285955(JSContextRef ctx, JSClassRef jsClass, JSObjectRef object, JSPropertyNameAccumulatorRef propertyNames); + // JSObjectCallAsFunctionCallback_89f9469b is a proxy for callback JSObjectCallAsFunctionCallback. JSValueRef JSObjectCallAsFunctionCallback_89f9469b(JSContextRef ctx, JSObjectRef function, JSObjectRef thisObject, unsigned long int argumentCount, JSValueRef* arguments, JSValueRef* exception); +// JSObjectCallAsFunctionCallbackEx_9f036e3c is a proxy for callback JSObjectCallAsFunctionCallbackEx. +JSValueRef JSObjectCallAsFunctionCallbackEx_9f036e3c(JSContextRef ctx, JSClassRef jsClass, JSStringRef className, JSObjectRef function, JSObjectRef thisObject, unsigned long int argumentCount, JSValueRef* arguments, JSValueRef* exception); + // JSObjectCallAsConstructorCallback_45f4b71f is a proxy for callback JSObjectCallAsConstructorCallback. JSObjectRef JSObjectCallAsConstructorCallback_45f4b71f(JSContextRef ctx, JSObjectRef constructor, unsigned long int argumentCount, JSValueRef* arguments, JSValueRef* exception); +// JSObjectCallAsConstructorCallbackEx_a563df4 is a proxy for callback JSObjectCallAsConstructorCallbackEx. +JSObjectRef JSObjectCallAsConstructorCallbackEx_a563df4(JSContextRef ctx, JSClassRef jsClass, JSObjectRef constructor, unsigned long int argumentCount, JSValueRef* arguments, JSValueRef* exception); + // JSObjectHasInstanceCallback_aa527d2e is a proxy for callback JSObjectHasInstanceCallback. _Bool JSObjectHasInstanceCallback_aa527d2e(JSContextRef ctx, JSObjectRef constructor, JSValueRef possibleInstance, JSValueRef* exception); +// JSObjectHasInstanceCallbackEx_b7bafe4e is a proxy for callback JSObjectHasInstanceCallbackEx. +_Bool JSObjectHasInstanceCallbackEx_b7bafe4e(JSContextRef ctx, JSClassRef jsClass, JSObjectRef constructor, JSValueRef possibleInstance, JSValueRef* exception); + // JSObjectConvertToTypeCallback_d379d61c is a proxy for callback JSObjectConvertToTypeCallback. JSValueRef JSObjectConvertToTypeCallback_d379d61c(JSContextRef ctx, JSObjectRef object, JSType _type, JSValueRef* exception); +// JSObjectConvertToTypeCallbackEx_1bcea974 is a proxy for callback JSObjectConvertToTypeCallbackEx. +JSValueRef JSObjectConvertToTypeCallbackEx_1bcea974(JSContextRef ctx, JSClassRef jsClass, JSObjectRef object, JSType _type, JSValueRef* exception); + diff --git a/ultralight/const.go b/ultralight/const.go index 37291cb..c43bd27 100644 --- a/ultralight/const.go +++ b/ultralight/const.go @@ -1,17 +1,13 @@ // THE AUTOGENERATED LICENSE. ALL THE RIGHTS ARE RESERVED BY ROBOTS. -// WARNING: This file has automatically been generated on Mon, 07 Oct 2019 13:59:36 CDT. +// WARNING: This file has automatically been generated on Sun, 02 Oct 2022 19:40:55 PDT. // Code generated by https://git.io/c-for-go. DO NOT EDIT. package ultralight /* #cgo CFLAGS: -I../include -#cgo windows,386 LDFLAGS: -L${SRCDIR}/libs/windows/x32 -#cgo windows,amd64 LDFLAGS: -L${SRCDIR}/libs/windows/x64 -#cgo darwin,amd64 LDFLAGS: -L${SRCDIR}/libs/darwin/x64 -#cgo linux,amd64 LDFLAGS: -L${SRCDIR}/libs/linux/x64 -#cgo LDFLAGS: -lUltralightCore -lWebCore -lUltralight -lAppCore +#cgo LDFLAGS: -Wl,--allow-multiple-definition -L${SRCDIR}/libs/linux/x64 -Wl,-rpath,/home/co/code/Muon/ultralight/libs/linux/x64 -lUltralightCore -lAppCore -lUltralight -lWebCore #include "AppCore/CAPI.h" #include #include "cgo_helpers.h" @@ -19,8 +15,8 @@ package ultralight import "C" const ( - // JSC_OBJC_API_ENABLED as defined in JavaScriptCore/JSBase.h:141 - JSC_OBJC_API_ENABLED = 0 + // JSCOBJCAPIENABLED as defined in JavaScriptCore/JSBase.h:151 + JSCOBJCAPIENABLED = 0 ) // ULWindowFlags as declared in AppCore/CAPI.h:47 @@ -28,147 +24,203 @@ type ULWindowFlags int32 // ULWindowFlags enumeration from AppCore/CAPI.h:47 const ( - KWindowFlags_Borderless ULWindowFlags = 1 - KWindowFlags_Titled ULWindowFlags = 2 - KWindowFlags_Resizable ULWindowFlags = 4 - KWindowFlags_Maximizable ULWindowFlags = 8 + KWindowFlagsBorderless ULWindowFlags = 1 + KWindowFlagsTitled ULWindowFlags = 2 + KWindowFlagsResizable ULWindowFlags = 4 + KWindowFlagsMaximizable ULWindowFlags = 8 ) -// ULMessageSource as declared in Ultralight/CAPI.h:73 +// ULMessageSource as declared in Ultralight/CAPI.h:75 type ULMessageSource int32 -// ULMessageSource enumeration from Ultralight/CAPI.h:73 +// ULMessageSource enumeration from Ultralight/CAPI.h:75 const ( - KMessageSource_XML ULMessageSource = iota - KMessageSource_JS ULMessageSource = 1 - KMessageSource_Network ULMessageSource = 2 - KMessageSource_ConsoleAPI ULMessageSource = 3 - KMessageSource_Storage ULMessageSource = 4 - KMessageSource_AppCache ULMessageSource = 5 - KMessageSource_Rendering ULMessageSource = 6 - KMessageSource_CSS ULMessageSource = 7 - KMessageSource_Security ULMessageSource = 8 - KMessageSource_ContentBlocker ULMessageSource = 9 - KMessageSource_Other ULMessageSource = 10 + KMessageSourceXML ULMessageSource = iota + KMessageSourceJS ULMessageSource = 1 + KMessageSourceNetwork ULMessageSource = 2 + KMessageSourceConsoleAPI ULMessageSource = 3 + KMessageSourceStorage ULMessageSource = 4 + KMessageSourceAppCache ULMessageSource = 5 + KMessageSourceRendering ULMessageSource = 6 + KMessageSourceCSS ULMessageSource = 7 + KMessageSourceSecurity ULMessageSource = 8 + KMessageSourceContentBlocker ULMessageSource = 9 + KMessageSourceOther ULMessageSource = 10 ) -// ULMessageLevel as declared in Ultralight/CAPI.h:81 +// ULMessageLevel as declared in Ultralight/CAPI.h:83 type ULMessageLevel int32 -// ULMessageLevel enumeration from Ultralight/CAPI.h:81 +// ULMessageLevel enumeration from Ultralight/CAPI.h:83 const ( - KMessageLevel_Log ULMessageLevel = 1 - KMessageLevel_Warning ULMessageLevel = 2 - KMessageLevel_Error ULMessageLevel = 3 - KMessageLevel_Debug ULMessageLevel = 4 - KMessageLevel_Info ULMessageLevel = 5 + KMessageLevelLog ULMessageLevel = 1 + KMessageLevelWarning ULMessageLevel = 2 + KMessageLevelError ULMessageLevel = 3 + KMessageLevelDebug ULMessageLevel = 4 + KMessageLevelInfo ULMessageLevel = 5 ) -// ULCursor as declared in Ultralight/CAPI.h:128 +// ULCursor as declared in Ultralight/CAPI.h:130 type ULCursor int32 -// ULCursor enumeration from Ultralight/CAPI.h:128 +// ULCursor enumeration from Ultralight/CAPI.h:130 const ( - KCursor_Pointer ULCursor = iota - KCursor_Cross ULCursor = 1 - KCursor_Hand ULCursor = 2 - KCursor_IBeam ULCursor = 3 - KCursor_Wait ULCursor = 4 - KCursor_Help ULCursor = 5 - KCursor_EastResize ULCursor = 6 - KCursor_NorthResize ULCursor = 7 - KCursor_NorthEastResize ULCursor = 8 - KCursor_NorthWestResize ULCursor = 9 - KCursor_SouthResize ULCursor = 10 - KCursor_SouthEastResize ULCursor = 11 - KCursor_SouthWestResize ULCursor = 12 - KCursor_WestResize ULCursor = 13 - KCursor_NorthSouthResize ULCursor = 14 - KCursor_EastWestResize ULCursor = 15 - KCursor_NorthEastSouthWestResize ULCursor = 16 - KCursor_NorthWestSouthEastResize ULCursor = 17 - KCursor_ColumnResize ULCursor = 18 - KCursor_RowResize ULCursor = 19 - KCursor_MiddlePanning ULCursor = 20 - KCursor_EastPanning ULCursor = 21 - KCursor_NorthPanning ULCursor = 22 - KCursor_NorthEastPanning ULCursor = 23 - KCursor_NorthWestPanning ULCursor = 24 - KCursor_SouthPanning ULCursor = 25 - KCursor_SouthEastPanning ULCursor = 26 - KCursor_SouthWestPanning ULCursor = 27 - KCursor_WestPanning ULCursor = 28 - KCursor_Move ULCursor = 29 - KCursor_VerticalText ULCursor = 30 - KCursor_Cell ULCursor = 31 - KCursor_ContextMenu ULCursor = 32 - KCursor_Alias ULCursor = 33 - KCursor_Progress ULCursor = 34 - KCursor_NoDrop ULCursor = 35 - KCursor_Copy ULCursor = 36 - KCursor_None ULCursor = 37 - KCursor_NotAllowed ULCursor = 38 - KCursor_ZoomIn ULCursor = 39 - KCursor_ZoomOut ULCursor = 40 - KCursor_Grab ULCursor = 41 - KCursor_Grabbing ULCursor = 42 - KCursor_Custom ULCursor = 43 + KCursorPointer ULCursor = iota + KCursorCross ULCursor = 1 + KCursorHand ULCursor = 2 + KCursorIBeam ULCursor = 3 + KCursorWait ULCursor = 4 + KCursorHelp ULCursor = 5 + KCursorEastResize ULCursor = 6 + KCursorNorthResize ULCursor = 7 + KCursorNorthEastResize ULCursor = 8 + KCursorNorthWestResize ULCursor = 9 + KCursorSouthResize ULCursor = 10 + KCursorSouthEastResize ULCursor = 11 + KCursorSouthWestResize ULCursor = 12 + KCursorWestResize ULCursor = 13 + KCursorNorthSouthResize ULCursor = 14 + KCursorEastWestResize ULCursor = 15 + KCursorNorthEastSouthWestResize ULCursor = 16 + KCursorNorthWestSouthEastResize ULCursor = 17 + KCursorColumnResize ULCursor = 18 + KCursorRowResize ULCursor = 19 + KCursorMiddlePanning ULCursor = 20 + KCursorEastPanning ULCursor = 21 + KCursorNorthPanning ULCursor = 22 + KCursorNorthEastPanning ULCursor = 23 + KCursorNorthWestPanning ULCursor = 24 + KCursorSouthPanning ULCursor = 25 + KCursorSouthEastPanning ULCursor = 26 + KCursorSouthWestPanning ULCursor = 27 + KCursorWestPanning ULCursor = 28 + KCursorMove ULCursor = 29 + KCursorVerticalText ULCursor = 30 + KCursorCell ULCursor = 31 + KCursorContextMenu ULCursor = 32 + KCursorAlias ULCursor = 33 + KCursorProgress ULCursor = 34 + KCursorNoDrop ULCursor = 35 + KCursorCopy ULCursor = 36 + KCursorNone ULCursor = 37 + KCursorNotAllowed ULCursor = 38 + KCursorZoomIn ULCursor = 39 + KCursorZoomOut ULCursor = 40 + KCursorGrab ULCursor = 41 + KCursorGrabbing ULCursor = 42 + KCursorCustom ULCursor = 43 ) -// ULBitmapFormat as declared in Ultralight/CAPI.h:133 +// ULBitmapFormat as declared in Ultralight/CAPI.h:150 type ULBitmapFormat int32 -// ULBitmapFormat enumeration from Ultralight/CAPI.h:133 +// ULBitmapFormat enumeration from Ultralight/CAPI.h:150 const ( - KBitmapFormat_A8 ULBitmapFormat = iota - KBitmapFormat_RGBA8 ULBitmapFormat = 1 + KBitmapFormatA8UNORM ULBitmapFormat = iota + KBitmapFormatBGRA8UNORMSRGB ULBitmapFormat = 1 ) -// ULKeyEventType as declared in Ultralight/CAPI.h:140 +// ULKeyEventType as declared in Ultralight/CAPI.h:180 type ULKeyEventType int32 -// ULKeyEventType enumeration from Ultralight/CAPI.h:140 +// ULKeyEventType enumeration from Ultralight/CAPI.h:180 const ( - KKeyEventType_KeyDown ULKeyEventType = iota - KKeyEventType_KeyUp ULKeyEventType = 1 - KKeyEventType_RawKeyDown ULKeyEventType = 2 - KKeyEventType_Char ULKeyEventType = 3 + KKeyEventTypeKeyDown ULKeyEventType = iota + KKeyEventTypeKeyUp ULKeyEventType = 1 + KKeyEventTypeRawKeyDown ULKeyEventType = 2 + KKeyEventTypeChar ULKeyEventType = 3 ) -// ULMouseEventType as declared in Ultralight/CAPI.h:146 +// ULMouseEventType as declared in Ultralight/CAPI.h:186 type ULMouseEventType int32 -// ULMouseEventType enumeration from Ultralight/CAPI.h:146 +// ULMouseEventType enumeration from Ultralight/CAPI.h:186 const ( - KMouseEventType_MouseMoved ULMouseEventType = iota - KMouseEventType_MouseDown ULMouseEventType = 1 - KMouseEventType_MouseUp ULMouseEventType = 2 + KMouseEventTypeMouseMoved ULMouseEventType = iota + KMouseEventTypeMouseDown ULMouseEventType = 1 + KMouseEventTypeMouseUp ULMouseEventType = 2 ) -// ULMouseButton as declared in Ultralight/CAPI.h:153 +// ULMouseButton as declared in Ultralight/CAPI.h:193 type ULMouseButton int32 -// ULMouseButton enumeration from Ultralight/CAPI.h:153 +// ULMouseButton enumeration from Ultralight/CAPI.h:193 const ( - KMouseButton_None ULMouseButton = iota - KMouseButton_Left ULMouseButton = 1 - KMouseButton_Middle ULMouseButton = 2 - KMouseButton_Right ULMouseButton = 3 + KMouseButtonNone ULMouseButton = iota + KMouseButtonLeft ULMouseButton = 1 + KMouseButtonMiddle ULMouseButton = 2 + KMouseButtonRight ULMouseButton = 3 ) -// ULScrollEventType as declared in Ultralight/CAPI.h:158 +// ULScrollEventType as declared in Ultralight/CAPI.h:198 type ULScrollEventType int32 -// ULScrollEventType enumeration from Ultralight/CAPI.h:158 +// ULScrollEventType enumeration from Ultralight/CAPI.h:198 const ( - KScrollEventType_ScrollByPixel ULScrollEventType = iota - KScrollEventType_ScrollByPage ULScrollEventType = 1 + KScrollEventTypeScrollByPixel ULScrollEventType = iota + KScrollEventTypeScrollByPage ULScrollEventType = 1 ) -// JSType as declared in JavaScriptCore/JSValueRef.h:53 +// ULFaceWinding as declared in Ultralight/CAPI.h:203 +type ULFaceWinding int32 + +// ULFaceWinding enumeration from Ultralight/CAPI.h:203 +const ( + KFaceWindingClockwise ULFaceWinding = iota + KFaceWindowCounterClockwise ULFaceWinding = 1 +) + +// ULFontHinting as declared in Ultralight/CAPI.h:225 +type ULFontHinting int32 + +// ULFontHinting enumeration from Ultralight/CAPI.h:225 +const ( + KFontHintingSmooth ULFontHinting = iota + KFontHintingNormal ULFontHinting = 1 + KFontHintingMonochrome ULFontHinting = 2 +) + +// ULLogLevel as declared in Ultralight/CAPI.h:1477 +type ULLogLevel int32 + +// ULLogLevel enumeration from Ultralight/CAPI.h:1477 +const ( + KLogLevelError ULLogLevel = iota + KLogLevelWarning ULLogLevel = 1 + KLogLevelInfo ULLogLevel = 2 +) + +// ULVertexBufferFormat as declared in Ultralight/CAPI.h:1552 +type ULVertexBufferFormat int32 + +// ULVertexBufferFormat enumeration from Ultralight/CAPI.h:1552 +const ( + KVertexBufferFormat2f4ub2f ULVertexBufferFormat = iota + KVertexBufferFormat2f4ub2f2f28f ULVertexBufferFormat = 1 +) + +// ULShaderType as declared in Ultralight/CAPI.h:1585 +type ULShaderType int32 + +// ULShaderType enumeration from Ultralight/CAPI.h:1585 +const ( + KShaderTypeFill ULShaderType = iota + KShaderTypeFillPath ULShaderType = 1 +) + +// ULCommandType as declared in Ultralight/CAPI.h:1660 +type ULCommandType int32 + +// ULCommandType enumeration from Ultralight/CAPI.h:1660 +const ( + KCommandTypeClearRenderBuffer ULCommandType = iota + KCommandTypeDrawGeometry ULCommandType = 1 +) + +// JSType as declared in JavaScriptCore/JSValueRef.h:55 type JSType int32 -// JSType enumeration from JavaScriptCore/JSValueRef.h:53 +// JSType enumeration from JavaScriptCore/JSValueRef.h:55 const ( KJSTypeUndefined JSType = iota KJSTypeNull JSType = 1 @@ -176,12 +228,13 @@ const ( KJSTypeNumber JSType = 3 KJSTypeString JSType = 4 KJSTypeObject JSType = 5 + KJSTypeSymbol JSType = 6 ) -// JSTypedArrayType as declared in JavaScriptCore/JSValueRef.h:83 +// JSTypedArrayType as declared in JavaScriptCore/JSValueRef.h:85 type JSTypedArrayType int32 -// JSTypedArrayType enumeration from JavaScriptCore/JSValueRef.h:83 +// JSTypedArrayType enumeration from JavaScriptCore/JSValueRef.h:85 const ( KJSTypedArrayTypeInt8Array JSTypedArrayType = iota KJSTypedArrayTypeInt16Array JSTypedArrayType = 1 @@ -196,6 +249,8 @@ const ( KJSTypedArrayTypeNone JSTypedArrayType = 10 ) +// ULInvalidFileHandle as declared in Ultralight/CAPI.h:1413 +const ULInvalidFileHandle ULFileHandle = -1 const ( // KJSPropertyAttributeNone as declared in JavaScriptCore/JSObjectRef.h:51 KJSPropertyAttributeNone = iota diff --git a/ultralight/doc.go b/ultralight/doc.go index 37bfcf9..9103783 100644 --- a/ultralight/doc.go +++ b/ultralight/doc.go @@ -1,6 +1,6 @@ // THE AUTOGENERATED LICENSE. ALL THE RIGHTS ARE RESERVED BY ROBOTS. -// WARNING: This file has automatically been generated on Mon, 07 Oct 2019 13:59:36 CDT. +// WARNING: This file has automatically been generated on Sun, 02 Oct 2022 19:40:55 PDT. // Code generated by https://git.io/c-for-go. DO NOT EDIT. /* diff --git a/ultralight/libs/darwin/x64/libAppCore.dylib b/ultralight/libs/darwin/x64/libAppCore.dylib index c141f79..076bfc5 100644 Binary files a/ultralight/libs/darwin/x64/libAppCore.dylib and b/ultralight/libs/darwin/x64/libAppCore.dylib differ diff --git a/ultralight/libs/darwin/x64/libUltralight.dylib b/ultralight/libs/darwin/x64/libUltralight.dylib index 448fd8e..f31e871 100644 Binary files a/ultralight/libs/darwin/x64/libUltralight.dylib and b/ultralight/libs/darwin/x64/libUltralight.dylib differ diff --git a/ultralight/libs/darwin/x64/libUltralightCore.dylib b/ultralight/libs/darwin/x64/libUltralightCore.dylib index b42807a..6c871f9 100644 Binary files a/ultralight/libs/darwin/x64/libUltralightCore.dylib and b/ultralight/libs/darwin/x64/libUltralightCore.dylib differ diff --git a/ultralight/libs/darwin/x64/libWebCore.dylib b/ultralight/libs/darwin/x64/libWebCore.dylib index e16d4d5..a6e1bc9 100644 Binary files a/ultralight/libs/darwin/x64/libWebCore.dylib and b/ultralight/libs/darwin/x64/libWebCore.dylib differ diff --git a/ultralight/libs/linux/x64/libAppCore.so b/ultralight/libs/linux/x64/libAppCore.so index 165f8d2..4ede0fe 100644 Binary files a/ultralight/libs/linux/x64/libAppCore.so and b/ultralight/libs/linux/x64/libAppCore.so differ diff --git a/ultralight/libs/linux/x64/libUltralight.so b/ultralight/libs/linux/x64/libUltralight.so index d2abce7..284b39a 100644 Binary files a/ultralight/libs/linux/x64/libUltralight.so and b/ultralight/libs/linux/x64/libUltralight.so differ diff --git a/ultralight/libs/linux/x64/libUltralightCore.so b/ultralight/libs/linux/x64/libUltralightCore.so index 8686354..c35754a 100644 Binary files a/ultralight/libs/linux/x64/libUltralightCore.so and b/ultralight/libs/linux/x64/libUltralightCore.so differ diff --git a/ultralight/libs/linux/x64/libWebCore.so b/ultralight/libs/linux/x64/libWebCore.so index 3f95e9e..0120dd7 100644 Binary files a/ultralight/libs/linux/x64/libWebCore.so and b/ultralight/libs/linux/x64/libWebCore.so differ diff --git a/ultralight/libs/windows/x32/AppCore.dll b/ultralight/libs/windows/x32/AppCore.dll deleted file mode 100644 index 129a277..0000000 Binary files a/ultralight/libs/windows/x32/AppCore.dll and /dev/null differ diff --git a/ultralight/libs/windows/x32/Ultralight.dll b/ultralight/libs/windows/x32/Ultralight.dll deleted file mode 100644 index 6916880..0000000 Binary files a/ultralight/libs/windows/x32/Ultralight.dll and /dev/null differ diff --git a/ultralight/libs/windows/x32/UltralightCore.dll b/ultralight/libs/windows/x32/UltralightCore.dll deleted file mode 100644 index e314fb4..0000000 Binary files a/ultralight/libs/windows/x32/UltralightCore.dll and /dev/null differ diff --git a/ultralight/libs/windows/x32/WebCore.dll b/ultralight/libs/windows/x32/WebCore.dll deleted file mode 100644 index 26c7e6c..0000000 Binary files a/ultralight/libs/windows/x32/WebCore.dll and /dev/null differ diff --git a/ultralight/libs/windows/x64/AppCore.dll b/ultralight/libs/windows/x64/AppCore.dll index f225f37..5faf107 100644 Binary files a/ultralight/libs/windows/x64/AppCore.dll and b/ultralight/libs/windows/x64/AppCore.dll differ diff --git a/ultralight/libs/windows/x64/Ultralight.dll b/ultralight/libs/windows/x64/Ultralight.dll index a86a048..42ef9b9 100644 Binary files a/ultralight/libs/windows/x64/Ultralight.dll and b/ultralight/libs/windows/x64/Ultralight.dll differ diff --git a/ultralight/libs/windows/x64/UltralightCore.dll b/ultralight/libs/windows/x64/UltralightCore.dll index 2290996..a33d145 100644 Binary files a/ultralight/libs/windows/x64/UltralightCore.dll and b/ultralight/libs/windows/x64/UltralightCore.dll differ diff --git a/ultralight/libs/windows/x64/WebCore.dll b/ultralight/libs/windows/x64/WebCore.dll index 1eddd20..635979d 100644 Binary files a/ultralight/libs/windows/x64/WebCore.dll and b/ultralight/libs/windows/x64/WebCore.dll differ diff --git a/ultralight/types.go b/ultralight/types.go index 557aa78..679b19c 100644 --- a/ultralight/types.go +++ b/ultralight/types.go @@ -1,17 +1,13 @@ // THE AUTOGENERATED LICENSE. ALL THE RIGHTS ARE RESERVED BY ROBOTS. -// WARNING: This file has automatically been generated on Mon, 07 Oct 2019 13:59:36 CDT. +// WARNING: This file has automatically been generated on Sun, 02 Oct 2022 19:40:55 PDT. // Code generated by https://git.io/c-for-go. DO NOT EDIT. package ultralight /* #cgo CFLAGS: -I../include -#cgo windows,386 LDFLAGS: -L${SRCDIR}/libs/windows/x32 -#cgo windows,amd64 LDFLAGS: -L${SRCDIR}/libs/windows/x64 -#cgo darwin,amd64 LDFLAGS: -L${SRCDIR}/libs/darwin/x64 -#cgo linux,amd64 LDFLAGS: -L${SRCDIR}/libs/linux/x64 -#cgo LDFLAGS: -lUltralightCore -lWebCore -lUltralight -lAppCore +#cgo LDFLAGS: -Wl,--allow-multiple-definition -L${SRCDIR}/libs/linux/x64 -Wl,-rpath,/home/co/code/Muon/ultralight/libs/linux/x64 -lUltralightCore -lAppCore -lUltralight -lWebCore #include "AppCore/CAPI.h" #include #include "cgo_helpers.h" @@ -34,14 +30,14 @@ type ULMonitor C.ULMonitor // ULOverlay as declared in AppCore/CAPI.h:37 type ULOverlay C.ULOverlay -// ULUpdateCallback type as declared in AppCore/CAPI.h:118 -type ULUpdateCallback func(user_data unsafe.Pointer) +// ULUpdateCallback type as declared in AppCore/CAPI.h:148 +type ULUpdateCallback func(userData unsafe.Pointer) -// ULCloseCallback type as declared in AppCore/CAPI.h:195 -type ULCloseCallback func(user_data unsafe.Pointer) +// ULCloseCallback type as declared in AppCore/CAPI.h:225 +type ULCloseCallback func(userData unsafe.Pointer) -// ULResizeCallback type as declared in AppCore/CAPI.h:205 -type ULResizeCallback func(user_data unsafe.Pointer, width uint32, height uint32) +// ULResizeCallback type as declared in AppCore/CAPI.h:235 +type ULResizeCallback func(userData unsafe.Pointer, width uint32, height uint32) // ULChar16 type as declared in Ultralight/CAPI.h:43 type ULChar16 uint16 @@ -52,21 +48,21 @@ type ULConfig C.ULConfig // ULRenderer as declared in Ultralight/CAPI.h:51 type ULRenderer C.ULRenderer -// ULView as declared in Ultralight/CAPI.h:52 +// ULSession as declared in Ultralight/CAPI.h:52 +type ULSession C.ULSession + +// ULView as declared in Ultralight/CAPI.h:53 type ULView C.ULView -// ULBitmap as declared in Ultralight/CAPI.h:53 +// ULBitmap as declared in Ultralight/CAPI.h:54 type ULBitmap C.ULBitmap -// ULString as declared in Ultralight/CAPI.h:54 +// ULString as declared in Ultralight/CAPI.h:55 type ULString C.ULString -// ULBuffer as declared in Ultralight/CAPI.h:55 +// ULBuffer as declared in Ultralight/CAPI.h:56 type ULBuffer C.ULBuffer -// ULRenderTarget as declared in Ultralight/CAPI.h:56 -type ULRenderTarget C.ULRenderTarget - // ULKeyEvent as declared in Ultralight/CAPI.h:57 type ULKeyEvent C.ULKeyEvent @@ -76,32 +72,359 @@ type ULMouseEvent C.ULMouseEvent // ULScrollEvent as declared in Ultralight/CAPI.h:59 type ULScrollEvent C.ULScrollEvent -// ULChangeTitleCallback type as declared in Ultralight/CAPI.h:409 -type ULChangeTitleCallback func(user_data unsafe.Pointer, caller ULView, title ULString) +// ULSurface as declared in Ultralight/CAPI.h:60 +type ULSurface C.ULSurface -// ULChangeURLCallback type as declared in Ultralight/CAPI.h:419 -type ULChangeURLCallback func(user_data unsafe.Pointer, caller ULView, url ULString) +// ULBitmapSurface as declared in Ultralight/CAPI.h:61 +type ULBitmapSurface C.ULBitmapSurface -// ULChangeTooltipCallback type as declared in Ultralight/CAPI.h:429 -type ULChangeTooltipCallback func(user_data unsafe.Pointer, caller ULView, tooltip ULString) +// ULRect as declared in Ultralight/CAPI.h:232 +type ULRect struct { + Left float32 + Top float32 + Right float32 + Bottom float32 + ref4622ce0c *C.ULRect + allocs4622ce0c interface{} +} -// ULChangeCursorCallback type as declared in Ultralight/CAPI.h:439 -type ULChangeCursorCallback func(user_data unsafe.Pointer, caller ULView, cursor ULCursor) +// ULIntRect as declared in Ultralight/CAPI.h:239 +type ULIntRect struct { + Left int32 + Top int32 + Right int32 + Bottom int32 + ref79619c19 *C.ULIntRect + allocs79619c19 interface{} +} -// ULAddConsoleMessageCallback type as declared in Ultralight/CAPI.h:449 -type ULAddConsoleMessageCallback func(user_data unsafe.Pointer, caller ULView, source ULMessageSource, level ULMessageLevel, message ULString, line_number uint32, column_number uint32, source_id ULString) +// ULRenderTarget as declared in Ultralight/CAPI.h:251 +type ULRenderTarget struct { + IsEmpty bool + Width uint32 + Height uint32 + TextureId uint32 + TextureWidth uint32 + TextureHeight uint32 + TextureFormat ULBitmapFormat + UvCoords ULRect + RenderBufferId uint32 + ref79bb0a51 *C.ULRenderTarget + allocs79bb0a51 interface{} +} -// ULBeginLoadingCallback type as declared in Ultralight/CAPI.h:464 -type ULBeginLoadingCallback func(user_data unsafe.Pointer, caller ULView) +// ULChangeTitleCallback type as declared in Ultralight/CAPI.h:757 +type ULChangeTitleCallback func(userData unsafe.Pointer, caller ULView, title ULString) -// ULFinishLoadingCallback type as declared in Ultralight/CAPI.h:474 -type ULFinishLoadingCallback func(user_data unsafe.Pointer, caller ULView) +// ULChangeURLCallback type as declared in Ultralight/CAPI.h:767 +type ULChangeURLCallback func(userData unsafe.Pointer, caller ULView, url ULString) -// ULUpdateHistoryCallback type as declared in Ultralight/CAPI.h:484 -type ULUpdateHistoryCallback func(user_data unsafe.Pointer, caller ULView) +// ULChangeTooltipCallback type as declared in Ultralight/CAPI.h:777 +type ULChangeTooltipCallback func(userData unsafe.Pointer, caller ULView, tooltip ULString) -// ULDOMReadyCallback type as declared in Ultralight/CAPI.h:494 -type ULDOMReadyCallback func(user_data unsafe.Pointer, caller ULView) +// ULChangeCursorCallback type as declared in Ultralight/CAPI.h:787 +type ULChangeCursorCallback func(userData unsafe.Pointer, caller ULView, cursor ULCursor) + +// ULAddConsoleMessageCallback type as declared in Ultralight/CAPI.h:797 +type ULAddConsoleMessageCallback func(userData unsafe.Pointer, caller ULView, source ULMessageSource, level ULMessageLevel, message ULString, lineNumber uint32, columnNumber uint32, sourceId ULString) + +// ULCreateChildViewCallback type as declared in Ultralight/CAPI.h:812 +type ULCreateChildViewCallback func(userData unsafe.Pointer, caller ULView, openerUrl ULString, targetUrl ULString, isPopup bool, popupRect ULIntRect) ULView + +// ULBeginLoadingCallback type as declared in Ultralight/CAPI.h:833 +type ULBeginLoadingCallback func(userData unsafe.Pointer, caller ULView, frameId uint64, isMainFrame bool, url ULString) + +// ULFinishLoadingCallback type as declared in Ultralight/CAPI.h:844 +type ULFinishLoadingCallback func(userData unsafe.Pointer, caller ULView, frameId uint64, isMainFrame bool, url ULString) + +// ULFailLoadingCallback type as declared in Ultralight/CAPI.h:855 +type ULFailLoadingCallback func(userData unsafe.Pointer, caller ULView, frameId uint64, isMainFrame bool, url ULString, description ULString, errorDomain ULString, errorCode int32) + +// ULWindowObjectReadyCallback type as declared in Ultralight/CAPI.h:867 +type ULWindowObjectReadyCallback func(userData unsafe.Pointer, caller ULView, frameId uint64, isMainFrame bool, url ULString) + +// ULDOMReadyCallback type as declared in Ultralight/CAPI.h:889 +type ULDOMReadyCallback func(userData unsafe.Pointer, caller ULView, frameId uint64, isMainFrame bool, url ULString) + +// ULUpdateHistoryCallback type as declared in Ultralight/CAPI.h:904 +type ULUpdateHistoryCallback func(userData unsafe.Pointer, caller ULView) + +// ULSurfaceDefinitionCreateCallback type as declared in Ultralight/CAPI.h:1311 +type ULSurfaceDefinitionCreateCallback func(width uint32, height uint32) unsafe.Pointer + +// ULSurfaceDefinitionDestroyCallback type as declared in Ultralight/CAPI.h:1320 +type ULSurfaceDefinitionDestroyCallback func(userData unsafe.Pointer) + +// ULSurfaceDefinitionGetWidthCallback type as declared in Ultralight/CAPI.h:1328 +type ULSurfaceDefinitionGetWidthCallback func(userData unsafe.Pointer) uint32 + +// ULSurfaceDefinitionGetHeightCallback type as declared in Ultralight/CAPI.h:1336 +type ULSurfaceDefinitionGetHeightCallback func(userData unsafe.Pointer) uint32 + +// ULSurfaceDefinitionGetRowBytesCallback type as declared in Ultralight/CAPI.h:1346 +type ULSurfaceDefinitionGetRowBytesCallback func(userData unsafe.Pointer) uint32 + +// ULSurfaceDefinitionGetSizeCallback type as declared in Ultralight/CAPI.h:1354 +type ULSurfaceDefinitionGetSizeCallback func(userData unsafe.Pointer) uint32 + +// ULSurfaceDefinitionLockPixelsCallback type as declared in Ultralight/CAPI.h:1362 +type ULSurfaceDefinitionLockPixelsCallback func(userData unsafe.Pointer) unsafe.Pointer + +// ULSurfaceDefinitionUnlockPixelsCallback type as declared in Ultralight/CAPI.h:1372 +type ULSurfaceDefinitionUnlockPixelsCallback func(userData unsafe.Pointer) + +// ULSurfaceDefinitionResizeCallback type as declared in Ultralight/CAPI.h:1383 +type ULSurfaceDefinitionResizeCallback func(userData unsafe.Pointer, width uint32, height uint32) + +// ULSurfaceDefinition as declared in Ultralight/CAPI.h:1395 +type ULSurfaceDefinition struct { + Create ULSurfaceDefinitionCreateCallback + Destroy ULSurfaceDefinitionDestroyCallback + GetWidth ULSurfaceDefinitionGetWidthCallback + GetHeight ULSurfaceDefinitionGetHeightCallback + GetRowBytes ULSurfaceDefinitionGetRowBytesCallback + GetSize ULSurfaceDefinitionGetSizeCallback + LockPixels ULSurfaceDefinitionLockPixelsCallback + UnlockPixels ULSurfaceDefinitionUnlockPixelsCallback + Resize ULSurfaceDefinitionResizeCallback + ref13063f1a *C.ULSurfaceDefinition + allocs13063f1a interface{} +} + +// ULFileHandle type as declared in Ultralight/CAPI.h:1407 +type ULFileHandle int32 + +// ULFileSystemFileExistsCallback type as declared in Ultralight/CAPI.h:1420 +type ULFileSystemFileExistsCallback func(path ULString) bool + +// ULFileSystemGetFileSizeCallback type as declared in Ultralight/CAPI.h:1427 +type ULFileSystemGetFileSizeCallback func(handle ULFileHandle, result []int64) bool + +// ULFileSystemGetFileMimeTypeCallback type as declared in Ultralight/CAPI.h:1434 +type ULFileSystemGetFileMimeTypeCallback func(path ULString, result ULString) bool + +// ULFileSystemOpenFileCallback type as declared in Ultralight/CAPI.h:1444 +type ULFileSystemOpenFileCallback func(path ULString, openForWriting bool) ULFileHandle + +// ULFileSystemCloseFileCallback type as declared in Ultralight/CAPI.h:1451 +type ULFileSystemCloseFileCallback func(handle ULFileHandle) + +// ULFileSystemReadFromFileCallback type as declared in Ultralight/CAPI.h:1458 +type ULFileSystemReadFromFileCallback func(handle ULFileHandle, data []byte, length int64) int64 + +// ULFileSystem as declared in Ultralight/CAPI.h:1467 +type ULFileSystem struct { + FileExists ULFileSystemFileExistsCallback + GetFileSize ULFileSystemGetFileSizeCallback + GetFileMimeType ULFileSystemGetFileMimeTypeCallback + OpenFile ULFileSystemOpenFileCallback + CloseFile ULFileSystemCloseFileCallback + ReadFromFile ULFileSystemReadFromFileCallback + ref41d243eb *C.ULFileSystem + allocs41d243eb interface{} +} + +// ULLoggerLogMessageCallback type as declared in Ultralight/CAPI.h:1483 +type ULLoggerLogMessageCallback func(logLevel ULLogLevel, message ULString) + +// ULLogger as declared in Ultralight/CAPI.h:1487 +type ULLogger struct { + LogMessage ULLoggerLogMessageCallback + refd55f8aa0 *C.ULLogger + allocsd55f8aa0 interface{} +} + +// ULRenderBuffer as declared in Ultralight/CAPI.h:1503 +type ULRenderBuffer struct { + TextureId uint32 + Width uint32 + Height uint32 + HasStencilBuffer bool + HasDepthBuffer bool + refe8ed55f *C.ULRenderBuffer + allocse8ed55f interface{} +} + +// ULVertex2f4ub2f as declared in Ultralight/CAPI.h:1520 +type ULVertex2f4ub2f struct { + Pos [2]float32 + Color [4]byte + Obj [2]float32 + ref2acaf525 *C.ULVertex_2f_4ub_2f + allocs2acaf525 interface{} +} + +// ULVertex2f4ub2f2f28f as declared in Ultralight/CAPI.h:1539 +type ULVertex2f4ub2f2f28f struct { + Pos [2]float32 + Color [4]byte + Tex [2]float32 + Obj [2]float32 + Data0 [4]float32 + Data1 [4]float32 + Data2 [4]float32 + Data3 [4]float32 + Data4 [4]float32 + Data5 [4]float32 + Data6 [4]float32 + refa40e1546 *C.ULVertex_2f_4ub_2f_2f_28f + allocsa40e1546 interface{} +} + +// ULVertexBuffer as declared in Ultralight/CAPI.h:1561 +type ULVertexBuffer struct { + Format ULVertexBufferFormat + Size uint32 + Data []byte + ref38aa9279 *C.ULVertexBuffer + allocs38aa9279 interface{} +} + +// ULIndexType type as declared in Ultralight/CAPI.h:1566 +type ULIndexType uint32 + +// ULIndexBuffer as declared in Ultralight/CAPI.h:1574 +type ULIndexBuffer struct { + Size uint32 + Data []byte + ref8da49f64 *C.ULIndexBuffer + allocs8da49f64 interface{} +} + +// ULMatrix4x4 as declared in Ultralight/CAPI.h:1592 +type ULMatrix4x4 struct { + Data [16]float32 + ref5420ec6b *C.ULMatrix4x4 + allocs5420ec6b interface{} +} + +// ULvec4 as declared in Ultralight/CAPI.h:1599 +type ULvec4 struct { + Value [4]float32 + ref1faeb7f5 *C.ULvec4 + allocs1faeb7f5 interface{} +} + +// ULGPUState as declared in Ultralight/CAPI.h:1652 +type ULGPUState struct { + ViewportWidth uint32 + ViewportHeight uint32 + Transform ULMatrix4x4 + EnableTexturing bool + EnableBlend bool + ShaderType byte + RenderBufferId uint32 + Texture1Id uint32 + Texture2Id uint32 + Texture3Id uint32 + UniformScalar [8]float32 + UniformVector [8]ULvec4 + ClipSize byte + Clip [8]ULMatrix4x4 + EnableScissor bool + ScissorRect ULIntRect + ref7caf648c *C.ULGPUState + allocs7caf648c interface{} +} + +// ULCommand as declared in Ultralight/CAPI.h:1673 +type ULCommand struct { + CommandType byte + GpuState ULGPUState + GeometryId uint32 + IndicesCount uint32 + IndicesOffset uint32 + ref7ce5cb03 *C.ULCommand + allocs7ce5cb03 interface{} +} + +// ULCommandList as declared in Ultralight/CAPI.h:1680 +type ULCommandList struct { + Size uint32 + Commands []ULCommand + ref110fbbd7 *C.ULCommandList + allocs110fbbd7 interface{} +} + +// ULGPUDriverBeginSynchronizeCallback type as declared in Ultralight/CAPI.h:1688 +type ULGPUDriverBeginSynchronizeCallback func() + +// ULGPUDriverEndSynchronizeCallback type as declared in Ultralight/CAPI.h:1695 +type ULGPUDriverEndSynchronizeCallback func() + +// ULGPUDriverNextTextureIdCallback type as declared in Ultralight/CAPI.h:1702 +type ULGPUDriverNextTextureIdCallback func() uint32 + +// ULGPUDriverCreateTextureCallback type as declared in Ultralight/CAPI.h:1713 +type ULGPUDriverCreateTextureCallback func(textureId uint32, bitmap ULBitmap) + +// ULGPUDriverUpdateTextureCallback type as declared in Ultralight/CAPI.h:1721 +type ULGPUDriverUpdateTextureCallback func(textureId uint32, bitmap ULBitmap) + +// ULGPUDriverDestroyTextureCallback type as declared in Ultralight/CAPI.h:1728 +type ULGPUDriverDestroyTextureCallback func(textureId uint32) + +// ULGPUDriverNextRenderBufferIdCallback type as declared in Ultralight/CAPI.h:1735 +type ULGPUDriverNextRenderBufferIdCallback func() uint32 + +// ULGPUDriverCreateRenderBufferCallback type as declared in Ultralight/CAPI.h:1742 +type ULGPUDriverCreateRenderBufferCallback func(renderBufferId uint32, buffer ULRenderBuffer) + +// ULGPUDriverDestroyRenderBufferCallback type as declared in Ultralight/CAPI.h:1749 +type ULGPUDriverDestroyRenderBufferCallback func(renderBufferId uint32) + +// ULGPUDriverNextGeometryIdCallback type as declared in Ultralight/CAPI.h:1756 +type ULGPUDriverNextGeometryIdCallback func() uint32 + +// ULGPUDriverCreateGeometryCallback type as declared in Ultralight/CAPI.h:1763 +type ULGPUDriverCreateGeometryCallback func(geometryId uint32, vertices ULVertexBuffer, indices ULIndexBuffer) + +// ULGPUDriverUpdateGeometryCallback type as declared in Ultralight/CAPI.h:1772 +type ULGPUDriverUpdateGeometryCallback func(geometryId uint32, vertices ULVertexBuffer, indices ULIndexBuffer) + +// ULGPUDriverDestroyGeometryCallback type as declared in Ultralight/CAPI.h:1780 +type ULGPUDriverDestroyGeometryCallback func(geometryId uint32) + +// ULGPUDriverUpdateCommandListCallback type as declared in Ultralight/CAPI.h:1787 +type ULGPUDriverUpdateCommandListCallback func(list ULCommandList) + +// ULGPUDriver as declared in Ultralight/CAPI.h:1804 +type ULGPUDriver struct { + BeginSynchronize ULGPUDriverBeginSynchronizeCallback + EndSynchronize ULGPUDriverEndSynchronizeCallback + NextTextureId ULGPUDriverNextTextureIdCallback + CreateTexture ULGPUDriverCreateTextureCallback + UpdateTexture ULGPUDriverUpdateTextureCallback + DestroyTexture ULGPUDriverDestroyTextureCallback + NextRenderBufferId ULGPUDriverNextRenderBufferIdCallback + CreateRenderBuffer ULGPUDriverCreateRenderBufferCallback + DestroyRenderBuffer ULGPUDriverDestroyRenderBufferCallback + NextGeometryId ULGPUDriverNextGeometryIdCallback + CreateGeometry ULGPUDriverCreateGeometryCallback + UpdateGeometry ULGPUDriverUpdateGeometryCallback + DestroyGeometry ULGPUDriverDestroyGeometryCallback + UpdateCommandList ULGPUDriverUpdateCommandListCallback + refdfd8a4f0 *C.ULGPUDriver + allocsdfd8a4f0 interface{} +} + +// ULClipboardClearCallback type as declared in Ultralight/CAPI.h:1830 +type ULClipboardClearCallback func() + +// ULClipboardReadPlainTextCallback type as declared in Ultralight/CAPI.h:1839 +type ULClipboardReadPlainTextCallback func(result ULString) + +// ULClipboardWritePlainTextCallback type as declared in Ultralight/CAPI.h:1846 +type ULClipboardWritePlainTextCallback func(text ULString) + +// ULClipboard as declared in Ultralight/CAPI.h:1852 +type ULClipboard struct { + Clear ULClipboardClearCallback + ReadPlainText ULClipboardReadPlainTextCallback + WritePlainText ULClipboardWritePlainTextCallback + refdcb753f *C.ULClipboard + allocsdcb753f interface{} +} // JSContextGroupRef as declared in JavaScriptCore/JSBase.h:40 type JSContextGroupRef C.JSContextGroupRef @@ -142,37 +465,70 @@ type JSClassAttributes uint32 // JSObjectInitializeCallback type as declared in JavaScriptCore/JSObjectRef.h:92 type JSObjectInitializeCallback func(ctx JSContextRef, object JSObjectRef) -// JSObjectFinalizeCallback type as declared in JavaScriptCore/JSObjectRef.h:110 +// JSObjectInitializeCallbackEx type as declared in JavaScriptCore/JSObjectRef.h:96 +type JSObjectInitializeCallbackEx func(ctx JSContextRef, jsClass JSClassRef, object JSObjectRef) + +// JSObjectFinalizeCallback type as declared in JavaScriptCore/JSObjectRef.h:114 type JSObjectFinalizeCallback func(object JSObjectRef) -// JSObjectHasPropertyCallback type as declared in JavaScriptCore/JSObjectRef.h:130 +// JSObjectFinalizeCallbackEx type as declared in JavaScriptCore/JSObjectRef.h:118 +type JSObjectFinalizeCallbackEx func(jsClass JSClassRef, object JSObjectRef) + +// JSObjectHasPropertyCallback type as declared in JavaScriptCore/JSObjectRef.h:138 type JSObjectHasPropertyCallback func(ctx JSContextRef, object JSObjectRef, propertyName JSStringRef) bool -// JSObjectGetPropertyCallback type as declared in JavaScriptCore/JSObjectRef.h:147 +// JSObjectHasPropertyCallbackEx type as declared in JavaScriptCore/JSObjectRef.h:142 +type JSObjectHasPropertyCallbackEx func(ctx JSContextRef, jsClass JSClassRef, object JSObjectRef, propertyName JSStringRef) bool + +// JSObjectGetPropertyCallback type as declared in JavaScriptCore/JSObjectRef.h:159 type JSObjectGetPropertyCallback func(ctx JSContextRef, object JSObjectRef, propertyName JSStringRef, exception []JSValueRef) JSValueRef -// JSObjectSetPropertyCallback type as declared in JavaScriptCore/JSObjectRef.h:165 +// JSObjectGetPropertyCallbackEx type as declared in JavaScriptCore/JSObjectRef.h:163 +type JSObjectGetPropertyCallbackEx func(ctx JSContextRef, jsClass JSClassRef, object JSObjectRef, propertyName JSStringRef, exception []JSValueRef) JSValueRef + +// JSObjectSetPropertyCallback type as declared in JavaScriptCore/JSObjectRef.h:181 type JSObjectSetPropertyCallback func(ctx JSContextRef, object JSObjectRef, propertyName JSStringRef, value JSValueRef, exception []JSValueRef) bool -// JSObjectDeletePropertyCallback type as declared in JavaScriptCore/JSObjectRef.h:182 +// JSObjectSetPropertyCallbackEx type as declared in JavaScriptCore/JSObjectRef.h:185 +type JSObjectSetPropertyCallbackEx func(ctx JSContextRef, jsClass JSClassRef, object JSObjectRef, propertyName JSStringRef, value JSValueRef, exception []JSValueRef) bool + +// JSObjectDeletePropertyCallback type as declared in JavaScriptCore/JSObjectRef.h:202 type JSObjectDeletePropertyCallback func(ctx JSContextRef, object JSObjectRef, propertyName JSStringRef, exception []JSValueRef) bool -// JSObjectGetPropertyNamesCallback type as declared in JavaScriptCore/JSObjectRef.h:199 +// JSObjectDeletePropertyCallbackEx type as declared in JavaScriptCore/JSObjectRef.h:206 +type JSObjectDeletePropertyCallbackEx func(ctx JSContextRef, jsClass JSClassRef, object JSObjectRef, propertyName JSStringRef, exception []JSValueRef) bool + +// JSObjectGetPropertyNamesCallback type as declared in JavaScriptCore/JSObjectRef.h:223 type JSObjectGetPropertyNamesCallback func(ctx JSContextRef, object JSObjectRef, propertyNames JSPropertyNameAccumulatorRef) -// JSObjectCallAsFunctionCallback type as declared in JavaScriptCore/JSObjectRef.h:220 -type JSObjectCallAsFunctionCallback func(ctx JSContextRef, function JSObjectRef, thisObject JSObjectRef, argumentCount uint, arguments []JSValueRef, exception []JSValueRef) JSValueRef +// JSObjectGetPropertyNamesCallbackEx type as declared in JavaScriptCore/JSObjectRef.h:227 +type JSObjectGetPropertyNamesCallbackEx func(ctx JSContextRef, jsClass JSClassRef, object JSObjectRef, propertyNames JSPropertyNameAccumulatorRef) -// JSObjectCallAsConstructorCallback type as declared in JavaScriptCore/JSObjectRef.h:240 -type JSObjectCallAsConstructorCallback func(ctx JSContextRef, constructor JSObjectRef, argumentCount uint, arguments []JSValueRef, exception []JSValueRef) JSObjectRef +// JSObjectCallAsFunctionCallback type as declared in JavaScriptCore/JSObjectRef.h:248 +type JSObjectCallAsFunctionCallback func(ctx JSContextRef, function JSObjectRef, thisObject JSObjectRef, argumentCount uint32, arguments []JSValueRef, exception []JSValueRef) JSValueRef -// JSObjectHasInstanceCallback type as declared in JavaScriptCore/JSObjectRef.h:261 +// JSObjectCallAsFunctionCallbackEx type as declared in JavaScriptCore/JSObjectRef.h:254 +type JSObjectCallAsFunctionCallbackEx func(ctx JSContextRef, jsClass JSClassRef, className JSStringRef, function JSObjectRef, thisObject JSObjectRef, argumentCount uint32, arguments []JSValueRef, exception []JSValueRef) JSValueRef + +// JSObjectCallAsConstructorCallback type as declared in JavaScriptCore/JSObjectRef.h:274 +type JSObjectCallAsConstructorCallback func(ctx JSContextRef, constructor JSObjectRef, argumentCount uint32, arguments []JSValueRef, exception []JSValueRef) JSObjectRef + +// JSObjectCallAsConstructorCallbackEx type as declared in JavaScriptCore/JSObjectRef.h:278 +type JSObjectCallAsConstructorCallbackEx func(ctx JSContextRef, jsClass JSClassRef, constructor JSObjectRef, argumentCount uint32, arguments []JSValueRef, exception []JSValueRef) JSObjectRef + +// JSObjectHasInstanceCallback type as declared in JavaScriptCore/JSObjectRef.h:299 type JSObjectHasInstanceCallback func(ctx JSContextRef, constructor JSObjectRef, possibleInstance JSValueRef, exception []JSValueRef) bool -// JSObjectConvertToTypeCallback type as declared in JavaScriptCore/JSObjectRef.h:280 -type JSObjectConvertToTypeCallback func(ctx JSContextRef, object JSObjectRef, _type JSType, exception []JSValueRef) JSValueRef +// JSObjectHasInstanceCallbackEx type as declared in JavaScriptCore/JSObjectRef.h:303 +type JSObjectHasInstanceCallbackEx func(ctx JSContextRef, jsClass JSClassRef, constructor JSObjectRef, possibleInstance JSValueRef, exception []JSValueRef) bool -// JSStaticValue as declared in JavaScriptCore/JSObjectRef.h:295 +// JSObjectConvertToTypeCallback type as declared in JavaScriptCore/JSObjectRef.h:322 +type JSObjectConvertToTypeCallback func(ctx JSContextRef, object JSObjectRef, kind JSType, exception []JSValueRef) JSValueRef + +// JSObjectConvertToTypeCallbackEx type as declared in JavaScriptCore/JSObjectRef.h:326 +type JSObjectConvertToTypeCallbackEx func(ctx JSContextRef, jsClass JSClassRef, object JSObjectRef, kind JSType, exception []JSValueRef) JSValueRef + +// JSStaticValue as declared in JavaScriptCore/JSObjectRef.h:341 type JSStaticValue struct { Name string GetProperty JSObjectGetPropertyCallback @@ -182,7 +538,17 @@ type JSStaticValue struct { allocs34655956 interface{} } -// JSStaticFunction as declared in JavaScriptCore/JSObjectRef.h:308 +// JSStaticValueEx as declared in JavaScriptCore/JSObjectRef.h:349 +type JSStaticValueEx struct { + Name string + GetPropertyEx JSObjectGetPropertyCallbackEx + SetPropertyEx JSObjectSetPropertyCallbackEx + Attributes JSPropertyAttributes + ref6c5f7756 *C.JSStaticValueEx + allocs6c5f7756 interface{} +} + +// JSStaticFunction as declared in JavaScriptCore/JSObjectRef.h:362 type JSStaticFunction struct { Name string CallAsFunction JSObjectCallAsFunctionCallback @@ -191,27 +557,24 @@ type JSStaticFunction struct { allocs6b5f4953 interface{} } -// JSClassDefinition as declared in JavaScriptCore/JSObjectRef.h:364 +// JSStaticFunctionEx as declared in JavaScriptCore/JSObjectRef.h:369 +type JSStaticFunctionEx struct { + Name string + CallAsFunctionEx JSObjectCallAsFunctionCallbackEx + Attributes JSPropertyAttributes + refc9fcc4d *C.JSStaticFunctionEx + allocsc9fcc4d interface{} +} + +// JSClassDefinition as declared in JavaScriptCore/JSObjectRef.h:448 type JSClassDefinition struct { - Version int32 - Attributes JSClassAttributes - ClassName string - ParentClass JSClassRef - StaticValues []JSStaticValue - StaticFunctions []JSStaticFunction - Initialize JSObjectInitializeCallback - Finalize JSObjectFinalizeCallback - HasProperty JSObjectHasPropertyCallback - GetProperty JSObjectGetPropertyCallback - SetProperty JSObjectSetPropertyCallback - DeleteProperty JSObjectDeletePropertyCallback - GetPropertyNames JSObjectGetPropertyNamesCallback - CallAsFunction JSObjectCallAsFunctionCallback - CallAsConstructor JSObjectCallAsConstructorCallback - HasInstance JSObjectHasInstanceCallback - ConvertToType JSObjectConvertToTypeCallback - ref192c18d5 *C.JSClassDefinition - allocs192c18d5 interface{} + Version int32 + Attributes JSClassAttributes + ClassName string + ParentClass JSClassRef + PrivateData unsafe.Pointer + ref192c18d5 *C.JSClassDefinition + allocs192c18d5 interface{} } // JSChar type as declared in JavaScriptCore/JSStringRef.h:49 diff --git a/ultralight/ultralight.go b/ultralight/ultralight.go index c64b674..261cc58 100644 --- a/ultralight/ultralight.go +++ b/ultralight/ultralight.go @@ -1,17 +1,13 @@ // THE AUTOGENERATED LICENSE. ALL THE RIGHTS ARE RESERVED BY ROBOTS. -// WARNING: This file has automatically been generated on Mon, 07 Oct 2019 13:59:36 CDT. +// WARNING: This file has automatically been generated on Sun, 02 Oct 2022 19:40:55 PDT. // Code generated by https://git.io/c-for-go. DO NOT EDIT. package ultralight /* #cgo CFLAGS: -I../include -#cgo windows,386 LDFLAGS: -L${SRCDIR}/libs/windows/x32 -#cgo windows,amd64 LDFLAGS: -L${SRCDIR}/libs/windows/x64 -#cgo darwin,amd64 LDFLAGS: -L${SRCDIR}/libs/darwin/x64 -#cgo linux,amd64 LDFLAGS: -L${SRCDIR}/libs/linux/x64 -#cgo LDFLAGS: -lUltralightCore -lWebCore -lUltralight -lAppCore +#cgo LDFLAGS: -Wl,--allow-multiple-definition -L${SRCDIR}/libs/linux/x64 -Wl,-rpath,/home/co/code/Muon/ultralight/libs/linux/x64 -lUltralightCore -lAppCore -lUltralight -lWebCore #include "AppCore/CAPI.h" #include #include "cgo_helpers.h" @@ -31,1679 +27,2783 @@ func UlCreateSettings() ULSettings { // UlDestroySettings function as declared in AppCore/CAPI.h:57 func UlDestroySettings(settings ULSettings) { - csettings, _ := *(*C.ULSettings)(unsafe.Pointer(&settings)), cgoAllocsUnknown + csettings, csettingsAllocMap := *(*C.ULSettings)(unsafe.Pointer(&settings)), cgoAllocsUnknown C.ulDestroySettings(csettings) + runtime.KeepAlive(csettingsAllocMap) } -// UlSettingsSetFileSystemPath function as declared in AppCore/CAPI.h:69 +// UlSettingsSetDeveloperName function as declared in AppCore/CAPI.h:67 +func UlSettingsSetDeveloperName(settings ULSettings, name ULString) { + csettings, csettingsAllocMap := *(*C.ULSettings)(unsafe.Pointer(&settings)), cgoAllocsUnknown + cname, cnameAllocMap := *(*C.ULString)(unsafe.Pointer(&name)), cgoAllocsUnknown + C.ulSettingsSetDeveloperName(csettings, cname) + runtime.KeepAlive(cnameAllocMap) + runtime.KeepAlive(csettingsAllocMap) +} + +// UlSettingsSetAppName function as declared in AppCore/CAPI.h:77 +func UlSettingsSetAppName(settings ULSettings, name ULString) { + csettings, csettingsAllocMap := *(*C.ULSettings)(unsafe.Pointer(&settings)), cgoAllocsUnknown + cname, cnameAllocMap := *(*C.ULString)(unsafe.Pointer(&name)), cgoAllocsUnknown + C.ulSettingsSetAppName(csettings, cname) + runtime.KeepAlive(cnameAllocMap) + runtime.KeepAlive(csettingsAllocMap) +} + +// UlSettingsSetFileSystemPath function as declared in AppCore/CAPI.h:92 func UlSettingsSetFileSystemPath(settings ULSettings, path ULString) { - csettings, _ := *(*C.ULSettings)(unsafe.Pointer(&settings)), cgoAllocsUnknown - cpath, _ := *(*C.ULString)(unsafe.Pointer(&path)), cgoAllocsUnknown + csettings, csettingsAllocMap := *(*C.ULSettings)(unsafe.Pointer(&settings)), cgoAllocsUnknown + cpath, cpathAllocMap := *(*C.ULString)(unsafe.Pointer(&path)), cgoAllocsUnknown C.ulSettingsSetFileSystemPath(csettings, cpath) + runtime.KeepAlive(cpathAllocMap) + runtime.KeepAlive(csettingsAllocMap) } -// UlSettingsSetLoadShadersFromFileSystem function as declared in AppCore/CAPI.h:78 +// UlSettingsSetLoadShadersFromFileSystem function as declared in AppCore/CAPI.h:101 func UlSettingsSetLoadShadersFromFileSystem(settings ULSettings, enabled bool) { - csettings, _ := *(*C.ULSettings)(unsafe.Pointer(&settings)), cgoAllocsUnknown - cenabled, _ := (C._Bool)(enabled), cgoAllocsUnknown + csettings, csettingsAllocMap := *(*C.ULSettings)(unsafe.Pointer(&settings)), cgoAllocsUnknown + cenabled, cenabledAllocMap := (C._Bool)(enabled), cgoAllocsUnknown C.ulSettingsSetLoadShadersFromFileSystem(csettings, cenabled) + runtime.KeepAlive(cenabledAllocMap) + runtime.KeepAlive(csettingsAllocMap) } -// UlCreateApp function as declared in AppCore/CAPI.h:95 +// UlSettingsSetForceCPURenderer function as declared in AppCore/CAPI.h:109 +func UlSettingsSetForceCPURenderer(settings ULSettings, forceCpu bool) { + csettings, csettingsAllocMap := *(*C.ULSettings)(unsafe.Pointer(&settings)), cgoAllocsUnknown + cforceCpu, cforceCpuAllocMap := (C._Bool)(forceCpu), cgoAllocsUnknown + C.ulSettingsSetForceCPURenderer(csettings, cforceCpu) + runtime.KeepAlive(cforceCpuAllocMap) + runtime.KeepAlive(csettingsAllocMap) +} + +// UlCreateApp function as declared in AppCore/CAPI.h:125 func UlCreateApp(settings ULSettings, config ULConfig) ULApp { - csettings, _ := *(*C.ULSettings)(unsafe.Pointer(&settings)), cgoAllocsUnknown - cconfig, _ := *(*C.ULConfig)(unsafe.Pointer(&config)), cgoAllocsUnknown + csettings, csettingsAllocMap := *(*C.ULSettings)(unsafe.Pointer(&settings)), cgoAllocsUnknown + cconfig, cconfigAllocMap := *(*C.ULConfig)(unsafe.Pointer(&config)), cgoAllocsUnknown __ret := C.ulCreateApp(csettings, cconfig) + runtime.KeepAlive(cconfigAllocMap) + runtime.KeepAlive(csettingsAllocMap) __v := *(*ULApp)(unsafe.Pointer(&__ret)) return __v } -// UlDestroyApp function as declared in AppCore/CAPI.h:100 +// UlDestroyApp function as declared in AppCore/CAPI.h:130 func UlDestroyApp(app ULApp) { - capp, _ := *(*C.ULApp)(unsafe.Pointer(&app)), cgoAllocsUnknown + capp, cappAllocMap := *(*C.ULApp)(unsafe.Pointer(&app)), cgoAllocsUnknown C.ulDestroyApp(capp) + runtime.KeepAlive(cappAllocMap) } -// UlAppSetWindow function as declared in AppCore/CAPI.h:110 +// UlAppSetWindow function as declared in AppCore/CAPI.h:140 func UlAppSetWindow(app ULApp, window ULWindow) { - capp, _ := *(*C.ULApp)(unsafe.Pointer(&app)), cgoAllocsUnknown - cwindow, _ := *(*C.ULWindow)(unsafe.Pointer(&window)), cgoAllocsUnknown + capp, cappAllocMap := *(*C.ULApp)(unsafe.Pointer(&app)), cgoAllocsUnknown + cwindow, cwindowAllocMap := *(*C.ULWindow)(unsafe.Pointer(&window)), cgoAllocsUnknown C.ulAppSetWindow(capp, cwindow) + runtime.KeepAlive(cwindowAllocMap) + runtime.KeepAlive(cappAllocMap) } -// UlAppGetWindow function as declared in AppCore/CAPI.h:115 +// UlAppGetWindow function as declared in AppCore/CAPI.h:145 func UlAppGetWindow(app ULApp) ULWindow { - capp, _ := *(*C.ULApp)(unsafe.Pointer(&app)), cgoAllocsUnknown + capp, cappAllocMap := *(*C.ULApp)(unsafe.Pointer(&app)), cgoAllocsUnknown __ret := C.ulAppGetWindow(capp) + runtime.KeepAlive(cappAllocMap) __v := *(*ULWindow)(unsafe.Pointer(&__ret)) return __v } -// UlAppSetUpdateCallback function as declared in AppCore/CAPI.h:127 -func UlAppSetUpdateCallback(app ULApp, callback ULUpdateCallback, user_data unsafe.Pointer) { - capp, _ := *(*C.ULApp)(unsafe.Pointer(&app)), cgoAllocsUnknown - ccallback, _ := callback.PassValue() - cuser_data, _ := user_data, cgoAllocsUnknown - C.ulAppSetUpdateCallback(capp, ccallback, cuser_data) +// UlAppSetUpdateCallback function as declared in AppCore/CAPI.h:157 +func UlAppSetUpdateCallback(app ULApp, callback ULUpdateCallback, userData unsafe.Pointer) { + capp, cappAllocMap := *(*C.ULApp)(unsafe.Pointer(&app)), cgoAllocsUnknown + ccallback, ccallbackAllocMap := callback.PassValue() + cuserData, cuserDataAllocMap := userData, cgoAllocsUnknown + C.ulAppSetUpdateCallback(capp, ccallback, cuserData) + runtime.KeepAlive(cuserDataAllocMap) + runtime.KeepAlive(ccallbackAllocMap) + runtime.KeepAlive(cappAllocMap) } -// UlAppIsRunning function as declared in AppCore/CAPI.h:133 +// UlAppIsRunning function as declared in AppCore/CAPI.h:163 func UlAppIsRunning(app ULApp) bool { - capp, _ := *(*C.ULApp)(unsafe.Pointer(&app)), cgoAllocsUnknown + capp, cappAllocMap := *(*C.ULApp)(unsafe.Pointer(&app)), cgoAllocsUnknown __ret := C.ulAppIsRunning(capp) + runtime.KeepAlive(cappAllocMap) __v := (bool)(__ret) return __v } -// UlAppGetMainMonitor function as declared in AppCore/CAPI.h:140 +// UlAppGetMainMonitor function as declared in AppCore/CAPI.h:170 func UlAppGetMainMonitor(app ULApp) ULMonitor { - capp, _ := *(*C.ULApp)(unsafe.Pointer(&app)), cgoAllocsUnknown + capp, cappAllocMap := *(*C.ULApp)(unsafe.Pointer(&app)), cgoAllocsUnknown __ret := C.ulAppGetMainMonitor(capp) + runtime.KeepAlive(cappAllocMap) __v := *(*ULMonitor)(unsafe.Pointer(&__ret)) return __v } -// UlAppGetRenderer function as declared in AppCore/CAPI.h:145 +// UlAppGetRenderer function as declared in AppCore/CAPI.h:175 func UlAppGetRenderer(app ULApp) ULRenderer { - capp, _ := *(*C.ULApp)(unsafe.Pointer(&app)), cgoAllocsUnknown + capp, cappAllocMap := *(*C.ULApp)(unsafe.Pointer(&app)), cgoAllocsUnknown __ret := C.ulAppGetRenderer(capp) + runtime.KeepAlive(cappAllocMap) __v := *(*ULRenderer)(unsafe.Pointer(&__ret)) return __v } -// UlAppRun function as declared in AppCore/CAPI.h:150 +// UlAppRun function as declared in AppCore/CAPI.h:180 func UlAppRun(app ULApp) { - capp, _ := *(*C.ULApp)(unsafe.Pointer(&app)), cgoAllocsUnknown + capp, cappAllocMap := *(*C.ULApp)(unsafe.Pointer(&app)), cgoAllocsUnknown C.ulAppRun(capp) + runtime.KeepAlive(cappAllocMap) } -// UlAppQuit function as declared in AppCore/CAPI.h:155 +// UlAppQuit function as declared in AppCore/CAPI.h:185 func UlAppQuit(app ULApp) { - capp, _ := *(*C.ULApp)(unsafe.Pointer(&app)), cgoAllocsUnknown + capp, cappAllocMap := *(*C.ULApp)(unsafe.Pointer(&app)), cgoAllocsUnknown C.ulAppQuit(capp) + runtime.KeepAlive(cappAllocMap) } -// UlMonitorGetScale function as declared in AppCore/CAPI.h:160 +// UlMonitorGetScale function as declared in AppCore/CAPI.h:190 func UlMonitorGetScale(monitor ULMonitor) float64 { - cmonitor, _ := *(*C.ULMonitor)(unsafe.Pointer(&monitor)), cgoAllocsUnknown + cmonitor, cmonitorAllocMap := *(*C.ULMonitor)(unsafe.Pointer(&monitor)), cgoAllocsUnknown __ret := C.ulMonitorGetScale(cmonitor) + runtime.KeepAlive(cmonitorAllocMap) __v := (float64)(__ret) return __v } -// UlMonitorGetWidth function as declared in AppCore/CAPI.h:165 +// UlMonitorGetWidth function as declared in AppCore/CAPI.h:195 func UlMonitorGetWidth(monitor ULMonitor) uint32 { - cmonitor, _ := *(*C.ULMonitor)(unsafe.Pointer(&monitor)), cgoAllocsUnknown + cmonitor, cmonitorAllocMap := *(*C.ULMonitor)(unsafe.Pointer(&monitor)), cgoAllocsUnknown __ret := C.ulMonitorGetWidth(cmonitor) + runtime.KeepAlive(cmonitorAllocMap) __v := (uint32)(__ret) return __v } -// UlMonitorGetHeight function as declared in AppCore/CAPI.h:170 +// UlMonitorGetHeight function as declared in AppCore/CAPI.h:200 func UlMonitorGetHeight(monitor ULMonitor) uint32 { - cmonitor, _ := *(*C.ULMonitor)(unsafe.Pointer(&monitor)), cgoAllocsUnknown + cmonitor, cmonitorAllocMap := *(*C.ULMonitor)(unsafe.Pointer(&monitor)), cgoAllocsUnknown __ret := C.ulMonitorGetHeight(cmonitor) + runtime.KeepAlive(cmonitorAllocMap) __v := (uint32)(__ret) return __v } -// UlCreateWindow function as declared in AppCore/CAPI.h:185 -func UlCreateWindow(monitor ULMonitor, width uint32, height uint32, fullscreen bool, window_flags uint32) ULWindow { - cmonitor, _ := *(*C.ULMonitor)(unsafe.Pointer(&monitor)), cgoAllocsUnknown - cwidth, _ := (C.uint)(width), cgoAllocsUnknown - cheight, _ := (C.uint)(height), cgoAllocsUnknown - cfullscreen, _ := (C._Bool)(fullscreen), cgoAllocsUnknown - cwindow_flags, _ := (C.uint)(window_flags), cgoAllocsUnknown - __ret := C.ulCreateWindow(cmonitor, cwidth, cheight, cfullscreen, cwindow_flags) +// UlCreateWindow function as declared in AppCore/CAPI.h:215 +func UlCreateWindow(monitor ULMonitor, width uint32, height uint32, fullscreen bool, windowFlags uint32) ULWindow { + cmonitor, cmonitorAllocMap := *(*C.ULMonitor)(unsafe.Pointer(&monitor)), cgoAllocsUnknown + cwidth, cwidthAllocMap := (C.uint)(width), cgoAllocsUnknown + cheight, cheightAllocMap := (C.uint)(height), cgoAllocsUnknown + cfullscreen, cfullscreenAllocMap := (C._Bool)(fullscreen), cgoAllocsUnknown + cwindowFlags, cwindowFlagsAllocMap := (C.uint)(windowFlags), cgoAllocsUnknown + __ret := C.ulCreateWindow(cmonitor, cwidth, cheight, cfullscreen, cwindowFlags) + runtime.KeepAlive(cwindowFlagsAllocMap) + runtime.KeepAlive(cfullscreenAllocMap) + runtime.KeepAlive(cheightAllocMap) + runtime.KeepAlive(cwidthAllocMap) + runtime.KeepAlive(cmonitorAllocMap) __v := *(*ULWindow)(unsafe.Pointer(&__ret)) return __v } -// UlDestroyWindow function as declared in AppCore/CAPI.h:192 +// UlDestroyWindow function as declared in AppCore/CAPI.h:222 func UlDestroyWindow(window ULWindow) { - cwindow, _ := *(*C.ULWindow)(unsafe.Pointer(&window)), cgoAllocsUnknown + cwindow, cwindowAllocMap := *(*C.ULWindow)(unsafe.Pointer(&window)), cgoAllocsUnknown C.ulDestroyWindow(cwindow) + runtime.KeepAlive(cwindowAllocMap) } -// UlWindowSetCloseCallback function as declared in AppCore/CAPI.h:200 -func UlWindowSetCloseCallback(window ULWindow, callback ULCloseCallback, user_data unsafe.Pointer) { - cwindow, _ := *(*C.ULWindow)(unsafe.Pointer(&window)), cgoAllocsUnknown - ccallback, _ := callback.PassValue() - cuser_data, _ := user_data, cgoAllocsUnknown - C.ulWindowSetCloseCallback(cwindow, ccallback, cuser_data) +// UlWindowSetCloseCallback function as declared in AppCore/CAPI.h:230 +func UlWindowSetCloseCallback(window ULWindow, callback ULCloseCallback, userData unsafe.Pointer) { + cwindow, cwindowAllocMap := *(*C.ULWindow)(unsafe.Pointer(&window)), cgoAllocsUnknown + ccallback, ccallbackAllocMap := callback.PassValue() + cuserData, cuserDataAllocMap := userData, cgoAllocsUnknown + C.ulWindowSetCloseCallback(cwindow, ccallback, cuserData) + runtime.KeepAlive(cuserDataAllocMap) + runtime.KeepAlive(ccallbackAllocMap) + runtime.KeepAlive(cwindowAllocMap) } -// UlWindowSetResizeCallback function as declared in AppCore/CAPI.h:211 -func UlWindowSetResizeCallback(window ULWindow, callback ULResizeCallback, user_data unsafe.Pointer) { - cwindow, _ := *(*C.ULWindow)(unsafe.Pointer(&window)), cgoAllocsUnknown - ccallback, _ := callback.PassValue() - cuser_data, _ := user_data, cgoAllocsUnknown - C.ulWindowSetResizeCallback(cwindow, ccallback, cuser_data) +// UlWindowSetResizeCallback function as declared in AppCore/CAPI.h:241 +func UlWindowSetResizeCallback(window ULWindow, callback ULResizeCallback, userData unsafe.Pointer) { + cwindow, cwindowAllocMap := *(*C.ULWindow)(unsafe.Pointer(&window)), cgoAllocsUnknown + ccallback, ccallbackAllocMap := callback.PassValue() + cuserData, cuserDataAllocMap := userData, cgoAllocsUnknown + C.ulWindowSetResizeCallback(cwindow, ccallback, cuserData) + runtime.KeepAlive(cuserDataAllocMap) + runtime.KeepAlive(ccallbackAllocMap) + runtime.KeepAlive(cwindowAllocMap) } -// UlWindowGetWidth function as declared in AppCore/CAPI.h:218 +// UlWindowGetWidth function as declared in AppCore/CAPI.h:248 func UlWindowGetWidth(window ULWindow) uint32 { - cwindow, _ := *(*C.ULWindow)(unsafe.Pointer(&window)), cgoAllocsUnknown + cwindow, cwindowAllocMap := *(*C.ULWindow)(unsafe.Pointer(&window)), cgoAllocsUnknown __ret := C.ulWindowGetWidth(cwindow) + runtime.KeepAlive(cwindowAllocMap) __v := (uint32)(__ret) return __v } -// UlWindowGetHeight function as declared in AppCore/CAPI.h:223 +// UlWindowGetHeight function as declared in AppCore/CAPI.h:253 func UlWindowGetHeight(window ULWindow) uint32 { - cwindow, _ := *(*C.ULWindow)(unsafe.Pointer(&window)), cgoAllocsUnknown + cwindow, cwindowAllocMap := *(*C.ULWindow)(unsafe.Pointer(&window)), cgoAllocsUnknown __ret := C.ulWindowGetHeight(cwindow) + runtime.KeepAlive(cwindowAllocMap) __v := (uint32)(__ret) return __v } -// UlWindowIsFullscreen function as declared in AppCore/CAPI.h:228 +// UlWindowIsFullscreen function as declared in AppCore/CAPI.h:258 func UlWindowIsFullscreen(window ULWindow) bool { - cwindow, _ := *(*C.ULWindow)(unsafe.Pointer(&window)), cgoAllocsUnknown + cwindow, cwindowAllocMap := *(*C.ULWindow)(unsafe.Pointer(&window)), cgoAllocsUnknown __ret := C.ulWindowIsFullscreen(cwindow) + runtime.KeepAlive(cwindowAllocMap) __v := (bool)(__ret) return __v } -// UlWindowGetScale function as declared in AppCore/CAPI.h:233 +// UlWindowGetScale function as declared in AppCore/CAPI.h:263 func UlWindowGetScale(window ULWindow) float64 { - cwindow, _ := *(*C.ULWindow)(unsafe.Pointer(&window)), cgoAllocsUnknown + cwindow, cwindowAllocMap := *(*C.ULWindow)(unsafe.Pointer(&window)), cgoAllocsUnknown __ret := C.ulWindowGetScale(cwindow) + runtime.KeepAlive(cwindowAllocMap) __v := (float64)(__ret) return __v } -// UlWindowSetTitle function as declared in AppCore/CAPI.h:238 +// UlWindowSetTitle function as declared in AppCore/CAPI.h:268 func UlWindowSetTitle(window ULWindow, title string) { - cwindow, _ := *(*C.ULWindow)(unsafe.Pointer(&window)), cgoAllocsUnknown + cwindow, cwindowAllocMap := *(*C.ULWindow)(unsafe.Pointer(&window)), cgoAllocsUnknown title = safeString(title) - ctitle, _ := unpackPCharString(title) + ctitle, ctitleAllocMap := unpackPCharString(title) C.ulWindowSetTitle(cwindow, ctitle) runtime.KeepAlive(title) + runtime.KeepAlive(ctitleAllocMap) + runtime.KeepAlive(cwindowAllocMap) } -// UlWindowSetCursor function as declared in AppCore/CAPI.h:243 +// UlWindowSetCursor function as declared in AppCore/CAPI.h:273 func UlWindowSetCursor(window ULWindow, cursor ULCursor) { - cwindow, _ := *(*C.ULWindow)(unsafe.Pointer(&window)), cgoAllocsUnknown - ccursor, _ := (C.ULCursor)(cursor), cgoAllocsUnknown + cwindow, cwindowAllocMap := *(*C.ULWindow)(unsafe.Pointer(&window)), cgoAllocsUnknown + ccursor, ccursorAllocMap := (C.ULCursor)(cursor), cgoAllocsUnknown C.ulWindowSetCursor(cwindow, ccursor) + runtime.KeepAlive(ccursorAllocMap) + runtime.KeepAlive(cwindowAllocMap) } -// UlWindowClose function as declared in AppCore/CAPI.h:248 +// UlWindowClose function as declared in AppCore/CAPI.h:278 func UlWindowClose(window ULWindow) { - cwindow, _ := *(*C.ULWindow)(unsafe.Pointer(&window)), cgoAllocsUnknown + cwindow, cwindowAllocMap := *(*C.ULWindow)(unsafe.Pointer(&window)), cgoAllocsUnknown C.ulWindowClose(cwindow) + runtime.KeepAlive(cwindowAllocMap) } -// UlWindowDeviceToPixel function as declared in AppCore/CAPI.h:253 +// UlWindowDeviceToPixel function as declared in AppCore/CAPI.h:283 func UlWindowDeviceToPixel(window ULWindow, val int32) int32 { - cwindow, _ := *(*C.ULWindow)(unsafe.Pointer(&window)), cgoAllocsUnknown - cval, _ := (C.int)(val), cgoAllocsUnknown + cwindow, cwindowAllocMap := *(*C.ULWindow)(unsafe.Pointer(&window)), cgoAllocsUnknown + cval, cvalAllocMap := (C.int)(val), cgoAllocsUnknown __ret := C.ulWindowDeviceToPixel(cwindow, cval) + runtime.KeepAlive(cvalAllocMap) + runtime.KeepAlive(cwindowAllocMap) __v := (int32)(__ret) return __v } -// UlWindowPixelsToDevice function as declared in AppCore/CAPI.h:258 +// UlWindowPixelsToDevice function as declared in AppCore/CAPI.h:288 func UlWindowPixelsToDevice(window ULWindow, val int32) int32 { - cwindow, _ := *(*C.ULWindow)(unsafe.Pointer(&window)), cgoAllocsUnknown - cval, _ := (C.int)(val), cgoAllocsUnknown + cwindow, cwindowAllocMap := *(*C.ULWindow)(unsafe.Pointer(&window)), cgoAllocsUnknown + cval, cvalAllocMap := (C.int)(val), cgoAllocsUnknown __ret := C.ulWindowPixelsToDevice(cwindow, cval) + runtime.KeepAlive(cvalAllocMap) + runtime.KeepAlive(cwindowAllocMap) __v := (int32)(__ret) return __v } -// UlCreateOverlay function as declared in AppCore/CAPI.h:279 +// UlWindowGetNativeHandle function as declared in AppCore/CAPI.h:297 +func UlWindowGetNativeHandle(window ULWindow) unsafe.Pointer { + cwindow, cwindowAllocMap := *(*C.ULWindow)(unsafe.Pointer(&window)), cgoAllocsUnknown + __ret := C.ulWindowGetNativeHandle(cwindow) + runtime.KeepAlive(cwindowAllocMap) + __v := *(*unsafe.Pointer)(unsafe.Pointer(&__ret)) + return __v +} + +// UlCreateOverlay function as declared in AppCore/CAPI.h:318 func UlCreateOverlay(window ULWindow, width uint32, height uint32, x int32, y int32) ULOverlay { - cwindow, _ := *(*C.ULWindow)(unsafe.Pointer(&window)), cgoAllocsUnknown - cwidth, _ := (C.uint)(width), cgoAllocsUnknown - cheight, _ := (C.uint)(height), cgoAllocsUnknown - cx, _ := (C.int)(x), cgoAllocsUnknown - cy, _ := (C.int)(y), cgoAllocsUnknown + cwindow, cwindowAllocMap := *(*C.ULWindow)(unsafe.Pointer(&window)), cgoAllocsUnknown + cwidth, cwidthAllocMap := (C.uint)(width), cgoAllocsUnknown + cheight, cheightAllocMap := (C.uint)(height), cgoAllocsUnknown + cx, cxAllocMap := (C.int)(x), cgoAllocsUnknown + cy, cyAllocMap := (C.int)(y), cgoAllocsUnknown __ret := C.ulCreateOverlay(cwindow, cwidth, cheight, cx, cy) + runtime.KeepAlive(cyAllocMap) + runtime.KeepAlive(cxAllocMap) + runtime.KeepAlive(cheightAllocMap) + runtime.KeepAlive(cwidthAllocMap) + runtime.KeepAlive(cwindowAllocMap) __v := *(*ULOverlay)(unsafe.Pointer(&__ret)) return __v } -// UlDestroyOverlay function as declared in AppCore/CAPI.h:285 -func UlDestroyOverlay(overlay ULOverlay) { - coverlay, _ := *(*C.ULOverlay)(unsafe.Pointer(&overlay)), cgoAllocsUnknown - C.ulDestroyOverlay(coverlay) +// UlCreateOverlayWithView function as declared in AppCore/CAPI.h:338 +func UlCreateOverlayWithView(window ULWindow, view ULView, x int32, y int32) ULOverlay { + cwindow, cwindowAllocMap := *(*C.ULWindow)(unsafe.Pointer(&window)), cgoAllocsUnknown + cview, cviewAllocMap := *(*C.ULView)(unsafe.Pointer(&view)), cgoAllocsUnknown + cx, cxAllocMap := (C.int)(x), cgoAllocsUnknown + cy, cyAllocMap := (C.int)(y), cgoAllocsUnknown + __ret := C.ulCreateOverlayWithView(cwindow, cview, cx, cy) + runtime.KeepAlive(cyAllocMap) + runtime.KeepAlive(cxAllocMap) + runtime.KeepAlive(cviewAllocMap) + runtime.KeepAlive(cwindowAllocMap) + __v := *(*ULOverlay)(unsafe.Pointer(&__ret)) + return __v } -// UlOverlayGetView function as declared in AppCore/CAPI.h:290 +// UlDestroyOverlay function as declared in AppCore/CAPI.h:344 +func UlDestroyOverlay(overlay ULOverlay) { + coverlay, coverlayAllocMap := *(*C.ULOverlay)(unsafe.Pointer(&overlay)), cgoAllocsUnknown + C.ulDestroyOverlay(coverlay) + runtime.KeepAlive(coverlayAllocMap) +} + +// UlOverlayGetView function as declared in AppCore/CAPI.h:349 func UlOverlayGetView(overlay ULOverlay) ULView { - coverlay, _ := *(*C.ULOverlay)(unsafe.Pointer(&overlay)), cgoAllocsUnknown + coverlay, coverlayAllocMap := *(*C.ULOverlay)(unsafe.Pointer(&overlay)), cgoAllocsUnknown __ret := C.ulOverlayGetView(coverlay) + runtime.KeepAlive(coverlayAllocMap) __v := *(*ULView)(unsafe.Pointer(&__ret)) return __v } -// UlOverlayGetWidth function as declared in AppCore/CAPI.h:295 +// UlOverlayGetWidth function as declared in AppCore/CAPI.h:354 func UlOverlayGetWidth(overlay ULOverlay) uint32 { - coverlay, _ := *(*C.ULOverlay)(unsafe.Pointer(&overlay)), cgoAllocsUnknown + coverlay, coverlayAllocMap := *(*C.ULOverlay)(unsafe.Pointer(&overlay)), cgoAllocsUnknown __ret := C.ulOverlayGetWidth(coverlay) + runtime.KeepAlive(coverlayAllocMap) __v := (uint32)(__ret) return __v } -// UlOverlayGetHeight function as declared in AppCore/CAPI.h:300 +// UlOverlayGetHeight function as declared in AppCore/CAPI.h:359 func UlOverlayGetHeight(overlay ULOverlay) uint32 { - coverlay, _ := *(*C.ULOverlay)(unsafe.Pointer(&overlay)), cgoAllocsUnknown + coverlay, coverlayAllocMap := *(*C.ULOverlay)(unsafe.Pointer(&overlay)), cgoAllocsUnknown __ret := C.ulOverlayGetHeight(coverlay) + runtime.KeepAlive(coverlayAllocMap) __v := (uint32)(__ret) return __v } -// UlOverlayGetX function as declared in AppCore/CAPI.h:306 +// UlOverlayGetX function as declared in AppCore/CAPI.h:364 func UlOverlayGetX(overlay ULOverlay) int32 { - coverlay, _ := *(*C.ULOverlay)(unsafe.Pointer(&overlay)), cgoAllocsUnknown + coverlay, coverlayAllocMap := *(*C.ULOverlay)(unsafe.Pointer(&overlay)), cgoAllocsUnknown __ret := C.ulOverlayGetX(coverlay) + runtime.KeepAlive(coverlayAllocMap) __v := (int32)(__ret) return __v } -// UlOverlayGetY function as declared in AppCore/CAPI.h:312 +// UlOverlayGetY function as declared in AppCore/CAPI.h:369 func UlOverlayGetY(overlay ULOverlay) int32 { - coverlay, _ := *(*C.ULOverlay)(unsafe.Pointer(&overlay)), cgoAllocsUnknown + coverlay, coverlayAllocMap := *(*C.ULOverlay)(unsafe.Pointer(&overlay)), cgoAllocsUnknown __ret := C.ulOverlayGetY(coverlay) + runtime.KeepAlive(coverlayAllocMap) __v := (int32)(__ret) return __v } -// UlOverlayMoveTo function as declared in AppCore/CAPI.h:317 +// UlOverlayMoveTo function as declared in AppCore/CAPI.h:374 func UlOverlayMoveTo(overlay ULOverlay, x int32, y int32) { - coverlay, _ := *(*C.ULOverlay)(unsafe.Pointer(&overlay)), cgoAllocsUnknown - cx, _ := (C.int)(x), cgoAllocsUnknown - cy, _ := (C.int)(y), cgoAllocsUnknown + coverlay, coverlayAllocMap := *(*C.ULOverlay)(unsafe.Pointer(&overlay)), cgoAllocsUnknown + cx, cxAllocMap := (C.int)(x), cgoAllocsUnknown + cy, cyAllocMap := (C.int)(y), cgoAllocsUnknown C.ulOverlayMoveTo(coverlay, cx, cy) + runtime.KeepAlive(cyAllocMap) + runtime.KeepAlive(cxAllocMap) + runtime.KeepAlive(coverlayAllocMap) } -// UlOverlayResize function as declared in AppCore/CAPI.h:323 +// UlOverlayResize function as declared in AppCore/CAPI.h:380 func UlOverlayResize(overlay ULOverlay, width uint32, height uint32) { - coverlay, _ := *(*C.ULOverlay)(unsafe.Pointer(&overlay)), cgoAllocsUnknown - cwidth, _ := (C.uint)(width), cgoAllocsUnknown - cheight, _ := (C.uint)(height), cgoAllocsUnknown + coverlay, coverlayAllocMap := *(*C.ULOverlay)(unsafe.Pointer(&overlay)), cgoAllocsUnknown + cwidth, cwidthAllocMap := (C.uint)(width), cgoAllocsUnknown + cheight, cheightAllocMap := (C.uint)(height), cgoAllocsUnknown C.ulOverlayResize(coverlay, cwidth, cheight) + runtime.KeepAlive(cheightAllocMap) + runtime.KeepAlive(cwidthAllocMap) + runtime.KeepAlive(coverlayAllocMap) } -// UlOverlayIsHidden function as declared in AppCore/CAPI.h:329 +// UlOverlayIsHidden function as declared in AppCore/CAPI.h:386 func UlOverlayIsHidden(overlay ULOverlay) bool { - coverlay, _ := *(*C.ULOverlay)(unsafe.Pointer(&overlay)), cgoAllocsUnknown + coverlay, coverlayAllocMap := *(*C.ULOverlay)(unsafe.Pointer(&overlay)), cgoAllocsUnknown __ret := C.ulOverlayIsHidden(coverlay) + runtime.KeepAlive(coverlayAllocMap) __v := (bool)(__ret) return __v } -// UlOverlayHide function as declared in AppCore/CAPI.h:334 +// UlOverlayHide function as declared in AppCore/CAPI.h:391 func UlOverlayHide(overlay ULOverlay) { - coverlay, _ := *(*C.ULOverlay)(unsafe.Pointer(&overlay)), cgoAllocsUnknown + coverlay, coverlayAllocMap := *(*C.ULOverlay)(unsafe.Pointer(&overlay)), cgoAllocsUnknown C.ulOverlayHide(coverlay) + runtime.KeepAlive(coverlayAllocMap) } -// UlOverlayShow function as declared in AppCore/CAPI.h:339 +// UlOverlayShow function as declared in AppCore/CAPI.h:396 func UlOverlayShow(overlay ULOverlay) { - coverlay, _ := *(*C.ULOverlay)(unsafe.Pointer(&overlay)), cgoAllocsUnknown + coverlay, coverlayAllocMap := *(*C.ULOverlay)(unsafe.Pointer(&overlay)), cgoAllocsUnknown C.ulOverlayShow(coverlay) + runtime.KeepAlive(coverlayAllocMap) } -// UlOverlayHasFocus function as declared in AppCore/CAPI.h:344 +// UlOverlayHasFocus function as declared in AppCore/CAPI.h:401 func UlOverlayHasFocus(overlay ULOverlay) bool { - coverlay, _ := *(*C.ULOverlay)(unsafe.Pointer(&overlay)), cgoAllocsUnknown + coverlay, coverlayAllocMap := *(*C.ULOverlay)(unsafe.Pointer(&overlay)), cgoAllocsUnknown __ret := C.ulOverlayHasFocus(coverlay) + runtime.KeepAlive(coverlayAllocMap) __v := (bool)(__ret) return __v } -// UlOverlayFocus function as declared in AppCore/CAPI.h:349 +// UlOverlayFocus function as declared in AppCore/CAPI.h:406 func UlOverlayFocus(overlay ULOverlay) { - coverlay, _ := *(*C.ULOverlay)(unsafe.Pointer(&overlay)), cgoAllocsUnknown + coverlay, coverlayAllocMap := *(*C.ULOverlay)(unsafe.Pointer(&overlay)), cgoAllocsUnknown C.ulOverlayFocus(coverlay) + runtime.KeepAlive(coverlayAllocMap) } -// UlOverlayUnfocus function as declared in AppCore/CAPI.h:354 +// UlOverlayUnfocus function as declared in AppCore/CAPI.h:411 func UlOverlayUnfocus(overlay ULOverlay) { - coverlay, _ := *(*C.ULOverlay)(unsafe.Pointer(&overlay)), cgoAllocsUnknown + coverlay, coverlayAllocMap := *(*C.ULOverlay)(unsafe.Pointer(&overlay)), cgoAllocsUnknown C.ulOverlayUnfocus(coverlay) + runtime.KeepAlive(coverlayAllocMap) } -// UlCreateConfig function as declared in Ultralight/CAPI.h:174 +// UlEnablePlatformFontLoader function as declared in AppCore/CAPI.h:422 +func UlEnablePlatformFontLoader() { + C.ulEnablePlatformFontLoader() +} + +// UlEnablePlatformFileSystem function as declared in AppCore/CAPI.h:432 +func UlEnablePlatformFileSystem(baseDir ULString) { + cbaseDir, cbaseDirAllocMap := *(*C.ULString)(unsafe.Pointer(&baseDir)), cgoAllocsUnknown + C.ulEnablePlatformFileSystem(cbaseDir) + runtime.KeepAlive(cbaseDirAllocMap) +} + +// UlEnableDefaultLogger function as declared in AppCore/CAPI.h:442 +func UlEnableDefaultLogger(logPath ULString) { + clogPath, clogPathAllocMap := *(*C.ULString)(unsafe.Pointer(&logPath)), cgoAllocsUnknown + C.ulEnableDefaultLogger(clogPath) + runtime.KeepAlive(clogPathAllocMap) +} + +// UlVersionString function as declared in Ultralight/CAPI.h:268 +func UlVersionString() string { + __ret := C.ulVersionString() + __v := packPCharString(__ret) + return __v +} + +// UlVersionMajor function as declared in Ultralight/CAPI.h:273 +func UlVersionMajor() uint32 { + __ret := C.ulVersionMajor() + __v := (uint32)(__ret) + return __v +} + +// UlVersionMinor function as declared in Ultralight/CAPI.h:278 +func UlVersionMinor() uint32 { + __ret := C.ulVersionMinor() + __v := (uint32)(__ret) + return __v +} + +// UlVersionPatch function as declared in Ultralight/CAPI.h:283 +func UlVersionPatch() uint32 { + __ret := C.ulVersionPatch() + __v := (uint32)(__ret) + return __v +} + +// UlCreateConfig function as declared in Ultralight/CAPI.h:292 func UlCreateConfig() ULConfig { __ret := C.ulCreateConfig() __v := *(*ULConfig)(unsafe.Pointer(&__ret)) return __v } -// UlDestroyConfig function as declared in Ultralight/CAPI.h:179 +// UlDestroyConfig function as declared in Ultralight/CAPI.h:297 func UlDestroyConfig(config ULConfig) { - cconfig, _ := *(*C.ULConfig)(unsafe.Pointer(&config)), cgoAllocsUnknown + cconfig, cconfigAllocMap := *(*C.ULConfig)(unsafe.Pointer(&config)), cgoAllocsUnknown C.ulDestroyConfig(cconfig) + runtime.KeepAlive(cconfigAllocMap) } -// UlConfigSetEnableImages function as declared in Ultralight/CAPI.h:184 +// UlConfigSetResourcePath function as declared in Ultralight/CAPI.h:303 +func UlConfigSetResourcePath(config ULConfig, resourcePath ULString) { + cconfig, cconfigAllocMap := *(*C.ULConfig)(unsafe.Pointer(&config)), cgoAllocsUnknown + cresourcePath, cresourcePathAllocMap := *(*C.ULString)(unsafe.Pointer(&resourcePath)), cgoAllocsUnknown + C.ulConfigSetResourcePath(cconfig, cresourcePath) + runtime.KeepAlive(cresourcePathAllocMap) + runtime.KeepAlive(cconfigAllocMap) +} + +// UlConfigSetCachePath function as declared in Ultralight/CAPI.h:309 +func UlConfigSetCachePath(config ULConfig, cachePath ULString) { + cconfig, cconfigAllocMap := *(*C.ULConfig)(unsafe.Pointer(&config)), cgoAllocsUnknown + ccachePath, ccachePathAllocMap := *(*C.ULString)(unsafe.Pointer(&cachePath)), cgoAllocsUnknown + C.ulConfigSetCachePath(cconfig, ccachePath) + runtime.KeepAlive(ccachePathAllocMap) + runtime.KeepAlive(cconfigAllocMap) +} + +// UlConfigSetUseGPURenderer function as declared in Ultralight/CAPI.h:320 +func UlConfigSetUseGPURenderer(config ULConfig, useGpu bool) { + cconfig, cconfigAllocMap := *(*C.ULConfig)(unsafe.Pointer(&config)), cgoAllocsUnknown + cuseGpu, cuseGpuAllocMap := (C._Bool)(useGpu), cgoAllocsUnknown + C.ulConfigSetUseGPURenderer(cconfig, cuseGpu) + runtime.KeepAlive(cuseGpuAllocMap) + runtime.KeepAlive(cconfigAllocMap) +} + +// UlConfigSetDeviceScale function as declared in Ultralight/CAPI.h:327 +func UlConfigSetDeviceScale(config ULConfig, value float64) { + cconfig, cconfigAllocMap := *(*C.ULConfig)(unsafe.Pointer(&config)), cgoAllocsUnknown + cvalue, cvalueAllocMap := (C.double)(value), cgoAllocsUnknown + C.ulConfigSetDeviceScale(cconfig, cvalue) + runtime.KeepAlive(cvalueAllocMap) + runtime.KeepAlive(cconfigAllocMap) +} + +// UlConfigSetFaceWinding function as declared in Ultralight/CAPI.h:334 +func UlConfigSetFaceWinding(config ULConfig, winding ULFaceWinding) { + cconfig, cconfigAllocMap := *(*C.ULConfig)(unsafe.Pointer(&config)), cgoAllocsUnknown + cwinding, cwindingAllocMap := (C.ULFaceWinding)(winding), cgoAllocsUnknown + C.ulConfigSetFaceWinding(cconfig, cwinding) + runtime.KeepAlive(cwindingAllocMap) + runtime.KeepAlive(cconfigAllocMap) +} + +// UlConfigSetEnableImages function as declared in Ultralight/CAPI.h:339 func UlConfigSetEnableImages(config ULConfig, enabled bool) { - cconfig, _ := *(*C.ULConfig)(unsafe.Pointer(&config)), cgoAllocsUnknown - cenabled, _ := (C._Bool)(enabled), cgoAllocsUnknown + cconfig, cconfigAllocMap := *(*C.ULConfig)(unsafe.Pointer(&config)), cgoAllocsUnknown + cenabled, cenabledAllocMap := (C._Bool)(enabled), cgoAllocsUnknown C.ulConfigSetEnableImages(cconfig, cenabled) + runtime.KeepAlive(cenabledAllocMap) + runtime.KeepAlive(cconfigAllocMap) } -// UlConfigSetEnableJavaScript function as declared in Ultralight/CAPI.h:189 +// UlConfigSetEnableJavaScript function as declared in Ultralight/CAPI.h:344 func UlConfigSetEnableJavaScript(config ULConfig, enabled bool) { - cconfig, _ := *(*C.ULConfig)(unsafe.Pointer(&config)), cgoAllocsUnknown - cenabled, _ := (C._Bool)(enabled), cgoAllocsUnknown + cconfig, cconfigAllocMap := *(*C.ULConfig)(unsafe.Pointer(&config)), cgoAllocsUnknown + cenabled, cenabledAllocMap := (C._Bool)(enabled), cgoAllocsUnknown C.ulConfigSetEnableJavaScript(cconfig, cenabled) + runtime.KeepAlive(cenabledAllocMap) + runtime.KeepAlive(cconfigAllocMap) } -// UlConfigSetUseBGRAForOffscreenRendering function as declared in Ultralight/CAPI.h:195 -func UlConfigSetUseBGRAForOffscreenRendering(config ULConfig, enabled bool) { - cconfig, _ := *(*C.ULConfig)(unsafe.Pointer(&config)), cgoAllocsUnknown - cenabled, _ := (C._Bool)(enabled), cgoAllocsUnknown - C.ulConfigSetUseBGRAForOffscreenRendering(cconfig, cenabled) +// UlConfigSetFontHinting function as declared in Ultralight/CAPI.h:350 +func UlConfigSetFontHinting(config ULConfig, fontHinting ULFontHinting) { + cconfig, cconfigAllocMap := *(*C.ULConfig)(unsafe.Pointer(&config)), cgoAllocsUnknown + cfontHinting, cfontHintingAllocMap := (C.ULFontHinting)(fontHinting), cgoAllocsUnknown + C.ulConfigSetFontHinting(cconfig, cfontHinting) + runtime.KeepAlive(cfontHintingAllocMap) + runtime.KeepAlive(cconfigAllocMap) } -// UlConfigSetDeviceScaleHint function as declared in Ultralight/CAPI.h:203 -func UlConfigSetDeviceScaleHint(config ULConfig, value float64) { - cconfig, _ := *(*C.ULConfig)(unsafe.Pointer(&config)), cgoAllocsUnknown - cvalue, _ := (C.double)(value), cgoAllocsUnknown - C.ulConfigSetDeviceScaleHint(cconfig, cvalue) +// UlConfigSetFontGamma function as declared in Ultralight/CAPI.h:357 +func UlConfigSetFontGamma(config ULConfig, fontGamma float64) { + cconfig, cconfigAllocMap := *(*C.ULConfig)(unsafe.Pointer(&config)), cgoAllocsUnknown + cfontGamma, cfontGammaAllocMap := (C.double)(fontGamma), cgoAllocsUnknown + C.ulConfigSetFontGamma(cconfig, cfontGamma) + runtime.KeepAlive(cfontGammaAllocMap) + runtime.KeepAlive(cconfigAllocMap) } -// UlConfigSetFontFamilyStandard function as declared in Ultralight/CAPI.h:208 -func UlConfigSetFontFamilyStandard(config ULConfig, font_name ULString) { - cconfig, _ := *(*C.ULConfig)(unsafe.Pointer(&config)), cgoAllocsUnknown - cfont_name, _ := *(*C.ULString)(unsafe.Pointer(&font_name)), cgoAllocsUnknown - C.ulConfigSetFontFamilyStandard(cconfig, cfont_name) +// UlConfigSetFontFamilyStandard function as declared in Ultralight/CAPI.h:362 +func UlConfigSetFontFamilyStandard(config ULConfig, fontName ULString) { + cconfig, cconfigAllocMap := *(*C.ULConfig)(unsafe.Pointer(&config)), cgoAllocsUnknown + cfontName, cfontNameAllocMap := *(*C.ULString)(unsafe.Pointer(&fontName)), cgoAllocsUnknown + C.ulConfigSetFontFamilyStandard(cconfig, cfontName) + runtime.KeepAlive(cfontNameAllocMap) + runtime.KeepAlive(cconfigAllocMap) } -// UlConfigSetFontFamilyFixed function as declared in Ultralight/CAPI.h:215 -func UlConfigSetFontFamilyFixed(config ULConfig, font_name ULString) { - cconfig, _ := *(*C.ULConfig)(unsafe.Pointer(&config)), cgoAllocsUnknown - cfont_name, _ := *(*C.ULString)(unsafe.Pointer(&font_name)), cgoAllocsUnknown - C.ulConfigSetFontFamilyFixed(cconfig, cfont_name) +// UlConfigSetFontFamilyFixed function as declared in Ultralight/CAPI.h:369 +func UlConfigSetFontFamilyFixed(config ULConfig, fontName ULString) { + cconfig, cconfigAllocMap := *(*C.ULConfig)(unsafe.Pointer(&config)), cgoAllocsUnknown + cfontName, cfontNameAllocMap := *(*C.ULString)(unsafe.Pointer(&fontName)), cgoAllocsUnknown + C.ulConfigSetFontFamilyFixed(cconfig, cfontName) + runtime.KeepAlive(cfontNameAllocMap) + runtime.KeepAlive(cconfigAllocMap) } -// UlConfigSetFontFamilySerif function as declared in Ultralight/CAPI.h:220 -func UlConfigSetFontFamilySerif(config ULConfig, font_name ULString) { - cconfig, _ := *(*C.ULConfig)(unsafe.Pointer(&config)), cgoAllocsUnknown - cfont_name, _ := *(*C.ULString)(unsafe.Pointer(&font_name)), cgoAllocsUnknown - C.ulConfigSetFontFamilySerif(cconfig, cfont_name) +// UlConfigSetFontFamilySerif function as declared in Ultralight/CAPI.h:374 +func UlConfigSetFontFamilySerif(config ULConfig, fontName ULString) { + cconfig, cconfigAllocMap := *(*C.ULConfig)(unsafe.Pointer(&config)), cgoAllocsUnknown + cfontName, cfontNameAllocMap := *(*C.ULString)(unsafe.Pointer(&fontName)), cgoAllocsUnknown + C.ulConfigSetFontFamilySerif(cconfig, cfontName) + runtime.KeepAlive(cfontNameAllocMap) + runtime.KeepAlive(cconfigAllocMap) } -// UlConfigSetFontFamilySansSerif function as declared in Ultralight/CAPI.h:225 -func UlConfigSetFontFamilySansSerif(config ULConfig, font_name ULString) { - cconfig, _ := *(*C.ULConfig)(unsafe.Pointer(&config)), cgoAllocsUnknown - cfont_name, _ := *(*C.ULString)(unsafe.Pointer(&font_name)), cgoAllocsUnknown - C.ulConfigSetFontFamilySansSerif(cconfig, cfont_name) +// UlConfigSetFontFamilySansSerif function as declared in Ultralight/CAPI.h:379 +func UlConfigSetFontFamilySansSerif(config ULConfig, fontName ULString) { + cconfig, cconfigAllocMap := *(*C.ULConfig)(unsafe.Pointer(&config)), cgoAllocsUnknown + cfontName, cfontNameAllocMap := *(*C.ULString)(unsafe.Pointer(&fontName)), cgoAllocsUnknown + C.ulConfigSetFontFamilySansSerif(cconfig, cfontName) + runtime.KeepAlive(cfontNameAllocMap) + runtime.KeepAlive(cconfigAllocMap) } -// UlConfigSetUserAgent function as declared in Ultralight/CAPI.h:231 -func UlConfigSetUserAgent(config ULConfig, agent_string ULString) { - cconfig, _ := *(*C.ULConfig)(unsafe.Pointer(&config)), cgoAllocsUnknown - cagent_string, _ := *(*C.ULString)(unsafe.Pointer(&agent_string)), cgoAllocsUnknown - C.ulConfigSetUserAgent(cconfig, cagent_string) +// UlConfigSetUserAgent function as declared in Ultralight/CAPI.h:385 +func UlConfigSetUserAgent(config ULConfig, agentString ULString) { + cconfig, cconfigAllocMap := *(*C.ULConfig)(unsafe.Pointer(&config)), cgoAllocsUnknown + cagentString, cagentStringAllocMap := *(*C.ULString)(unsafe.Pointer(&agentString)), cgoAllocsUnknown + C.ulConfigSetUserAgent(cconfig, cagentString) + runtime.KeepAlive(cagentStringAllocMap) + runtime.KeepAlive(cconfigAllocMap) } -// UlConfigSetUserStylesheet function as declared in Ultralight/CAPI.h:236 -func UlConfigSetUserStylesheet(config ULConfig, css_string ULString) { - cconfig, _ := *(*C.ULConfig)(unsafe.Pointer(&config)), cgoAllocsUnknown - ccss_string, _ := *(*C.ULString)(unsafe.Pointer(&css_string)), cgoAllocsUnknown - C.ulConfigSetUserStylesheet(cconfig, ccss_string) +// UlConfigSetUserStylesheet function as declared in Ultralight/CAPI.h:390 +func UlConfigSetUserStylesheet(config ULConfig, cssString ULString) { + cconfig, cconfigAllocMap := *(*C.ULConfig)(unsafe.Pointer(&config)), cgoAllocsUnknown + ccssString, ccssStringAllocMap := *(*C.ULString)(unsafe.Pointer(&cssString)), cgoAllocsUnknown + C.ulConfigSetUserStylesheet(cconfig, ccssString) + runtime.KeepAlive(ccssStringAllocMap) + runtime.KeepAlive(cconfigAllocMap) } -// UlConfigSetForceRepaint function as declared in Ultralight/CAPI.h:243 +// UlConfigSetForceRepaint function as declared in Ultralight/CAPI.h:397 func UlConfigSetForceRepaint(config ULConfig, enabled bool) { - cconfig, _ := *(*C.ULConfig)(unsafe.Pointer(&config)), cgoAllocsUnknown - cenabled, _ := (C._Bool)(enabled), cgoAllocsUnknown + cconfig, cconfigAllocMap := *(*C.ULConfig)(unsafe.Pointer(&config)), cgoAllocsUnknown + cenabled, cenabledAllocMap := (C._Bool)(enabled), cgoAllocsUnknown C.ulConfigSetForceRepaint(cconfig, cenabled) + runtime.KeepAlive(cenabledAllocMap) + runtime.KeepAlive(cconfigAllocMap) } -// UlConfigSetAnimationTimerDelay function as declared in Ultralight/CAPI.h:249 +// UlConfigSetAnimationTimerDelay function as declared in Ultralight/CAPI.h:403 func UlConfigSetAnimationTimerDelay(config ULConfig, delay float64) { - cconfig, _ := *(*C.ULConfig)(unsafe.Pointer(&config)), cgoAllocsUnknown - cdelay, _ := (C.double)(delay), cgoAllocsUnknown + cconfig, cconfigAllocMap := *(*C.ULConfig)(unsafe.Pointer(&config)), cgoAllocsUnknown + cdelay, cdelayAllocMap := (C.double)(delay), cgoAllocsUnknown C.ulConfigSetAnimationTimerDelay(cconfig, cdelay) + runtime.KeepAlive(cdelayAllocMap) + runtime.KeepAlive(cconfigAllocMap) } -// UlConfigSetMemoryCacheSize function as declared in Ultralight/CAPI.h:255 +// UlConfigSetScrollTimerDelay function as declared in Ultralight/CAPI.h:409 +func UlConfigSetScrollTimerDelay(config ULConfig, delay float64) { + cconfig, cconfigAllocMap := *(*C.ULConfig)(unsafe.Pointer(&config)), cgoAllocsUnknown + cdelay, cdelayAllocMap := (C.double)(delay), cgoAllocsUnknown + C.ulConfigSetScrollTimerDelay(cconfig, cdelay) + runtime.KeepAlive(cdelayAllocMap) + runtime.KeepAlive(cconfigAllocMap) +} + +// UlConfigSetRecycleDelay function as declared in Ultralight/CAPI.h:415 +func UlConfigSetRecycleDelay(config ULConfig, delay float64) { + cconfig, cconfigAllocMap := *(*C.ULConfig)(unsafe.Pointer(&config)), cgoAllocsUnknown + cdelay, cdelayAllocMap := (C.double)(delay), cgoAllocsUnknown + C.ulConfigSetRecycleDelay(cconfig, cdelay) + runtime.KeepAlive(cdelayAllocMap) + runtime.KeepAlive(cconfigAllocMap) +} + +// UlConfigSetMemoryCacheSize function as declared in Ultralight/CAPI.h:421 func UlConfigSetMemoryCacheSize(config ULConfig, size uint32) { - cconfig, _ := *(*C.ULConfig)(unsafe.Pointer(&config)), cgoAllocsUnknown - csize, _ := (C.uint)(size), cgoAllocsUnknown + cconfig, cconfigAllocMap := *(*C.ULConfig)(unsafe.Pointer(&config)), cgoAllocsUnknown + csize, csizeAllocMap := (C.uint)(size), cgoAllocsUnknown C.ulConfigSetMemoryCacheSize(cconfig, csize) + runtime.KeepAlive(csizeAllocMap) + runtime.KeepAlive(cconfigAllocMap) } -// UlConfigSetPageCacheSize function as declared in Ultralight/CAPI.h:260 +// UlConfigSetPageCacheSize function as declared in Ultralight/CAPI.h:426 func UlConfigSetPageCacheSize(config ULConfig, size uint32) { - cconfig, _ := *(*C.ULConfig)(unsafe.Pointer(&config)), cgoAllocsUnknown - csize, _ := (C.uint)(size), cgoAllocsUnknown + cconfig, cconfigAllocMap := *(*C.ULConfig)(unsafe.Pointer(&config)), cgoAllocsUnknown + csize, csizeAllocMap := (C.uint)(size), cgoAllocsUnknown C.ulConfigSetPageCacheSize(cconfig, csize) + runtime.KeepAlive(csizeAllocMap) + runtime.KeepAlive(cconfigAllocMap) } -// UlCreateRenderer function as declared in Ultralight/CAPI.h:269 +// UlConfigSetOverrideRAMSize function as declared in Ultralight/CAPI.h:436 +func UlConfigSetOverrideRAMSize(config ULConfig, size uint32) { + cconfig, cconfigAllocMap := *(*C.ULConfig)(unsafe.Pointer(&config)), cgoAllocsUnknown + csize, csizeAllocMap := (C.uint)(size), cgoAllocsUnknown + C.ulConfigSetOverrideRAMSize(cconfig, csize) + runtime.KeepAlive(csizeAllocMap) + runtime.KeepAlive(cconfigAllocMap) +} + +// UlConfigSetMinLargeHeapSize function as declared in Ultralight/CAPI.h:442 +func UlConfigSetMinLargeHeapSize(config ULConfig, size uint32) { + cconfig, cconfigAllocMap := *(*C.ULConfig)(unsafe.Pointer(&config)), cgoAllocsUnknown + csize, csizeAllocMap := (C.uint)(size), cgoAllocsUnknown + C.ulConfigSetMinLargeHeapSize(cconfig, csize) + runtime.KeepAlive(csizeAllocMap) + runtime.KeepAlive(cconfigAllocMap) +} + +// UlConfigSetMinSmallHeapSize function as declared in Ultralight/CAPI.h:448 +func UlConfigSetMinSmallHeapSize(config ULConfig, size uint32) { + cconfig, cconfigAllocMap := *(*C.ULConfig)(unsafe.Pointer(&config)), cgoAllocsUnknown + csize, csizeAllocMap := (C.uint)(size), cgoAllocsUnknown + C.ulConfigSetMinSmallHeapSize(cconfig, csize) + runtime.KeepAlive(csizeAllocMap) + runtime.KeepAlive(cconfigAllocMap) +} + +// UlCreateRenderer function as declared in Ultralight/CAPI.h:477 func UlCreateRenderer(config ULConfig) ULRenderer { - cconfig, _ := *(*C.ULConfig)(unsafe.Pointer(&config)), cgoAllocsUnknown + cconfig, cconfigAllocMap := *(*C.ULConfig)(unsafe.Pointer(&config)), cgoAllocsUnknown __ret := C.ulCreateRenderer(cconfig) + runtime.KeepAlive(cconfigAllocMap) __v := *(*ULRenderer)(unsafe.Pointer(&__ret)) return __v } -// UlDestroyRenderer function as declared in Ultralight/CAPI.h:274 +// UlDestroyRenderer function as declared in Ultralight/CAPI.h:482 func UlDestroyRenderer(renderer ULRenderer) { - crenderer, _ := *(*C.ULRenderer)(unsafe.Pointer(&renderer)), cgoAllocsUnknown + crenderer, crendererAllocMap := *(*C.ULRenderer)(unsafe.Pointer(&renderer)), cgoAllocsUnknown C.ulDestroyRenderer(crenderer) + runtime.KeepAlive(crendererAllocMap) } -// UlUpdate function as declared in Ultralight/CAPI.h:279 +// UlUpdate function as declared in Ultralight/CAPI.h:487 func UlUpdate(renderer ULRenderer) { - crenderer, _ := *(*C.ULRenderer)(unsafe.Pointer(&renderer)), cgoAllocsUnknown + crenderer, crendererAllocMap := *(*C.ULRenderer)(unsafe.Pointer(&renderer)), cgoAllocsUnknown C.ulUpdate(crenderer) + runtime.KeepAlive(crendererAllocMap) } -// UlRender function as declared in Ultralight/CAPI.h:284 +// UlRender function as declared in Ultralight/CAPI.h:492 func UlRender(renderer ULRenderer) { - crenderer, _ := *(*C.ULRenderer)(unsafe.Pointer(&renderer)), cgoAllocsUnknown + crenderer, crendererAllocMap := *(*C.ULRenderer)(unsafe.Pointer(&renderer)), cgoAllocsUnknown C.ulRender(crenderer) + runtime.KeepAlive(crendererAllocMap) } -// UlCreateView function as declared in Ultralight/CAPI.h:293 -func UlCreateView(renderer ULRenderer, width uint32, height uint32, transparent bool) ULView { - crenderer, _ := *(*C.ULRenderer)(unsafe.Pointer(&renderer)), cgoAllocsUnknown - cwidth, _ := (C.uint)(width), cgoAllocsUnknown - cheight, _ := (C.uint)(height), cgoAllocsUnknown - ctransparent, _ := (C._Bool)(transparent), cgoAllocsUnknown - __ret := C.ulCreateView(crenderer, cwidth, cheight, ctransparent) +// UlPurgeMemory function as declared in Ultralight/CAPI.h:498 +func UlPurgeMemory(renderer ULRenderer) { + crenderer, crendererAllocMap := *(*C.ULRenderer)(unsafe.Pointer(&renderer)), cgoAllocsUnknown + C.ulPurgeMemory(crenderer) + runtime.KeepAlive(crendererAllocMap) +} + +// UlLogMemoryUsage function as declared in Ultralight/CAPI.h:504 +func UlLogMemoryUsage(renderer ULRenderer) { + crenderer, crendererAllocMap := *(*C.ULRenderer)(unsafe.Pointer(&renderer)), cgoAllocsUnknown + C.ulLogMemoryUsage(crenderer) + runtime.KeepAlive(crendererAllocMap) +} + +// UlCreateSession function as declared in Ultralight/CAPI.h:514 +func UlCreateSession(renderer ULRenderer, isPersistent bool, name ULString) ULSession { + crenderer, crendererAllocMap := *(*C.ULRenderer)(unsafe.Pointer(&renderer)), cgoAllocsUnknown + cisPersistent, cisPersistentAllocMap := (C._Bool)(isPersistent), cgoAllocsUnknown + cname, cnameAllocMap := *(*C.ULString)(unsafe.Pointer(&name)), cgoAllocsUnknown + __ret := C.ulCreateSession(crenderer, cisPersistent, cname) + runtime.KeepAlive(cnameAllocMap) + runtime.KeepAlive(cisPersistentAllocMap) + runtime.KeepAlive(crendererAllocMap) + __v := *(*ULSession)(unsafe.Pointer(&__ret)) + return __v +} + +// UlDestroySession function as declared in Ultralight/CAPI.h:520 +func UlDestroySession(session ULSession) { + csession, csessionAllocMap := *(*C.ULSession)(unsafe.Pointer(&session)), cgoAllocsUnknown + C.ulDestroySession(csession) + runtime.KeepAlive(csessionAllocMap) +} + +// UlDefaultSession function as declared in Ultralight/CAPI.h:527 +func UlDefaultSession(renderer ULRenderer) ULSession { + crenderer, crendererAllocMap := *(*C.ULRenderer)(unsafe.Pointer(&renderer)), cgoAllocsUnknown + __ret := C.ulDefaultSession(crenderer) + runtime.KeepAlive(crendererAllocMap) + __v := *(*ULSession)(unsafe.Pointer(&__ret)) + return __v +} + +// UlSessionIsPersistent function as declared in Ultralight/CAPI.h:532 +func UlSessionIsPersistent(session ULSession) bool { + csession, csessionAllocMap := *(*C.ULSession)(unsafe.Pointer(&session)), cgoAllocsUnknown + __ret := C.ulSessionIsPersistent(csession) + runtime.KeepAlive(csessionAllocMap) + __v := (bool)(__ret) + return __v +} + +// UlSessionGetName function as declared in Ultralight/CAPI.h:537 +func UlSessionGetName(session ULSession) ULString { + csession, csessionAllocMap := *(*C.ULSession)(unsafe.Pointer(&session)), cgoAllocsUnknown + __ret := C.ulSessionGetName(csession) + runtime.KeepAlive(csessionAllocMap) + __v := *(*ULString)(unsafe.Pointer(&__ret)) + return __v +} + +// UlSessionGetId function as declared in Ultralight/CAPI.h:542 +func UlSessionGetId(session ULSession) uint64 { + csession, csessionAllocMap := *(*C.ULSession)(unsafe.Pointer(&session)), cgoAllocsUnknown + __ret := C.ulSessionGetId(csession) + runtime.KeepAlive(csessionAllocMap) + __v := (uint64)(__ret) + return __v +} + +// UlSessionGetDiskPath function as declared in Ultralight/CAPI.h:547 +func UlSessionGetDiskPath(session ULSession) ULString { + csession, csessionAllocMap := *(*C.ULSession)(unsafe.Pointer(&session)), cgoAllocsUnknown + __ret := C.ulSessionGetDiskPath(csession) + runtime.KeepAlive(csessionAllocMap) + __v := *(*ULString)(unsafe.Pointer(&__ret)) + return __v +} + +// UlCreateView function as declared in Ultralight/CAPI.h:558 +func UlCreateView(renderer ULRenderer, width uint32, height uint32, transparent bool, session ULSession, forceCpuRenderer bool) ULView { + crenderer, crendererAllocMap := *(*C.ULRenderer)(unsafe.Pointer(&renderer)), cgoAllocsUnknown + cwidth, cwidthAllocMap := (C.uint)(width), cgoAllocsUnknown + cheight, cheightAllocMap := (C.uint)(height), cgoAllocsUnknown + ctransparent, ctransparentAllocMap := (C._Bool)(transparent), cgoAllocsUnknown + csession, csessionAllocMap := *(*C.ULSession)(unsafe.Pointer(&session)), cgoAllocsUnknown + cforceCpuRenderer, cforceCpuRendererAllocMap := (C._Bool)(forceCpuRenderer), cgoAllocsUnknown + __ret := C.ulCreateView(crenderer, cwidth, cheight, ctransparent, csession, cforceCpuRenderer) + runtime.KeepAlive(cforceCpuRendererAllocMap) + runtime.KeepAlive(csessionAllocMap) + runtime.KeepAlive(ctransparentAllocMap) + runtime.KeepAlive(cheightAllocMap) + runtime.KeepAlive(cwidthAllocMap) + runtime.KeepAlive(crendererAllocMap) __v := *(*ULView)(unsafe.Pointer(&__ret)) return __v } -// UlDestroyView function as declared in Ultralight/CAPI.h:299 +// UlDestroyView function as declared in Ultralight/CAPI.h:565 func UlDestroyView(view ULView) { - cview, _ := *(*C.ULView)(unsafe.Pointer(&view)), cgoAllocsUnknown + cview, cviewAllocMap := *(*C.ULView)(unsafe.Pointer(&view)), cgoAllocsUnknown C.ulDestroyView(cview) + runtime.KeepAlive(cviewAllocMap) } -// UlViewGetURL function as declared in Ultralight/CAPI.h:306 +// UlViewGetURL function as declared in Ultralight/CAPI.h:572 func UlViewGetURL(view ULView) ULString { - cview, _ := *(*C.ULView)(unsafe.Pointer(&view)), cgoAllocsUnknown + cview, cviewAllocMap := *(*C.ULView)(unsafe.Pointer(&view)), cgoAllocsUnknown __ret := C.ulViewGetURL(cview) + runtime.KeepAlive(cviewAllocMap) __v := *(*ULString)(unsafe.Pointer(&__ret)) return __v } -// UlViewGetTitle function as declared in Ultralight/CAPI.h:313 +// UlViewGetTitle function as declared in Ultralight/CAPI.h:579 func UlViewGetTitle(view ULView) ULString { - cview, _ := *(*C.ULView)(unsafe.Pointer(&view)), cgoAllocsUnknown + cview, cviewAllocMap := *(*C.ULView)(unsafe.Pointer(&view)), cgoAllocsUnknown __ret := C.ulViewGetTitle(cview) + runtime.KeepAlive(cviewAllocMap) __v := *(*ULString)(unsafe.Pointer(&__ret)) return __v } -// UlViewIsLoading function as declared in Ultralight/CAPI.h:318 +// UlViewGetWidth function as declared in Ultralight/CAPI.h:584 +func UlViewGetWidth(view ULView) uint32 { + cview, cviewAllocMap := *(*C.ULView)(unsafe.Pointer(&view)), cgoAllocsUnknown + __ret := C.ulViewGetWidth(cview) + runtime.KeepAlive(cviewAllocMap) + __v := (uint32)(__ret) + return __v +} + +// UlViewGetHeight function as declared in Ultralight/CAPI.h:589 +func UlViewGetHeight(view ULView) uint32 { + cview, cviewAllocMap := *(*C.ULView)(unsafe.Pointer(&view)), cgoAllocsUnknown + __ret := C.ulViewGetHeight(cview) + runtime.KeepAlive(cviewAllocMap) + __v := (uint32)(__ret) + return __v +} + +// UlViewIsLoading function as declared in Ultralight/CAPI.h:594 func UlViewIsLoading(view ULView) bool { - cview, _ := *(*C.ULView)(unsafe.Pointer(&view)), cgoAllocsUnknown + cview, cviewAllocMap := *(*C.ULView)(unsafe.Pointer(&view)), cgoAllocsUnknown __ret := C.ulViewIsLoading(cview) + runtime.KeepAlive(cviewAllocMap) __v := (bool)(__ret) return __v } -// UlViewIsBitmapDirty function as declared in Ultralight/CAPI.h:323 -func UlViewIsBitmapDirty(view ULView) bool { - cview, _ := *(*C.ULView)(unsafe.Pointer(&view)), cgoAllocsUnknown - __ret := C.ulViewIsBitmapDirty(cview) - __v := (bool)(__ret) +// UlViewGetRenderTarget function as declared in Ultralight/CAPI.h:601 +func UlViewGetRenderTarget(view ULView) ULRenderTarget { + cview, cviewAllocMap := *(*C.ULView)(unsafe.Pointer(&view)), cgoAllocsUnknown + __ret := C.ulViewGetRenderTarget(cview) + runtime.KeepAlive(cviewAllocMap) + __v := *NewULRenderTargetRef(unsafe.Pointer(&__ret)) return __v } -// UlViewGetBitmap function as declared in Ultralight/CAPI.h:330 -func UlViewGetBitmap(view ULView) ULBitmap { - cview, _ := *(*C.ULView)(unsafe.Pointer(&view)), cgoAllocsUnknown - __ret := C.ulViewGetBitmap(cview) - __v := *(*ULBitmap)(unsafe.Pointer(&__ret)) +// UlViewGetSurface function as declared in Ultralight/CAPI.h:617 +func UlViewGetSurface(view ULView) ULSurface { + cview, cviewAllocMap := *(*C.ULView)(unsafe.Pointer(&view)), cgoAllocsUnknown + __ret := C.ulViewGetSurface(cview) + runtime.KeepAlive(cviewAllocMap) + __v := *(*ULSurface)(unsafe.Pointer(&__ret)) return __v } -// UlViewLoadHTML function as declared in Ultralight/CAPI.h:335 -func UlViewLoadHTML(view ULView, html_string ULString) { - cview, _ := *(*C.ULView)(unsafe.Pointer(&view)), cgoAllocsUnknown - chtml_string, _ := *(*C.ULString)(unsafe.Pointer(&html_string)), cgoAllocsUnknown - C.ulViewLoadHTML(cview, chtml_string) +// UlViewLoadHTML function as declared in Ultralight/CAPI.h:622 +func UlViewLoadHTML(view ULView, htmlString ULString) { + cview, cviewAllocMap := *(*C.ULView)(unsafe.Pointer(&view)), cgoAllocsUnknown + chtmlString, chtmlStringAllocMap := *(*C.ULString)(unsafe.Pointer(&htmlString)), cgoAllocsUnknown + C.ulViewLoadHTML(cview, chtmlString) + runtime.KeepAlive(chtmlStringAllocMap) + runtime.KeepAlive(cviewAllocMap) } -// UlViewLoadURL function as declared in Ultralight/CAPI.h:340 -func UlViewLoadURL(view ULView, url_string ULString) { - cview, _ := *(*C.ULView)(unsafe.Pointer(&view)), cgoAllocsUnknown - curl_string, _ := *(*C.ULString)(unsafe.Pointer(&url_string)), cgoAllocsUnknown - C.ulViewLoadURL(cview, curl_string) +// UlViewLoadURL function as declared in Ultralight/CAPI.h:627 +func UlViewLoadURL(view ULView, urlString ULString) { + cview, cviewAllocMap := *(*C.ULView)(unsafe.Pointer(&view)), cgoAllocsUnknown + curlString, curlStringAllocMap := *(*C.ULString)(unsafe.Pointer(&urlString)), cgoAllocsUnknown + C.ulViewLoadURL(cview, curlString) + runtime.KeepAlive(curlStringAllocMap) + runtime.KeepAlive(cviewAllocMap) } -// UlViewResize function as declared in Ultralight/CAPI.h:345 +// UlViewResize function as declared in Ultralight/CAPI.h:632 func UlViewResize(view ULView, width uint32, height uint32) { - cview, _ := *(*C.ULView)(unsafe.Pointer(&view)), cgoAllocsUnknown - cwidth, _ := (C.uint)(width), cgoAllocsUnknown - cheight, _ := (C.uint)(height), cgoAllocsUnknown + cview, cviewAllocMap := *(*C.ULView)(unsafe.Pointer(&view)), cgoAllocsUnknown + cwidth, cwidthAllocMap := (C.uint)(width), cgoAllocsUnknown + cheight, cheightAllocMap := (C.uint)(height), cgoAllocsUnknown C.ulViewResize(cview, cwidth, cheight) + runtime.KeepAlive(cheightAllocMap) + runtime.KeepAlive(cwidthAllocMap) + runtime.KeepAlive(cviewAllocMap) } -// UlViewGetJSContext function as declared in Ultralight/CAPI.h:351 -func UlViewGetJSContext(view ULView) JSContextRef { - cview, _ := *(*C.ULView)(unsafe.Pointer(&view)), cgoAllocsUnknown - __ret := C.ulViewGetJSContext(cview) +// UlViewLockJSContext function as declared in Ultralight/CAPI.h:645 +func UlViewLockJSContext(view ULView) JSContextRef { + cview, cviewAllocMap := *(*C.ULView)(unsafe.Pointer(&view)), cgoAllocsUnknown + __ret := C.ulViewLockJSContext(cview) + runtime.KeepAlive(cviewAllocMap) __v := *(*JSContextRef)(unsafe.Pointer(&__ret)) return __v } -// UlViewEvaluateScript function as declared in Ultralight/CAPI.h:356 -func UlViewEvaluateScript(view ULView, js_string ULString) JSValueRef { - cview, _ := *(*C.ULView)(unsafe.Pointer(&view)), cgoAllocsUnknown - cjs_string, _ := *(*C.ULString)(unsafe.Pointer(&js_string)), cgoAllocsUnknown - __ret := C.ulViewEvaluateScript(cview, cjs_string) - __v := *(*JSValueRef)(unsafe.Pointer(&__ret)) +// UlViewUnlockJSContext function as declared in Ultralight/CAPI.h:650 +func UlViewUnlockJSContext(view ULView) { + cview, cviewAllocMap := *(*C.ULView)(unsafe.Pointer(&view)), cgoAllocsUnknown + C.ulViewUnlockJSContext(cview) + runtime.KeepAlive(cviewAllocMap) +} + +// UlViewEvaluateScript function as declared in Ultralight/CAPI.h:674 +func UlViewEvaluateScript(view ULView, jsString ULString, exception []ULString) ULString { + cview, cviewAllocMap := *(*C.ULView)(unsafe.Pointer(&view)), cgoAllocsUnknown + cjsString, cjsStringAllocMap := *(*C.ULString)(unsafe.Pointer(&jsString)), cgoAllocsUnknown + cexception, cexceptionAllocMap := copyPULStringBytes((*sliceHeader)(unsafe.Pointer(&exception))) + __ret := C.ulViewEvaluateScript(cview, cjsString, cexception) + runtime.KeepAlive(cexceptionAllocMap) + runtime.KeepAlive(cjsStringAllocMap) + runtime.KeepAlive(cviewAllocMap) + __v := *(*ULString)(unsafe.Pointer(&__ret)) return __v } -// UlViewCanGoBack function as declared in Ultralight/CAPI.h:361 +// UlViewCanGoBack function as declared in Ultralight/CAPI.h:679 func UlViewCanGoBack(view ULView) bool { - cview, _ := *(*C.ULView)(unsafe.Pointer(&view)), cgoAllocsUnknown + cview, cviewAllocMap := *(*C.ULView)(unsafe.Pointer(&view)), cgoAllocsUnknown __ret := C.ulViewCanGoBack(cview) + runtime.KeepAlive(cviewAllocMap) __v := (bool)(__ret) return __v } -// UlViewCanGoForward function as declared in Ultralight/CAPI.h:366 +// UlViewCanGoForward function as declared in Ultralight/CAPI.h:684 func UlViewCanGoForward(view ULView) bool { - cview, _ := *(*C.ULView)(unsafe.Pointer(&view)), cgoAllocsUnknown + cview, cviewAllocMap := *(*C.ULView)(unsafe.Pointer(&view)), cgoAllocsUnknown __ret := C.ulViewCanGoForward(cview) + runtime.KeepAlive(cviewAllocMap) __v := (bool)(__ret) return __v } -// UlViewGoBack function as declared in Ultralight/CAPI.h:371 +// UlViewGoBack function as declared in Ultralight/CAPI.h:689 func UlViewGoBack(view ULView) { - cview, _ := *(*C.ULView)(unsafe.Pointer(&view)), cgoAllocsUnknown + cview, cviewAllocMap := *(*C.ULView)(unsafe.Pointer(&view)), cgoAllocsUnknown C.ulViewGoBack(cview) + runtime.KeepAlive(cviewAllocMap) } -// UlViewGoForward function as declared in Ultralight/CAPI.h:376 +// UlViewGoForward function as declared in Ultralight/CAPI.h:694 func UlViewGoForward(view ULView) { - cview, _ := *(*C.ULView)(unsafe.Pointer(&view)), cgoAllocsUnknown + cview, cviewAllocMap := *(*C.ULView)(unsafe.Pointer(&view)), cgoAllocsUnknown C.ulViewGoForward(cview) + runtime.KeepAlive(cviewAllocMap) } -// UlViewGoToHistoryOffset function as declared in Ultralight/CAPI.h:381 +// UlViewGoToHistoryOffset function as declared in Ultralight/CAPI.h:699 func UlViewGoToHistoryOffset(view ULView, offset int32) { - cview, _ := *(*C.ULView)(unsafe.Pointer(&view)), cgoAllocsUnknown - coffset, _ := (C.int)(offset), cgoAllocsUnknown + cview, cviewAllocMap := *(*C.ULView)(unsafe.Pointer(&view)), cgoAllocsUnknown + coffset, coffsetAllocMap := (C.int)(offset), cgoAllocsUnknown C.ulViewGoToHistoryOffset(cview, coffset) + runtime.KeepAlive(coffsetAllocMap) + runtime.KeepAlive(cviewAllocMap) } -// UlViewReload function as declared in Ultralight/CAPI.h:386 +// UlViewReload function as declared in Ultralight/CAPI.h:704 func UlViewReload(view ULView) { - cview, _ := *(*C.ULView)(unsafe.Pointer(&view)), cgoAllocsUnknown + cview, cviewAllocMap := *(*C.ULView)(unsafe.Pointer(&view)), cgoAllocsUnknown C.ulViewReload(cview) + runtime.KeepAlive(cviewAllocMap) } -// UlViewStop function as declared in Ultralight/CAPI.h:391 +// UlViewStop function as declared in Ultralight/CAPI.h:709 func UlViewStop(view ULView) { - cview, _ := *(*C.ULView)(unsafe.Pointer(&view)), cgoAllocsUnknown + cview, cviewAllocMap := *(*C.ULView)(unsafe.Pointer(&view)), cgoAllocsUnknown C.ulViewStop(cview) + runtime.KeepAlive(cviewAllocMap) } -// UlViewFireKeyEvent function as declared in Ultralight/CAPI.h:396 -func UlViewFireKeyEvent(view ULView, key_event ULKeyEvent) { - cview, _ := *(*C.ULView)(unsafe.Pointer(&view)), cgoAllocsUnknown - ckey_event, _ := *(*C.ULKeyEvent)(unsafe.Pointer(&key_event)), cgoAllocsUnknown - C.ulViewFireKeyEvent(cview, ckey_event) +// UlViewFocus function as declared in Ultralight/CAPI.h:717 +func UlViewFocus(view ULView) { + cview, cviewAllocMap := *(*C.ULView)(unsafe.Pointer(&view)), cgoAllocsUnknown + C.ulViewFocus(cview) + runtime.KeepAlive(cviewAllocMap) } -// UlViewFireMouseEvent function as declared in Ultralight/CAPI.h:401 -func UlViewFireMouseEvent(view ULView, mouse_event ULMouseEvent) { - cview, _ := *(*C.ULView)(unsafe.Pointer(&view)), cgoAllocsUnknown - cmouse_event, _ := *(*C.ULMouseEvent)(unsafe.Pointer(&mouse_event)), cgoAllocsUnknown - C.ulViewFireMouseEvent(cview, cmouse_event) +// UlViewUnfocus function as declared in Ultralight/CAPI.h:725 +func UlViewUnfocus(view ULView) { + cview, cviewAllocMap := *(*C.ULView)(unsafe.Pointer(&view)), cgoAllocsUnknown + C.ulViewUnfocus(cview) + runtime.KeepAlive(cviewAllocMap) } -// UlViewFireScrollEvent function as declared in Ultralight/CAPI.h:406 -func UlViewFireScrollEvent(view ULView, scroll_event ULScrollEvent) { - cview, _ := *(*C.ULView)(unsafe.Pointer(&view)), cgoAllocsUnknown - cscroll_event, _ := *(*C.ULScrollEvent)(unsafe.Pointer(&scroll_event)), cgoAllocsUnknown - C.ulViewFireScrollEvent(cview, cscroll_event) -} - -// UlViewSetChangeTitleCallback function as declared in Ultralight/CAPI.h:414 -func UlViewSetChangeTitleCallback(view ULView, callback ULChangeTitleCallback, user_data unsafe.Pointer) { - cview, _ := *(*C.ULView)(unsafe.Pointer(&view)), cgoAllocsUnknown - ccallback, _ := callback.PassValue() - cuser_data, _ := user_data, cgoAllocsUnknown - C.ulViewSetChangeTitleCallback(cview, ccallback, cuser_data) -} - -// UlViewSetChangeURLCallback function as declared in Ultralight/CAPI.h:424 -func UlViewSetChangeURLCallback(view ULView, callback ULChangeURLCallback, user_data unsafe.Pointer) { - cview, _ := *(*C.ULView)(unsafe.Pointer(&view)), cgoAllocsUnknown - ccallback, _ := callback.PassValue() - cuser_data, _ := user_data, cgoAllocsUnknown - C.ulViewSetChangeURLCallback(cview, ccallback, cuser_data) -} - -// UlViewSetChangeTooltipCallback function as declared in Ultralight/CAPI.h:434 -func UlViewSetChangeTooltipCallback(view ULView, callback ULChangeTooltipCallback, user_data unsafe.Pointer) { - cview, _ := *(*C.ULView)(unsafe.Pointer(&view)), cgoAllocsUnknown - ccallback, _ := callback.PassValue() - cuser_data, _ := user_data, cgoAllocsUnknown - C.ulViewSetChangeTooltipCallback(cview, ccallback, cuser_data) -} - -// UlViewSetChangeCursorCallback function as declared in Ultralight/CAPI.h:444 -func UlViewSetChangeCursorCallback(view ULView, callback ULChangeCursorCallback, user_data unsafe.Pointer) { - cview, _ := *(*C.ULView)(unsafe.Pointer(&view)), cgoAllocsUnknown - ccallback, _ := callback.PassValue() - cuser_data, _ := user_data, cgoAllocsUnknown - C.ulViewSetChangeCursorCallback(cview, ccallback, cuser_data) -} - -// UlViewSetAddConsoleMessageCallback function as declared in Ultralight/CAPI.h:459 -func UlViewSetAddConsoleMessageCallback(view ULView, callback ULAddConsoleMessageCallback, user_data unsafe.Pointer) { - cview, _ := *(*C.ULView)(unsafe.Pointer(&view)), cgoAllocsUnknown - ccallback, _ := callback.PassValue() - cuser_data, _ := user_data, cgoAllocsUnknown - C.ulViewSetAddConsoleMessageCallback(cview, ccallback, cuser_data) -} - -// UlViewSetBeginLoadingCallback function as declared in Ultralight/CAPI.h:469 -func UlViewSetBeginLoadingCallback(view ULView, callback ULBeginLoadingCallback, user_data unsafe.Pointer) { - cview, _ := *(*C.ULView)(unsafe.Pointer(&view)), cgoAllocsUnknown - ccallback, _ := callback.PassValue() - cuser_data, _ := user_data, cgoAllocsUnknown - C.ulViewSetBeginLoadingCallback(cview, ccallback, cuser_data) -} - -// UlViewSetFinishLoadingCallback function as declared in Ultralight/CAPI.h:479 -func UlViewSetFinishLoadingCallback(view ULView, callback ULFinishLoadingCallback, user_data unsafe.Pointer) { - cview, _ := *(*C.ULView)(unsafe.Pointer(&view)), cgoAllocsUnknown - ccallback, _ := callback.PassValue() - cuser_data, _ := user_data, cgoAllocsUnknown - C.ulViewSetFinishLoadingCallback(cview, ccallback, cuser_data) -} - -// UlViewSetUpdateHistoryCallback function as declared in Ultralight/CAPI.h:489 -func UlViewSetUpdateHistoryCallback(view ULView, callback ULUpdateHistoryCallback, user_data unsafe.Pointer) { - cview, _ := *(*C.ULView)(unsafe.Pointer(&view)), cgoAllocsUnknown - ccallback, _ := callback.PassValue() - cuser_data, _ := user_data, cgoAllocsUnknown - C.ulViewSetUpdateHistoryCallback(cview, ccallback, cuser_data) -} - -// UlViewSetDOMReadyCallback function as declared in Ultralight/CAPI.h:500 -func UlViewSetDOMReadyCallback(view ULView, callback ULDOMReadyCallback, user_data unsafe.Pointer) { - cview, _ := *(*C.ULView)(unsafe.Pointer(&view)), cgoAllocsUnknown - ccallback, _ := callback.PassValue() - cuser_data, _ := user_data, cgoAllocsUnknown - C.ulViewSetDOMReadyCallback(cview, ccallback, cuser_data) -} - -// UlViewSetNeedsPaint function as declared in Ultralight/CAPI.h:511 -func UlViewSetNeedsPaint(view ULView, needs_paint bool) { - cview, _ := *(*C.ULView)(unsafe.Pointer(&view)), cgoAllocsUnknown - cneeds_paint, _ := (C._Bool)(needs_paint), cgoAllocsUnknown - C.ulViewSetNeedsPaint(cview, cneeds_paint) -} - -// UlViewGetNeedsPaint function as declared in Ultralight/CAPI.h:516 -func UlViewGetNeedsPaint(view ULView) bool { - cview, _ := *(*C.ULView)(unsafe.Pointer(&view)), cgoAllocsUnknown - __ret := C.ulViewGetNeedsPaint(cview) +// UlViewHasFocus function as declared in Ultralight/CAPI.h:730 +func UlViewHasFocus(view ULView) bool { + cview, cviewAllocMap := *(*C.ULView)(unsafe.Pointer(&view)), cgoAllocsUnknown + __ret := C.ulViewHasFocus(cview) + runtime.KeepAlive(cviewAllocMap) __v := (bool)(__ret) return __v } -// UlViewCreateInspectorView function as declared in Ultralight/CAPI.h:531 +// UlViewHasInputFocus function as declared in Ultralight/CAPI.h:739 +func UlViewHasInputFocus(view ULView) bool { + cview, cviewAllocMap := *(*C.ULView)(unsafe.Pointer(&view)), cgoAllocsUnknown + __ret := C.ulViewHasInputFocus(cview) + runtime.KeepAlive(cviewAllocMap) + __v := (bool)(__ret) + return __v +} + +// UlViewFireKeyEvent function as declared in Ultralight/CAPI.h:744 +func UlViewFireKeyEvent(view ULView, keyEvent ULKeyEvent) { + cview, cviewAllocMap := *(*C.ULView)(unsafe.Pointer(&view)), cgoAllocsUnknown + ckeyEvent, ckeyEventAllocMap := *(*C.ULKeyEvent)(unsafe.Pointer(&keyEvent)), cgoAllocsUnknown + C.ulViewFireKeyEvent(cview, ckeyEvent) + runtime.KeepAlive(ckeyEventAllocMap) + runtime.KeepAlive(cviewAllocMap) +} + +// UlViewFireMouseEvent function as declared in Ultralight/CAPI.h:749 +func UlViewFireMouseEvent(view ULView, mouseEvent ULMouseEvent) { + cview, cviewAllocMap := *(*C.ULView)(unsafe.Pointer(&view)), cgoAllocsUnknown + cmouseEvent, cmouseEventAllocMap := *(*C.ULMouseEvent)(unsafe.Pointer(&mouseEvent)), cgoAllocsUnknown + C.ulViewFireMouseEvent(cview, cmouseEvent) + runtime.KeepAlive(cmouseEventAllocMap) + runtime.KeepAlive(cviewAllocMap) +} + +// UlViewFireScrollEvent function as declared in Ultralight/CAPI.h:754 +func UlViewFireScrollEvent(view ULView, scrollEvent ULScrollEvent) { + cview, cviewAllocMap := *(*C.ULView)(unsafe.Pointer(&view)), cgoAllocsUnknown + cscrollEvent, cscrollEventAllocMap := *(*C.ULScrollEvent)(unsafe.Pointer(&scrollEvent)), cgoAllocsUnknown + C.ulViewFireScrollEvent(cview, cscrollEvent) + runtime.KeepAlive(cscrollEventAllocMap) + runtime.KeepAlive(cviewAllocMap) +} + +// UlViewSetChangeTitleCallback function as declared in Ultralight/CAPI.h:762 +func UlViewSetChangeTitleCallback(view ULView, callback ULChangeTitleCallback, userData unsafe.Pointer) { + cview, cviewAllocMap := *(*C.ULView)(unsafe.Pointer(&view)), cgoAllocsUnknown + ccallback, ccallbackAllocMap := callback.PassValue() + cuserData, cuserDataAllocMap := userData, cgoAllocsUnknown + C.ulViewSetChangeTitleCallback(cview, ccallback, cuserData) + runtime.KeepAlive(cuserDataAllocMap) + runtime.KeepAlive(ccallbackAllocMap) + runtime.KeepAlive(cviewAllocMap) +} + +// UlViewSetChangeURLCallback function as declared in Ultralight/CAPI.h:772 +func UlViewSetChangeURLCallback(view ULView, callback ULChangeURLCallback, userData unsafe.Pointer) { + cview, cviewAllocMap := *(*C.ULView)(unsafe.Pointer(&view)), cgoAllocsUnknown + ccallback, ccallbackAllocMap := callback.PassValue() + cuserData, cuserDataAllocMap := userData, cgoAllocsUnknown + C.ulViewSetChangeURLCallback(cview, ccallback, cuserData) + runtime.KeepAlive(cuserDataAllocMap) + runtime.KeepAlive(ccallbackAllocMap) + runtime.KeepAlive(cviewAllocMap) +} + +// UlViewSetChangeTooltipCallback function as declared in Ultralight/CAPI.h:782 +func UlViewSetChangeTooltipCallback(view ULView, callback ULChangeTooltipCallback, userData unsafe.Pointer) { + cview, cviewAllocMap := *(*C.ULView)(unsafe.Pointer(&view)), cgoAllocsUnknown + ccallback, ccallbackAllocMap := callback.PassValue() + cuserData, cuserDataAllocMap := userData, cgoAllocsUnknown + C.ulViewSetChangeTooltipCallback(cview, ccallback, cuserData) + runtime.KeepAlive(cuserDataAllocMap) + runtime.KeepAlive(ccallbackAllocMap) + runtime.KeepAlive(cviewAllocMap) +} + +// UlViewSetChangeCursorCallback function as declared in Ultralight/CAPI.h:792 +func UlViewSetChangeCursorCallback(view ULView, callback ULChangeCursorCallback, userData unsafe.Pointer) { + cview, cviewAllocMap := *(*C.ULView)(unsafe.Pointer(&view)), cgoAllocsUnknown + ccallback, ccallbackAllocMap := callback.PassValue() + cuserData, cuserDataAllocMap := userData, cgoAllocsUnknown + C.ulViewSetChangeCursorCallback(cview, ccallback, cuserData) + runtime.KeepAlive(cuserDataAllocMap) + runtime.KeepAlive(ccallbackAllocMap) + runtime.KeepAlive(cviewAllocMap) +} + +// UlViewSetAddConsoleMessageCallback function as declared in Ultralight/CAPI.h:807 +func UlViewSetAddConsoleMessageCallback(view ULView, callback ULAddConsoleMessageCallback, userData unsafe.Pointer) { + cview, cviewAllocMap := *(*C.ULView)(unsafe.Pointer(&view)), cgoAllocsUnknown + ccallback, ccallbackAllocMap := callback.PassValue() + cuserData, cuserDataAllocMap := userData, cgoAllocsUnknown + C.ulViewSetAddConsoleMessageCallback(cview, ccallback, cuserData) + runtime.KeepAlive(cuserDataAllocMap) + runtime.KeepAlive(ccallbackAllocMap) + runtime.KeepAlive(cviewAllocMap) +} + +// UlViewSetCreateChildViewCallback function as declared in Ultralight/CAPI.h:828 +func UlViewSetCreateChildViewCallback(view ULView, callback ULCreateChildViewCallback, userData unsafe.Pointer) { + cview, cviewAllocMap := *(*C.ULView)(unsafe.Pointer(&view)), cgoAllocsUnknown + ccallback, ccallbackAllocMap := callback.PassValue() + cuserData, cuserDataAllocMap := userData, cgoAllocsUnknown + C.ulViewSetCreateChildViewCallback(cview, ccallback, cuserData) + runtime.KeepAlive(cuserDataAllocMap) + runtime.KeepAlive(ccallbackAllocMap) + runtime.KeepAlive(cviewAllocMap) +} + +// UlViewSetBeginLoadingCallback function as declared in Ultralight/CAPI.h:839 +func UlViewSetBeginLoadingCallback(view ULView, callback ULBeginLoadingCallback, userData unsafe.Pointer) { + cview, cviewAllocMap := *(*C.ULView)(unsafe.Pointer(&view)), cgoAllocsUnknown + ccallback, ccallbackAllocMap := callback.PassValue() + cuserData, cuserDataAllocMap := userData, cgoAllocsUnknown + C.ulViewSetBeginLoadingCallback(cview, ccallback, cuserData) + runtime.KeepAlive(cuserDataAllocMap) + runtime.KeepAlive(ccallbackAllocMap) + runtime.KeepAlive(cviewAllocMap) +} + +// UlViewSetFinishLoadingCallback function as declared in Ultralight/CAPI.h:850 +func UlViewSetFinishLoadingCallback(view ULView, callback ULFinishLoadingCallback, userData unsafe.Pointer) { + cview, cviewAllocMap := *(*C.ULView)(unsafe.Pointer(&view)), cgoAllocsUnknown + ccallback, ccallbackAllocMap := callback.PassValue() + cuserData, cuserDataAllocMap := userData, cgoAllocsUnknown + C.ulViewSetFinishLoadingCallback(cview, ccallback, cuserData) + runtime.KeepAlive(cuserDataAllocMap) + runtime.KeepAlive(ccallbackAllocMap) + runtime.KeepAlive(cviewAllocMap) +} + +// UlViewSetFailLoadingCallback function as declared in Ultralight/CAPI.h:862 +func UlViewSetFailLoadingCallback(view ULView, callback ULFailLoadingCallback, userData unsafe.Pointer) { + cview, cviewAllocMap := *(*C.ULView)(unsafe.Pointer(&view)), cgoAllocsUnknown + ccallback, ccallbackAllocMap := callback.PassValue() + cuserData, cuserDataAllocMap := userData, cgoAllocsUnknown + C.ulViewSetFailLoadingCallback(cview, ccallback, cuserData) + runtime.KeepAlive(cuserDataAllocMap) + runtime.KeepAlive(ccallbackAllocMap) + runtime.KeepAlive(cviewAllocMap) +} + +// UlViewSetWindowObjectReadyCallback function as declared in Ultralight/CAPI.h:884 +func UlViewSetWindowObjectReadyCallback(view ULView, callback ULWindowObjectReadyCallback, userData unsafe.Pointer) { + cview, cviewAllocMap := *(*C.ULView)(unsafe.Pointer(&view)), cgoAllocsUnknown + ccallback, ccallbackAllocMap := callback.PassValue() + cuserData, cuserDataAllocMap := userData, cgoAllocsUnknown + C.ulViewSetWindowObjectReadyCallback(cview, ccallback, cuserData) + runtime.KeepAlive(cuserDataAllocMap) + runtime.KeepAlive(ccallbackAllocMap) + runtime.KeepAlive(cviewAllocMap) +} + +// UlViewSetDOMReadyCallback function as declared in Ultralight/CAPI.h:899 +func UlViewSetDOMReadyCallback(view ULView, callback ULDOMReadyCallback, userData unsafe.Pointer) { + cview, cviewAllocMap := *(*C.ULView)(unsafe.Pointer(&view)), cgoAllocsUnknown + ccallback, ccallbackAllocMap := callback.PassValue() + cuserData, cuserDataAllocMap := userData, cgoAllocsUnknown + C.ulViewSetDOMReadyCallback(cview, ccallback, cuserData) + runtime.KeepAlive(cuserDataAllocMap) + runtime.KeepAlive(ccallbackAllocMap) + runtime.KeepAlive(cviewAllocMap) +} + +// UlViewSetUpdateHistoryCallback function as declared in Ultralight/CAPI.h:909 +func UlViewSetUpdateHistoryCallback(view ULView, callback ULUpdateHistoryCallback, userData unsafe.Pointer) { + cview, cviewAllocMap := *(*C.ULView)(unsafe.Pointer(&view)), cgoAllocsUnknown + ccallback, ccallbackAllocMap := callback.PassValue() + cuserData, cuserDataAllocMap := userData, cgoAllocsUnknown + C.ulViewSetUpdateHistoryCallback(cview, ccallback, cuserData) + runtime.KeepAlive(cuserDataAllocMap) + runtime.KeepAlive(ccallbackAllocMap) + runtime.KeepAlive(cviewAllocMap) +} + +// UlViewSetNeedsPaint function as declared in Ultralight/CAPI.h:920 +func UlViewSetNeedsPaint(view ULView, needsPaint bool) { + cview, cviewAllocMap := *(*C.ULView)(unsafe.Pointer(&view)), cgoAllocsUnknown + cneedsPaint, cneedsPaintAllocMap := (C._Bool)(needsPaint), cgoAllocsUnknown + C.ulViewSetNeedsPaint(cview, cneedsPaint) + runtime.KeepAlive(cneedsPaintAllocMap) + runtime.KeepAlive(cviewAllocMap) +} + +// UlViewGetNeedsPaint function as declared in Ultralight/CAPI.h:925 +func UlViewGetNeedsPaint(view ULView) bool { + cview, cviewAllocMap := *(*C.ULView)(unsafe.Pointer(&view)), cgoAllocsUnknown + __ret := C.ulViewGetNeedsPaint(cview) + runtime.KeepAlive(cviewAllocMap) + __v := (bool)(__ret) + return __v +} + +// UlViewCreateInspectorView function as declared in Ultralight/CAPI.h:940 func UlViewCreateInspectorView(view ULView) ULView { - cview, _ := *(*C.ULView)(unsafe.Pointer(&view)), cgoAllocsUnknown + cview, cviewAllocMap := *(*C.ULView)(unsafe.Pointer(&view)), cgoAllocsUnknown __ret := C.ulViewCreateInspectorView(cview) + runtime.KeepAlive(cviewAllocMap) __v := *(*ULView)(unsafe.Pointer(&__ret)) return __v } -// UlCreateString function as declared in Ultralight/CAPI.h:540 +// UlCreateString function as declared in Ultralight/CAPI.h:949 func UlCreateString(str string) ULString { str = safeString(str) - cstr, _ := unpackPCharString(str) + cstr, cstrAllocMap := unpackPCharString(str) __ret := C.ulCreateString(cstr) runtime.KeepAlive(str) + runtime.KeepAlive(cstrAllocMap) __v := *(*ULString)(unsafe.Pointer(&__ret)) return __v } -// UlCreateStringUTF8 function as declared in Ultralight/CAPI.h:545 -func UlCreateStringUTF8(str string, len uint) ULString { +// UlCreateStringUTF8 function as declared in Ultralight/CAPI.h:954 +func UlCreateStringUTF8(str string, len uint32) ULString { str = safeString(str) - cstr, _ := unpackPCharString(str) - clen, _ := (C.size_t)(len), cgoAllocsUnknown + cstr, cstrAllocMap := unpackPCharString(str) + clen, clenAllocMap := (C.size_t)(len), cgoAllocsUnknown __ret := C.ulCreateStringUTF8(cstr, clen) + runtime.KeepAlive(clenAllocMap) runtime.KeepAlive(str) + runtime.KeepAlive(cstrAllocMap) __v := *(*ULString)(unsafe.Pointer(&__ret)) return __v } -// UlCreateStringUTF16 function as declared in Ultralight/CAPI.h:550 -func UlCreateStringUTF16(str []ULChar16, len uint) ULString { - cstr, _ := (*C.ULChar16)(unsafe.Pointer((*sliceHeader)(unsafe.Pointer(&str)).Data)), cgoAllocsUnknown - clen, _ := (C.size_t)(len), cgoAllocsUnknown +// UlCreateStringUTF16 function as declared in Ultralight/CAPI.h:959 +func UlCreateStringUTF16(str []ULChar16, len uint32) ULString { + cstr, cstrAllocMap := copyPULChar16Bytes((*sliceHeader)(unsafe.Pointer(&str))) + clen, clenAllocMap := (C.size_t)(len), cgoAllocsUnknown __ret := C.ulCreateStringUTF16(cstr, clen) + runtime.KeepAlive(clenAllocMap) + runtime.KeepAlive(cstrAllocMap) __v := *(*ULString)(unsafe.Pointer(&__ret)) return __v } -// UlDestroyString function as declared in Ultralight/CAPI.h:555 +// UlDestroyString function as declared in Ultralight/CAPI.h:969 func UlDestroyString(str ULString) { - cstr, _ := *(*C.ULString)(unsafe.Pointer(&str)), cgoAllocsUnknown + cstr, cstrAllocMap := *(*C.ULString)(unsafe.Pointer(&str)), cgoAllocsUnknown C.ulDestroyString(cstr) + runtime.KeepAlive(cstrAllocMap) } -// UlStringGetData function as declared in Ultralight/CAPI.h:560 +// UlStringGetData function as declared in Ultralight/CAPI.h:974 func UlStringGetData(str ULString) *ULChar16 { - cstr, _ := *(*C.ULString)(unsafe.Pointer(&str)), cgoAllocsUnknown + cstr, cstrAllocMap := *(*C.ULString)(unsafe.Pointer(&str)), cgoAllocsUnknown __ret := C.ulStringGetData(cstr) + runtime.KeepAlive(cstrAllocMap) __v := *(**ULChar16)(unsafe.Pointer(&__ret)) return __v } -// UlStringGetLength function as declared in Ultralight/CAPI.h:565 -func UlStringGetLength(str ULString) uint { - cstr, _ := *(*C.ULString)(unsafe.Pointer(&str)), cgoAllocsUnknown +// UlStringGetLength function as declared in Ultralight/CAPI.h:979 +func UlStringGetLength(str ULString) uint32 { + cstr, cstrAllocMap := *(*C.ULString)(unsafe.Pointer(&str)), cgoAllocsUnknown __ret := C.ulStringGetLength(cstr) - __v := (uint)(__ret) + runtime.KeepAlive(cstrAllocMap) + __v := (uint32)(__ret) return __v } -// UlStringIsEmpty function as declared in Ultralight/CAPI.h:570 +// UlStringIsEmpty function as declared in Ultralight/CAPI.h:984 func UlStringIsEmpty(str ULString) bool { - cstr, _ := *(*C.ULString)(unsafe.Pointer(&str)), cgoAllocsUnknown + cstr, cstrAllocMap := *(*C.ULString)(unsafe.Pointer(&str)), cgoAllocsUnknown __ret := C.ulStringIsEmpty(cstr) + runtime.KeepAlive(cstrAllocMap) __v := (bool)(__ret) return __v } -// UlCreateEmptyBitmap function as declared in Ultralight/CAPI.h:579 +// UlStringAssignString function as declared in Ultralight/CAPI.h:989 +func UlStringAssignString(str ULString, newStr ULString) { + cstr, cstrAllocMap := *(*C.ULString)(unsafe.Pointer(&str)), cgoAllocsUnknown + cnewStr, cnewStrAllocMap := *(*C.ULString)(unsafe.Pointer(&newStr)), cgoAllocsUnknown + C.ulStringAssignString(cstr, cnewStr) + runtime.KeepAlive(cnewStrAllocMap) + runtime.KeepAlive(cstrAllocMap) +} + +// UlStringAssignCString function as declared in Ultralight/CAPI.h:994 +func UlStringAssignCString(str ULString, cStr string) { + cstr, cstrAllocMap := *(*C.ULString)(unsafe.Pointer(&str)), cgoAllocsUnknown + cStr = safeString(cStr) + ccStr, ccStrAllocMap := unpackPCharString(cStr) + C.ulStringAssignCString(cstr, ccStr) + runtime.KeepAlive(cStr) + runtime.KeepAlive(ccStrAllocMap) + runtime.KeepAlive(cstrAllocMap) +} + +// UlCreateEmptyBitmap function as declared in Ultralight/CAPI.h:1003 func UlCreateEmptyBitmap() ULBitmap { __ret := C.ulCreateEmptyBitmap() __v := *(*ULBitmap)(unsafe.Pointer(&__ret)) return __v } -// UlCreateBitmap function as declared in Ultralight/CAPI.h:584 +// UlCreateBitmap function as declared in Ultralight/CAPI.h:1008 func UlCreateBitmap(width uint32, height uint32, format ULBitmapFormat) ULBitmap { - cwidth, _ := (C.uint)(width), cgoAllocsUnknown - cheight, _ := (C.uint)(height), cgoAllocsUnknown - cformat, _ := (C.ULBitmapFormat)(format), cgoAllocsUnknown + cwidth, cwidthAllocMap := (C.uint)(width), cgoAllocsUnknown + cheight, cheightAllocMap := (C.uint)(height), cgoAllocsUnknown + cformat, cformatAllocMap := (C.ULBitmapFormat)(format), cgoAllocsUnknown __ret := C.ulCreateBitmap(cwidth, cheight, cformat) + runtime.KeepAlive(cformatAllocMap) + runtime.KeepAlive(cheightAllocMap) + runtime.KeepAlive(cwidthAllocMap) __v := *(*ULBitmap)(unsafe.Pointer(&__ret)) return __v } -// UlCreateBitmapFromPixels function as declared in Ultralight/CAPI.h:591 -func UlCreateBitmapFromPixels(width uint32, height uint32, format ULBitmapFormat, row_bytes uint32, pixels unsafe.Pointer, size uint, should_copy bool) ULBitmap { - cwidth, _ := (C.uint)(width), cgoAllocsUnknown - cheight, _ := (C.uint)(height), cgoAllocsUnknown - cformat, _ := (C.ULBitmapFormat)(format), cgoAllocsUnknown - crow_bytes, _ := (C.uint)(row_bytes), cgoAllocsUnknown - cpixels, _ := pixels, cgoAllocsUnknown - csize, _ := (C.size_t)(size), cgoAllocsUnknown - cshould_copy, _ := (C._Bool)(should_copy), cgoAllocsUnknown - __ret := C.ulCreateBitmapFromPixels(cwidth, cheight, cformat, crow_bytes, cpixels, csize, cshould_copy) +// UlCreateBitmapFromPixels function as declared in Ultralight/CAPI.h:1015 +func UlCreateBitmapFromPixels(width uint32, height uint32, format ULBitmapFormat, rowBytes uint32, pixels unsafe.Pointer, size uint32, shouldCopy bool) ULBitmap { + cwidth, cwidthAllocMap := (C.uint)(width), cgoAllocsUnknown + cheight, cheightAllocMap := (C.uint)(height), cgoAllocsUnknown + cformat, cformatAllocMap := (C.ULBitmapFormat)(format), cgoAllocsUnknown + crowBytes, crowBytesAllocMap := (C.uint)(rowBytes), cgoAllocsUnknown + cpixels, cpixelsAllocMap := pixels, cgoAllocsUnknown + csize, csizeAllocMap := (C.size_t)(size), cgoAllocsUnknown + cshouldCopy, cshouldCopyAllocMap := (C._Bool)(shouldCopy), cgoAllocsUnknown + __ret := C.ulCreateBitmapFromPixels(cwidth, cheight, cformat, crowBytes, cpixels, csize, cshouldCopy) + runtime.KeepAlive(cshouldCopyAllocMap) + runtime.KeepAlive(csizeAllocMap) + runtime.KeepAlive(cpixelsAllocMap) + runtime.KeepAlive(crowBytesAllocMap) + runtime.KeepAlive(cformatAllocMap) + runtime.KeepAlive(cheightAllocMap) + runtime.KeepAlive(cwidthAllocMap) __v := *(*ULBitmap)(unsafe.Pointer(&__ret)) return __v } -// UlCreateBitmapFromCopy function as declared in Ultralight/CAPI.h:601 -func UlCreateBitmapFromCopy(existing_bitmap ULBitmap) ULBitmap { - cexisting_bitmap, _ := *(*C.ULBitmap)(unsafe.Pointer(&existing_bitmap)), cgoAllocsUnknown - __ret := C.ulCreateBitmapFromCopy(cexisting_bitmap) +// UlCreateBitmapFromCopy function as declared in Ultralight/CAPI.h:1025 +func UlCreateBitmapFromCopy(existingBitmap ULBitmap) ULBitmap { + cexistingBitmap, cexistingBitmapAllocMap := *(*C.ULBitmap)(unsafe.Pointer(&existingBitmap)), cgoAllocsUnknown + __ret := C.ulCreateBitmapFromCopy(cexistingBitmap) + runtime.KeepAlive(cexistingBitmapAllocMap) __v := *(*ULBitmap)(unsafe.Pointer(&__ret)) return __v } -// UlDestroyBitmap function as declared in Ultralight/CAPI.h:607 +// UlDestroyBitmap function as declared in Ultralight/CAPI.h:1031 func UlDestroyBitmap(bitmap ULBitmap) { - cbitmap, _ := *(*C.ULBitmap)(unsafe.Pointer(&bitmap)), cgoAllocsUnknown + cbitmap, cbitmapAllocMap := *(*C.ULBitmap)(unsafe.Pointer(&bitmap)), cgoAllocsUnknown C.ulDestroyBitmap(cbitmap) + runtime.KeepAlive(cbitmapAllocMap) } -// UlBitmapGetWidth function as declared in Ultralight/CAPI.h:612 +// UlBitmapGetWidth function as declared in Ultralight/CAPI.h:1036 func UlBitmapGetWidth(bitmap ULBitmap) uint32 { - cbitmap, _ := *(*C.ULBitmap)(unsafe.Pointer(&bitmap)), cgoAllocsUnknown + cbitmap, cbitmapAllocMap := *(*C.ULBitmap)(unsafe.Pointer(&bitmap)), cgoAllocsUnknown __ret := C.ulBitmapGetWidth(cbitmap) + runtime.KeepAlive(cbitmapAllocMap) __v := (uint32)(__ret) return __v } -// UlBitmapGetHeight function as declared in Ultralight/CAPI.h:617 +// UlBitmapGetHeight function as declared in Ultralight/CAPI.h:1041 func UlBitmapGetHeight(bitmap ULBitmap) uint32 { - cbitmap, _ := *(*C.ULBitmap)(unsafe.Pointer(&bitmap)), cgoAllocsUnknown + cbitmap, cbitmapAllocMap := *(*C.ULBitmap)(unsafe.Pointer(&bitmap)), cgoAllocsUnknown __ret := C.ulBitmapGetHeight(cbitmap) + runtime.KeepAlive(cbitmapAllocMap) __v := (uint32)(__ret) return __v } -// UlBitmapGetFormat function as declared in Ultralight/CAPI.h:622 +// UlBitmapGetFormat function as declared in Ultralight/CAPI.h:1046 func UlBitmapGetFormat(bitmap ULBitmap) ULBitmapFormat { - cbitmap, _ := *(*C.ULBitmap)(unsafe.Pointer(&bitmap)), cgoAllocsUnknown + cbitmap, cbitmapAllocMap := *(*C.ULBitmap)(unsafe.Pointer(&bitmap)), cgoAllocsUnknown __ret := C.ulBitmapGetFormat(cbitmap) + runtime.KeepAlive(cbitmapAllocMap) __v := (ULBitmapFormat)(__ret) return __v } -// UlBitmapGetBpp function as declared in Ultralight/CAPI.h:627 +// UlBitmapGetBpp function as declared in Ultralight/CAPI.h:1051 func UlBitmapGetBpp(bitmap ULBitmap) uint32 { - cbitmap, _ := *(*C.ULBitmap)(unsafe.Pointer(&bitmap)), cgoAllocsUnknown + cbitmap, cbitmapAllocMap := *(*C.ULBitmap)(unsafe.Pointer(&bitmap)), cgoAllocsUnknown __ret := C.ulBitmapGetBpp(cbitmap) + runtime.KeepAlive(cbitmapAllocMap) __v := (uint32)(__ret) return __v } -// UlBitmapGetRowBytes function as declared in Ultralight/CAPI.h:632 +// UlBitmapGetRowBytes function as declared in Ultralight/CAPI.h:1056 func UlBitmapGetRowBytes(bitmap ULBitmap) uint32 { - cbitmap, _ := *(*C.ULBitmap)(unsafe.Pointer(&bitmap)), cgoAllocsUnknown + cbitmap, cbitmapAllocMap := *(*C.ULBitmap)(unsafe.Pointer(&bitmap)), cgoAllocsUnknown __ret := C.ulBitmapGetRowBytes(cbitmap) + runtime.KeepAlive(cbitmapAllocMap) __v := (uint32)(__ret) return __v } -// UlBitmapGetSize function as declared in Ultralight/CAPI.h:637 -func UlBitmapGetSize(bitmap ULBitmap) uint { - cbitmap, _ := *(*C.ULBitmap)(unsafe.Pointer(&bitmap)), cgoAllocsUnknown +// UlBitmapGetSize function as declared in Ultralight/CAPI.h:1061 +func UlBitmapGetSize(bitmap ULBitmap) uint32 { + cbitmap, cbitmapAllocMap := *(*C.ULBitmap)(unsafe.Pointer(&bitmap)), cgoAllocsUnknown __ret := C.ulBitmapGetSize(cbitmap) - __v := (uint)(__ret) + runtime.KeepAlive(cbitmapAllocMap) + __v := (uint32)(__ret) return __v } -// UlBitmapOwnsPixels function as declared in Ultralight/CAPI.h:642 +// UlBitmapOwnsPixels function as declared in Ultralight/CAPI.h:1066 func UlBitmapOwnsPixels(bitmap ULBitmap) bool { - cbitmap, _ := *(*C.ULBitmap)(unsafe.Pointer(&bitmap)), cgoAllocsUnknown + cbitmap, cbitmapAllocMap := *(*C.ULBitmap)(unsafe.Pointer(&bitmap)), cgoAllocsUnknown __ret := C.ulBitmapOwnsPixels(cbitmap) + runtime.KeepAlive(cbitmapAllocMap) __v := (bool)(__ret) return __v } -// UlBitmapLockPixels function as declared in Ultralight/CAPI.h:647 +// UlBitmapLockPixels function as declared in Ultralight/CAPI.h:1071 func UlBitmapLockPixels(bitmap ULBitmap) unsafe.Pointer { - cbitmap, _ := *(*C.ULBitmap)(unsafe.Pointer(&bitmap)), cgoAllocsUnknown + cbitmap, cbitmapAllocMap := *(*C.ULBitmap)(unsafe.Pointer(&bitmap)), cgoAllocsUnknown __ret := C.ulBitmapLockPixels(cbitmap) + runtime.KeepAlive(cbitmapAllocMap) __v := *(*unsafe.Pointer)(unsafe.Pointer(&__ret)) return __v } -// UlBitmapUnlockPixels function as declared in Ultralight/CAPI.h:652 +// UlBitmapUnlockPixels function as declared in Ultralight/CAPI.h:1076 func UlBitmapUnlockPixels(bitmap ULBitmap) { - cbitmap, _ := *(*C.ULBitmap)(unsafe.Pointer(&bitmap)), cgoAllocsUnknown + cbitmap, cbitmapAllocMap := *(*C.ULBitmap)(unsafe.Pointer(&bitmap)), cgoAllocsUnknown C.ulBitmapUnlockPixels(cbitmap) + runtime.KeepAlive(cbitmapAllocMap) } -// UlBitmapRawPixels function as declared in Ultralight/CAPI.h:658 +// UlBitmapRawPixels function as declared in Ultralight/CAPI.h:1082 func UlBitmapRawPixels(bitmap ULBitmap) unsafe.Pointer { - cbitmap, _ := *(*C.ULBitmap)(unsafe.Pointer(&bitmap)), cgoAllocsUnknown + cbitmap, cbitmapAllocMap := *(*C.ULBitmap)(unsafe.Pointer(&bitmap)), cgoAllocsUnknown __ret := C.ulBitmapRawPixels(cbitmap) + runtime.KeepAlive(cbitmapAllocMap) __v := *(*unsafe.Pointer)(unsafe.Pointer(&__ret)) return __v } -// UlBitmapIsEmpty function as declared in Ultralight/CAPI.h:663 +// UlBitmapIsEmpty function as declared in Ultralight/CAPI.h:1087 func UlBitmapIsEmpty(bitmap ULBitmap) bool { - cbitmap, _ := *(*C.ULBitmap)(unsafe.Pointer(&bitmap)), cgoAllocsUnknown + cbitmap, cbitmapAllocMap := *(*C.ULBitmap)(unsafe.Pointer(&bitmap)), cgoAllocsUnknown __ret := C.ulBitmapIsEmpty(cbitmap) + runtime.KeepAlive(cbitmapAllocMap) __v := (bool)(__ret) return __v } -// UlBitmapErase function as declared in Ultralight/CAPI.h:668 +// UlBitmapErase function as declared in Ultralight/CAPI.h:1092 func UlBitmapErase(bitmap ULBitmap) { - cbitmap, _ := *(*C.ULBitmap)(unsafe.Pointer(&bitmap)), cgoAllocsUnknown + cbitmap, cbitmapAllocMap := *(*C.ULBitmap)(unsafe.Pointer(&bitmap)), cgoAllocsUnknown C.ulBitmapErase(cbitmap) + runtime.KeepAlive(cbitmapAllocMap) } -// UlBitmapWritePNG function as declared in Ultralight/CAPI.h:673 +// UlBitmapWritePNG function as declared in Ultralight/CAPI.h:1097 func UlBitmapWritePNG(bitmap ULBitmap, path string) bool { - cbitmap, _ := *(*C.ULBitmap)(unsafe.Pointer(&bitmap)), cgoAllocsUnknown + cbitmap, cbitmapAllocMap := *(*C.ULBitmap)(unsafe.Pointer(&bitmap)), cgoAllocsUnknown path = safeString(path) - cpath, _ := unpackPCharString(path) + cpath, cpathAllocMap := unpackPCharString(path) __ret := C.ulBitmapWritePNG(cbitmap, cpath) runtime.KeepAlive(path) + runtime.KeepAlive(cpathAllocMap) + runtime.KeepAlive(cbitmapAllocMap) __v := (bool)(__ret) return __v } -// UlCreateKeyEvent function as declared in Ultralight/CAPI.h:682 -func UlCreateKeyEvent(_type ULKeyEventType, modifiers uint32, virtual_key_code int32, native_key_code int32, text ULString, unmodified_text ULString, is_keypad bool, is_auto_repeat bool, is_system_key bool) ULKeyEvent { - c_type, _ := (C.ULKeyEventType)(_type), cgoAllocsUnknown - cmodifiers, _ := (C.uint)(modifiers), cgoAllocsUnknown - cvirtual_key_code, _ := (C.int)(virtual_key_code), cgoAllocsUnknown - cnative_key_code, _ := (C.int)(native_key_code), cgoAllocsUnknown - ctext, _ := *(*C.ULString)(unsafe.Pointer(&text)), cgoAllocsUnknown - cunmodified_text, _ := *(*C.ULString)(unsafe.Pointer(&unmodified_text)), cgoAllocsUnknown - cis_keypad, _ := (C._Bool)(is_keypad), cgoAllocsUnknown - cis_auto_repeat, _ := (C._Bool)(is_auto_repeat), cgoAllocsUnknown - cis_system_key, _ := (C._Bool)(is_system_key), cgoAllocsUnknown - __ret := C.ulCreateKeyEvent(c_type, cmodifiers, cvirtual_key_code, cnative_key_code, ctext, cunmodified_text, cis_keypad, cis_auto_repeat, cis_system_key) +// UlBitmapSwapRedBlueChannels function as declared in Ultralight/CAPI.h:1103 +func UlBitmapSwapRedBlueChannels(bitmap ULBitmap) { + cbitmap, cbitmapAllocMap := *(*C.ULBitmap)(unsafe.Pointer(&bitmap)), cgoAllocsUnknown + C.ulBitmapSwapRedBlueChannels(cbitmap) + runtime.KeepAlive(cbitmapAllocMap) +} + +// UlCreateKeyEvent function as declared in Ultralight/CAPI.h:1112 +func UlCreateKeyEvent(kind ULKeyEventType, modifiers uint32, virtualKeyCode int32, nativeKeyCode int32, text ULString, unmodifiedText ULString, isKeypad bool, isAutoRepeat bool, isSystemKey bool) ULKeyEvent { + ckind, ckindAllocMap := (C.ULKeyEventType)(kind), cgoAllocsUnknown + cmodifiers, cmodifiersAllocMap := (C.uint)(modifiers), cgoAllocsUnknown + cvirtualKeyCode, cvirtualKeyCodeAllocMap := (C.int)(virtualKeyCode), cgoAllocsUnknown + cnativeKeyCode, cnativeKeyCodeAllocMap := (C.int)(nativeKeyCode), cgoAllocsUnknown + ctext, ctextAllocMap := *(*C.ULString)(unsafe.Pointer(&text)), cgoAllocsUnknown + cunmodifiedText, cunmodifiedTextAllocMap := *(*C.ULString)(unsafe.Pointer(&unmodifiedText)), cgoAllocsUnknown + cisKeypad, cisKeypadAllocMap := (C._Bool)(isKeypad), cgoAllocsUnknown + cisAutoRepeat, cisAutoRepeatAllocMap := (C._Bool)(isAutoRepeat), cgoAllocsUnknown + cisSystemKey, cisSystemKeyAllocMap := (C._Bool)(isSystemKey), cgoAllocsUnknown + __ret := C.ulCreateKeyEvent(ckind, cmodifiers, cvirtualKeyCode, cnativeKeyCode, ctext, cunmodifiedText, cisKeypad, cisAutoRepeat, cisSystemKey) + runtime.KeepAlive(cisSystemKeyAllocMap) + runtime.KeepAlive(cisAutoRepeatAllocMap) + runtime.KeepAlive(cisKeypadAllocMap) + runtime.KeepAlive(cunmodifiedTextAllocMap) + runtime.KeepAlive(ctextAllocMap) + runtime.KeepAlive(cnativeKeyCodeAllocMap) + runtime.KeepAlive(cvirtualKeyCodeAllocMap) + runtime.KeepAlive(cmodifiersAllocMap) + runtime.KeepAlive(ckindAllocMap) __v := *(*ULKeyEvent)(unsafe.Pointer(&__ret)) return __v } -// UlDestroyKeyEvent function as declared in Ultralight/CAPI.h:708 +// UlDestroyKeyEvent function as declared in Ultralight/CAPI.h:1138 func UlDestroyKeyEvent(evt ULKeyEvent) { - cevt, _ := *(*C.ULKeyEvent)(unsafe.Pointer(&evt)), cgoAllocsUnknown + cevt, cevtAllocMap := *(*C.ULKeyEvent)(unsafe.Pointer(&evt)), cgoAllocsUnknown C.ulDestroyKeyEvent(cevt) + runtime.KeepAlive(cevtAllocMap) } -// UlCreateMouseEvent function as declared in Ultralight/CAPI.h:717 -func UlCreateMouseEvent(_type ULMouseEventType, x int32, y int32, button ULMouseButton) ULMouseEvent { - c_type, _ := (C.ULMouseEventType)(_type), cgoAllocsUnknown - cx, _ := (C.int)(x), cgoAllocsUnknown - cy, _ := (C.int)(y), cgoAllocsUnknown - cbutton, _ := (C.ULMouseButton)(button), cgoAllocsUnknown - __ret := C.ulCreateMouseEvent(c_type, cx, cy, cbutton) +// UlCreateMouseEvent function as declared in Ultralight/CAPI.h:1147 +func UlCreateMouseEvent(kind ULMouseEventType, x int32, y int32, button ULMouseButton) ULMouseEvent { + ckind, ckindAllocMap := (C.ULMouseEventType)(kind), cgoAllocsUnknown + cx, cxAllocMap := (C.int)(x), cgoAllocsUnknown + cy, cyAllocMap := (C.int)(y), cgoAllocsUnknown + cbutton, cbuttonAllocMap := (C.ULMouseButton)(button), cgoAllocsUnknown + __ret := C.ulCreateMouseEvent(ckind, cx, cy, cbutton) + runtime.KeepAlive(cbuttonAllocMap) + runtime.KeepAlive(cyAllocMap) + runtime.KeepAlive(cxAllocMap) + runtime.KeepAlive(ckindAllocMap) __v := *(*ULMouseEvent)(unsafe.Pointer(&__ret)) return __v } -// UlDestroyMouseEvent function as declared in Ultralight/CAPI.h:723 +// UlDestroyMouseEvent function as declared in Ultralight/CAPI.h:1153 func UlDestroyMouseEvent(evt ULMouseEvent) { - cevt, _ := *(*C.ULMouseEvent)(unsafe.Pointer(&evt)), cgoAllocsUnknown + cevt, cevtAllocMap := *(*C.ULMouseEvent)(unsafe.Pointer(&evt)), cgoAllocsUnknown C.ulDestroyMouseEvent(cevt) + runtime.KeepAlive(cevtAllocMap) } -// UlCreateScrollEvent function as declared in Ultralight/CAPI.h:732 -func UlCreateScrollEvent(_type ULScrollEventType, delta_x int32, delta_y int32) ULScrollEvent { - c_type, _ := (C.ULScrollEventType)(_type), cgoAllocsUnknown - cdelta_x, _ := (C.int)(delta_x), cgoAllocsUnknown - cdelta_y, _ := (C.int)(delta_y), cgoAllocsUnknown - __ret := C.ulCreateScrollEvent(c_type, cdelta_x, cdelta_y) +// UlCreateScrollEvent function as declared in Ultralight/CAPI.h:1162 +func UlCreateScrollEvent(kind ULScrollEventType, deltaX int32, deltaY int32) ULScrollEvent { + ckind, ckindAllocMap := (C.ULScrollEventType)(kind), cgoAllocsUnknown + cdeltaX, cdeltaXAllocMap := (C.int)(deltaX), cgoAllocsUnknown + cdeltaY, cdeltaYAllocMap := (C.int)(deltaY), cgoAllocsUnknown + __ret := C.ulCreateScrollEvent(ckind, cdeltaX, cdeltaY) + runtime.KeepAlive(cdeltaYAllocMap) + runtime.KeepAlive(cdeltaXAllocMap) + runtime.KeepAlive(ckindAllocMap) __v := *(*ULScrollEvent)(unsafe.Pointer(&__ret)) return __v } -// UlDestroyScrollEvent function as declared in Ultralight/CAPI.h:738 +// UlDestroyScrollEvent function as declared in Ultralight/CAPI.h:1168 func UlDestroyScrollEvent(evt ULScrollEvent) { - cevt, _ := *(*C.ULScrollEvent)(unsafe.Pointer(&evt)), cgoAllocsUnknown + cevt, cevtAllocMap := *(*C.ULScrollEvent)(unsafe.Pointer(&evt)), cgoAllocsUnknown C.ulDestroyScrollEvent(cevt) + runtime.KeepAlive(cevtAllocMap) } -// JSEvaluateScript function as declared in JavaScriptCore/JSBase.h:106 -func JSEvaluateScript(ctx JSContextRef, script JSStringRef, thisObject JSObjectRef, sourceURL JSStringRef, startingLineNumber int32, exception []JSValueRef) JSValueRef { - cctx, _ := *(*C.JSContextRef)(unsafe.Pointer(&ctx)), cgoAllocsUnknown - cscript, _ := *(*C.JSStringRef)(unsafe.Pointer(&script)), cgoAllocsUnknown - cthisObject, _ := *(*C.JSObjectRef)(unsafe.Pointer(&thisObject)), cgoAllocsUnknown - csourceURL, _ := *(*C.JSStringRef)(unsafe.Pointer(&sourceURL)), cgoAllocsUnknown - cstartingLineNumber, _ := (C.int)(startingLineNumber), cgoAllocsUnknown - cexception, _ := (*C.JSValueRef)(unsafe.Pointer((*sliceHeader)(unsafe.Pointer(&exception)).Data)), cgoAllocsUnknown - __ret := C.JSEvaluateScript(cctx, cscript, cthisObject, csourceURL, cstartingLineNumber, cexception) - __v := *(*JSValueRef)(unsafe.Pointer(&__ret)) - return __v -} - -// JSCheckScriptSyntax function as declared in JavaScriptCore/JSBase.h:118 -func JSCheckScriptSyntax(ctx JSContextRef, script JSStringRef, sourceURL JSStringRef, startingLineNumber int32, exception []JSValueRef) bool { - cctx, _ := *(*C.JSContextRef)(unsafe.Pointer(&ctx)), cgoAllocsUnknown - cscript, _ := *(*C.JSStringRef)(unsafe.Pointer(&script)), cgoAllocsUnknown - csourceURL, _ := *(*C.JSStringRef)(unsafe.Pointer(&sourceURL)), cgoAllocsUnknown - cstartingLineNumber, _ := (C.int)(startingLineNumber), cgoAllocsUnknown - cexception, _ := (*C.JSValueRef)(unsafe.Pointer((*sliceHeader)(unsafe.Pointer(&exception)).Data)), cgoAllocsUnknown - __ret := C.JSCheckScriptSyntax(cctx, cscript, csourceURL, cstartingLineNumber, cexception) +// UlRectIsEmpty function as declared in Ultralight/CAPI.h:1177 +func UlRectIsEmpty(rect ULRect) bool { + crect, crectAllocMap := rect.PassValue() + __ret := C.ulRectIsEmpty(crect) + runtime.KeepAlive(crectAllocMap) __v := (bool)(__ret) return __v } -// JSGarbageCollect function as declared in JavaScriptCore/JSBase.h:133 -func JSGarbageCollect(ctx JSContextRef) { - cctx, _ := *(*C.JSContextRef)(unsafe.Pointer(&ctx)), cgoAllocsUnknown - C.JSGarbageCollect(cctx) +// UlRectMakeEmpty function as declared in Ultralight/CAPI.h:1182 +func UlRectMakeEmpty() ULRect { + __ret := C.ulRectMakeEmpty() + __v := *NewULRectRef(unsafe.Pointer(&__ret)) + return __v } -// JSContextGroupCreate function as declared in JavaScriptCore/JSContextRef.h:51 +// UlIntRectIsEmpty function as declared in Ultralight/CAPI.h:1191 +func UlIntRectIsEmpty(rect ULIntRect) bool { + crect, crectAllocMap := rect.PassValue() + __ret := C.ulIntRectIsEmpty(crect) + runtime.KeepAlive(crectAllocMap) + __v := (bool)(__ret) + return __v +} + +// UlIntRectMakeEmpty function as declared in Ultralight/CAPI.h:1196 +func UlIntRectMakeEmpty() ULIntRect { + __ret := C.ulIntRectMakeEmpty() + __v := *NewULIntRectRef(unsafe.Pointer(&__ret)) + return __v +} + +// UlSurfaceGetWidth function as declared in Ultralight/CAPI.h:1205 +func UlSurfaceGetWidth(surface ULSurface) uint32 { + csurface, csurfaceAllocMap := *(*C.ULSurface)(unsafe.Pointer(&surface)), cgoAllocsUnknown + __ret := C.ulSurfaceGetWidth(csurface) + runtime.KeepAlive(csurfaceAllocMap) + __v := (uint32)(__ret) + return __v +} + +// UlSurfaceGetHeight function as declared in Ultralight/CAPI.h:1210 +func UlSurfaceGetHeight(surface ULSurface) uint32 { + csurface, csurfaceAllocMap := *(*C.ULSurface)(unsafe.Pointer(&surface)), cgoAllocsUnknown + __ret := C.ulSurfaceGetHeight(csurface) + runtime.KeepAlive(csurfaceAllocMap) + __v := (uint32)(__ret) + return __v +} + +// UlSurfaceGetRowBytes function as declared in Ultralight/CAPI.h:1215 +func UlSurfaceGetRowBytes(surface ULSurface) uint32 { + csurface, csurfaceAllocMap := *(*C.ULSurface)(unsafe.Pointer(&surface)), cgoAllocsUnknown + __ret := C.ulSurfaceGetRowBytes(csurface) + runtime.KeepAlive(csurfaceAllocMap) + __v := (uint32)(__ret) + return __v +} + +// UlSurfaceGetSize function as declared in Ultralight/CAPI.h:1220 +func UlSurfaceGetSize(surface ULSurface) uint32 { + csurface, csurfaceAllocMap := *(*C.ULSurface)(unsafe.Pointer(&surface)), cgoAllocsUnknown + __ret := C.ulSurfaceGetSize(csurface) + runtime.KeepAlive(csurfaceAllocMap) + __v := (uint32)(__ret) + return __v +} + +// UlSurfaceLockPixels function as declared in Ultralight/CAPI.h:1228 +func UlSurfaceLockPixels(surface ULSurface) unsafe.Pointer { + csurface, csurfaceAllocMap := *(*C.ULSurface)(unsafe.Pointer(&surface)), cgoAllocsUnknown + __ret := C.ulSurfaceLockPixels(csurface) + runtime.KeepAlive(csurfaceAllocMap) + __v := *(*unsafe.Pointer)(unsafe.Pointer(&__ret)) + return __v +} + +// UlSurfaceUnlockPixels function as declared in Ultralight/CAPI.h:1233 +func UlSurfaceUnlockPixels(surface ULSurface) { + csurface, csurfaceAllocMap := *(*C.ULSurface)(unsafe.Pointer(&surface)), cgoAllocsUnknown + C.ulSurfaceUnlockPixels(csurface) + runtime.KeepAlive(csurfaceAllocMap) +} + +// UlSurfaceResize function as declared in Ultralight/CAPI.h:1240 +func UlSurfaceResize(surface ULSurface, width uint32, height uint32) { + csurface, csurfaceAllocMap := *(*C.ULSurface)(unsafe.Pointer(&surface)), cgoAllocsUnknown + cwidth, cwidthAllocMap := (C.uint)(width), cgoAllocsUnknown + cheight, cheightAllocMap := (C.uint)(height), cgoAllocsUnknown + C.ulSurfaceResize(csurface, cwidth, cheight) + runtime.KeepAlive(cheightAllocMap) + runtime.KeepAlive(cwidthAllocMap) + runtime.KeepAlive(csurfaceAllocMap) +} + +// UlSurfaceSetDirtyBounds function as declared in Ultralight/CAPI.h:1248 +func UlSurfaceSetDirtyBounds(surface ULSurface, bounds ULIntRect) { + csurface, csurfaceAllocMap := *(*C.ULSurface)(unsafe.Pointer(&surface)), cgoAllocsUnknown + cbounds, cboundsAllocMap := bounds.PassValue() + C.ulSurfaceSetDirtyBounds(csurface, cbounds) + runtime.KeepAlive(cboundsAllocMap) + runtime.KeepAlive(csurfaceAllocMap) +} + +// UlSurfaceGetDirtyBounds function as declared in Ultralight/CAPI.h:1268 +func UlSurfaceGetDirtyBounds(surface ULSurface) ULIntRect { + csurface, csurfaceAllocMap := *(*C.ULSurface)(unsafe.Pointer(&surface)), cgoAllocsUnknown + __ret := C.ulSurfaceGetDirtyBounds(csurface) + runtime.KeepAlive(csurfaceAllocMap) + __v := *NewULIntRectRef(unsafe.Pointer(&__ret)) + return __v +} + +// UlSurfaceClearDirtyBounds function as declared in Ultralight/CAPI.h:1275 +func UlSurfaceClearDirtyBounds(surface ULSurface) { + csurface, csurfaceAllocMap := *(*C.ULSurface)(unsafe.Pointer(&surface)), cgoAllocsUnknown + C.ulSurfaceClearDirtyBounds(csurface) + runtime.KeepAlive(csurfaceAllocMap) +} + +// UlSurfaceGetUserData function as declared in Ultralight/CAPI.h:1283 +func UlSurfaceGetUserData(surface ULSurface) unsafe.Pointer { + csurface, csurfaceAllocMap := *(*C.ULSurface)(unsafe.Pointer(&surface)), cgoAllocsUnknown + __ret := C.ulSurfaceGetUserData(csurface) + runtime.KeepAlive(csurfaceAllocMap) + __v := *(*unsafe.Pointer)(unsafe.Pointer(&__ret)) + return __v +} + +// UlBitmapSurfaceGetBitmap function as declared in Ultralight/CAPI.h:1295 +func UlBitmapSurfaceGetBitmap(surface ULBitmapSurface) ULBitmap { + csurface, csurfaceAllocMap := *(*C.ULBitmapSurface)(unsafe.Pointer(&surface)), cgoAllocsUnknown + __ret := C.ulBitmapSurfaceGetBitmap(csurface) + runtime.KeepAlive(csurfaceAllocMap) + __v := *(*ULBitmap)(unsafe.Pointer(&__ret)) + return __v +} + +// UlApplyProjection function as declared in Ultralight/CAPI.h:1816 +func UlApplyProjection(transform ULMatrix4x4, viewportWidth float32, viewportHeight float32, flipY bool) ULMatrix4x4 { + ctransform, ctransformAllocMap := transform.PassValue() + cviewportWidth, cviewportWidthAllocMap := (C.float)(viewportWidth), cgoAllocsUnknown + cviewportHeight, cviewportHeightAllocMap := (C.float)(viewportHeight), cgoAllocsUnknown + cflipY, cflipYAllocMap := (C._Bool)(flipY), cgoAllocsUnknown + __ret := C.ulApplyProjection(ctransform, cviewportWidth, cviewportHeight, cflipY) + runtime.KeepAlive(cflipYAllocMap) + runtime.KeepAlive(cviewportHeightAllocMap) + runtime.KeepAlive(cviewportWidthAllocMap) + runtime.KeepAlive(ctransformAllocMap) + __v := *NewULMatrix4x4Ref(unsafe.Pointer(&__ret)) + return __v +} + +// UlPlatformSetLogger function as declared in Ultralight/CAPI.h:1871 +func UlPlatformSetLogger(logger ULLogger) { + clogger, cloggerAllocMap := logger.PassValue() + C.ulPlatformSetLogger(clogger) + runtime.KeepAlive(cloggerAllocMap) +} + +// UlPlatformSetFileSystem function as declared in Ultralight/CAPI.h:1889 +func UlPlatformSetFileSystem(fileSystem ULFileSystem) { + cfileSystem, cfileSystemAllocMap := fileSystem.PassValue() + C.ulPlatformSetFileSystem(cfileSystem) + runtime.KeepAlive(cfileSystemAllocMap) +} + +// UlPlatformSetSurfaceDefinition function as declared in Ultralight/CAPI.h:1902 +func UlPlatformSetSurfaceDefinition(surfaceDefinition ULSurfaceDefinition) { + csurfaceDefinition, csurfaceDefinitionAllocMap := surfaceDefinition.PassValue() + C.ulPlatformSetSurfaceDefinition(csurfaceDefinition) + runtime.KeepAlive(csurfaceDefinitionAllocMap) +} + +// UlPlatformSetGPUDriver function as declared in Ultralight/CAPI.h:1917 +func UlPlatformSetGPUDriver(gpuDriver ULGPUDriver) { + cgpuDriver, cgpuDriverAllocMap := gpuDriver.PassValue() + C.ulPlatformSetGPUDriver(cgpuDriver) + runtime.KeepAlive(cgpuDriverAllocMap) +} + +// UlPlatformSetClipboard function as declared in Ultralight/CAPI.h:1930 +func UlPlatformSetClipboard(clipboard ULClipboard) { + cclipboard, cclipboardAllocMap := clipboard.PassValue() + C.ulPlatformSetClipboard(cclipboard) + runtime.KeepAlive(cclipboardAllocMap) +} + +// JSEvaluateScript function as declared in JavaScriptCore/JSBase.h:113 +func JSEvaluateScript(ctx JSContextRef, script JSStringRef, thisObject JSObjectRef, sourceURL JSStringRef, startingLineNumber int32, exception []JSValueRef) JSValueRef { + cctx, cctxAllocMap := *(*C.JSContextRef)(unsafe.Pointer(&ctx)), cgoAllocsUnknown + cscript, cscriptAllocMap := *(*C.JSStringRef)(unsafe.Pointer(&script)), cgoAllocsUnknown + cthisObject, cthisObjectAllocMap := *(*C.JSObjectRef)(unsafe.Pointer(&thisObject)), cgoAllocsUnknown + csourceURL, csourceURLAllocMap := *(*C.JSStringRef)(unsafe.Pointer(&sourceURL)), cgoAllocsUnknown + cstartingLineNumber, cstartingLineNumberAllocMap := (C.int)(startingLineNumber), cgoAllocsUnknown + cexception, cexceptionAllocMap := copyPJSValueRefBytes((*sliceHeader)(unsafe.Pointer(&exception))) + __ret := C.JSEvaluateScript(cctx, cscript, cthisObject, csourceURL, cstartingLineNumber, cexception) + runtime.KeepAlive(cexceptionAllocMap) + runtime.KeepAlive(cstartingLineNumberAllocMap) + runtime.KeepAlive(csourceURLAllocMap) + runtime.KeepAlive(cthisObjectAllocMap) + runtime.KeepAlive(cscriptAllocMap) + runtime.KeepAlive(cctxAllocMap) + __v := *(*JSValueRef)(unsafe.Pointer(&__ret)) + return __v +} + +// JSCheckScriptSyntax function as declared in JavaScriptCore/JSBase.h:125 +func JSCheckScriptSyntax(ctx JSContextRef, script JSStringRef, sourceURL JSStringRef, startingLineNumber int32, exception []JSValueRef) bool { + cctx, cctxAllocMap := *(*C.JSContextRef)(unsafe.Pointer(&ctx)), cgoAllocsUnknown + cscript, cscriptAllocMap := *(*C.JSStringRef)(unsafe.Pointer(&script)), cgoAllocsUnknown + csourceURL, csourceURLAllocMap := *(*C.JSStringRef)(unsafe.Pointer(&sourceURL)), cgoAllocsUnknown + cstartingLineNumber, cstartingLineNumberAllocMap := (C.int)(startingLineNumber), cgoAllocsUnknown + cexception, cexceptionAllocMap := copyPJSValueRefBytes((*sliceHeader)(unsafe.Pointer(&exception))) + __ret := C.JSCheckScriptSyntax(cctx, cscript, csourceURL, cstartingLineNumber, cexception) + runtime.KeepAlive(cexceptionAllocMap) + runtime.KeepAlive(cstartingLineNumberAllocMap) + runtime.KeepAlive(csourceURLAllocMap) + runtime.KeepAlive(cscriptAllocMap) + runtime.KeepAlive(cctxAllocMap) + __v := (bool)(__ret) + return __v +} + +// JSGarbageCollect function as declared in JavaScriptCore/JSBase.h:140 +func JSGarbageCollect(ctx JSContextRef) { + cctx, cctxAllocMap := *(*C.JSContextRef)(unsafe.Pointer(&ctx)), cgoAllocsUnknown + C.JSGarbageCollect(cctx) + runtime.KeepAlive(cctxAllocMap) +} + +// JSContextGroupCreate function as declared in JavaScriptCore/JSContextRef.h:56 func JSContextGroupCreate() JSContextGroupRef { __ret := C.JSContextGroupCreate() __v := *(*JSContextGroupRef)(unsafe.Pointer(&__ret)) return __v } -// JSContextGroupRetain function as declared in JavaScriptCore/JSContextRef.h:59 +// JSContextGroupRetain function as declared in JavaScriptCore/JSContextRef.h:64 func JSContextGroupRetain(group JSContextGroupRef) JSContextGroupRef { - cgroup, _ := *(*C.JSContextGroupRef)(unsafe.Pointer(&group)), cgoAllocsUnknown + cgroup, cgroupAllocMap := *(*C.JSContextGroupRef)(unsafe.Pointer(&group)), cgoAllocsUnknown __ret := C.JSContextGroupRetain(cgroup) + runtime.KeepAlive(cgroupAllocMap) __v := *(*JSContextGroupRef)(unsafe.Pointer(&__ret)) return __v } -// JSContextGroupRelease function as declared in JavaScriptCore/JSContextRef.h:66 +// JSContextGroupRelease function as declared in JavaScriptCore/JSContextRef.h:71 func JSContextGroupRelease(group JSContextGroupRef) { - cgroup, _ := *(*C.JSContextGroupRef)(unsafe.Pointer(&group)), cgoAllocsUnknown + cgroup, cgroupAllocMap := *(*C.JSContextGroupRef)(unsafe.Pointer(&group)), cgoAllocsUnknown C.JSContextGroupRelease(cgroup) + runtime.KeepAlive(cgroupAllocMap) } -// JSGlobalContextCreate function as declared in JavaScriptCore/JSContextRef.h:81 +// JSGlobalContextCreate function as declared in JavaScriptCore/JSContextRef.h:86 func JSGlobalContextCreate(globalObjectClass JSClassRef) JSGlobalContextRef { - cglobalObjectClass, _ := *(*C.JSClassRef)(unsafe.Pointer(&globalObjectClass)), cgoAllocsUnknown + cglobalObjectClass, cglobalObjectClassAllocMap := *(*C.JSClassRef)(unsafe.Pointer(&globalObjectClass)), cgoAllocsUnknown __ret := C.JSGlobalContextCreate(cglobalObjectClass) + runtime.KeepAlive(cglobalObjectClassAllocMap) __v := *(*JSGlobalContextRef)(unsafe.Pointer(&__ret)) return __v } -// JSGlobalContextCreateInGroup function as declared in JavaScriptCore/JSContextRef.h:95 +// JSGlobalContextCreateInGroup function as declared in JavaScriptCore/JSContextRef.h:100 func JSGlobalContextCreateInGroup(group JSContextGroupRef, globalObjectClass JSClassRef) JSGlobalContextRef { - cgroup, _ := *(*C.JSContextGroupRef)(unsafe.Pointer(&group)), cgoAllocsUnknown - cglobalObjectClass, _ := *(*C.JSClassRef)(unsafe.Pointer(&globalObjectClass)), cgoAllocsUnknown + cgroup, cgroupAllocMap := *(*C.JSContextGroupRef)(unsafe.Pointer(&group)), cgoAllocsUnknown + cglobalObjectClass, cglobalObjectClassAllocMap := *(*C.JSClassRef)(unsafe.Pointer(&globalObjectClass)), cgoAllocsUnknown __ret := C.JSGlobalContextCreateInGroup(cgroup, cglobalObjectClass) + runtime.KeepAlive(cglobalObjectClassAllocMap) + runtime.KeepAlive(cgroupAllocMap) __v := *(*JSGlobalContextRef)(unsafe.Pointer(&__ret)) return __v } -// JSGlobalContextRetain function as declared in JavaScriptCore/JSContextRef.h:103 +// JSGlobalContextRetain function as declared in JavaScriptCore/JSContextRef.h:108 func JSGlobalContextRetain(ctx JSGlobalContextRef) JSGlobalContextRef { - cctx, _ := *(*C.JSGlobalContextRef)(unsafe.Pointer(&ctx)), cgoAllocsUnknown + cctx, cctxAllocMap := *(*C.JSGlobalContextRef)(unsafe.Pointer(&ctx)), cgoAllocsUnknown __ret := C.JSGlobalContextRetain(cctx) + runtime.KeepAlive(cctxAllocMap) __v := *(*JSGlobalContextRef)(unsafe.Pointer(&__ret)) return __v } -// JSGlobalContextRelease function as declared in JavaScriptCore/JSContextRef.h:110 +// JSGlobalContextRelease function as declared in JavaScriptCore/JSContextRef.h:115 func JSGlobalContextRelease(ctx JSGlobalContextRef) { - cctx, _ := *(*C.JSGlobalContextRef)(unsafe.Pointer(&ctx)), cgoAllocsUnknown + cctx, cctxAllocMap := *(*C.JSGlobalContextRef)(unsafe.Pointer(&ctx)), cgoAllocsUnknown C.JSGlobalContextRelease(cctx) + runtime.KeepAlive(cctxAllocMap) } -// JSContextGetGlobalObject function as declared in JavaScriptCore/JSContextRef.h:118 +// JSContextGetGlobalObject function as declared in JavaScriptCore/JSContextRef.h:123 func JSContextGetGlobalObject(ctx JSContextRef) JSObjectRef { - cctx, _ := *(*C.JSContextRef)(unsafe.Pointer(&ctx)), cgoAllocsUnknown + cctx, cctxAllocMap := *(*C.JSContextRef)(unsafe.Pointer(&ctx)), cgoAllocsUnknown __ret := C.JSContextGetGlobalObject(cctx) + runtime.KeepAlive(cctxAllocMap) __v := *(*JSObjectRef)(unsafe.Pointer(&__ret)) return __v } -// JSContextGetGroup function as declared in JavaScriptCore/JSContextRef.h:126 +// JSContextGetGroup function as declared in JavaScriptCore/JSContextRef.h:131 func JSContextGetGroup(ctx JSContextRef) JSContextGroupRef { - cctx, _ := *(*C.JSContextRef)(unsafe.Pointer(&ctx)), cgoAllocsUnknown + cctx, cctxAllocMap := *(*C.JSContextRef)(unsafe.Pointer(&ctx)), cgoAllocsUnknown __ret := C.JSContextGetGroup(cctx) + runtime.KeepAlive(cctxAllocMap) __v := *(*JSContextGroupRef)(unsafe.Pointer(&__ret)) return __v } -// JSContextGetGlobalContext function as declared in JavaScriptCore/JSContextRef.h:134 +// JSContextGetGlobalContext function as declared in JavaScriptCore/JSContextRef.h:139 func JSContextGetGlobalContext(ctx JSContextRef) JSGlobalContextRef { - cctx, _ := *(*C.JSContextRef)(unsafe.Pointer(&ctx)), cgoAllocsUnknown + cctx, cctxAllocMap := *(*C.JSContextRef)(unsafe.Pointer(&ctx)), cgoAllocsUnknown __ret := C.JSContextGetGlobalContext(cctx) + runtime.KeepAlive(cctxAllocMap) __v := *(*JSGlobalContextRef)(unsafe.Pointer(&__ret)) return __v } -// JSGlobalContextCopyName function as declared in JavaScriptCore/JSContextRef.h:144 +// JSGlobalContextCopyName function as declared in JavaScriptCore/JSContextRef.h:149 func JSGlobalContextCopyName(ctx JSGlobalContextRef) JSStringRef { - cctx, _ := *(*C.JSGlobalContextRef)(unsafe.Pointer(&ctx)), cgoAllocsUnknown + cctx, cctxAllocMap := *(*C.JSGlobalContextRef)(unsafe.Pointer(&ctx)), cgoAllocsUnknown __ret := C.JSGlobalContextCopyName(cctx) + runtime.KeepAlive(cctxAllocMap) __v := *(*JSStringRef)(unsafe.Pointer(&__ret)) return __v } -// JSGlobalContextSetName function as declared in JavaScriptCore/JSContextRef.h:152 +// JSGlobalContextSetName function as declared in JavaScriptCore/JSContextRef.h:157 func JSGlobalContextSetName(ctx JSGlobalContextRef, name JSStringRef) { - cctx, _ := *(*C.JSGlobalContextRef)(unsafe.Pointer(&ctx)), cgoAllocsUnknown - cname, _ := *(*C.JSStringRef)(unsafe.Pointer(&name)), cgoAllocsUnknown + cctx, cctxAllocMap := *(*C.JSGlobalContextRef)(unsafe.Pointer(&ctx)), cgoAllocsUnknown + cname, cnameAllocMap := *(*C.JSStringRef)(unsafe.Pointer(&name)), cgoAllocsUnknown C.JSGlobalContextSetName(cctx, cname) + runtime.KeepAlive(cnameAllocMap) + runtime.KeepAlive(cctxAllocMap) } var KJSClassDefinitionEmpty JSClassDefinition -// JSClassCreate function as declared in JavaScriptCore/JSObjectRef.h:382 +// JSClassCreate function as declared in JavaScriptCore/JSObjectRef.h:466 func JSClassCreate(definition []JSClassDefinition) JSClassRef { - cdefinition, _ := unpackArgSJSClassDefinition(definition) + cdefinition, cdefinitionAllocMap := unpackArgSJSClassDefinition(definition) __ret := C.JSClassCreate(cdefinition) packSJSClassDefinition(definition, cdefinition) + runtime.KeepAlive(cdefinitionAllocMap) __v := *(*JSClassRef)(unsafe.Pointer(&__ret)) return __v } -// JSClassRetain function as declared in JavaScriptCore/JSObjectRef.h:390 +// JSClassRetain function as declared in JavaScriptCore/JSObjectRef.h:474 func JSClassRetain(jsClass JSClassRef) JSClassRef { - cjsClass, _ := *(*C.JSClassRef)(unsafe.Pointer(&jsClass)), cgoAllocsUnknown + cjsClass, cjsClassAllocMap := *(*C.JSClassRef)(unsafe.Pointer(&jsClass)), cgoAllocsUnknown __ret := C.JSClassRetain(cjsClass) + runtime.KeepAlive(cjsClassAllocMap) __v := *(*JSClassRef)(unsafe.Pointer(&__ret)) return __v } -// JSClassRelease function as declared in JavaScriptCore/JSObjectRef.h:397 +// JSClassRelease function as declared in JavaScriptCore/JSObjectRef.h:481 func JSClassRelease(jsClass JSClassRef) { - cjsClass, _ := *(*C.JSClassRef)(unsafe.Pointer(&jsClass)), cgoAllocsUnknown + cjsClass, cjsClassAllocMap := *(*C.JSClassRef)(unsafe.Pointer(&jsClass)), cgoAllocsUnknown C.JSClassRelease(cjsClass) + runtime.KeepAlive(cjsClassAllocMap) } -// JSObjectMake function as declared in JavaScriptCore/JSObjectRef.h:410 -func JSObjectMake(ctx JSContextRef, jsClass JSClassRef, data unsafe.Pointer) JSObjectRef { - cctx, _ := *(*C.JSContextRef)(unsafe.Pointer(&ctx)), cgoAllocsUnknown - cjsClass, _ := *(*C.JSClassRef)(unsafe.Pointer(&jsClass)), cgoAllocsUnknown - cdata, _ := data, cgoAllocsUnknown - __ret := C.JSObjectMake(cctx, cjsClass, cdata) - __v := *(*JSObjectRef)(unsafe.Pointer(&__ret)) - return __v -} - -// JSObjectMakeFunctionWithCallback function as declared in JavaScriptCore/JSObjectRef.h:420 -func JSObjectMakeFunctionWithCallback(ctx JSContextRef, name JSStringRef, callAsFunction JSObjectCallAsFunctionCallback) JSObjectRef { - cctx, _ := *(*C.JSContextRef)(unsafe.Pointer(&ctx)), cgoAllocsUnknown - cname, _ := *(*C.JSStringRef)(unsafe.Pointer(&name)), cgoAllocsUnknown - ccallAsFunction, _ := callAsFunction.PassValue() - __ret := C.JSObjectMakeFunctionWithCallback(cctx, cname, ccallAsFunction) - __v := *(*JSObjectRef)(unsafe.Pointer(&__ret)) - return __v -} - -// JSObjectMakeConstructor function as declared in JavaScriptCore/JSObjectRef.h:431 -func JSObjectMakeConstructor(ctx JSContextRef, jsClass JSClassRef, callAsConstructor JSObjectCallAsConstructorCallback) JSObjectRef { - cctx, _ := *(*C.JSContextRef)(unsafe.Pointer(&ctx)), cgoAllocsUnknown - cjsClass, _ := *(*C.JSClassRef)(unsafe.Pointer(&jsClass)), cgoAllocsUnknown - ccallAsConstructor, _ := callAsConstructor.PassValue() - __ret := C.JSObjectMakeConstructor(cctx, cjsClass, ccallAsConstructor) - __v := *(*JSObjectRef)(unsafe.Pointer(&__ret)) - return __v -} - -// JSObjectMakeArray function as declared in JavaScriptCore/JSObjectRef.h:444 -func JSObjectMakeArray(ctx JSContextRef, argumentCount uint, arguments []JSValueRef, exception []JSValueRef) JSObjectRef { - cctx, _ := *(*C.JSContextRef)(unsafe.Pointer(&ctx)), cgoAllocsUnknown - cargumentCount, _ := (C.size_t)(argumentCount), cgoAllocsUnknown - carguments, _ := (*C.JSValueRef)(unsafe.Pointer((*sliceHeader)(unsafe.Pointer(&arguments)).Data)), cgoAllocsUnknown - cexception, _ := (*C.JSValueRef)(unsafe.Pointer((*sliceHeader)(unsafe.Pointer(&exception)).Data)), cgoAllocsUnknown - __ret := C.JSObjectMakeArray(cctx, cargumentCount, carguments, cexception) - __v := *(*JSObjectRef)(unsafe.Pointer(&__ret)) - return __v -} - -// JSObjectMakeDate function as declared in JavaScriptCore/JSObjectRef.h:455 -func JSObjectMakeDate(ctx JSContextRef, argumentCount uint, arguments []JSValueRef, exception []JSValueRef) JSObjectRef { - cctx, _ := *(*C.JSContextRef)(unsafe.Pointer(&ctx)), cgoAllocsUnknown - cargumentCount, _ := (C.size_t)(argumentCount), cgoAllocsUnknown - carguments, _ := (*C.JSValueRef)(unsafe.Pointer((*sliceHeader)(unsafe.Pointer(&arguments)).Data)), cgoAllocsUnknown - cexception, _ := (*C.JSValueRef)(unsafe.Pointer((*sliceHeader)(unsafe.Pointer(&exception)).Data)), cgoAllocsUnknown - __ret := C.JSObjectMakeDate(cctx, cargumentCount, carguments, cexception) - __v := *(*JSObjectRef)(unsafe.Pointer(&__ret)) - return __v -} - -// JSObjectMakeError function as declared in JavaScriptCore/JSObjectRef.h:466 -func JSObjectMakeError(ctx JSContextRef, argumentCount uint, arguments []JSValueRef, exception []JSValueRef) JSObjectRef { - cctx, _ := *(*C.JSContextRef)(unsafe.Pointer(&ctx)), cgoAllocsUnknown - cargumentCount, _ := (C.size_t)(argumentCount), cgoAllocsUnknown - carguments, _ := (*C.JSValueRef)(unsafe.Pointer((*sliceHeader)(unsafe.Pointer(&arguments)).Data)), cgoAllocsUnknown - cexception, _ := (*C.JSValueRef)(unsafe.Pointer((*sliceHeader)(unsafe.Pointer(&exception)).Data)), cgoAllocsUnknown - __ret := C.JSObjectMakeError(cctx, cargumentCount, carguments, cexception) - __v := *(*JSObjectRef)(unsafe.Pointer(&__ret)) - return __v -} - -// JSObjectMakeRegExp function as declared in JavaScriptCore/JSObjectRef.h:477 -func JSObjectMakeRegExp(ctx JSContextRef, argumentCount uint, arguments []JSValueRef, exception []JSValueRef) JSObjectRef { - cctx, _ := *(*C.JSContextRef)(unsafe.Pointer(&ctx)), cgoAllocsUnknown - cargumentCount, _ := (C.size_t)(argumentCount), cgoAllocsUnknown - carguments, _ := (*C.JSValueRef)(unsafe.Pointer((*sliceHeader)(unsafe.Pointer(&arguments)).Data)), cgoAllocsUnknown - cexception, _ := (*C.JSValueRef)(unsafe.Pointer((*sliceHeader)(unsafe.Pointer(&exception)).Data)), cgoAllocsUnknown - __ret := C.JSObjectMakeRegExp(cctx, cargumentCount, carguments, cexception) - __v := *(*JSObjectRef)(unsafe.Pointer(&__ret)) - return __v -} - -// JSObjectMakeFunction function as declared in JavaScriptCore/JSObjectRef.h:493 -func JSObjectMakeFunction(ctx JSContextRef, name JSStringRef, parameterCount uint32, parameterNames []JSStringRef, body JSStringRef, sourceURL JSStringRef, startingLineNumber int32, exception []JSValueRef) JSObjectRef { - cctx, _ := *(*C.JSContextRef)(unsafe.Pointer(&ctx)), cgoAllocsUnknown - cname, _ := *(*C.JSStringRef)(unsafe.Pointer(&name)), cgoAllocsUnknown - cparameterCount, _ := (C.uint)(parameterCount), cgoAllocsUnknown - cparameterNames, _ := (*C.JSStringRef)(unsafe.Pointer((*sliceHeader)(unsafe.Pointer(¶meterNames)).Data)), cgoAllocsUnknown - cbody, _ := *(*C.JSStringRef)(unsafe.Pointer(&body)), cgoAllocsUnknown - csourceURL, _ := *(*C.JSStringRef)(unsafe.Pointer(&sourceURL)), cgoAllocsUnknown - cstartingLineNumber, _ := (C.int)(startingLineNumber), cgoAllocsUnknown - cexception, _ := (*C.JSValueRef)(unsafe.Pointer((*sliceHeader)(unsafe.Pointer(&exception)).Data)), cgoAllocsUnknown - __ret := C.JSObjectMakeFunction(cctx, cname, cparameterCount, cparameterNames, cbody, csourceURL, cstartingLineNumber, cexception) - __v := *(*JSObjectRef)(unsafe.Pointer(&__ret)) - return __v -} - -// JSObjectGetPrototype function as declared in JavaScriptCore/JSObjectRef.h:502 -func JSObjectGetPrototype(ctx JSContextRef, object JSObjectRef) JSValueRef { - cctx, _ := *(*C.JSContextRef)(unsafe.Pointer(&ctx)), cgoAllocsUnknown - cobject, _ := *(*C.JSObjectRef)(unsafe.Pointer(&object)), cgoAllocsUnknown - __ret := C.JSObjectGetPrototype(cctx, cobject) - __v := *(*JSValueRef)(unsafe.Pointer(&__ret)) - return __v -} - -// JSObjectSetPrototype function as declared in JavaScriptCore/JSObjectRef.h:511 -func JSObjectSetPrototype(ctx JSContextRef, object JSObjectRef, value JSValueRef) { - cctx, _ := *(*C.JSContextRef)(unsafe.Pointer(&ctx)), cgoAllocsUnknown - cobject, _ := *(*C.JSObjectRef)(unsafe.Pointer(&object)), cgoAllocsUnknown - cvalue, _ := *(*C.JSValueRef)(unsafe.Pointer(&value)), cgoAllocsUnknown - C.JSObjectSetPrototype(cctx, cobject, cvalue) -} - -// JSObjectHasProperty function as declared in JavaScriptCore/JSObjectRef.h:520 -func JSObjectHasProperty(ctx JSContextRef, object JSObjectRef, propertyName JSStringRef) bool { - cctx, _ := *(*C.JSContextRef)(unsafe.Pointer(&ctx)), cgoAllocsUnknown - cobject, _ := *(*C.JSObjectRef)(unsafe.Pointer(&object)), cgoAllocsUnknown - cpropertyName, _ := *(*C.JSStringRef)(unsafe.Pointer(&propertyName)), cgoAllocsUnknown - __ret := C.JSObjectHasProperty(cctx, cobject, cpropertyName) - __v := (bool)(__ret) - return __v -} - -// JSObjectGetProperty function as declared in JavaScriptCore/JSObjectRef.h:531 -func JSObjectGetProperty(ctx JSContextRef, object JSObjectRef, propertyName JSStringRef, exception []JSValueRef) JSValueRef { - cctx, _ := *(*C.JSContextRef)(unsafe.Pointer(&ctx)), cgoAllocsUnknown - cobject, _ := *(*C.JSObjectRef)(unsafe.Pointer(&object)), cgoAllocsUnknown - cpropertyName, _ := *(*C.JSStringRef)(unsafe.Pointer(&propertyName)), cgoAllocsUnknown - cexception, _ := (*C.JSValueRef)(unsafe.Pointer((*sliceHeader)(unsafe.Pointer(&exception)).Data)), cgoAllocsUnknown - __ret := C.JSObjectGetProperty(cctx, cobject, cpropertyName, cexception) - __v := *(*JSValueRef)(unsafe.Pointer(&__ret)) - return __v -} - -// JSObjectSetProperty function as declared in JavaScriptCore/JSObjectRef.h:543 -func JSObjectSetProperty(ctx JSContextRef, object JSObjectRef, propertyName JSStringRef, value JSValueRef, attributes JSPropertyAttributes, exception []JSValueRef) { - cctx, _ := *(*C.JSContextRef)(unsafe.Pointer(&ctx)), cgoAllocsUnknown - cobject, _ := *(*C.JSObjectRef)(unsafe.Pointer(&object)), cgoAllocsUnknown - cpropertyName, _ := *(*C.JSStringRef)(unsafe.Pointer(&propertyName)), cgoAllocsUnknown - cvalue, _ := *(*C.JSValueRef)(unsafe.Pointer(&value)), cgoAllocsUnknown - cattributes, _ := (C.JSPropertyAttributes)(attributes), cgoAllocsUnknown - cexception, _ := (*C.JSValueRef)(unsafe.Pointer((*sliceHeader)(unsafe.Pointer(&exception)).Data)), cgoAllocsUnknown - C.JSObjectSetProperty(cctx, cobject, cpropertyName, cvalue, cattributes, cexception) -} - -// JSObjectDeleteProperty function as declared in JavaScriptCore/JSObjectRef.h:554 -func JSObjectDeleteProperty(ctx JSContextRef, object JSObjectRef, propertyName JSStringRef, exception []JSValueRef) bool { - cctx, _ := *(*C.JSContextRef)(unsafe.Pointer(&ctx)), cgoAllocsUnknown - cobject, _ := *(*C.JSObjectRef)(unsafe.Pointer(&object)), cgoAllocsUnknown - cpropertyName, _ := *(*C.JSStringRef)(unsafe.Pointer(&propertyName)), cgoAllocsUnknown - cexception, _ := (*C.JSValueRef)(unsafe.Pointer((*sliceHeader)(unsafe.Pointer(&exception)).Data)), cgoAllocsUnknown - __ret := C.JSObjectDeleteProperty(cctx, cobject, cpropertyName, cexception) - __v := (bool)(__ret) - return __v -} - -// JSObjectGetPropertyAtIndex function as declared in JavaScriptCore/JSObjectRef.h:566 -func JSObjectGetPropertyAtIndex(ctx JSContextRef, object JSObjectRef, propertyIndex uint32, exception []JSValueRef) JSValueRef { - cctx, _ := *(*C.JSContextRef)(unsafe.Pointer(&ctx)), cgoAllocsUnknown - cobject, _ := *(*C.JSObjectRef)(unsafe.Pointer(&object)), cgoAllocsUnknown - cpropertyIndex, _ := (C.uint)(propertyIndex), cgoAllocsUnknown - cexception, _ := (*C.JSValueRef)(unsafe.Pointer((*sliceHeader)(unsafe.Pointer(&exception)).Data)), cgoAllocsUnknown - __ret := C.JSObjectGetPropertyAtIndex(cctx, cobject, cpropertyIndex, cexception) - __v := *(*JSValueRef)(unsafe.Pointer(&__ret)) - return __v -} - -// JSObjectSetPropertyAtIndex function as declared in JavaScriptCore/JSObjectRef.h:578 -func JSObjectSetPropertyAtIndex(ctx JSContextRef, object JSObjectRef, propertyIndex uint32, value JSValueRef, exception []JSValueRef) { - cctx, _ := *(*C.JSContextRef)(unsafe.Pointer(&ctx)), cgoAllocsUnknown - cobject, _ := *(*C.JSObjectRef)(unsafe.Pointer(&object)), cgoAllocsUnknown - cpropertyIndex, _ := (C.uint)(propertyIndex), cgoAllocsUnknown - cvalue, _ := *(*C.JSValueRef)(unsafe.Pointer(&value)), cgoAllocsUnknown - cexception, _ := (*C.JSValueRef)(unsafe.Pointer((*sliceHeader)(unsafe.Pointer(&exception)).Data)), cgoAllocsUnknown - C.JSObjectSetPropertyAtIndex(cctx, cobject, cpropertyIndex, cvalue, cexception) -} - -// JSObjectGetPrivate function as declared in JavaScriptCore/JSObjectRef.h:586 -func JSObjectGetPrivate(object JSObjectRef) unsafe.Pointer { - cobject, _ := *(*C.JSObjectRef)(unsafe.Pointer(&object)), cgoAllocsUnknown - __ret := C.JSObjectGetPrivate(cobject) +// JSClassGetPrivate function as declared in JavaScriptCore/JSObjectRef.h:490 +func JSClassGetPrivate(jsClass JSClassRef) unsafe.Pointer { + cjsClass, cjsClassAllocMap := *(*C.JSClassRef)(unsafe.Pointer(&jsClass)), cgoAllocsUnknown + __ret := C.JSClassGetPrivate(cjsClass) + runtime.KeepAlive(cjsClassAllocMap) __v := *(*unsafe.Pointer)(unsafe.Pointer(&__ret)) return __v } -// JSObjectSetPrivate function as declared in JavaScriptCore/JSObjectRef.h:596 -func JSObjectSetPrivate(object JSObjectRef, data unsafe.Pointer) bool { - cobject, _ := *(*C.JSObjectRef)(unsafe.Pointer(&object)), cgoAllocsUnknown - cdata, _ := data, cgoAllocsUnknown - __ret := C.JSObjectSetPrivate(cobject, cdata) +// JSClassSetPrivate function as declared in JavaScriptCore/JSObjectRef.h:500 +func JSClassSetPrivate(jsClass JSClassRef, data unsafe.Pointer) bool { + cjsClass, cjsClassAllocMap := *(*C.JSClassRef)(unsafe.Pointer(&jsClass)), cgoAllocsUnknown + cdata, cdataAllocMap := data, cgoAllocsUnknown + __ret := C.JSClassSetPrivate(cjsClass, cdata) + runtime.KeepAlive(cdataAllocMap) + runtime.KeepAlive(cjsClassAllocMap) __v := (bool)(__ret) return __v } -// JSObjectIsFunction function as declared in JavaScriptCore/JSObjectRef.h:605 -func JSObjectIsFunction(ctx JSContextRef, object JSObjectRef) bool { - cctx, _ := *(*C.JSContextRef)(unsafe.Pointer(&ctx)), cgoAllocsUnknown - cobject, _ := *(*C.JSObjectRef)(unsafe.Pointer(&object)), cgoAllocsUnknown - __ret := C.JSObjectIsFunction(cctx, cobject) - __v := (bool)(__ret) - return __v -} - -// JSObjectCallAsFunction function as declared in JavaScriptCore/JSObjectRef.h:618 -func JSObjectCallAsFunction(ctx JSContextRef, object JSObjectRef, thisObject JSObjectRef, argumentCount uint, arguments []JSValueRef, exception []JSValueRef) JSValueRef { - cctx, _ := *(*C.JSContextRef)(unsafe.Pointer(&ctx)), cgoAllocsUnknown - cobject, _ := *(*C.JSObjectRef)(unsafe.Pointer(&object)), cgoAllocsUnknown - cthisObject, _ := *(*C.JSObjectRef)(unsafe.Pointer(&thisObject)), cgoAllocsUnknown - cargumentCount, _ := (C.size_t)(argumentCount), cgoAllocsUnknown - carguments, _ := (*C.JSValueRef)(unsafe.Pointer((*sliceHeader)(unsafe.Pointer(&arguments)).Data)), cgoAllocsUnknown - cexception, _ := (*C.JSValueRef)(unsafe.Pointer((*sliceHeader)(unsafe.Pointer(&exception)).Data)), cgoAllocsUnknown - __ret := C.JSObjectCallAsFunction(cctx, cobject, cthisObject, cargumentCount, carguments, cexception) - __v := *(*JSValueRef)(unsafe.Pointer(&__ret)) - return __v -} - -// JSObjectIsConstructor function as declared in JavaScriptCore/JSObjectRef.h:627 -func JSObjectIsConstructor(ctx JSContextRef, object JSObjectRef) bool { - cctx, _ := *(*C.JSContextRef)(unsafe.Pointer(&ctx)), cgoAllocsUnknown - cobject, _ := *(*C.JSObjectRef)(unsafe.Pointer(&object)), cgoAllocsUnknown - __ret := C.JSObjectIsConstructor(cctx, cobject) - __v := (bool)(__ret) - return __v -} - -// JSObjectCallAsConstructor function as declared in JavaScriptCore/JSObjectRef.h:639 -func JSObjectCallAsConstructor(ctx JSContextRef, object JSObjectRef, argumentCount uint, arguments []JSValueRef, exception []JSValueRef) JSObjectRef { - cctx, _ := *(*C.JSContextRef)(unsafe.Pointer(&ctx)), cgoAllocsUnknown - cobject, _ := *(*C.JSObjectRef)(unsafe.Pointer(&object)), cgoAllocsUnknown - cargumentCount, _ := (C.size_t)(argumentCount), cgoAllocsUnknown - carguments, _ := (*C.JSValueRef)(unsafe.Pointer((*sliceHeader)(unsafe.Pointer(&arguments)).Data)), cgoAllocsUnknown - cexception, _ := (*C.JSValueRef)(unsafe.Pointer((*sliceHeader)(unsafe.Pointer(&exception)).Data)), cgoAllocsUnknown - __ret := C.JSObjectCallAsConstructor(cctx, cobject, cargumentCount, carguments, cexception) +// JSObjectMake function as declared in JavaScriptCore/JSObjectRef.h:513 +func JSObjectMake(ctx JSContextRef, jsClass JSClassRef, data unsafe.Pointer) JSObjectRef { + cctx, cctxAllocMap := *(*C.JSContextRef)(unsafe.Pointer(&ctx)), cgoAllocsUnknown + cjsClass, cjsClassAllocMap := *(*C.JSClassRef)(unsafe.Pointer(&jsClass)), cgoAllocsUnknown + cdata, cdataAllocMap := data, cgoAllocsUnknown + __ret := C.JSObjectMake(cctx, cjsClass, cdata) + runtime.KeepAlive(cdataAllocMap) + runtime.KeepAlive(cjsClassAllocMap) + runtime.KeepAlive(cctxAllocMap) __v := *(*JSObjectRef)(unsafe.Pointer(&__ret)) return __v } -// JSObjectCopyPropertyNames function as declared in JavaScriptCore/JSObjectRef.h:648 +// JSObjectMakeFunctionWithCallback function as declared in JavaScriptCore/JSObjectRef.h:523 +func JSObjectMakeFunctionWithCallback(ctx JSContextRef, name JSStringRef, callAsFunction JSObjectCallAsFunctionCallback) JSObjectRef { + cctx, cctxAllocMap := *(*C.JSContextRef)(unsafe.Pointer(&ctx)), cgoAllocsUnknown + cname, cnameAllocMap := *(*C.JSStringRef)(unsafe.Pointer(&name)), cgoAllocsUnknown + ccallAsFunction, ccallAsFunctionAllocMap := callAsFunction.PassValue() + __ret := C.JSObjectMakeFunctionWithCallback(cctx, cname, ccallAsFunction) + runtime.KeepAlive(ccallAsFunctionAllocMap) + runtime.KeepAlive(cnameAllocMap) + runtime.KeepAlive(cctxAllocMap) + __v := *(*JSObjectRef)(unsafe.Pointer(&__ret)) + return __v +} + +// JSObjectMakeConstructor function as declared in JavaScriptCore/JSObjectRef.h:534 +func JSObjectMakeConstructor(ctx JSContextRef, jsClass JSClassRef, callAsConstructor JSObjectCallAsConstructorCallback) JSObjectRef { + cctx, cctxAllocMap := *(*C.JSContextRef)(unsafe.Pointer(&ctx)), cgoAllocsUnknown + cjsClass, cjsClassAllocMap := *(*C.JSClassRef)(unsafe.Pointer(&jsClass)), cgoAllocsUnknown + ccallAsConstructor, ccallAsConstructorAllocMap := callAsConstructor.PassValue() + __ret := C.JSObjectMakeConstructor(cctx, cjsClass, ccallAsConstructor) + runtime.KeepAlive(ccallAsConstructorAllocMap) + runtime.KeepAlive(cjsClassAllocMap) + runtime.KeepAlive(cctxAllocMap) + __v := *(*JSObjectRef)(unsafe.Pointer(&__ret)) + return __v +} + +// JSObjectMakeArray function as declared in JavaScriptCore/JSObjectRef.h:547 +func JSObjectMakeArray(ctx JSContextRef, argumentCount uint32, arguments []JSValueRef, exception []JSValueRef) JSObjectRef { + cctx, cctxAllocMap := *(*C.JSContextRef)(unsafe.Pointer(&ctx)), cgoAllocsUnknown + cargumentCount, cargumentCountAllocMap := (C.size_t)(argumentCount), cgoAllocsUnknown + carguments, cargumentsAllocMap := copyPJSValueRefBytes((*sliceHeader)(unsafe.Pointer(&arguments))) + cexception, cexceptionAllocMap := copyPJSValueRefBytes((*sliceHeader)(unsafe.Pointer(&exception))) + __ret := C.JSObjectMakeArray(cctx, cargumentCount, carguments, cexception) + runtime.KeepAlive(cexceptionAllocMap) + runtime.KeepAlive(cargumentsAllocMap) + runtime.KeepAlive(cargumentCountAllocMap) + runtime.KeepAlive(cctxAllocMap) + __v := *(*JSObjectRef)(unsafe.Pointer(&__ret)) + return __v +} + +// JSObjectMakeDate function as declared in JavaScriptCore/JSObjectRef.h:558 +func JSObjectMakeDate(ctx JSContextRef, argumentCount uint32, arguments []JSValueRef, exception []JSValueRef) JSObjectRef { + cctx, cctxAllocMap := *(*C.JSContextRef)(unsafe.Pointer(&ctx)), cgoAllocsUnknown + cargumentCount, cargumentCountAllocMap := (C.size_t)(argumentCount), cgoAllocsUnknown + carguments, cargumentsAllocMap := copyPJSValueRefBytes((*sliceHeader)(unsafe.Pointer(&arguments))) + cexception, cexceptionAllocMap := copyPJSValueRefBytes((*sliceHeader)(unsafe.Pointer(&exception))) + __ret := C.JSObjectMakeDate(cctx, cargumentCount, carguments, cexception) + runtime.KeepAlive(cexceptionAllocMap) + runtime.KeepAlive(cargumentsAllocMap) + runtime.KeepAlive(cargumentCountAllocMap) + runtime.KeepAlive(cctxAllocMap) + __v := *(*JSObjectRef)(unsafe.Pointer(&__ret)) + return __v +} + +// JSObjectMakeError function as declared in JavaScriptCore/JSObjectRef.h:569 +func JSObjectMakeError(ctx JSContextRef, argumentCount uint32, arguments []JSValueRef, exception []JSValueRef) JSObjectRef { + cctx, cctxAllocMap := *(*C.JSContextRef)(unsafe.Pointer(&ctx)), cgoAllocsUnknown + cargumentCount, cargumentCountAllocMap := (C.size_t)(argumentCount), cgoAllocsUnknown + carguments, cargumentsAllocMap := copyPJSValueRefBytes((*sliceHeader)(unsafe.Pointer(&arguments))) + cexception, cexceptionAllocMap := copyPJSValueRefBytes((*sliceHeader)(unsafe.Pointer(&exception))) + __ret := C.JSObjectMakeError(cctx, cargumentCount, carguments, cexception) + runtime.KeepAlive(cexceptionAllocMap) + runtime.KeepAlive(cargumentsAllocMap) + runtime.KeepAlive(cargumentCountAllocMap) + runtime.KeepAlive(cctxAllocMap) + __v := *(*JSObjectRef)(unsafe.Pointer(&__ret)) + return __v +} + +// JSObjectMakeRegExp function as declared in JavaScriptCore/JSObjectRef.h:580 +func JSObjectMakeRegExp(ctx JSContextRef, argumentCount uint32, arguments []JSValueRef, exception []JSValueRef) JSObjectRef { + cctx, cctxAllocMap := *(*C.JSContextRef)(unsafe.Pointer(&ctx)), cgoAllocsUnknown + cargumentCount, cargumentCountAllocMap := (C.size_t)(argumentCount), cgoAllocsUnknown + carguments, cargumentsAllocMap := copyPJSValueRefBytes((*sliceHeader)(unsafe.Pointer(&arguments))) + cexception, cexceptionAllocMap := copyPJSValueRefBytes((*sliceHeader)(unsafe.Pointer(&exception))) + __ret := C.JSObjectMakeRegExp(cctx, cargumentCount, carguments, cexception) + runtime.KeepAlive(cexceptionAllocMap) + runtime.KeepAlive(cargumentsAllocMap) + runtime.KeepAlive(cargumentCountAllocMap) + runtime.KeepAlive(cctxAllocMap) + __v := *(*JSObjectRef)(unsafe.Pointer(&__ret)) + return __v +} + +// JSObjectMakeDeferredPromise function as declared in JavaScriptCore/JSObjectRef.h:591 +func JSObjectMakeDeferredPromise(ctx JSContextRef, resolve []JSObjectRef, reject []JSObjectRef, exception []JSValueRef) JSObjectRef { + cctx, cctxAllocMap := *(*C.JSContextRef)(unsafe.Pointer(&ctx)), cgoAllocsUnknown + cresolve, cresolveAllocMap := copyPJSObjectRefBytes((*sliceHeader)(unsafe.Pointer(&resolve))) + creject, crejectAllocMap := copyPJSObjectRefBytes((*sliceHeader)(unsafe.Pointer(&reject))) + cexception, cexceptionAllocMap := copyPJSValueRefBytes((*sliceHeader)(unsafe.Pointer(&exception))) + __ret := C.JSObjectMakeDeferredPromise(cctx, cresolve, creject, cexception) + runtime.KeepAlive(cexceptionAllocMap) + runtime.KeepAlive(crejectAllocMap) + runtime.KeepAlive(cresolveAllocMap) + runtime.KeepAlive(cctxAllocMap) + __v := *(*JSObjectRef)(unsafe.Pointer(&__ret)) + return __v +} + +// JSObjectMakeFunction function as declared in JavaScriptCore/JSObjectRef.h:607 +func JSObjectMakeFunction(ctx JSContextRef, name JSStringRef, parameterCount uint32, parameterNames []JSStringRef, body JSStringRef, sourceURL JSStringRef, startingLineNumber int32, exception []JSValueRef) JSObjectRef { + cctx, cctxAllocMap := *(*C.JSContextRef)(unsafe.Pointer(&ctx)), cgoAllocsUnknown + cname, cnameAllocMap := *(*C.JSStringRef)(unsafe.Pointer(&name)), cgoAllocsUnknown + cparameterCount, cparameterCountAllocMap := (C.uint)(parameterCount), cgoAllocsUnknown + cparameterNames, cparameterNamesAllocMap := copyPJSStringRefBytes((*sliceHeader)(unsafe.Pointer(¶meterNames))) + cbody, cbodyAllocMap := *(*C.JSStringRef)(unsafe.Pointer(&body)), cgoAllocsUnknown + csourceURL, csourceURLAllocMap := *(*C.JSStringRef)(unsafe.Pointer(&sourceURL)), cgoAllocsUnknown + cstartingLineNumber, cstartingLineNumberAllocMap := (C.int)(startingLineNumber), cgoAllocsUnknown + cexception, cexceptionAllocMap := copyPJSValueRefBytes((*sliceHeader)(unsafe.Pointer(&exception))) + __ret := C.JSObjectMakeFunction(cctx, cname, cparameterCount, cparameterNames, cbody, csourceURL, cstartingLineNumber, cexception) + runtime.KeepAlive(cexceptionAllocMap) + runtime.KeepAlive(cstartingLineNumberAllocMap) + runtime.KeepAlive(csourceURLAllocMap) + runtime.KeepAlive(cbodyAllocMap) + runtime.KeepAlive(cparameterNamesAllocMap) + runtime.KeepAlive(cparameterCountAllocMap) + runtime.KeepAlive(cnameAllocMap) + runtime.KeepAlive(cctxAllocMap) + __v := *(*JSObjectRef)(unsafe.Pointer(&__ret)) + return __v +} + +// JSObjectGetPrototype function as declared in JavaScriptCore/JSObjectRef.h:616 +func JSObjectGetPrototype(ctx JSContextRef, object JSObjectRef) JSValueRef { + cctx, cctxAllocMap := *(*C.JSContextRef)(unsafe.Pointer(&ctx)), cgoAllocsUnknown + cobject, cobjectAllocMap := *(*C.JSObjectRef)(unsafe.Pointer(&object)), cgoAllocsUnknown + __ret := C.JSObjectGetPrototype(cctx, cobject) + runtime.KeepAlive(cobjectAllocMap) + runtime.KeepAlive(cctxAllocMap) + __v := *(*JSValueRef)(unsafe.Pointer(&__ret)) + return __v +} + +// JSObjectSetPrototype function as declared in JavaScriptCore/JSObjectRef.h:625 +func JSObjectSetPrototype(ctx JSContextRef, object JSObjectRef, value JSValueRef) { + cctx, cctxAllocMap := *(*C.JSContextRef)(unsafe.Pointer(&ctx)), cgoAllocsUnknown + cobject, cobjectAllocMap := *(*C.JSObjectRef)(unsafe.Pointer(&object)), cgoAllocsUnknown + cvalue, cvalueAllocMap := *(*C.JSValueRef)(unsafe.Pointer(&value)), cgoAllocsUnknown + C.JSObjectSetPrototype(cctx, cobject, cvalue) + runtime.KeepAlive(cvalueAllocMap) + runtime.KeepAlive(cobjectAllocMap) + runtime.KeepAlive(cctxAllocMap) +} + +// JSObjectHasProperty function as declared in JavaScriptCore/JSObjectRef.h:634 +func JSObjectHasProperty(ctx JSContextRef, object JSObjectRef, propertyName JSStringRef) bool { + cctx, cctxAllocMap := *(*C.JSContextRef)(unsafe.Pointer(&ctx)), cgoAllocsUnknown + cobject, cobjectAllocMap := *(*C.JSObjectRef)(unsafe.Pointer(&object)), cgoAllocsUnknown + cpropertyName, cpropertyNameAllocMap := *(*C.JSStringRef)(unsafe.Pointer(&propertyName)), cgoAllocsUnknown + __ret := C.JSObjectHasProperty(cctx, cobject, cpropertyName) + runtime.KeepAlive(cpropertyNameAllocMap) + runtime.KeepAlive(cobjectAllocMap) + runtime.KeepAlive(cctxAllocMap) + __v := (bool)(__ret) + return __v +} + +// JSObjectGetProperty function as declared in JavaScriptCore/JSObjectRef.h:645 +func JSObjectGetProperty(ctx JSContextRef, object JSObjectRef, propertyName JSStringRef, exception []JSValueRef) JSValueRef { + cctx, cctxAllocMap := *(*C.JSContextRef)(unsafe.Pointer(&ctx)), cgoAllocsUnknown + cobject, cobjectAllocMap := *(*C.JSObjectRef)(unsafe.Pointer(&object)), cgoAllocsUnknown + cpropertyName, cpropertyNameAllocMap := *(*C.JSStringRef)(unsafe.Pointer(&propertyName)), cgoAllocsUnknown + cexception, cexceptionAllocMap := copyPJSValueRefBytes((*sliceHeader)(unsafe.Pointer(&exception))) + __ret := C.JSObjectGetProperty(cctx, cobject, cpropertyName, cexception) + runtime.KeepAlive(cexceptionAllocMap) + runtime.KeepAlive(cpropertyNameAllocMap) + runtime.KeepAlive(cobjectAllocMap) + runtime.KeepAlive(cctxAllocMap) + __v := *(*JSValueRef)(unsafe.Pointer(&__ret)) + return __v +} + +// JSObjectSetProperty function as declared in JavaScriptCore/JSObjectRef.h:657 +func JSObjectSetProperty(ctx JSContextRef, object JSObjectRef, propertyName JSStringRef, value JSValueRef, attributes JSPropertyAttributes, exception []JSValueRef) { + cctx, cctxAllocMap := *(*C.JSContextRef)(unsafe.Pointer(&ctx)), cgoAllocsUnknown + cobject, cobjectAllocMap := *(*C.JSObjectRef)(unsafe.Pointer(&object)), cgoAllocsUnknown + cpropertyName, cpropertyNameAllocMap := *(*C.JSStringRef)(unsafe.Pointer(&propertyName)), cgoAllocsUnknown + cvalue, cvalueAllocMap := *(*C.JSValueRef)(unsafe.Pointer(&value)), cgoAllocsUnknown + cattributes, cattributesAllocMap := (C.JSPropertyAttributes)(attributes), cgoAllocsUnknown + cexception, cexceptionAllocMap := copyPJSValueRefBytes((*sliceHeader)(unsafe.Pointer(&exception))) + C.JSObjectSetProperty(cctx, cobject, cpropertyName, cvalue, cattributes, cexception) + runtime.KeepAlive(cexceptionAllocMap) + runtime.KeepAlive(cattributesAllocMap) + runtime.KeepAlive(cvalueAllocMap) + runtime.KeepAlive(cpropertyNameAllocMap) + runtime.KeepAlive(cobjectAllocMap) + runtime.KeepAlive(cctxAllocMap) +} + +// JSObjectDeleteProperty function as declared in JavaScriptCore/JSObjectRef.h:668 +func JSObjectDeleteProperty(ctx JSContextRef, object JSObjectRef, propertyName JSStringRef, exception []JSValueRef) bool { + cctx, cctxAllocMap := *(*C.JSContextRef)(unsafe.Pointer(&ctx)), cgoAllocsUnknown + cobject, cobjectAllocMap := *(*C.JSObjectRef)(unsafe.Pointer(&object)), cgoAllocsUnknown + cpropertyName, cpropertyNameAllocMap := *(*C.JSStringRef)(unsafe.Pointer(&propertyName)), cgoAllocsUnknown + cexception, cexceptionAllocMap := copyPJSValueRefBytes((*sliceHeader)(unsafe.Pointer(&exception))) + __ret := C.JSObjectDeleteProperty(cctx, cobject, cpropertyName, cexception) + runtime.KeepAlive(cexceptionAllocMap) + runtime.KeepAlive(cpropertyNameAllocMap) + runtime.KeepAlive(cobjectAllocMap) + runtime.KeepAlive(cctxAllocMap) + __v := (bool)(__ret) + return __v +} + +// JSObjectHasPropertyForKey function as declared in JavaScriptCore/JSObjectRef.h:679 +func JSObjectHasPropertyForKey(ctx JSContextRef, object JSObjectRef, propertyKey JSValueRef, exception []JSValueRef) bool { + cctx, cctxAllocMap := *(*C.JSContextRef)(unsafe.Pointer(&ctx)), cgoAllocsUnknown + cobject, cobjectAllocMap := *(*C.JSObjectRef)(unsafe.Pointer(&object)), cgoAllocsUnknown + cpropertyKey, cpropertyKeyAllocMap := *(*C.JSValueRef)(unsafe.Pointer(&propertyKey)), cgoAllocsUnknown + cexception, cexceptionAllocMap := copyPJSValueRefBytes((*sliceHeader)(unsafe.Pointer(&exception))) + __ret := C.JSObjectHasPropertyForKey(cctx, cobject, cpropertyKey, cexception) + runtime.KeepAlive(cexceptionAllocMap) + runtime.KeepAlive(cpropertyKeyAllocMap) + runtime.KeepAlive(cobjectAllocMap) + runtime.KeepAlive(cctxAllocMap) + __v := (bool)(__ret) + return __v +} + +// JSObjectGetPropertyForKey function as declared in JavaScriptCore/JSObjectRef.h:691 +func JSObjectGetPropertyForKey(ctx JSContextRef, object JSObjectRef, propertyKey JSValueRef, exception []JSValueRef) JSValueRef { + cctx, cctxAllocMap := *(*C.JSContextRef)(unsafe.Pointer(&ctx)), cgoAllocsUnknown + cobject, cobjectAllocMap := *(*C.JSObjectRef)(unsafe.Pointer(&object)), cgoAllocsUnknown + cpropertyKey, cpropertyKeyAllocMap := *(*C.JSValueRef)(unsafe.Pointer(&propertyKey)), cgoAllocsUnknown + cexception, cexceptionAllocMap := copyPJSValueRefBytes((*sliceHeader)(unsafe.Pointer(&exception))) + __ret := C.JSObjectGetPropertyForKey(cctx, cobject, cpropertyKey, cexception) + runtime.KeepAlive(cexceptionAllocMap) + runtime.KeepAlive(cpropertyKeyAllocMap) + runtime.KeepAlive(cobjectAllocMap) + runtime.KeepAlive(cctxAllocMap) + __v := *(*JSValueRef)(unsafe.Pointer(&__ret)) + return __v +} + +// JSObjectSetPropertyForKey function as declared in JavaScriptCore/JSObjectRef.h:704 +func JSObjectSetPropertyForKey(ctx JSContextRef, object JSObjectRef, propertyKey JSValueRef, value JSValueRef, attributes JSPropertyAttributes, exception []JSValueRef) { + cctx, cctxAllocMap := *(*C.JSContextRef)(unsafe.Pointer(&ctx)), cgoAllocsUnknown + cobject, cobjectAllocMap := *(*C.JSObjectRef)(unsafe.Pointer(&object)), cgoAllocsUnknown + cpropertyKey, cpropertyKeyAllocMap := *(*C.JSValueRef)(unsafe.Pointer(&propertyKey)), cgoAllocsUnknown + cvalue, cvalueAllocMap := *(*C.JSValueRef)(unsafe.Pointer(&value)), cgoAllocsUnknown + cattributes, cattributesAllocMap := (C.JSPropertyAttributes)(attributes), cgoAllocsUnknown + cexception, cexceptionAllocMap := copyPJSValueRefBytes((*sliceHeader)(unsafe.Pointer(&exception))) + C.JSObjectSetPropertyForKey(cctx, cobject, cpropertyKey, cvalue, cattributes, cexception) + runtime.KeepAlive(cexceptionAllocMap) + runtime.KeepAlive(cattributesAllocMap) + runtime.KeepAlive(cvalueAllocMap) + runtime.KeepAlive(cpropertyKeyAllocMap) + runtime.KeepAlive(cobjectAllocMap) + runtime.KeepAlive(cctxAllocMap) +} + +// JSObjectDeletePropertyForKey function as declared in JavaScriptCore/JSObjectRef.h:716 +func JSObjectDeletePropertyForKey(ctx JSContextRef, object JSObjectRef, propertyKey JSValueRef, exception []JSValueRef) bool { + cctx, cctxAllocMap := *(*C.JSContextRef)(unsafe.Pointer(&ctx)), cgoAllocsUnknown + cobject, cobjectAllocMap := *(*C.JSObjectRef)(unsafe.Pointer(&object)), cgoAllocsUnknown + cpropertyKey, cpropertyKeyAllocMap := *(*C.JSValueRef)(unsafe.Pointer(&propertyKey)), cgoAllocsUnknown + cexception, cexceptionAllocMap := copyPJSValueRefBytes((*sliceHeader)(unsafe.Pointer(&exception))) + __ret := C.JSObjectDeletePropertyForKey(cctx, cobject, cpropertyKey, cexception) + runtime.KeepAlive(cexceptionAllocMap) + runtime.KeepAlive(cpropertyKeyAllocMap) + runtime.KeepAlive(cobjectAllocMap) + runtime.KeepAlive(cctxAllocMap) + __v := (bool)(__ret) + return __v +} + +// JSObjectGetPropertyAtIndex function as declared in JavaScriptCore/JSObjectRef.h:728 +func JSObjectGetPropertyAtIndex(ctx JSContextRef, object JSObjectRef, propertyIndex uint32, exception []JSValueRef) JSValueRef { + cctx, cctxAllocMap := *(*C.JSContextRef)(unsafe.Pointer(&ctx)), cgoAllocsUnknown + cobject, cobjectAllocMap := *(*C.JSObjectRef)(unsafe.Pointer(&object)), cgoAllocsUnknown + cpropertyIndex, cpropertyIndexAllocMap := (C.uint)(propertyIndex), cgoAllocsUnknown + cexception, cexceptionAllocMap := copyPJSValueRefBytes((*sliceHeader)(unsafe.Pointer(&exception))) + __ret := C.JSObjectGetPropertyAtIndex(cctx, cobject, cpropertyIndex, cexception) + runtime.KeepAlive(cexceptionAllocMap) + runtime.KeepAlive(cpropertyIndexAllocMap) + runtime.KeepAlive(cobjectAllocMap) + runtime.KeepAlive(cctxAllocMap) + __v := *(*JSValueRef)(unsafe.Pointer(&__ret)) + return __v +} + +// JSObjectSetPropertyAtIndex function as declared in JavaScriptCore/JSObjectRef.h:740 +func JSObjectSetPropertyAtIndex(ctx JSContextRef, object JSObjectRef, propertyIndex uint32, value JSValueRef, exception []JSValueRef) { + cctx, cctxAllocMap := *(*C.JSContextRef)(unsafe.Pointer(&ctx)), cgoAllocsUnknown + cobject, cobjectAllocMap := *(*C.JSObjectRef)(unsafe.Pointer(&object)), cgoAllocsUnknown + cpropertyIndex, cpropertyIndexAllocMap := (C.uint)(propertyIndex), cgoAllocsUnknown + cvalue, cvalueAllocMap := *(*C.JSValueRef)(unsafe.Pointer(&value)), cgoAllocsUnknown + cexception, cexceptionAllocMap := copyPJSValueRefBytes((*sliceHeader)(unsafe.Pointer(&exception))) + C.JSObjectSetPropertyAtIndex(cctx, cobject, cpropertyIndex, cvalue, cexception) + runtime.KeepAlive(cexceptionAllocMap) + runtime.KeepAlive(cvalueAllocMap) + runtime.KeepAlive(cpropertyIndexAllocMap) + runtime.KeepAlive(cobjectAllocMap) + runtime.KeepAlive(cctxAllocMap) +} + +// JSObjectGetPrivate function as declared in JavaScriptCore/JSObjectRef.h:748 +func JSObjectGetPrivate(object JSObjectRef) unsafe.Pointer { + cobject, cobjectAllocMap := *(*C.JSObjectRef)(unsafe.Pointer(&object)), cgoAllocsUnknown + __ret := C.JSObjectGetPrivate(cobject) + runtime.KeepAlive(cobjectAllocMap) + __v := *(*unsafe.Pointer)(unsafe.Pointer(&__ret)) + return __v +} + +// JSObjectSetPrivate function as declared in JavaScriptCore/JSObjectRef.h:758 +func JSObjectSetPrivate(object JSObjectRef, data unsafe.Pointer) bool { + cobject, cobjectAllocMap := *(*C.JSObjectRef)(unsafe.Pointer(&object)), cgoAllocsUnknown + cdata, cdataAllocMap := data, cgoAllocsUnknown + __ret := C.JSObjectSetPrivate(cobject, cdata) + runtime.KeepAlive(cdataAllocMap) + runtime.KeepAlive(cobjectAllocMap) + __v := (bool)(__ret) + return __v +} + +// JSObjectIsFunction function as declared in JavaScriptCore/JSObjectRef.h:767 +func JSObjectIsFunction(ctx JSContextRef, object JSObjectRef) bool { + cctx, cctxAllocMap := *(*C.JSContextRef)(unsafe.Pointer(&ctx)), cgoAllocsUnknown + cobject, cobjectAllocMap := *(*C.JSObjectRef)(unsafe.Pointer(&object)), cgoAllocsUnknown + __ret := C.JSObjectIsFunction(cctx, cobject) + runtime.KeepAlive(cobjectAllocMap) + runtime.KeepAlive(cctxAllocMap) + __v := (bool)(__ret) + return __v +} + +// JSObjectCallAsFunction function as declared in JavaScriptCore/JSObjectRef.h:780 +func JSObjectCallAsFunction(ctx JSContextRef, object JSObjectRef, thisObject JSObjectRef, argumentCount uint32, arguments []JSValueRef, exception []JSValueRef) JSValueRef { + cctx, cctxAllocMap := *(*C.JSContextRef)(unsafe.Pointer(&ctx)), cgoAllocsUnknown + cobject, cobjectAllocMap := *(*C.JSObjectRef)(unsafe.Pointer(&object)), cgoAllocsUnknown + cthisObject, cthisObjectAllocMap := *(*C.JSObjectRef)(unsafe.Pointer(&thisObject)), cgoAllocsUnknown + cargumentCount, cargumentCountAllocMap := (C.size_t)(argumentCount), cgoAllocsUnknown + carguments, cargumentsAllocMap := copyPJSValueRefBytes((*sliceHeader)(unsafe.Pointer(&arguments))) + cexception, cexceptionAllocMap := copyPJSValueRefBytes((*sliceHeader)(unsafe.Pointer(&exception))) + __ret := C.JSObjectCallAsFunction(cctx, cobject, cthisObject, cargumentCount, carguments, cexception) + runtime.KeepAlive(cexceptionAllocMap) + runtime.KeepAlive(cargumentsAllocMap) + runtime.KeepAlive(cargumentCountAllocMap) + runtime.KeepAlive(cthisObjectAllocMap) + runtime.KeepAlive(cobjectAllocMap) + runtime.KeepAlive(cctxAllocMap) + __v := *(*JSValueRef)(unsafe.Pointer(&__ret)) + return __v +} + +// JSObjectIsConstructor function as declared in JavaScriptCore/JSObjectRef.h:789 +func JSObjectIsConstructor(ctx JSContextRef, object JSObjectRef) bool { + cctx, cctxAllocMap := *(*C.JSContextRef)(unsafe.Pointer(&ctx)), cgoAllocsUnknown + cobject, cobjectAllocMap := *(*C.JSObjectRef)(unsafe.Pointer(&object)), cgoAllocsUnknown + __ret := C.JSObjectIsConstructor(cctx, cobject) + runtime.KeepAlive(cobjectAllocMap) + runtime.KeepAlive(cctxAllocMap) + __v := (bool)(__ret) + return __v +} + +// JSObjectCallAsConstructor function as declared in JavaScriptCore/JSObjectRef.h:801 +func JSObjectCallAsConstructor(ctx JSContextRef, object JSObjectRef, argumentCount uint32, arguments []JSValueRef, exception []JSValueRef) JSObjectRef { + cctx, cctxAllocMap := *(*C.JSContextRef)(unsafe.Pointer(&ctx)), cgoAllocsUnknown + cobject, cobjectAllocMap := *(*C.JSObjectRef)(unsafe.Pointer(&object)), cgoAllocsUnknown + cargumentCount, cargumentCountAllocMap := (C.size_t)(argumentCount), cgoAllocsUnknown + carguments, cargumentsAllocMap := copyPJSValueRefBytes((*sliceHeader)(unsafe.Pointer(&arguments))) + cexception, cexceptionAllocMap := copyPJSValueRefBytes((*sliceHeader)(unsafe.Pointer(&exception))) + __ret := C.JSObjectCallAsConstructor(cctx, cobject, cargumentCount, carguments, cexception) + runtime.KeepAlive(cexceptionAllocMap) + runtime.KeepAlive(cargumentsAllocMap) + runtime.KeepAlive(cargumentCountAllocMap) + runtime.KeepAlive(cobjectAllocMap) + runtime.KeepAlive(cctxAllocMap) + __v := *(*JSObjectRef)(unsafe.Pointer(&__ret)) + return __v +} + +// JSObjectCopyPropertyNames function as declared in JavaScriptCore/JSObjectRef.h:810 func JSObjectCopyPropertyNames(ctx JSContextRef, object JSObjectRef) JSPropertyNameArrayRef { - cctx, _ := *(*C.JSContextRef)(unsafe.Pointer(&ctx)), cgoAllocsUnknown - cobject, _ := *(*C.JSObjectRef)(unsafe.Pointer(&object)), cgoAllocsUnknown + cctx, cctxAllocMap := *(*C.JSContextRef)(unsafe.Pointer(&ctx)), cgoAllocsUnknown + cobject, cobjectAllocMap := *(*C.JSObjectRef)(unsafe.Pointer(&object)), cgoAllocsUnknown __ret := C.JSObjectCopyPropertyNames(cctx, cobject) + runtime.KeepAlive(cobjectAllocMap) + runtime.KeepAlive(cctxAllocMap) __v := *(*JSPropertyNameArrayRef)(unsafe.Pointer(&__ret)) return __v } -// JSPropertyNameArrayRetain function as declared in JavaScriptCore/JSObjectRef.h:656 +// JSPropertyNameArrayRetain function as declared in JavaScriptCore/JSObjectRef.h:818 func JSPropertyNameArrayRetain(array JSPropertyNameArrayRef) JSPropertyNameArrayRef { - carray, _ := *(*C.JSPropertyNameArrayRef)(unsafe.Pointer(&array)), cgoAllocsUnknown + carray, carrayAllocMap := *(*C.JSPropertyNameArrayRef)(unsafe.Pointer(&array)), cgoAllocsUnknown __ret := C.JSPropertyNameArrayRetain(carray) + runtime.KeepAlive(carrayAllocMap) __v := *(*JSPropertyNameArrayRef)(unsafe.Pointer(&__ret)) return __v } -// JSPropertyNameArrayRelease function as declared in JavaScriptCore/JSObjectRef.h:663 +// JSPropertyNameArrayRelease function as declared in JavaScriptCore/JSObjectRef.h:825 func JSPropertyNameArrayRelease(array JSPropertyNameArrayRef) { - carray, _ := *(*C.JSPropertyNameArrayRef)(unsafe.Pointer(&array)), cgoAllocsUnknown + carray, carrayAllocMap := *(*C.JSPropertyNameArrayRef)(unsafe.Pointer(&array)), cgoAllocsUnknown C.JSPropertyNameArrayRelease(carray) + runtime.KeepAlive(carrayAllocMap) } -// JSPropertyNameArrayGetCount function as declared in JavaScriptCore/JSObjectRef.h:671 -func JSPropertyNameArrayGetCount(array JSPropertyNameArrayRef) uint { - carray, _ := *(*C.JSPropertyNameArrayRef)(unsafe.Pointer(&array)), cgoAllocsUnknown +// JSPropertyNameArrayGetCount function as declared in JavaScriptCore/JSObjectRef.h:833 +func JSPropertyNameArrayGetCount(array JSPropertyNameArrayRef) uint32 { + carray, carrayAllocMap := *(*C.JSPropertyNameArrayRef)(unsafe.Pointer(&array)), cgoAllocsUnknown __ret := C.JSPropertyNameArrayGetCount(carray) - __v := (uint)(__ret) + runtime.KeepAlive(carrayAllocMap) + __v := (uint32)(__ret) return __v } -// JSPropertyNameArrayGetNameAtIndex function as declared in JavaScriptCore/JSObjectRef.h:680 -func JSPropertyNameArrayGetNameAtIndex(array JSPropertyNameArrayRef, index uint) JSStringRef { - carray, _ := *(*C.JSPropertyNameArrayRef)(unsafe.Pointer(&array)), cgoAllocsUnknown - cindex, _ := (C.size_t)(index), cgoAllocsUnknown +// JSPropertyNameArrayGetNameAtIndex function as declared in JavaScriptCore/JSObjectRef.h:842 +func JSPropertyNameArrayGetNameAtIndex(array JSPropertyNameArrayRef, index uint32) JSStringRef { + carray, carrayAllocMap := *(*C.JSPropertyNameArrayRef)(unsafe.Pointer(&array)), cgoAllocsUnknown + cindex, cindexAllocMap := (C.size_t)(index), cgoAllocsUnknown __ret := C.JSPropertyNameArrayGetNameAtIndex(carray, cindex) + runtime.KeepAlive(cindexAllocMap) + runtime.KeepAlive(carrayAllocMap) __v := *(*JSStringRef)(unsafe.Pointer(&__ret)) return __v } -// JSPropertyNameAccumulatorAddName function as declared in JavaScriptCore/JSObjectRef.h:688 +// JSPropertyNameAccumulatorAddName function as declared in JavaScriptCore/JSObjectRef.h:850 func JSPropertyNameAccumulatorAddName(accumulator JSPropertyNameAccumulatorRef, propertyName JSStringRef) { - caccumulator, _ := *(*C.JSPropertyNameAccumulatorRef)(unsafe.Pointer(&accumulator)), cgoAllocsUnknown - cpropertyName, _ := *(*C.JSStringRef)(unsafe.Pointer(&propertyName)), cgoAllocsUnknown + caccumulator, caccumulatorAllocMap := *(*C.JSPropertyNameAccumulatorRef)(unsafe.Pointer(&accumulator)), cgoAllocsUnknown + cpropertyName, cpropertyNameAllocMap := *(*C.JSStringRef)(unsafe.Pointer(&propertyName)), cgoAllocsUnknown C.JSPropertyNameAccumulatorAddName(caccumulator, cpropertyName) + runtime.KeepAlive(cpropertyNameAllocMap) + runtime.KeepAlive(caccumulatorAllocMap) } -// JSValueGetType function as declared in JavaScriptCore/JSValueRef.h:96 +// JSValueGetType function as declared in JavaScriptCore/JSValueRef.h:98 func JSValueGetType(ctx JSContextRef, value JSValueRef) JSType { - cctx, _ := *(*C.JSContextRef)(unsafe.Pointer(&ctx)), cgoAllocsUnknown - cvalue, _ := *(*C.JSValueRef)(unsafe.Pointer(&value)), cgoAllocsUnknown + cctx, cctxAllocMap := *(*C.JSContextRef)(unsafe.Pointer(&ctx)), cgoAllocsUnknown + cvalue, cvalueAllocMap := *(*C.JSValueRef)(unsafe.Pointer(&value)), cgoAllocsUnknown __ret := C.JSValueGetType(cctx, cvalue) + runtime.KeepAlive(cvalueAllocMap) + runtime.KeepAlive(cctxAllocMap) __v := (JSType)(__ret) return __v } -// JSValueIsUndefined function as declared in JavaScriptCore/JSValueRef.h:105 +// JSValueIsUndefined function as declared in JavaScriptCore/JSValueRef.h:107 func JSValueIsUndefined(ctx JSContextRef, value JSValueRef) bool { - cctx, _ := *(*C.JSContextRef)(unsafe.Pointer(&ctx)), cgoAllocsUnknown - cvalue, _ := *(*C.JSValueRef)(unsafe.Pointer(&value)), cgoAllocsUnknown + cctx, cctxAllocMap := *(*C.JSContextRef)(unsafe.Pointer(&ctx)), cgoAllocsUnknown + cvalue, cvalueAllocMap := *(*C.JSValueRef)(unsafe.Pointer(&value)), cgoAllocsUnknown __ret := C.JSValueIsUndefined(cctx, cvalue) + runtime.KeepAlive(cvalueAllocMap) + runtime.KeepAlive(cctxAllocMap) __v := (bool)(__ret) return __v } -// JSValueIsNull function as declared in JavaScriptCore/JSValueRef.h:114 +// JSValueIsNull function as declared in JavaScriptCore/JSValueRef.h:116 func JSValueIsNull(ctx JSContextRef, value JSValueRef) bool { - cctx, _ := *(*C.JSContextRef)(unsafe.Pointer(&ctx)), cgoAllocsUnknown - cvalue, _ := *(*C.JSValueRef)(unsafe.Pointer(&value)), cgoAllocsUnknown + cctx, cctxAllocMap := *(*C.JSContextRef)(unsafe.Pointer(&ctx)), cgoAllocsUnknown + cvalue, cvalueAllocMap := *(*C.JSValueRef)(unsafe.Pointer(&value)), cgoAllocsUnknown __ret := C.JSValueIsNull(cctx, cvalue) + runtime.KeepAlive(cvalueAllocMap) + runtime.KeepAlive(cctxAllocMap) __v := (bool)(__ret) return __v } -// JSValueIsBoolean function as declared in JavaScriptCore/JSValueRef.h:123 +// JSValueIsBoolean function as declared in JavaScriptCore/JSValueRef.h:125 func JSValueIsBoolean(ctx JSContextRef, value JSValueRef) bool { - cctx, _ := *(*C.JSContextRef)(unsafe.Pointer(&ctx)), cgoAllocsUnknown - cvalue, _ := *(*C.JSValueRef)(unsafe.Pointer(&value)), cgoAllocsUnknown + cctx, cctxAllocMap := *(*C.JSContextRef)(unsafe.Pointer(&ctx)), cgoAllocsUnknown + cvalue, cvalueAllocMap := *(*C.JSValueRef)(unsafe.Pointer(&value)), cgoAllocsUnknown __ret := C.JSValueIsBoolean(cctx, cvalue) + runtime.KeepAlive(cvalueAllocMap) + runtime.KeepAlive(cctxAllocMap) __v := (bool)(__ret) return __v } -// JSValueIsNumber function as declared in JavaScriptCore/JSValueRef.h:132 +// JSValueIsNumber function as declared in JavaScriptCore/JSValueRef.h:134 func JSValueIsNumber(ctx JSContextRef, value JSValueRef) bool { - cctx, _ := *(*C.JSContextRef)(unsafe.Pointer(&ctx)), cgoAllocsUnknown - cvalue, _ := *(*C.JSValueRef)(unsafe.Pointer(&value)), cgoAllocsUnknown + cctx, cctxAllocMap := *(*C.JSContextRef)(unsafe.Pointer(&ctx)), cgoAllocsUnknown + cvalue, cvalueAllocMap := *(*C.JSValueRef)(unsafe.Pointer(&value)), cgoAllocsUnknown __ret := C.JSValueIsNumber(cctx, cvalue) + runtime.KeepAlive(cvalueAllocMap) + runtime.KeepAlive(cctxAllocMap) __v := (bool)(__ret) return __v } -// JSValueIsString function as declared in JavaScriptCore/JSValueRef.h:141 +// JSValueIsString function as declared in JavaScriptCore/JSValueRef.h:143 func JSValueIsString(ctx JSContextRef, value JSValueRef) bool { - cctx, _ := *(*C.JSContextRef)(unsafe.Pointer(&ctx)), cgoAllocsUnknown - cvalue, _ := *(*C.JSValueRef)(unsafe.Pointer(&value)), cgoAllocsUnknown + cctx, cctxAllocMap := *(*C.JSContextRef)(unsafe.Pointer(&ctx)), cgoAllocsUnknown + cvalue, cvalueAllocMap := *(*C.JSValueRef)(unsafe.Pointer(&value)), cgoAllocsUnknown __ret := C.JSValueIsString(cctx, cvalue) + runtime.KeepAlive(cvalueAllocMap) + runtime.KeepAlive(cctxAllocMap) __v := (bool)(__ret) return __v } -// JSValueIsObject function as declared in JavaScriptCore/JSValueRef.h:150 +// JSValueIsSymbol function as declared in JavaScriptCore/JSValueRef.h:152 +func JSValueIsSymbol(ctx JSContextRef, value JSValueRef) bool { + cctx, cctxAllocMap := *(*C.JSContextRef)(unsafe.Pointer(&ctx)), cgoAllocsUnknown + cvalue, cvalueAllocMap := *(*C.JSValueRef)(unsafe.Pointer(&value)), cgoAllocsUnknown + __ret := C.JSValueIsSymbol(cctx, cvalue) + runtime.KeepAlive(cvalueAllocMap) + runtime.KeepAlive(cctxAllocMap) + __v := (bool)(__ret) + return __v +} + +// JSValueIsObject function as declared in JavaScriptCore/JSValueRef.h:161 func JSValueIsObject(ctx JSContextRef, value JSValueRef) bool { - cctx, _ := *(*C.JSContextRef)(unsafe.Pointer(&ctx)), cgoAllocsUnknown - cvalue, _ := *(*C.JSValueRef)(unsafe.Pointer(&value)), cgoAllocsUnknown + cctx, cctxAllocMap := *(*C.JSContextRef)(unsafe.Pointer(&ctx)), cgoAllocsUnknown + cvalue, cvalueAllocMap := *(*C.JSValueRef)(unsafe.Pointer(&value)), cgoAllocsUnknown __ret := C.JSValueIsObject(cctx, cvalue) + runtime.KeepAlive(cvalueAllocMap) + runtime.KeepAlive(cctxAllocMap) __v := (bool)(__ret) return __v } -// JSValueIsObjectOfClass function as declared in JavaScriptCore/JSValueRef.h:160 +// JSValueIsObjectOfClass function as declared in JavaScriptCore/JSValueRef.h:172 func JSValueIsObjectOfClass(ctx JSContextRef, value JSValueRef, jsClass JSClassRef) bool { - cctx, _ := *(*C.JSContextRef)(unsafe.Pointer(&ctx)), cgoAllocsUnknown - cvalue, _ := *(*C.JSValueRef)(unsafe.Pointer(&value)), cgoAllocsUnknown - cjsClass, _ := *(*C.JSClassRef)(unsafe.Pointer(&jsClass)), cgoAllocsUnknown + cctx, cctxAllocMap := *(*C.JSContextRef)(unsafe.Pointer(&ctx)), cgoAllocsUnknown + cvalue, cvalueAllocMap := *(*C.JSValueRef)(unsafe.Pointer(&value)), cgoAllocsUnknown + cjsClass, cjsClassAllocMap := *(*C.JSClassRef)(unsafe.Pointer(&jsClass)), cgoAllocsUnknown __ret := C.JSValueIsObjectOfClass(cctx, cvalue, cjsClass) + runtime.KeepAlive(cjsClassAllocMap) + runtime.KeepAlive(cvalueAllocMap) + runtime.KeepAlive(cctxAllocMap) __v := (bool)(__ret) return __v } -// JSValueIsArray function as declared in JavaScriptCore/JSValueRef.h:169 +// JSValueIsArray function as declared in JavaScriptCore/JSValueRef.h:181 func JSValueIsArray(ctx JSContextRef, value JSValueRef) bool { - cctx, _ := *(*C.JSContextRef)(unsafe.Pointer(&ctx)), cgoAllocsUnknown - cvalue, _ := *(*C.JSValueRef)(unsafe.Pointer(&value)), cgoAllocsUnknown + cctx, cctxAllocMap := *(*C.JSContextRef)(unsafe.Pointer(&ctx)), cgoAllocsUnknown + cvalue, cvalueAllocMap := *(*C.JSValueRef)(unsafe.Pointer(&value)), cgoAllocsUnknown __ret := C.JSValueIsArray(cctx, cvalue) + runtime.KeepAlive(cvalueAllocMap) + runtime.KeepAlive(cctxAllocMap) __v := (bool)(__ret) return __v } -// JSValueIsDate function as declared in JavaScriptCore/JSValueRef.h:178 +// JSValueIsDate function as declared in JavaScriptCore/JSValueRef.h:190 func JSValueIsDate(ctx JSContextRef, value JSValueRef) bool { - cctx, _ := *(*C.JSContextRef)(unsafe.Pointer(&ctx)), cgoAllocsUnknown - cvalue, _ := *(*C.JSValueRef)(unsafe.Pointer(&value)), cgoAllocsUnknown + cctx, cctxAllocMap := *(*C.JSContextRef)(unsafe.Pointer(&ctx)), cgoAllocsUnknown + cvalue, cvalueAllocMap := *(*C.JSValueRef)(unsafe.Pointer(&value)), cgoAllocsUnknown __ret := C.JSValueIsDate(cctx, cvalue) + runtime.KeepAlive(cvalueAllocMap) + runtime.KeepAlive(cctxAllocMap) __v := (bool)(__ret) return __v } -// JSValueGetTypedArrayType function as declared in JavaScriptCore/JSValueRef.h:188 +// JSValueGetTypedArrayType function as declared in JavaScriptCore/JSValueRef.h:200 func JSValueGetTypedArrayType(ctx JSContextRef, value JSValueRef, exception []JSValueRef) JSTypedArrayType { - cctx, _ := *(*C.JSContextRef)(unsafe.Pointer(&ctx)), cgoAllocsUnknown - cvalue, _ := *(*C.JSValueRef)(unsafe.Pointer(&value)), cgoAllocsUnknown - cexception, _ := (*C.JSValueRef)(unsafe.Pointer((*sliceHeader)(unsafe.Pointer(&exception)).Data)), cgoAllocsUnknown + cctx, cctxAllocMap := *(*C.JSContextRef)(unsafe.Pointer(&ctx)), cgoAllocsUnknown + cvalue, cvalueAllocMap := *(*C.JSValueRef)(unsafe.Pointer(&value)), cgoAllocsUnknown + cexception, cexceptionAllocMap := copyPJSValueRefBytes((*sliceHeader)(unsafe.Pointer(&exception))) __ret := C.JSValueGetTypedArrayType(cctx, cvalue, cexception) + runtime.KeepAlive(cexceptionAllocMap) + runtime.KeepAlive(cvalueAllocMap) + runtime.KeepAlive(cctxAllocMap) __v := (JSTypedArrayType)(__ret) return __v } -// JSValueIsEqual function as declared in JavaScriptCore/JSValueRef.h:201 +// JSValueIsEqual function as declared in JavaScriptCore/JSValueRef.h:213 func JSValueIsEqual(ctx JSContextRef, a JSValueRef, b JSValueRef, exception []JSValueRef) bool { - cctx, _ := *(*C.JSContextRef)(unsafe.Pointer(&ctx)), cgoAllocsUnknown - ca, _ := *(*C.JSValueRef)(unsafe.Pointer(&a)), cgoAllocsUnknown - cb, _ := *(*C.JSValueRef)(unsafe.Pointer(&b)), cgoAllocsUnknown - cexception, _ := (*C.JSValueRef)(unsafe.Pointer((*sliceHeader)(unsafe.Pointer(&exception)).Data)), cgoAllocsUnknown + cctx, cctxAllocMap := *(*C.JSContextRef)(unsafe.Pointer(&ctx)), cgoAllocsUnknown + ca, caAllocMap := *(*C.JSValueRef)(unsafe.Pointer(&a)), cgoAllocsUnknown + cb, cbAllocMap := *(*C.JSValueRef)(unsafe.Pointer(&b)), cgoAllocsUnknown + cexception, cexceptionAllocMap := copyPJSValueRefBytes((*sliceHeader)(unsafe.Pointer(&exception))) __ret := C.JSValueIsEqual(cctx, ca, cb, cexception) + runtime.KeepAlive(cexceptionAllocMap) + runtime.KeepAlive(cbAllocMap) + runtime.KeepAlive(caAllocMap) + runtime.KeepAlive(cctxAllocMap) __v := (bool)(__ret) return __v } -// JSValueIsStrictEqual function as declared in JavaScriptCore/JSValueRef.h:211 +// JSValueIsStrictEqual function as declared in JavaScriptCore/JSValueRef.h:223 func JSValueIsStrictEqual(ctx JSContextRef, a JSValueRef, b JSValueRef) bool { - cctx, _ := *(*C.JSContextRef)(unsafe.Pointer(&ctx)), cgoAllocsUnknown - ca, _ := *(*C.JSValueRef)(unsafe.Pointer(&a)), cgoAllocsUnknown - cb, _ := *(*C.JSValueRef)(unsafe.Pointer(&b)), cgoAllocsUnknown + cctx, cctxAllocMap := *(*C.JSContextRef)(unsafe.Pointer(&ctx)), cgoAllocsUnknown + ca, caAllocMap := *(*C.JSValueRef)(unsafe.Pointer(&a)), cgoAllocsUnknown + cb, cbAllocMap := *(*C.JSValueRef)(unsafe.Pointer(&b)), cgoAllocsUnknown __ret := C.JSValueIsStrictEqual(cctx, ca, cb) + runtime.KeepAlive(cbAllocMap) + runtime.KeepAlive(caAllocMap) + runtime.KeepAlive(cctxAllocMap) __v := (bool)(__ret) return __v } -// JSValueIsInstanceOfConstructor function as declared in JavaScriptCore/JSValueRef.h:222 +// JSValueIsInstanceOfConstructor function as declared in JavaScriptCore/JSValueRef.h:234 func JSValueIsInstanceOfConstructor(ctx JSContextRef, value JSValueRef, constructor JSObjectRef, exception []JSValueRef) bool { - cctx, _ := *(*C.JSContextRef)(unsafe.Pointer(&ctx)), cgoAllocsUnknown - cvalue, _ := *(*C.JSValueRef)(unsafe.Pointer(&value)), cgoAllocsUnknown - cconstructor, _ := *(*C.JSObjectRef)(unsafe.Pointer(&constructor)), cgoAllocsUnknown - cexception, _ := (*C.JSValueRef)(unsafe.Pointer((*sliceHeader)(unsafe.Pointer(&exception)).Data)), cgoAllocsUnknown + cctx, cctxAllocMap := *(*C.JSContextRef)(unsafe.Pointer(&ctx)), cgoAllocsUnknown + cvalue, cvalueAllocMap := *(*C.JSValueRef)(unsafe.Pointer(&value)), cgoAllocsUnknown + cconstructor, cconstructorAllocMap := *(*C.JSObjectRef)(unsafe.Pointer(&constructor)), cgoAllocsUnknown + cexception, cexceptionAllocMap := copyPJSValueRefBytes((*sliceHeader)(unsafe.Pointer(&exception))) __ret := C.JSValueIsInstanceOfConstructor(cctx, cvalue, cconstructor, cexception) + runtime.KeepAlive(cexceptionAllocMap) + runtime.KeepAlive(cconstructorAllocMap) + runtime.KeepAlive(cvalueAllocMap) + runtime.KeepAlive(cctxAllocMap) __v := (bool)(__ret) return __v } -// JSValueMakeUndefined function as declared in JavaScriptCore/JSValueRef.h:232 +// JSValueMakeUndefined function as declared in JavaScriptCore/JSValueRef.h:244 func JSValueMakeUndefined(ctx JSContextRef) JSValueRef { - cctx, _ := *(*C.JSContextRef)(unsafe.Pointer(&ctx)), cgoAllocsUnknown + cctx, cctxAllocMap := *(*C.JSContextRef)(unsafe.Pointer(&ctx)), cgoAllocsUnknown __ret := C.JSValueMakeUndefined(cctx) + runtime.KeepAlive(cctxAllocMap) __v := *(*JSValueRef)(unsafe.Pointer(&__ret)) return __v } -// JSValueMakeNull function as declared in JavaScriptCore/JSValueRef.h:240 +// JSValueMakeNull function as declared in JavaScriptCore/JSValueRef.h:252 func JSValueMakeNull(ctx JSContextRef) JSValueRef { - cctx, _ := *(*C.JSContextRef)(unsafe.Pointer(&ctx)), cgoAllocsUnknown + cctx, cctxAllocMap := *(*C.JSContextRef)(unsafe.Pointer(&ctx)), cgoAllocsUnknown __ret := C.JSValueMakeNull(cctx) + runtime.KeepAlive(cctxAllocMap) __v := *(*JSValueRef)(unsafe.Pointer(&__ret)) return __v } -// JSValueMakeBoolean function as declared in JavaScriptCore/JSValueRef.h:249 +// JSValueMakeBoolean function as declared in JavaScriptCore/JSValueRef.h:261 func JSValueMakeBoolean(ctx JSContextRef, boolean bool) JSValueRef { - cctx, _ := *(*C.JSContextRef)(unsafe.Pointer(&ctx)), cgoAllocsUnknown - cboolean, _ := (C._Bool)(boolean), cgoAllocsUnknown + cctx, cctxAllocMap := *(*C.JSContextRef)(unsafe.Pointer(&ctx)), cgoAllocsUnknown + cboolean, cbooleanAllocMap := (C._Bool)(boolean), cgoAllocsUnknown __ret := C.JSValueMakeBoolean(cctx, cboolean) + runtime.KeepAlive(cbooleanAllocMap) + runtime.KeepAlive(cctxAllocMap) __v := *(*JSValueRef)(unsafe.Pointer(&__ret)) return __v } -// JSValueMakeNumber function as declared in JavaScriptCore/JSValueRef.h:258 +// JSValueMakeNumber function as declared in JavaScriptCore/JSValueRef.h:270 func JSValueMakeNumber(ctx JSContextRef, number float64) JSValueRef { - cctx, _ := *(*C.JSContextRef)(unsafe.Pointer(&ctx)), cgoAllocsUnknown - cnumber, _ := (C.double)(number), cgoAllocsUnknown + cctx, cctxAllocMap := *(*C.JSContextRef)(unsafe.Pointer(&ctx)), cgoAllocsUnknown + cnumber, cnumberAllocMap := (C.double)(number), cgoAllocsUnknown __ret := C.JSValueMakeNumber(cctx, cnumber) + runtime.KeepAlive(cnumberAllocMap) + runtime.KeepAlive(cctxAllocMap) __v := *(*JSValueRef)(unsafe.Pointer(&__ret)) return __v } -// JSValueMakeString function as declared in JavaScriptCore/JSValueRef.h:268 +// JSValueMakeString function as declared in JavaScriptCore/JSValueRef.h:280 func JSValueMakeString(ctx JSContextRef, string JSStringRef) JSValueRef { - cctx, _ := *(*C.JSContextRef)(unsafe.Pointer(&ctx)), cgoAllocsUnknown - cstring, _ := *(*C.JSStringRef)(unsafe.Pointer(&string)), cgoAllocsUnknown + cctx, cctxAllocMap := *(*C.JSContextRef)(unsafe.Pointer(&ctx)), cgoAllocsUnknown + cstring, cstringAllocMap := *(*C.JSStringRef)(unsafe.Pointer(&string)), cgoAllocsUnknown __ret := C.JSValueMakeString(cctx, cstring) + runtime.KeepAlive(cstringAllocMap) + runtime.KeepAlive(cctxAllocMap) __v := *(*JSValueRef)(unsafe.Pointer(&__ret)) return __v } -// JSValueMakeFromJSONString function as declared in JavaScriptCore/JSValueRef.h:279 +// JSValueMakeSymbol function as declared in JavaScriptCore/JSValueRef.h:289 +func JSValueMakeSymbol(ctx JSContextRef, description JSStringRef) JSValueRef { + cctx, cctxAllocMap := *(*C.JSContextRef)(unsafe.Pointer(&ctx)), cgoAllocsUnknown + cdescription, cdescriptionAllocMap := *(*C.JSStringRef)(unsafe.Pointer(&description)), cgoAllocsUnknown + __ret := C.JSValueMakeSymbol(cctx, cdescription) + runtime.KeepAlive(cdescriptionAllocMap) + runtime.KeepAlive(cctxAllocMap) + __v := *(*JSValueRef)(unsafe.Pointer(&__ret)) + return __v +} + +// JSValueMakeFromJSONString function as declared in JavaScriptCore/JSValueRef.h:300 func JSValueMakeFromJSONString(ctx JSContextRef, string JSStringRef) JSValueRef { - cctx, _ := *(*C.JSContextRef)(unsafe.Pointer(&ctx)), cgoAllocsUnknown - cstring, _ := *(*C.JSStringRef)(unsafe.Pointer(&string)), cgoAllocsUnknown + cctx, cctxAllocMap := *(*C.JSContextRef)(unsafe.Pointer(&ctx)), cgoAllocsUnknown + cstring, cstringAllocMap := *(*C.JSStringRef)(unsafe.Pointer(&string)), cgoAllocsUnknown __ret := C.JSValueMakeFromJSONString(cctx, cstring) + runtime.KeepAlive(cstringAllocMap) + runtime.KeepAlive(cctxAllocMap) __v := *(*JSValueRef)(unsafe.Pointer(&__ret)) return __v } -// JSValueCreateJSONString function as declared in JavaScriptCore/JSValueRef.h:290 +// JSValueCreateJSONString function as declared in JavaScriptCore/JSValueRef.h:311 func JSValueCreateJSONString(ctx JSContextRef, value JSValueRef, indent uint32, exception []JSValueRef) JSStringRef { - cctx, _ := *(*C.JSContextRef)(unsafe.Pointer(&ctx)), cgoAllocsUnknown - cvalue, _ := *(*C.JSValueRef)(unsafe.Pointer(&value)), cgoAllocsUnknown - cindent, _ := (C.uint)(indent), cgoAllocsUnknown - cexception, _ := (*C.JSValueRef)(unsafe.Pointer((*sliceHeader)(unsafe.Pointer(&exception)).Data)), cgoAllocsUnknown + cctx, cctxAllocMap := *(*C.JSContextRef)(unsafe.Pointer(&ctx)), cgoAllocsUnknown + cvalue, cvalueAllocMap := *(*C.JSValueRef)(unsafe.Pointer(&value)), cgoAllocsUnknown + cindent, cindentAllocMap := (C.uint)(indent), cgoAllocsUnknown + cexception, cexceptionAllocMap := copyPJSValueRefBytes((*sliceHeader)(unsafe.Pointer(&exception))) __ret := C.JSValueCreateJSONString(cctx, cvalue, cindent, cexception) + runtime.KeepAlive(cexceptionAllocMap) + runtime.KeepAlive(cindentAllocMap) + runtime.KeepAlive(cvalueAllocMap) + runtime.KeepAlive(cctxAllocMap) __v := *(*JSStringRef)(unsafe.Pointer(&__ret)) return __v } -// JSValueToBoolean function as declared in JavaScriptCore/JSValueRef.h:301 +// JSValueToBoolean function as declared in JavaScriptCore/JSValueRef.h:322 func JSValueToBoolean(ctx JSContextRef, value JSValueRef) bool { - cctx, _ := *(*C.JSContextRef)(unsafe.Pointer(&ctx)), cgoAllocsUnknown - cvalue, _ := *(*C.JSValueRef)(unsafe.Pointer(&value)), cgoAllocsUnknown + cctx, cctxAllocMap := *(*C.JSContextRef)(unsafe.Pointer(&ctx)), cgoAllocsUnknown + cvalue, cvalueAllocMap := *(*C.JSValueRef)(unsafe.Pointer(&value)), cgoAllocsUnknown __ret := C.JSValueToBoolean(cctx, cvalue) + runtime.KeepAlive(cvalueAllocMap) + runtime.KeepAlive(cctxAllocMap) __v := (bool)(__ret) return __v } -// JSValueToNumber function as declared in JavaScriptCore/JSValueRef.h:311 +// JSValueToNumber function as declared in JavaScriptCore/JSValueRef.h:332 func JSValueToNumber(ctx JSContextRef, value JSValueRef, exception []JSValueRef) float64 { - cctx, _ := *(*C.JSContextRef)(unsafe.Pointer(&ctx)), cgoAllocsUnknown - cvalue, _ := *(*C.JSValueRef)(unsafe.Pointer(&value)), cgoAllocsUnknown - cexception, _ := (*C.JSValueRef)(unsafe.Pointer((*sliceHeader)(unsafe.Pointer(&exception)).Data)), cgoAllocsUnknown + cctx, cctxAllocMap := *(*C.JSContextRef)(unsafe.Pointer(&ctx)), cgoAllocsUnknown + cvalue, cvalueAllocMap := *(*C.JSValueRef)(unsafe.Pointer(&value)), cgoAllocsUnknown + cexception, cexceptionAllocMap := copyPJSValueRefBytes((*sliceHeader)(unsafe.Pointer(&exception))) __ret := C.JSValueToNumber(cctx, cvalue, cexception) + runtime.KeepAlive(cexceptionAllocMap) + runtime.KeepAlive(cvalueAllocMap) + runtime.KeepAlive(cctxAllocMap) __v := (float64)(__ret) return __v } -// JSValueToStringCopy function as declared in JavaScriptCore/JSValueRef.h:321 +// JSValueToStringCopy function as declared in JavaScriptCore/JSValueRef.h:342 func JSValueToStringCopy(ctx JSContextRef, value JSValueRef, exception []JSValueRef) JSStringRef { - cctx, _ := *(*C.JSContextRef)(unsafe.Pointer(&ctx)), cgoAllocsUnknown - cvalue, _ := *(*C.JSValueRef)(unsafe.Pointer(&value)), cgoAllocsUnknown - cexception, _ := (*C.JSValueRef)(unsafe.Pointer((*sliceHeader)(unsafe.Pointer(&exception)).Data)), cgoAllocsUnknown + cctx, cctxAllocMap := *(*C.JSContextRef)(unsafe.Pointer(&ctx)), cgoAllocsUnknown + cvalue, cvalueAllocMap := *(*C.JSValueRef)(unsafe.Pointer(&value)), cgoAllocsUnknown + cexception, cexceptionAllocMap := copyPJSValueRefBytes((*sliceHeader)(unsafe.Pointer(&exception))) __ret := C.JSValueToStringCopy(cctx, cvalue, cexception) + runtime.KeepAlive(cexceptionAllocMap) + runtime.KeepAlive(cvalueAllocMap) + runtime.KeepAlive(cctxAllocMap) __v := *(*JSStringRef)(unsafe.Pointer(&__ret)) return __v } -// JSValueToObject function as declared in JavaScriptCore/JSValueRef.h:331 +// JSValueToObject function as declared in JavaScriptCore/JSValueRef.h:352 func JSValueToObject(ctx JSContextRef, value JSValueRef, exception []JSValueRef) JSObjectRef { - cctx, _ := *(*C.JSContextRef)(unsafe.Pointer(&ctx)), cgoAllocsUnknown - cvalue, _ := *(*C.JSValueRef)(unsafe.Pointer(&value)), cgoAllocsUnknown - cexception, _ := (*C.JSValueRef)(unsafe.Pointer((*sliceHeader)(unsafe.Pointer(&exception)).Data)), cgoAllocsUnknown + cctx, cctxAllocMap := *(*C.JSContextRef)(unsafe.Pointer(&ctx)), cgoAllocsUnknown + cvalue, cvalueAllocMap := *(*C.JSValueRef)(unsafe.Pointer(&value)), cgoAllocsUnknown + cexception, cexceptionAllocMap := copyPJSValueRefBytes((*sliceHeader)(unsafe.Pointer(&exception))) __ret := C.JSValueToObject(cctx, cvalue, cexception) + runtime.KeepAlive(cexceptionAllocMap) + runtime.KeepAlive(cvalueAllocMap) + runtime.KeepAlive(cctxAllocMap) __v := *(*JSObjectRef)(unsafe.Pointer(&__ret)) return __v } -// JSValueProtect function as declared in JavaScriptCore/JSValueRef.h:343 +// JSValueProtect function as declared in JavaScriptCore/JSValueRef.h:364 func JSValueProtect(ctx JSContextRef, value JSValueRef) { - cctx, _ := *(*C.JSContextRef)(unsafe.Pointer(&ctx)), cgoAllocsUnknown - cvalue, _ := *(*C.JSValueRef)(unsafe.Pointer(&value)), cgoAllocsUnknown + cctx, cctxAllocMap := *(*C.JSContextRef)(unsafe.Pointer(&ctx)), cgoAllocsUnknown + cvalue, cvalueAllocMap := *(*C.JSValueRef)(unsafe.Pointer(&value)), cgoAllocsUnknown C.JSValueProtect(cctx, cvalue) + runtime.KeepAlive(cvalueAllocMap) + runtime.KeepAlive(cctxAllocMap) } -// JSValueUnprotect function as declared in JavaScriptCore/JSValueRef.h:353 +// JSValueUnprotect function as declared in JavaScriptCore/JSValueRef.h:374 func JSValueUnprotect(ctx JSContextRef, value JSValueRef) { - cctx, _ := *(*C.JSContextRef)(unsafe.Pointer(&ctx)), cgoAllocsUnknown - cvalue, _ := *(*C.JSValueRef)(unsafe.Pointer(&value)), cgoAllocsUnknown + cctx, cctxAllocMap := *(*C.JSContextRef)(unsafe.Pointer(&ctx)), cgoAllocsUnknown + cvalue, cvalueAllocMap := *(*C.JSValueRef)(unsafe.Pointer(&value)), cgoAllocsUnknown C.JSValueUnprotect(cctx, cvalue) + runtime.KeepAlive(cvalueAllocMap) + runtime.KeepAlive(cctxAllocMap) } // JSStringCreateWithCharacters function as declared in JavaScriptCore/JSStringRef.h:61 -func JSStringCreateWithCharacters(chars []JSChar, numChars uint) JSStringRef { - cchars, _ := (*C.JSChar)(unsafe.Pointer((*sliceHeader)(unsafe.Pointer(&chars)).Data)), cgoAllocsUnknown - cnumChars, _ := (C.size_t)(numChars), cgoAllocsUnknown +func JSStringCreateWithCharacters(chars []JSChar, numChars uint32) JSStringRef { + cchars, ccharsAllocMap := copyPJSCharBytes((*sliceHeader)(unsafe.Pointer(&chars))) + cnumChars, cnumCharsAllocMap := (C.size_t)(numChars), cgoAllocsUnknown __ret := C.JSStringCreateWithCharacters(cchars, cnumChars) + runtime.KeepAlive(cnumCharsAllocMap) + runtime.KeepAlive(ccharsAllocMap) __v := *(*JSStringRef)(unsafe.Pointer(&__ret)) return __v } @@ -1711,209 +2811,270 @@ func JSStringCreateWithCharacters(chars []JSChar, numChars uint) JSStringRef { // JSStringCreateWithUTF8CString function as declared in JavaScriptCore/JSStringRef.h:68 func JSStringCreateWithUTF8CString(string string) JSStringRef { string = safeString(string) - cstring, _ := unpackPCharString(string) + cstring, cstringAllocMap := unpackPCharString(string) __ret := C.JSStringCreateWithUTF8CString(cstring) runtime.KeepAlive(string) + runtime.KeepAlive(cstringAllocMap) __v := *(*JSStringRef)(unsafe.Pointer(&__ret)) return __v } // JSStringRetain function as declared in JavaScriptCore/JSStringRef.h:76 func JSStringRetain(string JSStringRef) JSStringRef { - cstring, _ := *(*C.JSStringRef)(unsafe.Pointer(&string)), cgoAllocsUnknown + cstring, cstringAllocMap := *(*C.JSStringRef)(unsafe.Pointer(&string)), cgoAllocsUnknown __ret := C.JSStringRetain(cstring) + runtime.KeepAlive(cstringAllocMap) __v := *(*JSStringRef)(unsafe.Pointer(&__ret)) return __v } // JSStringRelease function as declared in JavaScriptCore/JSStringRef.h:82 func JSStringRelease(string JSStringRef) { - cstring, _ := *(*C.JSStringRef)(unsafe.Pointer(&string)), cgoAllocsUnknown + cstring, cstringAllocMap := *(*C.JSStringRef)(unsafe.Pointer(&string)), cgoAllocsUnknown C.JSStringRelease(cstring) + runtime.KeepAlive(cstringAllocMap) } // JSStringGetLength function as declared in JavaScriptCore/JSStringRef.h:90 -func JSStringGetLength(string JSStringRef) uint { - cstring, _ := *(*C.JSStringRef)(unsafe.Pointer(&string)), cgoAllocsUnknown +func JSStringGetLength(string JSStringRef) uint32 { + cstring, cstringAllocMap := *(*C.JSStringRef)(unsafe.Pointer(&string)), cgoAllocsUnknown __ret := C.JSStringGetLength(cstring) - __v := (uint)(__ret) + runtime.KeepAlive(cstringAllocMap) + __v := (uint32)(__ret) return __v } // JSStringGetCharactersPtr function as declared in JavaScriptCore/JSStringRef.h:99 func JSStringGetCharactersPtr(string JSStringRef) *JSChar { - cstring, _ := *(*C.JSStringRef)(unsafe.Pointer(&string)), cgoAllocsUnknown + cstring, cstringAllocMap := *(*C.JSStringRef)(unsafe.Pointer(&string)), cgoAllocsUnknown __ret := C.JSStringGetCharactersPtr(cstring) + runtime.KeepAlive(cstringAllocMap) __v := *(**JSChar)(unsafe.Pointer(&__ret)) return __v } // JSStringGetMaximumUTF8CStringSize function as declared in JavaScriptCore/JSStringRef.h:111 -func JSStringGetMaximumUTF8CStringSize(string JSStringRef) uint { - cstring, _ := *(*C.JSStringRef)(unsafe.Pointer(&string)), cgoAllocsUnknown +func JSStringGetMaximumUTF8CStringSize(string JSStringRef) uint32 { + cstring, cstringAllocMap := *(*C.JSStringRef)(unsafe.Pointer(&string)), cgoAllocsUnknown __ret := C.JSStringGetMaximumUTF8CStringSize(cstring) - __v := (uint)(__ret) + runtime.KeepAlive(cstringAllocMap) + __v := (uint32)(__ret) return __v } // JSStringGetUTF8CString function as declared in JavaScriptCore/JSStringRef.h:125 -func JSStringGetUTF8CString(string JSStringRef, buffer []byte, bufferSize uint) uint { - cstring, _ := *(*C.JSStringRef)(unsafe.Pointer(&string)), cgoAllocsUnknown - cbuffer, _ := (*C.char)(unsafe.Pointer((*sliceHeader)(unsafe.Pointer(&buffer)).Data)), cgoAllocsUnknown - cbufferSize, _ := (C.size_t)(bufferSize), cgoAllocsUnknown +func JSStringGetUTF8CString(string JSStringRef, buffer []byte, bufferSize uint32) uint32 { + cstring, cstringAllocMap := *(*C.JSStringRef)(unsafe.Pointer(&string)), cgoAllocsUnknown + cbuffer, cbufferAllocMap := copyPCharBytes((*sliceHeader)(unsafe.Pointer(&buffer))) + cbufferSize, cbufferSizeAllocMap := (C.size_t)(bufferSize), cgoAllocsUnknown __ret := C.JSStringGetUTF8CString(cstring, cbuffer, cbufferSize) - __v := (uint)(__ret) + runtime.KeepAlive(cbufferSizeAllocMap) + runtime.KeepAlive(cbufferAllocMap) + runtime.KeepAlive(cstringAllocMap) + __v := (uint32)(__ret) return __v } // JSStringIsEqual function as declared in JavaScriptCore/JSStringRef.h:134 func JSStringIsEqual(a JSStringRef, b JSStringRef) bool { - ca, _ := *(*C.JSStringRef)(unsafe.Pointer(&a)), cgoAllocsUnknown - cb, _ := *(*C.JSStringRef)(unsafe.Pointer(&b)), cgoAllocsUnknown + ca, caAllocMap := *(*C.JSStringRef)(unsafe.Pointer(&a)), cgoAllocsUnknown + cb, cbAllocMap := *(*C.JSStringRef)(unsafe.Pointer(&b)), cgoAllocsUnknown __ret := C.JSStringIsEqual(ca, cb) + runtime.KeepAlive(cbAllocMap) + runtime.KeepAlive(caAllocMap) __v := (bool)(__ret) return __v } // JSStringIsEqualToUTF8CString function as declared in JavaScriptCore/JSStringRef.h:142 func JSStringIsEqualToUTF8CString(a JSStringRef, b string) bool { - ca, _ := *(*C.JSStringRef)(unsafe.Pointer(&a)), cgoAllocsUnknown + ca, caAllocMap := *(*C.JSStringRef)(unsafe.Pointer(&a)), cgoAllocsUnknown b = safeString(b) - cb, _ := unpackPCharString(b) + cb, cbAllocMap := unpackPCharString(b) __ret := C.JSStringIsEqualToUTF8CString(ca, cb) runtime.KeepAlive(b) + runtime.KeepAlive(cbAllocMap) + runtime.KeepAlive(caAllocMap) __v := (bool)(__ret) return __v } // JSObjectMakeTypedArray function as declared in JavaScriptCore/JSTypedArray.h:48 -func JSObjectMakeTypedArray(ctx JSContextRef, arrayType JSTypedArrayType, length uint, exception []JSValueRef) JSObjectRef { - cctx, _ := *(*C.JSContextRef)(unsafe.Pointer(&ctx)), cgoAllocsUnknown - carrayType, _ := (C.JSTypedArrayType)(arrayType), cgoAllocsUnknown - clength, _ := (C.size_t)(length), cgoAllocsUnknown - cexception, _ := (*C.JSValueRef)(unsafe.Pointer((*sliceHeader)(unsafe.Pointer(&exception)).Data)), cgoAllocsUnknown +func JSObjectMakeTypedArray(ctx JSContextRef, arrayType JSTypedArrayType, length uint32, exception []JSValueRef) JSObjectRef { + cctx, cctxAllocMap := *(*C.JSContextRef)(unsafe.Pointer(&ctx)), cgoAllocsUnknown + carrayType, carrayTypeAllocMap := (C.JSTypedArrayType)(arrayType), cgoAllocsUnknown + clength, clengthAllocMap := (C.size_t)(length), cgoAllocsUnknown + cexception, cexceptionAllocMap := copyPJSValueRefBytes((*sliceHeader)(unsafe.Pointer(&exception))) __ret := C.JSObjectMakeTypedArray(cctx, carrayType, clength, cexception) + runtime.KeepAlive(cexceptionAllocMap) + runtime.KeepAlive(clengthAllocMap) + runtime.KeepAlive(carrayTypeAllocMap) + runtime.KeepAlive(cctxAllocMap) __v := *(*JSObjectRef)(unsafe.Pointer(&__ret)) return __v } // JSObjectMakeTypedArrayWithBytesNoCopy function as declared in JavaScriptCore/JSTypedArray.h:63 -func JSObjectMakeTypedArrayWithBytesNoCopy(ctx JSContextRef, arrayType JSTypedArrayType, bytes unsafe.Pointer, byteLength uint, bytesDeallocator JSTypedArrayBytesDeallocator, deallocatorContext unsafe.Pointer, exception []JSValueRef) JSObjectRef { - cctx, _ := *(*C.JSContextRef)(unsafe.Pointer(&ctx)), cgoAllocsUnknown - carrayType, _ := (C.JSTypedArrayType)(arrayType), cgoAllocsUnknown - cbytes, _ := bytes, cgoAllocsUnknown - cbyteLength, _ := (C.size_t)(byteLength), cgoAllocsUnknown - cbytesDeallocator, _ := bytesDeallocator.PassValue() - cdeallocatorContext, _ := deallocatorContext, cgoAllocsUnknown - cexception, _ := (*C.JSValueRef)(unsafe.Pointer((*sliceHeader)(unsafe.Pointer(&exception)).Data)), cgoAllocsUnknown +func JSObjectMakeTypedArrayWithBytesNoCopy(ctx JSContextRef, arrayType JSTypedArrayType, bytes unsafe.Pointer, byteLength uint32, bytesDeallocator JSTypedArrayBytesDeallocator, deallocatorContext unsafe.Pointer, exception []JSValueRef) JSObjectRef { + cctx, cctxAllocMap := *(*C.JSContextRef)(unsafe.Pointer(&ctx)), cgoAllocsUnknown + carrayType, carrayTypeAllocMap := (C.JSTypedArrayType)(arrayType), cgoAllocsUnknown + cbytes, cbytesAllocMap := bytes, cgoAllocsUnknown + cbyteLength, cbyteLengthAllocMap := (C.size_t)(byteLength), cgoAllocsUnknown + cbytesDeallocator, cbytesDeallocatorAllocMap := bytesDeallocator.PassValue() + cdeallocatorContext, cdeallocatorContextAllocMap := deallocatorContext, cgoAllocsUnknown + cexception, cexceptionAllocMap := copyPJSValueRefBytes((*sliceHeader)(unsafe.Pointer(&exception))) __ret := C.JSObjectMakeTypedArrayWithBytesNoCopy(cctx, carrayType, cbytes, cbyteLength, cbytesDeallocator, cdeallocatorContext, cexception) + runtime.KeepAlive(cexceptionAllocMap) + runtime.KeepAlive(cdeallocatorContextAllocMap) + runtime.KeepAlive(cbytesDeallocatorAllocMap) + runtime.KeepAlive(cbyteLengthAllocMap) + runtime.KeepAlive(cbytesAllocMap) + runtime.KeepAlive(carrayTypeAllocMap) + runtime.KeepAlive(cctxAllocMap) __v := *(*JSObjectRef)(unsafe.Pointer(&__ret)) return __v } // JSObjectMakeTypedArrayWithArrayBuffer function as declared in JavaScriptCore/JSTypedArray.h:74 func JSObjectMakeTypedArrayWithArrayBuffer(ctx JSContextRef, arrayType JSTypedArrayType, buffer JSObjectRef, exception []JSValueRef) JSObjectRef { - cctx, _ := *(*C.JSContextRef)(unsafe.Pointer(&ctx)), cgoAllocsUnknown - carrayType, _ := (C.JSTypedArrayType)(arrayType), cgoAllocsUnknown - cbuffer, _ := *(*C.JSObjectRef)(unsafe.Pointer(&buffer)), cgoAllocsUnknown - cexception, _ := (*C.JSValueRef)(unsafe.Pointer((*sliceHeader)(unsafe.Pointer(&exception)).Data)), cgoAllocsUnknown + cctx, cctxAllocMap := *(*C.JSContextRef)(unsafe.Pointer(&ctx)), cgoAllocsUnknown + carrayType, carrayTypeAllocMap := (C.JSTypedArrayType)(arrayType), cgoAllocsUnknown + cbuffer, cbufferAllocMap := *(*C.JSObjectRef)(unsafe.Pointer(&buffer)), cgoAllocsUnknown + cexception, cexceptionAllocMap := copyPJSValueRefBytes((*sliceHeader)(unsafe.Pointer(&exception))) __ret := C.JSObjectMakeTypedArrayWithArrayBuffer(cctx, carrayType, cbuffer, cexception) + runtime.KeepAlive(cexceptionAllocMap) + runtime.KeepAlive(cbufferAllocMap) + runtime.KeepAlive(carrayTypeAllocMap) + runtime.KeepAlive(cctxAllocMap) __v := *(*JSObjectRef)(unsafe.Pointer(&__ret)) return __v } // JSObjectMakeTypedArrayWithArrayBufferAndOffset function as declared in JavaScriptCore/JSTypedArray.h:87 -func JSObjectMakeTypedArrayWithArrayBufferAndOffset(ctx JSContextRef, arrayType JSTypedArrayType, buffer JSObjectRef, byteOffset uint, length uint, exception []JSValueRef) JSObjectRef { - cctx, _ := *(*C.JSContextRef)(unsafe.Pointer(&ctx)), cgoAllocsUnknown - carrayType, _ := (C.JSTypedArrayType)(arrayType), cgoAllocsUnknown - cbuffer, _ := *(*C.JSObjectRef)(unsafe.Pointer(&buffer)), cgoAllocsUnknown - cbyteOffset, _ := (C.size_t)(byteOffset), cgoAllocsUnknown - clength, _ := (C.size_t)(length), cgoAllocsUnknown - cexception, _ := (*C.JSValueRef)(unsafe.Pointer((*sliceHeader)(unsafe.Pointer(&exception)).Data)), cgoAllocsUnknown +func JSObjectMakeTypedArrayWithArrayBufferAndOffset(ctx JSContextRef, arrayType JSTypedArrayType, buffer JSObjectRef, byteOffset uint32, length uint32, exception []JSValueRef) JSObjectRef { + cctx, cctxAllocMap := *(*C.JSContextRef)(unsafe.Pointer(&ctx)), cgoAllocsUnknown + carrayType, carrayTypeAllocMap := (C.JSTypedArrayType)(arrayType), cgoAllocsUnknown + cbuffer, cbufferAllocMap := *(*C.JSObjectRef)(unsafe.Pointer(&buffer)), cgoAllocsUnknown + cbyteOffset, cbyteOffsetAllocMap := (C.size_t)(byteOffset), cgoAllocsUnknown + clength, clengthAllocMap := (C.size_t)(length), cgoAllocsUnknown + cexception, cexceptionAllocMap := copyPJSValueRefBytes((*sliceHeader)(unsafe.Pointer(&exception))) __ret := C.JSObjectMakeTypedArrayWithArrayBufferAndOffset(cctx, carrayType, cbuffer, cbyteOffset, clength, cexception) + runtime.KeepAlive(cexceptionAllocMap) + runtime.KeepAlive(clengthAllocMap) + runtime.KeepAlive(cbyteOffsetAllocMap) + runtime.KeepAlive(cbufferAllocMap) + runtime.KeepAlive(carrayTypeAllocMap) + runtime.KeepAlive(cctxAllocMap) __v := *(*JSObjectRef)(unsafe.Pointer(&__ret)) return __v } // JSObjectGetTypedArrayBytesPtr function as declared in JavaScriptCore/JSTypedArray.h:98 func JSObjectGetTypedArrayBytesPtr(ctx JSContextRef, object JSObjectRef, exception []JSValueRef) unsafe.Pointer { - cctx, _ := *(*C.JSContextRef)(unsafe.Pointer(&ctx)), cgoAllocsUnknown - cobject, _ := *(*C.JSObjectRef)(unsafe.Pointer(&object)), cgoAllocsUnknown - cexception, _ := (*C.JSValueRef)(unsafe.Pointer((*sliceHeader)(unsafe.Pointer(&exception)).Data)), cgoAllocsUnknown + cctx, cctxAllocMap := *(*C.JSContextRef)(unsafe.Pointer(&ctx)), cgoAllocsUnknown + cobject, cobjectAllocMap := *(*C.JSObjectRef)(unsafe.Pointer(&object)), cgoAllocsUnknown + cexception, cexceptionAllocMap := copyPJSValueRefBytes((*sliceHeader)(unsafe.Pointer(&exception))) __ret := C.JSObjectGetTypedArrayBytesPtr(cctx, cobject, cexception) + runtime.KeepAlive(cexceptionAllocMap) + runtime.KeepAlive(cobjectAllocMap) + runtime.KeepAlive(cctxAllocMap) __v := *(*unsafe.Pointer)(unsafe.Pointer(&__ret)) return __v } // JSObjectGetTypedArrayLength function as declared in JavaScriptCore/JSTypedArray.h:108 -func JSObjectGetTypedArrayLength(ctx JSContextRef, object JSObjectRef, exception []JSValueRef) uint { - cctx, _ := *(*C.JSContextRef)(unsafe.Pointer(&ctx)), cgoAllocsUnknown - cobject, _ := *(*C.JSObjectRef)(unsafe.Pointer(&object)), cgoAllocsUnknown - cexception, _ := (*C.JSValueRef)(unsafe.Pointer((*sliceHeader)(unsafe.Pointer(&exception)).Data)), cgoAllocsUnknown +func JSObjectGetTypedArrayLength(ctx JSContextRef, object JSObjectRef, exception []JSValueRef) uint32 { + cctx, cctxAllocMap := *(*C.JSContextRef)(unsafe.Pointer(&ctx)), cgoAllocsUnknown + cobject, cobjectAllocMap := *(*C.JSObjectRef)(unsafe.Pointer(&object)), cgoAllocsUnknown + cexception, cexceptionAllocMap := copyPJSValueRefBytes((*sliceHeader)(unsafe.Pointer(&exception))) __ret := C.JSObjectGetTypedArrayLength(cctx, cobject, cexception) - __v := (uint)(__ret) + runtime.KeepAlive(cexceptionAllocMap) + runtime.KeepAlive(cobjectAllocMap) + runtime.KeepAlive(cctxAllocMap) + __v := (uint32)(__ret) return __v } // JSObjectGetTypedArrayByteLength function as declared in JavaScriptCore/JSTypedArray.h:118 -func JSObjectGetTypedArrayByteLength(ctx JSContextRef, object JSObjectRef, exception []JSValueRef) uint { - cctx, _ := *(*C.JSContextRef)(unsafe.Pointer(&ctx)), cgoAllocsUnknown - cobject, _ := *(*C.JSObjectRef)(unsafe.Pointer(&object)), cgoAllocsUnknown - cexception, _ := (*C.JSValueRef)(unsafe.Pointer((*sliceHeader)(unsafe.Pointer(&exception)).Data)), cgoAllocsUnknown +func JSObjectGetTypedArrayByteLength(ctx JSContextRef, object JSObjectRef, exception []JSValueRef) uint32 { + cctx, cctxAllocMap := *(*C.JSContextRef)(unsafe.Pointer(&ctx)), cgoAllocsUnknown + cobject, cobjectAllocMap := *(*C.JSObjectRef)(unsafe.Pointer(&object)), cgoAllocsUnknown + cexception, cexceptionAllocMap := copyPJSValueRefBytes((*sliceHeader)(unsafe.Pointer(&exception))) __ret := C.JSObjectGetTypedArrayByteLength(cctx, cobject, cexception) - __v := (uint)(__ret) + runtime.KeepAlive(cexceptionAllocMap) + runtime.KeepAlive(cobjectAllocMap) + runtime.KeepAlive(cctxAllocMap) + __v := (uint32)(__ret) return __v } // JSObjectGetTypedArrayByteOffset function as declared in JavaScriptCore/JSTypedArray.h:128 -func JSObjectGetTypedArrayByteOffset(ctx JSContextRef, object JSObjectRef, exception []JSValueRef) uint { - cctx, _ := *(*C.JSContextRef)(unsafe.Pointer(&ctx)), cgoAllocsUnknown - cobject, _ := *(*C.JSObjectRef)(unsafe.Pointer(&object)), cgoAllocsUnknown - cexception, _ := (*C.JSValueRef)(unsafe.Pointer((*sliceHeader)(unsafe.Pointer(&exception)).Data)), cgoAllocsUnknown +func JSObjectGetTypedArrayByteOffset(ctx JSContextRef, object JSObjectRef, exception []JSValueRef) uint32 { + cctx, cctxAllocMap := *(*C.JSContextRef)(unsafe.Pointer(&ctx)), cgoAllocsUnknown + cobject, cobjectAllocMap := *(*C.JSObjectRef)(unsafe.Pointer(&object)), cgoAllocsUnknown + cexception, cexceptionAllocMap := copyPJSValueRefBytes((*sliceHeader)(unsafe.Pointer(&exception))) __ret := C.JSObjectGetTypedArrayByteOffset(cctx, cobject, cexception) - __v := (uint)(__ret) + runtime.KeepAlive(cexceptionAllocMap) + runtime.KeepAlive(cobjectAllocMap) + runtime.KeepAlive(cctxAllocMap) + __v := (uint32)(__ret) return __v } // JSObjectGetTypedArrayBuffer function as declared in JavaScriptCore/JSTypedArray.h:138 func JSObjectGetTypedArrayBuffer(ctx JSContextRef, object JSObjectRef, exception []JSValueRef) JSObjectRef { - cctx, _ := *(*C.JSContextRef)(unsafe.Pointer(&ctx)), cgoAllocsUnknown - cobject, _ := *(*C.JSObjectRef)(unsafe.Pointer(&object)), cgoAllocsUnknown - cexception, _ := (*C.JSValueRef)(unsafe.Pointer((*sliceHeader)(unsafe.Pointer(&exception)).Data)), cgoAllocsUnknown + cctx, cctxAllocMap := *(*C.JSContextRef)(unsafe.Pointer(&ctx)), cgoAllocsUnknown + cobject, cobjectAllocMap := *(*C.JSObjectRef)(unsafe.Pointer(&object)), cgoAllocsUnknown + cexception, cexceptionAllocMap := copyPJSValueRefBytes((*sliceHeader)(unsafe.Pointer(&exception))) __ret := C.JSObjectGetTypedArrayBuffer(cctx, cobject, cexception) + runtime.KeepAlive(cexceptionAllocMap) + runtime.KeepAlive(cobjectAllocMap) + runtime.KeepAlive(cctxAllocMap) __v := *(*JSObjectRef)(unsafe.Pointer(&__ret)) return __v } // JSObjectMakeArrayBufferWithBytesNoCopy function as declared in JavaScriptCore/JSTypedArray.h:154 -func JSObjectMakeArrayBufferWithBytesNoCopy(ctx JSContextRef, bytes unsafe.Pointer, byteLength uint, bytesDeallocator JSTypedArrayBytesDeallocator, deallocatorContext unsafe.Pointer, exception []JSValueRef) JSObjectRef { - cctx, _ := *(*C.JSContextRef)(unsafe.Pointer(&ctx)), cgoAllocsUnknown - cbytes, _ := bytes, cgoAllocsUnknown - cbyteLength, _ := (C.size_t)(byteLength), cgoAllocsUnknown - cbytesDeallocator, _ := bytesDeallocator.PassValue() - cdeallocatorContext, _ := deallocatorContext, cgoAllocsUnknown - cexception, _ := (*C.JSValueRef)(unsafe.Pointer((*sliceHeader)(unsafe.Pointer(&exception)).Data)), cgoAllocsUnknown +func JSObjectMakeArrayBufferWithBytesNoCopy(ctx JSContextRef, bytes unsafe.Pointer, byteLength uint32, bytesDeallocator JSTypedArrayBytesDeallocator, deallocatorContext unsafe.Pointer, exception []JSValueRef) JSObjectRef { + cctx, cctxAllocMap := *(*C.JSContextRef)(unsafe.Pointer(&ctx)), cgoAllocsUnknown + cbytes, cbytesAllocMap := bytes, cgoAllocsUnknown + cbyteLength, cbyteLengthAllocMap := (C.size_t)(byteLength), cgoAllocsUnknown + cbytesDeallocator, cbytesDeallocatorAllocMap := bytesDeallocator.PassValue() + cdeallocatorContext, cdeallocatorContextAllocMap := deallocatorContext, cgoAllocsUnknown + cexception, cexceptionAllocMap := copyPJSValueRefBytes((*sliceHeader)(unsafe.Pointer(&exception))) __ret := C.JSObjectMakeArrayBufferWithBytesNoCopy(cctx, cbytes, cbyteLength, cbytesDeallocator, cdeallocatorContext, cexception) + runtime.KeepAlive(cexceptionAllocMap) + runtime.KeepAlive(cdeallocatorContextAllocMap) + runtime.KeepAlive(cbytesDeallocatorAllocMap) + runtime.KeepAlive(cbyteLengthAllocMap) + runtime.KeepAlive(cbytesAllocMap) + runtime.KeepAlive(cctxAllocMap) __v := *(*JSObjectRef)(unsafe.Pointer(&__ret)) return __v } // JSObjectGetArrayBufferBytesPtr function as declared in JavaScriptCore/JSTypedArray.h:164 func JSObjectGetArrayBufferBytesPtr(ctx JSContextRef, object JSObjectRef, exception []JSValueRef) unsafe.Pointer { - cctx, _ := *(*C.JSContextRef)(unsafe.Pointer(&ctx)), cgoAllocsUnknown - cobject, _ := *(*C.JSObjectRef)(unsafe.Pointer(&object)), cgoAllocsUnknown - cexception, _ := (*C.JSValueRef)(unsafe.Pointer((*sliceHeader)(unsafe.Pointer(&exception)).Data)), cgoAllocsUnknown + cctx, cctxAllocMap := *(*C.JSContextRef)(unsafe.Pointer(&ctx)), cgoAllocsUnknown + cobject, cobjectAllocMap := *(*C.JSObjectRef)(unsafe.Pointer(&object)), cgoAllocsUnknown + cexception, cexceptionAllocMap := copyPJSValueRefBytes((*sliceHeader)(unsafe.Pointer(&exception))) __ret := C.JSObjectGetArrayBufferBytesPtr(cctx, cobject, cexception) + runtime.KeepAlive(cexceptionAllocMap) + runtime.KeepAlive(cobjectAllocMap) + runtime.KeepAlive(cctxAllocMap) __v := *(*unsafe.Pointer)(unsafe.Pointer(&__ret)) return __v } // JSObjectGetArrayBufferByteLength function as declared in JavaScriptCore/JSTypedArray.h:174 -func JSObjectGetArrayBufferByteLength(ctx JSContextRef, object JSObjectRef, exception []JSValueRef) uint { - cctx, _ := *(*C.JSContextRef)(unsafe.Pointer(&ctx)), cgoAllocsUnknown - cobject, _ := *(*C.JSObjectRef)(unsafe.Pointer(&object)), cgoAllocsUnknown - cexception, _ := (*C.JSValueRef)(unsafe.Pointer((*sliceHeader)(unsafe.Pointer(&exception)).Data)), cgoAllocsUnknown +func JSObjectGetArrayBufferByteLength(ctx JSContextRef, object JSObjectRef, exception []JSValueRef) uint32 { + cctx, cctxAllocMap := *(*C.JSContextRef)(unsafe.Pointer(&ctx)), cgoAllocsUnknown + cobject, cobjectAllocMap := *(*C.JSObjectRef)(unsafe.Pointer(&object)), cgoAllocsUnknown + cexception, cexceptionAllocMap := copyPJSValueRefBytes((*sliceHeader)(unsafe.Pointer(&exception))) __ret := C.JSObjectGetArrayBufferByteLength(cctx, cobject, cexception) - __v := (uint)(__ret) + runtime.KeepAlive(cexceptionAllocMap) + runtime.KeepAlive(cobjectAllocMap) + runtime.KeepAlive(cctxAllocMap) + __v := (uint32)(__ret) return __v }