nftychat-universe 0.1.23 → 0.1.24

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/package.json +2 -2
  2. package/dist/index.cjs.js +0 -4343
package/dist/index.cjs.js DELETED
@@ -1,4343 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var rainbowkit = require('@rainbow-me/rainbowkit');
6
- var React = require('react');
7
- var wagmi = require('wagmi');
8
- var _public = require('wagmi/providers/public');
9
- var require$$18 = require('react/jsx-runtime');
10
-
11
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
12
-
13
- function _interopNamespace(e) {
14
- if (e && e.__esModule) return e;
15
- var n = Object.create(null);
16
- if (e) {
17
- Object.keys(e).forEach(function (k) {
18
- if (k !== 'default') {
19
- var d = Object.getOwnPropertyDescriptor(e, k);
20
- Object.defineProperty(n, k, d.get ? d : {
21
- enumerable: true,
22
- get: function () { return e[k]; }
23
- });
24
- }
25
- });
26
- }
27
- n["default"] = e;
28
- return Object.freeze(n);
29
- }
30
-
31
- var React__namespace = /*#__PURE__*/_interopNamespace(React);
32
- var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
33
-
34
- var e$1=[],t$1=[];function n$2(n,r){if(n&&"undefined"!=typeof document){var a,s=!0===r.prepend?"prepend":"append",d=!0===r.singleTag,i="string"==typeof r.container?document.querySelector(r.container):document.getElementsByTagName("head")[0];if(d){var u=e$1.indexOf(i);-1===u&&(u=e$1.push(i)-1,t$1[u]={}),a=t$1[u]&&t$1[u][s]?t$1[u][s]:t$1[u][s]=c();}else a=c();65279===n.charCodeAt(0)&&(n=n.substring(1)),a.styleSheet?a.styleSheet.cssText+=n:a.appendChild(document.createTextNode(n));}function c(){var e=document.createElement("style");if(e.setAttribute("type","text/css"),r.attributes)for(var t=Object.keys(r.attributes),n=0;n<t.length;n++)e.setAttribute(t[n],r.attributes[t[n]]);var a="prepend"===s?"afterbegin":"beforeend";return i.insertAdjacentElement(a,e),e}}
35
-
36
- var css$1 = "/* vanilla-extract-css-ns:@rainbow-me/rainbowkit/src/css/reset.css.ts.vanilla.css?source=Lmlla2JjYzAgewogIGJvcmRlcjogMDsKICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogIGZvbnQtc2l6ZTogMTAwJTsKICBsaW5lLWhlaWdodDogbm9ybWFsOwogIG1hcmdpbjogMDsKICBwYWRkaW5nOiAwOwogIHRleHQtYWxpZ246IGxlZnQ7CiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOwogIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7Cn0KLmlla2JjYzEgewogIGxpc3Qtc3R5bGU6IG5vbmU7Cn0KLmlla2JjYzIgewogIHF1b3Rlczogbm9uZTsKfQouaWVrYmNjMjpiZWZvcmUsIC5pZWtiY2MyOmFmdGVyIHsKICBjb250ZW50OiAnJzsKfQouaWVrYmNjMyB7CiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTsKICBib3JkZXItc3BhY2luZzogMDsKfQouaWVrYmNjNCB7CiAgYXBwZWFyYW5jZTogbm9uZTsKfQouaWVrYmNjNSB7CiAgb3V0bGluZTogbm9uZTsKfQouaWVrYmNjNTo6cGxhY2Vob2xkZXIgewogIG9wYWNpdHk6IDE7Cn0KLmlla2JjYzYgewogIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OwogIGNvbG9yOiBpbmhlcml0Owp9Ci5pZWtiY2M3OmRpc2FibGVkIHsKICBvcGFjaXR5OiAxOwp9Ci5pZWtiY2M3OjotbXMtZXhwYW5kIHsKICBkaXNwbGF5OiBub25lOwp9Ci5pZWtiY2M4OjotbXMtY2xlYXIgewogIGRpc3BsYXk6IG5vbmU7Cn0KLmlla2JjYzg6Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24gewogIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsKfQouaWVrYmNjOSB7CiAgYmFja2dyb3VuZDogbm9uZTsKICBjdXJzb3I6IHBvaW50ZXI7CiAgdGV4dC1hbGlnbjogbGVmdDsKfQouaWVrYmNjYSB7CiAgY29sb3I6IGluaGVyaXQ7CiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwp9 */\n[data-rk] .iekbcc0 {\n border: 0;\n box-sizing: border-box;\n font-size: 100%;\n line-height: normal;\n margin: 0;\n padding: 0;\n text-align: left;\n vertical-align: baseline;\n -webkit-tap-highlight-color: transparent;\n}\n[data-rk] .iekbcc1 {\n list-style: none;\n}\n[data-rk] .iekbcc2 {\n quotes: none;\n}\n[data-rk] .iekbcc2:before,\n[data-rk] .iekbcc2:after {\n content: \"\";\n}\n[data-rk] .iekbcc3 {\n border-collapse: collapse;\n border-spacing: 0;\n}\n[data-rk] .iekbcc4 {\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n}\n[data-rk] .iekbcc5 {\n outline: none;\n}\n[data-rk] .iekbcc5::-moz-placeholder {\n opacity: 1;\n}\n[data-rk] .iekbcc5:-ms-input-placeholder {\n opacity: 1;\n}\n[data-rk] .iekbcc5::placeholder {\n opacity: 1;\n}\n[data-rk] .iekbcc6 {\n background-color: transparent;\n color: inherit;\n}\n[data-rk] .iekbcc7:disabled {\n opacity: 1;\n}\n[data-rk] .iekbcc7::-ms-expand {\n display: none;\n}\n[data-rk] .iekbcc8::-ms-clear {\n display: none;\n}\n[data-rk] .iekbcc8::-webkit-search-cancel-button {\n -webkit-appearance: none;\n}\n[data-rk] .iekbcc9 {\n background: none;\n cursor: pointer;\n text-align: left;\n}\n[data-rk] .iekbcca {\n color: inherit;\n text-decoration: none;\n}\n\n/* vanilla-extract-css-ns:@rainbow-me/rainbowkit/src/css/sprinkles.css.ts.vanilla.css?source=Lmp1MzY3djAgewogIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0Owp9Ci5qdTM2N3YyIHsKICBhbGlnbi1pdGVtczogZmxleC1lbmQ7Cn0KLmp1MzY3djQgewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7Cn0KLmp1MzY3djYgewogIGRpc3BsYXk6IG5vbmU7Cn0KLmp1MzY3djggewogIGRpc3BsYXk6IGJsb2NrOwp9Ci5qdTM2N3ZhIHsKICBkaXNwbGF5OiBmbGV4Owp9Ci5qdTM2N3ZjIHsKICBkaXNwbGF5OiBpbmxpbmU7Cn0KLmp1MzY3dmUgewogIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7Cn0KLmp1MzY3dmYgewogIGFsaWduLXNlbGY6IGZsZXgtZW5kOwp9Ci5qdTM2N3ZnIHsKICBhbGlnbi1zZWxmOiBjZW50ZXI7Cn0KLmp1MzY3dmggewogIGJhY2tncm91bmQtc2l6ZTogY292ZXI7Cn0KLmp1MzY3dmkgewogIGJvcmRlci1yYWRpdXM6IDFweDsKfQouanUzNjd2aiB7CiAgYm9yZGVyLXJhZGl1czogNnB4Owp9Ci5qdTM2N3ZrIHsKICBib3JkZXItcmFkaXVzOiAxMHB4Owp9Ci5qdTM2N3ZsIHsKICBib3JkZXItcmFkaXVzOiAxM3B4Owp9Ci5qdTM2N3ZtIHsKICBib3JkZXItcmFkaXVzOiB2YXIoLS1yay1yYWRpaS1hY3Rpb25CdXR0b24pOwp9Ci5qdTM2N3ZuIHsKICBib3JkZXItcmFkaXVzOiB2YXIoLS1yay1yYWRpaS1jb25uZWN0QnV0dG9uKTsKfQouanUzNjd2byB7CiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmstcmFkaWktbWVudUJ1dHRvbik7Cn0KLmp1MzY3dnAgewogIGJvcmRlci1yYWRpdXM6IHZhcigtLXJrLXJhZGlpLW1vZGFsKTsKfQouanUzNjd2cSB7CiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmstcmFkaWktbW9kYWxNb2JpbGUpOwp9Ci5qdTM2N3ZyIHsKICBib3JkZXItcmFkaXVzOiAyNSU7Cn0KLmp1MzY3dnMgewogIGJvcmRlci1yYWRpdXM6IDk5OTlweDsKfQouanUzNjd2dCB7CiAgYm9yZGVyLXN0eWxlOiBzb2xpZDsKfQouanUzNjd2dSB7CiAgYm9yZGVyLXdpZHRoOiAwcHg7Cn0KLmp1MzY3dnYgewogIGJvcmRlci13aWR0aDogMXB4Owp9Ci5qdTM2N3Z3IHsKICBib3JkZXItd2lkdGg6IDJweDsKfQouanUzNjd2eCB7CiAgYm9yZGVyLXdpZHRoOiA0cHg7Cn0KLmp1MzY3dnkgewogIGN1cnNvcjogcG9pbnRlcjsKfQouanUzNjd2eiB7CiAgZmxleC1kaXJlY3Rpb246IHJvdzsKfQouanUzNjd2MTAgewogIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47Cn0KLmp1MzY3djExIHsKICBmb250LWZhbWlseTogdmFyKC0tcmstZm9udHMtYm9keSk7Cn0KLmp1MzY3djEyIHsKICBmb250LXNpemU6IDEycHg7CiAgbGluZS1oZWlnaHQ6IDE4cHg7Cn0KLmp1MzY3djEzIHsKICBmb250LXNpemU6IDEzcHg7CiAgbGluZS1oZWlnaHQ6IDE4cHg7Cn0KLmp1MzY3djE0IHsKICBmb250LXNpemU6IDE0cHg7CiAgbGluZS1oZWlnaHQ6IDE4cHg7Cn0KLmp1MzY3djE1IHsKICBmb250LXNpemU6IDE2cHg7CiAgbGluZS1oZWlnaHQ6IDIwcHg7Cn0KLmp1MzY3djE2IHsKICBmb250LXNpemU6IDE4cHg7CiAgbGluZS1oZWlnaHQ6IDI0cHg7Cn0KLmp1MzY3djE3IHsKICBmb250LXNpemU6IDIwcHg7CiAgbGluZS1oZWlnaHQ6IDI0cHg7Cn0KLmp1MzY3djE4IHsKICBmb250LXNpemU6IDIzcHg7CiAgbGluZS1oZWlnaHQ6IDI5cHg7Cn0KLmp1MzY3djE5IHsKICBmb250LXdlaWdodDogNDAwOwp9Ci5qdTM2N3YxYSB7CiAgZm9udC13ZWlnaHQ6IDUwMDsKfQouanUzNjd2MWIgewogIGZvbnQtd2VpZ2h0OiA2MDA7Cn0KLmp1MzY3djFjIHsKICBmb250LXdlaWdodDogNzAwOwp9Ci5qdTM2N3YxZCB7CiAgZm9udC13ZWlnaHQ6IDgwMDsKfQouanUzNjd2MWUgewogIGdhcDogMDsKfQouanUzNjd2MWYgewogIGdhcDogMXB4Owp9Ci5qdTM2N3YxZyB7CiAgZ2FwOiAycHg7Cn0KLmp1MzY3djFoIHsKICBnYXA6IDNweDsKfQouanUzNjd2MWkgewogIGdhcDogNHB4Owp9Ci5qdTM2N3YxaiB7CiAgZ2FwOiA1cHg7Cn0KLmp1MzY3djFrIHsKICBnYXA6IDZweDsKfQouanUzNjd2MWwgewogIGdhcDogOHB4Owp9Ci5qdTM2N3YxbSB7CiAgZ2FwOiAxMHB4Owp9Ci5qdTM2N3YxbiB7CiAgZ2FwOiAxMnB4Owp9Ci5qdTM2N3YxbyB7CiAgZ2FwOiAxNHB4Owp9Ci5qdTM2N3YxcCB7CiAgZ2FwOiAxNnB4Owp9Ci5qdTM2N3YxcSB7CiAgZ2FwOiAxOHB4Owp9Ci5qdTM2N3YxciB7CiAgZ2FwOiAyMHB4Owp9Ci5qdTM2N3YxcyB7CiAgZ2FwOiAyNHB4Owp9Ci5qdTM2N3YxdCB7CiAgZ2FwOiAyOHB4Owp9Ci5qdTM2N3YxdSB7CiAgZ2FwOiAzMnB4Owp9Ci5qdTM2N3YxdiB7CiAgZ2FwOiAzNnB4Owp9Ci5qdTM2N3YxdyB7CiAgZ2FwOiA0NHB4Owp9Ci5qdTM2N3YxeCB7CiAgZ2FwOiA2NHB4Owp9Ci5qdTM2N3YxeSB7CiAgZ2FwOiAtMXB4Owp9Ci5qdTM2N3YxeiB7CiAgaGVpZ2h0OiAxcHg7Cn0KLmp1MzY3djIwIHsKICBoZWlnaHQ6IDJweDsKfQouanUzNjd2MjEgewogIGhlaWdodDogNHB4Owp9Ci5qdTM2N3YyMiB7CiAgaGVpZ2h0OiA4cHg7Cn0KLmp1MzY3djIzIHsKICBoZWlnaHQ6IDEycHg7Cn0KLmp1MzY3djI0IHsKICBoZWlnaHQ6IDIwcHg7Cn0KLmp1MzY3djI1IHsKICBoZWlnaHQ6IDI0cHg7Cn0KLmp1MzY3djI2IHsKICBoZWlnaHQ6IDI4cHg7Cn0KLmp1MzY3djI3IHsKICBoZWlnaHQ6IDMwcHg7Cn0KLmp1MzY3djI4IHsKICBoZWlnaHQ6IDMycHg7Cn0KLmp1MzY3djI5IHsKICBoZWlnaHQ6IDM0cHg7Cn0KLmp1MzY3djJhIHsKICBoZWlnaHQ6IDM2cHg7Cn0KLmp1MzY3djJiIHsKICBoZWlnaHQ6IDQwcHg7Cn0KLmp1MzY3djJjIHsKICBoZWlnaHQ6IDQ0cHg7Cn0KLmp1MzY3djJkIHsKICBoZWlnaHQ6IDQ4cHg7Cn0KLmp1MzY3djJlIHsKICBoZWlnaHQ6IDU0cHg7Cn0KLmp1MzY3djJmIHsKICBoZWlnaHQ6IDYwcHg7Cn0KLmp1MzY3djJnIHsKICBoZWlnaHQ6IDM2MHB4Owp9Ci5qdTM2N3YyaCB7CiAgaGVpZ2h0OiAxMDAlOwp9Ci5qdTM2N3YyaSB7CiAgaGVpZ2h0OiBtYXgtY29udGVudDsKfQouanUzNjd2MmogewogIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsKfQouanUzNjd2MmsgewogIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7Cn0KLmp1MzY3djJsIHsKICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKfQouanUzNjd2Mm0gewogIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKfQouanUzNjd2Mm4gewogIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kOwp9Ci5qdTM2N3YybyB7CiAgdGV4dC1hbGlnbjogbGVmdDsKfQouanUzNjd2MnAgewogIHRleHQtYWxpZ246IGNlbnRlcjsKfQouanUzNjd2MnEgewogIHRleHQtYWxpZ246IGluaGVyaXQ7Cn0KLmp1MzY3djJyIHsKICBtYXJnaW4tYm90dG9tOiAwOwp9Ci5qdTM2N3YycyB7CiAgbWFyZ2luLWJvdHRvbTogMXB4Owp9Ci5qdTM2N3YydCB7CiAgbWFyZ2luLWJvdHRvbTogMnB4Owp9Ci5qdTM2N3YydSB7CiAgbWFyZ2luLWJvdHRvbTogM3B4Owp9Ci5qdTM2N3YydiB7CiAgbWFyZ2luLWJvdHRvbTogNHB4Owp9Ci5qdTM2N3YydyB7CiAgbWFyZ2luLWJvdHRvbTogNXB4Owp9Ci5qdTM2N3YyeCB7CiAgbWFyZ2luLWJvdHRvbTogNnB4Owp9Ci5qdTM2N3YyeSB7CiAgbWFyZ2luLWJvdHRvbTogOHB4Owp9Ci5qdTM2N3YyeiB7CiAgbWFyZ2luLWJvdHRvbTogMTBweDsKfQouanUzNjd2MzAgewogIG1hcmdpbi1ib3R0b206IDEycHg7Cn0KLmp1MzY3djMxIHsKICBtYXJnaW4tYm90dG9tOiAxNHB4Owp9Ci5qdTM2N3YzMiB7CiAgbWFyZ2luLWJvdHRvbTogMTZweDsKfQouanUzNjd2MzMgewogIG1hcmdpbi1ib3R0b206IDE4cHg7Cn0KLmp1MzY3djM0IHsKICBtYXJnaW4tYm90dG9tOiAyMHB4Owp9Ci5qdTM2N3YzNSB7CiAgbWFyZ2luLWJvdHRvbTogMjRweDsKfQouanUzNjd2MzYgewogIG1hcmdpbi1ib3R0b206IDI4cHg7Cn0KLmp1MzY3djM3IHsKICBtYXJnaW4tYm90dG9tOiAzMnB4Owp9Ci5qdTM2N3YzOCB7CiAgbWFyZ2luLWJvdHRvbTogMzZweDsKfQouanUzNjd2MzkgewogIG1hcmdpbi1ib3R0b206IDQ0cHg7Cn0KLmp1MzY3djNhIHsKICBtYXJnaW4tYm90dG9tOiA2NHB4Owp9Ci5qdTM2N3YzYiB7CiAgbWFyZ2luLWJvdHRvbTogLTFweDsKfQouanUzNjd2M2MgewogIG1hcmdpbi1sZWZ0OiAwOwp9Ci5qdTM2N3YzZCB7CiAgbWFyZ2luLWxlZnQ6IDFweDsKfQouanUzNjd2M2UgewogIG1hcmdpbi1sZWZ0OiAycHg7Cn0KLmp1MzY3djNmIHsKICBtYXJnaW4tbGVmdDogM3B4Owp9Ci5qdTM2N3YzZyB7CiAgbWFyZ2luLWxlZnQ6IDRweDsKfQouanUzNjd2M2ggewogIG1hcmdpbi1sZWZ0OiA1cHg7Cn0KLmp1MzY3djNpIHsKICBtYXJnaW4tbGVmdDogNnB4Owp9Ci5qdTM2N3YzaiB7CiAgbWFyZ2luLWxlZnQ6IDhweDsKfQouanUzNjd2M2sgewogIG1hcmdpbi1sZWZ0OiAxMHB4Owp9Ci5qdTM2N3YzbCB7CiAgbWFyZ2luLWxlZnQ6IDEycHg7Cn0KLmp1MzY3djNtIHsKICBtYXJnaW4tbGVmdDogMTRweDsKfQouanUzNjd2M24gewogIG1hcmdpbi1sZWZ0OiAxNnB4Owp9Ci5qdTM2N3YzbyB7CiAgbWFyZ2luLWxlZnQ6IDE4cHg7Cn0KLmp1MzY3djNwIHsKICBtYXJnaW4tbGVmdDogMjBweDsKfQouanUzNjd2M3EgewogIG1hcmdpbi1sZWZ0OiAyNHB4Owp9Ci5qdTM2N3YzciB7CiAgbWFyZ2luLWxlZnQ6IDI4cHg7Cn0KLmp1MzY3djNzIHsKICBtYXJnaW4tbGVmdDogMzJweDsKfQouanUzNjd2M3QgewogIG1hcmdpbi1sZWZ0OiAzNnB4Owp9Ci5qdTM2N3YzdSB7CiAgbWFyZ2luLWxlZnQ6IDQ0cHg7Cn0KLmp1MzY3djN2IHsKICBtYXJnaW4tbGVmdDogNjRweDsKfQouanUzNjd2M3cgewogIG1hcmdpbi1sZWZ0OiAtMXB4Owp9Ci5qdTM2N3YzeCB7CiAgbWFyZ2luLXJpZ2h0OiAwOwp9Ci5qdTM2N3YzeSB7CiAgbWFyZ2luLXJpZ2h0OiAxcHg7Cn0KLmp1MzY3djN6IHsKICBtYXJnaW4tcmlnaHQ6IDJweDsKfQouanUzNjd2NDAgewogIG1hcmdpbi1yaWdodDogM3B4Owp9Ci5qdTM2N3Y0MSB7CiAgbWFyZ2luLXJpZ2h0OiA0cHg7Cn0KLmp1MzY3djQyIHsKICBtYXJnaW4tcmlnaHQ6IDVweDsKfQouanUzNjd2NDMgewogIG1hcmdpbi1yaWdodDogNnB4Owp9Ci5qdTM2N3Y0NCB7CiAgbWFyZ2luLXJpZ2h0OiA4cHg7Cn0KLmp1MzY3djQ1IHsKICBtYXJnaW4tcmlnaHQ6IDEwcHg7Cn0KLmp1MzY3djQ2IHsKICBtYXJnaW4tcmlnaHQ6IDEycHg7Cn0KLmp1MzY3djQ3IHsKICBtYXJnaW4tcmlnaHQ6IDE0cHg7Cn0KLmp1MzY3djQ4IHsKICBtYXJnaW4tcmlnaHQ6IDE2cHg7Cn0KLmp1MzY3djQ5IHsKICBtYXJnaW4tcmlnaHQ6IDE4cHg7Cn0KLmp1MzY3djRhIHsKICBtYXJnaW4tcmlnaHQ6IDIwcHg7Cn0KLmp1MzY3djRiIHsKICBtYXJnaW4tcmlnaHQ6IDI0cHg7Cn0KLmp1MzY3djRjIHsKICBtYXJnaW4tcmlnaHQ6IDI4cHg7Cn0KLmp1MzY3djRkIHsKICBtYXJnaW4tcmlnaHQ6IDMycHg7Cn0KLmp1MzY3djRlIHsKICBtYXJnaW4tcmlnaHQ6IDM2cHg7Cn0KLmp1MzY3djRmIHsKICBtYXJnaW4tcmlnaHQ6IDQ0cHg7Cn0KLmp1MzY3djRnIHsKICBtYXJnaW4tcmlnaHQ6IDY0cHg7Cn0KLmp1MzY3djRoIHsKICBtYXJnaW4tcmlnaHQ6IC0xcHg7Cn0KLmp1MzY3djRpIHsKICBtYXJnaW4tdG9wOiAwOwp9Ci5qdTM2N3Y0aiB7CiAgbWFyZ2luLXRvcDogMXB4Owp9Ci5qdTM2N3Y0ayB7CiAgbWFyZ2luLXRvcDogMnB4Owp9Ci5qdTM2N3Y0bCB7CiAgbWFyZ2luLXRvcDogM3B4Owp9Ci5qdTM2N3Y0bSB7CiAgbWFyZ2luLXRvcDogNHB4Owp9Ci5qdTM2N3Y0biB7CiAgbWFyZ2luLXRvcDogNXB4Owp9Ci5qdTM2N3Y0byB7CiAgbWFyZ2luLXRvcDogNnB4Owp9Ci5qdTM2N3Y0cCB7CiAgbWFyZ2luLXRvcDogOHB4Owp9Ci5qdTM2N3Y0cSB7CiAgbWFyZ2luLXRvcDogMTBweDsKfQouanUzNjd2NHIgewogIG1hcmdpbi10b3A6IDEycHg7Cn0KLmp1MzY3djRzIHsKICBtYXJnaW4tdG9wOiAxNHB4Owp9Ci5qdTM2N3Y0dCB7CiAgbWFyZ2luLXRvcDogMTZweDsKfQouanUzNjd2NHUgewogIG1hcmdpbi10b3A6IDE4cHg7Cn0KLmp1MzY3djR2IHsKICBtYXJnaW4tdG9wOiAyMHB4Owp9Ci5qdTM2N3Y0dyB7CiAgbWFyZ2luLXRvcDogMjRweDsKfQouanUzNjd2NHggewogIG1hcmdpbi10b3A6IDI4cHg7Cn0KLmp1MzY3djR5IHsKICBtYXJnaW4tdG9wOiAzMnB4Owp9Ci5qdTM2N3Y0eiB7CiAgbWFyZ2luLXRvcDogMzZweDsKfQouanUzNjd2NTAgewogIG1hcmdpbi10b3A6IDQ0cHg7Cn0KLmp1MzY3djUxIHsKICBtYXJnaW4tdG9wOiA2NHB4Owp9Ci5qdTM2N3Y1MiB7CiAgbWFyZ2luLXRvcDogLTFweDsKfQouanUzNjd2NTMgewogIG1heC13aWR0aDogMXB4Owp9Ci5qdTM2N3Y1NCB7CiAgbWF4LXdpZHRoOiAycHg7Cn0KLmp1MzY3djU1IHsKICBtYXgtd2lkdGg6IDRweDsKfQouanUzNjd2NTYgewogIG1heC13aWR0aDogOHB4Owp9Ci5qdTM2N3Y1NyB7CiAgbWF4LXdpZHRoOiAxMnB4Owp9Ci5qdTM2N3Y1OCB7CiAgbWF4LXdpZHRoOiAyMHB4Owp9Ci5qdTM2N3Y1OSB7CiAgbWF4LXdpZHRoOiAyNHB4Owp9Ci5qdTM2N3Y1YSB7CiAgbWF4LXdpZHRoOiAyOHB4Owp9Ci5qdTM2N3Y1YiB7CiAgbWF4LXdpZHRoOiAzMHB4Owp9Ci5qdTM2N3Y1YyB7CiAgbWF4LXdpZHRoOiAzMnB4Owp9Ci5qdTM2N3Y1ZCB7CiAgbWF4LXdpZHRoOiAzNHB4Owp9Ci5qdTM2N3Y1ZSB7CiAgbWF4LXdpZHRoOiAzNnB4Owp9Ci5qdTM2N3Y1ZiB7CiAgbWF4LXdpZHRoOiA0MHB4Owp9Ci5qdTM2N3Y1ZyB7CiAgbWF4LXdpZHRoOiA0NHB4Owp9Ci5qdTM2N3Y1aCB7CiAgbWF4LXdpZHRoOiA0OHB4Owp9Ci5qdTM2N3Y1aSB7CiAgbWF4LXdpZHRoOiA1NHB4Owp9Ci5qdTM2N3Y1aiB7CiAgbWF4LXdpZHRoOiA2MHB4Owp9Ci5qdTM2N3Y1ayB7CiAgbWF4LXdpZHRoOiAzNjBweDsKfQouanUzNjd2NWwgewogIG1heC13aWR0aDogMTAwJTsKfQouanUzNjd2NW0gewogIG1heC13aWR0aDogbWF4LWNvbnRlbnQ7Cn0KLmp1MzY3djVuIHsKICBtaW4td2lkdGg6IDFweDsKfQouanUzNjd2NW8gewogIG1pbi13aWR0aDogMnB4Owp9Ci5qdTM2N3Y1cCB7CiAgbWluLXdpZHRoOiA0cHg7Cn0KLmp1MzY3djVxIHsKICBtaW4td2lkdGg6IDhweDsKfQouanUzNjd2NXIgewogIG1pbi13aWR0aDogMTJweDsKfQouanUzNjd2NXMgewogIG1pbi13aWR0aDogMjBweDsKfQouanUzNjd2NXQgewogIG1pbi13aWR0aDogMjRweDsKfQouanUzNjd2NXUgewogIG1pbi13aWR0aDogMjhweDsKfQouanUzNjd2NXYgewogIG1pbi13aWR0aDogMzBweDsKfQouanUzNjd2NXcgewogIG1pbi13aWR0aDogMzJweDsKfQouanUzNjd2NXggewogIG1pbi13aWR0aDogMzRweDsKfQouanUzNjd2NXkgewogIG1pbi13aWR0aDogMzZweDsKfQouanUzNjd2NXogewogIG1pbi13aWR0aDogNDBweDsKfQouanUzNjd2NjAgewogIG1pbi13aWR0aDogNDRweDsKfQouanUzNjd2NjEgewogIG1pbi13aWR0aDogNDhweDsKfQouanUzNjd2NjIgewogIG1pbi13aWR0aDogNTRweDsKfQouanUzNjd2NjMgewogIG1pbi13aWR0aDogNjBweDsKfQouanUzNjd2NjQgewogIG1pbi13aWR0aDogMzYwcHg7Cn0KLmp1MzY3djY1IHsKICBtaW4td2lkdGg6IDEwMCU7Cn0KLmp1MzY3djY2IHsKICBtaW4td2lkdGg6IG1heC1jb250ZW50Owp9Ci5qdTM2N3Y2NyB7CiAgb3ZlcmZsb3c6IGhpZGRlbjsKfQouanUzNjd2NjggewogIHBhZGRpbmctYm90dG9tOiAwOwp9Ci5qdTM2N3Y2OSB7CiAgcGFkZGluZy1ib3R0b206IDFweDsKfQouanUzNjd2NmEgewogIHBhZGRpbmctYm90dG9tOiAycHg7Cn0KLmp1MzY3djZiIHsKICBwYWRkaW5nLWJvdHRvbTogM3B4Owp9Ci5qdTM2N3Y2YyB7CiAgcGFkZGluZy1ib3R0b206IDRweDsKfQouanUzNjd2NmQgewogIHBhZGRpbmctYm90dG9tOiA1cHg7Cn0KLmp1MzY3djZlIHsKICBwYWRkaW5nLWJvdHRvbTogNnB4Owp9Ci5qdTM2N3Y2ZiB7CiAgcGFkZGluZy1ib3R0b206IDhweDsKfQouanUzNjd2NmcgewogIHBhZGRpbmctYm90dG9tOiAxMHB4Owp9Ci5qdTM2N3Y2aCB7CiAgcGFkZGluZy1ib3R0b206IDEycHg7Cn0KLmp1MzY3djZpIHsKICBwYWRkaW5nLWJvdHRvbTogMTRweDsKfQouanUzNjd2NmogewogIHBhZGRpbmctYm90dG9tOiAxNnB4Owp9Ci5qdTM2N3Y2ayB7CiAgcGFkZGluZy1ib3R0b206IDE4cHg7Cn0KLmp1MzY3djZsIHsKICBwYWRkaW5nLWJvdHRvbTogMjBweDsKfQouanUzNjd2Nm0gewogIHBhZGRpbmctYm90dG9tOiAyNHB4Owp9Ci5qdTM2N3Y2biB7CiAgcGFkZGluZy1ib3R0b206IDI4cHg7Cn0KLmp1MzY3djZvIHsKICBwYWRkaW5nLWJvdHRvbTogMzJweDsKfQouanUzNjd2NnAgewogIHBhZGRpbmctYm90dG9tOiAzNnB4Owp9Ci5qdTM2N3Y2cSB7CiAgcGFkZGluZy1ib3R0b206IDQ0cHg7Cn0KLmp1MzY3djZyIHsKICBwYWRkaW5nLWJvdHRvbTogNjRweDsKfQouanUzNjd2NnMgewogIHBhZGRpbmctYm90dG9tOiAtMXB4Owp9Ci5qdTM2N3Y2dCB7CiAgcGFkZGluZy1sZWZ0OiAwOwp9Ci5qdTM2N3Y2dSB7CiAgcGFkZGluZy1sZWZ0OiAxcHg7Cn0KLmp1MzY3djZ2IHsKICBwYWRkaW5nLWxlZnQ6IDJweDsKfQouanUzNjd2NncgewogIHBhZGRpbmctbGVmdDogM3B4Owp9Ci5qdTM2N3Y2eCB7CiAgcGFkZGluZy1sZWZ0OiA0cHg7Cn0KLmp1MzY3djZ5IHsKICBwYWRkaW5nLWxlZnQ6IDVweDsKfQouanUzNjd2NnogewogIHBhZGRpbmctbGVmdDogNnB4Owp9Ci5qdTM2N3Y3MCB7CiAgcGFkZGluZy1sZWZ0OiA4cHg7Cn0KLmp1MzY3djcxIHsKICBwYWRkaW5nLWxlZnQ6IDEwcHg7Cn0KLmp1MzY3djcyIHsKICBwYWRkaW5nLWxlZnQ6IDEycHg7Cn0KLmp1MzY3djczIHsKICBwYWRkaW5nLWxlZnQ6IDE0cHg7Cn0KLmp1MzY3djc0IHsKICBwYWRkaW5nLWxlZnQ6IDE2cHg7Cn0KLmp1MzY3djc1IHsKICBwYWRkaW5nLWxlZnQ6IDE4cHg7Cn0KLmp1MzY3djc2IHsKICBwYWRkaW5nLWxlZnQ6IDIwcHg7Cn0KLmp1MzY3djc3IHsKICBwYWRkaW5nLWxlZnQ6IDI0cHg7Cn0KLmp1MzY3djc4IHsKICBwYWRkaW5nLWxlZnQ6IDI4cHg7Cn0KLmp1MzY3djc5IHsKICBwYWRkaW5nLWxlZnQ6IDMycHg7Cn0KLmp1MzY3djdhIHsKICBwYWRkaW5nLWxlZnQ6IDM2cHg7Cn0KLmp1MzY3djdiIHsKICBwYWRkaW5nLWxlZnQ6IDQ0cHg7Cn0KLmp1MzY3djdjIHsKICBwYWRkaW5nLWxlZnQ6IDY0cHg7Cn0KLmp1MzY3djdkIHsKICBwYWRkaW5nLWxlZnQ6IC0xcHg7Cn0KLmp1MzY3djdlIHsKICBwYWRkaW5nLXJpZ2h0OiAwOwp9Ci5qdTM2N3Y3ZiB7CiAgcGFkZGluZy1yaWdodDogMXB4Owp9Ci5qdTM2N3Y3ZyB7CiAgcGFkZGluZy1yaWdodDogMnB4Owp9Ci5qdTM2N3Y3aCB7CiAgcGFkZGluZy1yaWdodDogM3B4Owp9Ci5qdTM2N3Y3aSB7CiAgcGFkZGluZy1yaWdodDogNHB4Owp9Ci5qdTM2N3Y3aiB7CiAgcGFkZGluZy1yaWdodDogNXB4Owp9Ci5qdTM2N3Y3ayB7CiAgcGFkZGluZy1yaWdodDogNnB4Owp9Ci5qdTM2N3Y3bCB7CiAgcGFkZGluZy1yaWdodDogOHB4Owp9Ci5qdTM2N3Y3bSB7CiAgcGFkZGluZy1yaWdodDogMTBweDsKfQouanUzNjd2N24gewogIHBhZGRpbmctcmlnaHQ6IDEycHg7Cn0KLmp1MzY3djdvIHsKICBwYWRkaW5nLXJpZ2h0OiAxNHB4Owp9Ci5qdTM2N3Y3cCB7CiAgcGFkZGluZy1yaWdodDogMTZweDsKfQouanUzNjd2N3EgewogIHBhZGRpbmctcmlnaHQ6IDE4cHg7Cn0KLmp1MzY3djdyIHsKICBwYWRkaW5nLXJpZ2h0OiAyMHB4Owp9Ci5qdTM2N3Y3cyB7CiAgcGFkZGluZy1yaWdodDogMjRweDsKfQouanUzNjd2N3QgewogIHBhZGRpbmctcmlnaHQ6IDI4cHg7Cn0KLmp1MzY3djd1IHsKICBwYWRkaW5nLXJpZ2h0OiAzMnB4Owp9Ci5qdTM2N3Y3diB7CiAgcGFkZGluZy1yaWdodDogMzZweDsKfQouanUzNjd2N3cgewogIHBhZGRpbmctcmlnaHQ6IDQ0cHg7Cn0KLmp1MzY3djd4IHsKICBwYWRkaW5nLXJpZ2h0OiA2NHB4Owp9Ci5qdTM2N3Y3eSB7CiAgcGFkZGluZy1yaWdodDogLTFweDsKfQouanUzNjd2N3ogewogIHBhZGRpbmctdG9wOiAwOwp9Ci5qdTM2N3Y4MCB7CiAgcGFkZGluZy10b3A6IDFweDsKfQouanUzNjd2ODEgewogIHBhZGRpbmctdG9wOiAycHg7Cn0KLmp1MzY3djgyIHsKICBwYWRkaW5nLXRvcDogM3B4Owp9Ci5qdTM2N3Y4MyB7CiAgcGFkZGluZy10b3A6IDRweDsKfQouanUzNjd2ODQgewogIHBhZGRpbmctdG9wOiA1cHg7Cn0KLmp1MzY3djg1IHsKICBwYWRkaW5nLXRvcDogNnB4Owp9Ci5qdTM2N3Y4NiB7CiAgcGFkZGluZy10b3A6IDhweDsKfQouanUzNjd2ODcgewogIHBhZGRpbmctdG9wOiAxMHB4Owp9Ci5qdTM2N3Y4OCB7CiAgcGFkZGluZy10b3A6IDEycHg7Cn0KLmp1MzY3djg5IHsKICBwYWRkaW5nLXRvcDogMTRweDsKfQouanUzNjd2OGEgewogIHBhZGRpbmctdG9wOiAxNnB4Owp9Ci5qdTM2N3Y4YiB7CiAgcGFkZGluZy10b3A6IDE4cHg7Cn0KLmp1MzY3djhjIHsKICBwYWRkaW5nLXRvcDogMjBweDsKfQouanUzNjd2OGQgewogIHBhZGRpbmctdG9wOiAyNHB4Owp9Ci5qdTM2N3Y4ZSB7CiAgcGFkZGluZy10b3A6IDI4cHg7Cn0KLmp1MzY3djhmIHsKICBwYWRkaW5nLXRvcDogMzJweDsKfQouanUzNjd2OGcgewogIHBhZGRpbmctdG9wOiAzNnB4Owp9Ci5qdTM2N3Y4aCB7CiAgcGFkZGluZy10b3A6IDQ0cHg7Cn0KLmp1MzY3djhpIHsKICBwYWRkaW5nLXRvcDogNjRweDsKfQouanUzNjd2OGogewogIHBhZGRpbmctdG9wOiAtMXB4Owp9Ci5qdTM2N3Y4ayB7CiAgcG9zaXRpb246IGFic29sdXRlOwp9Ci5qdTM2N3Y4bCB7CiAgcG9zaXRpb246IGZpeGVkOwp9Ci5qdTM2N3Y4bSB7CiAgcG9zaXRpb246IHJlbGF0aXZlOwp9Ci5qdTM2N3Y4biB7CiAgcmlnaHQ6IDA7Cn0KLmp1MzY3djhvIHsKICB0cmFuc2l0aW9uOiAwLjEyNXMgZWFzZTsKfQouanUzNjd2OHAgewogIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjEyNXMgZWFzZTsKfQouanUzNjd2OHEgewogIHVzZXItc2VsZWN0OiBub25lOwp9Ci5qdTM2N3Y4ciB7CiAgd2lkdGg6IDFweDsKfQouanUzNjd2OHMgewogIHdpZHRoOiAycHg7Cn0KLmp1MzY3djh0IHsKICB3aWR0aDogNHB4Owp9Ci5qdTM2N3Y4dSB7CiAgd2lkdGg6IDhweDsKfQouanUzNjd2OHYgewogIHdpZHRoOiAxMnB4Owp9Ci5qdTM2N3Y4dyB7CiAgd2lkdGg6IDIwcHg7Cn0KLmp1MzY3djh4IHsKICB3aWR0aDogMjRweDsKfQouanUzNjd2OHkgewogIHdpZHRoOiAyOHB4Owp9Ci5qdTM2N3Y4eiB7CiAgd2lkdGg6IDMwcHg7Cn0KLmp1MzY3djkwIHsKICB3aWR0aDogMzJweDsKfQouanUzNjd2OTEgewogIHdpZHRoOiAzNHB4Owp9Ci5qdTM2N3Y5MiB7CiAgd2lkdGg6IDM2cHg7Cn0KLmp1MzY3djkzIHsKICB3aWR0aDogNDBweDsKfQouanUzNjd2OTQgewogIHdpZHRoOiA0NHB4Owp9Ci5qdTM2N3Y5NSB7CiAgd2lkdGg6IDQ4cHg7Cn0KLmp1MzY3djk2IHsKICB3aWR0aDogNTRweDsKfQouanUzNjd2OTcgewogIHdpZHRoOiA2MHB4Owp9Ci5qdTM2N3Y5OCB7CiAgd2lkdGg6IDM2MHB4Owp9Ci5qdTM2N3Y5OSB7CiAgd2lkdGg6IDEwMCU7Cn0KLmp1MzY3djlhIHsKICB3aWR0aDogbWF4LWNvbnRlbnQ7Cn0KLmp1MzY3djliIHsKICBiYWNrZHJvcC1maWx0ZXI6IHZhcigtLXJrLWJsdXJzLW1vZGFsT3ZlcmxheSk7Cn0KLmp1MzY3djljIHsKICBiYWNrZ3JvdW5kOiB2YXIoLS1yay1jb2xvcnMtYWNjZW50Q29sb3IpOwp9Ci5qdTM2N3Y5ZDpob3ZlciB7CiAgYmFja2dyb3VuZDogdmFyKC0tcmstY29sb3JzLWFjY2VudENvbG9yKTsKfQouanUzNjd2OWU6YWN0aXZlIHsKICBiYWNrZ3JvdW5kOiB2YXIoLS1yay1jb2xvcnMtYWNjZW50Q29sb3IpOwp9Ci5qdTM2N3Y5ZiB7CiAgYmFja2dyb3VuZDogdmFyKC0tcmstY29sb3JzLWFjY2VudENvbG9yRm9yZWdyb3VuZCk7Cn0KLmp1MzY3djlnOmhvdmVyIHsKICBiYWNrZ3JvdW5kOiB2YXIoLS1yay1jb2xvcnMtYWNjZW50Q29sb3JGb3JlZ3JvdW5kKTsKfQouanUzNjd2OWg6YWN0aXZlIHsKICBiYWNrZ3JvdW5kOiB2YXIoLS1yay1jb2xvcnMtYWNjZW50Q29sb3JGb3JlZ3JvdW5kKTsKfQouanUzNjd2OWkgewogIGJhY2tncm91bmQ6IHZhcigtLXJrLWNvbG9ycy1hY3Rpb25CdXR0b25Cb3JkZXIpOwp9Ci5qdTM2N3Y5ajpob3ZlciB7CiAgYmFja2dyb3VuZDogdmFyKC0tcmstY29sb3JzLWFjdGlvbkJ1dHRvbkJvcmRlcik7Cn0KLmp1MzY3djlrOmFjdGl2ZSB7CiAgYmFja2dyb3VuZDogdmFyKC0tcmstY29sb3JzLWFjdGlvbkJ1dHRvbkJvcmRlcik7Cn0KLmp1MzY3djlsIHsKICBiYWNrZ3JvdW5kOiB2YXIoLS1yay1jb2xvcnMtYWN0aW9uQnV0dG9uQm9yZGVyTW9iaWxlKTsKfQouanUzNjd2OW06aG92ZXIgewogIGJhY2tncm91bmQ6IHZhcigtLXJrLWNvbG9ycy1hY3Rpb25CdXR0b25Cb3JkZXJNb2JpbGUpOwp9Ci5qdTM2N3Y5bjphY3RpdmUgewogIGJhY2tncm91bmQ6IHZhcigtLXJrLWNvbG9ycy1hY3Rpb25CdXR0b25Cb3JkZXJNb2JpbGUpOwp9Ci5qdTM2N3Y5byB7CiAgYmFja2dyb3VuZDogdmFyKC0tcmstY29sb3JzLWFjdGlvbkJ1dHRvblNlY29uZGFyeUJhY2tncm91bmQpOwp9Ci5qdTM2N3Y5cDpob3ZlciB7CiAgYmFja2dyb3VuZDogdmFyKC0tcmstY29sb3JzLWFjdGlvbkJ1dHRvblNlY29uZGFyeUJhY2tncm91bmQpOwp9Ci5qdTM2N3Y5cTphY3RpdmUgewogIGJhY2tncm91bmQ6IHZhcigtLXJrLWNvbG9ycy1hY3Rpb25CdXR0b25TZWNvbmRhcnlCYWNrZ3JvdW5kKTsKfQouanUzNjd2OXIgewogIGJhY2tncm91bmQ6IHZhcigtLXJrLWNvbG9ycy1jbG9zZUJ1dHRvbik7Cn0KLmp1MzY3djlzOmhvdmVyIHsKICBiYWNrZ3JvdW5kOiB2YXIoLS1yay1jb2xvcnMtY2xvc2VCdXR0b24pOwp9Ci5qdTM2N3Y5dDphY3RpdmUgewogIGJhY2tncm91bmQ6IHZhcigtLXJrLWNvbG9ycy1jbG9zZUJ1dHRvbik7Cn0KLmp1MzY3djl1IHsKICBiYWNrZ3JvdW5kOiB2YXIoLS1yay1jb2xvcnMtY2xvc2VCdXR0b25CYWNrZ3JvdW5kKTsKfQouanUzNjd2OXY6aG92ZXIgewogIGJhY2tncm91bmQ6IHZhcigtLXJrLWNvbG9ycy1jbG9zZUJ1dHRvbkJhY2tncm91bmQpOwp9Ci5qdTM2N3Y5dzphY3RpdmUgewogIGJhY2tncm91bmQ6IHZhcigtLXJrLWNvbG9ycy1jbG9zZUJ1dHRvbkJhY2tncm91bmQpOwp9Ci5qdTM2N3Y5eCB7CiAgYmFja2dyb3VuZDogdmFyKC0tcmstY29sb3JzLWNvbm5lY3RCdXR0b25CYWNrZ3JvdW5kKTsKfQouanUzNjd2OXk6aG92ZXIgewogIGJhY2tncm91bmQ6IHZhcigtLXJrLWNvbG9ycy1jb25uZWN0QnV0dG9uQmFja2dyb3VuZCk7Cn0KLmp1MzY3djl6OmFjdGl2ZSB7CiAgYmFja2dyb3VuZDogdmFyKC0tcmstY29sb3JzLWNvbm5lY3RCdXR0b25CYWNrZ3JvdW5kKTsKfQouanUzNjd2YTAgewogIGJhY2tncm91bmQ6IHZhcigtLXJrLWNvbG9ycy1jb25uZWN0QnV0dG9uQmFja2dyb3VuZEVycm9yKTsKfQouanUzNjd2YTE6aG92ZXIgewogIGJhY2tncm91bmQ6IHZhcigtLXJrLWNvbG9ycy1jb25uZWN0QnV0dG9uQmFja2dyb3VuZEVycm9yKTsKfQouanUzNjd2YTI6YWN0aXZlIHsKICBiYWNrZ3JvdW5kOiB2YXIoLS1yay1jb2xvcnMtY29ubmVjdEJ1dHRvbkJhY2tncm91bmRFcnJvcik7Cn0KLmp1MzY3dmEzIHsKICBiYWNrZ3JvdW5kOiB2YXIoLS1yay1jb2xvcnMtY29ubmVjdEJ1dHRvbklubmVyQmFja2dyb3VuZCk7Cn0KLmp1MzY3dmE0OmhvdmVyIHsKICBiYWNrZ3JvdW5kOiB2YXIoLS1yay1jb2xvcnMtY29ubmVjdEJ1dHRvbklubmVyQmFja2dyb3VuZCk7Cn0KLmp1MzY3dmE1OmFjdGl2ZSB7CiAgYmFja2dyb3VuZDogdmFyKC0tcmstY29sb3JzLWNvbm5lY3RCdXR0b25Jbm5lckJhY2tncm91bmQpOwp9Ci5qdTM2N3ZhNiB7CiAgYmFja2dyb3VuZDogdmFyKC0tcmstY29sb3JzLWNvbm5lY3RCdXR0b25UZXh0KTsKfQouanUzNjd2YTc6aG92ZXIgewogIGJhY2tncm91bmQ6IHZhcigtLXJrLWNvbG9ycy1jb25uZWN0QnV0dG9uVGV4dCk7Cn0KLmp1MzY3dmE4OmFjdGl2ZSB7CiAgYmFja2dyb3VuZDogdmFyKC0tcmstY29sb3JzLWNvbm5lY3RCdXR0b25UZXh0KTsKfQouanUzNjd2YTkgewogIGJhY2tncm91bmQ6IHZhcigtLXJrLWNvbG9ycy1jb25uZWN0QnV0dG9uVGV4dEVycm9yKTsKfQouanUzNjd2YWE6aG92ZXIgewogIGJhY2tncm91bmQ6IHZhcigtLXJrLWNvbG9ycy1jb25uZWN0QnV0dG9uVGV4dEVycm9yKTsKfQouanUzNjd2YWI6YWN0aXZlIHsKICBiYWNrZ3JvdW5kOiB2YXIoLS1yay1jb2xvcnMtY29ubmVjdEJ1dHRvblRleHRFcnJvcik7Cn0KLmp1MzY3dmFjIHsKICBiYWNrZ3JvdW5kOiB2YXIoLS1yay1jb2xvcnMtY29ubmVjdGlvbkluZGljYXRvcik7Cn0KLmp1MzY3dmFkOmhvdmVyIHsKICBiYWNrZ3JvdW5kOiB2YXIoLS1yay1jb2xvcnMtY29ubmVjdGlvbkluZGljYXRvcik7Cn0KLmp1MzY3dmFlOmFjdGl2ZSB7CiAgYmFja2dyb3VuZDogdmFyKC0tcmstY29sb3JzLWNvbm5lY3Rpb25JbmRpY2F0b3IpOwp9Ci5qdTM2N3ZhZiB7CiAgYmFja2dyb3VuZDogdmFyKC0tcmstY29sb3JzLWVycm9yKTsKfQouanUzNjd2YWc6aG92ZXIgewogIGJhY2tncm91bmQ6IHZhcigtLXJrLWNvbG9ycy1lcnJvcik7Cn0KLmp1MzY3dmFoOmFjdGl2ZSB7CiAgYmFja2dyb3VuZDogdmFyKC0tcmstY29sb3JzLWVycm9yKTsKfQouanUzNjd2YWkgewogIGJhY2tncm91bmQ6IHZhcigtLXJrLWNvbG9ycy1nZW5lcmFsQm9yZGVyKTsKfQouanUzNjd2YWo6aG92ZXIgewogIGJhY2tncm91bmQ6IHZhcigtLXJrLWNvbG9ycy1nZW5lcmFsQm9yZGVyKTsKfQouanUzNjd2YWs6YWN0aXZlIHsKICBiYWNrZ3JvdW5kOiB2YXIoLS1yay1jb2xvcnMtZ2VuZXJhbEJvcmRlcik7Cn0KLmp1MzY3dmFsIHsKICBiYWNrZ3JvdW5kOiB2YXIoLS1yay1jb2xvcnMtZ2VuZXJhbEJvcmRlckRpbSk7Cn0KLmp1MzY3dmFtOmhvdmVyIHsKICBiYWNrZ3JvdW5kOiB2YXIoLS1yay1jb2xvcnMtZ2VuZXJhbEJvcmRlckRpbSk7Cn0KLmp1MzY3dmFuOmFjdGl2ZSB7CiAgYmFja2dyb3VuZDogdmFyKC0tcmstY29sb3JzLWdlbmVyYWxCb3JkZXJEaW0pOwp9Ci5qdTM2N3ZhbyB7CiAgYmFja2dyb3VuZDogdmFyKC0tcmstY29sb3JzLW1lbnVJdGVtQmFja2dyb3VuZCk7Cn0KLmp1MzY3dmFwOmhvdmVyIHsKICBiYWNrZ3JvdW5kOiB2YXIoLS1yay1jb2xvcnMtbWVudUl0ZW1CYWNrZ3JvdW5kKTsKfQouanUzNjd2YXE6YWN0aXZlIHsKICBiYWNrZ3JvdW5kOiB2YXIoLS1yay1jb2xvcnMtbWVudUl0ZW1CYWNrZ3JvdW5kKTsKfQouanUzNjd2YXIgewogIGJhY2tncm91bmQ6IHZhcigtLXJrLWNvbG9ycy1tb2RhbEJhY2tkcm9wKTsKfQouanUzNjd2YXM6aG92ZXIgewogIGJhY2tncm91bmQ6IHZhcigtLXJrLWNvbG9ycy1tb2RhbEJhY2tkcm9wKTsKfQouanUzNjd2YXQ6YWN0aXZlIHsKICBiYWNrZ3JvdW5kOiB2YXIoLS1yay1jb2xvcnMtbW9kYWxCYWNrZHJvcCk7Cn0KLmp1MzY3dmF1IHsKICBiYWNrZ3JvdW5kOiB2YXIoLS1yay1jb2xvcnMtbW9kYWxCYWNrZ3JvdW5kKTsKfQouanUzNjd2YXY6aG92ZXIgewogIGJhY2tncm91bmQ6IHZhcigtLXJrLWNvbG9ycy1tb2RhbEJhY2tncm91bmQpOwp9Ci5qdTM2N3ZhdzphY3RpdmUgewogIGJhY2tncm91bmQ6IHZhcigtLXJrLWNvbG9ycy1tb2RhbEJhY2tncm91bmQpOwp9Ci5qdTM2N3ZheCB7CiAgYmFja2dyb3VuZDogdmFyKC0tcmstY29sb3JzLW1vZGFsQm9yZGVyKTsKfQouanUzNjd2YXk6aG92ZXIgewogIGJhY2tncm91bmQ6IHZhcigtLXJrLWNvbG9ycy1tb2RhbEJvcmRlcik7Cn0KLmp1MzY3dmF6OmFjdGl2ZSB7CiAgYmFja2dyb3VuZDogdmFyKC0tcmstY29sb3JzLW1vZGFsQm9yZGVyKTsKfQouanUzNjd2YjAgewogIGJhY2tncm91bmQ6IHZhcigtLXJrLWNvbG9ycy1tb2RhbFRleHQpOwp9Ci5qdTM2N3ZiMTpob3ZlciB7CiAgYmFja2dyb3VuZDogdmFyKC0tcmstY29sb3JzLW1vZGFsVGV4dCk7Cn0KLmp1MzY3dmIyOmFjdGl2ZSB7CiAgYmFja2dyb3VuZDogdmFyKC0tcmstY29sb3JzLW1vZGFsVGV4dCk7Cn0KLmp1MzY3dmIzIHsKICBiYWNrZ3JvdW5kOiB2YXIoLS1yay1jb2xvcnMtbW9kYWxUZXh0RGltKTsKfQouanUzNjd2YjQ6aG92ZXIgewogIGJhY2tncm91bmQ6IHZhcigtLXJrLWNvbG9ycy1tb2RhbFRleHREaW0pOwp9Ci5qdTM2N3ZiNTphY3RpdmUgewogIGJhY2tncm91bmQ6IHZhcigtLXJrLWNvbG9ycy1tb2RhbFRleHREaW0pOwp9Ci5qdTM2N3ZiNiB7CiAgYmFja2dyb3VuZDogdmFyKC0tcmstY29sb3JzLW1vZGFsVGV4dFNlY29uZGFyeSk7Cn0KLmp1MzY3dmI3OmhvdmVyIHsKICBiYWNrZ3JvdW5kOiB2YXIoLS1yay1jb2xvcnMtbW9kYWxUZXh0U2Vjb25kYXJ5KTsKfQouanUzNjd2Yjg6YWN0aXZlIHsKICBiYWNrZ3JvdW5kOiB2YXIoLS1yay1jb2xvcnMtbW9kYWxUZXh0U2Vjb25kYXJ5KTsKfQouanUzNjd2YjkgewogIGJhY2tncm91bmQ6IHZhcigtLXJrLWNvbG9ycy1wcm9maWxlQWN0aW9uKTsKfQouanUzNjd2YmE6aG92ZXIgewogIGJhY2tncm91bmQ6IHZhcigtLXJrLWNvbG9ycy1wcm9maWxlQWN0aW9uKTsKfQouanUzNjd2YmI6YWN0aXZlIHsKICBiYWNrZ3JvdW5kOiB2YXIoLS1yay1jb2xvcnMtcHJvZmlsZUFjdGlvbik7Cn0KLmp1MzY3dmJjIHsKICBiYWNrZ3JvdW5kOiB2YXIoLS1yay1jb2xvcnMtcHJvZmlsZUFjdGlvbkhvdmVyKTsKfQouanUzNjd2YmQ6aG92ZXIgewogIGJhY2tncm91bmQ6IHZhcigtLXJrLWNvbG9ycy1wcm9maWxlQWN0aW9uSG92ZXIpOwp9Ci5qdTM2N3ZiZTphY3RpdmUgewogIGJhY2tncm91bmQ6IHZhcigtLXJrLWNvbG9ycy1wcm9maWxlQWN0aW9uSG92ZXIpOwp9Ci5qdTM2N3ZiZiB7CiAgYmFja2dyb3VuZDogdmFyKC0tcmstY29sb3JzLXByb2ZpbGVGb3JlZ3JvdW5kKTsKfQouanUzNjd2Ymc6aG92ZXIgewogIGJhY2tncm91bmQ6IHZhcigtLXJrLWNvbG9ycy1wcm9maWxlRm9yZWdyb3VuZCk7Cn0KLmp1MzY3dmJoOmFjdGl2ZSB7CiAgYmFja2dyb3VuZDogdmFyKC0tcmstY29sb3JzLXByb2ZpbGVGb3JlZ3JvdW5kKTsKfQouanUzNjd2YmkgewogIGJhY2tncm91bmQ6IHZhcigtLXJrLWNvbG9ycy1zZWxlY3RlZE9wdGlvbkJvcmRlcik7Cn0KLmp1MzY3dmJqOmhvdmVyIHsKICBiYWNrZ3JvdW5kOiB2YXIoLS1yay1jb2xvcnMtc2VsZWN0ZWRPcHRpb25Cb3JkZXIpOwp9Ci5qdTM2N3ZiazphY3RpdmUgewogIGJhY2tncm91bmQ6IHZhcigtLXJrLWNvbG9ycy1zZWxlY3RlZE9wdGlvbkJvcmRlcik7Cn0KLmp1MzY3dmJsIHsKICBiYWNrZ3JvdW5kOiB2YXIoLS1yay1jb2xvcnMtc3RhbmRieSk7Cn0KLmp1MzY3dmJtOmhvdmVyIHsKICBiYWNrZ3JvdW5kOiB2YXIoLS1yay1jb2xvcnMtc3RhbmRieSk7Cn0KLmp1MzY3dmJuOmFjdGl2ZSB7CiAgYmFja2dyb3VuZDogdmFyKC0tcmstY29sb3JzLXN0YW5kYnkpOwp9Ci5qdTM2N3ZibyB7CiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1yay1jb2xvcnMtYWNjZW50Q29sb3IpOwp9Ci5qdTM2N3ZicDpob3ZlciB7CiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1yay1jb2xvcnMtYWNjZW50Q29sb3IpOwp9Ci5qdTM2N3ZicTphY3RpdmUgewogIGJvcmRlci1jb2xvcjogdmFyKC0tcmstY29sb3JzLWFjY2VudENvbG9yKTsKfQouanUzNjd2YnIgewogIGJvcmRlci1jb2xvcjogdmFyKC0tcmstY29sb3JzLWFjY2VudENvbG9yRm9yZWdyb3VuZCk7Cn0KLmp1MzY3dmJzOmhvdmVyIHsKICBib3JkZXItY29sb3I6IHZhcigtLXJrLWNvbG9ycy1hY2NlbnRDb2xvckZvcmVncm91bmQpOwp9Ci5qdTM2N3ZidDphY3RpdmUgewogIGJvcmRlci1jb2xvcjogdmFyKC0tcmstY29sb3JzLWFjY2VudENvbG9yRm9yZWdyb3VuZCk7Cn0KLmp1MzY3dmJ1IHsKICBib3JkZXItY29sb3I6IHZhcigtLXJrLWNvbG9ycy1hY3Rpb25CdXR0b25Cb3JkZXIpOwp9Ci5qdTM2N3Zidjpob3ZlciB7CiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1yay1jb2xvcnMtYWN0aW9uQnV0dG9uQm9yZGVyKTsKfQouanUzNjd2Ync6YWN0aXZlIHsKICBib3JkZXItY29sb3I6IHZhcigtLXJrLWNvbG9ycy1hY3Rpb25CdXR0b25Cb3JkZXIpOwp9Ci5qdTM2N3ZieCB7CiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1yay1jb2xvcnMtYWN0aW9uQnV0dG9uQm9yZGVyTW9iaWxlKTsKfQouanUzNjd2Ynk6aG92ZXIgewogIGJvcmRlci1jb2xvcjogdmFyKC0tcmstY29sb3JzLWFjdGlvbkJ1dHRvbkJvcmRlck1vYmlsZSk7Cn0KLmp1MzY3dmJ6OmFjdGl2ZSB7CiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1yay1jb2xvcnMtYWN0aW9uQnV0dG9uQm9yZGVyTW9iaWxlKTsKfQouanUzNjd2YzAgewogIGJvcmRlci1jb2xvcjogdmFyKC0tcmstY29sb3JzLWFjdGlvbkJ1dHRvblNlY29uZGFyeUJhY2tncm91bmQpOwp9Ci5qdTM2N3ZjMTpob3ZlciB7CiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1yay1jb2xvcnMtYWN0aW9uQnV0dG9uU2Vjb25kYXJ5QmFja2dyb3VuZCk7Cn0KLmp1MzY3dmMyOmFjdGl2ZSB7CiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1yay1jb2xvcnMtYWN0aW9uQnV0dG9uU2Vjb25kYXJ5QmFja2dyb3VuZCk7Cn0KLmp1MzY3dmMzIHsKICBib3JkZXItY29sb3I6IHZhcigtLXJrLWNvbG9ycy1jbG9zZUJ1dHRvbik7Cn0KLmp1MzY3dmM0OmhvdmVyIHsKICBib3JkZXItY29sb3I6IHZhcigtLXJrLWNvbG9ycy1jbG9zZUJ1dHRvbik7Cn0KLmp1MzY3dmM1OmFjdGl2ZSB7CiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1yay1jb2xvcnMtY2xvc2VCdXR0b24pOwp9Ci5qdTM2N3ZjNiB7CiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1yay1jb2xvcnMtY2xvc2VCdXR0b25CYWNrZ3JvdW5kKTsKfQouanUzNjd2Yzc6aG92ZXIgewogIGJvcmRlci1jb2xvcjogdmFyKC0tcmstY29sb3JzLWNsb3NlQnV0dG9uQmFja2dyb3VuZCk7Cn0KLmp1MzY3dmM4OmFjdGl2ZSB7CiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1yay1jb2xvcnMtY2xvc2VCdXR0b25CYWNrZ3JvdW5kKTsKfQouanUzNjd2YzkgewogIGJvcmRlci1jb2xvcjogdmFyKC0tcmstY29sb3JzLWNvbm5lY3RCdXR0b25CYWNrZ3JvdW5kKTsKfQouanUzNjd2Y2E6aG92ZXIgewogIGJvcmRlci1jb2xvcjogdmFyKC0tcmstY29sb3JzLWNvbm5lY3RCdXR0b25CYWNrZ3JvdW5kKTsKfQouanUzNjd2Y2I6YWN0aXZlIHsKICBib3JkZXItY29sb3I6IHZhcigtLXJrLWNvbG9ycy1jb25uZWN0QnV0dG9uQmFja2dyb3VuZCk7Cn0KLmp1MzY3dmNjIHsKICBib3JkZXItY29sb3I6IHZhcigtLXJrLWNvbG9ycy1jb25uZWN0QnV0dG9uQmFja2dyb3VuZEVycm9yKTsKfQouanUzNjd2Y2Q6aG92ZXIgewogIGJvcmRlci1jb2xvcjogdmFyKC0tcmstY29sb3JzLWNvbm5lY3RCdXR0b25CYWNrZ3JvdW5kRXJyb3IpOwp9Ci5qdTM2N3ZjZTphY3RpdmUgewogIGJvcmRlci1jb2xvcjogdmFyKC0tcmstY29sb3JzLWNvbm5lY3RCdXR0b25CYWNrZ3JvdW5kRXJyb3IpOwp9Ci5qdTM2N3ZjZiB7CiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1yay1jb2xvcnMtY29ubmVjdEJ1dHRvbklubmVyQmFja2dyb3VuZCk7Cn0KLmp1MzY3dmNnOmhvdmVyIHsKICBib3JkZXItY29sb3I6IHZhcigtLXJrLWNvbG9ycy1jb25uZWN0QnV0dG9uSW5uZXJCYWNrZ3JvdW5kKTsKfQouanUzNjd2Y2g6YWN0aXZlIHsKICBib3JkZXItY29sb3I6IHZhcigtLXJrLWNvbG9ycy1jb25uZWN0QnV0dG9uSW5uZXJCYWNrZ3JvdW5kKTsKfQouanUzNjd2Y2kgewogIGJvcmRlci1jb2xvcjogdmFyKC0tcmstY29sb3JzLWNvbm5lY3RCdXR0b25UZXh0KTsKfQouanUzNjd2Y2o6aG92ZXIgewogIGJvcmRlci1jb2xvcjogdmFyKC0tcmstY29sb3JzLWNvbm5lY3RCdXR0b25UZXh0KTsKfQouanUzNjd2Y2s6YWN0aXZlIHsKICBib3JkZXItY29sb3I6IHZhcigtLXJrLWNvbG9ycy1jb25uZWN0QnV0dG9uVGV4dCk7Cn0KLmp1MzY3dmNsIHsKICBib3JkZXItY29sb3I6IHZhcigtLXJrLWNvbG9ycy1jb25uZWN0QnV0dG9uVGV4dEVycm9yKTsKfQouanUzNjd2Y206aG92ZXIgewogIGJvcmRlci1jb2xvcjogdmFyKC0tcmstY29sb3JzLWNvbm5lY3RCdXR0b25UZXh0RXJyb3IpOwp9Ci5qdTM2N3ZjbjphY3RpdmUgewogIGJvcmRlci1jb2xvcjogdmFyKC0tcmstY29sb3JzLWNvbm5lY3RCdXR0b25UZXh0RXJyb3IpOwp9Ci5qdTM2N3ZjbyB7CiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1yay1jb2xvcnMtY29ubmVjdGlvbkluZGljYXRvcik7Cn0KLmp1MzY3dmNwOmhvdmVyIHsKICBib3JkZXItY29sb3I6IHZhcigtLXJrLWNvbG9ycy1jb25uZWN0aW9uSW5kaWNhdG9yKTsKfQouanUzNjd2Y3E6YWN0aXZlIHsKICBib3JkZXItY29sb3I6IHZhcigtLXJrLWNvbG9ycy1jb25uZWN0aW9uSW5kaWNhdG9yKTsKfQouanUzNjd2Y3IgewogIGJvcmRlci1jb2xvcjogdmFyKC0tcmstY29sb3JzLWVycm9yKTsKfQouanUzNjd2Y3M6aG92ZXIgewogIGJvcmRlci1jb2xvcjogdmFyKC0tcmstY29sb3JzLWVycm9yKTsKfQouanUzNjd2Y3Q6YWN0aXZlIHsKICBib3JkZXItY29sb3I6IHZhcigtLXJrLWNvbG9ycy1lcnJvcik7Cn0KLmp1MzY3dmN1IHsKICBib3JkZXItY29sb3I6IHZhcigtLXJrLWNvbG9ycy1nZW5lcmFsQm9yZGVyKTsKfQouanUzNjd2Y3Y6aG92ZXIgewogIGJvcmRlci1jb2xvcjogdmFyKC0tcmstY29sb3JzLWdlbmVyYWxCb3JkZXIpOwp9Ci5qdTM2N3ZjdzphY3RpdmUgewogIGJvcmRlci1jb2xvcjogdmFyKC0tcmstY29sb3JzLWdlbmVyYWxCb3JkZXIpOwp9Ci5qdTM2N3ZjeCB7CiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1yay1jb2xvcnMtZ2VuZXJhbEJvcmRlckRpbSk7Cn0KLmp1MzY3dmN5OmhvdmVyIHsKICBib3JkZXItY29sb3I6IHZhcigtLXJrLWNvbG9ycy1nZW5lcmFsQm9yZGVyRGltKTsKfQouanUzNjd2Y3o6YWN0aXZlIHsKICBib3JkZXItY29sb3I6IHZhcigtLXJrLWNvbG9ycy1nZW5lcmFsQm9yZGVyRGltKTsKfQouanUzNjd2ZDAgewogIGJvcmRlci1jb2xvcjogdmFyKC0tcmstY29sb3JzLW1lbnVJdGVtQmFja2dyb3VuZCk7Cn0KLmp1MzY3dmQxOmhvdmVyIHsKICBib3JkZXItY29sb3I6IHZhcigtLXJrLWNvbG9ycy1tZW51SXRlbUJhY2tncm91bmQpOwp9Ci5qdTM2N3ZkMjphY3RpdmUgewogIGJvcmRlci1jb2xvcjogdmFyKC0tcmstY29sb3JzLW1lbnVJdGVtQmFja2dyb3VuZCk7Cn0KLmp1MzY3dmQzIHsKICBib3JkZXItY29sb3I6IHZhcigtLXJrLWNvbG9ycy1tb2RhbEJhY2tkcm9wKTsKfQouanUzNjd2ZDQ6aG92ZXIgewogIGJvcmRlci1jb2xvcjogdmFyKC0tcmstY29sb3JzLW1vZGFsQmFja2Ryb3ApOwp9Ci5qdTM2N3ZkNTphY3RpdmUgewogIGJvcmRlci1jb2xvcjogdmFyKC0tcmstY29sb3JzLW1vZGFsQmFja2Ryb3ApOwp9Ci5qdTM2N3ZkNiB7CiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1yay1jb2xvcnMtbW9kYWxCYWNrZ3JvdW5kKTsKfQouanUzNjd2ZDc6aG92ZXIgewogIGJvcmRlci1jb2xvcjogdmFyKC0tcmstY29sb3JzLW1vZGFsQmFja2dyb3VuZCk7Cn0KLmp1MzY3dmQ4OmFjdGl2ZSB7CiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1yay1jb2xvcnMtbW9kYWxCYWNrZ3JvdW5kKTsKfQouanUzNjd2ZDkgewogIGJvcmRlci1jb2xvcjogdmFyKC0tcmstY29sb3JzLW1vZGFsQm9yZGVyKTsKfQouanUzNjd2ZGE6aG92ZXIgewogIGJvcmRlci1jb2xvcjogdmFyKC0tcmstY29sb3JzLW1vZGFsQm9yZGVyKTsKfQouanUzNjd2ZGI6YWN0aXZlIHsKICBib3JkZXItY29sb3I6IHZhcigtLXJrLWNvbG9ycy1tb2RhbEJvcmRlcik7Cn0KLmp1MzY3dmRjIHsKICBib3JkZXItY29sb3I6IHZhcigtLXJrLWNvbG9ycy1tb2RhbFRleHQpOwp9Ci5qdTM2N3ZkZDpob3ZlciB7CiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1yay1jb2xvcnMtbW9kYWxUZXh0KTsKfQouanUzNjd2ZGU6YWN0aXZlIHsKICBib3JkZXItY29sb3I6IHZhcigtLXJrLWNvbG9ycy1tb2RhbFRleHQpOwp9Ci5qdTM2N3ZkZiB7CiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1yay1jb2xvcnMtbW9kYWxUZXh0RGltKTsKfQouanUzNjd2ZGc6aG92ZXIgewogIGJvcmRlci1jb2xvcjogdmFyKC0tcmstY29sb3JzLW1vZGFsVGV4dERpbSk7Cn0KLmp1MzY3dmRoOmFjdGl2ZSB7CiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1yay1jb2xvcnMtbW9kYWxUZXh0RGltKTsKfQouanUzNjd2ZGkgewogIGJvcmRlci1jb2xvcjogdmFyKC0tcmstY29sb3JzLW1vZGFsVGV4dFNlY29uZGFyeSk7Cn0KLmp1MzY3dmRqOmhvdmVyIHsKICBib3JkZXItY29sb3I6IHZhcigtLXJrLWNvbG9ycy1tb2RhbFRleHRTZWNvbmRhcnkpOwp9Ci5qdTM2N3ZkazphY3RpdmUgewogIGJvcmRlci1jb2xvcjogdmFyKC0tcmstY29sb3JzLW1vZGFsVGV4dFNlY29uZGFyeSk7Cn0KLmp1MzY3dmRsIHsKICBib3JkZXItY29sb3I6IHZhcigtLXJrLWNvbG9ycy1wcm9maWxlQWN0aW9uKTsKfQouanUzNjd2ZG06aG92ZXIgewogIGJvcmRlci1jb2xvcjogdmFyKC0tcmstY29sb3JzLXByb2ZpbGVBY3Rpb24pOwp9Ci5qdTM2N3ZkbjphY3RpdmUgewogIGJvcmRlci1jb2xvcjogdmFyKC0tcmstY29sb3JzLXByb2ZpbGVBY3Rpb24pOwp9Ci5qdTM2N3ZkbyB7CiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1yay1jb2xvcnMtcHJvZmlsZUFjdGlvbkhvdmVyKTsKfQouanUzNjd2ZHA6aG92ZXIgewogIGJvcmRlci1jb2xvcjogdmFyKC0tcmstY29sb3JzLXByb2ZpbGVBY3Rpb25Ib3Zlcik7Cn0KLmp1MzY3dmRxOmFjdGl2ZSB7CiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1yay1jb2xvcnMtcHJvZmlsZUFjdGlvbkhvdmVyKTsKfQouanUzNjd2ZHIgewogIGJvcmRlci1jb2xvcjogdmFyKC0tcmstY29sb3JzLXByb2ZpbGVGb3JlZ3JvdW5kKTsKfQouanUzNjd2ZHM6aG92ZXIgewogIGJvcmRlci1jb2xvcjogdmFyKC0tcmstY29sb3JzLXByb2ZpbGVGb3JlZ3JvdW5kKTsKfQouanUzNjd2ZHQ6YWN0aXZlIHsKICBib3JkZXItY29sb3I6IHZhcigtLXJrLWNvbG9ycy1wcm9maWxlRm9yZWdyb3VuZCk7Cn0KLmp1MzY3dmR1IHsKICBib3JkZXItY29sb3I6IHZhcigtLXJrLWNvbG9ycy1zZWxlY3RlZE9wdGlvbkJvcmRlcik7Cn0KLmp1MzY3dmR2OmhvdmVyIHsKICBib3JkZXItY29sb3I6IHZhcigtLXJrLWNvbG9ycy1zZWxlY3RlZE9wdGlvbkJvcmRlcik7Cn0KLmp1MzY3dmR3OmFjdGl2ZSB7CiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1yay1jb2xvcnMtc2VsZWN0ZWRPcHRpb25Cb3JkZXIpOwp9Ci5qdTM2N3ZkeCB7CiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1yay1jb2xvcnMtc3RhbmRieSk7Cn0KLmp1MzY3dmR5OmhvdmVyIHsKICBib3JkZXItY29sb3I6IHZhcigtLXJrLWNvbG9ycy1zdGFuZGJ5KTsKfQouanUzNjd2ZHo6YWN0aXZlIHsKICBib3JkZXItY29sb3I6IHZhcigtLXJrLWNvbG9ycy1zdGFuZGJ5KTsKfQouanUzNjd2ZTAgewogIGJveC1zaGFkb3c6IHZhcigtLXJrLXNoYWRvd3MtY29ubmVjdEJ1dHRvbik7Cn0KLmp1MzY3dmUxOmhvdmVyIHsKICBib3gtc2hhZG93OiB2YXIoLS1yay1zaGFkb3dzLWNvbm5lY3RCdXR0b24pOwp9Ci5qdTM2N3ZlMjphY3RpdmUgewogIGJveC1zaGFkb3c6IHZhcigtLXJrLXNoYWRvd3MtY29ubmVjdEJ1dHRvbik7Cn0KLmp1MzY3dmUzIHsKICBib3gtc2hhZG93OiB2YXIoLS1yay1zaGFkb3dzLWRpYWxvZyk7Cn0KLmp1MzY3dmU0OmhvdmVyIHsKICBib3gtc2hhZG93OiB2YXIoLS1yay1zaGFkb3dzLWRpYWxvZyk7Cn0KLmp1MzY3dmU1OmFjdGl2ZSB7CiAgYm94LXNoYWRvdzogdmFyKC0tcmstc2hhZG93cy1kaWFsb2cpOwp9Ci5qdTM2N3ZlNiB7CiAgYm94LXNoYWRvdzogdmFyKC0tcmstc2hhZG93cy1wcm9maWxlRGV0YWlsc0FjdGlvbik7Cn0KLmp1MzY3dmU3OmhvdmVyIHsKICBib3gtc2hhZG93OiB2YXIoLS1yay1zaGFkb3dzLXByb2ZpbGVEZXRhaWxzQWN0aW9uKTsKfQouanUzNjd2ZTg6YWN0aXZlIHsKICBib3gtc2hhZG93OiB2YXIoLS1yay1zaGFkb3dzLXByb2ZpbGVEZXRhaWxzQWN0aW9uKTsKfQouanUzNjd2ZTkgewogIGJveC1zaGFkb3c6IHZhcigtLXJrLXNoYWRvd3Mtc2VsZWN0ZWRPcHRpb24pOwp9Ci5qdTM2N3ZlYTpob3ZlciB7CiAgYm94LXNoYWRvdzogdmFyKC0tcmstc2hhZG93cy1zZWxlY3RlZE9wdGlvbik7Cn0KLmp1MzY3dmViOmFjdGl2ZSB7CiAgYm94LXNoYWRvdzogdmFyKC0tcmstc2hhZG93cy1zZWxlY3RlZE9wdGlvbik7Cn0KLmp1MzY3dmVjIHsKICBib3gtc2hhZG93OiB2YXIoLS1yay1zaGFkb3dzLXNlbGVjdGVkV2FsbGV0KTsKfQouanUzNjd2ZWQ6aG92ZXIgewogIGJveC1zaGFkb3c6IHZhcigtLXJrLXNoYWRvd3Mtc2VsZWN0ZWRXYWxsZXQpOwp9Ci5qdTM2N3ZlZTphY3RpdmUgewogIGJveC1zaGFkb3c6IHZhcigtLXJrLXNoYWRvd3Mtc2VsZWN0ZWRXYWxsZXQpOwp9Ci5qdTM2N3ZlZiB7CiAgYm94LXNoYWRvdzogdmFyKC0tcmstc2hhZG93cy13YWxsZXRMb2dvKTsKfQouanUzNjd2ZWc6aG92ZXIgewogIGJveC1zaGFkb3c6IHZhcigtLXJrLXNoYWRvd3Mtd2FsbGV0TG9nbyk7Cn0KLmp1MzY3dmVoOmFjdGl2ZSB7CiAgYm94LXNoYWRvdzogdmFyKC0tcmstc2hhZG93cy13YWxsZXRMb2dvKTsKfQouanUzNjd2ZWkgewogIGNvbG9yOiB2YXIoLS1yay1jb2xvcnMtYWNjZW50Q29sb3IpOwp9Ci5qdTM2N3Zlajpob3ZlciB7CiAgY29sb3I6IHZhcigtLXJrLWNvbG9ycy1hY2NlbnRDb2xvcik7Cn0KLmp1MzY3dmVrOmFjdGl2ZSB7CiAgY29sb3I6IHZhcigtLXJrLWNvbG9ycy1hY2NlbnRDb2xvcik7Cn0KLmp1MzY3dmVsIHsKICBjb2xvcjogdmFyKC0tcmstY29sb3JzLWFjY2VudENvbG9yRm9yZWdyb3VuZCk7Cn0KLmp1MzY3dmVtOmhvdmVyIHsKICBjb2xvcjogdmFyKC0tcmstY29sb3JzLWFjY2VudENvbG9yRm9yZWdyb3VuZCk7Cn0KLmp1MzY3dmVuOmFjdGl2ZSB7CiAgY29sb3I6IHZhcigtLXJrLWNvbG9ycy1hY2NlbnRDb2xvckZvcmVncm91bmQpOwp9Ci5qdTM2N3ZlbyB7CiAgY29sb3I6IHZhcigtLXJrLWNvbG9ycy1hY3Rpb25CdXR0b25Cb3JkZXIpOwp9Ci5qdTM2N3ZlcDpob3ZlciB7CiAgY29sb3I6IHZhcigtLXJrLWNvbG9ycy1hY3Rpb25CdXR0b25Cb3JkZXIpOwp9Ci5qdTM2N3ZlcTphY3RpdmUgewogIGNvbG9yOiB2YXIoLS1yay1jb2xvcnMtYWN0aW9uQnV0dG9uQm9yZGVyKTsKfQouanUzNjd2ZXIgewogIGNvbG9yOiB2YXIoLS1yay1jb2xvcnMtYWN0aW9uQnV0dG9uQm9yZGVyTW9iaWxlKTsKfQouanUzNjd2ZXM6aG92ZXIgewogIGNvbG9yOiB2YXIoLS1yay1jb2xvcnMtYWN0aW9uQnV0dG9uQm9yZGVyTW9iaWxlKTsKfQouanUzNjd2ZXQ6YWN0aXZlIHsKICBjb2xvcjogdmFyKC0tcmstY29sb3JzLWFjdGlvbkJ1dHRvbkJvcmRlck1vYmlsZSk7Cn0KLmp1MzY3dmV1IHsKICBjb2xvcjogdmFyKC0tcmstY29sb3JzLWFjdGlvbkJ1dHRvblNlY29uZGFyeUJhY2tncm91bmQpOwp9Ci5qdTM2N3Zldjpob3ZlciB7CiAgY29sb3I6IHZhcigtLXJrLWNvbG9ycy1hY3Rpb25CdXR0b25TZWNvbmRhcnlCYWNrZ3JvdW5kKTsKfQouanUzNjd2ZXc6YWN0aXZlIHsKICBjb2xvcjogdmFyKC0tcmstY29sb3JzLWFjdGlvbkJ1dHRvblNlY29uZGFyeUJhY2tncm91bmQpOwp9Ci5qdTM2N3ZleCB7CiAgY29sb3I6IHZhcigtLXJrLWNvbG9ycy1jbG9zZUJ1dHRvbik7Cn0KLmp1MzY3dmV5OmhvdmVyIHsKICBjb2xvcjogdmFyKC0tcmstY29sb3JzLWNsb3NlQnV0dG9uKTsKfQouanUzNjd2ZXo6YWN0aXZlIHsKICBjb2xvcjogdmFyKC0tcmstY29sb3JzLWNsb3NlQnV0dG9uKTsKfQouanUzNjd2ZjAgewogIGNvbG9yOiB2YXIoLS1yay1jb2xvcnMtY2xvc2VCdXR0b25CYWNrZ3JvdW5kKTsKfQouanUzNjd2ZjE6aG92ZXIgewogIGNvbG9yOiB2YXIoLS1yay1jb2xvcnMtY2xvc2VCdXR0b25CYWNrZ3JvdW5kKTsKfQouanUzNjd2ZjI6YWN0aXZlIHsKICBjb2xvcjogdmFyKC0tcmstY29sb3JzLWNsb3NlQnV0dG9uQmFja2dyb3VuZCk7Cn0KLmp1MzY3dmYzIHsKICBjb2xvcjogdmFyKC0tcmstY29sb3JzLWNvbm5lY3RCdXR0b25CYWNrZ3JvdW5kKTsKfQouanUzNjd2ZjQ6aG92ZXIgewogIGNvbG9yOiB2YXIoLS1yay1jb2xvcnMtY29ubmVjdEJ1dHRvbkJhY2tncm91bmQpOwp9Ci5qdTM2N3ZmNTphY3RpdmUgewogIGNvbG9yOiB2YXIoLS1yay1jb2xvcnMtY29ubmVjdEJ1dHRvbkJhY2tncm91bmQpOwp9Ci5qdTM2N3ZmNiB7CiAgY29sb3I6IHZhcigtLXJrLWNvbG9ycy1jb25uZWN0QnV0dG9uQmFja2dyb3VuZEVycm9yKTsKfQouanUzNjd2Zjc6aG92ZXIgewogIGNvbG9yOiB2YXIoLS1yay1jb2xvcnMtY29ubmVjdEJ1dHRvbkJhY2tncm91bmRFcnJvcik7Cn0KLmp1MzY3dmY4OmFjdGl2ZSB7CiAgY29sb3I6IHZhcigtLXJrLWNvbG9ycy1jb25uZWN0QnV0dG9uQmFja2dyb3VuZEVycm9yKTsKfQouanUzNjd2ZjkgewogIGNvbG9yOiB2YXIoLS1yay1jb2xvcnMtY29ubmVjdEJ1dHRvbklubmVyQmFja2dyb3VuZCk7Cn0KLmp1MzY3dmZhOmhvdmVyIHsKICBjb2xvcjogdmFyKC0tcmstY29sb3JzLWNvbm5lY3RCdXR0b25Jbm5lckJhY2tncm91bmQpOwp9Ci5qdTM2N3ZmYjphY3RpdmUgewogIGNvbG9yOiB2YXIoLS1yay1jb2xvcnMtY29ubmVjdEJ1dHRvbklubmVyQmFja2dyb3VuZCk7Cn0KLmp1MzY3dmZjIHsKICBjb2xvcjogdmFyKC0tcmstY29sb3JzLWNvbm5lY3RCdXR0b25UZXh0KTsKfQouanUzNjd2ZmQ6aG92ZXIgewogIGNvbG9yOiB2YXIoLS1yay1jb2xvcnMtY29ubmVjdEJ1dHRvblRleHQpOwp9Ci5qdTM2N3ZmZTphY3RpdmUgewogIGNvbG9yOiB2YXIoLS1yay1jb2xvcnMtY29ubmVjdEJ1dHRvblRleHQpOwp9Ci5qdTM2N3ZmZiB7CiAgY29sb3I6IHZhcigtLXJrLWNvbG9ycy1jb25uZWN0QnV0dG9uVGV4dEVycm9yKTsKfQouanUzNjd2Zmc6aG92ZXIgewogIGNvbG9yOiB2YXIoLS1yay1jb2xvcnMtY29ubmVjdEJ1dHRvblRleHRFcnJvcik7Cn0KLmp1MzY3dmZoOmFjdGl2ZSB7CiAgY29sb3I6IHZhcigtLXJrLWNvbG9ycy1jb25uZWN0QnV0dG9uVGV4dEVycm9yKTsKfQouanUzNjd2ZmkgewogIGNvbG9yOiB2YXIoLS1yay1jb2xvcnMtY29ubmVjdGlvbkluZGljYXRvcik7Cn0KLmp1MzY3dmZqOmhvdmVyIHsKICBjb2xvcjogdmFyKC0tcmstY29sb3JzLWNvbm5lY3Rpb25JbmRpY2F0b3IpOwp9Ci5qdTM2N3ZmazphY3RpdmUgewogIGNvbG9yOiB2YXIoLS1yay1jb2xvcnMtY29ubmVjdGlvbkluZGljYXRvcik7Cn0KLmp1MzY3dmZsIHsKICBjb2xvcjogdmFyKC0tcmstY29sb3JzLWVycm9yKTsKfQouanUzNjd2Zm06aG92ZXIgewogIGNvbG9yOiB2YXIoLS1yay1jb2xvcnMtZXJyb3IpOwp9Ci5qdTM2N3ZmbjphY3RpdmUgewogIGNvbG9yOiB2YXIoLS1yay1jb2xvcnMtZXJyb3IpOwp9Ci5qdTM2N3ZmbyB7CiAgY29sb3I6IHZhcigtLXJrLWNvbG9ycy1nZW5lcmFsQm9yZGVyKTsKfQouanUzNjd2ZnA6aG92ZXIgewogIGNvbG9yOiB2YXIoLS1yay1jb2xvcnMtZ2VuZXJhbEJvcmRlcik7Cn0KLmp1MzY3dmZxOmFjdGl2ZSB7CiAgY29sb3I6IHZhcigtLXJrLWNvbG9ycy1nZW5lcmFsQm9yZGVyKTsKfQouanUzNjd2ZnIgewogIGNvbG9yOiB2YXIoLS1yay1jb2xvcnMtZ2VuZXJhbEJvcmRlckRpbSk7Cn0KLmp1MzY3dmZzOmhvdmVyIHsKICBjb2xvcjogdmFyKC0tcmstY29sb3JzLWdlbmVyYWxCb3JkZXJEaW0pOwp9Ci5qdTM2N3ZmdDphY3RpdmUgewogIGNvbG9yOiB2YXIoLS1yay1jb2xvcnMtZ2VuZXJhbEJvcmRlckRpbSk7Cn0KLmp1MzY3dmZ1IHsKICBjb2xvcjogdmFyKC0tcmstY29sb3JzLW1lbnVJdGVtQmFja2dyb3VuZCk7Cn0KLmp1MzY3dmZ2OmhvdmVyIHsKICBjb2xvcjogdmFyKC0tcmstY29sb3JzLW1lbnVJdGVtQmFja2dyb3VuZCk7Cn0KLmp1MzY3dmZ3OmFjdGl2ZSB7CiAgY29sb3I6IHZhcigtLXJrLWNvbG9ycy1tZW51SXRlbUJhY2tncm91bmQpOwp9Ci5qdTM2N3ZmeCB7CiAgY29sb3I6IHZhcigtLXJrLWNvbG9ycy1tb2RhbEJhY2tkcm9wKTsKfQouanUzNjd2Znk6aG92ZXIgewogIGNvbG9yOiB2YXIoLS1yay1jb2xvcnMtbW9kYWxCYWNrZHJvcCk7Cn0KLmp1MzY3dmZ6OmFjdGl2ZSB7CiAgY29sb3I6IHZhcigtLXJrLWNvbG9ycy1tb2RhbEJhY2tkcm9wKTsKfQouanUzNjd2ZzAgewogIGNvbG9yOiB2YXIoLS1yay1jb2xvcnMtbW9kYWxCYWNrZ3JvdW5kKTsKfQouanUzNjd2ZzE6aG92ZXIgewogIGNvbG9yOiB2YXIoLS1yay1jb2xvcnMtbW9kYWxCYWNrZ3JvdW5kKTsKfQouanUzNjd2ZzI6YWN0aXZlIHsKICBjb2xvcjogdmFyKC0tcmstY29sb3JzLW1vZGFsQmFja2dyb3VuZCk7Cn0KLmp1MzY3dmczIHsKICBjb2xvcjogdmFyKC0tcmstY29sb3JzLW1vZGFsQm9yZGVyKTsKfQouanUzNjd2ZzQ6aG92ZXIgewogIGNvbG9yOiB2YXIoLS1yay1jb2xvcnMtbW9kYWxCb3JkZXIpOwp9Ci5qdTM2N3ZnNTphY3RpdmUgewogIGNvbG9yOiB2YXIoLS1yay1jb2xvcnMtbW9kYWxCb3JkZXIpOwp9Ci5qdTM2N3ZnNiB7CiAgY29sb3I6IHZhcigtLXJrLWNvbG9ycy1tb2RhbFRleHQpOwp9Ci5qdTM2N3ZnNzpob3ZlciB7CiAgY29sb3I6IHZhcigtLXJrLWNvbG9ycy1tb2RhbFRleHQpOwp9Ci5qdTM2N3ZnODphY3RpdmUgewogIGNvbG9yOiB2YXIoLS1yay1jb2xvcnMtbW9kYWxUZXh0KTsKfQouanUzNjd2ZzkgewogIGNvbG9yOiB2YXIoLS1yay1jb2xvcnMtbW9kYWxUZXh0RGltKTsKfQouanUzNjd2Z2E6aG92ZXIgewogIGNvbG9yOiB2YXIoLS1yay1jb2xvcnMtbW9kYWxUZXh0RGltKTsKfQouanUzNjd2Z2I6YWN0aXZlIHsKICBjb2xvcjogdmFyKC0tcmstY29sb3JzLW1vZGFsVGV4dERpbSk7Cn0KLmp1MzY3dmdjIHsKICBjb2xvcjogdmFyKC0tcmstY29sb3JzLW1vZGFsVGV4dFNlY29uZGFyeSk7Cn0KLmp1MzY3dmdkOmhvdmVyIHsKICBjb2xvcjogdmFyKC0tcmstY29sb3JzLW1vZGFsVGV4dFNlY29uZGFyeSk7Cn0KLmp1MzY3dmdlOmFjdGl2ZSB7CiAgY29sb3I6IHZhcigtLXJrLWNvbG9ycy1tb2RhbFRleHRTZWNvbmRhcnkpOwp9Ci5qdTM2N3ZnZiB7CiAgY29sb3I6IHZhcigtLXJrLWNvbG9ycy1wcm9maWxlQWN0aW9uKTsKfQouanUzNjd2Z2c6aG92ZXIgewogIGNvbG9yOiB2YXIoLS1yay1jb2xvcnMtcHJvZmlsZUFjdGlvbik7Cn0KLmp1MzY3dmdoOmFjdGl2ZSB7CiAgY29sb3I6IHZhcigtLXJrLWNvbG9ycy1wcm9maWxlQWN0aW9uKTsKfQouanUzNjd2Z2kgewogIGNvbG9yOiB2YXIoLS1yay1jb2xvcnMtcHJvZmlsZUFjdGlvbkhvdmVyKTsKfQouanUzNjd2Z2o6aG92ZXIgewogIGNvbG9yOiB2YXIoLS1yay1jb2xvcnMtcHJvZmlsZUFjdGlvbkhvdmVyKTsKfQouanUzNjd2Z2s6YWN0aXZlIHsKICBjb2xvcjogdmFyKC0tcmstY29sb3JzLXByb2ZpbGVBY3Rpb25Ib3Zlcik7Cn0KLmp1MzY3dmdsIHsKICBjb2xvcjogdmFyKC0tcmstY29sb3JzLXByb2ZpbGVGb3JlZ3JvdW5kKTsKfQouanUzNjd2Z206aG92ZXIgewogIGNvbG9yOiB2YXIoLS1yay1jb2xvcnMtcHJvZmlsZUZvcmVncm91bmQpOwp9Ci5qdTM2N3ZnbjphY3RpdmUgewogIGNvbG9yOiB2YXIoLS1yay1jb2xvcnMtcHJvZmlsZUZvcmVncm91bmQpOwp9Ci5qdTM2N3ZnbyB7CiAgY29sb3I6IHZhcigtLXJrLWNvbG9ycy1zZWxlY3RlZE9wdGlvbkJvcmRlcik7Cn0KLmp1MzY3dmdwOmhvdmVyIHsKICBjb2xvcjogdmFyKC0tcmstY29sb3JzLXNlbGVjdGVkT3B0aW9uQm9yZGVyKTsKfQouanUzNjd2Z3E6YWN0aXZlIHsKICBjb2xvcjogdmFyKC0tcmstY29sb3JzLXNlbGVjdGVkT3B0aW9uQm9yZGVyKTsKfQouanUzNjd2Z3IgewogIGNvbG9yOiB2YXIoLS1yay1jb2xvcnMtc3RhbmRieSk7Cn0KLmp1MzY3dmdzOmhvdmVyIHsKICBjb2xvcjogdmFyKC0tcmstY29sb3JzLXN0YW5kYnkpOwp9Ci5qdTM2N3ZndDphY3RpdmUgewogIGNvbG9yOiB2YXIoLS1yay1jb2xvcnMtc3RhbmRieSk7Cn0KQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHsKICAuanUzNjd2MSB7CiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsKICB9CiAgLmp1MzY3djMgewogICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kOwogIH0KICAuanUzNjd2NSB7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogIH0KICAuanUzNjd2NyB7CiAgICBkaXNwbGF5OiBub25lOwogIH0KICAuanUzNjd2OSB7CiAgICBkaXNwbGF5OiBibG9jazsKICB9CiAgLmp1MzY3dmIgewogICAgZGlzcGxheTogZmxleDsKICB9CiAgLmp1MzY3dmQgewogICAgZGlzcGxheTogaW5saW5lOwogIH0KfQ== */\n[data-rk] .ju367v0 {\n align-items: flex-start;\n}\n[data-rk] .ju367v2 {\n align-items: flex-end;\n}\n[data-rk] .ju367v4 {\n align-items: center;\n}\n[data-rk] .ju367v6 {\n display: none;\n}\n[data-rk] .ju367v8 {\n display: block;\n}\n[data-rk] .ju367va {\n display: flex;\n}\n[data-rk] .ju367vc {\n display: inline;\n}\n[data-rk] .ju367ve {\n align-self: flex-start;\n}\n[data-rk] .ju367vf {\n align-self: flex-end;\n}\n[data-rk] .ju367vg {\n align-self: center;\n}\n[data-rk] .ju367vh {\n background-size: cover;\n}\n[data-rk] .ju367vi {\n border-radius: 1px;\n}\n[data-rk] .ju367vj {\n border-radius: 6px;\n}\n[data-rk] .ju367vk {\n border-radius: 10px;\n}\n[data-rk] .ju367vl {\n border-radius: 13px;\n}\n[data-rk] .ju367vm {\n border-radius: var(--rk-radii-actionButton);\n}\n[data-rk] .ju367vn {\n border-radius: var(--rk-radii-connectButton);\n}\n[data-rk] .ju367vo {\n border-radius: var(--rk-radii-menuButton);\n}\n[data-rk] .ju367vp {\n border-radius: var(--rk-radii-modal);\n}\n[data-rk] .ju367vq {\n border-radius: var(--rk-radii-modalMobile);\n}\n[data-rk] .ju367vr {\n border-radius: 25%;\n}\n[data-rk] .ju367vs {\n border-radius: 9999px;\n}\n[data-rk] .ju367vt {\n border-style: solid;\n}\n[data-rk] .ju367vu {\n border-width: 0px;\n}\n[data-rk] .ju367vv {\n border-width: 1px;\n}\n[data-rk] .ju367vw {\n border-width: 2px;\n}\n[data-rk] .ju367vx {\n border-width: 4px;\n}\n[data-rk] .ju367vy {\n cursor: pointer;\n}\n[data-rk] .ju367vz {\n flex-direction: row;\n}\n[data-rk] .ju367v10 {\n flex-direction: column;\n}\n[data-rk] .ju367v11 {\n font-family: var(--rk-fonts-body);\n}\n[data-rk] .ju367v12 {\n font-size: 12px;\n line-height: 18px;\n}\n[data-rk] .ju367v13 {\n font-size: 13px;\n line-height: 18px;\n}\n[data-rk] .ju367v14 {\n font-size: 14px;\n line-height: 18px;\n}\n[data-rk] .ju367v15 {\n font-size: 16px;\n line-height: 20px;\n}\n[data-rk] .ju367v16 {\n font-size: 18px;\n line-height: 24px;\n}\n[data-rk] .ju367v17 {\n font-size: 20px;\n line-height: 24px;\n}\n[data-rk] .ju367v18 {\n font-size: 23px;\n line-height: 29px;\n}\n[data-rk] .ju367v19 {\n font-weight: 400;\n}\n[data-rk] .ju367v1a {\n font-weight: 500;\n}\n[data-rk] .ju367v1b {\n font-weight: 600;\n}\n[data-rk] .ju367v1c {\n font-weight: 700;\n}\n[data-rk] .ju367v1d {\n font-weight: 800;\n}\n[data-rk] .ju367v1e {\n gap: 0;\n}\n[data-rk] .ju367v1f {\n gap: 1px;\n}\n[data-rk] .ju367v1g {\n gap: 2px;\n}\n[data-rk] .ju367v1h {\n gap: 3px;\n}\n[data-rk] .ju367v1i {\n gap: 4px;\n}\n[data-rk] .ju367v1j {\n gap: 5px;\n}\n[data-rk] .ju367v1k {\n gap: 6px;\n}\n[data-rk] .ju367v1l {\n gap: 8px;\n}\n[data-rk] .ju367v1m {\n gap: 10px;\n}\n[data-rk] .ju367v1n {\n gap: 12px;\n}\n[data-rk] .ju367v1o {\n gap: 14px;\n}\n[data-rk] .ju367v1p {\n gap: 16px;\n}\n[data-rk] .ju367v1q {\n gap: 18px;\n}\n[data-rk] .ju367v1r {\n gap: 20px;\n}\n[data-rk] .ju367v1s {\n gap: 24px;\n}\n[data-rk] .ju367v1t {\n gap: 28px;\n}\n[data-rk] .ju367v1u {\n gap: 32px;\n}\n[data-rk] .ju367v1v {\n gap: 36px;\n}\n[data-rk] .ju367v1w {\n gap: 44px;\n}\n[data-rk] .ju367v1x {\n gap: 64px;\n}\n[data-rk] .ju367v1y {\n gap: -1px;\n}\n[data-rk] .ju367v1z {\n height: 1px;\n}\n[data-rk] .ju367v20 {\n height: 2px;\n}\n[data-rk] .ju367v21 {\n height: 4px;\n}\n[data-rk] .ju367v22 {\n height: 8px;\n}\n[data-rk] .ju367v23 {\n height: 12px;\n}\n[data-rk] .ju367v24 {\n height: 20px;\n}\n[data-rk] .ju367v25 {\n height: 24px;\n}\n[data-rk] .ju367v26 {\n height: 28px;\n}\n[data-rk] .ju367v27 {\n height: 30px;\n}\n[data-rk] .ju367v28 {\n height: 32px;\n}\n[data-rk] .ju367v29 {\n height: 34px;\n}\n[data-rk] .ju367v2a {\n height: 36px;\n}\n[data-rk] .ju367v2b {\n height: 40px;\n}\n[data-rk] .ju367v2c {\n height: 44px;\n}\n[data-rk] .ju367v2d {\n height: 48px;\n}\n[data-rk] .ju367v2e {\n height: 54px;\n}\n[data-rk] .ju367v2f {\n height: 60px;\n}\n[data-rk] .ju367v2g {\n height: 360px;\n}\n[data-rk] .ju367v2h {\n height: 100%;\n}\n[data-rk] .ju367v2i {\n height: -webkit-max-content;\n height: -moz-max-content;\n height: max-content;\n}\n[data-rk] .ju367v2j {\n justify-content: flex-start;\n}\n[data-rk] .ju367v2k {\n justify-content: flex-end;\n}\n[data-rk] .ju367v2l {\n justify-content: center;\n}\n[data-rk] .ju367v2m {\n justify-content: space-between;\n}\n[data-rk] .ju367v2n {\n justify-content: space-around;\n}\n[data-rk] .ju367v2o {\n text-align: left;\n}\n[data-rk] .ju367v2p {\n text-align: center;\n}\n[data-rk] .ju367v2q {\n text-align: inherit;\n}\n[data-rk] .ju367v2r {\n margin-bottom: 0;\n}\n[data-rk] .ju367v2s {\n margin-bottom: 1px;\n}\n[data-rk] .ju367v2t {\n margin-bottom: 2px;\n}\n[data-rk] .ju367v2u {\n margin-bottom: 3px;\n}\n[data-rk] .ju367v2v {\n margin-bottom: 4px;\n}\n[data-rk] .ju367v2w {\n margin-bottom: 5px;\n}\n[data-rk] .ju367v2x {\n margin-bottom: 6px;\n}\n[data-rk] .ju367v2y {\n margin-bottom: 8px;\n}\n[data-rk] .ju367v2z {\n margin-bottom: 10px;\n}\n[data-rk] .ju367v30 {\n margin-bottom: 12px;\n}\n[data-rk] .ju367v31 {\n margin-bottom: 14px;\n}\n[data-rk] .ju367v32 {\n margin-bottom: 16px;\n}\n[data-rk] .ju367v33 {\n margin-bottom: 18px;\n}\n[data-rk] .ju367v34 {\n margin-bottom: 20px;\n}\n[data-rk] .ju367v35 {\n margin-bottom: 24px;\n}\n[data-rk] .ju367v36 {\n margin-bottom: 28px;\n}\n[data-rk] .ju367v37 {\n margin-bottom: 32px;\n}\n[data-rk] .ju367v38 {\n margin-bottom: 36px;\n}\n[data-rk] .ju367v39 {\n margin-bottom: 44px;\n}\n[data-rk] .ju367v3a {\n margin-bottom: 64px;\n}\n[data-rk] .ju367v3b {\n margin-bottom: -1px;\n}\n[data-rk] .ju367v3c {\n margin-left: 0;\n}\n[data-rk] .ju367v3d {\n margin-left: 1px;\n}\n[data-rk] .ju367v3e {\n margin-left: 2px;\n}\n[data-rk] .ju367v3f {\n margin-left: 3px;\n}\n[data-rk] .ju367v3g {\n margin-left: 4px;\n}\n[data-rk] .ju367v3h {\n margin-left: 5px;\n}\n[data-rk] .ju367v3i {\n margin-left: 6px;\n}\n[data-rk] .ju367v3j {\n margin-left: 8px;\n}\n[data-rk] .ju367v3k {\n margin-left: 10px;\n}\n[data-rk] .ju367v3l {\n margin-left: 12px;\n}\n[data-rk] .ju367v3m {\n margin-left: 14px;\n}\n[data-rk] .ju367v3n {\n margin-left: 16px;\n}\n[data-rk] .ju367v3o {\n margin-left: 18px;\n}\n[data-rk] .ju367v3p {\n margin-left: 20px;\n}\n[data-rk] .ju367v3q {\n margin-left: 24px;\n}\n[data-rk] .ju367v3r {\n margin-left: 28px;\n}\n[data-rk] .ju367v3s {\n margin-left: 32px;\n}\n[data-rk] .ju367v3t {\n margin-left: 36px;\n}\n[data-rk] .ju367v3u {\n margin-left: 44px;\n}\n[data-rk] .ju367v3v {\n margin-left: 64px;\n}\n[data-rk] .ju367v3w {\n margin-left: -1px;\n}\n[data-rk] .ju367v3x {\n margin-right: 0;\n}\n[data-rk] .ju367v3y {\n margin-right: 1px;\n}\n[data-rk] .ju367v3z {\n margin-right: 2px;\n}\n[data-rk] .ju367v40 {\n margin-right: 3px;\n}\n[data-rk] .ju367v41 {\n margin-right: 4px;\n}\n[data-rk] .ju367v42 {\n margin-right: 5px;\n}\n[data-rk] .ju367v43 {\n margin-right: 6px;\n}\n[data-rk] .ju367v44 {\n margin-right: 8px;\n}\n[data-rk] .ju367v45 {\n margin-right: 10px;\n}\n[data-rk] .ju367v46 {\n margin-right: 12px;\n}\n[data-rk] .ju367v47 {\n margin-right: 14px;\n}\n[data-rk] .ju367v48 {\n margin-right: 16px;\n}\n[data-rk] .ju367v49 {\n margin-right: 18px;\n}\n[data-rk] .ju367v4a {\n margin-right: 20px;\n}\n[data-rk] .ju367v4b {\n margin-right: 24px;\n}\n[data-rk] .ju367v4c {\n margin-right: 28px;\n}\n[data-rk] .ju367v4d {\n margin-right: 32px;\n}\n[data-rk] .ju367v4e {\n margin-right: 36px;\n}\n[data-rk] .ju367v4f {\n margin-right: 44px;\n}\n[data-rk] .ju367v4g {\n margin-right: 64px;\n}\n[data-rk] .ju367v4h {\n margin-right: -1px;\n}\n[data-rk] .ju367v4i {\n margin-top: 0;\n}\n[data-rk] .ju367v4j {\n margin-top: 1px;\n}\n[data-rk] .ju367v4k {\n margin-top: 2px;\n}\n[data-rk] .ju367v4l {\n margin-top: 3px;\n}\n[data-rk] .ju367v4m {\n margin-top: 4px;\n}\n[data-rk] .ju367v4n {\n margin-top: 5px;\n}\n[data-rk] .ju367v4o {\n margin-top: 6px;\n}\n[data-rk] .ju367v4p {\n margin-top: 8px;\n}\n[data-rk] .ju367v4q {\n margin-top: 10px;\n}\n[data-rk] .ju367v4r {\n margin-top: 12px;\n}\n[data-rk] .ju367v4s {\n margin-top: 14px;\n}\n[data-rk] .ju367v4t {\n margin-top: 16px;\n}\n[data-rk] .ju367v4u {\n margin-top: 18px;\n}\n[data-rk] .ju367v4v {\n margin-top: 20px;\n}\n[data-rk] .ju367v4w {\n margin-top: 24px;\n}\n[data-rk] .ju367v4x {\n margin-top: 28px;\n}\n[data-rk] .ju367v4y {\n margin-top: 32px;\n}\n[data-rk] .ju367v4z {\n margin-top: 36px;\n}\n[data-rk] .ju367v50 {\n margin-top: 44px;\n}\n[data-rk] .ju367v51 {\n margin-top: 64px;\n}\n[data-rk] .ju367v52 {\n margin-top: -1px;\n}\n[data-rk] .ju367v53 {\n max-width: 1px;\n}\n[data-rk] .ju367v54 {\n max-width: 2px;\n}\n[data-rk] .ju367v55 {\n max-width: 4px;\n}\n[data-rk] .ju367v56 {\n max-width: 8px;\n}\n[data-rk] .ju367v57 {\n max-width: 12px;\n}\n[data-rk] .ju367v58 {\n max-width: 20px;\n}\n[data-rk] .ju367v59 {\n max-width: 24px;\n}\n[data-rk] .ju367v5a {\n max-width: 28px;\n}\n[data-rk] .ju367v5b {\n max-width: 30px;\n}\n[data-rk] .ju367v5c {\n max-width: 32px;\n}\n[data-rk] .ju367v5d {\n max-width: 34px;\n}\n[data-rk] .ju367v5e {\n max-width: 36px;\n}\n[data-rk] .ju367v5f {\n max-width: 40px;\n}\n[data-rk] .ju367v5g {\n max-width: 44px;\n}\n[data-rk] .ju367v5h {\n max-width: 48px;\n}\n[data-rk] .ju367v5i {\n max-width: 54px;\n}\n[data-rk] .ju367v5j {\n max-width: 60px;\n}\n[data-rk] .ju367v5k {\n max-width: 360px;\n}\n[data-rk] .ju367v5l {\n max-width: 100%;\n}\n[data-rk] .ju367v5m {\n max-width: -webkit-max-content;\n max-width: -moz-max-content;\n max-width: max-content;\n}\n[data-rk] .ju367v5n {\n min-width: 1px;\n}\n[data-rk] .ju367v5o {\n min-width: 2px;\n}\n[data-rk] .ju367v5p {\n min-width: 4px;\n}\n[data-rk] .ju367v5q {\n min-width: 8px;\n}\n[data-rk] .ju367v5r {\n min-width: 12px;\n}\n[data-rk] .ju367v5s {\n min-width: 20px;\n}\n[data-rk] .ju367v5t {\n min-width: 24px;\n}\n[data-rk] .ju367v5u {\n min-width: 28px;\n}\n[data-rk] .ju367v5v {\n min-width: 30px;\n}\n[data-rk] .ju367v5w {\n min-width: 32px;\n}\n[data-rk] .ju367v5x {\n min-width: 34px;\n}\n[data-rk] .ju367v5y {\n min-width: 36px;\n}\n[data-rk] .ju367v5z {\n min-width: 40px;\n}\n[data-rk] .ju367v60 {\n min-width: 44px;\n}\n[data-rk] .ju367v61 {\n min-width: 48px;\n}\n[data-rk] .ju367v62 {\n min-width: 54px;\n}\n[data-rk] .ju367v63 {\n min-width: 60px;\n}\n[data-rk] .ju367v64 {\n min-width: 360px;\n}\n[data-rk] .ju367v65 {\n min-width: 100%;\n}\n[data-rk] .ju367v66 {\n min-width: -webkit-max-content;\n min-width: -moz-max-content;\n min-width: max-content;\n}\n[data-rk] .ju367v67 {\n overflow: hidden;\n}\n[data-rk] .ju367v68 {\n padding-bottom: 0;\n}\n[data-rk] .ju367v69 {\n padding-bottom: 1px;\n}\n[data-rk] .ju367v6a {\n padding-bottom: 2px;\n}\n[data-rk] .ju367v6b {\n padding-bottom: 3px;\n}\n[data-rk] .ju367v6c {\n padding-bottom: 4px;\n}\n[data-rk] .ju367v6d {\n padding-bottom: 5px;\n}\n[data-rk] .ju367v6e {\n padding-bottom: 6px;\n}\n[data-rk] .ju367v6f {\n padding-bottom: 8px;\n}\n[data-rk] .ju367v6g {\n padding-bottom: 10px;\n}\n[data-rk] .ju367v6h {\n padding-bottom: 12px;\n}\n[data-rk] .ju367v6i {\n padding-bottom: 14px;\n}\n[data-rk] .ju367v6j {\n padding-bottom: 16px;\n}\n[data-rk] .ju367v6k {\n padding-bottom: 18px;\n}\n[data-rk] .ju367v6l {\n padding-bottom: 20px;\n}\n[data-rk] .ju367v6m {\n padding-bottom: 24px;\n}\n[data-rk] .ju367v6n {\n padding-bottom: 28px;\n}\n[data-rk] .ju367v6o {\n padding-bottom: 32px;\n}\n[data-rk] .ju367v6p {\n padding-bottom: 36px;\n}\n[data-rk] .ju367v6q {\n padding-bottom: 44px;\n}\n[data-rk] .ju367v6r {\n padding-bottom: 64px;\n}\n[data-rk] .ju367v6s {\n padding-bottom: -1px;\n}\n[data-rk] .ju367v6t {\n padding-left: 0;\n}\n[data-rk] .ju367v6u {\n padding-left: 1px;\n}\n[data-rk] .ju367v6v {\n padding-left: 2px;\n}\n[data-rk] .ju367v6w {\n padding-left: 3px;\n}\n[data-rk] .ju367v6x {\n padding-left: 4px;\n}\n[data-rk] .ju367v6y {\n padding-left: 5px;\n}\n[data-rk] .ju367v6z {\n padding-left: 6px;\n}\n[data-rk] .ju367v70 {\n padding-left: 8px;\n}\n[data-rk] .ju367v71 {\n padding-left: 10px;\n}\n[data-rk] .ju367v72 {\n padding-left: 12px;\n}\n[data-rk] .ju367v73 {\n padding-left: 14px;\n}\n[data-rk] .ju367v74 {\n padding-left: 16px;\n}\n[data-rk] .ju367v75 {\n padding-left: 18px;\n}\n[data-rk] .ju367v76 {\n padding-left: 20px;\n}\n[data-rk] .ju367v77 {\n padding-left: 24px;\n}\n[data-rk] .ju367v78 {\n padding-left: 28px;\n}\n[data-rk] .ju367v79 {\n padding-left: 32px;\n}\n[data-rk] .ju367v7a {\n padding-left: 36px;\n}\n[data-rk] .ju367v7b {\n padding-left: 44px;\n}\n[data-rk] .ju367v7c {\n padding-left: 64px;\n}\n[data-rk] .ju367v7d {\n padding-left: -1px;\n}\n[data-rk] .ju367v7e {\n padding-right: 0;\n}\n[data-rk] .ju367v7f {\n padding-right: 1px;\n}\n[data-rk] .ju367v7g {\n padding-right: 2px;\n}\n[data-rk] .ju367v7h {\n padding-right: 3px;\n}\n[data-rk] .ju367v7i {\n padding-right: 4px;\n}\n[data-rk] .ju367v7j {\n padding-right: 5px;\n}\n[data-rk] .ju367v7k {\n padding-right: 6px;\n}\n[data-rk] .ju367v7l {\n padding-right: 8px;\n}\n[data-rk] .ju367v7m {\n padding-right: 10px;\n}\n[data-rk] .ju367v7n {\n padding-right: 12px;\n}\n[data-rk] .ju367v7o {\n padding-right: 14px;\n}\n[data-rk] .ju367v7p {\n padding-right: 16px;\n}\n[data-rk] .ju367v7q {\n padding-right: 18px;\n}\n[data-rk] .ju367v7r {\n padding-right: 20px;\n}\n[data-rk] .ju367v7s {\n padding-right: 24px;\n}\n[data-rk] .ju367v7t {\n padding-right: 28px;\n}\n[data-rk] .ju367v7u {\n padding-right: 32px;\n}\n[data-rk] .ju367v7v {\n padding-right: 36px;\n}\n[data-rk] .ju367v7w {\n padding-right: 44px;\n}\n[data-rk] .ju367v7x {\n padding-right: 64px;\n}\n[data-rk] .ju367v7y {\n padding-right: -1px;\n}\n[data-rk] .ju367v7z {\n padding-top: 0;\n}\n[data-rk] .ju367v80 {\n padding-top: 1px;\n}\n[data-rk] .ju367v81 {\n padding-top: 2px;\n}\n[data-rk] .ju367v82 {\n padding-top: 3px;\n}\n[data-rk] .ju367v83 {\n padding-top: 4px;\n}\n[data-rk] .ju367v84 {\n padding-top: 5px;\n}\n[data-rk] .ju367v85 {\n padding-top: 6px;\n}\n[data-rk] .ju367v86 {\n padding-top: 8px;\n}\n[data-rk] .ju367v87 {\n padding-top: 10px;\n}\n[data-rk] .ju367v88 {\n padding-top: 12px;\n}\n[data-rk] .ju367v89 {\n padding-top: 14px;\n}\n[data-rk] .ju367v8a {\n padding-top: 16px;\n}\n[data-rk] .ju367v8b {\n padding-top: 18px;\n}\n[data-rk] .ju367v8c {\n padding-top: 20px;\n}\n[data-rk] .ju367v8d {\n padding-top: 24px;\n}\n[data-rk] .ju367v8e {\n padding-top: 28px;\n}\n[data-rk] .ju367v8f {\n padding-top: 32px;\n}\n[data-rk] .ju367v8g {\n padding-top: 36px;\n}\n[data-rk] .ju367v8h {\n padding-top: 44px;\n}\n[data-rk] .ju367v8i {\n padding-top: 64px;\n}\n[data-rk] .ju367v8j {\n padding-top: -1px;\n}\n[data-rk] .ju367v8k {\n position: absolute;\n}\n[data-rk] .ju367v8l {\n position: fixed;\n}\n[data-rk] .ju367v8m {\n position: relative;\n}\n[data-rk] .ju367v8n {\n right: 0;\n}\n[data-rk] .ju367v8o {\n transition: 0.125s ease;\n}\n[data-rk] .ju367v8p {\n transition: transform 0.125s ease;\n}\n[data-rk] .ju367v8q {\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n[data-rk] .ju367v8r {\n width: 1px;\n}\n[data-rk] .ju367v8s {\n width: 2px;\n}\n[data-rk] .ju367v8t {\n width: 4px;\n}\n[data-rk] .ju367v8u {\n width: 8px;\n}\n[data-rk] .ju367v8v {\n width: 12px;\n}\n[data-rk] .ju367v8w {\n width: 20px;\n}\n[data-rk] .ju367v8x {\n width: 24px;\n}\n[data-rk] .ju367v8y {\n width: 28px;\n}\n[data-rk] .ju367v8z {\n width: 30px;\n}\n[data-rk] .ju367v90 {\n width: 32px;\n}\n[data-rk] .ju367v91 {\n width: 34px;\n}\n[data-rk] .ju367v92 {\n width: 36px;\n}\n[data-rk] .ju367v93 {\n width: 40px;\n}\n[data-rk] .ju367v94 {\n width: 44px;\n}\n[data-rk] .ju367v95 {\n width: 48px;\n}\n[data-rk] .ju367v96 {\n width: 54px;\n}\n[data-rk] .ju367v97 {\n width: 60px;\n}\n[data-rk] .ju367v98 {\n width: 360px;\n}\n[data-rk] .ju367v99 {\n width: 100%;\n}\n[data-rk] .ju367v9a {\n width: -webkit-max-content;\n width: -moz-max-content;\n width: max-content;\n}\n[data-rk] .ju367v9b {\n -webkit-backdrop-filter: var(--rk-blurs-modalOverlay);\n backdrop-filter: var(--rk-blurs-modalOverlay);\n}\n[data-rk] .ju367v9c {\n background: var(--rk-colors-accentColor);\n}\n[data-rk] .ju367v9d:hover {\n background: var(--rk-colors-accentColor);\n}\n[data-rk] .ju367v9e:active {\n background: var(--rk-colors-accentColor);\n}\n[data-rk] .ju367v9f {\n background: var(--rk-colors-accentColorForeground);\n}\n[data-rk] .ju367v9g:hover {\n background: var(--rk-colors-accentColorForeground);\n}\n[data-rk] .ju367v9h:active {\n background: var(--rk-colors-accentColorForeground);\n}\n[data-rk] .ju367v9i {\n background: var(--rk-colors-actionButtonBorder);\n}\n[data-rk] .ju367v9j:hover {\n background: var(--rk-colors-actionButtonBorder);\n}\n[data-rk] .ju367v9k:active {\n background: var(--rk-colors-actionButtonBorder);\n}\n[data-rk] .ju367v9l {\n background: var(--rk-colors-actionButtonBorderMobile);\n}\n[data-rk] .ju367v9m:hover {\n background: var(--rk-colors-actionButtonBorderMobile);\n}\n[data-rk] .ju367v9n:active {\n background: var(--rk-colors-actionButtonBorderMobile);\n}\n[data-rk] .ju367v9o {\n background: var(--rk-colors-actionButtonSecondaryBackground);\n}\n[data-rk] .ju367v9p:hover {\n background: var(--rk-colors-actionButtonSecondaryBackground);\n}\n[data-rk] .ju367v9q:active {\n background: var(--rk-colors-actionButtonSecondaryBackground);\n}\n[data-rk] .ju367v9r {\n background: var(--rk-colors-closeButton);\n}\n[data-rk] .ju367v9s:hover {\n background: var(--rk-colors-closeButton);\n}\n[data-rk] .ju367v9t:active {\n background: var(--rk-colors-closeButton);\n}\n[data-rk] .ju367v9u {\n background: var(--rk-colors-closeButtonBackground);\n}\n[data-rk] .ju367v9v:hover {\n background: var(--rk-colors-closeButtonBackground);\n}\n[data-rk] .ju367v9w:active {\n background: var(--rk-colors-closeButtonBackground);\n}\n[data-rk] .ju367v9x {\n background: var(--rk-colors-connectButtonBackground);\n}\n[data-rk] .ju367v9y:hover {\n background: var(--rk-colors-connectButtonBackground);\n}\n[data-rk] .ju367v9z:active {\n background: var(--rk-colors-connectButtonBackground);\n}\n[data-rk] .ju367va0 {\n background: var(--rk-colors-connectButtonBackgroundError);\n}\n[data-rk] .ju367va1:hover {\n background: var(--rk-colors-connectButtonBackgroundError);\n}\n[data-rk] .ju367va2:active {\n background: var(--rk-colors-connectButtonBackgroundError);\n}\n[data-rk] .ju367va3 {\n background: var(--rk-colors-connectButtonInnerBackground);\n}\n[data-rk] .ju367va4:hover {\n background: var(--rk-colors-connectButtonInnerBackground);\n}\n[data-rk] .ju367va5:active {\n background: var(--rk-colors-connectButtonInnerBackground);\n}\n[data-rk] .ju367va6 {\n background: var(--rk-colors-connectButtonText);\n}\n[data-rk] .ju367va7:hover {\n background: var(--rk-colors-connectButtonText);\n}\n[data-rk] .ju367va8:active {\n background: var(--rk-colors-connectButtonText);\n}\n[data-rk] .ju367va9 {\n background: var(--rk-colors-connectButtonTextError);\n}\n[data-rk] .ju367vaa:hover {\n background: var(--rk-colors-connectButtonTextError);\n}\n[data-rk] .ju367vab:active {\n background: var(--rk-colors-connectButtonTextError);\n}\n[data-rk] .ju367vac {\n background: var(--rk-colors-connectionIndicator);\n}\n[data-rk] .ju367vad:hover {\n background: var(--rk-colors-connectionIndicator);\n}\n[data-rk] .ju367vae:active {\n background: var(--rk-colors-connectionIndicator);\n}\n[data-rk] .ju367vaf {\n background: var(--rk-colors-error);\n}\n[data-rk] .ju367vag:hover {\n background: var(--rk-colors-error);\n}\n[data-rk] .ju367vah:active {\n background: var(--rk-colors-error);\n}\n[data-rk] .ju367vai {\n background: var(--rk-colors-generalBorder);\n}\n[data-rk] .ju367vaj:hover {\n background: var(--rk-colors-generalBorder);\n}\n[data-rk] .ju367vak:active {\n background: var(--rk-colors-generalBorder);\n}\n[data-rk] .ju367val {\n background: var(--rk-colors-generalBorderDim);\n}\n[data-rk] .ju367vam:hover {\n background: var(--rk-colors-generalBorderDim);\n}\n[data-rk] .ju367van:active {\n background: var(--rk-colors-generalBorderDim);\n}\n[data-rk] .ju367vao {\n background: var(--rk-colors-menuItemBackground);\n}\n[data-rk] .ju367vap:hover {\n background: var(--rk-colors-menuItemBackground);\n}\n[data-rk] .ju367vaq:active {\n background: var(--rk-colors-menuItemBackground);\n}\n[data-rk] .ju367var {\n background: var(--rk-colors-modalBackdrop);\n}\n[data-rk] .ju367vas:hover {\n background: var(--rk-colors-modalBackdrop);\n}\n[data-rk] .ju367vat:active {\n background: var(--rk-colors-modalBackdrop);\n}\n[data-rk] .ju367vau {\n background: var(--rk-colors-modalBackground);\n}\n[data-rk] .ju367vav:hover {\n background: var(--rk-colors-modalBackground);\n}\n[data-rk] .ju367vaw:active {\n background: var(--rk-colors-modalBackground);\n}\n[data-rk] .ju367vax {\n background: var(--rk-colors-modalBorder);\n}\n[data-rk] .ju367vay:hover {\n background: var(--rk-colors-modalBorder);\n}\n[data-rk] .ju367vaz:active {\n background: var(--rk-colors-modalBorder);\n}\n[data-rk] .ju367vb0 {\n background: var(--rk-colors-modalText);\n}\n[data-rk] .ju367vb1:hover {\n background: var(--rk-colors-modalText);\n}\n[data-rk] .ju367vb2:active {\n background: var(--rk-colors-modalText);\n}\n[data-rk] .ju367vb3 {\n background: var(--rk-colors-modalTextDim);\n}\n[data-rk] .ju367vb4:hover {\n background: var(--rk-colors-modalTextDim);\n}\n[data-rk] .ju367vb5:active {\n background: var(--rk-colors-modalTextDim);\n}\n[data-rk] .ju367vb6 {\n background: var(--rk-colors-modalTextSecondary);\n}\n[data-rk] .ju367vb7:hover {\n background: var(--rk-colors-modalTextSecondary);\n}\n[data-rk] .ju367vb8:active {\n background: var(--rk-colors-modalTextSecondary);\n}\n[data-rk] .ju367vb9 {\n background: var(--rk-colors-profileAction);\n}\n[data-rk] .ju367vba:hover {\n background: var(--rk-colors-profileAction);\n}\n[data-rk] .ju367vbb:active {\n background: var(--rk-colors-profileAction);\n}\n[data-rk] .ju367vbc {\n background: var(--rk-colors-profileActionHover);\n}\n[data-rk] .ju367vbd:hover {\n background: var(--rk-colors-profileActionHover);\n}\n[data-rk] .ju367vbe:active {\n background: var(--rk-colors-profileActionHover);\n}\n[data-rk] .ju367vbf {\n background: var(--rk-colors-profileForeground);\n}\n[data-rk] .ju367vbg:hover {\n background: var(--rk-colors-profileForeground);\n}\n[data-rk] .ju367vbh:active {\n background: var(--rk-colors-profileForeground);\n}\n[data-rk] .ju367vbi {\n background: var(--rk-colors-selectedOptionBorder);\n}\n[data-rk] .ju367vbj:hover {\n background: var(--rk-colors-selectedOptionBorder);\n}\n[data-rk] .ju367vbk:active {\n background: var(--rk-colors-selectedOptionBorder);\n}\n[data-rk] .ju367vbl {\n background: var(--rk-colors-standby);\n}\n[data-rk] .ju367vbm:hover {\n background: var(--rk-colors-standby);\n}\n[data-rk] .ju367vbn:active {\n background: var(--rk-colors-standby);\n}\n[data-rk] .ju367vbo {\n border-color: var(--rk-colors-accentColor);\n}\n[data-rk] .ju367vbp:hover {\n border-color: var(--rk-colors-accentColor);\n}\n[data-rk] .ju367vbq:active {\n border-color: var(--rk-colors-accentColor);\n}\n[data-rk] .ju367vbr {\n border-color: var(--rk-colors-accentColorForeground);\n}\n[data-rk] .ju367vbs:hover {\n border-color: var(--rk-colors-accentColorForeground);\n}\n[data-rk] .ju367vbt:active {\n border-color: var(--rk-colors-accentColorForeground);\n}\n[data-rk] .ju367vbu {\n border-color: var(--rk-colors-actionButtonBorder);\n}\n[data-rk] .ju367vbv:hover {\n border-color: var(--rk-colors-actionButtonBorder);\n}\n[data-rk] .ju367vbw:active {\n border-color: var(--rk-colors-actionButtonBorder);\n}\n[data-rk] .ju367vbx {\n border-color: var(--rk-colors-actionButtonBorderMobile);\n}\n[data-rk] .ju367vby:hover {\n border-color: var(--rk-colors-actionButtonBorderMobile);\n}\n[data-rk] .ju367vbz:active {\n border-color: var(--rk-colors-actionButtonBorderMobile);\n}\n[data-rk] .ju367vc0 {\n border-color: var(--rk-colors-actionButtonSecondaryBackground);\n}\n[data-rk] .ju367vc1:hover {\n border-color: var(--rk-colors-actionButtonSecondaryBackground);\n}\n[data-rk] .ju367vc2:active {\n border-color: var(--rk-colors-actionButtonSecondaryBackground);\n}\n[data-rk] .ju367vc3 {\n border-color: var(--rk-colors-closeButton);\n}\n[data-rk] .ju367vc4:hover {\n border-color: var(--rk-colors-closeButton);\n}\n[data-rk] .ju367vc5:active {\n border-color: var(--rk-colors-closeButton);\n}\n[data-rk] .ju367vc6 {\n border-color: var(--rk-colors-closeButtonBackground);\n}\n[data-rk] .ju367vc7:hover {\n border-color: var(--rk-colors-closeButtonBackground);\n}\n[data-rk] .ju367vc8:active {\n border-color: var(--rk-colors-closeButtonBackground);\n}\n[data-rk] .ju367vc9 {\n border-color: var(--rk-colors-connectButtonBackground);\n}\n[data-rk] .ju367vca:hover {\n border-color: var(--rk-colors-connectButtonBackground);\n}\n[data-rk] .ju367vcb:active {\n border-color: var(--rk-colors-connectButtonBackground);\n}\n[data-rk] .ju367vcc {\n border-color: var(--rk-colors-connectButtonBackgroundError);\n}\n[data-rk] .ju367vcd:hover {\n border-color: var(--rk-colors-connectButtonBackgroundError);\n}\n[data-rk] .ju367vce:active {\n border-color: var(--rk-colors-connectButtonBackgroundError);\n}\n[data-rk] .ju367vcf {\n border-color: var(--rk-colors-connectButtonInnerBackground);\n}\n[data-rk] .ju367vcg:hover {\n border-color: var(--rk-colors-connectButtonInnerBackground);\n}\n[data-rk] .ju367vch:active {\n border-color: var(--rk-colors-connectButtonInnerBackground);\n}\n[data-rk] .ju367vci {\n border-color: var(--rk-colors-connectButtonText);\n}\n[data-rk] .ju367vcj:hover {\n border-color: var(--rk-colors-connectButtonText);\n}\n[data-rk] .ju367vck:active {\n border-color: var(--rk-colors-connectButtonText);\n}\n[data-rk] .ju367vcl {\n border-color: var(--rk-colors-connectButtonTextError);\n}\n[data-rk] .ju367vcm:hover {\n border-color: var(--rk-colors-connectButtonTextError);\n}\n[data-rk] .ju367vcn:active {\n border-color: var(--rk-colors-connectButtonTextError);\n}\n[data-rk] .ju367vco {\n border-color: var(--rk-colors-connectionIndicator);\n}\n[data-rk] .ju367vcp:hover {\n border-color: var(--rk-colors-connectionIndicator);\n}\n[data-rk] .ju367vcq:active {\n border-color: var(--rk-colors-connectionIndicator);\n}\n[data-rk] .ju367vcr {\n border-color: var(--rk-colors-error);\n}\n[data-rk] .ju367vcs:hover {\n border-color: var(--rk-colors-error);\n}\n[data-rk] .ju367vct:active {\n border-color: var(--rk-colors-error);\n}\n[data-rk] .ju367vcu {\n border-color: var(--rk-colors-generalBorder);\n}\n[data-rk] .ju367vcv:hover {\n border-color: var(--rk-colors-generalBorder);\n}\n[data-rk] .ju367vcw:active {\n border-color: var(--rk-colors-generalBorder);\n}\n[data-rk] .ju367vcx {\n border-color: var(--rk-colors-generalBorderDim);\n}\n[data-rk] .ju367vcy:hover {\n border-color: var(--rk-colors-generalBorderDim);\n}\n[data-rk] .ju367vcz:active {\n border-color: var(--rk-colors-generalBorderDim);\n}\n[data-rk] .ju367vd0 {\n border-color: var(--rk-colors-menuItemBackground);\n}\n[data-rk] .ju367vd1:hover {\n border-color: var(--rk-colors-menuItemBackground);\n}\n[data-rk] .ju367vd2:active {\n border-color: var(--rk-colors-menuItemBackground);\n}\n[data-rk] .ju367vd3 {\n border-color: var(--rk-colors-modalBackdrop);\n}\n[data-rk] .ju367vd4:hover {\n border-color: var(--rk-colors-modalBackdrop);\n}\n[data-rk] .ju367vd5:active {\n border-color: var(--rk-colors-modalBackdrop);\n}\n[data-rk] .ju367vd6 {\n border-color: var(--rk-colors-modalBackground);\n}\n[data-rk] .ju367vd7:hover {\n border-color: var(--rk-colors-modalBackground);\n}\n[data-rk] .ju367vd8:active {\n border-color: var(--rk-colors-modalBackground);\n}\n[data-rk] .ju367vd9 {\n border-color: var(--rk-colors-modalBorder);\n}\n[data-rk] .ju367vda:hover {\n border-color: var(--rk-colors-modalBorder);\n}\n[data-rk] .ju367vdb:active {\n border-color: var(--rk-colors-modalBorder);\n}\n[data-rk] .ju367vdc {\n border-color: var(--rk-colors-modalText);\n}\n[data-rk] .ju367vdd:hover {\n border-color: var(--rk-colors-modalText);\n}\n[data-rk] .ju367vde:active {\n border-color: var(--rk-colors-modalText);\n}\n[data-rk] .ju367vdf {\n border-color: var(--rk-colors-modalTextDim);\n}\n[data-rk] .ju367vdg:hover {\n border-color: var(--rk-colors-modalTextDim);\n}\n[data-rk] .ju367vdh:active {\n border-color: var(--rk-colors-modalTextDim);\n}\n[data-rk] .ju367vdi {\n border-color: var(--rk-colors-modalTextSecondary);\n}\n[data-rk] .ju367vdj:hover {\n border-color: var(--rk-colors-modalTextSecondary);\n}\n[data-rk] .ju367vdk:active {\n border-color: var(--rk-colors-modalTextSecondary);\n}\n[data-rk] .ju367vdl {\n border-color: var(--rk-colors-profileAction);\n}\n[data-rk] .ju367vdm:hover {\n border-color: var(--rk-colors-profileAction);\n}\n[data-rk] .ju367vdn:active {\n border-color: var(--rk-colors-profileAction);\n}\n[data-rk] .ju367vdo {\n border-color: var(--rk-colors-profileActionHover);\n}\n[data-rk] .ju367vdp:hover {\n border-color: var(--rk-colors-profileActionHover);\n}\n[data-rk] .ju367vdq:active {\n border-color: var(--rk-colors-profileActionHover);\n}\n[data-rk] .ju367vdr {\n border-color: var(--rk-colors-profileForeground);\n}\n[data-rk] .ju367vds:hover {\n border-color: var(--rk-colors-profileForeground);\n}\n[data-rk] .ju367vdt:active {\n border-color: var(--rk-colors-profileForeground);\n}\n[data-rk] .ju367vdu {\n border-color: var(--rk-colors-selectedOptionBorder);\n}\n[data-rk] .ju367vdv:hover {\n border-color: var(--rk-colors-selectedOptionBorder);\n}\n[data-rk] .ju367vdw:active {\n border-color: var(--rk-colors-selectedOptionBorder);\n}\n[data-rk] .ju367vdx {\n border-color: var(--rk-colors-standby);\n}\n[data-rk] .ju367vdy:hover {\n border-color: var(--rk-colors-standby);\n}\n[data-rk] .ju367vdz:active {\n border-color: var(--rk-colors-standby);\n}\n[data-rk] .ju367ve0 {\n box-shadow: var(--rk-shadows-connectButton);\n}\n[data-rk] .ju367ve1:hover {\n box-shadow: var(--rk-shadows-connectButton);\n}\n[data-rk] .ju367ve2:active {\n box-shadow: var(--rk-shadows-connectButton);\n}\n[data-rk] .ju367ve3 {\n box-shadow: var(--rk-shadows-dialog);\n}\n[data-rk] .ju367ve4:hover {\n box-shadow: var(--rk-shadows-dialog);\n}\n[data-rk] .ju367ve5:active {\n box-shadow: var(--rk-shadows-dialog);\n}\n[data-rk] .ju367ve6 {\n box-shadow: var(--rk-shadows-profileDetailsAction);\n}\n[data-rk] .ju367ve7:hover {\n box-shadow: var(--rk-shadows-profileDetailsAction);\n}\n[data-rk] .ju367ve8:active {\n box-shadow: var(--rk-shadows-profileDetailsAction);\n}\n[data-rk] .ju367ve9 {\n box-shadow: var(--rk-shadows-selectedOption);\n}\n[data-rk] .ju367vea:hover {\n box-shadow: var(--rk-shadows-selectedOption);\n}\n[data-rk] .ju367veb:active {\n box-shadow: var(--rk-shadows-selectedOption);\n}\n[data-rk] .ju367vec {\n box-shadow: var(--rk-shadows-selectedWallet);\n}\n[data-rk] .ju367ved:hover {\n box-shadow: var(--rk-shadows-selectedWallet);\n}\n[data-rk] .ju367vee:active {\n box-shadow: var(--rk-shadows-selectedWallet);\n}\n[data-rk] .ju367vef {\n box-shadow: var(--rk-shadows-walletLogo);\n}\n[data-rk] .ju367veg:hover {\n box-shadow: var(--rk-shadows-walletLogo);\n}\n[data-rk] .ju367veh:active {\n box-shadow: var(--rk-shadows-walletLogo);\n}\n[data-rk] .ju367vei {\n color: var(--rk-colors-accentColor);\n}\n[data-rk] .ju367vej:hover {\n color: var(--rk-colors-accentColor);\n}\n[data-rk] .ju367vek:active {\n color: var(--rk-colors-accentColor);\n}\n[data-rk] .ju367vel {\n color: var(--rk-colors-accentColorForeground);\n}\n[data-rk] .ju367vem:hover {\n color: var(--rk-colors-accentColorForeground);\n}\n[data-rk] .ju367ven:active {\n color: var(--rk-colors-accentColorForeground);\n}\n[data-rk] .ju367veo {\n color: var(--rk-colors-actionButtonBorder);\n}\n[data-rk] .ju367vep:hover {\n color: var(--rk-colors-actionButtonBorder);\n}\n[data-rk] .ju367veq:active {\n color: var(--rk-colors-actionButtonBorder);\n}\n[data-rk] .ju367ver {\n color: var(--rk-colors-actionButtonBorderMobile);\n}\n[data-rk] .ju367ves:hover {\n color: var(--rk-colors-actionButtonBorderMobile);\n}\n[data-rk] .ju367vet:active {\n color: var(--rk-colors-actionButtonBorderMobile);\n}\n[data-rk] .ju367veu {\n color: var(--rk-colors-actionButtonSecondaryBackground);\n}\n[data-rk] .ju367vev:hover {\n color: var(--rk-colors-actionButtonSecondaryBackground);\n}\n[data-rk] .ju367vew:active {\n color: var(--rk-colors-actionButtonSecondaryBackground);\n}\n[data-rk] .ju367vex {\n color: var(--rk-colors-closeButton);\n}\n[data-rk] .ju367vey:hover {\n color: var(--rk-colors-closeButton);\n}\n[data-rk] .ju367vez:active {\n color: var(--rk-colors-closeButton);\n}\n[data-rk] .ju367vf0 {\n color: var(--rk-colors-closeButtonBackground);\n}\n[data-rk] .ju367vf1:hover {\n color: var(--rk-colors-closeButtonBackground);\n}\n[data-rk] .ju367vf2:active {\n color: var(--rk-colors-closeButtonBackground);\n}\n[data-rk] .ju367vf3 {\n color: var(--rk-colors-connectButtonBackground);\n}\n[data-rk] .ju367vf4:hover {\n color: var(--rk-colors-connectButtonBackground);\n}\n[data-rk] .ju367vf5:active {\n color: var(--rk-colors-connectButtonBackground);\n}\n[data-rk] .ju367vf6 {\n color: var(--rk-colors-connectButtonBackgroundError);\n}\n[data-rk] .ju367vf7:hover {\n color: var(--rk-colors-connectButtonBackgroundError);\n}\n[data-rk] .ju367vf8:active {\n color: var(--rk-colors-connectButtonBackgroundError);\n}\n[data-rk] .ju367vf9 {\n color: var(--rk-colors-connectButtonInnerBackground);\n}\n[data-rk] .ju367vfa:hover {\n color: var(--rk-colors-connectButtonInnerBackground);\n}\n[data-rk] .ju367vfb:active {\n color: var(--rk-colors-connectButtonInnerBackground);\n}\n[data-rk] .ju367vfc {\n color: var(--rk-colors-connectButtonText);\n}\n[data-rk] .ju367vfd:hover {\n color: var(--rk-colors-connectButtonText);\n}\n[data-rk] .ju367vfe:active {\n color: var(--rk-colors-connectButtonText);\n}\n[data-rk] .ju367vff {\n color: var(--rk-colors-connectButtonTextError);\n}\n[data-rk] .ju367vfg:hover {\n color: var(--rk-colors-connectButtonTextError);\n}\n[data-rk] .ju367vfh:active {\n color: var(--rk-colors-connectButtonTextError);\n}\n[data-rk] .ju367vfi {\n color: var(--rk-colors-connectionIndicator);\n}\n[data-rk] .ju367vfj:hover {\n color: var(--rk-colors-connectionIndicator);\n}\n[data-rk] .ju367vfk:active {\n color: var(--rk-colors-connectionIndicator);\n}\n[data-rk] .ju367vfl {\n color: var(--rk-colors-error);\n}\n[data-rk] .ju367vfm:hover {\n color: var(--rk-colors-error);\n}\n[data-rk] .ju367vfn:active {\n color: var(--rk-colors-error);\n}\n[data-rk] .ju367vfo {\n color: var(--rk-colors-generalBorder);\n}\n[data-rk] .ju367vfp:hover {\n color: var(--rk-colors-generalBorder);\n}\n[data-rk] .ju367vfq:active {\n color: var(--rk-colors-generalBorder);\n}\n[data-rk] .ju367vfr {\n color: var(--rk-colors-generalBorderDim);\n}\n[data-rk] .ju367vfs:hover {\n color: var(--rk-colors-generalBorderDim);\n}\n[data-rk] .ju367vft:active {\n color: var(--rk-colors-generalBorderDim);\n}\n[data-rk] .ju367vfu {\n color: var(--rk-colors-menuItemBackground);\n}\n[data-rk] .ju367vfv:hover {\n color: var(--rk-colors-menuItemBackground);\n}\n[data-rk] .ju367vfw:active {\n color: var(--rk-colors-menuItemBackground);\n}\n[data-rk] .ju367vfx {\n color: var(--rk-colors-modalBackdrop);\n}\n[data-rk] .ju367vfy:hover {\n color: var(--rk-colors-modalBackdrop);\n}\n[data-rk] .ju367vfz:active {\n color: var(--rk-colors-modalBackdrop);\n}\n[data-rk] .ju367vg0 {\n color: var(--rk-colors-modalBackground);\n}\n[data-rk] .ju367vg1:hover {\n color: var(--rk-colors-modalBackground);\n}\n[data-rk] .ju367vg2:active {\n color: var(--rk-colors-modalBackground);\n}\n[data-rk] .ju367vg3 {\n color: var(--rk-colors-modalBorder);\n}\n[data-rk] .ju367vg4:hover {\n color: var(--rk-colors-modalBorder);\n}\n[data-rk] .ju367vg5:active {\n color: var(--rk-colors-modalBorder);\n}\n[data-rk] .ju367vg6 {\n color: var(--rk-colors-modalText);\n}\n[data-rk] .ju367vg7:hover {\n color: var(--rk-colors-modalText);\n}\n[data-rk] .ju367vg8:active {\n color: var(--rk-colors-modalText);\n}\n[data-rk] .ju367vg9 {\n color: var(--rk-colors-modalTextDim);\n}\n[data-rk] .ju367vga:hover {\n color: var(--rk-colors-modalTextDim);\n}\n[data-rk] .ju367vgb:active {\n color: var(--rk-colors-modalTextDim);\n}\n[data-rk] .ju367vgc {\n color: var(--rk-colors-modalTextSecondary);\n}\n[data-rk] .ju367vgd:hover {\n color: var(--rk-colors-modalTextSecondary);\n}\n[data-rk] .ju367vge:active {\n color: var(--rk-colors-modalTextSecondary);\n}\n[data-rk] .ju367vgf {\n color: var(--rk-colors-profileAction);\n}\n[data-rk] .ju367vgg:hover {\n color: var(--rk-colors-profileAction);\n}\n[data-rk] .ju367vgh:active {\n color: var(--rk-colors-profileAction);\n}\n[data-rk] .ju367vgi {\n color: var(--rk-colors-profileActionHover);\n}\n[data-rk] .ju367vgj:hover {\n color: var(--rk-colors-profileActionHover);\n}\n[data-rk] .ju367vgk:active {\n color: var(--rk-colors-profileActionHover);\n}\n[data-rk] .ju367vgl {\n color: var(--rk-colors-profileForeground);\n}\n[data-rk] .ju367vgm:hover {\n color: var(--rk-colors-profileForeground);\n}\n[data-rk] .ju367vgn:active {\n color: var(--rk-colors-profileForeground);\n}\n[data-rk] .ju367vgo {\n color: var(--rk-colors-selectedOptionBorder);\n}\n[data-rk] .ju367vgp:hover {\n color: var(--rk-colors-selectedOptionBorder);\n}\n[data-rk] .ju367vgq:active {\n color: var(--rk-colors-selectedOptionBorder);\n}\n[data-rk] .ju367vgr {\n color: var(--rk-colors-standby);\n}\n[data-rk] .ju367vgs:hover {\n color: var(--rk-colors-standby);\n}\n[data-rk] .ju367vgt:active {\n color: var(--rk-colors-standby);\n}\n@media screen and (min-width: 768px) {\n [data-rk] .ju367v1 {\n align-items: flex-start;\n }\n [data-rk] .ju367v3 {\n align-items: flex-end;\n }\n [data-rk] .ju367v5 {\n align-items: center;\n }\n [data-rk] .ju367v7 {\n display: none;\n }\n [data-rk] .ju367v9 {\n display: block;\n }\n [data-rk] .ju367vb {\n display: flex;\n }\n [data-rk] .ju367vd {\n display: inline;\n }\n}\n\n/* vanilla-extract-css-ns:@rainbow-me/rainbowkit/src/css/touchableStyles.css.ts.vanilla.css?source=Ll8xMmNibzhpMywuXzEyY2JvOGkzOjphZnRlciB7CiAgLS1fMTJjYm84aTA6IDE7CiAgLS1fMTJjYm84aTE6IDE7Cn0KLl8xMmNibzhpMzpob3ZlciB7CiAgdHJhbnNmb3JtOiBzY2FsZSh2YXIoLS1fMTJjYm84aTApKTsKfQouXzEyY2JvOGkzOmFjdGl2ZSB7CiAgdHJhbnNmb3JtOiBzY2FsZSh2YXIoLS1fMTJjYm84aTEpKTsKfQouXzEyY2JvOGkzOmFjdGl2ZTo6YWZ0ZXIgewogIGNvbnRlbnQ6ICIiOwogIGJvdHRvbTogLTFweDsKICBkaXNwbGF5OiBibG9jazsKICBsZWZ0OiAtMXB4OwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICByaWdodDogLTFweDsKICB0b3A6IC0xcHg7CiAgdHJhbnNmb3JtOiBzY2FsZShjYWxjKCgxIC8gdmFyKC0tXzEyY2JvOGkxKSkgKiB2YXIoLS1fMTJjYm84aTApKSk7Cn0KLl8xMmNibzhpNCwuXzEyY2JvOGk0OjphZnRlciB7CiAgLS1fMTJjYm84aTA6IDEuMDI1Owp9Ci5fMTJjYm84aTUsLl8xMmNibzhpNTo6YWZ0ZXIgewogIC0tXzEyY2JvOGkwOiAxLjE7Cn0KLl8xMmNibzhpNiwuXzEyY2JvOGk2OjphZnRlciB7CiAgLS1fMTJjYm84aTE6IDAuOTU7Cn0KLl8xMmNibzhpNywuXzEyY2JvOGk3OjphZnRlciB7CiAgLS1fMTJjYm84aTE6IDAuOTsKfQ== */\n[data-rk] ._12cbo8i3,\n[data-rk] ._12cbo8i3::after {\n --_12cbo8i0: 1;\n --_12cbo8i1: 1;\n}\n[data-rk] ._12cbo8i3:hover {\n transform: scale(var(--_12cbo8i0));\n}\n[data-rk] ._12cbo8i3:active {\n transform: scale(var(--_12cbo8i1));\n}\n[data-rk] ._12cbo8i3:active::after {\n content: \"\";\n bottom: -1px;\n display: block;\n left: -1px;\n position: absolute;\n right: -1px;\n top: -1px;\n transform: scale(calc((1 / var(--_12cbo8i1)) * var(--_12cbo8i0)));\n}\n[data-rk] ._12cbo8i4,\n[data-rk] ._12cbo8i4::after {\n --_12cbo8i0: 1.025;\n}\n[data-rk] ._12cbo8i5,\n[data-rk] ._12cbo8i5::after {\n --_12cbo8i0: 1.1;\n}\n[data-rk] ._12cbo8i6,\n[data-rk] ._12cbo8i6::after {\n --_12cbo8i1: 0.95;\n}\n[data-rk] ._12cbo8i7,\n[data-rk] ._12cbo8i7::after {\n --_12cbo8i1: 0.9;\n}\n\n/* vanilla-extract-css-ns:@rainbow-me/rainbowkit/src/components/Icons/Icons.css.ts.vanilla.css?source=QGtleWZyYW1lcyBfMWx1dWxlNDEgewogIDAlIHsKICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOwogIH0KICAxMDAlIHsKICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7CiAgfQp9Ci5fMWx1dWxlNDIgewogIGFuaW1hdGlvbjogXzFsdXVsZTQxIDNzIGluZmluaXRlIGxpbmVhcjsKfQouXzFsdXVsZTQzIHsKICBiYWNrZ3JvdW5kOiBjb25pYy1ncmFkaWVudChmcm9tIDE4MGRlZyBhdCA1MCUgNTAlLCByZ2JhKDcyLCAxNDYsIDI1NCwgMCkgMGRlZywgY3VycmVudENvbG9yIDI4Mi4wNGRlZywgcmdiYSg3MiwgMTQ2LCAyNTQsIDApIDMxOS44NmRlZywgcmdiYSg3MiwgMTQ2LCAyNTQsIDApIDM2MGRlZyk7CiAgaGVpZ2h0OiAyMXB4OwogIHdpZHRoOiAyMXB4Owp9 */\n@-webkit-keyframes _1luule41 {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n}\n@keyframes _1luule41 {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n}\n[data-rk] ._1luule42 {\n -webkit-animation: _1luule41 3s infinite linear;\n animation: _1luule41 3s infinite linear;\n}\n[data-rk] ._1luule43 {\n background: conic-gradient(from 180deg at 50% 50%, rgba(72, 146, 254, 0) 0deg, currentColor 282.04deg, rgba(72, 146, 254, 0) 319.86deg, rgba(72, 146, 254, 0) 360deg);\n height: 21px;\n width: 21px;\n}\n\n/* vanilla-extract-css-ns:@rainbow-me/rainbowkit/src/components/Dialog/Dialog.css.ts.vanilla.css?source=QGtleWZyYW1lcyBfOXBtNGtpMCB7CiAgMCUgewogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpOwogIH0KICAxMDAlIHsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsKICB9Cn0KQGtleWZyYW1lcyBfOXBtNGtpMSB7CiAgMCUgewogICAgb3BhY2l0eTogMDsKICB9CiAgMTAwJSB7CiAgICBvcGFjaXR5OiAxOwogIH0KfQouXzlwbTRraTMgewogIGFuaW1hdGlvbjogXzlwbTRraTEgMTUwbXMgZWFzZTsKICBib3R0b206IC0yMDBweDsKICBsZWZ0OiAtMjAwcHg7CiAgcGFkZGluZzogMjAwcHg7CiAgcmlnaHQ6IC0yMDBweDsKICB0b3A6IC0yMDBweDsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7CiAgei1pbmRleDogMjE0NzQ4MzY0NjsKfQouXzlwbTRraTUgewogIGFuaW1hdGlvbjogXzlwbTRraTAgMzUwbXMgY3ViaWMtYmV6aWVyKC4xNSwxLjE1LDAuNiwxLjAwKSwgXzlwbTRraTEgMTUwbXMgZWFzZTsKICBtYXgtd2lkdGg6IDEwMHZ3Owp9 */\n@-webkit-keyframes _9pm4ki0 {\n 0% {\n transform: translateY(100%);\n }\n 100% {\n transform: translateY(0);\n }\n}\n@keyframes _9pm4ki0 {\n 0% {\n transform: translateY(100%);\n }\n 100% {\n transform: translateY(0);\n }\n}\n@-webkit-keyframes _9pm4ki1 {\n 0% {\n opacity: 0;\n }\n 100% {\n opacity: 1;\n }\n}\n@keyframes _9pm4ki1 {\n 0% {\n opacity: 0;\n }\n 100% {\n opacity: 1;\n }\n}\n[data-rk] ._9pm4ki3 {\n -webkit-animation: _9pm4ki1 150ms ease;\n animation: _9pm4ki1 150ms ease;\n bottom: -200px;\n left: -200px;\n padding: 200px;\n right: -200px;\n top: -200px;\n transform: translateZ(0);\n z-index: 2147483646;\n}\n[data-rk] ._9pm4ki5 {\n -webkit-animation: _9pm4ki0 350ms cubic-bezier(.15, 1.15, 0.6, 1.00), _9pm4ki1 150ms ease;\n animation: _9pm4ki0 350ms cubic-bezier(.15, 1.15, 0.6, 1.00), _9pm4ki1 150ms ease;\n max-width: 100vw;\n}\n\n/* vanilla-extract-css-ns:@rainbow-me/rainbowkit/src/components/Dialog/DialogContent.css.ts.vanilla.css?source=Ll8xY2tqcG9rMSB7CiAgYm94LXNpemluZzogY29udGVudC1ib3g7CiAgbWF4LXdpZHRoOiAxMDB2dzsKICB3aWR0aDogMzYwcHg7Cn0KLl8xY2tqcG9rMiB7CiAgd2lkdGg6IDEwMHZ3Owp9Ci5fMWNranBvazMgewogIHdpZHRoOiA3NjhweDsKfQouXzFja2pwb2s0IHsKICBtaW4td2lkdGg6IDM2OHB4OwogIHdpZHRoOiAzNjhweDsKfQouXzFja2pwb2s2IHsKICBib3JkZXItd2lkdGg6IDBweDsKICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogIHdpZHRoOiAxMDB2dzsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkgewogIC5fMWNranBvazEgewogICAgd2lkdGg6IDM2MHB4OwogIH0KICAuXzFja2pwb2syIHsKICAgIHdpZHRoOiA0ODBweDsKICB9CiAgLl8xY2tqcG9rMyB7CiAgICB3aWR0aDogNzIwcHg7CiAgfQogIC5fMWNranBvazQgewogICAgbWluLXdpZHRoOiAzNjhweDsKICAgIHdpZHRoOiAzNjhweDsKICB9Cn0KQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHsKICAuXzFja2pwb2s3IHsKICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7CiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDsKICAgIG1hcmdpbi10b3A6IC0yMDBweDsKICAgIHBhZGRpbmctYm90dG9tOiAyMDBweDsKICAgIHRvcDogMjAwcHg7CiAgfQp9 */\n[data-rk] ._1ckjpok1 {\n box-sizing: content-box;\n max-width: 100vw;\n width: 360px;\n}\n[data-rk] ._1ckjpok2 {\n width: 100vw;\n}\n[data-rk] ._1ckjpok3 {\n width: 768px;\n}\n[data-rk] ._1ckjpok4 {\n min-width: 368px;\n width: 368px;\n}\n[data-rk] ._1ckjpok6 {\n border-width: 0px;\n box-sizing: border-box;\n width: 100vw;\n}\n@media screen and (min-width: 768px) {\n [data-rk] ._1ckjpok1 {\n width: 360px;\n }\n [data-rk] ._1ckjpok2 {\n width: 480px;\n }\n [data-rk] ._1ckjpok3 {\n width: 720px;\n }\n [data-rk] ._1ckjpok4 {\n min-width: 368px;\n width: 368px;\n }\n}\n@media screen and (max-width: 767px) {\n [data-rk] ._1ckjpok7 {\n border-bottom-left-radius: 0;\n border-bottom-right-radius: 0;\n margin-top: -200px;\n padding-bottom: 200px;\n top: 200px;\n }\n}\n\n/* vanilla-extract-css-ns:@rainbow-me/rainbowkit/src/components/MenuButton/MenuButton.css.ts.vanilla.css?source=LnY5aG9yYjA6aG92ZXIgewogIGJhY2tncm91bmQ6IHVuc2V0Owp9 */\n[data-rk] .v9horb0:hover {\n background: unset;\n}\n\n/* vanilla-extract-css-ns:@rainbow-me/rainbowkit/src/components/ModalSelection/ModalSelection.css.ts.vanilla.css?source=Lmc1a2wwbDAgewogIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7Cn0= */\n[data-rk] .g5kl0l0 {\n border-color: transparent;\n}\n\n/* vanilla-extract-css-ns:@rainbow-me/rainbowkit/src/components/ConnectOptions/DesktopOptions.css.ts.vanilla.css?source=Ll8xdnd0MGNnMCB7CiAgYmFja2dyb3VuZDogd2hpdGU7Cn0KLl8xdnd0MGNnMiB7CiAgbWF4LWhlaWdodDogNDU0cHg7CiAgb3ZlcmZsb3cteTogYXV0bzsKfQouXzF2d3QwY2czIHsKICBtaW4td2lkdGg6IDI0NnB4Owp9Ci5fMXZ3dDBjZzQgewogIG1pbi13aWR0aDogMTAwJTsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkgewogIC5fMXZ3dDBjZzMgewogICAgbWluLXdpZHRoOiAyODdweDsKICB9Cn0= */\n[data-rk] ._1vwt0cg0 {\n background: white;\n}\n[data-rk] ._1vwt0cg2 {\n max-height: 454px;\n overflow-y: auto;\n}\n[data-rk] ._1vwt0cg3 {\n min-width: 246px;\n}\n[data-rk] ._1vwt0cg4 {\n min-width: 100%;\n}\n@media screen and (min-width: 768px) {\n [data-rk] ._1vwt0cg3 {\n min-width: 287px;\n }\n}\n\n/* vanilla-extract-css-ns:@rainbow-me/rainbowkit/src/components/ConnectOptions/MobileOptions.css.ts.vanilla.css?source=Ll8xYW0xNDQxMCB7CiAgb3ZlcmZsb3c6IGF1dG87CiAgc2Nyb2xsYmFyLXdpZHRoOiBub25lOwogIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsKfQouXzFhbTE0NDEwOjotd2Via2l0LXNjcm9sbGJhciB7CiAgZGlzcGxheTogbm9uZTsKfQ== */\n[data-rk] ._1am14410 {\n overflow: auto;\n scrollbar-width: none;\n transform: translateZ(0);\n}\n[data-rk] ._1am14410::-webkit-scrollbar {\n display: none;\n}\n";
37
- n$2(css$1,{});
38
-
39
- let e={data:""},t=t=>"object"==typeof window?((t?t.querySelector("#_goober"):window._goober)||Object.assign((t||document.head).appendChild(document.createElement("style")),{innerHTML:" ",id:"_goober"})).firstChild:t||e,l=/(?:([\u0080-\uFFFF\w-%@]+) *:? *([^{;]+?);|([^;}{]*?) *{)|(}\s*)/g,a=/\/\*[^]*?\*\/| +/g,n$1=/\n+/g,o=(e,t)=>{let r="",l="",a="";for(let n in e){let c=e[n];"@"==n[0]?"i"==n[1]?r=n+" "+c+";":l+="f"==n[1]?o(c,n):n+"{"+o(c,"k"==n[1]?"":t)+"}":"object"==typeof c?l+=o(c,t?t.replace(/([^,])+/g,e=>n.replace(/(^:.*)|([^,])+/g,t=>/&/.test(t)?t.replace(/&/g,e):e?e+" "+t:t)):n):null!=c&&(n=/^--/.test(n)?n:n.replace(/[A-Z]/g,"-$&").toLowerCase(),a+=o.p?o.p(n,c):n+":"+c+";");}return r+(t&&a?t+"{"+a+"}":a)+l},c={},s=e=>{if("object"==typeof e){let t="";for(let r in e)t+=r+s(e[r]);return t}return e},i=(e,t,r,i,p)=>{let u=s(e),d=c[u]||(c[u]=(e=>{let t=0,r=11;for(;t<e.length;)r=101*r+e.charCodeAt(t++)>>>0;return "go"+r})(u));if(!c[d]){let t=u!==e?e:(e=>{let t,r,o=[{}];for(;t=l.exec(e.replace(a,""));)t[4]?o.shift():t[3]?(r=t[3].replace(n$1," ").trim(),o.unshift(o[0][r]=o[0][r]||{})):o[0][t[1]]=t[2].replace(n$1," ").trim();return o[0]})(e);c[d]=o(p?{["@keyframes "+d]:t}:t,r?"":"."+d);}let f=r&&c.g?c.g:null;return r&&(c.g=c[d]),((e,t,r,l)=>{l?t.data=t.data.replace(l,e):-1===t.data.indexOf(e)&&(t.data=r?e+t.data:t.data+e);})(c[d],t,i,f),d},p=(e,t,r)=>e.reduce((e,l,a)=>{let n=t[a];if(n&&n.call){let e=n(r),t=e&&e.props&&e.props.className||/^go/.test(e)&&e;n=t?"."+t:e&&"object"==typeof e?e.props?"":o(e,""):!1===e?"":e;}return e+l+(null==n?"":n)},"");function u$1(e){let r=this||{},l=e.call?e(r.p):e;return i(l.unshift?l.raw?p(l,[].slice.call(arguments,1),r.p):l.reduce((e,t)=>Object.assign(e,t&&t.call?t(r.p):t),{}):l,t(r.target),r.g,r.o,r.k)}let d,f,g;u$1.bind({g:1});let h$1=u$1.bind({k:1});function m(e,t,r,l){o.p=t,d=e,f=r,g=l;}function j(e,t){let r=this||{};return function(){let l=arguments;function a(n,o){let c=Object.assign({},n),s=c.className||a.className;r.p=Object.assign({theme:f&&f()},c),r.o=/ *go\d+/.test(s),c.className=u$1.apply(r,l)+(s?" "+s:""),t&&(c.ref=o);let i=e;return e[0]&&(i=c.as||e,delete c.as),g&&i[0]&&g(c),d(i,c)}return t?t(a):a}}
40
-
41
- var W=e=>typeof e=="function",T=(e,t)=>W(e)?e(t):e;var U=(()=>{let e=0;return ()=>(++e).toString()})(),b=(()=>{let e;return ()=>{if(e===void 0&&typeof window<"u"){let t=matchMedia("(prefers-reduced-motion: reduce)");e=!t||t.matches;}return e}})();var Q=20;var S=new Map,X=1e3,$=e=>{if(S.has(e))return;let t=setTimeout(()=>{S.delete(e),u({type:4,toastId:e});},X);S.set(e,t);},J=e=>{let t=S.get(e);t&&clearTimeout(t);},v=(e,t)=>{switch(t.type){case 0:return {...e,toasts:[t.toast,...e.toasts].slice(0,Q)};case 1:return t.toast.id&&J(t.toast.id),{...e,toasts:e.toasts.map(r=>r.id===t.toast.id?{...r,...t.toast}:r)};case 2:let{toast:o}=t;return e.toasts.find(r=>r.id===o.id)?v(e,{type:1,toast:o}):v(e,{type:0,toast:o});case 3:let{toastId:s}=t;return s?$(s):e.toasts.forEach(r=>{$(r.id);}),{...e,toasts:e.toasts.map(r=>r.id===s||s===void 0?{...r,visible:!1}:r)};case 4:return t.toastId===void 0?{...e,toasts:[]}:{...e,toasts:e.toasts.filter(r=>r.id!==t.toastId)};case 5:return {...e,pausedAt:t.time};case 6:let a=t.time-(e.pausedAt||0);return {...e,pausedAt:void 0,toasts:e.toasts.map(r=>({...r,pauseDuration:r.pauseDuration+a}))}}},A=[],P={toasts:[],pausedAt:void 0},u=e=>{P=v(P,e),A.forEach(t=>{t(P);});},Y={blank:4e3,error:4e3,success:2e3,loading:1/0,custom:4e3},I=(e={})=>{let[t,o]=React.useState(P);React.useEffect(()=>(A.push(o),()=>{let a=A.indexOf(o);a>-1&&A.splice(a,1);}),[t]);let s=t.toasts.map(a=>{var r,c;return {...e,...e[a.type],...a,duration:a.duration||((r=e[a.type])==null?void 0:r.duration)||(e==null?void 0:e.duration)||Y[a.type],style:{...e.style,...(c=e[a.type])==null?void 0:c.style,...a.style}}});return {...t,toasts:s}};var G=(e,t="blank",o)=>({createdAt:Date.now(),visible:!0,type:t,ariaProps:{role:"status","aria-live":"polite"},message:e,pauseDuration:0,...o,id:(o==null?void 0:o.id)||U()}),h=e=>(t,o)=>{let s=G(t,e,o);return u({type:2,toast:s}),s.id},n=(e,t)=>h("blank")(e,t);n.error=h("error");n.success=h("success");n.loading=h("loading");n.custom=h("custom");n.dismiss=e=>{u({type:3,toastId:e});};n.remove=e=>u({type:4,toastId:e});n.promise=(e,t,o)=>{let s=n.loading(t.loading,{...o,...o==null?void 0:o.loading});return e.then(a=>(n.success(T(t.success,a),{id:s,...o,...o==null?void 0:o.success}),a)).catch(a=>{n.error(T(t.error,a),{id:s,...o,...o==null?void 0:o.error});}),e};var Z=(e,t)=>{u({type:1,toast:{id:e,height:t}});},ee=()=>{u({type:5,time:Date.now()});},D=e=>{let{toasts:t,pausedAt:o}=I(e);React.useEffect(()=>{if(o)return;let r=Date.now(),c=t.map(i=>{if(i.duration===1/0)return;let d=(i.duration||0)+i.pauseDuration-(r-i.createdAt);if(d<0){i.visible&&n.dismiss(i.id);return}return setTimeout(()=>n.dismiss(i.id),d)});return ()=>{c.forEach(i=>i&&clearTimeout(i));}},[t,o]);let s=React.useCallback(()=>{o&&u({type:6,time:Date.now()});},[o]),a=React.useCallback((r,c)=>{let{reverseOrder:i=!1,gutter:d=8,defaultPosition:p}=c||{},g=t.filter(m=>(m.position||p)===(r.position||p)&&m.height),E=g.findIndex(m=>m.id===r.id),x=g.filter((m,R)=>R<E&&m.visible).length;return g.filter(m=>m.visible).slice(...i?[x+1]:[0,x]).reduce((m,R)=>m+(R.height||0)+d,0)},[t]);return {toasts:t,handlers:{updateHeight:Z,startPause:ee,endPause:s,calculateOffset:a}}};var oe=h$1`
42
- from {
43
- transform: scale(0) rotate(45deg);
44
- opacity: 0;
45
- }
46
- to {
47
- transform: scale(1) rotate(45deg);
48
- opacity: 1;
49
- }`,re=h$1`
50
- from {
51
- transform: scale(0);
52
- opacity: 0;
53
- }
54
- to {
55
- transform: scale(1);
56
- opacity: 1;
57
- }`,se=h$1`
58
- from {
59
- transform: scale(0) rotate(90deg);
60
- opacity: 0;
61
- }
62
- to {
63
- transform: scale(1) rotate(90deg);
64
- opacity: 1;
65
- }`,_=j("div")`
66
- width: 20px;
67
- opacity: 0;
68
- height: 20px;
69
- border-radius: 10px;
70
- background: ${e=>e.primary||"#ff4b4b"};
71
- position: relative;
72
- transform: rotate(45deg);
73
-
74
- animation: ${oe} 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275)
75
- forwards;
76
- animation-delay: 100ms;
77
-
78
- &:after,
79
- &:before {
80
- content: '';
81
- animation: ${re} 0.15s ease-out forwards;
82
- animation-delay: 150ms;
83
- position: absolute;
84
- border-radius: 3px;
85
- opacity: 0;
86
- background: ${e=>e.secondary||"#fff"};
87
- bottom: 9px;
88
- left: 4px;
89
- height: 2px;
90
- width: 12px;
91
- }
92
-
93
- &:before {
94
- animation: ${se} 0.15s ease-out forwards;
95
- animation-delay: 180ms;
96
- transform: rotate(90deg);
97
- }
98
- `;var ne=h$1`
99
- from {
100
- transform: rotate(0deg);
101
- }
102
- to {
103
- transform: rotate(360deg);
104
- }
105
- `,V=j("div")`
106
- width: 12px;
107
- height: 12px;
108
- box-sizing: border-box;
109
- border: 2px solid;
110
- border-radius: 100%;
111
- border-color: ${e=>e.secondary||"#e0e0e0"};
112
- border-right-color: ${e=>e.primary||"#616161"};
113
- animation: ${ne} 1s linear infinite;
114
- `;var pe=h$1`
115
- from {
116
- transform: scale(0) rotate(45deg);
117
- opacity: 0;
118
- }
119
- to {
120
- transform: scale(1) rotate(45deg);
121
- opacity: 1;
122
- }`,de=h$1`
123
- 0% {
124
- height: 0;
125
- width: 0;
126
- opacity: 0;
127
- }
128
- 40% {
129
- height: 0;
130
- width: 6px;
131
- opacity: 1;
132
- }
133
- 100% {
134
- opacity: 1;
135
- height: 10px;
136
- }`,w=j("div")`
137
- width: 20px;
138
- opacity: 0;
139
- height: 20px;
140
- border-radius: 10px;
141
- background: ${e=>e.primary||"#61d345"};
142
- position: relative;
143
- transform: rotate(45deg);
144
-
145
- animation: ${pe} 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275)
146
- forwards;
147
- animation-delay: 100ms;
148
- &:after {
149
- content: '';
150
- box-sizing: border-box;
151
- animation: ${de} 0.2s ease-out forwards;
152
- opacity: 0;
153
- animation-delay: 200ms;
154
- position: absolute;
155
- border-right: 2px solid;
156
- border-bottom: 2px solid;
157
- border-color: ${e=>e.secondary||"#fff"};
158
- bottom: 6px;
159
- left: 6px;
160
- height: 10px;
161
- width: 6px;
162
- }
163
- `;var ue=j("div")`
164
- position: absolute;
165
- `,le=j("div")`
166
- position: relative;
167
- display: flex;
168
- justify-content: center;
169
- align-items: center;
170
- min-width: 20px;
171
- min-height: 20px;
172
- `,Te=h$1`
173
- from {
174
- transform: scale(0.6);
175
- opacity: 0.4;
176
- }
177
- to {
178
- transform: scale(1);
179
- opacity: 1;
180
- }`,fe=j("div")`
181
- position: relative;
182
- transform: scale(0.6);
183
- opacity: 0.4;
184
- min-width: 20px;
185
- animation: ${Te} 0.3s 0.12s cubic-bezier(0.175, 0.885, 0.32, 1.275)
186
- forwards;
187
- `,M=({toast:e})=>{let{icon:t,type:o,iconTheme:s}=e;return t!==void 0?typeof t=="string"?React__namespace.createElement(fe,null,t):t:o==="blank"?null:React__namespace.createElement(le,null,React__namespace.createElement(V,{...s}),o!=="loading"&&React__namespace.createElement(ue,null,o==="error"?React__namespace.createElement(_,{...s}):React__namespace.createElement(w,{...s})))};var ye=e=>`
188
- 0% {transform: translate3d(0,${e*-200}%,0) scale(.6); opacity:.5;}
189
- 100% {transform: translate3d(0,0,0) scale(1); opacity:1;}
190
- `,ge=e=>`
191
- 0% {transform: translate3d(0,0,-1px) scale(1); opacity:1;}
192
- 100% {transform: translate3d(0,${e*-150}%,-1px) scale(.6); opacity:0;}
193
- `,he="0%{opacity:0;} 100%{opacity:1;}",xe="0%{opacity:1;} 100%{opacity:0;}",be=j("div")`
194
- display: flex;
195
- align-items: center;
196
- background: #fff;
197
- color: #363636;
198
- line-height: 1.3;
199
- will-change: transform;
200
- box-shadow: 0 3px 10px rgba(0, 0, 0, 0.1), 0 3px 3px rgba(0, 0, 0, 0.05);
201
- max-width: 350px;
202
- pointer-events: auto;
203
- padding: 8px 10px;
204
- border-radius: 8px;
205
- `,Se=j("div")`
206
- display: flex;
207
- justify-content: center;
208
- margin: 4px 10px;
209
- color: inherit;
210
- flex: 1 1 auto;
211
- white-space: pre-line;
212
- `,Ae=(e,t)=>{let s=e.includes("top")?1:-1,[a,r]=b()?[he,xe]:[ye(s),ge(s)];return {animation:t?`${h$1(a)} 0.35s cubic-bezier(.21,1.02,.73,1) forwards`:`${h$1(r)} 0.4s forwards cubic-bezier(.06,.71,.55,1)`}},F=React__namespace.memo(({toast:e,position:t,style:o,children:s})=>{let a=e.height?Ae(e.position||t||"top-center",e.visible):{opacity:0},r=React__namespace.createElement(M,{toast:e}),c=React__namespace.createElement(Se,{...e.ariaProps},T(e.message,e));return React__namespace.createElement(be,{className:e.className,style:{...a,...o,...e.style}},typeof s=="function"?s({icon:r,message:c}):React__namespace.createElement(React__namespace.Fragment,null,r,c))});m(React__namespace.createElement);var Ee=({id:e,className:t,style:o,onHeightUpdate:s,children:a})=>{let r=React__namespace.useCallback(c=>{if(c){let i=()=>{let d=c.getBoundingClientRect().height;s(e,d);};i(),new MutationObserver(i).observe(c,{subtree:!0,childList:!0,characterData:!0});}},[e,s]);return React__namespace.createElement("div",{ref:r,className:t,style:o},a)},Re=(e,t)=>{let o=e.includes("top"),s=o?{top:0}:{bottom:0},a=e.includes("center")?{justifyContent:"center"}:e.includes("right")?{justifyContent:"flex-end"}:{};return {left:0,right:0,display:"flex",position:"absolute",transition:b()?void 0:"all 230ms cubic-bezier(.21,1.02,.73,1)",transform:`translateY(${t*(o?1:-1)}px)`,...s,...a}},ve=u$1`
213
- z-index: 9999;
214
- > * {
215
- pointer-events: auto;
216
- }
217
- `,O=16,Ie=({reverseOrder:e,position:t="top-center",toastOptions:o,gutter:s,children:a,containerStyle:r,containerClassName:c})=>{let{toasts:i,handlers:d}=D(o);return React__namespace.createElement("div",{style:{position:"fixed",zIndex:9999,top:O,left:O,right:O,bottom:O,pointerEvents:"none",...r},className:c,onMouseEnter:d.startPause,onMouseLeave:d.endPause},i.map(p=>{let g=p.position||t,E=d.calculateOffset(p,{reverseOrder:e,gutter:s,defaultPosition:t}),x=Re(g,E);return React__namespace.createElement(Ee,{id:p.id,key:p.id,onHeightUpdate:d.updateHeight,className:p.visible?ve:"",style:x},p.type==="custom"?T(p.message,p):a?a(p):React__namespace.createElement(F,{toast:p,position:g}))}))};
218
-
219
- function _taggedTemplateLiteral(strings, raw) {
220
- if (!raw) {
221
- raw = strings.slice(0);
222
- }
223
-
224
- return Object.freeze(Object.defineProperties(strings, {
225
- raw: {
226
- value: Object.freeze(raw)
227
- }
228
- }));
229
- }
230
-
231
- function _slicedToArray(arr, i) {
232
- return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
233
- }
234
-
235
- function _arrayWithHoles(arr) {
236
- if (Array.isArray(arr)) return arr;
237
- }
238
-
239
- function _iterableToArrayLimit(arr, i) {
240
- var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
241
-
242
- if (_i == null) return;
243
- var _arr = [];
244
- var _n = true;
245
- var _d = false;
246
-
247
- var _s, _e;
248
-
249
- try {
250
- for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {
251
- _arr.push(_s.value);
252
-
253
- if (i && _arr.length === i) break;
254
- }
255
- } catch (err) {
256
- _d = true;
257
- _e = err;
258
- } finally {
259
- try {
260
- if (!_n && _i["return"] != null) _i["return"]();
261
- } finally {
262
- if (_d) throw _e;
263
- }
264
- }
265
-
266
- return _arr;
267
- }
268
-
269
- function _unsupportedIterableToArray(o, minLen) {
270
- if (!o) return;
271
- if (typeof o === "string") return _arrayLikeToArray(o, minLen);
272
- var n = Object.prototype.toString.call(o).slice(8, -1);
273
- if (n === "Object" && o.constructor) n = o.constructor.name;
274
- if (n === "Map" || n === "Set") return Array.from(o);
275
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
276
- }
277
-
278
- function _arrayLikeToArray(arr, len) {
279
- if (len == null || len > arr.length) len = arr.length;
280
-
281
- for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
282
-
283
- return arr2;
284
- }
285
-
286
- function _nonIterableRest() {
287
- throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
288
- }
289
-
290
- /*
291
-
292
- Based off glamor's StyleSheet, thanks Sunil ❤️
293
-
294
- high performance StyleSheet for css-in-js systems
295
-
296
- - uses multiple style tags behind the scenes for millions of rules
297
- - uses `insertRule` for appending in production for *much* faster performance
298
-
299
- // usage
300
-
301
- import { StyleSheet } from '@emotion/sheet'
302
-
303
- let styleSheet = new StyleSheet({ key: '', container: document.head })
304
-
305
- styleSheet.insert('#box { border: 1px solid red; }')
306
- - appends a css rule into the stylesheet
307
-
308
- styleSheet.flush()
309
- - empties the stylesheet of all its contents
310
-
311
- */
312
- // $FlowFixMe
313
- function sheetForTag(tag) {
314
- if (tag.sheet) {
315
- // $FlowFixMe
316
- return tag.sheet;
317
- } // this weirdness brought to you by firefox
318
-
319
- /* istanbul ignore next */
320
-
321
-
322
- for (var i = 0; i < document.styleSheets.length; i++) {
323
- if (document.styleSheets[i].ownerNode === tag) {
324
- // $FlowFixMe
325
- return document.styleSheets[i];
326
- }
327
- }
328
- }
329
-
330
- function createStyleElement(options) {
331
- var tag = document.createElement('style');
332
- tag.setAttribute('data-emotion', options.key);
333
-
334
- if (options.nonce !== undefined) {
335
- tag.setAttribute('nonce', options.nonce);
336
- }
337
-
338
- tag.appendChild(document.createTextNode(''));
339
- tag.setAttribute('data-s', '');
340
- return tag;
341
- }
342
-
343
- var StyleSheet = /*#__PURE__*/function () {
344
- // Using Node instead of HTMLElement since container may be a ShadowRoot
345
- function StyleSheet(options) {
346
- var _this = this;
347
-
348
- this._insertTag = function (tag) {
349
- var before;
350
-
351
- if (_this.tags.length === 0) {
352
- if (_this.insertionPoint) {
353
- before = _this.insertionPoint.nextSibling;
354
- } else if (_this.prepend) {
355
- before = _this.container.firstChild;
356
- } else {
357
- before = _this.before;
358
- }
359
- } else {
360
- before = _this.tags[_this.tags.length - 1].nextSibling;
361
- }
362
-
363
- _this.container.insertBefore(tag, before);
364
-
365
- _this.tags.push(tag);
366
- };
367
-
368
- this.isSpeedy = options.speedy === undefined ? process.env.NODE_ENV === 'production' : options.speedy;
369
- this.tags = [];
370
- this.ctr = 0;
371
- this.nonce = options.nonce; // key is the value of the data-emotion attribute, it's used to identify different sheets
372
-
373
- this.key = options.key;
374
- this.container = options.container;
375
- this.prepend = options.prepend;
376
- this.insertionPoint = options.insertionPoint;
377
- this.before = null;
378
- }
379
-
380
- var _proto = StyleSheet.prototype;
381
-
382
- _proto.hydrate = function hydrate(nodes) {
383
- nodes.forEach(this._insertTag);
384
- };
385
-
386
- _proto.insert = function insert(rule) {
387
- // the max length is how many rules we have per style tag, it's 65000 in speedy mode
388
- // it's 1 in dev because we insert source maps that map a single rule to a location
389
- // and you can only have one source map per style tag
390
- if (this.ctr % (this.isSpeedy ? 65000 : 1) === 0) {
391
- this._insertTag(createStyleElement(this));
392
- }
393
-
394
- var tag = this.tags[this.tags.length - 1];
395
-
396
- if (process.env.NODE_ENV !== 'production') {
397
- var isImportRule = rule.charCodeAt(0) === 64 && rule.charCodeAt(1) === 105;
398
-
399
- if (isImportRule && this._alreadyInsertedOrderInsensitiveRule) {
400
- // this would only cause problem in speedy mode
401
- // but we don't want enabling speedy to affect the observable behavior
402
- // so we report this error at all times
403
- console.error("You're attempting to insert the following rule:\n" + rule + '\n\n`@import` rules must be before all other types of rules in a stylesheet but other rules have already been inserted. Please ensure that `@import` rules are before all other rules.');
404
- }
405
- this._alreadyInsertedOrderInsensitiveRule = this._alreadyInsertedOrderInsensitiveRule || !isImportRule;
406
- }
407
-
408
- if (this.isSpeedy) {
409
- var sheet = sheetForTag(tag);
410
-
411
- try {
412
- // this is the ultrafast version, works across browsers
413
- // the big drawback is that the css won't be editable in devtools
414
- sheet.insertRule(rule, sheet.cssRules.length);
415
- } catch (e) {
416
- if (process.env.NODE_ENV !== 'production' && !/:(-moz-placeholder|-moz-focus-inner|-moz-focusring|-ms-input-placeholder|-moz-read-write|-moz-read-only|-ms-clear){/.test(rule)) {
417
- console.error("There was a problem inserting the following rule: \"" + rule + "\"", e);
418
- }
419
- }
420
- } else {
421
- tag.appendChild(document.createTextNode(rule));
422
- }
423
-
424
- this.ctr++;
425
- };
426
-
427
- _proto.flush = function flush() {
428
- // $FlowFixMe
429
- this.tags.forEach(function (tag) {
430
- return tag.parentNode && tag.parentNode.removeChild(tag);
431
- });
432
- this.tags = [];
433
- this.ctr = 0;
434
-
435
- if (process.env.NODE_ENV !== 'production') {
436
- this._alreadyInsertedOrderInsensitiveRule = false;
437
- }
438
- };
439
-
440
- return StyleSheet;
441
- }();
442
-
443
- var MS = '-ms-';
444
- var MOZ = '-moz-';
445
- var WEBKIT = '-webkit-';
446
-
447
- var COMMENT = 'comm';
448
- var RULESET = 'rule';
449
- var DECLARATION = 'decl';
450
- var IMPORT = '@import';
451
- var KEYFRAMES = '@keyframes';
452
-
453
- /**
454
- * @param {number}
455
- * @return {number}
456
- */
457
- var abs = Math.abs;
458
-
459
- /**
460
- * @param {number}
461
- * @return {string}
462
- */
463
- var from = String.fromCharCode;
464
-
465
- /**
466
- * @param {object}
467
- * @return {object}
468
- */
469
- var assign = Object.assign;
470
-
471
- /**
472
- * @param {string} value
473
- * @param {number} length
474
- * @return {number}
475
- */
476
- function hash (value, length) {
477
- return (((((((length << 2) ^ charat(value, 0)) << 2) ^ charat(value, 1)) << 2) ^ charat(value, 2)) << 2) ^ charat(value, 3)
478
- }
479
-
480
- /**
481
- * @param {string} value
482
- * @return {string}
483
- */
484
- function trim (value) {
485
- return value.trim()
486
- }
487
-
488
- /**
489
- * @param {string} value
490
- * @param {RegExp} pattern
491
- * @return {string?}
492
- */
493
- function match (value, pattern) {
494
- return (value = pattern.exec(value)) ? value[0] : value
495
- }
496
-
497
- /**
498
- * @param {string} value
499
- * @param {(string|RegExp)} pattern
500
- * @param {string} replacement
501
- * @return {string}
502
- */
503
- function replace (value, pattern, replacement) {
504
- return value.replace(pattern, replacement)
505
- }
506
-
507
- /**
508
- * @param {string} value
509
- * @param {string} search
510
- * @return {number}
511
- */
512
- function indexof (value, search) {
513
- return value.indexOf(search)
514
- }
515
-
516
- /**
517
- * @param {string} value
518
- * @param {number} index
519
- * @return {number}
520
- */
521
- function charat (value, index) {
522
- return value.charCodeAt(index) | 0
523
- }
524
-
525
- /**
526
- * @param {string} value
527
- * @param {number} begin
528
- * @param {number} end
529
- * @return {string}
530
- */
531
- function substr (value, begin, end) {
532
- return value.slice(begin, end)
533
- }
534
-
535
- /**
536
- * @param {string} value
537
- * @return {number}
538
- */
539
- function strlen (value) {
540
- return value.length
541
- }
542
-
543
- /**
544
- * @param {any[]} value
545
- * @return {number}
546
- */
547
- function sizeof (value) {
548
- return value.length
549
- }
550
-
551
- /**
552
- * @param {any} value
553
- * @param {any[]} array
554
- * @return {any}
555
- */
556
- function append (value, array) {
557
- return array.push(value), value
558
- }
559
-
560
- /**
561
- * @param {string[]} array
562
- * @param {function} callback
563
- * @return {string}
564
- */
565
- function combine (array, callback) {
566
- return array.map(callback).join('')
567
- }
568
-
569
- var line = 1;
570
- var column = 1;
571
- var length = 0;
572
- var position = 0;
573
- var character = 0;
574
- var characters = '';
575
-
576
- /**
577
- * @param {string} value
578
- * @param {object | null} root
579
- * @param {object | null} parent
580
- * @param {string} type
581
- * @param {string[] | string} props
582
- * @param {object[] | string} children
583
- * @param {number} length
584
- */
585
- function node (value, root, parent, type, props, children, length) {
586
- return {value: value, root: root, parent: parent, type: type, props: props, children: children, line: line, column: column, length: length, return: ''}
587
- }
588
-
589
- /**
590
- * @param {object} root
591
- * @param {object} props
592
- * @return {object}
593
- */
594
- function copy (root, props) {
595
- return assign(node('', null, null, '', null, null, 0), root, {length: -root.length}, props)
596
- }
597
-
598
- /**
599
- * @return {number}
600
- */
601
- function char () {
602
- return character
603
- }
604
-
605
- /**
606
- * @return {number}
607
- */
608
- function prev () {
609
- character = position > 0 ? charat(characters, --position) : 0;
610
-
611
- if (column--, character === 10)
612
- column = 1, line--;
613
-
614
- return character
615
- }
616
-
617
- /**
618
- * @return {number}
619
- */
620
- function next () {
621
- character = position < length ? charat(characters, position++) : 0;
622
-
623
- if (column++, character === 10)
624
- column = 1, line++;
625
-
626
- return character
627
- }
628
-
629
- /**
630
- * @return {number}
631
- */
632
- function peek () {
633
- return charat(characters, position)
634
- }
635
-
636
- /**
637
- * @return {number}
638
- */
639
- function caret () {
640
- return position
641
- }
642
-
643
- /**
644
- * @param {number} begin
645
- * @param {number} end
646
- * @return {string}
647
- */
648
- function slice (begin, end) {
649
- return substr(characters, begin, end)
650
- }
651
-
652
- /**
653
- * @param {number} type
654
- * @return {number}
655
- */
656
- function token (type) {
657
- switch (type) {
658
- // \0 \t \n \r \s whitespace token
659
- case 0: case 9: case 10: case 13: case 32:
660
- return 5
661
- // ! + , / > @ ~ isolate token
662
- case 33: case 43: case 44: case 47: case 62: case 64: case 126:
663
- // ; { } breakpoint token
664
- case 59: case 123: case 125:
665
- return 4
666
- // : accompanied token
667
- case 58:
668
- return 3
669
- // " ' ( [ opening delimit token
670
- case 34: case 39: case 40: case 91:
671
- return 2
672
- // ) ] closing delimit token
673
- case 41: case 93:
674
- return 1
675
- }
676
-
677
- return 0
678
- }
679
-
680
- /**
681
- * @param {string} value
682
- * @return {any[]}
683
- */
684
- function alloc (value) {
685
- return line = column = 1, length = strlen(characters = value), position = 0, []
686
- }
687
-
688
- /**
689
- * @param {any} value
690
- * @return {any}
691
- */
692
- function dealloc (value) {
693
- return characters = '', value
694
- }
695
-
696
- /**
697
- * @param {number} type
698
- * @return {string}
699
- */
700
- function delimit (type) {
701
- return trim(slice(position - 1, delimiter(type === 91 ? type + 2 : type === 40 ? type + 1 : type)))
702
- }
703
-
704
- /**
705
- * @param {number} type
706
- * @return {string}
707
- */
708
- function whitespace (type) {
709
- while (character = peek())
710
- if (character < 33)
711
- next();
712
- else
713
- break
714
-
715
- return token(type) > 2 || token(character) > 3 ? '' : ' '
716
- }
717
-
718
- /**
719
- * @param {number} index
720
- * @param {number} count
721
- * @return {string}
722
- */
723
- function escaping (index, count) {
724
- while (--count && next())
725
- // not 0-9 A-F a-f
726
- if (character < 48 || character > 102 || (character > 57 && character < 65) || (character > 70 && character < 97))
727
- break
728
-
729
- return slice(index, caret() + (count < 6 && peek() == 32 && next() == 32))
730
- }
731
-
732
- /**
733
- * @param {number} type
734
- * @return {number}
735
- */
736
- function delimiter (type) {
737
- while (next())
738
- switch (character) {
739
- // ] ) " '
740
- case type:
741
- return position
742
- // " '
743
- case 34: case 39:
744
- if (type !== 34 && type !== 39)
745
- delimiter(character);
746
- break
747
- // (
748
- case 40:
749
- if (type === 41)
750
- delimiter(type);
751
- break
752
- // \
753
- case 92:
754
- next();
755
- break
756
- }
757
-
758
- return position
759
- }
760
-
761
- /**
762
- * @param {number} type
763
- * @param {number} index
764
- * @return {number}
765
- */
766
- function commenter (type, index) {
767
- while (next())
768
- // //
769
- if (type + character === 47 + 10)
770
- break
771
- // /*
772
- else if (type + character === 42 + 42 && peek() === 47)
773
- break
774
-
775
- return '/*' + slice(index, position - 1) + '*' + from(type === 47 ? type : next())
776
- }
777
-
778
- /**
779
- * @param {number} index
780
- * @return {string}
781
- */
782
- function identifier (index) {
783
- while (!token(peek()))
784
- next();
785
-
786
- return slice(index, position)
787
- }
788
-
789
- /**
790
- * @param {string} value
791
- * @return {object[]}
792
- */
793
- function compile (value) {
794
- return dealloc(parse('', null, null, null, [''], value = alloc(value), 0, [0], value))
795
- }
796
-
797
- /**
798
- * @param {string} value
799
- * @param {object} root
800
- * @param {object?} parent
801
- * @param {string[]} rule
802
- * @param {string[]} rules
803
- * @param {string[]} rulesets
804
- * @param {number[]} pseudo
805
- * @param {number[]} points
806
- * @param {string[]} declarations
807
- * @return {object}
808
- */
809
- function parse (value, root, parent, rule, rules, rulesets, pseudo, points, declarations) {
810
- var index = 0;
811
- var offset = 0;
812
- var length = pseudo;
813
- var atrule = 0;
814
- var property = 0;
815
- var previous = 0;
816
- var variable = 1;
817
- var scanning = 1;
818
- var ampersand = 1;
819
- var character = 0;
820
- var type = '';
821
- var props = rules;
822
- var children = rulesets;
823
- var reference = rule;
824
- var characters = type;
825
-
826
- while (scanning)
827
- switch (previous = character, character = next()) {
828
- // (
829
- case 40:
830
- if (previous != 108 && characters.charCodeAt(length - 1) == 58) {
831
- if (indexof(characters += replace(delimit(character), '&', '&\f'), '&\f') != -1)
832
- ampersand = -1;
833
- break
834
- }
835
- // " ' [
836
- case 34: case 39: case 91:
837
- characters += delimit(character);
838
- break
839
- // \t \n \r \s
840
- case 9: case 10: case 13: case 32:
841
- characters += whitespace(previous);
842
- break
843
- // \
844
- case 92:
845
- characters += escaping(caret() - 1, 7);
846
- continue
847
- // /
848
- case 47:
849
- switch (peek()) {
850
- case 42: case 47:
851
- append(comment(commenter(next(), caret()), root, parent), declarations);
852
- break
853
- default:
854
- characters += '/';
855
- }
856
- break
857
- // {
858
- case 123 * variable:
859
- points[index++] = strlen(characters) * ampersand;
860
- // } ; \0
861
- case 125 * variable: case 59: case 0:
862
- switch (character) {
863
- // \0 }
864
- case 0: case 125: scanning = 0;
865
- // ;
866
- case 59 + offset:
867
- if (property > 0 && (strlen(characters) - length))
868
- append(property > 32 ? declaration(characters + ';', rule, parent, length - 1) : declaration(replace(characters, ' ', '') + ';', rule, parent, length - 2), declarations);
869
- break
870
- // @ ;
871
- case 59: characters += ';';
872
- // { rule/at-rule
873
- default:
874
- append(reference = ruleset(characters, root, parent, index, offset, rules, points, type, props = [], children = [], length), rulesets);
875
-
876
- if (character === 123)
877
- if (offset === 0)
878
- parse(characters, root, reference, reference, props, rulesets, length, points, children);
879
- else
880
- switch (atrule) {
881
- // d m s
882
- case 100: case 109: case 115:
883
- parse(value, reference, reference, rule && append(ruleset(value, reference, reference, 0, 0, rules, points, type, rules, props = [], length), children), rules, children, length, points, rule ? props : children);
884
- break
885
- default:
886
- parse(characters, reference, reference, reference, [''], children, 0, points, children);
887
- }
888
- }
889
-
890
- index = offset = property = 0, variable = ampersand = 1, type = characters = '', length = pseudo;
891
- break
892
- // :
893
- case 58:
894
- length = 1 + strlen(characters), property = previous;
895
- default:
896
- if (variable < 1)
897
- if (character == 123)
898
- --variable;
899
- else if (character == 125 && variable++ == 0 && prev() == 125)
900
- continue
901
-
902
- switch (characters += from(character), character * variable) {
903
- // &
904
- case 38:
905
- ampersand = offset > 0 ? 1 : (characters += '\f', -1);
906
- break
907
- // ,
908
- case 44:
909
- points[index++] = (strlen(characters) - 1) * ampersand, ampersand = 1;
910
- break
911
- // @
912
- case 64:
913
- // -
914
- if (peek() === 45)
915
- characters += delimit(next());
916
-
917
- atrule = peek(), offset = length = strlen(type = characters += identifier(caret())), character++;
918
- break
919
- // -
920
- case 45:
921
- if (previous === 45 && strlen(characters) == 2)
922
- variable = 0;
923
- }
924
- }
925
-
926
- return rulesets
927
- }
928
-
929
- /**
930
- * @param {string} value
931
- * @param {object} root
932
- * @param {object?} parent
933
- * @param {number} index
934
- * @param {number} offset
935
- * @param {string[]} rules
936
- * @param {number[]} points
937
- * @param {string} type
938
- * @param {string[]} props
939
- * @param {string[]} children
940
- * @param {number} length
941
- * @return {object}
942
- */
943
- function ruleset (value, root, parent, index, offset, rules, points, type, props, children, length) {
944
- var post = offset - 1;
945
- var rule = offset === 0 ? rules : [''];
946
- var size = sizeof(rule);
947
-
948
- for (var i = 0, j = 0, k = 0; i < index; ++i)
949
- for (var x = 0, y = substr(value, post + 1, post = abs(j = points[i])), z = value; x < size; ++x)
950
- if (z = trim(j > 0 ? rule[x] + ' ' + y : replace(y, /&\f/g, rule[x])))
951
- props[k++] = z;
952
-
953
- return node(value, root, parent, offset === 0 ? RULESET : type, props, children, length)
954
- }
955
-
956
- /**
957
- * @param {number} value
958
- * @param {object} root
959
- * @param {object?} parent
960
- * @return {object}
961
- */
962
- function comment (value, root, parent) {
963
- return node(value, root, parent, COMMENT, from(char()), substr(value, 2, -2), 0)
964
- }
965
-
966
- /**
967
- * @param {string} value
968
- * @param {object} root
969
- * @param {object?} parent
970
- * @param {number} length
971
- * @return {object}
972
- */
973
- function declaration (value, root, parent, length) {
974
- return node(value, root, parent, DECLARATION, substr(value, 0, length), substr(value, length + 1, -1), length)
975
- }
976
-
977
- /**
978
- * @param {string} value
979
- * @param {number} length
980
- * @return {string}
981
- */
982
- function prefix (value, length) {
983
- switch (hash(value, length)) {
984
- // color-adjust
985
- case 5103:
986
- return WEBKIT + 'print-' + value + value
987
- // animation, animation-(delay|direction|duration|fill-mode|iteration-count|name|play-state|timing-function)
988
- case 5737: case 4201: case 3177: case 3433: case 1641: case 4457: case 2921:
989
- // text-decoration, filter, clip-path, backface-visibility, column, box-decoration-break
990
- case 5572: case 6356: case 5844: case 3191: case 6645: case 3005:
991
- // mask, mask-image, mask-(mode|clip|size), mask-(repeat|origin), mask-position, mask-composite,
992
- case 6391: case 5879: case 5623: case 6135: case 4599: case 4855:
993
- // background-clip, columns, column-(count|fill|gap|rule|rule-color|rule-style|rule-width|span|width)
994
- case 4215: case 6389: case 5109: case 5365: case 5621: case 3829:
995
- return WEBKIT + value + value
996
- // appearance, user-select, transform, hyphens, text-size-adjust
997
- case 5349: case 4246: case 4810: case 6968: case 2756:
998
- return WEBKIT + value + MOZ + value + MS + value + value
999
- // flex, flex-direction
1000
- case 6828: case 4268:
1001
- return WEBKIT + value + MS + value + value
1002
- // order
1003
- case 6165:
1004
- return WEBKIT + value + MS + 'flex-' + value + value
1005
- // align-items
1006
- case 5187:
1007
- return WEBKIT + value + replace(value, /(\w+).+(:[^]+)/, WEBKIT + 'box-$1$2' + MS + 'flex-$1$2') + value
1008
- // align-self
1009
- case 5443:
1010
- return WEBKIT + value + MS + 'flex-item-' + replace(value, /flex-|-self/, '') + value
1011
- // align-content
1012
- case 4675:
1013
- return WEBKIT + value + MS + 'flex-line-pack' + replace(value, /align-content|flex-|-self/, '') + value
1014
- // flex-shrink
1015
- case 5548:
1016
- return WEBKIT + value + MS + replace(value, 'shrink', 'negative') + value
1017
- // flex-basis
1018
- case 5292:
1019
- return WEBKIT + value + MS + replace(value, 'basis', 'preferred-size') + value
1020
- // flex-grow
1021
- case 6060:
1022
- return WEBKIT + 'box-' + replace(value, '-grow', '') + WEBKIT + value + MS + replace(value, 'grow', 'positive') + value
1023
- // transition
1024
- case 4554:
1025
- return WEBKIT + replace(value, /([^-])(transform)/g, '$1' + WEBKIT + '$2') + value
1026
- // cursor
1027
- case 6187:
1028
- return replace(replace(replace(value, /(zoom-|grab)/, WEBKIT + '$1'), /(image-set)/, WEBKIT + '$1'), value, '') + value
1029
- // background, background-image
1030
- case 5495: case 3959:
1031
- return replace(value, /(image-set\([^]*)/, WEBKIT + '$1' + '$`$1')
1032
- // justify-content
1033
- case 4968:
1034
- return replace(replace(value, /(.+:)(flex-)?(.*)/, WEBKIT + 'box-pack:$3' + MS + 'flex-pack:$3'), /s.+-b[^;]+/, 'justify') + WEBKIT + value + value
1035
- // (margin|padding)-inline-(start|end)
1036
- case 4095: case 3583: case 4068: case 2532:
1037
- return replace(value, /(.+)-inline(.+)/, WEBKIT + '$1$2') + value
1038
- // (min|max)?(width|height|inline-size|block-size)
1039
- case 8116: case 7059: case 5753: case 5535:
1040
- case 5445: case 5701: case 4933: case 4677:
1041
- case 5533: case 5789: case 5021: case 4765:
1042
- // stretch, max-content, min-content, fill-available
1043
- if (strlen(value) - 1 - length > 6)
1044
- switch (charat(value, length + 1)) {
1045
- // (m)ax-content, (m)in-content
1046
- case 109:
1047
- // -
1048
- if (charat(value, length + 4) !== 45)
1049
- break
1050
- // (f)ill-available, (f)it-content
1051
- case 102:
1052
- return replace(value, /(.+:)(.+)-([^]+)/, '$1' + WEBKIT + '$2-$3' + '$1' + MOZ + (charat(value, length + 3) == 108 ? '$3' : '$2-$3')) + value
1053
- // (s)tretch
1054
- case 115:
1055
- return ~indexof(value, 'stretch') ? prefix(replace(value, 'stretch', 'fill-available'), length) + value : value
1056
- }
1057
- break
1058
- // position: sticky
1059
- case 4949:
1060
- // (s)ticky?
1061
- if (charat(value, length + 1) !== 115)
1062
- break
1063
- // display: (flex|inline-flex)
1064
- case 6444:
1065
- switch (charat(value, strlen(value) - 3 - (~indexof(value, '!important') && 10))) {
1066
- // stic(k)y
1067
- case 107:
1068
- return replace(value, ':', ':' + WEBKIT) + value
1069
- // (inline-)?fl(e)x
1070
- case 101:
1071
- return replace(value, /(.+:)([^;!]+)(;|!.+)?/, '$1' + WEBKIT + (charat(value, 14) === 45 ? 'inline-' : '') + 'box$3' + '$1' + WEBKIT + '$2$3' + '$1' + MS + '$2box$3') + value
1072
- }
1073
- break
1074
- // writing-mode
1075
- case 5936:
1076
- switch (charat(value, length + 11)) {
1077
- // vertical-l(r)
1078
- case 114:
1079
- return WEBKIT + value + MS + replace(value, /[svh]\w+-[tblr]{2}/, 'tb') + value
1080
- // vertical-r(l)
1081
- case 108:
1082
- return WEBKIT + value + MS + replace(value, /[svh]\w+-[tblr]{2}/, 'tb-rl') + value
1083
- // horizontal(-)tb
1084
- case 45:
1085
- return WEBKIT + value + MS + replace(value, /[svh]\w+-[tblr]{2}/, 'lr') + value
1086
- }
1087
-
1088
- return WEBKIT + value + MS + value + value
1089
- }
1090
-
1091
- return value
1092
- }
1093
-
1094
- /**
1095
- * @param {object[]} children
1096
- * @param {function} callback
1097
- * @return {string}
1098
- */
1099
- function serialize (children, callback) {
1100
- var output = '';
1101
- var length = sizeof(children);
1102
-
1103
- for (var i = 0; i < length; i++)
1104
- output += callback(children[i], i, children, callback) || '';
1105
-
1106
- return output
1107
- }
1108
-
1109
- /**
1110
- * @param {object} element
1111
- * @param {number} index
1112
- * @param {object[]} children
1113
- * @param {function} callback
1114
- * @return {string}
1115
- */
1116
- function stringify (element, index, children, callback) {
1117
- switch (element.type) {
1118
- case IMPORT: case DECLARATION: return element.return = element.return || element.value
1119
- case COMMENT: return ''
1120
- case KEYFRAMES: return element.return = element.value + '{' + serialize(element.children, callback) + '}'
1121
- case RULESET: element.value = element.props.join(',');
1122
- }
1123
-
1124
- return strlen(children = serialize(element.children, callback)) ? element.return = element.value + '{' + children + '}' : ''
1125
- }
1126
-
1127
- /**
1128
- * @param {function[]} collection
1129
- * @return {function}
1130
- */
1131
- function middleware (collection) {
1132
- var length = sizeof(collection);
1133
-
1134
- return function (element, index, children, callback) {
1135
- var output = '';
1136
-
1137
- for (var i = 0; i < length; i++)
1138
- output += collection[i](element, index, children, callback) || '';
1139
-
1140
- return output
1141
- }
1142
- }
1143
-
1144
- /**
1145
- * @param {function} callback
1146
- * @return {function}
1147
- */
1148
- function rulesheet (callback) {
1149
- return function (element) {
1150
- if (!element.root)
1151
- if (element = element.return)
1152
- callback(element);
1153
- }
1154
- }
1155
-
1156
- /**
1157
- * @param {object} element
1158
- * @param {number} index
1159
- * @param {object[]} children
1160
- * @param {function} callback
1161
- */
1162
- function prefixer (element, index, children, callback) {
1163
- if (element.length > -1)
1164
- if (!element.return)
1165
- switch (element.type) {
1166
- case DECLARATION: element.return = prefix(element.value, element.length);
1167
- break
1168
- case KEYFRAMES:
1169
- return serialize([copy(element, {value: replace(element.value, '@', '@' + WEBKIT)})], callback)
1170
- case RULESET:
1171
- if (element.length)
1172
- return combine(element.props, function (value) {
1173
- switch (match(value, /(::plac\w+|:read-\w+)/)) {
1174
- // :read-(only|write)
1175
- case ':read-only': case ':read-write':
1176
- return serialize([copy(element, {props: [replace(value, /:(read-\w+)/, ':' + MOZ + '$1')]})], callback)
1177
- // :placeholder
1178
- case '::placeholder':
1179
- return serialize([
1180
- copy(element, {props: [replace(value, /:(plac\w+)/, ':' + WEBKIT + 'input-$1')]}),
1181
- copy(element, {props: [replace(value, /:(plac\w+)/, ':' + MOZ + '$1')]}),
1182
- copy(element, {props: [replace(value, /:(plac\w+)/, MS + 'input-$1')]})
1183
- ], callback)
1184
- }
1185
-
1186
- return ''
1187
- })
1188
- }
1189
- }
1190
-
1191
- var weakMemoize = function weakMemoize(func) {
1192
- // $FlowFixMe flow doesn't include all non-primitive types as allowed for weakmaps
1193
- var cache = new WeakMap();
1194
- return function (arg) {
1195
- if (cache.has(arg)) {
1196
- // $FlowFixMe
1197
- return cache.get(arg);
1198
- }
1199
-
1200
- var ret = func(arg);
1201
- cache.set(arg, ret);
1202
- return ret;
1203
- };
1204
- };
1205
-
1206
- function memoize(fn) {
1207
- var cache = Object.create(null);
1208
- return function (arg) {
1209
- if (cache[arg] === undefined) cache[arg] = fn(arg);
1210
- return cache[arg];
1211
- };
1212
- }
1213
-
1214
- var identifierWithPointTracking = function identifierWithPointTracking(begin, points, index) {
1215
- var previous = 0;
1216
- var character = 0;
1217
-
1218
- while (true) {
1219
- previous = character;
1220
- character = peek(); // &\f
1221
-
1222
- if (previous === 38 && character === 12) {
1223
- points[index] = 1;
1224
- }
1225
-
1226
- if (token(character)) {
1227
- break;
1228
- }
1229
-
1230
- next();
1231
- }
1232
-
1233
- return slice(begin, position);
1234
- };
1235
-
1236
- var toRules = function toRules(parsed, points) {
1237
- // pretend we've started with a comma
1238
- var index = -1;
1239
- var character = 44;
1240
-
1241
- do {
1242
- switch (token(character)) {
1243
- case 0:
1244
- // &\f
1245
- if (character === 38 && peek() === 12) {
1246
- // this is not 100% correct, we don't account for literal sequences here - like for example quoted strings
1247
- // stylis inserts \f after & to know when & where it should replace this sequence with the context selector
1248
- // and when it should just concatenate the outer and inner selectors
1249
- // it's very unlikely for this sequence to actually appear in a different context, so we just leverage this fact here
1250
- points[index] = 1;
1251
- }
1252
-
1253
- parsed[index] += identifierWithPointTracking(position - 1, points, index);
1254
- break;
1255
-
1256
- case 2:
1257
- parsed[index] += delimit(character);
1258
- break;
1259
-
1260
- case 4:
1261
- // comma
1262
- if (character === 44) {
1263
- // colon
1264
- parsed[++index] = peek() === 58 ? '&\f' : '';
1265
- points[index] = parsed[index].length;
1266
- break;
1267
- }
1268
-
1269
- // fallthrough
1270
-
1271
- default:
1272
- parsed[index] += from(character);
1273
- }
1274
- } while (character = next());
1275
-
1276
- return parsed;
1277
- };
1278
-
1279
- var getRules = function getRules(value, points) {
1280
- return dealloc(toRules(alloc(value), points));
1281
- }; // WeakSet would be more appropriate, but only WeakMap is supported in IE11
1282
-
1283
-
1284
- var fixedElements = /* #__PURE__ */new WeakMap();
1285
- var compat = function compat(element) {
1286
- if (element.type !== 'rule' || !element.parent || // positive .length indicates that this rule contains pseudo
1287
- // negative .length indicates that this rule has been already prefixed
1288
- element.length < 1) {
1289
- return;
1290
- }
1291
-
1292
- var value = element.value,
1293
- parent = element.parent;
1294
- var isImplicitRule = element.column === parent.column && element.line === parent.line;
1295
-
1296
- while (parent.type !== 'rule') {
1297
- parent = parent.parent;
1298
- if (!parent) return;
1299
- } // short-circuit for the simplest case
1300
-
1301
-
1302
- if (element.props.length === 1 && value.charCodeAt(0) !== 58
1303
- /* colon */
1304
- && !fixedElements.get(parent)) {
1305
- return;
1306
- } // if this is an implicitly inserted rule (the one eagerly inserted at the each new nested level)
1307
- // then the props has already been manipulated beforehand as they that array is shared between it and its "rule parent"
1308
-
1309
-
1310
- if (isImplicitRule) {
1311
- return;
1312
- }
1313
-
1314
- fixedElements.set(element, true);
1315
- var points = [];
1316
- var rules = getRules(value, points);
1317
- var parentRules = parent.props;
1318
-
1319
- for (var i = 0, k = 0; i < rules.length; i++) {
1320
- for (var j = 0; j < parentRules.length; j++, k++) {
1321
- element.props[k] = points[i] ? rules[i].replace(/&\f/g, parentRules[j]) : parentRules[j] + " " + rules[i];
1322
- }
1323
- }
1324
- };
1325
- var removeLabel = function removeLabel(element) {
1326
- if (element.type === 'decl') {
1327
- var value = element.value;
1328
-
1329
- if ( // charcode for l
1330
- value.charCodeAt(0) === 108 && // charcode for b
1331
- value.charCodeAt(2) === 98) {
1332
- // this ignores label
1333
- element["return"] = '';
1334
- element.value = '';
1335
- }
1336
- }
1337
- };
1338
- var ignoreFlag = 'emotion-disable-server-rendering-unsafe-selector-warning-please-do-not-use-this-the-warning-exists-for-a-reason';
1339
-
1340
- var isIgnoringComment = function isIgnoringComment(element) {
1341
- return element.type === 'comm' && element.children.indexOf(ignoreFlag) > -1;
1342
- };
1343
-
1344
- var createUnsafeSelectorsAlarm = function createUnsafeSelectorsAlarm(cache) {
1345
- return function (element, index, children) {
1346
- if (element.type !== 'rule' || cache.compat) return;
1347
- var unsafePseudoClasses = element.value.match(/(:first|:nth|:nth-last)-child/g);
1348
-
1349
- if (unsafePseudoClasses) {
1350
- var isNested = element.parent === children[0]; // in nested rules comments become children of the "auto-inserted" rule
1351
- //
1352
- // considering this input:
1353
- // .a {
1354
- // .b /* comm */ {}
1355
- // color: hotpink;
1356
- // }
1357
- // we get output corresponding to this:
1358
- // .a {
1359
- // & {
1360
- // /* comm */
1361
- // color: hotpink;
1362
- // }
1363
- // .b {}
1364
- // }
1365
-
1366
- var commentContainer = isNested ? children[0].children : // global rule at the root level
1367
- children;
1368
-
1369
- for (var i = commentContainer.length - 1; i >= 0; i--) {
1370
- var node = commentContainer[i];
1371
-
1372
- if (node.line < element.line) {
1373
- break;
1374
- } // it is quite weird but comments are *usually* put at `column: element.column - 1`
1375
- // so we seek *from the end* for the node that is earlier than the rule's `element` and check that
1376
- // this will also match inputs like this:
1377
- // .a {
1378
- // /* comm */
1379
- // .b {}
1380
- // }
1381
- //
1382
- // but that is fine
1383
- //
1384
- // it would be the easiest to change the placement of the comment to be the first child of the rule:
1385
- // .a {
1386
- // .b { /* comm */ }
1387
- // }
1388
- // with such inputs we wouldn't have to search for the comment at all
1389
- // TODO: consider changing this comment placement in the next major version
1390
-
1391
-
1392
- if (node.column < element.column) {
1393
- if (isIgnoringComment(node)) {
1394
- return;
1395
- }
1396
-
1397
- break;
1398
- }
1399
- }
1400
-
1401
- unsafePseudoClasses.forEach(function (unsafePseudoClass) {
1402
- console.error("The pseudo class \"" + unsafePseudoClass + "\" is potentially unsafe when doing server-side rendering. Try changing it to \"" + unsafePseudoClass.split('-child')[0] + "-of-type\".");
1403
- });
1404
- }
1405
- };
1406
- };
1407
-
1408
- var isImportRule = function isImportRule(element) {
1409
- return element.type.charCodeAt(1) === 105 && element.type.charCodeAt(0) === 64;
1410
- };
1411
-
1412
- var isPrependedWithRegularRules = function isPrependedWithRegularRules(index, children) {
1413
- for (var i = index - 1; i >= 0; i--) {
1414
- if (!isImportRule(children[i])) {
1415
- return true;
1416
- }
1417
- }
1418
-
1419
- return false;
1420
- }; // use this to remove incorrect elements from further processing
1421
- // so they don't get handed to the `sheet` (or anything else)
1422
- // as that could potentially lead to additional logs which in turn could be overhelming to the user
1423
-
1424
-
1425
- var nullifyElement = function nullifyElement(element) {
1426
- element.type = '';
1427
- element.value = '';
1428
- element["return"] = '';
1429
- element.children = '';
1430
- element.props = '';
1431
- };
1432
-
1433
- var incorrectImportAlarm = function incorrectImportAlarm(element, index, children) {
1434
- if (!isImportRule(element)) {
1435
- return;
1436
- }
1437
-
1438
- if (element.parent) {
1439
- console.error("`@import` rules can't be nested inside other rules. Please move it to the top level and put it before regular rules. Keep in mind that they can only be used within global styles.");
1440
- nullifyElement(element);
1441
- } else if (isPrependedWithRegularRules(index, children)) {
1442
- console.error("`@import` rules can't be after other rules. Please put your `@import` rules before your other rules.");
1443
- nullifyElement(element);
1444
- }
1445
- };
1446
-
1447
- var isBrowser$1 = typeof document !== 'undefined';
1448
- var getServerStylisCache = isBrowser$1 ? undefined : weakMemoize(function () {
1449
- return memoize(function () {
1450
- var cache = {};
1451
- return function (name) {
1452
- return cache[name];
1453
- };
1454
- });
1455
- });
1456
- var defaultStylisPlugins = [prefixer];
1457
-
1458
- var createCache = function createCache(options) {
1459
- var key = options.key;
1460
-
1461
- if (process.env.NODE_ENV !== 'production' && !key) {
1462
- throw new Error("You have to configure `key` for your cache. Please make sure it's unique (and not equal to 'css') as it's used for linking styles to your cache.\n" + "If multiple caches share the same key they might \"fight\" for each other's style elements.");
1463
- }
1464
-
1465
- if (isBrowser$1 && key === 'css') {
1466
- var ssrStyles = document.querySelectorAll("style[data-emotion]:not([data-s])"); // get SSRed styles out of the way of React's hydration
1467
- // document.head is a safe place to move them to(though note document.head is not necessarily the last place they will be)
1468
- // note this very very intentionally targets all style elements regardless of the key to ensure
1469
- // that creating a cache works inside of render of a React component
1470
-
1471
- Array.prototype.forEach.call(ssrStyles, function (node) {
1472
- // we want to only move elements which have a space in the data-emotion attribute value
1473
- // because that indicates that it is an Emotion 11 server-side rendered style elements
1474
- // while we will already ignore Emotion 11 client-side inserted styles because of the :not([data-s]) part in the selector
1475
- // Emotion 10 client-side inserted styles did not have data-s (but importantly did not have a space in their data-emotion attributes)
1476
- // so checking for the space ensures that loading Emotion 11 after Emotion 10 has inserted some styles
1477
- // will not result in the Emotion 10 styles being destroyed
1478
- var dataEmotionAttribute = node.getAttribute('data-emotion');
1479
-
1480
- if (dataEmotionAttribute.indexOf(' ') === -1) {
1481
- return;
1482
- }
1483
- document.head.appendChild(node);
1484
- node.setAttribute('data-s', '');
1485
- });
1486
- }
1487
-
1488
- var stylisPlugins = options.stylisPlugins || defaultStylisPlugins;
1489
-
1490
- if (process.env.NODE_ENV !== 'production') {
1491
- // $FlowFixMe
1492
- if (/[^a-z-]/.test(key)) {
1493
- throw new Error("Emotion key must only contain lower case alphabetical characters and - but \"" + key + "\" was passed");
1494
- }
1495
- }
1496
-
1497
- var inserted = {};
1498
- var container;
1499
- var nodesToHydrate = [];
1500
-
1501
- if (isBrowser$1) {
1502
- container = options.container || document.head;
1503
- Array.prototype.forEach.call( // this means we will ignore elements which don't have a space in them which
1504
- // means that the style elements we're looking at are only Emotion 11 server-rendered style elements
1505
- document.querySelectorAll("style[data-emotion^=\"" + key + " \"]"), function (node) {
1506
- var attrib = node.getAttribute("data-emotion").split(' '); // $FlowFixMe
1507
-
1508
- for (var i = 1; i < attrib.length; i++) {
1509
- inserted[attrib[i]] = true;
1510
- }
1511
-
1512
- nodesToHydrate.push(node);
1513
- });
1514
- }
1515
-
1516
- var _insert;
1517
-
1518
- var omnipresentPlugins = [compat, removeLabel];
1519
-
1520
- if (process.env.NODE_ENV !== 'production') {
1521
- omnipresentPlugins.push(createUnsafeSelectorsAlarm({
1522
- get compat() {
1523
- return cache.compat;
1524
- }
1525
-
1526
- }), incorrectImportAlarm);
1527
- }
1528
-
1529
- if (isBrowser$1) {
1530
- var currentSheet;
1531
- var finalizingPlugins = [stringify, process.env.NODE_ENV !== 'production' ? function (element) {
1532
- if (!element.root) {
1533
- if (element["return"]) {
1534
- currentSheet.insert(element["return"]);
1535
- } else if (element.value && element.type !== COMMENT) {
1536
- // insert empty rule in non-production environments
1537
- // so @emotion/jest can grab `key` from the (JS)DOM for caches without any rules inserted yet
1538
- currentSheet.insert(element.value + "{}");
1539
- }
1540
- }
1541
- } : rulesheet(function (rule) {
1542
- currentSheet.insert(rule);
1543
- })];
1544
- var serializer = middleware(omnipresentPlugins.concat(stylisPlugins, finalizingPlugins));
1545
-
1546
- var stylis = function stylis(styles) {
1547
- return serialize(compile(styles), serializer);
1548
- };
1549
-
1550
- _insert = function insert(selector, serialized, sheet, shouldCache) {
1551
- currentSheet = sheet;
1552
-
1553
- if (process.env.NODE_ENV !== 'production' && serialized.map !== undefined) {
1554
- currentSheet = {
1555
- insert: function insert(rule) {
1556
- sheet.insert(rule + serialized.map);
1557
- }
1558
- };
1559
- }
1560
-
1561
- stylis(selector ? selector + "{" + serialized.styles + "}" : serialized.styles);
1562
-
1563
- if (shouldCache) {
1564
- cache.inserted[serialized.name] = true;
1565
- }
1566
- };
1567
- } else {
1568
- var _finalizingPlugins = [stringify];
1569
-
1570
- var _serializer = middleware(omnipresentPlugins.concat(stylisPlugins, _finalizingPlugins));
1571
-
1572
- var _stylis = function _stylis(styles) {
1573
- return serialize(compile(styles), _serializer);
1574
- }; // $FlowFixMe
1575
-
1576
-
1577
- var serverStylisCache = getServerStylisCache(stylisPlugins)(key);
1578
-
1579
- var getRules = function getRules(selector, serialized) {
1580
- var name = serialized.name;
1581
-
1582
- if (serverStylisCache[name] === undefined) {
1583
- serverStylisCache[name] = _stylis(selector ? selector + "{" + serialized.styles + "}" : serialized.styles);
1584
- }
1585
-
1586
- return serverStylisCache[name];
1587
- };
1588
-
1589
- _insert = function _insert(selector, serialized, sheet, shouldCache) {
1590
- var name = serialized.name;
1591
- var rules = getRules(selector, serialized);
1592
-
1593
- if (cache.compat === undefined) {
1594
- // in regular mode, we don't set the styles on the inserted cache
1595
- // since we don't need to and that would be wasting memory
1596
- // we return them so that they are rendered in a style tag
1597
- if (shouldCache) {
1598
- cache.inserted[name] = true;
1599
- }
1600
-
1601
- if ( // using === development instead of !== production
1602
- // because if people do ssr in tests, the source maps showing up would be annoying
1603
- process.env.NODE_ENV === 'development' && serialized.map !== undefined) {
1604
- return rules + serialized.map;
1605
- }
1606
-
1607
- return rules;
1608
- } else {
1609
- // in compat mode, we put the styles on the inserted cache so
1610
- // that emotion-server can pull out the styles
1611
- // except when we don't want to cache it which was in Global but now
1612
- // is nowhere but we don't want to do a major right now
1613
- // and just in case we're going to leave the case here
1614
- // it's also not affecting client side bundle size
1615
- // so it's really not a big deal
1616
- if (shouldCache) {
1617
- cache.inserted[name] = rules;
1618
- } else {
1619
- return rules;
1620
- }
1621
- }
1622
- };
1623
- }
1624
-
1625
- var cache = {
1626
- key: key,
1627
- sheet: new StyleSheet({
1628
- key: key,
1629
- container: container,
1630
- nonce: options.nonce,
1631
- speedy: options.speedy,
1632
- prepend: options.prepend,
1633
- insertionPoint: options.insertionPoint
1634
- }),
1635
- nonce: options.nonce,
1636
- inserted: inserted,
1637
- registered: {},
1638
- insert: _insert
1639
- };
1640
- cache.sheet.hydrate(nodesToHydrate);
1641
- return cache;
1642
- };
1643
-
1644
- /* eslint-disable */
1645
- // Inspired by https://github.com/garycourt/murmurhash-js
1646
- // Ported from https://github.com/aappleby/smhasher/blob/61a0530f28277f2e850bfc39600ce61d02b518de/src/MurmurHash2.cpp#L37-L86
1647
- function murmur2(str) {
1648
- // 'm' and 'r' are mixing constants generated offline.
1649
- // They're not really 'magic', they just happen to work well.
1650
- // const m = 0x5bd1e995;
1651
- // const r = 24;
1652
- // Initialize the hash
1653
- var h = 0; // Mix 4 bytes at a time into the hash
1654
-
1655
- var k,
1656
- i = 0,
1657
- len = str.length;
1658
-
1659
- for (; len >= 4; ++i, len -= 4) {
1660
- k = str.charCodeAt(i) & 0xff | (str.charCodeAt(++i) & 0xff) << 8 | (str.charCodeAt(++i) & 0xff) << 16 | (str.charCodeAt(++i) & 0xff) << 24;
1661
- k =
1662
- /* Math.imul(k, m): */
1663
- (k & 0xffff) * 0x5bd1e995 + ((k >>> 16) * 0xe995 << 16);
1664
- k ^=
1665
- /* k >>> r: */
1666
- k >>> 24;
1667
- h =
1668
- /* Math.imul(k, m): */
1669
- (k & 0xffff) * 0x5bd1e995 + ((k >>> 16) * 0xe995 << 16) ^
1670
- /* Math.imul(h, m): */
1671
- (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);
1672
- } // Handle the last few bytes of the input array
1673
-
1674
-
1675
- switch (len) {
1676
- case 3:
1677
- h ^= (str.charCodeAt(i + 2) & 0xff) << 16;
1678
-
1679
- case 2:
1680
- h ^= (str.charCodeAt(i + 1) & 0xff) << 8;
1681
-
1682
- case 1:
1683
- h ^= str.charCodeAt(i) & 0xff;
1684
- h =
1685
- /* Math.imul(h, m): */
1686
- (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);
1687
- } // Do a few final mixes of the hash to ensure the last few
1688
- // bytes are well-incorporated.
1689
-
1690
-
1691
- h ^= h >>> 13;
1692
- h =
1693
- /* Math.imul(h, m): */
1694
- (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);
1695
- return ((h ^ h >>> 15) >>> 0).toString(36);
1696
- }
1697
-
1698
- var unitlessKeys = {
1699
- animationIterationCount: 1,
1700
- borderImageOutset: 1,
1701
- borderImageSlice: 1,
1702
- borderImageWidth: 1,
1703
- boxFlex: 1,
1704
- boxFlexGroup: 1,
1705
- boxOrdinalGroup: 1,
1706
- columnCount: 1,
1707
- columns: 1,
1708
- flex: 1,
1709
- flexGrow: 1,
1710
- flexPositive: 1,
1711
- flexShrink: 1,
1712
- flexNegative: 1,
1713
- flexOrder: 1,
1714
- gridRow: 1,
1715
- gridRowEnd: 1,
1716
- gridRowSpan: 1,
1717
- gridRowStart: 1,
1718
- gridColumn: 1,
1719
- gridColumnEnd: 1,
1720
- gridColumnSpan: 1,
1721
- gridColumnStart: 1,
1722
- msGridRow: 1,
1723
- msGridRowSpan: 1,
1724
- msGridColumn: 1,
1725
- msGridColumnSpan: 1,
1726
- fontWeight: 1,
1727
- lineHeight: 1,
1728
- opacity: 1,
1729
- order: 1,
1730
- orphans: 1,
1731
- tabSize: 1,
1732
- widows: 1,
1733
- zIndex: 1,
1734
- zoom: 1,
1735
- WebkitLineClamp: 1,
1736
- // SVG-related properties
1737
- fillOpacity: 1,
1738
- floodOpacity: 1,
1739
- stopOpacity: 1,
1740
- strokeDasharray: 1,
1741
- strokeDashoffset: 1,
1742
- strokeMiterlimit: 1,
1743
- strokeOpacity: 1,
1744
- strokeWidth: 1
1745
- };
1746
-
1747
- var ILLEGAL_ESCAPE_SEQUENCE_ERROR = "You have illegal escape sequence in your template literal, most likely inside content's property value.\nBecause you write your CSS inside a JavaScript string you actually have to do double escaping, so for example \"content: '\\00d7';\" should become \"content: '\\\\00d7';\".\nYou can read more about this here:\nhttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals#ES2018_revision_of_illegal_escape_sequences";
1748
- var UNDEFINED_AS_OBJECT_KEY_ERROR = "You have passed in falsy value as style object's key (can happen when in example you pass unexported component as computed key).";
1749
- var hyphenateRegex = /[A-Z]|^ms/g;
1750
- var animationRegex = /_EMO_([^_]+?)_([^]*?)_EMO_/g;
1751
-
1752
- var isCustomProperty = function isCustomProperty(property) {
1753
- return property.charCodeAt(1) === 45;
1754
- };
1755
-
1756
- var isProcessableValue = function isProcessableValue(value) {
1757
- return value != null && typeof value !== 'boolean';
1758
- };
1759
-
1760
- var processStyleName = /* #__PURE__ */memoize(function (styleName) {
1761
- return isCustomProperty(styleName) ? styleName : styleName.replace(hyphenateRegex, '-$&').toLowerCase();
1762
- });
1763
-
1764
- var processStyleValue = function processStyleValue(key, value) {
1765
- switch (key) {
1766
- case 'animation':
1767
- case 'animationName':
1768
- {
1769
- if (typeof value === 'string') {
1770
- return value.replace(animationRegex, function (match, p1, p2) {
1771
- cursor = {
1772
- name: p1,
1773
- styles: p2,
1774
- next: cursor
1775
- };
1776
- return p1;
1777
- });
1778
- }
1779
- }
1780
- }
1781
-
1782
- if (unitlessKeys[key] !== 1 && !isCustomProperty(key) && typeof value === 'number' && value !== 0) {
1783
- return value + 'px';
1784
- }
1785
-
1786
- return value;
1787
- };
1788
-
1789
- if (process.env.NODE_ENV !== 'production') {
1790
- var contentValuePattern = /(var|attr|counters?|url|(((repeating-)?(linear|radial))|conic)-gradient)\(|(no-)?(open|close)-quote/;
1791
- var contentValues = ['normal', 'none', 'initial', 'inherit', 'unset'];
1792
- var oldProcessStyleValue = processStyleValue;
1793
- var msPattern = /^-ms-/;
1794
- var hyphenPattern = /-(.)/g;
1795
- var hyphenatedCache = {};
1796
-
1797
- processStyleValue = function processStyleValue(key, value) {
1798
- if (key === 'content') {
1799
- if (typeof value !== 'string' || contentValues.indexOf(value) === -1 && !contentValuePattern.test(value) && (value.charAt(0) !== value.charAt(value.length - 1) || value.charAt(0) !== '"' && value.charAt(0) !== "'")) {
1800
- throw new Error("You seem to be using a value for 'content' without quotes, try replacing it with `content: '\"" + value + "\"'`");
1801
- }
1802
- }
1803
-
1804
- var processed = oldProcessStyleValue(key, value);
1805
-
1806
- if (processed !== '' && !isCustomProperty(key) && key.indexOf('-') !== -1 && hyphenatedCache[key] === undefined) {
1807
- hyphenatedCache[key] = true;
1808
- console.error("Using kebab-case for css properties in objects is not supported. Did you mean " + key.replace(msPattern, 'ms-').replace(hyphenPattern, function (str, _char) {
1809
- return _char.toUpperCase();
1810
- }) + "?");
1811
- }
1812
-
1813
- return processed;
1814
- };
1815
- }
1816
-
1817
- var noComponentSelectorMessage = 'Component selectors can only be used in conjunction with ' + '@emotion/babel-plugin, the swc Emotion plugin, or another Emotion-aware ' + 'compiler transform.';
1818
-
1819
- function handleInterpolation(mergedProps, registered, interpolation) {
1820
- if (interpolation == null) {
1821
- return '';
1822
- }
1823
-
1824
- if (interpolation.__emotion_styles !== undefined) {
1825
- if (process.env.NODE_ENV !== 'production' && interpolation.toString() === 'NO_COMPONENT_SELECTOR') {
1826
- throw new Error(noComponentSelectorMessage);
1827
- }
1828
-
1829
- return interpolation;
1830
- }
1831
-
1832
- switch (typeof interpolation) {
1833
- case 'boolean':
1834
- {
1835
- return '';
1836
- }
1837
-
1838
- case 'object':
1839
- {
1840
- if (interpolation.anim === 1) {
1841
- cursor = {
1842
- name: interpolation.name,
1843
- styles: interpolation.styles,
1844
- next: cursor
1845
- };
1846
- return interpolation.name;
1847
- }
1848
-
1849
- if (interpolation.styles !== undefined) {
1850
- var next = interpolation.next;
1851
-
1852
- if (next !== undefined) {
1853
- // not the most efficient thing ever but this is a pretty rare case
1854
- // and there will be very few iterations of this generally
1855
- while (next !== undefined) {
1856
- cursor = {
1857
- name: next.name,
1858
- styles: next.styles,
1859
- next: cursor
1860
- };
1861
- next = next.next;
1862
- }
1863
- }
1864
-
1865
- var styles = interpolation.styles + ";";
1866
-
1867
- if (process.env.NODE_ENV !== 'production' && interpolation.map !== undefined) {
1868
- styles += interpolation.map;
1869
- }
1870
-
1871
- return styles;
1872
- }
1873
-
1874
- return createStringFromObject(mergedProps, registered, interpolation);
1875
- }
1876
-
1877
- case 'function':
1878
- {
1879
- if (mergedProps !== undefined) {
1880
- var previousCursor = cursor;
1881
- var result = interpolation(mergedProps);
1882
- cursor = previousCursor;
1883
- return handleInterpolation(mergedProps, registered, result);
1884
- } else if (process.env.NODE_ENV !== 'production') {
1885
- console.error('Functions that are interpolated in css calls will be stringified.\n' + 'If you want to have a css call based on props, create a function that returns a css call like this\n' + 'let dynamicStyle = (props) => css`color: ${props.color}`\n' + 'It can be called directly with props or interpolated in a styled call like this\n' + "let SomeComponent = styled('div')`${dynamicStyle}`");
1886
- }
1887
-
1888
- break;
1889
- }
1890
-
1891
- case 'string':
1892
- if (process.env.NODE_ENV !== 'production') {
1893
- var matched = [];
1894
- var replaced = interpolation.replace(animationRegex, function (match, p1, p2) {
1895
- var fakeVarName = "animation" + matched.length;
1896
- matched.push("const " + fakeVarName + " = keyframes`" + p2.replace(/^@keyframes animation-\w+/, '') + "`");
1897
- return "${" + fakeVarName + "}";
1898
- });
1899
-
1900
- if (matched.length) {
1901
- console.error('`keyframes` output got interpolated into plain string, please wrap it with `css`.\n\n' + 'Instead of doing this:\n\n' + [].concat(matched, ["`" + replaced + "`"]).join('\n') + '\n\nYou should wrap it with `css` like this:\n\n' + ("css`" + replaced + "`"));
1902
- }
1903
- }
1904
-
1905
- break;
1906
- } // finalize string values (regular strings and functions interpolated into css calls)
1907
-
1908
-
1909
- if (registered == null) {
1910
- return interpolation;
1911
- }
1912
-
1913
- var cached = registered[interpolation];
1914
- return cached !== undefined ? cached : interpolation;
1915
- }
1916
-
1917
- function createStringFromObject(mergedProps, registered, obj) {
1918
- var string = '';
1919
-
1920
- if (Array.isArray(obj)) {
1921
- for (var i = 0; i < obj.length; i++) {
1922
- string += handleInterpolation(mergedProps, registered, obj[i]) + ";";
1923
- }
1924
- } else {
1925
- for (var _key in obj) {
1926
- var value = obj[_key];
1927
-
1928
- if (typeof value !== 'object') {
1929
- if (registered != null && registered[value] !== undefined) {
1930
- string += _key + "{" + registered[value] + "}";
1931
- } else if (isProcessableValue(value)) {
1932
- string += processStyleName(_key) + ":" + processStyleValue(_key, value) + ";";
1933
- }
1934
- } else {
1935
- if (_key === 'NO_COMPONENT_SELECTOR' && process.env.NODE_ENV !== 'production') {
1936
- throw new Error(noComponentSelectorMessage);
1937
- }
1938
-
1939
- if (Array.isArray(value) && typeof value[0] === 'string' && (registered == null || registered[value[0]] === undefined)) {
1940
- for (var _i = 0; _i < value.length; _i++) {
1941
- if (isProcessableValue(value[_i])) {
1942
- string += processStyleName(_key) + ":" + processStyleValue(_key, value[_i]) + ";";
1943
- }
1944
- }
1945
- } else {
1946
- var interpolated = handleInterpolation(mergedProps, registered, value);
1947
-
1948
- switch (_key) {
1949
- case 'animation':
1950
- case 'animationName':
1951
- {
1952
- string += processStyleName(_key) + ":" + interpolated + ";";
1953
- break;
1954
- }
1955
-
1956
- default:
1957
- {
1958
- if (process.env.NODE_ENV !== 'production' && _key === 'undefined') {
1959
- console.error(UNDEFINED_AS_OBJECT_KEY_ERROR);
1960
- }
1961
-
1962
- string += _key + "{" + interpolated + "}";
1963
- }
1964
- }
1965
- }
1966
- }
1967
- }
1968
- }
1969
-
1970
- return string;
1971
- }
1972
-
1973
- var labelPattern = /label:\s*([^\s;\n{]+)\s*(;|$)/g;
1974
- var sourceMapPattern;
1975
-
1976
- if (process.env.NODE_ENV !== 'production') {
1977
- sourceMapPattern = /\/\*#\ssourceMappingURL=data:application\/json;\S+\s+\*\//g;
1978
- } // this is the cursor for keyframes
1979
- // keyframes are stored on the SerializedStyles object as a linked list
1980
-
1981
-
1982
- var cursor;
1983
- var serializeStyles = function serializeStyles(args, registered, mergedProps) {
1984
- if (args.length === 1 && typeof args[0] === 'object' && args[0] !== null && args[0].styles !== undefined) {
1985
- return args[0];
1986
- }
1987
-
1988
- var stringMode = true;
1989
- var styles = '';
1990
- cursor = undefined;
1991
- var strings = args[0];
1992
-
1993
- if (strings == null || strings.raw === undefined) {
1994
- stringMode = false;
1995
- styles += handleInterpolation(mergedProps, registered, strings);
1996
- } else {
1997
- if (process.env.NODE_ENV !== 'production' && strings[0] === undefined) {
1998
- console.error(ILLEGAL_ESCAPE_SEQUENCE_ERROR);
1999
- }
2000
-
2001
- styles += strings[0];
2002
- } // we start at 1 since we've already handled the first arg
2003
-
2004
-
2005
- for (var i = 1; i < args.length; i++) {
2006
- styles += handleInterpolation(mergedProps, registered, args[i]);
2007
-
2008
- if (stringMode) {
2009
- if (process.env.NODE_ENV !== 'production' && strings[i] === undefined) {
2010
- console.error(ILLEGAL_ESCAPE_SEQUENCE_ERROR);
2011
- }
2012
-
2013
- styles += strings[i];
2014
- }
2015
- }
2016
-
2017
- var sourceMap;
2018
-
2019
- if (process.env.NODE_ENV !== 'production') {
2020
- styles = styles.replace(sourceMapPattern, function (match) {
2021
- sourceMap = match;
2022
- return '';
2023
- });
2024
- } // using a global regex with .exec is stateful so lastIndex has to be reset each time
2025
-
2026
-
2027
- labelPattern.lastIndex = 0;
2028
- var identifierName = '';
2029
- var match; // https://esbench.com/bench/5b809c2cf2949800a0f61fb5
2030
-
2031
- while ((match = labelPattern.exec(styles)) !== null) {
2032
- identifierName += '-' + // $FlowFixMe we know it's not null
2033
- match[1];
2034
- }
2035
-
2036
- var name = murmur2(styles) + identifierName;
2037
-
2038
- if (process.env.NODE_ENV !== 'production') {
2039
- // $FlowFixMe SerializedStyles type doesn't have toString property (and we don't want to add it)
2040
- return {
2041
- name: name,
2042
- styles: styles,
2043
- map: sourceMap,
2044
- next: cursor,
2045
- toString: function toString() {
2046
- return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop).";
2047
- }
2048
- };
2049
- }
2050
-
2051
- return {
2052
- name: name,
2053
- styles: styles,
2054
- next: cursor
2055
- };
2056
- };
2057
-
2058
- var isBrowser = typeof document !== 'undefined';
2059
- function getRegisteredStyles(registered, registeredStyles, classNames) {
2060
- var rawClassName = '';
2061
- classNames.split(' ').forEach(function (className) {
2062
- if (registered[className] !== undefined) {
2063
- registeredStyles.push(registered[className] + ";");
2064
- } else {
2065
- rawClassName += className + " ";
2066
- }
2067
- });
2068
- return rawClassName;
2069
- }
2070
- var registerStyles = function registerStyles(cache, serialized, isStringTag) {
2071
- var className = cache.key + "-" + serialized.name;
2072
-
2073
- if ( // we only need to add the styles to the registered cache if the
2074
- // class name could be used further down
2075
- // the tree but if it's a string tag, we know it won't
2076
- // so we don't have to add it to registered cache.
2077
- // this improves memory usage since we can avoid storing the whole style string
2078
- (isStringTag === false || // we need to always store it if we're in compat mode and
2079
- // in node since emotion-server relies on whether a style is in
2080
- // the registered cache to know whether a style is global or not
2081
- // also, note that this check will be dead code eliminated in the browser
2082
- isBrowser === false && cache.compat !== undefined) && cache.registered[className] === undefined) {
2083
- cache.registered[className] = serialized.styles;
2084
- }
2085
- };
2086
- var insertStyles = function insertStyles(cache, serialized, isStringTag) {
2087
- registerStyles(cache, serialized, isStringTag);
2088
- var className = cache.key + "-" + serialized.name;
2089
-
2090
- if (cache.inserted[serialized.name] === undefined) {
2091
- var stylesForSSR = '';
2092
- var current = serialized;
2093
-
2094
- do {
2095
- var maybeStyles = cache.insert(serialized === current ? "." + className : '', current, cache.sheet, true);
2096
-
2097
- if (!isBrowser && maybeStyles !== undefined) {
2098
- stylesForSSR += maybeStyles;
2099
- }
2100
-
2101
- current = current.next;
2102
- } while (current !== undefined);
2103
-
2104
- if (!isBrowser && stylesForSSR.length !== 0) {
2105
- return stylesForSSR;
2106
- }
2107
- }
2108
- };
2109
-
2110
- function insertWithoutScoping(cache, serialized) {
2111
- if (cache.inserted[serialized.name] === undefined) {
2112
- return cache.insert('', serialized, cache.sheet, true);
2113
- }
2114
- }
2115
-
2116
- function merge(registered, css, className) {
2117
- var registeredStyles = [];
2118
- var rawClassName = getRegisteredStyles(registered, registeredStyles, className);
2119
-
2120
- if (registeredStyles.length < 2) {
2121
- return className;
2122
- }
2123
-
2124
- return rawClassName + css(registeredStyles);
2125
- }
2126
-
2127
- var createEmotion = function createEmotion(options) {
2128
- var cache = createCache(options); // $FlowFixMe
2129
-
2130
- cache.sheet.speedy = function (value) {
2131
- if (process.env.NODE_ENV !== 'production' && this.ctr !== 0) {
2132
- throw new Error('speedy must be changed before any rules are inserted');
2133
- }
2134
-
2135
- this.isSpeedy = value;
2136
- };
2137
-
2138
- cache.compat = true;
2139
-
2140
- var css = function css() {
2141
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
2142
- args[_key] = arguments[_key];
2143
- }
2144
-
2145
- var serialized = serializeStyles(args, cache.registered, undefined);
2146
- insertStyles(cache, serialized, false);
2147
- return cache.key + "-" + serialized.name;
2148
- };
2149
-
2150
- var keyframes = function keyframes() {
2151
- for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
2152
- args[_key2] = arguments[_key2];
2153
- }
2154
-
2155
- var serialized = serializeStyles(args, cache.registered);
2156
- var animation = "animation-" + serialized.name;
2157
- insertWithoutScoping(cache, {
2158
- name: serialized.name,
2159
- styles: "@keyframes " + animation + "{" + serialized.styles + "}"
2160
- });
2161
- return animation;
2162
- };
2163
-
2164
- var injectGlobal = function injectGlobal() {
2165
- for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
2166
- args[_key3] = arguments[_key3];
2167
- }
2168
-
2169
- var serialized = serializeStyles(args, cache.registered);
2170
- insertWithoutScoping(cache, serialized);
2171
- };
2172
-
2173
- var cx = function cx() {
2174
- for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {
2175
- args[_key4] = arguments[_key4];
2176
- }
2177
-
2178
- return merge(cache.registered, css, classnames(args));
2179
- };
2180
-
2181
- return {
2182
- css: css,
2183
- cx: cx,
2184
- injectGlobal: injectGlobal,
2185
- keyframes: keyframes,
2186
- hydrate: function hydrate(ids) {
2187
- ids.forEach(function (key) {
2188
- cache.inserted[key] = true;
2189
- });
2190
- },
2191
- flush: function flush() {
2192
- cache.registered = {};
2193
- cache.inserted = {};
2194
- cache.sheet.flush();
2195
- },
2196
- // $FlowFixMe
2197
- sheet: cache.sheet,
2198
- cache: cache,
2199
- getRegisteredStyles: getRegisteredStyles.bind(null, cache.registered),
2200
- merge: merge.bind(null, cache.registered, css)
2201
- };
2202
- };
2203
-
2204
- var classnames = function classnames(args) {
2205
- var cls = '';
2206
-
2207
- for (var i = 0; i < args.length; i++) {
2208
- var arg = args[i];
2209
- if (arg == null) continue;
2210
- var toAdd = void 0;
2211
-
2212
- switch (typeof arg) {
2213
- case 'boolean':
2214
- break;
2215
-
2216
- case 'object':
2217
- {
2218
- if (Array.isArray(arg)) {
2219
- toAdd = classnames(arg);
2220
- } else {
2221
- toAdd = '';
2222
-
2223
- for (var k in arg) {
2224
- if (arg[k] && k) {
2225
- toAdd && (toAdd += ' ');
2226
- toAdd += k;
2227
- }
2228
- }
2229
- }
2230
-
2231
- break;
2232
- }
2233
-
2234
- default:
2235
- {
2236
- toAdd = arg;
2237
- }
2238
- }
2239
-
2240
- if (toAdd) {
2241
- cls && (cls += ' ');
2242
- cls += toAdd;
2243
- }
2244
- }
2245
-
2246
- return cls;
2247
- };
2248
-
2249
- var _createEmotion = createEmotion({
2250
- key: 'css'
2251
- }),
2252
- css = _createEmotion.css;
2253
-
2254
- const matchName = /^[a-z0-9]+(-[a-z0-9]+)*$/;
2255
- const iconDefaults = Object.freeze({
2256
- left: 0,
2257
- top: 0,
2258
- width: 16,
2259
- height: 16,
2260
- rotate: 0,
2261
- vFlip: false,
2262
- hFlip: false
2263
- });
2264
- function fullIcon(data) {
2265
- return { ...iconDefaults, ...data };
2266
- }
2267
-
2268
- const stringToIcon = (value, validate, allowSimpleName, provider = "") => {
2269
- const colonSeparated = value.split(":");
2270
- if (value.slice(0, 1) === "@") {
2271
- if (colonSeparated.length < 2 || colonSeparated.length > 3) {
2272
- return null;
2273
- }
2274
- provider = colonSeparated.shift().slice(1);
2275
- }
2276
- if (colonSeparated.length > 3 || !colonSeparated.length) {
2277
- return null;
2278
- }
2279
- if (colonSeparated.length > 1) {
2280
- const name2 = colonSeparated.pop();
2281
- const prefix = colonSeparated.pop();
2282
- const result = {
2283
- provider: colonSeparated.length > 0 ? colonSeparated[0] : provider,
2284
- prefix,
2285
- name: name2
2286
- };
2287
- return validate && !validateIcon(result) ? null : result;
2288
- }
2289
- const name = colonSeparated[0];
2290
- const dashSeparated = name.split("-");
2291
- if (dashSeparated.length > 1) {
2292
- const result = {
2293
- provider,
2294
- prefix: dashSeparated.shift(),
2295
- name: dashSeparated.join("-")
2296
- };
2297
- return validate && !validateIcon(result) ? null : result;
2298
- }
2299
- if (allowSimpleName && provider === "") {
2300
- const result = {
2301
- provider,
2302
- prefix: "",
2303
- name
2304
- };
2305
- return validate && !validateIcon(result, allowSimpleName) ? null : result;
2306
- }
2307
- return null;
2308
- };
2309
- const validateIcon = (icon, allowSimpleName) => {
2310
- if (!icon) {
2311
- return false;
2312
- }
2313
- return !!((icon.provider === "" || icon.provider.match(matchName)) && (allowSimpleName && icon.prefix === "" || icon.prefix.match(matchName)) && icon.name.match(matchName));
2314
- };
2315
-
2316
- function mergeIconData(icon, alias) {
2317
- const result = { ...icon };
2318
- for (const key in iconDefaults) {
2319
- const prop = key;
2320
- if (alias[prop] !== void 0) {
2321
- const value = alias[prop];
2322
- if (result[prop] === void 0) {
2323
- result[prop] = value;
2324
- continue;
2325
- }
2326
- switch (prop) {
2327
- case "rotate":
2328
- result[prop] = (result[prop] + value) % 4;
2329
- break;
2330
- case "hFlip":
2331
- case "vFlip":
2332
- result[prop] = value !== result[prop];
2333
- break;
2334
- default:
2335
- result[prop] = value;
2336
- }
2337
- }
2338
- }
2339
- return result;
2340
- }
2341
-
2342
- function getIconData$1(data, name, full = false) {
2343
- function getIcon(name2, iteration) {
2344
- if (data.icons[name2] !== void 0) {
2345
- return Object.assign({}, data.icons[name2]);
2346
- }
2347
- if (iteration > 5) {
2348
- return null;
2349
- }
2350
- const aliases = data.aliases;
2351
- if (aliases && aliases[name2] !== void 0) {
2352
- const item = aliases[name2];
2353
- const result2 = getIcon(item.parent, iteration + 1);
2354
- if (result2) {
2355
- return mergeIconData(result2, item);
2356
- }
2357
- return result2;
2358
- }
2359
- const chars = data.chars;
2360
- if (!iteration && chars && chars[name2] !== void 0) {
2361
- return getIcon(chars[name2], iteration + 1);
2362
- }
2363
- return null;
2364
- }
2365
- const result = getIcon(name, 0);
2366
- if (result) {
2367
- for (const key in iconDefaults) {
2368
- if (result[key] === void 0 && data[key] !== void 0) {
2369
- result[key] = data[key];
2370
- }
2371
- }
2372
- }
2373
- return result && full ? fullIcon(result) : result;
2374
- }
2375
-
2376
- function isVariation(item) {
2377
- for (const key in iconDefaults) {
2378
- if (item[key] !== void 0) {
2379
- return true;
2380
- }
2381
- }
2382
- return false;
2383
- }
2384
- function parseIconSet(data, callback, options) {
2385
- options = options || {};
2386
- const names = [];
2387
- if (typeof data !== "object" || typeof data.icons !== "object") {
2388
- return names;
2389
- }
2390
- if (data.not_found instanceof Array) {
2391
- data.not_found.forEach((name) => {
2392
- callback(name, null);
2393
- names.push(name);
2394
- });
2395
- }
2396
- const icons = data.icons;
2397
- Object.keys(icons).forEach((name) => {
2398
- const iconData = getIconData$1(data, name, true);
2399
- if (iconData) {
2400
- callback(name, iconData);
2401
- names.push(name);
2402
- }
2403
- });
2404
- const parseAliases = options.aliases || "all";
2405
- if (parseAliases !== "none" && typeof data.aliases === "object") {
2406
- const aliases = data.aliases;
2407
- Object.keys(aliases).forEach((name) => {
2408
- if (parseAliases === "variations" && isVariation(aliases[name])) {
2409
- return;
2410
- }
2411
- const iconData = getIconData$1(data, name, true);
2412
- if (iconData) {
2413
- callback(name, iconData);
2414
- names.push(name);
2415
- }
2416
- });
2417
- }
2418
- return names;
2419
- }
2420
-
2421
- const optionalProperties = {
2422
- provider: "string",
2423
- aliases: "object",
2424
- not_found: "object"
2425
- };
2426
- for (const prop in iconDefaults) {
2427
- optionalProperties[prop] = typeof iconDefaults[prop];
2428
- }
2429
- function quicklyValidateIconSet(obj) {
2430
- if (typeof obj !== "object" || obj === null) {
2431
- return null;
2432
- }
2433
- const data = obj;
2434
- if (typeof data.prefix !== "string" || !obj.icons || typeof obj.icons !== "object") {
2435
- return null;
2436
- }
2437
- for (const prop in optionalProperties) {
2438
- if (obj[prop] !== void 0 && typeof obj[prop] !== optionalProperties[prop]) {
2439
- return null;
2440
- }
2441
- }
2442
- const icons = data.icons;
2443
- for (const name in icons) {
2444
- const icon = icons[name];
2445
- if (!name.match(matchName) || typeof icon.body !== "string") {
2446
- return null;
2447
- }
2448
- for (const prop in iconDefaults) {
2449
- if (icon[prop] !== void 0 && typeof icon[prop] !== typeof iconDefaults[prop]) {
2450
- return null;
2451
- }
2452
- }
2453
- }
2454
- const aliases = data.aliases;
2455
- if (aliases) {
2456
- for (const name in aliases) {
2457
- const icon = aliases[name];
2458
- const parent = icon.parent;
2459
- if (!name.match(matchName) || typeof parent !== "string" || !icons[parent] && !aliases[parent]) {
2460
- return null;
2461
- }
2462
- for (const prop in iconDefaults) {
2463
- if (icon[prop] !== void 0 && typeof icon[prop] !== typeof iconDefaults[prop]) {
2464
- return null;
2465
- }
2466
- }
2467
- }
2468
- }
2469
- return data;
2470
- }
2471
-
2472
- const storageVersion = 1;
2473
- let storage$1 = /* @__PURE__ */ Object.create(null);
2474
- try {
2475
- const w = window || self;
2476
- if (w && w._iconifyStorage.version === storageVersion) {
2477
- storage$1 = w._iconifyStorage.storage;
2478
- }
2479
- } catch (err) {
2480
- }
2481
- function newStorage(provider, prefix) {
2482
- return {
2483
- provider,
2484
- prefix,
2485
- icons: /* @__PURE__ */ Object.create(null),
2486
- missing: /* @__PURE__ */ Object.create(null)
2487
- };
2488
- }
2489
- function getStorage(provider, prefix) {
2490
- if (storage$1[provider] === void 0) {
2491
- storage$1[provider] = /* @__PURE__ */ Object.create(null);
2492
- }
2493
- const providerStorage = storage$1[provider];
2494
- if (providerStorage[prefix] === void 0) {
2495
- providerStorage[prefix] = newStorage(provider, prefix);
2496
- }
2497
- return providerStorage[prefix];
2498
- }
2499
- function addIconSet(storage2, data) {
2500
- if (!quicklyValidateIconSet(data)) {
2501
- return [];
2502
- }
2503
- const t = Date.now();
2504
- return parseIconSet(data, (name, icon) => {
2505
- if (icon) {
2506
- storage2.icons[name] = icon;
2507
- } else {
2508
- storage2.missing[name] = t;
2509
- }
2510
- });
2511
- }
2512
- function addIconToStorage(storage2, name, icon) {
2513
- try {
2514
- if (typeof icon.body === "string") {
2515
- storage2.icons[name] = Object.freeze(fullIcon(icon));
2516
- return true;
2517
- }
2518
- } catch (err) {
2519
- }
2520
- return false;
2521
- }
2522
- function getIconFromStorage(storage2, name) {
2523
- const value = storage2.icons[name];
2524
- return value === void 0 ? null : value;
2525
- }
2526
-
2527
- let simpleNames = false;
2528
- function allowSimpleNames(allow) {
2529
- if (typeof allow === "boolean") {
2530
- simpleNames = allow;
2531
- }
2532
- return simpleNames;
2533
- }
2534
- function getIconData(name) {
2535
- const icon = typeof name === "string" ? stringToIcon(name, true, simpleNames) : name;
2536
- return icon ? getIconFromStorage(getStorage(icon.provider, icon.prefix), icon.name) : null;
2537
- }
2538
- function addIcon(name, data) {
2539
- const icon = stringToIcon(name, true, simpleNames);
2540
- if (!icon) {
2541
- return false;
2542
- }
2543
- const storage = getStorage(icon.provider, icon.prefix);
2544
- return addIconToStorage(storage, icon.name, data);
2545
- }
2546
- function addCollection(data, provider) {
2547
- if (typeof data !== "object") {
2548
- return false;
2549
- }
2550
- if (typeof provider !== "string") {
2551
- provider = typeof data.provider === "string" ? data.provider : "";
2552
- }
2553
- if (simpleNames && provider === "" && (typeof data.prefix !== "string" || data.prefix === "")) {
2554
- let added = false;
2555
- if (quicklyValidateIconSet(data)) {
2556
- data.prefix = "";
2557
- parseIconSet(data, (name, icon) => {
2558
- if (icon && addIcon(name, icon)) {
2559
- added = true;
2560
- }
2561
- });
2562
- }
2563
- return added;
2564
- }
2565
- if (typeof data.prefix !== "string" || !validateIcon({
2566
- provider,
2567
- prefix: data.prefix,
2568
- name: "a"
2569
- })) {
2570
- return false;
2571
- }
2572
- const storage = getStorage(provider, data.prefix);
2573
- return !!addIconSet(storage, data);
2574
- }
2575
-
2576
- const defaults = Object.freeze({
2577
- inline: false,
2578
- width: null,
2579
- height: null,
2580
- hAlign: "center",
2581
- vAlign: "middle",
2582
- slice: false,
2583
- hFlip: false,
2584
- vFlip: false,
2585
- rotate: 0
2586
- });
2587
- function mergeCustomisations(defaults2, item) {
2588
- const result = {};
2589
- for (const key in defaults2) {
2590
- const attr = key;
2591
- result[attr] = defaults2[attr];
2592
- if (item[attr] === void 0) {
2593
- continue;
2594
- }
2595
- const value = item[attr];
2596
- switch (attr) {
2597
- case "inline":
2598
- case "slice":
2599
- if (typeof value === "boolean") {
2600
- result[attr] = value;
2601
- }
2602
- break;
2603
- case "hFlip":
2604
- case "vFlip":
2605
- if (value === true) {
2606
- result[attr] = !result[attr];
2607
- }
2608
- break;
2609
- case "hAlign":
2610
- case "vAlign":
2611
- if (typeof value === "string" && value !== "") {
2612
- result[attr] = value;
2613
- }
2614
- break;
2615
- case "width":
2616
- case "height":
2617
- if (typeof value === "string" && value !== "" || typeof value === "number" && value || value === null) {
2618
- result[attr] = value;
2619
- }
2620
- break;
2621
- case "rotate":
2622
- if (typeof value === "number") {
2623
- result[attr] += value;
2624
- }
2625
- break;
2626
- }
2627
- }
2628
- return result;
2629
- }
2630
-
2631
- const unitsSplit = /(-?[0-9.]*[0-9]+[0-9.]*)/g;
2632
- const unitsTest = /^-?[0-9.]*[0-9]+[0-9.]*$/g;
2633
- function calculateSize(size, ratio, precision) {
2634
- if (ratio === 1) {
2635
- return size;
2636
- }
2637
- precision = precision === void 0 ? 100 : precision;
2638
- if (typeof size === "number") {
2639
- return Math.ceil(size * ratio * precision) / precision;
2640
- }
2641
- if (typeof size !== "string") {
2642
- return size;
2643
- }
2644
- const oldParts = size.split(unitsSplit);
2645
- if (oldParts === null || !oldParts.length) {
2646
- return size;
2647
- }
2648
- const newParts = [];
2649
- let code = oldParts.shift();
2650
- let isNumber = unitsTest.test(code);
2651
- while (true) {
2652
- if (isNumber) {
2653
- const num = parseFloat(code);
2654
- if (isNaN(num)) {
2655
- newParts.push(code);
2656
- } else {
2657
- newParts.push(Math.ceil(num * ratio * precision) / precision);
2658
- }
2659
- } else {
2660
- newParts.push(code);
2661
- }
2662
- code = oldParts.shift();
2663
- if (code === void 0) {
2664
- return newParts.join("");
2665
- }
2666
- isNumber = !isNumber;
2667
- }
2668
- }
2669
-
2670
- function preserveAspectRatio(props) {
2671
- let result = "";
2672
- switch (props.hAlign) {
2673
- case "left":
2674
- result += "xMin";
2675
- break;
2676
- case "right":
2677
- result += "xMax";
2678
- break;
2679
- default:
2680
- result += "xMid";
2681
- }
2682
- switch (props.vAlign) {
2683
- case "top":
2684
- result += "YMin";
2685
- break;
2686
- case "bottom":
2687
- result += "YMax";
2688
- break;
2689
- default:
2690
- result += "YMid";
2691
- }
2692
- result += props.slice ? " slice" : " meet";
2693
- return result;
2694
- }
2695
- function iconToSVG(icon, customisations) {
2696
- const box = {
2697
- left: icon.left,
2698
- top: icon.top,
2699
- width: icon.width,
2700
- height: icon.height
2701
- };
2702
- let body = icon.body;
2703
- [icon, customisations].forEach((props) => {
2704
- const transformations = [];
2705
- const hFlip = props.hFlip;
2706
- const vFlip = props.vFlip;
2707
- let rotation = props.rotate;
2708
- if (hFlip) {
2709
- if (vFlip) {
2710
- rotation += 2;
2711
- } else {
2712
- transformations.push("translate(" + (box.width + box.left).toString() + " " + (0 - box.top).toString() + ")");
2713
- transformations.push("scale(-1 1)");
2714
- box.top = box.left = 0;
2715
- }
2716
- } else if (vFlip) {
2717
- transformations.push("translate(" + (0 - box.left).toString() + " " + (box.height + box.top).toString() + ")");
2718
- transformations.push("scale(1 -1)");
2719
- box.top = box.left = 0;
2720
- }
2721
- let tempValue;
2722
- if (rotation < 0) {
2723
- rotation -= Math.floor(rotation / 4) * 4;
2724
- }
2725
- rotation = rotation % 4;
2726
- switch (rotation) {
2727
- case 1:
2728
- tempValue = box.height / 2 + box.top;
2729
- transformations.unshift("rotate(90 " + tempValue.toString() + " " + tempValue.toString() + ")");
2730
- break;
2731
- case 2:
2732
- transformations.unshift("rotate(180 " + (box.width / 2 + box.left).toString() + " " + (box.height / 2 + box.top).toString() + ")");
2733
- break;
2734
- case 3:
2735
- tempValue = box.width / 2 + box.left;
2736
- transformations.unshift("rotate(-90 " + tempValue.toString() + " " + tempValue.toString() + ")");
2737
- break;
2738
- }
2739
- if (rotation % 2 === 1) {
2740
- if (box.left !== 0 || box.top !== 0) {
2741
- tempValue = box.left;
2742
- box.left = box.top;
2743
- box.top = tempValue;
2744
- }
2745
- if (box.width !== box.height) {
2746
- tempValue = box.width;
2747
- box.width = box.height;
2748
- box.height = tempValue;
2749
- }
2750
- }
2751
- if (transformations.length) {
2752
- body = '<g transform="' + transformations.join(" ") + '">' + body + "</g>";
2753
- }
2754
- });
2755
- let width, height;
2756
- if (customisations.width === null && customisations.height === null) {
2757
- height = "1em";
2758
- width = calculateSize(height, box.width / box.height);
2759
- } else if (customisations.width !== null && customisations.height !== null) {
2760
- width = customisations.width;
2761
- height = customisations.height;
2762
- } else if (customisations.height !== null) {
2763
- height = customisations.height;
2764
- width = calculateSize(height, box.width / box.height);
2765
- } else {
2766
- width = customisations.width;
2767
- height = calculateSize(width, box.height / box.width);
2768
- }
2769
- if (width === "auto") {
2770
- width = box.width;
2771
- }
2772
- if (height === "auto") {
2773
- height = box.height;
2774
- }
2775
- width = typeof width === "string" ? width : width.toString() + "";
2776
- height = typeof height === "string" ? height : height.toString() + "";
2777
- const result = {
2778
- attributes: {
2779
- width,
2780
- height,
2781
- preserveAspectRatio: preserveAspectRatio(customisations),
2782
- viewBox: box.left.toString() + " " + box.top.toString() + " " + box.width.toString() + " " + box.height.toString()
2783
- },
2784
- body
2785
- };
2786
- if (customisations.inline) {
2787
- result.inline = true;
2788
- }
2789
- return result;
2790
- }
2791
-
2792
- const regex = /\sid="(\S+)"/g;
2793
- const randomPrefix = "IconifyId" + Date.now().toString(16) + (Math.random() * 16777216 | 0).toString(16);
2794
- let counter = 0;
2795
- function replaceIDs(body, prefix = randomPrefix) {
2796
- const ids = [];
2797
- let match;
2798
- while (match = regex.exec(body)) {
2799
- ids.push(match[1]);
2800
- }
2801
- if (!ids.length) {
2802
- return body;
2803
- }
2804
- ids.forEach((id) => {
2805
- const newID = typeof prefix === "function" ? prefix(id) : prefix + (counter++).toString();
2806
- const escapedID = id.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
2807
- body = body.replace(new RegExp('([#;"])(' + escapedID + ')([")]|\\.[a-z])', "g"), "$1" + newID + "$3");
2808
- });
2809
- return body;
2810
- }
2811
-
2812
- const storage = /* @__PURE__ */ Object.create(null);
2813
- function setAPIModule(provider, item) {
2814
- storage[provider] = item;
2815
- }
2816
- function getAPIModule(provider) {
2817
- return storage[provider] || storage[""];
2818
- }
2819
-
2820
- function createAPIConfig(source) {
2821
- let resources;
2822
- if (typeof source.resources === "string") {
2823
- resources = [source.resources];
2824
- } else {
2825
- resources = source.resources;
2826
- if (!(resources instanceof Array) || !resources.length) {
2827
- return null;
2828
- }
2829
- }
2830
- const result = {
2831
- resources,
2832
- path: source.path === void 0 ? "/" : source.path,
2833
- maxURL: source.maxURL ? source.maxURL : 500,
2834
- rotate: source.rotate ? source.rotate : 750,
2835
- timeout: source.timeout ? source.timeout : 5e3,
2836
- random: source.random === true,
2837
- index: source.index ? source.index : 0,
2838
- dataAfterTimeout: source.dataAfterTimeout !== false
2839
- };
2840
- return result;
2841
- }
2842
- const configStorage = /* @__PURE__ */ Object.create(null);
2843
- const fallBackAPISources = [
2844
- "https://api.simplesvg.com",
2845
- "https://api.unisvg.com"
2846
- ];
2847
- const fallBackAPI = [];
2848
- while (fallBackAPISources.length > 0) {
2849
- if (fallBackAPISources.length === 1) {
2850
- fallBackAPI.push(fallBackAPISources.shift());
2851
- } else {
2852
- if (Math.random() > 0.5) {
2853
- fallBackAPI.push(fallBackAPISources.shift());
2854
- } else {
2855
- fallBackAPI.push(fallBackAPISources.pop());
2856
- }
2857
- }
2858
- }
2859
- configStorage[""] = createAPIConfig({
2860
- resources: ["https://api.iconify.design"].concat(fallBackAPI)
2861
- });
2862
- function addAPIProvider(provider, customConfig) {
2863
- const config = createAPIConfig(customConfig);
2864
- if (config === null) {
2865
- return false;
2866
- }
2867
- configStorage[provider] = config;
2868
- return true;
2869
- }
2870
- function getAPIConfig(provider) {
2871
- return configStorage[provider];
2872
- }
2873
-
2874
- const mergeParams = (base, params) => {
2875
- let result = base, hasParams = result.indexOf("?") !== -1;
2876
- function paramToString(value) {
2877
- switch (typeof value) {
2878
- case "boolean":
2879
- return value ? "true" : "false";
2880
- case "number":
2881
- return encodeURIComponent(value);
2882
- case "string":
2883
- return encodeURIComponent(value);
2884
- default:
2885
- throw new Error("Invalid parameter");
2886
- }
2887
- }
2888
- Object.keys(params).forEach((key) => {
2889
- let value;
2890
- try {
2891
- value = paramToString(params[key]);
2892
- } catch (err) {
2893
- return;
2894
- }
2895
- result += (hasParams ? "&" : "?") + encodeURIComponent(key) + "=" + value;
2896
- hasParams = true;
2897
- });
2898
- return result;
2899
- };
2900
-
2901
- const maxLengthCache = {};
2902
- const pathCache = {};
2903
- const detectFetch = () => {
2904
- let callback;
2905
- try {
2906
- callback = fetch;
2907
- if (typeof callback === "function") {
2908
- return callback;
2909
- }
2910
- } catch (err) {
2911
- }
2912
- return null;
2913
- };
2914
- let fetchModule = detectFetch();
2915
- function calculateMaxLength(provider, prefix) {
2916
- const config = getAPIConfig(provider);
2917
- if (!config) {
2918
- return 0;
2919
- }
2920
- let result;
2921
- if (!config.maxURL) {
2922
- result = 0;
2923
- } else {
2924
- let maxHostLength = 0;
2925
- config.resources.forEach((item) => {
2926
- const host = item;
2927
- maxHostLength = Math.max(maxHostLength, host.length);
2928
- });
2929
- const url = mergeParams(prefix + ".json", {
2930
- icons: ""
2931
- });
2932
- result = config.maxURL - maxHostLength - config.path.length - url.length;
2933
- }
2934
- const cacheKey = provider + ":" + prefix;
2935
- pathCache[provider] = config.path;
2936
- maxLengthCache[cacheKey] = result;
2937
- return result;
2938
- }
2939
- function shouldAbort(status) {
2940
- return status === 404;
2941
- }
2942
- const prepare = (provider, prefix, icons) => {
2943
- const results = [];
2944
- let maxLength = maxLengthCache[prefix];
2945
- if (maxLength === void 0) {
2946
- maxLength = calculateMaxLength(provider, prefix);
2947
- }
2948
- const type = "icons";
2949
- let item = {
2950
- type,
2951
- provider,
2952
- prefix,
2953
- icons: []
2954
- };
2955
- let length = 0;
2956
- icons.forEach((name, index) => {
2957
- length += name.length + 1;
2958
- if (length >= maxLength && index > 0) {
2959
- results.push(item);
2960
- item = {
2961
- type,
2962
- provider,
2963
- prefix,
2964
- icons: []
2965
- };
2966
- length = name.length;
2967
- }
2968
- item.icons.push(name);
2969
- });
2970
- results.push(item);
2971
- return results;
2972
- };
2973
- function getPath(provider) {
2974
- if (typeof provider === "string") {
2975
- if (pathCache[provider] === void 0) {
2976
- const config = getAPIConfig(provider);
2977
- if (!config) {
2978
- return "/";
2979
- }
2980
- pathCache[provider] = config.path;
2981
- }
2982
- return pathCache[provider];
2983
- }
2984
- return "/";
2985
- }
2986
- const send = (host, params, callback) => {
2987
- if (!fetchModule) {
2988
- callback("abort", 424);
2989
- return;
2990
- }
2991
- let path = getPath(params.provider);
2992
- switch (params.type) {
2993
- case "icons": {
2994
- const prefix = params.prefix;
2995
- const icons = params.icons;
2996
- const iconsList = icons.join(",");
2997
- path += mergeParams(prefix + ".json", {
2998
- icons: iconsList
2999
- });
3000
- break;
3001
- }
3002
- case "custom": {
3003
- const uri = params.uri;
3004
- path += uri.slice(0, 1) === "/" ? uri.slice(1) : uri;
3005
- break;
3006
- }
3007
- default:
3008
- callback("abort", 400);
3009
- return;
3010
- }
3011
- let defaultError = 503;
3012
- fetchModule(host + path).then((response) => {
3013
- const status = response.status;
3014
- if (status !== 200) {
3015
- setTimeout(() => {
3016
- callback(shouldAbort(status) ? "abort" : "next", status);
3017
- });
3018
- return;
3019
- }
3020
- defaultError = 501;
3021
- return response.json();
3022
- }).then((data) => {
3023
- if (typeof data !== "object" || data === null) {
3024
- setTimeout(() => {
3025
- callback("next", defaultError);
3026
- });
3027
- return;
3028
- }
3029
- setTimeout(() => {
3030
- callback("success", data);
3031
- });
3032
- }).catch(() => {
3033
- callback("next", defaultError);
3034
- });
3035
- };
3036
- const fetchAPIModule = {
3037
- prepare,
3038
- send
3039
- };
3040
-
3041
- function sortIcons(icons) {
3042
- const result = {
3043
- loaded: [],
3044
- missing: [],
3045
- pending: []
3046
- };
3047
- const storage = /* @__PURE__ */ Object.create(null);
3048
- icons.sort((a, b) => {
3049
- if (a.provider !== b.provider) {
3050
- return a.provider.localeCompare(b.provider);
3051
- }
3052
- if (a.prefix !== b.prefix) {
3053
- return a.prefix.localeCompare(b.prefix);
3054
- }
3055
- return a.name.localeCompare(b.name);
3056
- });
3057
- let lastIcon = {
3058
- provider: "",
3059
- prefix: "",
3060
- name: ""
3061
- };
3062
- icons.forEach((icon) => {
3063
- if (lastIcon.name === icon.name && lastIcon.prefix === icon.prefix && lastIcon.provider === icon.provider) {
3064
- return;
3065
- }
3066
- lastIcon = icon;
3067
- const provider = icon.provider;
3068
- const prefix = icon.prefix;
3069
- const name = icon.name;
3070
- if (storage[provider] === void 0) {
3071
- storage[provider] = /* @__PURE__ */ Object.create(null);
3072
- }
3073
- const providerStorage = storage[provider];
3074
- if (providerStorage[prefix] === void 0) {
3075
- providerStorage[prefix] = getStorage(provider, prefix);
3076
- }
3077
- const localStorage = providerStorage[prefix];
3078
- let list;
3079
- if (localStorage.icons[name] !== void 0) {
3080
- list = result.loaded;
3081
- } else if (prefix === "" || localStorage.missing[name] !== void 0) {
3082
- list = result.missing;
3083
- } else {
3084
- list = result.pending;
3085
- }
3086
- const item = {
3087
- provider,
3088
- prefix,
3089
- name
3090
- };
3091
- list.push(item);
3092
- });
3093
- return result;
3094
- }
3095
-
3096
- const callbacks = /* @__PURE__ */ Object.create(null);
3097
- const pendingUpdates = /* @__PURE__ */ Object.create(null);
3098
- function removeCallback(sources, id) {
3099
- sources.forEach((source) => {
3100
- const provider = source.provider;
3101
- if (callbacks[provider] === void 0) {
3102
- return;
3103
- }
3104
- const providerCallbacks = callbacks[provider];
3105
- const prefix = source.prefix;
3106
- const items = providerCallbacks[prefix];
3107
- if (items) {
3108
- providerCallbacks[prefix] = items.filter((row) => row.id !== id);
3109
- }
3110
- });
3111
- }
3112
- function updateCallbacks(provider, prefix) {
3113
- if (pendingUpdates[provider] === void 0) {
3114
- pendingUpdates[provider] = /* @__PURE__ */ Object.create(null);
3115
- }
3116
- const providerPendingUpdates = pendingUpdates[provider];
3117
- if (!providerPendingUpdates[prefix]) {
3118
- providerPendingUpdates[prefix] = true;
3119
- setTimeout(() => {
3120
- providerPendingUpdates[prefix] = false;
3121
- if (callbacks[provider] === void 0 || callbacks[provider][prefix] === void 0) {
3122
- return;
3123
- }
3124
- const items = callbacks[provider][prefix].slice(0);
3125
- if (!items.length) {
3126
- return;
3127
- }
3128
- const storage = getStorage(provider, prefix);
3129
- let hasPending = false;
3130
- items.forEach((item) => {
3131
- const icons = item.icons;
3132
- const oldLength = icons.pending.length;
3133
- icons.pending = icons.pending.filter((icon) => {
3134
- if (icon.prefix !== prefix) {
3135
- return true;
3136
- }
3137
- const name = icon.name;
3138
- if (storage.icons[name] !== void 0) {
3139
- icons.loaded.push({
3140
- provider,
3141
- prefix,
3142
- name
3143
- });
3144
- } else if (storage.missing[name] !== void 0) {
3145
- icons.missing.push({
3146
- provider,
3147
- prefix,
3148
- name
3149
- });
3150
- } else {
3151
- hasPending = true;
3152
- return true;
3153
- }
3154
- return false;
3155
- });
3156
- if (icons.pending.length !== oldLength) {
3157
- if (!hasPending) {
3158
- removeCallback([
3159
- {
3160
- provider,
3161
- prefix
3162
- }
3163
- ], item.id);
3164
- }
3165
- item.callback(icons.loaded.slice(0), icons.missing.slice(0), icons.pending.slice(0), item.abort);
3166
- }
3167
- });
3168
- });
3169
- }
3170
- }
3171
- let idCounter = 0;
3172
- function storeCallback(callback, icons, pendingSources) {
3173
- const id = idCounter++;
3174
- const abort = removeCallback.bind(null, pendingSources, id);
3175
- if (!icons.pending.length) {
3176
- return abort;
3177
- }
3178
- const item = {
3179
- id,
3180
- icons,
3181
- callback,
3182
- abort
3183
- };
3184
- pendingSources.forEach((source) => {
3185
- const provider = source.provider;
3186
- const prefix = source.prefix;
3187
- if (callbacks[provider] === void 0) {
3188
- callbacks[provider] = /* @__PURE__ */ Object.create(null);
3189
- }
3190
- const providerCallbacks = callbacks[provider];
3191
- if (providerCallbacks[prefix] === void 0) {
3192
- providerCallbacks[prefix] = [];
3193
- }
3194
- providerCallbacks[prefix].push(item);
3195
- });
3196
- return abort;
3197
- }
3198
-
3199
- function listToIcons(list, validate = true, simpleNames = false) {
3200
- const result = [];
3201
- list.forEach((item) => {
3202
- const icon = typeof item === "string" ? stringToIcon(item, false, simpleNames) : item;
3203
- if (!validate || validateIcon(icon, simpleNames)) {
3204
- result.push({
3205
- provider: icon.provider,
3206
- prefix: icon.prefix,
3207
- name: icon.name
3208
- });
3209
- }
3210
- });
3211
- return result;
3212
- }
3213
-
3214
- // src/config.ts
3215
- var defaultConfig = {
3216
- resources: [],
3217
- index: 0,
3218
- timeout: 2e3,
3219
- rotate: 750,
3220
- random: false,
3221
- dataAfterTimeout: false
3222
- };
3223
-
3224
- // src/query.ts
3225
- function sendQuery(config, payload, query, done) {
3226
- const resourcesCount = config.resources.length;
3227
- const startIndex = config.random ? Math.floor(Math.random() * resourcesCount) : config.index;
3228
- let resources;
3229
- if (config.random) {
3230
- let list = config.resources.slice(0);
3231
- resources = [];
3232
- while (list.length > 1) {
3233
- const nextIndex = Math.floor(Math.random() * list.length);
3234
- resources.push(list[nextIndex]);
3235
- list = list.slice(0, nextIndex).concat(list.slice(nextIndex + 1));
3236
- }
3237
- resources = resources.concat(list);
3238
- } else {
3239
- resources = config.resources.slice(startIndex).concat(config.resources.slice(0, startIndex));
3240
- }
3241
- const startTime = Date.now();
3242
- let status = "pending";
3243
- let queriesSent = 0;
3244
- let lastError;
3245
- let timer = null;
3246
- let queue = [];
3247
- let doneCallbacks = [];
3248
- if (typeof done === "function") {
3249
- doneCallbacks.push(done);
3250
- }
3251
- function resetTimer() {
3252
- if (timer) {
3253
- clearTimeout(timer);
3254
- timer = null;
3255
- }
3256
- }
3257
- function abort() {
3258
- if (status === "pending") {
3259
- status = "aborted";
3260
- }
3261
- resetTimer();
3262
- queue.forEach((item) => {
3263
- if (item.status === "pending") {
3264
- item.status = "aborted";
3265
- }
3266
- });
3267
- queue = [];
3268
- }
3269
- function subscribe(callback, overwrite) {
3270
- if (overwrite) {
3271
- doneCallbacks = [];
3272
- }
3273
- if (typeof callback === "function") {
3274
- doneCallbacks.push(callback);
3275
- }
3276
- }
3277
- function getQueryStatus() {
3278
- return {
3279
- startTime,
3280
- payload,
3281
- status,
3282
- queriesSent,
3283
- queriesPending: queue.length,
3284
- subscribe,
3285
- abort
3286
- };
3287
- }
3288
- function failQuery() {
3289
- status = "failed";
3290
- doneCallbacks.forEach((callback) => {
3291
- callback(void 0, lastError);
3292
- });
3293
- }
3294
- function clearQueue() {
3295
- queue.forEach((item) => {
3296
- if (item.status === "pending") {
3297
- item.status = "aborted";
3298
- }
3299
- });
3300
- queue = [];
3301
- }
3302
- function moduleResponse(item, response, data) {
3303
- const isError = response !== "success";
3304
- queue = queue.filter((queued) => queued !== item);
3305
- switch (status) {
3306
- case "pending":
3307
- break;
3308
- case "failed":
3309
- if (isError || !config.dataAfterTimeout) {
3310
- return;
3311
- }
3312
- break;
3313
- default:
3314
- return;
3315
- }
3316
- if (response === "abort") {
3317
- lastError = data;
3318
- failQuery();
3319
- return;
3320
- }
3321
- if (isError) {
3322
- lastError = data;
3323
- if (!queue.length) {
3324
- if (!resources.length) {
3325
- failQuery();
3326
- } else {
3327
- execNext();
3328
- }
3329
- }
3330
- return;
3331
- }
3332
- resetTimer();
3333
- clearQueue();
3334
- if (!config.random) {
3335
- const index = config.resources.indexOf(item.resource);
3336
- if (index !== -1 && index !== config.index) {
3337
- config.index = index;
3338
- }
3339
- }
3340
- status = "completed";
3341
- doneCallbacks.forEach((callback) => {
3342
- callback(data);
3343
- });
3344
- }
3345
- function execNext() {
3346
- if (status !== "pending") {
3347
- return;
3348
- }
3349
- resetTimer();
3350
- const resource = resources.shift();
3351
- if (resource === void 0) {
3352
- if (queue.length) {
3353
- timer = setTimeout(() => {
3354
- resetTimer();
3355
- if (status === "pending") {
3356
- clearQueue();
3357
- failQuery();
3358
- }
3359
- }, config.timeout);
3360
- return;
3361
- }
3362
- failQuery();
3363
- return;
3364
- }
3365
- const item = {
3366
- status: "pending",
3367
- resource,
3368
- callback: (status2, data) => {
3369
- moduleResponse(item, status2, data);
3370
- }
3371
- };
3372
- queue.push(item);
3373
- queriesSent++;
3374
- timer = setTimeout(execNext, config.rotate);
3375
- query(resource, payload, item.callback);
3376
- }
3377
- setTimeout(execNext);
3378
- return getQueryStatus;
3379
- }
3380
-
3381
- // src/index.ts
3382
- function setConfig(config) {
3383
- if (typeof config !== "object" || typeof config.resources !== "object" || !(config.resources instanceof Array) || !config.resources.length) {
3384
- throw new Error("Invalid Reduncancy configuration");
3385
- }
3386
- const newConfig = /* @__PURE__ */ Object.create(null);
3387
- let key;
3388
- for (key in defaultConfig) {
3389
- if (config[key] !== void 0) {
3390
- newConfig[key] = config[key];
3391
- } else {
3392
- newConfig[key] = defaultConfig[key];
3393
- }
3394
- }
3395
- return newConfig;
3396
- }
3397
- function initRedundancy(cfg) {
3398
- const config = setConfig(cfg);
3399
- let queries = [];
3400
- function cleanup() {
3401
- queries = queries.filter((item) => item().status === "pending");
3402
- }
3403
- function query(payload, queryCallback, doneCallback) {
3404
- const query2 = sendQuery(config, payload, queryCallback, (data, error) => {
3405
- cleanup();
3406
- if (doneCallback) {
3407
- doneCallback(data, error);
3408
- }
3409
- });
3410
- queries.push(query2);
3411
- return query2;
3412
- }
3413
- function find(callback) {
3414
- const result = queries.find((value) => {
3415
- return callback(value);
3416
- });
3417
- return result !== void 0 ? result : null;
3418
- }
3419
- const instance = {
3420
- query,
3421
- find,
3422
- setIndex: (index) => {
3423
- config.index = index;
3424
- },
3425
- getIndex: () => config.index,
3426
- cleanup
3427
- };
3428
- return instance;
3429
- }
3430
-
3431
- function emptyCallback$1() {
3432
- }
3433
- const redundancyCache = /* @__PURE__ */ Object.create(null);
3434
- function getRedundancyCache(provider) {
3435
- if (redundancyCache[provider] === void 0) {
3436
- const config = getAPIConfig(provider);
3437
- if (!config) {
3438
- return;
3439
- }
3440
- const redundancy = initRedundancy(config);
3441
- const cachedReundancy = {
3442
- config,
3443
- redundancy
3444
- };
3445
- redundancyCache[provider] = cachedReundancy;
3446
- }
3447
- return redundancyCache[provider];
3448
- }
3449
- function sendAPIQuery(target, query, callback) {
3450
- let redundancy;
3451
- let send;
3452
- if (typeof target === "string") {
3453
- const api = getAPIModule(target);
3454
- if (!api) {
3455
- callback(void 0, 424);
3456
- return emptyCallback$1;
3457
- }
3458
- send = api.send;
3459
- const cached = getRedundancyCache(target);
3460
- if (cached) {
3461
- redundancy = cached.redundancy;
3462
- }
3463
- } else {
3464
- const config = createAPIConfig(target);
3465
- if (config) {
3466
- redundancy = initRedundancy(config);
3467
- const moduleKey = target.resources ? target.resources[0] : "";
3468
- const api = getAPIModule(moduleKey);
3469
- if (api) {
3470
- send = api.send;
3471
- }
3472
- }
3473
- }
3474
- if (!redundancy || !send) {
3475
- callback(void 0, 424);
3476
- return emptyCallback$1;
3477
- }
3478
- return redundancy.query(query, send, callback)().abort;
3479
- }
3480
-
3481
- const cache = {};
3482
-
3483
- function emptyCallback() {
3484
- }
3485
- const pendingIcons = /* @__PURE__ */ Object.create(null);
3486
- const iconsToLoad = /* @__PURE__ */ Object.create(null);
3487
- const loaderFlags = /* @__PURE__ */ Object.create(null);
3488
- const queueFlags = /* @__PURE__ */ Object.create(null);
3489
- function loadedNewIcons(provider, prefix) {
3490
- if (loaderFlags[provider] === void 0) {
3491
- loaderFlags[provider] = /* @__PURE__ */ Object.create(null);
3492
- }
3493
- const providerLoaderFlags = loaderFlags[provider];
3494
- if (!providerLoaderFlags[prefix]) {
3495
- providerLoaderFlags[prefix] = true;
3496
- setTimeout(() => {
3497
- providerLoaderFlags[prefix] = false;
3498
- updateCallbacks(provider, prefix);
3499
- });
3500
- }
3501
- }
3502
- const errorsCache = /* @__PURE__ */ Object.create(null);
3503
- function loadNewIcons(provider, prefix, icons) {
3504
- function err() {
3505
- const key = (provider === "" ? "" : "@" + provider + ":") + prefix;
3506
- const time = Math.floor(Date.now() / 6e4);
3507
- if (errorsCache[key] < time) {
3508
- errorsCache[key] = time;
3509
- console.error('Unable to retrieve icons for "' + key + '" because API is not configured properly.');
3510
- }
3511
- }
3512
- if (iconsToLoad[provider] === void 0) {
3513
- iconsToLoad[provider] = /* @__PURE__ */ Object.create(null);
3514
- }
3515
- const providerIconsToLoad = iconsToLoad[provider];
3516
- if (queueFlags[provider] === void 0) {
3517
- queueFlags[provider] = /* @__PURE__ */ Object.create(null);
3518
- }
3519
- const providerQueueFlags = queueFlags[provider];
3520
- if (pendingIcons[provider] === void 0) {
3521
- pendingIcons[provider] = /* @__PURE__ */ Object.create(null);
3522
- }
3523
- const providerPendingIcons = pendingIcons[provider];
3524
- if (providerIconsToLoad[prefix] === void 0) {
3525
- providerIconsToLoad[prefix] = icons;
3526
- } else {
3527
- providerIconsToLoad[prefix] = providerIconsToLoad[prefix].concat(icons).sort();
3528
- }
3529
- if (!providerQueueFlags[prefix]) {
3530
- providerQueueFlags[prefix] = true;
3531
- setTimeout(() => {
3532
- providerQueueFlags[prefix] = false;
3533
- const icons2 = providerIconsToLoad[prefix];
3534
- delete providerIconsToLoad[prefix];
3535
- const api = getAPIModule(provider);
3536
- if (!api) {
3537
- err();
3538
- return;
3539
- }
3540
- const params = api.prepare(provider, prefix, icons2);
3541
- params.forEach((item) => {
3542
- sendAPIQuery(provider, item, (data, error) => {
3543
- const storage = getStorage(provider, prefix);
3544
- if (typeof data !== "object") {
3545
- if (error !== 404) {
3546
- return;
3547
- }
3548
- const t = Date.now();
3549
- item.icons.forEach((name) => {
3550
- storage.missing[name] = t;
3551
- });
3552
- } else {
3553
- try {
3554
- const parsed = addIconSet(storage, data);
3555
- if (!parsed.length) {
3556
- return;
3557
- }
3558
- const pending = providerPendingIcons[prefix];
3559
- parsed.forEach((name) => {
3560
- delete pending[name];
3561
- });
3562
- if (cache.store) {
3563
- cache.store(provider, data);
3564
- }
3565
- } catch (err2) {
3566
- console.error(err2);
3567
- }
3568
- }
3569
- loadedNewIcons(provider, prefix);
3570
- });
3571
- });
3572
- });
3573
- }
3574
- }
3575
- const loadIcons = (icons, callback) => {
3576
- const cleanedIcons = listToIcons(icons, true, allowSimpleNames());
3577
- const sortedIcons = sortIcons(cleanedIcons);
3578
- if (!sortedIcons.pending.length) {
3579
- let callCallback = true;
3580
- if (callback) {
3581
- setTimeout(() => {
3582
- if (callCallback) {
3583
- callback(sortedIcons.loaded, sortedIcons.missing, sortedIcons.pending, emptyCallback);
3584
- }
3585
- });
3586
- }
3587
- return () => {
3588
- callCallback = false;
3589
- };
3590
- }
3591
- const newIcons = /* @__PURE__ */ Object.create(null);
3592
- const sources = [];
3593
- let lastProvider, lastPrefix;
3594
- sortedIcons.pending.forEach((icon) => {
3595
- const provider = icon.provider;
3596
- const prefix = icon.prefix;
3597
- if (prefix === lastPrefix && provider === lastProvider) {
3598
- return;
3599
- }
3600
- lastProvider = provider;
3601
- lastPrefix = prefix;
3602
- sources.push({
3603
- provider,
3604
- prefix
3605
- });
3606
- if (pendingIcons[provider] === void 0) {
3607
- pendingIcons[provider] = /* @__PURE__ */ Object.create(null);
3608
- }
3609
- const providerPendingIcons = pendingIcons[provider];
3610
- if (providerPendingIcons[prefix] === void 0) {
3611
- providerPendingIcons[prefix] = /* @__PURE__ */ Object.create(null);
3612
- }
3613
- if (newIcons[provider] === void 0) {
3614
- newIcons[provider] = /* @__PURE__ */ Object.create(null);
3615
- }
3616
- const providerNewIcons = newIcons[provider];
3617
- if (providerNewIcons[prefix] === void 0) {
3618
- providerNewIcons[prefix] = [];
3619
- }
3620
- });
3621
- const time = Date.now();
3622
- sortedIcons.pending.forEach((icon) => {
3623
- const provider = icon.provider;
3624
- const prefix = icon.prefix;
3625
- const name = icon.name;
3626
- const pendingQueue = pendingIcons[provider][prefix];
3627
- if (pendingQueue[name] === void 0) {
3628
- pendingQueue[name] = time;
3629
- newIcons[provider][prefix].push(name);
3630
- }
3631
- });
3632
- sources.forEach((source) => {
3633
- const provider = source.provider;
3634
- const prefix = source.prefix;
3635
- if (newIcons[provider][prefix].length) {
3636
- loadNewIcons(provider, prefix, newIcons[provider][prefix]);
3637
- }
3638
- });
3639
- return callback ? storeCallback(callback, sortedIcons, sources) : emptyCallback;
3640
- };
3641
-
3642
- const cacheVersion = "iconify2";
3643
- const cachePrefix = "iconify";
3644
- const countKey = cachePrefix + "-count";
3645
- const versionKey = cachePrefix + "-version";
3646
- const hour = 36e5;
3647
- const cacheExpiration = 168;
3648
- const config = {
3649
- local: true,
3650
- session: true
3651
- };
3652
- let loaded = false;
3653
- const count = {
3654
- local: 0,
3655
- session: 0
3656
- };
3657
- const emptyList = {
3658
- local: [],
3659
- session: []
3660
- };
3661
- let _window = typeof window === "undefined" ? {} : window;
3662
- function getGlobal(key) {
3663
- const attr = key + "Storage";
3664
- try {
3665
- if (_window && _window[attr] && typeof _window[attr].length === "number") {
3666
- return _window[attr];
3667
- }
3668
- } catch (err) {
3669
- }
3670
- config[key] = false;
3671
- return null;
3672
- }
3673
- function setCount(storage, key, value) {
3674
- try {
3675
- storage.setItem(countKey, value.toString());
3676
- count[key] = value;
3677
- return true;
3678
- } catch (err) {
3679
- return false;
3680
- }
3681
- }
3682
- function getCount(storage) {
3683
- const count2 = storage.getItem(countKey);
3684
- if (count2) {
3685
- const total = parseInt(count2);
3686
- return total ? total : 0;
3687
- }
3688
- return 0;
3689
- }
3690
- function initCache(storage, key) {
3691
- try {
3692
- storage.setItem(versionKey, cacheVersion);
3693
- } catch (err) {
3694
- }
3695
- setCount(storage, key, 0);
3696
- }
3697
- function destroyCache(storage) {
3698
- try {
3699
- const total = getCount(storage);
3700
- for (let i = 0; i < total; i++) {
3701
- storage.removeItem(cachePrefix + i.toString());
3702
- }
3703
- } catch (err) {
3704
- }
3705
- }
3706
- const loadCache = () => {
3707
- if (loaded) {
3708
- return;
3709
- }
3710
- loaded = true;
3711
- const minTime = Math.floor(Date.now() / hour) - cacheExpiration;
3712
- function load(key) {
3713
- const func = getGlobal(key);
3714
- if (!func) {
3715
- return;
3716
- }
3717
- const getItem = (index) => {
3718
- const name = cachePrefix + index.toString();
3719
- const item = func.getItem(name);
3720
- if (typeof item !== "string") {
3721
- return false;
3722
- }
3723
- let valid = true;
3724
- try {
3725
- const data = JSON.parse(item);
3726
- if (typeof data !== "object" || typeof data.cached !== "number" || data.cached < minTime || typeof data.provider !== "string" || typeof data.data !== "object" || typeof data.data.prefix !== "string") {
3727
- valid = false;
3728
- } else {
3729
- const provider = data.provider;
3730
- const prefix = data.data.prefix;
3731
- const storage = getStorage(provider, prefix);
3732
- valid = addIconSet(storage, data.data).length > 0;
3733
- }
3734
- } catch (err) {
3735
- valid = false;
3736
- }
3737
- if (!valid) {
3738
- func.removeItem(name);
3739
- }
3740
- return valid;
3741
- };
3742
- try {
3743
- const version = func.getItem(versionKey);
3744
- if (version !== cacheVersion) {
3745
- if (version) {
3746
- destroyCache(func);
3747
- }
3748
- initCache(func, key);
3749
- return;
3750
- }
3751
- let total = getCount(func);
3752
- for (let i = total - 1; i >= 0; i--) {
3753
- if (!getItem(i)) {
3754
- if (i === total - 1) {
3755
- total--;
3756
- } else {
3757
- emptyList[key].push(i);
3758
- }
3759
- }
3760
- }
3761
- setCount(func, key, total);
3762
- } catch (err) {
3763
- }
3764
- }
3765
- for (const key in config) {
3766
- load(key);
3767
- }
3768
- };
3769
- const storeCache = (provider, data) => {
3770
- if (!loaded) {
3771
- loadCache();
3772
- }
3773
- function store(key) {
3774
- if (!config[key]) {
3775
- return false;
3776
- }
3777
- const func = getGlobal(key);
3778
- if (!func) {
3779
- return false;
3780
- }
3781
- let index = emptyList[key].shift();
3782
- if (index === void 0) {
3783
- index = count[key];
3784
- if (!setCount(func, key, index + 1)) {
3785
- return false;
3786
- }
3787
- }
3788
- try {
3789
- const item = {
3790
- cached: Math.floor(Date.now() / hour),
3791
- provider,
3792
- data
3793
- };
3794
- func.setItem(cachePrefix + index.toString(), JSON.stringify(item));
3795
- } catch (err) {
3796
- return false;
3797
- }
3798
- return true;
3799
- }
3800
- if (!Object.keys(data.icons).length) {
3801
- return;
3802
- }
3803
- if (data.not_found) {
3804
- data = Object.assign({}, data);
3805
- delete data.not_found;
3806
- }
3807
- if (!store("local")) {
3808
- store("session");
3809
- }
3810
- };
3811
-
3812
- const separator = /[\s,]+/;
3813
- function flipFromString(custom, flip) {
3814
- flip.split(separator).forEach((str) => {
3815
- const value = str.trim();
3816
- switch (value) {
3817
- case "horizontal":
3818
- custom.hFlip = true;
3819
- break;
3820
- case "vertical":
3821
- custom.vFlip = true;
3822
- break;
3823
- }
3824
- });
3825
- }
3826
- function alignmentFromString(custom, align) {
3827
- align.split(separator).forEach((str) => {
3828
- const value = str.trim();
3829
- switch (value) {
3830
- case "left":
3831
- case "center":
3832
- case "right":
3833
- custom.hAlign = value;
3834
- break;
3835
- case "top":
3836
- case "middle":
3837
- case "bottom":
3838
- custom.vAlign = value;
3839
- break;
3840
- case "slice":
3841
- case "crop":
3842
- custom.slice = true;
3843
- break;
3844
- case "meet":
3845
- custom.slice = false;
3846
- }
3847
- });
3848
- }
3849
-
3850
- function rotateFromString(value, defaultValue = 0) {
3851
- const units = value.replace(/^-?[0-9.]*/, "");
3852
- function cleanup(value2) {
3853
- while (value2 < 0) {
3854
- value2 += 4;
3855
- }
3856
- return value2 % 4;
3857
- }
3858
- if (units === "") {
3859
- const num = parseInt(value);
3860
- return isNaN(num) ? 0 : cleanup(num);
3861
- } else if (units !== value) {
3862
- let split = 0;
3863
- switch (units) {
3864
- case "%":
3865
- split = 25;
3866
- break;
3867
- case "deg":
3868
- split = 90;
3869
- }
3870
- if (split) {
3871
- let num = parseFloat(value.slice(0, value.length - units.length));
3872
- if (isNaN(num)) {
3873
- return 0;
3874
- }
3875
- num = num / split;
3876
- return num % 1 === 0 ? cleanup(num) : 0;
3877
- }
3878
- }
3879
- return defaultValue;
3880
- }
3881
-
3882
- /**
3883
- * Default SVG attributes
3884
- */
3885
- const svgDefaults = {
3886
- 'xmlns': 'http://www.w3.org/2000/svg',
3887
- 'xmlnsXlink': 'http://www.w3.org/1999/xlink',
3888
- 'aria-hidden': true,
3889
- 'role': 'img',
3890
- 'style': {}, // Include style if it isn't set to add verticalAlign later
3891
- };
3892
- /**
3893
- * Default values for customisations for inline icon
3894
- */
3895
- const inlineDefaults = { ...defaults, inline: true };
3896
- /**
3897
- * Render icon
3898
- */
3899
- const render = (
3900
- // Icon must be validated before calling this function
3901
- icon,
3902
- // Partial properties
3903
- props,
3904
- // True if icon should have vertical-align added
3905
- inline,
3906
- // Optional reference for SVG, extracted by React.forwardRef()
3907
- ref) => {
3908
- // Get default properties
3909
- const defaultProps = inline ? inlineDefaults : defaults;
3910
- // Get all customisations
3911
- const customisations = mergeCustomisations(defaultProps, props);
3912
- // Create style
3913
- const style = typeof props.style === 'object' && props.style !== null
3914
- ? props.style
3915
- : {};
3916
- // Create SVG component properties
3917
- const componentProps = { ...svgDefaults, ref, style };
3918
- // Get element properties
3919
- for (let key in props) {
3920
- const value = props[key];
3921
- if (value === void 0) {
3922
- continue;
3923
- }
3924
- switch (key) {
3925
- // Properties to ignore
3926
- case 'icon':
3927
- case 'style':
3928
- case 'children':
3929
- case 'onLoad':
3930
- case '_ref':
3931
- case '_inline':
3932
- break;
3933
- // Boolean attributes
3934
- case 'inline':
3935
- case 'hFlip':
3936
- case 'vFlip':
3937
- customisations[key] =
3938
- value === true || value === 'true' || value === 1;
3939
- break;
3940
- // Flip as string: 'horizontal,vertical'
3941
- case 'flip':
3942
- if (typeof value === 'string') {
3943
- flipFromString(customisations, value);
3944
- }
3945
- break;
3946
- // Alignment as string
3947
- case 'align':
3948
- if (typeof value === 'string') {
3949
- alignmentFromString(customisations, value);
3950
- }
3951
- break;
3952
- // Color: copy to style
3953
- case 'color':
3954
- style.color = value;
3955
- break;
3956
- // Rotation as string
3957
- case 'rotate':
3958
- if (typeof value === 'string') {
3959
- customisations[key] = rotateFromString(value);
3960
- }
3961
- else if (typeof value === 'number') {
3962
- customisations[key] = value;
3963
- }
3964
- break;
3965
- // Remove aria-hidden
3966
- case 'ariaHidden':
3967
- case 'aria-hidden':
3968
- if (value !== true && value !== 'true') {
3969
- delete componentProps['aria-hidden'];
3970
- }
3971
- break;
3972
- // Copy missing property if it does not exist in customisations
3973
- default:
3974
- if (defaultProps[key] === void 0) {
3975
- componentProps[key] = value;
3976
- }
3977
- }
3978
- }
3979
- // Generate icon
3980
- const item = iconToSVG(icon, customisations);
3981
- // Counter for ids based on "id" property to render icons consistently on server and client
3982
- let localCounter = 0;
3983
- let id = props.id;
3984
- if (typeof id === 'string') {
3985
- // Convert '-' to '_' to avoid errors in animations
3986
- id = id.replace(/-/g, '_');
3987
- }
3988
- // Add icon stuff
3989
- componentProps.dangerouslySetInnerHTML = {
3990
- __html: replaceIDs(item.body, id ? () => id + 'ID' + localCounter++ : 'iconifyReact'),
3991
- };
3992
- for (let key in item.attributes) {
3993
- componentProps[key] = item.attributes[key];
3994
- }
3995
- if (item.inline && style.verticalAlign === void 0) {
3996
- style.verticalAlign = '-0.125em';
3997
- }
3998
- return React__default["default"].createElement('svg', componentProps);
3999
- };
4000
- /**
4001
- * Initialise stuff
4002
- */
4003
- // Enable short names
4004
- allowSimpleNames(true);
4005
- // Set API module
4006
- setAPIModule('', fetchAPIModule);
4007
- /**
4008
- * Browser stuff
4009
- */
4010
- if (typeof document !== 'undefined' && typeof window !== 'undefined') {
4011
- // Set cache and load existing cache
4012
- cache.store = storeCache;
4013
- loadCache();
4014
- const _window = window;
4015
- // Load icons from global "IconifyPreload"
4016
- if (_window.IconifyPreload !== void 0) {
4017
- const preload = _window.IconifyPreload;
4018
- const err = 'Invalid IconifyPreload syntax.';
4019
- if (typeof preload === 'object' && preload !== null) {
4020
- (preload instanceof Array ? preload : [preload]).forEach((item) => {
4021
- try {
4022
- if (
4023
- // Check if item is an object and not null/array
4024
- typeof item !== 'object' ||
4025
- item === null ||
4026
- item instanceof Array ||
4027
- // Check for 'icons' and 'prefix'
4028
- typeof item.icons !== 'object' ||
4029
- typeof item.prefix !== 'string' ||
4030
- // Add icon set
4031
- !addCollection(item)) {
4032
- console.error(err);
4033
- }
4034
- }
4035
- catch (e) {
4036
- console.error(err);
4037
- }
4038
- });
4039
- }
4040
- }
4041
- // Set API from global "IconifyProviders"
4042
- if (_window.IconifyProviders !== void 0) {
4043
- const providers = _window.IconifyProviders;
4044
- if (typeof providers === 'object' && providers !== null) {
4045
- for (let key in providers) {
4046
- const err = 'IconifyProviders[' + key + '] is invalid.';
4047
- try {
4048
- const value = providers[key];
4049
- if (typeof value !== 'object' ||
4050
- !value ||
4051
- value.resources === void 0) {
4052
- continue;
4053
- }
4054
- if (!addAPIProvider(key, value)) {
4055
- console.error(err);
4056
- }
4057
- }
4058
- catch (e) {
4059
- console.error(err);
4060
- }
4061
- }
4062
- }
4063
- }
4064
- }
4065
- class IconComponent extends React__default["default"].Component {
4066
- constructor(props) {
4067
- super(props);
4068
- this.state = {
4069
- // Render placeholder before component is mounted
4070
- icon: null,
4071
- };
4072
- }
4073
- /**
4074
- * Abort loading icon
4075
- */
4076
- _abortLoading() {
4077
- if (this._loading) {
4078
- this._loading.abort();
4079
- this._loading = null;
4080
- }
4081
- }
4082
- /**
4083
- * Update state
4084
- */
4085
- _setData(icon) {
4086
- if (this.state.icon !== icon) {
4087
- this.setState({
4088
- icon,
4089
- });
4090
- }
4091
- }
4092
- /**
4093
- * Check if icon should be loaded
4094
- */
4095
- _checkIcon(changed) {
4096
- const state = this.state;
4097
- const icon = this.props.icon;
4098
- // Icon is an object
4099
- if (typeof icon === 'object' &&
4100
- icon !== null &&
4101
- typeof icon.body === 'string') {
4102
- // Stop loading
4103
- this._icon = '';
4104
- this._abortLoading();
4105
- if (changed || state.icon === null) {
4106
- // Set data if it was changed
4107
- this._setData({
4108
- data: fullIcon(icon),
4109
- });
4110
- }
4111
- return;
4112
- }
4113
- // Invalid icon?
4114
- let iconName;
4115
- if (typeof icon !== 'string' ||
4116
- (iconName = stringToIcon(icon, false, true)) === null) {
4117
- this._abortLoading();
4118
- this._setData(null);
4119
- return;
4120
- }
4121
- // Load icon
4122
- const data = getIconData(iconName);
4123
- if (data === null) {
4124
- // Icon needs to be loaded
4125
- if (!this._loading || this._loading.name !== icon) {
4126
- // New icon to load
4127
- this._abortLoading();
4128
- this._icon = '';
4129
- this._setData(null);
4130
- this._loading = {
4131
- name: icon,
4132
- abort: loadIcons([iconName], this._checkIcon.bind(this, false)),
4133
- };
4134
- }
4135
- return;
4136
- }
4137
- // Icon data is available
4138
- if (this._icon !== icon || state.icon === null) {
4139
- // New icon or icon has been loaded
4140
- this._abortLoading();
4141
- this._icon = icon;
4142
- // Add classes
4143
- const classes = ['iconify'];
4144
- if (iconName.prefix !== '') {
4145
- classes.push('iconify--' + iconName.prefix);
4146
- }
4147
- if (iconName.provider !== '') {
4148
- classes.push('iconify--' + iconName.provider);
4149
- }
4150
- // Set data
4151
- this._setData({
4152
- data,
4153
- classes,
4154
- });
4155
- if (this.props.onLoad) {
4156
- this.props.onLoad(icon);
4157
- }
4158
- }
4159
- }
4160
- /**
4161
- * Component mounted
4162
- */
4163
- componentDidMount() {
4164
- this._checkIcon(false);
4165
- }
4166
- /**
4167
- * Component updated
4168
- */
4169
- componentDidUpdate(oldProps) {
4170
- if (oldProps.icon !== this.props.icon) {
4171
- this._checkIcon(true);
4172
- }
4173
- }
4174
- /**
4175
- * Abort loading
4176
- */
4177
- componentWillUnmount() {
4178
- this._abortLoading();
4179
- }
4180
- /**
4181
- * Render
4182
- */
4183
- render() {
4184
- const props = this.props;
4185
- const icon = this.state.icon;
4186
- if (icon === null) {
4187
- // Render placeholder
4188
- return props.children
4189
- ? props.children
4190
- : React__default["default"].createElement('span', {});
4191
- }
4192
- // Add classes
4193
- let newProps = props;
4194
- if (icon.classes) {
4195
- newProps = {
4196
- ...props,
4197
- className: (typeof props.className === 'string'
4198
- ? props.className + ' '
4199
- : '') + icon.classes.join(' '),
4200
- };
4201
- }
4202
- // Render icon
4203
- return render(icon.data, newProps, props._inline, props._ref);
4204
- }
4205
- }
4206
- /**
4207
- * Block icon
4208
- *
4209
- * @param props - Component properties
4210
- */
4211
- const Icon = React__default["default"].forwardRef(function Icon(props, ref) {
4212
- const newProps = {
4213
- ...props,
4214
- _ref: ref,
4215
- _inline: false,
4216
- };
4217
- return React__default["default"].createElement(IconComponent, newProps);
4218
- });
4219
- /**
4220
- * Inline icon (has negative verticalAlign that makes it behave like icon font)
4221
- *
4222
- * @param props - Component properties
4223
- */
4224
- React__default["default"].forwardRef(function InlineIcon(props, ref) {
4225
- const newProps = { ...props, _ref: ref, _inline: true };
4226
- return React__default["default"].createElement(IconComponent, newProps);
4227
- });
4228
-
4229
- var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6;
4230
- function DmButton(props) {
4231
- var _useAccount = wagmi.useAccount(),
4232
- wagmiAddress = _useAccount.address;
4233
-
4234
- var _useSignMessage = wagmi.useSignMessage();
4235
- _useSignMessage.signMessageAsync;
4236
-
4237
- var _useState = React.useState(0),
4238
- _useState2 = _slicedToArray(_useState, 2),
4239
- numberOfNotifications = _useState2[0],
4240
- setNumberOfNotifications = _useState2[1];
4241
-
4242
- var mainUrl = "https://nftychat-staging.herokuapp.com";
4243
-
4244
- var _useState3 = React.useState(null),
4245
- _useState4 = _slicedToArray(_useState3, 2);
4246
- _useState4[0];
4247
- _useState4[1];
4248
-
4249
- var _useState5 = React.useState(""),
4250
- _useState6 = _slicedToArray(_useState5, 2);
4251
- _useState6[0];
4252
- _useState6[1];
4253
-
4254
- var _useState7 = React.useState(null),
4255
- _useState8 = _slicedToArray(_useState7, 2);
4256
- _useState8[0];
4257
- var setPopoverAnchor = _useState8[1]; // const displayName = "Poapdispenser.eth";
4258
- // const address = "0x11B002247efc78A149F4e6aDc9F143b47bE9123D"
4259
-
4260
-
4261
- React.useEffect(function () {
4262
- fetch(mainUrl + "/v1/unread_message_count?address=" + props.address, {
4263
- method: "get"
4264
- }).then(function (payload) {
4265
- return payload.json();
4266
- }).then(function (data) {
4267
- setNumberOfNotifications(data);
4268
- });
4269
- }, [props.address]); // useEffect to close popover if user is same as props.address
4270
-
4271
- React.useEffect(function () {
4272
- if (props.address === wagmiAddress) {
4273
- setPopoverAnchor(null);
4274
- }
4275
- }, [props.address, wagmiAddress]);
4276
-
4277
- return /*#__PURE__*/require$$18.jsx(rainbowkit.ConnectButton.Custom, {
4278
- children: function children(_ref) {
4279
- var openConnectModal = _ref.openConnectModal;
4280
- return /*#__PURE__*/require$$18.jsx("div", {
4281
- className: css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n position: relative;\n "]))),
4282
- children: /*#__PURE__*/require$$18.jsxs("button", {
4283
- className: css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n align-items: center;\n background-color: white;\n border-radius: 9999px;\n border: none;\n box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1),\n 0 2px 4px -2px rgb(0 0 0 / 0.1);\n color: #467ee5;\n cursor: pointer;\n display: flex;\n font-family: Inter, sans-serif;\n gap: 8px;\n justify-content: center;\n padding: 8px 16px;\n transition: color 200ms, background-color 200ms;\n &:hover {\n background-color: #f9fafb;\n }\n "]))),
4284
- type: "button",
4285
- onClick: function onClick(event) {
4286
- if (wagmiAddress === props.address) {
4287
- window.open("https://nftychat.xyz/dms", "_blank");
4288
- } else {
4289
- if (!wagmiAddress) {
4290
- openConnectModal();
4291
- }
4292
-
4293
- setPopoverAnchor(event.currentTarget);
4294
- }
4295
- },
4296
- children: [/*#__PURE__*/require$$18.jsxs("div", {
4297
- className: css(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n align-items: center;\n display: flex;\n height: 24px;\n justify-content: center;\n position: relative;\n width: 24px;\n "]))),
4298
- children: [numberOfNotifications > 0 && /*#__PURE__*/require$$18.jsx("div", {
4299
- className: css(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n align-items: center;\n background-color: #fa2449;\n border-radius: 9999px;\n color: white;\n display: flex;\n font-size: 10px;\n height: 14px;\n justify-content: center;\n position: absolute;\n right: -4px;\n top: -4px;\n width: 14px;\n "]))),
4300
- children: numberOfNotifications
4301
- }), /*#__PURE__*/require$$18.jsx(Icon, {
4302
- className: css(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["\n height: 100%;\n width: 100%;\n "]))),
4303
- icon: "ant-design:message-outlined"
4304
- })]
4305
- }), /*#__PURE__*/require$$18.jsx("span", {
4306
- className: css(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral(["\n font-size: 16px;\n font-weight: 400;\n "]))),
4307
- children: wagmiAddress === props.address ? "Check Messages" : "DM ".concat(props.displayName)
4308
- })]
4309
- })
4310
- });
4311
- }
4312
- });
4313
- }
4314
-
4315
- var _configureChains = wagmi.configureChains([wagmi.chain.mainnet, wagmi.chain.polygon, wagmi.chain.optimism, wagmi.chain.arbitrum], [_public.publicProvider()]),
4316
- chains = _configureChains.chains,
4317
- provider = _configureChains.provider;
4318
-
4319
- var _getDefaultWallets = rainbowkit.getDefaultWallets({
4320
- appName: "nftyembed",
4321
- chains: chains
4322
- }),
4323
- connectors = _getDefaultWallets.connectors;
4324
-
4325
- var wagmiClient = wagmi.createClient({
4326
- autoConnect: true,
4327
- connectors: connectors,
4328
- provider: provider
4329
- });
4330
- function UniversalDm(props) {
4331
- return /*#__PURE__*/require$$18.jsx(wagmi.WagmiConfig, {
4332
- client: wagmiClient,
4333
- children: /*#__PURE__*/require$$18.jsxs(rainbowkit.RainbowKitProvider, {
4334
- chains: chains,
4335
- children: [/*#__PURE__*/require$$18.jsx(Ie, {}), /*#__PURE__*/require$$18.jsx(DmButton, {
4336
- address: props.address,
4337
- displayName: props.displayName
4338
- })]
4339
- })
4340
- });
4341
- }
4342
-
4343
- exports.UniversalDm = UniversalDm;