react-session.manager.sk 3.0.0 → 3.0.2
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.
- package/README.md +29 -6
- package/dist/index.js +2 -1
- package/dist/index.js.LICENSE.txt +9 -0
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -17,6 +17,7 @@ A React context provider for managing token-based user sessions in applications
|
|
|
17
17
|
- [Version Protection](#version-protection)
|
|
18
18
|
- [Axios Interceptors](#axios-interceptors)
|
|
19
19
|
- [Toast Notifications](#toast-notifications)
|
|
20
|
+
- [Development](#development)
|
|
20
21
|
- [Dependencies](#dependencies)
|
|
21
22
|
- [License](#license)
|
|
22
23
|
|
|
@@ -29,7 +30,7 @@ A React context provider for managing token-based user sessions in applications
|
|
|
29
30
|
- **Cross-tab synchronisation** — a login in one tab is picked up by all open tabs
|
|
30
31
|
- **Device fingerprinting** — generates a stable `deviceUID` and attaches it to every request header
|
|
31
32
|
- **App version enforcement** — detects when the server requires a newer client version and prompts the user to update
|
|
32
|
-
- **Axios interceptor** — centrally handles `
|
|
33
|
+
- **Axios interceptor** — centrally handles `401`, `403`, `426`, `455`, `500`, `503`, and network/timeout errors
|
|
33
34
|
- **Toast notifications** via [react-toastify](https://fkhadra.github.io/react-toastify/) for session, connection, and version events
|
|
34
35
|
- **Role-based access** helper via the `hasRole` context function
|
|
35
36
|
|
|
@@ -162,14 +163,36 @@ The provider registers a response interceptor on `AuthenticatedAxiosObject`:
|
|
|
162
163
|
|
|
163
164
|
| Status | Behaviour |
|
|
164
165
|
|---|---|
|
|
165
|
-
| `
|
|
166
|
-
| `
|
|
167
|
-
|
|
|
168
|
-
| `
|
|
166
|
+
| `401` | Unauthorized — clears auth state via `onSessionExpired` and shows an error toast. |
|
|
167
|
+
| `403` | Forbidden — shows an error toast. Auth state is not cleared. |
|
|
168
|
+
| `426` | App version too old — triggers the version protection flow described above. |
|
|
169
|
+
| `455` | Session no longer valid — clears auth state and shows an info toast prompting re-login. |
|
|
170
|
+
| `500` | Internal server error — shows an error toast. |
|
|
171
|
+
| `503` | Service unavailable — shows an error toast. |
|
|
172
|
+
| Timeout (`ECONNABORTED` / `ETIMEDOUT`) | Shows an error toast telling the user the server is taking too long to respond. |
|
|
173
|
+
| No response (other network error) | Shows an error toast telling the user the server is not responding. |
|
|
174
|
+
| `ERR_CANCELED` / `canceled` | Silently ignored (e.g. aborted requests). |
|
|
169
175
|
|
|
170
176
|
### Toast Notifications
|
|
171
177
|
|
|
172
|
-
All notifications are rendered via a `<ToastContainer>` mounted inside the provider. You can customise its behaviour with the `toastOptions` prop
|
|
178
|
+
All notifications are rendered via a `<ToastContainer>` mounted inside the provider. You can customise its behaviour with the `toastOptions` prop — it accepts any props that `<ToastContainer>` accepts, including `toastClassName` for custom CSS classes.
|
|
179
|
+
|
|
180
|
+
---
|
|
181
|
+
|
|
182
|
+
## Development
|
|
183
|
+
|
|
184
|
+
```bash
|
|
185
|
+
# Install dependencies
|
|
186
|
+
npm ci
|
|
187
|
+
|
|
188
|
+
# Run the test suite (Node ≥ 22 required)
|
|
189
|
+
npm test
|
|
190
|
+
|
|
191
|
+
# Build the distributable bundle
|
|
192
|
+
npm run build
|
|
193
|
+
```
|
|
194
|
+
|
|
195
|
+
Tests live in the `tests/` directory and use Node's built-in `node:test` runner. The CI workflow runs tests in a dedicated **test** job before **build-and-publish**, so a failing test blocks the release.
|
|
173
196
|
|
|
174
197
|
---
|
|
175
198
|
|
package/dist/index.js
CHANGED
|
@@ -1 +1,2 @@
|
|
|
1
|
-
import{cloneElement as t,createContext as n,default as e,isValidElement as o,useCallback as a,useEffect as i,useLayoutEffect as r,useRef as s,useState as l,useSyncExternalStore as c}from"react";var f={126(t,n,e){t.exports=function(t){var n={};function e(o){if(n[o])return n[o].exports;var a=n[o]={i:o,l:!1,exports:{}};return t[o].call(a.exports,a,a.exports,e),a.l=!0,a.exports}return e.m=t,e.c=n,e.d=function(t,n,o){e.o(t,n)||Object.defineProperty(t,n,{enumerable:!0,get:o})},e.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},e.t=function(t,n){if(1&n&&(t=e(t)),8&n)return t;if(4&n&&"object"==typeof t&&t&&t.__esModule)return t;var o=Object.create(null);if(e.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:t}),2&n&&"string"!=typeof t)for(var a in t)e.d(o,a,function(n){return t[n]}.bind(null,a));return o},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,"a",n),n},e.o=function(t,n){return Object.prototype.hasOwnProperty.call(t,n)},e.p="",e(e.s=0)}([function(t,n,e){var o,a,i=e(1)(),r=e(3),s=e(4),l=e(6),c=function(){var t=new s;return o=t.getResult(),a=new l,this};c.prototype={getSoftwareVersion:function(){return"0.1.11"},getBrowserData:function(){return o},getFingerprint:function(){var t="|",n=o.ua,e=this.getScreenPrint(),a=this.getPlugins(),i=this.getFonts(),s=this.isLocalStorage(),l=this.isSessionStorage(),c=this.getTimeZone(),f=this.getLanguage(),d=this.getSystemLanguage(),u=this.isCookie(),m=this.getCanvasPrint();return r(n+t+e+t+a+t+i+t+s+t+l+t+c+t+f+t+d+t+u+t+m,256)},getCustomFingerprint:function(){for(var t="",n=0;n<arguments.length;n++)t+=arguments[n]+"|";return r(t,256)},getUserAgent:function(){return o.ua},getUserAgentLowerCase:function(){return o.ua.toLowerCase()},getBrowser:function(){return o.browser.name},getBrowserVersion:function(){return o.browser.version},getBrowserMajorVersion:function(){return o.browser.major},isIE:function(){return/IE/i.test(o.browser.name)},isChrome:function(){return/Chrome/i.test(o.browser.name)},isFirefox:function(){return/Firefox/i.test(o.browser.name)},isSafari:function(){return/Safari/i.test(o.browser.name)},isMobileSafari:function(){return/Mobile\sSafari/i.test(o.browser.name)},isOpera:function(){return/Opera/i.test(o.browser.name)},getEngine:function(){return o.engine.name},getEngineVersion:function(){return o.engine.version},getOS:function(){return o.os.name},getOSVersion:function(){return o.os.version},isWindows:function(){return/Windows/i.test(o.os.name)},isMac:function(){return/Mac/i.test(o.os.name)},isLinux:function(){return/Linux/i.test(o.os.name)},isUbuntu:function(){return/Ubuntu/i.test(o.os.name)},isSolaris:function(){return/Solaris/i.test(o.os.name)},getDevice:function(){return o.device.model},getDeviceType:function(){return o.device.type},getDeviceVendor:function(){return o.device.vendor},getCPU:function(){return o.cpu.architecture},isMobile:function(){var t=o.ua||navigator.vendor||window.opera;return/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i.test(t)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(t.substr(0,4))},isMobileMajor:function(){return this.isMobileAndroid()||this.isMobileBlackBerry()||this.isMobileIOS()||this.isMobileOpera()||this.isMobileWindows()},isMobileAndroid:function(){return!!o.ua.match(/Android/i)},isMobileOpera:function(){return!!o.ua.match(/Opera Mini/i)},isMobileWindows:function(){return!!o.ua.match(/IEMobile/i)},isMobileBlackBerry:function(){return!!o.ua.match(/BlackBerry/i)},isMobileIOS:function(){return!!o.ua.match(/iPhone|iPad|iPod/i)},isIphone:function(){return!!o.ua.match(/iPhone/i)},isIpad:function(){return!!o.ua.match(/iPad/i)},isIpod:function(){return!!o.ua.match(/iPod/i)},getScreenPrint:function(){return"Current Resolution: "+this.getCurrentResolution()+", Available Resolution: "+this.getAvailableResolution()+", Color Depth: "+this.getColorDepth()+", Device XDPI: "+this.getDeviceXDPI()+", Device YDPI: "+this.getDeviceYDPI()},getColorDepth:function(){return screen.colorDepth},getCurrentResolution:function(){return screen.width+"x"+screen.height},getAvailableResolution:function(){return screen.availWidth+"x"+screen.availHeight},getDeviceXDPI:function(){return screen.deviceXDPI},getDeviceYDPI:function(){return screen.deviceYDPI},getPlugins:function(){for(var t="",n=0;n<navigator.plugins.length;n++)n==navigator.plugins.length-1?t+=navigator.plugins[n].name:t+=navigator.plugins[n].name+", ";return t},isJava:function(){return navigator.javaEnabled()},getJavaVersion:function(){throw new Error("Please use client.java.js or client.js if you need this functionality!")},isFlash:function(){return!!navigator.plugins["Shockwave Flash"]},getFlashVersion:function(){throw new Error("Please use client.flash.js or client.js if you need this functionality!")},isSilverlight:function(){return!!navigator.plugins["Silverlight Plug-In"]},getSilverlightVersion:function(){return this.isSilverlight()?navigator.plugins["Silverlight Plug-In"].description:""},isMimeTypes:function(){return!(!navigator.mimeTypes||!navigator.mimeTypes.length)},getMimeTypes:function(){var t="";if(navigator.mimeTypes)for(var n=0;n<navigator.mimeTypes.length;n++)n==navigator.mimeTypes.length-1?t+=navigator.mimeTypes[n].description:t+=navigator.mimeTypes[n].description+", ";return t},isFont:function(t){return a.detect(t)},getFonts:function(){for(var t=["Abadi MT Condensed Light","Adobe Fangsong Std","Adobe Hebrew","Adobe Ming Std","Agency FB","Aharoni","Andalus","Angsana New","AngsanaUPC","Aparajita","Arab","Arabic Transparent","Arabic Typesetting","Arial Baltic","Arial Black","Arial CE","Arial CYR","Arial Greek","Arial TUR","Arial","Batang","BatangChe","Bauhaus 93","Bell MT","Bitstream Vera Serif","Bodoni MT","Bookman Old Style","Braggadocio","Broadway","Browallia New","BrowalliaUPC","Calibri Light","Calibri","Californian FB","Cambria Math","Cambria","Candara","Castellar","Casual","Centaur","Century Gothic","Chalkduster","Colonna MT","Comic Sans MS","Consolas","Constantia","Copperplate Gothic Light","Corbel","Cordia New","CordiaUPC","Courier New Baltic","Courier New CE","Courier New CYR","Courier New Greek","Courier New TUR","Courier New","DFKai-SB","DaunPenh","David","DejaVu LGC Sans Mono","Desdemona","DilleniaUPC","DokChampa","Dotum","DotumChe","Ebrima","Engravers MT","Eras Bold ITC","Estrangelo Edessa","EucrosiaUPC","Euphemia","Eurostile","FangSong","Forte","FrankRuehl","Franklin Gothic Heavy","Franklin Gothic Medium","FreesiaUPC","French Script MT","Gabriola","Gautami","Georgia","Gigi","Gisha","Goudy Old Style","Gulim","GulimChe","GungSeo","Gungsuh","GungsuhChe","Haettenschweiler","Harrington","Hei S","HeiT","Heisei Kaku Gothic","Hiragino Sans GB","Impact","Informal Roman","IrisUPC","Iskoola Pota","JasmineUPC","KacstOne","KaiTi","Kalinga","Kartika","Khmer UI","Kino MT","KodchiangUPC","Kokila","Kozuka Gothic Pr6N","Lao UI","Latha","Leelawadee","Levenim MT","LilyUPC","Lohit Gujarati","Loma","Lucida Bright","Lucida Console","Lucida Fax","Lucida Sans Unicode","MS Gothic","MS Mincho","MS PGothic","MS PMincho","MS Reference Sans Serif","MS UI Gothic","MV Boli","Magneto","Malgun Gothic","Mangal","Marlett","Matura MT Script Capitals","Meiryo UI","Meiryo","Menlo","Microsoft Himalaya","Microsoft JhengHei","Microsoft New Tai Lue","Microsoft PhagsPa","Microsoft Sans Serif","Microsoft Tai Le","Microsoft Uighur","Microsoft YaHei","Microsoft Yi Baiti","MingLiU","MingLiU-ExtB","MingLiU_HKSCS","MingLiU_HKSCS-ExtB","Miriam Fixed","Miriam","Mongolian Baiti","MoolBoran","NSimSun","Narkisim","News Gothic MT","Niagara Solid","Nyala","PMingLiU","PMingLiU-ExtB","Palace Script MT","Palatino Linotype","Papyrus","Perpetua","Plantagenet Cherokee","Playbill","Prelude Bold","Prelude Condensed Bold","Prelude Condensed Medium","Prelude Medium","PreludeCompressedWGL Black","PreludeCompressedWGL Bold","PreludeCompressedWGL Light","PreludeCompressedWGL Medium","PreludeCondensedWGL Black","PreludeCondensedWGL Bold","PreludeCondensedWGL Light","PreludeCondensedWGL Medium","PreludeWGL Black","PreludeWGL Bold","PreludeWGL Light","PreludeWGL Medium","Raavi","Rachana","Rockwell","Rod","Sakkal Majalla","Sawasdee","Script MT Bold","Segoe Print","Segoe Script","Segoe UI Light","Segoe UI Semibold","Segoe UI Symbol","Segoe UI","Shonar Bangla","Showcard Gothic","Shruti","SimHei","SimSun","SimSun-ExtB","Simplified Arabic Fixed","Simplified Arabic","Snap ITC","Sylfaen","Symbol","Tahoma","Times New Roman Baltic","Times New Roman CE","Times New Roman CYR","Times New Roman Greek","Times New Roman TUR","Times New Roman","TlwgMono","Traditional Arabic","Trebuchet MS","Tunga","Tw Cen MT Condensed Extra Bold","Ubuntu","Umpush","Univers","Utopia","Utsaah","Vani","Verdana","Vijaya","Vladimir Script","Vrinda","Webdings","Wide Latin","Wingdings"],n="",e=0;e<t.length;e++)a.detect(t[e])&&(n+=e==t.length-1?t[e]:t[e]+", ");return n},isLocalStorage:function(){try{return!!i.localStorage}catch(t){return!0}},isSessionStorage:function(){try{return!!i.sessionStorage}catch(t){return!0}},isCookie:function(){return navigator.cookieEnabled},getTimeZone:function(){var t,n;return t=new Date,(n=String(-t.getTimezoneOffset()/60))<0?"-"+("0"+(n*=-1)).slice(-2):"+"+("0"+n).slice(-2)},getLanguage:function(){return navigator.language},getSystemLanguage:function(){return navigator.systemLanguage||window.navigator.language},isCanvas:function(){var t=document.createElement("canvas");try{return!(!t.getContext||!t.getContext("2d"))}catch(t){return!1}},getCanvasPrint:function(){var t,n=document.createElement("canvas");try{t=n.getContext("2d")}catch(t){return""}var e="ClientJS,org <canvas> 1.0";return t.textBaseline="top",t.font="14px 'Arial'",t.textBaseline="alphabetic",t.fillStyle="#f60",t.fillRect(125,1,62,20),t.fillStyle="#069",t.fillText(e,2,15),t.fillStyle="rgba(102, 204, 0, 0.7)",t.fillText(e,4,17),n.toDataURL()}},n.ClientJS=c},function(t,n,o){var a=o(2);t.exports=function(){return"object"==typeof e.g&&e.g&&e.g.Math===Math&&e.g.Array===Array?e.g:a}},function(t,n,e){"undefined"!=typeof self?t.exports=self:"undefined"!=typeof window?t.exports=window:t.exports=Function("return this")()},function(t,n,e){t.exports=function(t,n){var e,o,a,i,r,s,l,c;for(e=3&t.length,o=t.length-e,a=n,r=3432918353,s=461845907,c=0;c<o;)l=255&t.charCodeAt(c)|(255&t.charCodeAt(++c))<<8|(255&t.charCodeAt(++c))<<16|(255&t.charCodeAt(++c))<<24,++c,a=27492+(65535&(i=5*(65535&(a=(a^=l=(65535&(l=(l=(65535&l)*r+(((l>>>16)*r&65535)<<16)&4294967295)<<15|l>>>17))*s+(((l>>>16)*s&65535)<<16)&4294967295)<<13|a>>>19))+((5*(a>>>16)&65535)<<16)&4294967295))+((58964+(i>>>16)&65535)<<16);switch(l=0,e){case 3:l^=(255&t.charCodeAt(c+2))<<16;case 2:l^=(255&t.charCodeAt(c+1))<<8;case 1:a^=l=(65535&(l=(l=(65535&(l^=255&t.charCodeAt(c)))*r+(((l>>>16)*r&65535)<<16)&4294967295)<<15|l>>>17))*s+(((l>>>16)*s&65535)<<16)&4294967295}return a^=t.length,a=2246822507*(65535&(a^=a>>>16))+((2246822507*(a>>>16)&65535)<<16)&4294967295,a=3266489909*(65535&(a^=a>>>13))+((3266489909*(a>>>16)&65535)<<16)&4294967295,(a^=a>>>16)>>>0}},function(t,n,e){var o;!function(a,i){var r="function",s="undefined",l="object",c="string",f="model",d="name",u="type",m="vendor",p="version",y="architecture",g="console",b="mobile",h="tablet",v="smarttv",_="wearable",w="embedded",T="Amazon",x="Apple",k="ASUS",I="BlackBerry",S="Google",E="Huawei",C="LG",L="Microsoft",M="Motorola",R="Samsung",O="Sony",A="Xiaomi",P="Zebra",z="Facebook",B=function(t){var n={};for(var e in t)n[t[e].toUpperCase()]=t[e];return n},D=function(t,n){return typeof t===c&&-1!==U(n).indexOf(U(t))},U=function(t){return t.toLowerCase()},N=function(t,n){if(typeof t===c)return t=t.replace(/^\s\s*/,"").replace(/\s\s*$/,""),typeof n===s?t:t.substring(0,255)},j=function(t,n){for(var e,o,a,s,c,f,d=0;d<n.length&&!c;){var u=n[d],m=n[d+1];for(e=o=0;e<u.length&&!c;)if(c=u[e++].exec(t))for(a=0;a<m.length;a++)f=c[++o],typeof(s=m[a])===l&&s.length>0?2==s.length?typeof s[1]==r?this[s[0]]=s[1].call(this,f):this[s[0]]=s[1]:3==s.length?typeof s[1]!==r||s[1].exec&&s[1].test?this[s[0]]=f?f.replace(s[1],s[2]):i:this[s[0]]=f?s[1].call(this,f,s[2]):i:4==s.length&&(this[s[0]]=f?s[3].call(this,f.replace(s[1],s[2])):i):this[s]=f||i;d+=2}},F=function(t,n){for(var e in n)if(typeof n[e]===l&&n[e].length>0){for(var o=0;o<n[e].length;o++)if(D(n[e][o],t))return"?"===e?i:e}else if(D(n[e],t))return"?"===e?i:e;return t},V={ME:"4.90","NT 3.11":"NT3.51","NT 4.0":"NT4.0",2e3:"NT 5.0",XP:["NT 5.1","NT 5.2"],Vista:"NT 6.0",7:"NT 6.1",8:"NT 6.2",8.1:"NT 6.3",10:["NT 6.4","NT 10.0"],RT:"ARM"},G={browser:[[/\b(?:crmo|crios)\/([\w\.]+)/i],[p,[d,"Chrome"]],[/edg(?:e|ios|a)?\/([\w\.]+)/i],[p,[d,"Edge"]],[/(opera mini)\/([-\w\.]+)/i,/(opera [mobiletab]{3,6})\b.+version\/([-\w\.]+)/i,/(opera)(?:.+version\/|[\/ ]+)([\w\.]+)/i],[d,p],[/opios[\/ ]+([\w\.]+)/i],[p,[d,"Opera Mini"]],[/\bopr\/([\w\.]+)/i],[p,[d,"Opera"]],[/(kindle)\/([\w\.]+)/i,/(lunascape|maxthon|netfront|jasmine|blazer)[\/ ]?([\w\.]*)/i,/(avant |iemobile|slim)(?:browser)?[\/ ]?([\w\.]*)/i,/(ba?idubrowser)[\/ ]?([\w\.]+)/i,/(?:ms|\()(ie) ([\w\.]+)/i,/(flock|rockmelt|midori|epiphany|silk|skyfire|ovibrowser|bolt|iron|vivaldi|iridium|phantomjs|bowser|quark|qupzilla|falkon|rekonq|puffin|brave|whale|qqbrowserlite|qq)\/([-\w\.]+)/i,/(weibo)__([\d\.]+)/i],[d,p],[/(?:\buc? ?browser|(?:juc.+)ucweb)[\/ ]?([\w\.]+)/i],[p,[d,"UCBrowser"]],[/\bqbcore\/([\w\.]+)/i],[p,[d,"WeChat(Win) Desktop"]],[/micromessenger\/([\w\.]+)/i],[p,[d,"WeChat"]],[/konqueror\/([\w\.]+)/i],[p,[d,"Konqueror"]],[/trident.+rv[: ]([\w\.]{1,9})\b.+like gecko/i],[p,[d,"IE"]],[/yabrowser\/([\w\.]+)/i],[p,[d,"Yandex"]],[/(avast|avg)\/([\w\.]+)/i],[[d,/(.+)/,"$1 Secure Browser"],p],[/\bfocus\/([\w\.]+)/i],[p,[d,"Firefox Focus"]],[/\bopt\/([\w\.]+)/i],[p,[d,"Opera Touch"]],[/coc_coc\w+\/([\w\.]+)/i],[p,[d,"Coc Coc"]],[/dolfin\/([\w\.]+)/i],[p,[d,"Dolphin"]],[/coast\/([\w\.]+)/i],[p,[d,"Opera Coast"]],[/miuibrowser\/([\w\.]+)/i],[p,[d,"MIUI Browser"]],[/fxios\/([-\w\.]+)/i],[p,[d,"Firefox"]],[/\bqihu|(qi?ho?o?|360)browser/i],[[d,"360 Browser"]],[/(oculus|samsung|sailfish)browser\/([\w\.]+)/i],[[d,/(.+)/,"$1 Browser"],p],[/(comodo_dragon)\/([\w\.]+)/i],[[d,/_/g," "],p],[/(electron)\/([\w\.]+) safari/i,/(tesla)(?: qtcarbrowser|\/(20\d\d\.[-\w\.]+))/i,/m?(qqbrowser|baiduboxapp|2345Explorer)[\/ ]?([\w\.]+)/i],[d,p],[/(metasr)[\/ ]?([\w\.]+)/i,/(lbbrowser)/i],[d],[/((?:fban\/fbios|fb_iab\/fb4a)(?!.+fbav)|;fbav\/([\w\.]+);)/i],[[d,z],p],[/safari (line)\/([\w\.]+)/i,/\b(line)\/([\w\.]+)\/iab/i,/(chromium|instagram)[\/ ]([-\w\.]+)/i],[d,p],[/\bgsa\/([\w\.]+) .*safari\//i],[p,[d,"GSA"]],[/headlesschrome(?:\/([\w\.]+)| )/i],[p,[d,"Chrome Headless"]],[/ wv\).+(chrome)\/([\w\.]+)/i],[[d,"Chrome WebView"],p],[/droid.+ version\/([\w\.]+)\b.+(?:mobile safari|safari)/i],[p,[d,"Android Browser"]],[/(chrome|omniweb|arora|[tizenoka]{5} ?browser)\/v?([\w\.]+)/i],[d,p],[/version\/([\w\.]+) .*mobile\/\w+ (safari)/i],[p,[d,"Mobile Safari"]],[/version\/([\w\.]+) .*(mobile ?safari|safari)/i],[p,d],[/webkit.+?(mobile ?safari|safari)(\/[\w\.]+)/i],[d,[p,F,{"1.0":"/8",1.2:"/1",1.3:"/3","2.0":"/412","2.0.2":"/416","2.0.3":"/417","2.0.4":"/419","?":"/"}]],[/(webkit|khtml)\/([\w\.]+)/i],[d,p],[/(navigator|netscape\d?)\/([-\w\.]+)/i],[[d,"Netscape"],p],[/mobile vr; rv:([\w\.]+)\).+firefox/i],[p,[d,"Firefox Reality"]],[/ekiohf.+(flow)\/([\w\.]+)/i,/(swiftfox)/i,/(icedragon|iceweasel|camino|chimera|fennec|maemo browser|minimo|conkeror|klar)[\/ ]?([\w\.\+]+)/i,/(seamonkey|k-meleon|icecat|iceape|firebird|phoenix|palemoon|basilisk|waterfox)\/([-\w\.]+)$/i,/(firefox)\/([\w\.]+)/i,/(mozilla)\/([\w\.]+) .+rv\:.+gecko\/\d+/i,/(polaris|lynx|dillo|icab|doris|amaya|w3m|netsurf|sleipnir|obigo|mosaic|(?:go|ice|up)[\. ]?browser)[-\/ ]?v?([\w\.]+)/i,/(links) \(([\w\.]+)/i],[d,p]],cpu:[[/(?:(amd|x(?:(?:86|64)[-_])?|wow|win)64)[;\)]/i],[[y,"amd64"]],[/(ia32(?=;))/i],[[y,U]],[/((?:i[346]|x)86)[;\)]/i],[[y,"ia32"]],[/\b(aarch64|arm(v?8e?l?|_?64))\b/i],[[y,"arm64"]],[/\b(arm(?:v[67])?ht?n?[fl]p?)\b/i],[[y,"armhf"]],[/windows (ce|mobile); ppc;/i],[[y,"arm"]],[/((?:ppc|powerpc)(?:64)?)(?: mac|;|\))/i],[[y,/ower/,"",U]],[/(sun4\w)[;\)]/i],[[y,"sparc"]],[/((?:avr32|ia64(?=;))|68k(?=\))|\barm(?=v(?:[1-7]|[5-7]1)l?|;|eabi)|(?=atmel )avr|(?:irix|mips|sparc)(?:64)?\b|pa-risc)/i],[[y,U]]],device:[[/\b(sch-i[89]0\d|shw-m380s|sm-[pt]\w{2,4}|gt-[pn]\d{2,4}|sgh-t8[56]9|nexus 10)/i],[f,[m,R],[u,h]],[/\b((?:s[cgp]h|gt|sm)-\w+|galaxy nexus)/i,/samsung[- ]([-\w]+)/i,/sec-(sgh\w+)/i],[f,[m,R],[u,b]],[/\((ip(?:hone|od)[\w ]*);/i],[f,[m,x],[u,b]],[/\((ipad);[-\w\),; ]+apple/i,/applecoremedia\/[\w\.]+ \((ipad)/i,/\b(ipad)\d\d?,\d\d?[;\]].+ios/i],[f,[m,x],[u,h]],[/\b((?:ag[rs][23]?|bah2?|sht?|btv)-a?[lw]\d{2})\b(?!.+d\/s)/i],[f,[m,E],[u,h]],[/(?:huawei|honor)([-\w ]+)[;\)]/i,/\b(nexus 6p|\w{2,4}-[atu]?[ln][01259x][012359][an]?)\b(?!.+d\/s)/i],[f,[m,E],[u,b]],[/\b(poco[\w ]+)(?: bui|\))/i,/\b; (\w+) build\/hm\1/i,/\b(hm[-_ ]?note?[_ ]?(?:\d\w)?) bui/i,/\b(redmi[\-_ ]?(?:note|k)?[\w_ ]+)(?: bui|\))/i,/\b(mi[-_ ]?(?:a\d|one|one[_ ]plus|note lte|max)?[_ ]?(?:\d?\w?)[_ ]?(?:plus|se|lite)?)(?: bui|\))/i],[[f,/_/g," "],[m,A],[u,b]],[/\b(mi[-_ ]?(?:pad)(?:[\w_ ]+))(?: bui|\))/i],[[f,/_/g," "],[m,A],[u,h]],[/; (\w+) bui.+ oppo/i,/\b(cph[12]\d{3}|p(?:af|c[al]|d\w|e[ar])[mt]\d0|x9007)\b/i],[f,[m,"OPPO"],[u,b]],[/vivo (\w+)(?: bui|\))/i,/\b(v[12]\d{3}\w?[at])(?: bui|;)/i],[f,[m,"Vivo"],[u,b]],[/\b(rmx[12]\d{3})(?: bui|;|\))/i],[f,[m,"Realme"],[u,b]],[/\b(milestone|droid(?:[2-4x]| (?:bionic|x2|pro|razr))?:?( 4g)?)\b[\w ]+build\//i,/\bmot(?:orola)?[- ](\w*)/i,/((?:moto[\w\(\) ]+|xt\d{3,4}|nexus 6)(?= bui|\)))/i],[f,[m,M],[u,b]],[/\b(mz60\d|xoom[2 ]{0,2}) build\//i],[f,[m,M],[u,h]],[/((?=lg)?[vl]k\-?\d{3}) bui| 3\.[-\w; ]{10}lg?-([06cv9]{3,4})/i],[f,[m,C],[u,h]],[/(lm(?:-?f100[nv]?|-[\w\.]+)(?= bui|\))|nexus [45])/i,/\blg[-e;\/ ]+((?!browser|netcast|android tv)\w+)/i,/\blg-?([\d\w]+) bui/i],[f,[m,C],[u,b]],[/(ideatab[-\w ]+)/i,/lenovo ?(s[56]000[-\w]+|tab(?:[\w ]+)|yt[-\d\w]{6}|tb[-\d\w]{6})/i],[f,[m,"Lenovo"],[u,h]],[/(?:maemo|nokia).*(n900|lumia \d+)/i,/nokia[-_ ]?([-\w\.]*)/i],[[f,/_/g," "],[m,"Nokia"],[u,b]],[/(pixel c)\b/i],[f,[m,S],[u,h]],[/droid.+; (pixel[\daxl ]{0,6})(?: bui|\))/i],[f,[m,S],[u,b]],[/droid.+ ([c-g]\d{4}|so[-gl]\w+|xq-a\w[4-7][12])(?= bui|\).+chrome\/(?![1-6]{0,1}\d\.))/i],[f,[m,O],[u,b]],[/sony tablet [ps]/i,/\b(?:sony)?sgp\w+(?: bui|\))/i],[[f,"Xperia Tablet"],[m,O],[u,h]],[/ (kb2005|in20[12]5|be20[12][59])\b/i,/(?:one)?(?:plus)? (a\d0\d\d)(?: b|\))/i],[f,[m,"OnePlus"],[u,b]],[/(alexa)webm/i,/(kf[a-z]{2}wi)( bui|\))/i,/(kf[a-z]+)( bui|\)).+silk\//i],[f,[m,T],[u,h]],[/((?:sd|kf)[0349hijorstuw]+)( bui|\)).+silk\//i],[[f,/(.+)/g,"Fire Phone $1"],[m,T],[u,b]],[/(playbook);[-\w\),; ]+(rim)/i],[f,m,[u,h]],[/\b((?:bb[a-f]|st[hv])100-\d)/i,/\(bb10; (\w+)/i],[f,[m,I],[u,b]],[/(?:\b|asus_)(transfo[prime ]{4,10} \w+|eeepc|slider \w+|nexus 7|padfone|p00[cj])/i],[f,[m,k],[u,h]],[/ (z[bes]6[027][012][km][ls]|zenfone \d\w?)\b/i],[f,[m,k],[u,b]],[/(nexus 9)/i],[f,[m,"HTC"],[u,h]],[/(htc)[-;_ ]{1,2}([\w ]+(?=\)| bui)|\w+)/i,/(zte)[- ]([\w ]+?)(?: bui|\/|\))/i,/(alcatel|geeksphone|nexian|panasonic|sony)[-_ ]?([-\w]*)/i],[m,[f,/_/g," "],[u,b]],[/droid.+; ([ab][1-7]-?[0178a]\d\d?)/i],[f,[m,"Acer"],[u,h]],[/droid.+; (m[1-5] note) bui/i,/\bmz-([-\w]{2,})/i],[f,[m,"Meizu"],[u,b]],[/\b(sh-?[altvz]?\d\d[a-ekm]?)/i],[f,[m,"Sharp"],[u,b]],[/(blackberry|benq|palm(?=\-)|sonyericsson|acer|asus|dell|meizu|motorola|polytron)[-_ ]?([-\w]*)/i,/(hp) ([\w ]+\w)/i,/(asus)-?(\w+)/i,/(microsoft); (lumia[\w ]+)/i,/(lenovo)[-_ ]?([-\w]+)/i,/(jolla)/i,/(oppo) ?([\w ]+) bui/i],[m,f,[u,b]],[/(archos) (gamepad2?)/i,/(hp).+(touchpad(?!.+tablet)|tablet)/i,/(kindle)\/([\w\.]+)/i,/(nook)[\w ]+build\/(\w+)/i,/(dell) (strea[kpr\d ]*[\dko])/i,/(le[- ]+pan)[- ]+(\w{1,9}) bui/i,/(trinity)[- ]*(t\d{3}) bui/i,/(gigaset)[- ]+(q\w{1,9}) bui/i,/(vodafone) ([\w ]+)(?:\)| bui)/i],[m,f,[u,h]],[/(surface duo)/i],[f,[m,L],[u,h]],[/droid [\d\.]+; (fp\du?)(?: b|\))/i],[f,[m,"Fairphone"],[u,b]],[/(u304aa)/i],[f,[m,"AT&T"],[u,b]],[/\bsie-(\w*)/i],[f,[m,"Siemens"],[u,b]],[/\b(rct\w+) b/i],[f,[m,"RCA"],[u,h]],[/\b(venue[\d ]{2,7}) b/i],[f,[m,"Dell"],[u,h]],[/\b(q(?:mv|ta)\w+) b/i],[f,[m,"Verizon"],[u,h]],[/\b(?:barnes[& ]+noble |bn[rt])([\w\+ ]*) b/i],[f,[m,"Barnes & Noble"],[u,h]],[/\b(tm\d{3}\w+) b/i],[f,[m,"NuVision"],[u,h]],[/\b(k88) b/i],[f,[m,"ZTE"],[u,h]],[/\b(nx\d{3}j) b/i],[f,[m,"ZTE"],[u,b]],[/\b(gen\d{3}) b.+49h/i],[f,[m,"Swiss"],[u,b]],[/\b(zur\d{3}) b/i],[f,[m,"Swiss"],[u,h]],[/\b((zeki)?tb.*\b) b/i],[f,[m,"Zeki"],[u,h]],[/\b([yr]\d{2}) b/i,/\b(dragon[- ]+touch |dt)(\w{5}) b/i],[[m,"Dragon Touch"],f,[u,h]],[/\b(ns-?\w{0,9}) b/i],[f,[m,"Insignia"],[u,h]],[/\b((nxa|next)-?\w{0,9}) b/i],[f,[m,"NextBook"],[u,h]],[/\b(xtreme\_)?(v(1[045]|2[015]|[3469]0|7[05])) b/i],[[m,"Voice"],f,[u,b]],[/\b(lvtel\-)?(v1[12]) b/i],[[m,"LvTel"],f,[u,b]],[/\b(ph-1) /i],[f,[m,"Essential"],[u,b]],[/\b(v(100md|700na|7011|917g).*\b) b/i],[f,[m,"Envizen"],[u,h]],[/\b(trio[-\w\. ]+) b/i],[f,[m,"MachSpeed"],[u,h]],[/\btu_(1491) b/i],[f,[m,"Rotor"],[u,h]],[/(shield[\w ]+) b/i],[f,[m,"Nvidia"],[u,h]],[/(sprint) (\w+)/i],[m,f,[u,b]],[/(kin\.[onetw]{3})/i],[[f,/\./g," "],[m,L],[u,b]],[/droid.+; (cc6666?|et5[16]|mc[239][23]x?|vc8[03]x?)\)/i],[f,[m,P],[u,h]],[/droid.+; (ec30|ps20|tc[2-8]\d[kx])\)/i],[f,[m,P],[u,b]],[/(ouya)/i,/(nintendo) ([wids3utch]+)/i],[m,f,[u,g]],[/droid.+; (shield) bui/i],[f,[m,"Nvidia"],[u,g]],[/(playstation [345portablevi]+)/i],[f,[m,O],[u,g]],[/\b(xbox(?: one)?(?!; xbox))[\); ]/i],[f,[m,L],[u,g]],[/smart-tv.+(samsung)/i],[m,[u,v]],[/hbbtv.+maple;(\d+)/i],[[f,/^/,"SmartTV"],[m,R],[u,v]],[/(nux; netcast.+smarttv|lg (netcast\.tv-201\d|android tv))/i],[[m,C],[u,v]],[/(apple) ?tv/i],[m,[f,"Apple TV"],[u,v]],[/crkey/i],[[f,"Chromecast"],[m,S],[u,v]],[/droid.+aft(\w)( bui|\))/i],[f,[m,T],[u,v]],[/\(dtv[\);].+(aquos)/i],[f,[m,"Sharp"],[u,v]],[/\b(roku)[\dx]*[\)\/]((?:dvp-)?[\d\.]*)/i,/hbbtv\/\d+\.\d+\.\d+ +\([\w ]*; *(\w[^;]*);([^;]*)/i],[[m,N],[f,N],[u,v]],[/\b(android tv|smart[- ]?tv|opera tv|tv; rv:)\b/i],[[u,v]],[/((pebble))app/i],[m,f,[u,_]],[/droid.+; (glass) \d/i],[f,[m,S],[u,_]],[/droid.+; (wt63?0{2,3})\)/i],[f,[m,P],[u,_]],[/(quest( 2)?)/i],[f,[m,z],[u,_]],[/(tesla)(?: qtcarbrowser|\/[-\w\.]+)/i],[m,[u,w]],[/droid .+?; ([^;]+?)(?: bui|\) applew).+? mobile safari/i],[f,[u,b]],[/droid .+?; ([^;]+?)(?: bui|\) applew).+?(?! mobile) safari/i],[f,[u,h]],[/\b((tablet|tab)[;\/]|focus\/\d(?!.+mobile))/i],[[u,h]],[/(phone|mobile(?:[;\/]| safari)|pda(?=.+windows ce))/i],[[u,b]],[/(android[-\w\. ]{0,9});.+buil/i],[f,[m,"Generic"]]],engine:[[/windows.+ edge\/([\w\.]+)/i],[p,[d,"EdgeHTML"]],[/webkit\/537\.36.+chrome\/(?!27)([\w\.]+)/i],[p,[d,"Blink"]],[/(presto)\/([\w\.]+)/i,/(webkit|trident|netfront|netsurf|amaya|lynx|w3m|goanna)\/([\w\.]+)/i,/ekioh(flow)\/([\w\.]+)/i,/(khtml|tasman|links)[\/ ]\(?([\w\.]+)/i,/(icab)[\/ ]([23]\.[\d\.]+)/i],[d,p],[/rv\:([\w\.]{1,9})\b.+(gecko)/i],[p,d]],os:[[/microsoft (windows) (vista|xp)/i],[d,p],[/(windows) nt 6\.2; (arm)/i,/(windows (?:phone(?: os)?|mobile))[\/ ]?([\d\.\w ]*)/i,/(windows)[\/ ]?([ntce\d\. ]+\w)(?!.+xbox)/i],[d,[p,F,V]],[/(win(?=3|9|n)|win 9x )([nt\d\.]+)/i],[[d,"Windows"],[p,F,V]],[/ip[honead]{2,4}\b(?:.*os ([\w]+) like mac|; opera)/i,/cfnetwork\/.+darwin/i],[[p,/_/g,"."],[d,"iOS"]],[/(mac os x) ?([\w\. ]*)/i,/(macintosh|mac_powerpc\b)(?!.+haiku)/i],[[d,"Mac OS"],[p,/_/g,"."]],[/droid ([\w\.]+)\b.+(android[- ]x86)/i],[p,d],[/(android|webos|qnx|bada|rim tablet os|maemo|meego|sailfish)[-\/ ]?([\w\.]*)/i,/(blackberry)\w*\/([\w\.]*)/i,/(tizen|kaios)[\/ ]([\w\.]+)/i,/\((series40);/i],[d,p],[/\(bb(10);/i],[p,[d,I]],[/(?:symbian ?os|symbos|s60(?=;)|series60)[-\/ ]?([\w\.]*)/i],[p,[d,"Symbian"]],[/mozilla\/[\d\.]+ \((?:mobile|tablet|tv|mobile; [\w ]+); rv:.+ gecko\/([\w\.]+)/i],[p,[d,"Firefox OS"]],[/web0s;.+rt(tv)/i,/\b(?:hp)?wos(?:browser)?\/([\w\.]+)/i],[p,[d,"webOS"]],[/crkey\/([\d\.]+)/i],[p,[d,"Chromecast"]],[/(cros) [\w]+ ([\w\.]+\w)/i],[[d,"Chromium OS"],p],[/(nintendo|playstation) ([wids345portablevuch]+)/i,/(xbox); +xbox ([^\);]+)/i,/\b(joli|palm)\b ?(?:os)?\/?([\w\.]*)/i,/(mint)[\/\(\) ]?(\w*)/i,/(mageia|vectorlinux)[; ]/i,/([kxln]?ubuntu|debian|suse|opensuse|gentoo|arch(?= linux)|slackware|fedora|mandriva|centos|pclinuxos|red ?hat|zenwalk|linpus|raspbian|plan 9|minix|risc os|contiki|deepin|manjaro|elementary os|sabayon|linspire)(?: gnu\/linux)?(?: enterprise)?(?:[- ]linux)?(?:-gnu)?[-\/ ]?(?!chrom|package)([-\w\.]*)/i,/(hurd|linux) ?([\w\.]*)/i,/(gnu) ?([\w\.]*)/i,/\b([-frentopcghs]{0,5}bsd|dragonfly)[\/ ]?(?!amd|[ix346]{1,2}86)([\w\.]*)/i,/(haiku) (\w+)/i],[d,p],[/(sunos) ?([\w\.\d]*)/i],[[d,"Solaris"],p],[/((?:open)?solaris)[-\/ ]?([\w\.]*)/i,/(aix) ((\d)(?=\.|\)| )[\w\.])*/i,/\b(beos|os\/2|amigaos|morphos|openvms|fuchsia|hp-ux)/i,/(unix) ?([\w\.]*)/i],[d,p]]},H=function(t,n){if(typeof t===l&&(n=t,t=i),!(this instanceof H))return new H(t,n).getResult();var e=t||(typeof a!==s&&a.navigator&&a.navigator.userAgent?a.navigator.userAgent:""),o=n?function(t,n){var e={};for(var o in t)n[o]&&n[o].length%2==0?e[o]=n[o].concat(t[o]):e[o]=t[o];return e}(G,n):G;return this.getBrowser=function(){var t,n={};return n.name=i,n.version=i,j.call(n,e,o.browser),n.major=typeof(t=n.version)===c?t.replace(/[^\d\.]/g,"").split(".")[0]:i,n},this.getCPU=function(){var t={};return t.architecture=i,j.call(t,e,o.cpu),t},this.getDevice=function(){var t={};return t.vendor=i,t.model=i,t.type=i,j.call(t,e,o.device),t},this.getEngine=function(){var t={};return t.name=i,t.version=i,j.call(t,e,o.engine),t},this.getOS=function(){var t={};return t.name=i,t.version=i,j.call(t,e,o.os),t},this.getResult=function(){return{ua:this.getUA(),browser:this.getBrowser(),engine:this.getEngine(),os:this.getOS(),device:this.getDevice(),cpu:this.getCPU()}},this.getUA=function(){return e},this.setUA=function(t){return e=typeof t===c&&t.length>255?N(t,255):t,this},this.setUA(e),this};H.VERSION="0.7.30",H.BROWSER=B([d,p,"major"]),H.CPU=B([y]),H.DEVICE=B([f,m,u,g,b,v,h,_,w]),H.ENGINE=H.OS=B([d,p]),typeof n!==s?(typeof t!==s&&t.exports&&(n=t.exports=H),n.UAParser=H):e(5)?(o=function(){return H}.call(n,e,n,t))===i||(t.exports=o):typeof a!==s&&(a.UAParser=H);var q=typeof a!==s&&(a.jQuery||a.Zepto);if(q&&!q.ua){var $=new H;q.ua=$.getResult(),q.ua.get=function(){return $.getUA()},q.ua.set=function(t){$.setUA(t);var n=$.getResult();for(var e in n)q.ua[e]=n[e]}}}("object"==typeof window?window:this)},function(t,n){(function(n){t.exports=n}).call(this,{})},function(t,n){t.exports=function(){var t=["monospace","sans-serif","serif"],n=document.getElementsByTagName("body")[0],e=document.createElement("span");e.style.fontSize="72px",e.innerHTML="mmmmmmmmmmlli";var o={},a={};for(var i in t)e.style.fontFamily=t[i],n.appendChild(e),o[t[i]]=e.offsetWidth,a[t[i]]=e.offsetHeight,n.removeChild(e);this.detect=function(i){var r=!1;for(var s in t){e.style.fontFamily=i+","+t[s],n.appendChild(e);var l=e.offsetWidth!=o[t[s]]||e.offsetHeight!=a[t[s]];n.removeChild(e),r=r||l}return r}}}])},750(t,n,e){var o=e(601),a=e.n(o),i=e(314);e.n(i)()(a()).push([t.id,":root {\n --toastify-color-light: #fff;\n --toastify-color-dark: #121212;\n --toastify-color-info: #3498db;\n --toastify-color-success: #07bc0c;\n --toastify-color-warning: #f1c40f;\n --toastify-color-error: hsl(6, 78%, 57%);\n --toastify-color-transparent: rgba(255, 255, 255, 0.7);\n\n --toastify-icon-color-info: var(--toastify-color-info);\n --toastify-icon-color-success: var(--toastify-color-success);\n --toastify-icon-color-warning: var(--toastify-color-warning);\n --toastify-icon-color-error: var(--toastify-color-error);\n\n --toastify-container-width: fit-content;\n --toastify-toast-width: 320px;\n --toastify-toast-offset: 16px;\n --toastify-toast-top: max(var(--toastify-toast-offset), env(safe-area-inset-top));\n --toastify-toast-right: max(var(--toastify-toast-offset), env(safe-area-inset-right));\n --toastify-toast-left: max(var(--toastify-toast-offset), env(safe-area-inset-left));\n --toastify-toast-bottom: max(var(--toastify-toast-offset), env(safe-area-inset-bottom));\n --toastify-toast-background: #fff;\n --toastify-toast-padding: 14px;\n --toastify-toast-min-height: 64px;\n --toastify-toast-max-height: 800px;\n --toastify-toast-bd-radius: 6px;\n --toastify-toast-shadow: 0px 4px 12px rgba(0, 0, 0, 0.1);\n --toastify-font-family: sans-serif;\n --toastify-z-index: 9999;\n --toastify-text-color-light: #757575;\n --toastify-text-color-dark: #fff;\n\n /* Used only for colored theme */\n --toastify-text-color-info: #fff;\n --toastify-text-color-success: #fff;\n --toastify-text-color-warning: #fff;\n --toastify-text-color-error: #fff;\n\n --toastify-spinner-color: #616161;\n --toastify-spinner-color-empty-area: #e0e0e0;\n --toastify-color-progress-light: linear-gradient(to right, #4cd964, #5ac8fa, #007aff, #34aadc, #5856d6, #ff2d55);\n --toastify-color-progress-dark: #bb86fc;\n --toastify-color-progress-info: var(--toastify-color-info);\n --toastify-color-progress-success: var(--toastify-color-success);\n --toastify-color-progress-warning: var(--toastify-color-warning);\n --toastify-color-progress-error: var(--toastify-color-error);\n /* used to control the opacity of the progress trail */\n --toastify-color-progress-bgo: 0.2;\n}\n\n.Toastify__toast-container {\n z-index: var(--toastify-z-index);\n -webkit-transform: translate3d(0, 0, var(--toastify-z-index));\n position: fixed;\n width: var(--toastify-container-width);\n box-sizing: border-box;\n color: #fff;\n display: flex;\n flex-direction: column;\n}\n\n.Toastify__toast-container--top-left {\n top: var(--toastify-toast-top);\n left: var(--toastify-toast-left);\n}\n.Toastify__toast-container--top-center {\n top: var(--toastify-toast-top);\n left: 50%;\n transform: translateX(-50%);\n align-items: center;\n}\n.Toastify__toast-container--top-right {\n top: var(--toastify-toast-top);\n right: var(--toastify-toast-right);\n align-items: end;\n}\n.Toastify__toast-container--bottom-left {\n bottom: var(--toastify-toast-bottom);\n left: var(--toastify-toast-left);\n}\n.Toastify__toast-container--bottom-center {\n bottom: var(--toastify-toast-bottom);\n left: 50%;\n transform: translateX(-50%);\n align-items: center;\n}\n.Toastify__toast-container--bottom-right {\n bottom: var(--toastify-toast-bottom);\n right: var(--toastify-toast-right);\n align-items: end;\n}\n\n.Toastify__toast {\n --y: 0px;\n position: relative;\n touch-action: none;\n width: var(--toastify-toast-width);\n min-height: var(--toastify-toast-min-height);\n box-sizing: border-box;\n margin-bottom: 1rem;\n padding: var(--toastify-toast-padding);\n border-radius: var(--toastify-toast-bd-radius);\n box-shadow: var(--toastify-toast-shadow);\n max-height: var(--toastify-toast-max-height);\n font-family: var(--toastify-font-family);\n /* webkit only issue #791 */\n z-index: 0;\n /* inner swag */\n display: flex;\n flex: 1 auto;\n align-items: center;\n word-break: break-word;\n}\n\n@media only screen and (max-width: 480px) {\n .Toastify__toast-container {\n width: 100vw;\n left: env(safe-area-inset-left);\n margin: 0;\n }\n .Toastify__toast-container--top-left,\n .Toastify__toast-container--top-center,\n .Toastify__toast-container--top-right {\n top: env(safe-area-inset-top);\n transform: translateX(0);\n }\n .Toastify__toast-container--bottom-left,\n .Toastify__toast-container--bottom-center,\n .Toastify__toast-container--bottom-right {\n bottom: env(safe-area-inset-bottom);\n transform: translateX(0);\n }\n .Toastify__toast-container--rtl {\n right: env(safe-area-inset-right);\n left: initial;\n }\n .Toastify__toast {\n --toastify-toast-width: 100%;\n margin-bottom: 0;\n border-radius: 0;\n }\n}\n\n.Toastify__toast-container[data-stacked='true'] {\n width: var(--toastify-toast-width);\n}\n\n@media only screen and (max-width: 480px) {\n .Toastify__toast-container[data-stacked='true'] {\n width: 100vw;\n }\n}\n\n.Toastify__toast--stacked {\n position: absolute;\n width: 100%;\n transform: translate3d(0, var(--y), 0) scale(var(--s));\n transition: transform 0.3s;\n}\n\n.Toastify__toast--stacked[data-collapsed] .Toastify__toast-body,\n.Toastify__toast--stacked[data-collapsed] .Toastify__close-button {\n transition: opacity 0.1s;\n}\n\n.Toastify__toast--stacked[data-collapsed='false'] {\n overflow: visible;\n}\n\n.Toastify__toast--stacked[data-collapsed='true']:not(:last-child) > * {\n opacity: 0;\n}\n\n.Toastify__toast--stacked:after {\n content: '';\n position: absolute;\n left: 0;\n right: 0;\n height: calc(var(--g) * 1px);\n bottom: 100%;\n}\n\n.Toastify__toast--stacked[data-pos='top'] {\n top: 0;\n}\n\n.Toastify__toast--stacked[data-pos='bot'] {\n bottom: 0;\n}\n\n.Toastify__toast--stacked[data-pos='bot'].Toastify__toast--stacked:before {\n transform-origin: top;\n}\n\n.Toastify__toast--stacked[data-pos='top'].Toastify__toast--stacked:before {\n transform-origin: bottom;\n}\n\n.Toastify__toast--stacked:before {\n content: '';\n position: absolute;\n left: 0;\n right: 0;\n bottom: 0;\n height: 100%;\n transform: scaleY(3);\n z-index: -1;\n}\n\n.Toastify__toast--rtl {\n direction: rtl;\n}\n\n.Toastify__toast--close-on-click {\n cursor: pointer;\n}\n\n.Toastify__toast-icon {\n margin-inline-end: 10px;\n width: 22px;\n flex-shrink: 0;\n display: flex;\n}\n\n.Toastify--animate {\n animation-fill-mode: both;\n animation-duration: 0.5s;\n}\n\n.Toastify--animate-icon {\n animation-fill-mode: both;\n animation-duration: 0.3s;\n}\n\n.Toastify__toast-theme--dark {\n background: var(--toastify-color-dark);\n color: var(--toastify-text-color-dark);\n}\n\n.Toastify__toast-theme--light {\n background: var(--toastify-color-light);\n color: var(--toastify-text-color-light);\n}\n\n.Toastify__toast-theme--colored.Toastify__toast--default {\n background: var(--toastify-color-light);\n color: var(--toastify-text-color-light);\n}\n\n.Toastify__toast-theme--colored.Toastify__toast--info {\n color: var(--toastify-text-color-info);\n background: var(--toastify-color-info);\n}\n\n.Toastify__toast-theme--colored.Toastify__toast--success {\n color: var(--toastify-text-color-success);\n background: var(--toastify-color-success);\n}\n\n.Toastify__toast-theme--colored.Toastify__toast--warning {\n color: var(--toastify-text-color-warning);\n background: var(--toastify-color-warning);\n}\n\n.Toastify__toast-theme--colored.Toastify__toast--error {\n color: var(--toastify-text-color-error);\n background: var(--toastify-color-error);\n}\n\n.Toastify__progress-bar-theme--light {\n background: var(--toastify-color-progress-light);\n}\n\n.Toastify__progress-bar-theme--dark {\n background: var(--toastify-color-progress-dark);\n}\n\n.Toastify__progress-bar--info {\n background: var(--toastify-color-progress-info);\n}\n\n.Toastify__progress-bar--success {\n background: var(--toastify-color-progress-success);\n}\n\n.Toastify__progress-bar--warning {\n background: var(--toastify-color-progress-warning);\n}\n\n.Toastify__progress-bar--error {\n background: var(--toastify-color-progress-error);\n}\n\n.Toastify__progress-bar-theme--colored.Toastify__progress-bar--info,\n.Toastify__progress-bar-theme--colored.Toastify__progress-bar--success,\n.Toastify__progress-bar-theme--colored.Toastify__progress-bar--warning,\n.Toastify__progress-bar-theme--colored.Toastify__progress-bar--error {\n background: var(--toastify-color-transparent);\n}\n\n.Toastify__close-button {\n color: #fff;\n position: absolute;\n top: 6px;\n right: 6px;\n background: transparent;\n outline: none;\n border: none;\n padding: 0;\n cursor: pointer;\n opacity: 0.7;\n transition: 0.3s ease;\n z-index: 1;\n}\n\n.Toastify__toast--rtl .Toastify__close-button {\n left: 6px;\n right: unset;\n}\n\n.Toastify__close-button--light {\n color: #000;\n opacity: 0.3;\n}\n\n.Toastify__close-button > svg {\n fill: currentColor;\n height: 16px;\n width: 14px;\n}\n\n.Toastify__close-button:hover,\n.Toastify__close-button:focus {\n opacity: 1;\n}\n\n@keyframes Toastify__trackProgress {\n 0% {\n transform: scaleX(1);\n }\n 100% {\n transform: scaleX(0);\n }\n}\n\n.Toastify__progress-bar {\n position: absolute;\n bottom: 0;\n left: 0;\n width: 100%;\n height: 100%;\n z-index: 1;\n opacity: 0.7;\n transform-origin: left;\n}\n\n.Toastify__progress-bar--animated {\n animation: Toastify__trackProgress linear 1 forwards;\n}\n\n.Toastify__progress-bar--controlled {\n transition: transform 0.2s;\n}\n\n.Toastify__progress-bar--rtl {\n right: 0;\n left: initial;\n transform-origin: right;\n border-bottom-left-radius: initial;\n}\n\n.Toastify__progress-bar--wrp {\n position: absolute;\n overflow: hidden;\n bottom: 0;\n left: 0;\n width: 100%;\n height: 5px;\n border-bottom-left-radius: var(--toastify-toast-bd-radius);\n border-bottom-right-radius: var(--toastify-toast-bd-radius);\n}\n\n.Toastify__progress-bar--wrp[data-hidden='true'] {\n opacity: 0;\n}\n\n.Toastify__progress-bar--bg {\n opacity: var(--toastify-color-progress-bgo);\n width: 100%;\n height: 100%;\n}\n\n.Toastify__spinner {\n width: 20px;\n height: 20px;\n box-sizing: border-box;\n border: 2px solid;\n border-radius: 100%;\n border-color: var(--toastify-spinner-color-empty-area);\n border-right-color: var(--toastify-spinner-color);\n animation: Toastify__spin 0.65s linear infinite;\n}\n\n@keyframes Toastify__bounceInRight {\n from,\n 60%,\n 75%,\n 90%,\n to {\n animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);\n }\n from {\n opacity: 0;\n transform: translate3d(3000px, 0, 0);\n }\n 60% {\n opacity: 1;\n transform: translate3d(-25px, 0, 0);\n }\n 75% {\n transform: translate3d(10px, 0, 0);\n }\n 90% {\n transform: translate3d(-5px, 0, 0);\n }\n to {\n transform: none;\n }\n}\n\n@keyframes Toastify__bounceOutRight {\n 20% {\n opacity: 1;\n transform: translate3d(-20px, var(--y), 0);\n }\n to {\n opacity: 0;\n transform: translate3d(2000px, var(--y), 0);\n }\n}\n\n@keyframes Toastify__bounceInLeft {\n from,\n 60%,\n 75%,\n 90%,\n to {\n animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);\n }\n 0% {\n opacity: 0;\n transform: translate3d(-3000px, 0, 0);\n }\n 60% {\n opacity: 1;\n transform: translate3d(25px, 0, 0);\n }\n 75% {\n transform: translate3d(-10px, 0, 0);\n }\n 90% {\n transform: translate3d(5px, 0, 0);\n }\n to {\n transform: none;\n }\n}\n\n@keyframes Toastify__bounceOutLeft {\n 20% {\n opacity: 1;\n transform: translate3d(20px, var(--y), 0);\n }\n to {\n opacity: 0;\n transform: translate3d(-2000px, var(--y), 0);\n }\n}\n\n@keyframes Toastify__bounceInUp {\n from,\n 60%,\n 75%,\n 90%,\n to {\n animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);\n }\n from {\n opacity: 0;\n transform: translate3d(0, 3000px, 0);\n }\n 60% {\n opacity: 1;\n transform: translate3d(0, -20px, 0);\n }\n 75% {\n transform: translate3d(0, 10px, 0);\n }\n 90% {\n transform: translate3d(0, -5px, 0);\n }\n to {\n transform: translate3d(0, 0, 0);\n }\n}\n\n@keyframes Toastify__bounceOutUp {\n 20% {\n transform: translate3d(0, calc(var(--y) - 10px), 0);\n }\n 40%,\n 45% {\n opacity: 1;\n transform: translate3d(0, calc(var(--y) + 20px), 0);\n }\n to {\n opacity: 0;\n transform: translate3d(0, -2000px, 0);\n }\n}\n\n@keyframes Toastify__bounceInDown {\n from,\n 60%,\n 75%,\n 90%,\n to {\n animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);\n }\n 0% {\n opacity: 0;\n transform: translate3d(0, -3000px, 0);\n }\n 60% {\n opacity: 1;\n transform: translate3d(0, 25px, 0);\n }\n 75% {\n transform: translate3d(0, -10px, 0);\n }\n 90% {\n transform: translate3d(0, 5px, 0);\n }\n to {\n transform: none;\n }\n}\n\n@keyframes Toastify__bounceOutDown {\n 20% {\n transform: translate3d(0, calc(var(--y) - 10px), 0);\n }\n 40%,\n 45% {\n opacity: 1;\n transform: translate3d(0, calc(var(--y) + 20px), 0);\n }\n to {\n opacity: 0;\n transform: translate3d(0, 2000px, 0);\n }\n}\n\n.Toastify__bounce-enter--top-left,\n.Toastify__bounce-enter--bottom-left {\n animation-name: Toastify__bounceInLeft;\n}\n\n.Toastify__bounce-enter--top-right,\n.Toastify__bounce-enter--bottom-right {\n animation-name: Toastify__bounceInRight;\n}\n\n.Toastify__bounce-enter--top-center {\n animation-name: Toastify__bounceInDown;\n}\n\n.Toastify__bounce-enter--bottom-center {\n animation-name: Toastify__bounceInUp;\n}\n\n.Toastify__bounce-exit--top-left,\n.Toastify__bounce-exit--bottom-left {\n animation-name: Toastify__bounceOutLeft;\n}\n\n.Toastify__bounce-exit--top-right,\n.Toastify__bounce-exit--bottom-right {\n animation-name: Toastify__bounceOutRight;\n}\n\n.Toastify__bounce-exit--top-center {\n animation-name: Toastify__bounceOutUp;\n}\n\n.Toastify__bounce-exit--bottom-center {\n animation-name: Toastify__bounceOutDown;\n}\n\n@keyframes Toastify__zoomIn {\n from {\n opacity: 0;\n transform: scale3d(0.3, 0.3, 0.3);\n }\n 50% {\n opacity: 1;\n }\n}\n\n@keyframes Toastify__zoomOut {\n from {\n opacity: 1;\n }\n 50% {\n opacity: 0;\n transform: translate3d(0, var(--y), 0) scale3d(0.3, 0.3, 0.3);\n }\n to {\n opacity: 0;\n }\n}\n\n.Toastify__zoom-enter {\n animation-name: Toastify__zoomIn;\n}\n\n.Toastify__zoom-exit {\n animation-name: Toastify__zoomOut;\n}\n\n@keyframes Toastify__flipIn {\n from {\n transform: perspective(400px) rotate3d(1, 0, 0, 90deg);\n animation-timing-function: ease-in;\n opacity: 0;\n }\n 40% {\n transform: perspective(400px) rotate3d(1, 0, 0, -20deg);\n animation-timing-function: ease-in;\n }\n 60% {\n transform: perspective(400px) rotate3d(1, 0, 0, 10deg);\n opacity: 1;\n }\n 80% {\n transform: perspective(400px) rotate3d(1, 0, 0, -5deg);\n }\n to {\n transform: perspective(400px);\n }\n}\n\n@keyframes Toastify__flipOut {\n from {\n transform: translate3d(0, var(--y), 0) perspective(400px);\n }\n 30% {\n transform: translate3d(0, var(--y), 0) perspective(400px) rotate3d(1, 0, 0, -20deg);\n opacity: 1;\n }\n to {\n transform: translate3d(0, var(--y), 0) perspective(400px) rotate3d(1, 0, 0, 90deg);\n opacity: 0;\n }\n}\n\n.Toastify__flip-enter {\n animation-name: Toastify__flipIn;\n}\n\n.Toastify__flip-exit {\n animation-name: Toastify__flipOut;\n}\n\n@keyframes Toastify__slideInRight {\n from {\n transform: translate3d(110%, 0, 0);\n visibility: visible;\n }\n to {\n transform: translate3d(0, var(--y), 0);\n }\n}\n\n@keyframes Toastify__slideInLeft {\n from {\n transform: translate3d(-110%, 0, 0);\n visibility: visible;\n }\n to {\n transform: translate3d(0, var(--y), 0);\n }\n}\n\n@keyframes Toastify__slideInUp {\n from {\n transform: translate3d(0, 110%, 0);\n visibility: visible;\n }\n to {\n transform: translate3d(0, var(--y), 0);\n }\n}\n\n@keyframes Toastify__slideInDown {\n from {\n transform: translate3d(0, -110%, 0);\n visibility: visible;\n }\n to {\n transform: translate3d(0, var(--y), 0);\n }\n}\n\n@keyframes Toastify__slideOutRight {\n from {\n transform: translate3d(0, var(--y), 0);\n }\n to {\n visibility: hidden;\n transform: translate3d(110%, var(--y), 0);\n }\n}\n\n@keyframes Toastify__slideOutLeft {\n from {\n transform: translate3d(0, var(--y), 0);\n }\n to {\n visibility: hidden;\n transform: translate3d(-110%, var(--y), 0);\n }\n}\n\n@keyframes Toastify__slideOutDown {\n from {\n transform: translate3d(0, var(--y), 0);\n }\n to {\n visibility: hidden;\n transform: translate3d(0, 500px, 0);\n }\n}\n\n@keyframes Toastify__slideOutUp {\n from {\n transform: translate3d(0, var(--y), 0);\n }\n to {\n visibility: hidden;\n transform: translate3d(0, -500px, 0);\n }\n}\n\n.Toastify__slide-enter--top-left,\n.Toastify__slide-enter--bottom-left {\n animation-name: Toastify__slideInLeft;\n}\n\n.Toastify__slide-enter--top-right,\n.Toastify__slide-enter--bottom-right {\n animation-name: Toastify__slideInRight;\n}\n\n.Toastify__slide-enter--top-center {\n animation-name: Toastify__slideInDown;\n}\n\n.Toastify__slide-enter--bottom-center {\n animation-name: Toastify__slideInUp;\n}\n\n.Toastify__slide-exit--top-left,\n.Toastify__slide-exit--bottom-left {\n animation-name: Toastify__slideOutLeft;\n animation-timing-function: ease-in;\n animation-duration: 0.3s;\n}\n\n.Toastify__slide-exit--top-right,\n.Toastify__slide-exit--bottom-right {\n animation-name: Toastify__slideOutRight;\n animation-timing-function: ease-in;\n animation-duration: 0.3s;\n}\n\n.Toastify__slide-exit--top-center {\n animation-name: Toastify__slideOutUp;\n animation-timing-function: ease-in;\n animation-duration: 0.3s;\n}\n\n.Toastify__slide-exit--bottom-center {\n animation-name: Toastify__slideOutDown;\n animation-timing-function: ease-in;\n animation-duration: 0.3s;\n}\n\n@keyframes Toastify__spin {\n from {\n transform: rotate(0deg);\n }\n to {\n transform: rotate(360deg);\n }\n}\n",""])},533(t,n,e){var o=e(601),a=e.n(o),i=e(314);e.n(i)()(a()).push([t.id,':root {\n --main: #303030;\n --themec: #303030;\n --default: #303030;\n --contrastText: "rgba(0, 0, 0, 0.87)";\n}\n\n.custToast {\n background: var(--themec) !important;\n}\n.custToast .Toastify__close-button {\n color: var(--main) !important;\n}\n\n.custToast.Toastify__toast--success {\n color: var(--success) !important;\n}\n.custToast.Toastify__toast--info {\n color: var(--info) !important;\n}\n.custToast.Toastify__toast--warning {\n color: var(--warning) !important;\n}\n.custToast.Toastify__toast--error {\n color: var(--error) !important;\n}\n\n.custToast .Toastify__progress-bar--success {\n background: var(--success) !important;\n}\n.custToast .Toastify__progress-bar--info {\n background: var(--info) !important;\n}\n.custToast .Toastify__progress-bar--warning {\n background: var(--warning) !important;\n}\n.custToast .Toastify__progress-bar--error {\n background: var(--error) !important;\n}\n\n.custToast.materialToast.Toastify__toast--success {\n background: var(--success) !important;\n color: var(--contrastText) !important;\n}\n.custToast.materialToast.Toastify__toast--info {\n background: var(--info) !important;\n color: var(--contrastText) !important;\n}\n.custToast.materialToast.Toastify__toast--warning {\n background: var(--warning) !important;\n color: var(--contrastText) !important;\n}\n.custToast.materialToast.Toastify__toast--error {\n background: var(--error) !important;\n color: var(--contrastText) !important;\n}\n',""])},314(t){t.exports=function(t){var n=[];return n.toString=function(){return this.map(function(n){var e="",o=void 0!==n[5];return n[4]&&(e+="@supports (".concat(n[4],") {")),n[2]&&(e+="@media ".concat(n[2]," {")),o&&(e+="@layer".concat(n[5].length>0?" ".concat(n[5]):""," {")),e+=t(n),o&&(e+="}"),n[2]&&(e+="}"),n[4]&&(e+="}"),e}).join("")},n.i=function(t,e,o,a,i){"string"==typeof t&&(t=[[null,t,void 0]]);var r={};if(o)for(var s=0;s<this.length;s++){var l=this[s][0];null!=l&&(r[l]=!0)}for(var c=0;c<t.length;c++){var f=[].concat(t[c]);o&&r[f[0]]||(void 0!==i&&(void 0===f[5]||(f[1]="@layer".concat(f[5].length>0?" ".concat(f[5]):""," {").concat(f[1],"}")),f[5]=i),e&&(f[2]?(f[1]="@media ".concat(f[2]," {").concat(f[1],"}"),f[2]=e):f[2]=e),a&&(f[4]?(f[1]="@supports (".concat(f[4],") {").concat(f[1],"}"),f[4]=a):f[4]="".concat(a)),n.push(f))}},n}},601(t){t.exports=function(t){return t[1]}}},d={};function u(t){var n=d[t];if(void 0!==n)return n.exports;var e=d[t]={id:t,exports:{}};return f[t].call(e.exports,e,e.exports,u),e.exports}function m(t){var n,e,o="";if("string"==typeof t||"number"==typeof t)o+=t;else if("object"==typeof t)if(Array.isArray(t)){var a=t.length;for(n=0;n<a;n++)t[n]&&(e=m(t[n]))&&(o&&(o+=" "),o+=e)}else for(e in t)t[e]&&(o&&(o+=" "),o+=e);return o}u.n=t=>{var n=t&&t.__esModule?()=>t.default:()=>t;return u.d(n,{a:n}),n},u.d=(t,n)=>{for(var e in n)u.o(n,e)&&!u.o(t,e)&&Object.defineProperty(t,e,{enumerable:!0,get:n[e]})},u.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),u.o=(t,n)=>Object.prototype.hasOwnProperty.call(t,n);const p=function(){for(var t,n,e=0,o="",a=arguments.length;e<a;e++)(t=arguments[e])&&(n=m(t))&&(o&&(o+=" "),o+=n);return o};var y=t=>"number"==typeof t&&!isNaN(t),g=t=>"string"==typeof t,b=t=>"function"==typeof t,h=t=>g(t)||b(t)?t:null,v=(t,n)=>!1===t||y(t)&&t>0?t:n,_=t=>o(t)||g(t)||b(t)||y(t);function w({enter:t,exit:n,appendPosition:o=!1,collapse:a=!0,collapseDuration:l=300}){return function({children:c,position:f,preventExitTransition:d,done:u,nodeRef:m,isIn:p,playToast:y}){let g=o?`${t}--${f}`:t,b=o?`${n}--${f}`:n,h=s(0);return r(()=>{let t=m.current,n=g.split(" "),e=o=>{o.target===m.current&&(y(),t.removeEventListener("animationend",e),t.removeEventListener("animationcancel",e),0===h.current&&"animationcancel"!==o.type&&t.classList.remove(...n))};t.classList.add(...n),t.addEventListener("animationend",e),t.addEventListener("animationcancel",e)},[]),i(()=>{let t=m.current,n=()=>{t.removeEventListener("animationend",n),a?function(t,n,e=300){let{scrollHeight:o,style:a}=t;requestAnimationFrame(()=>{a.minHeight="initial",a.height=o+"px",a.transition=`all ${e}ms`,requestAnimationFrame(()=>{a.height="0",a.padding="0",a.margin="0",setTimeout(n,e)})})}(t,u,l):u()};p||(d?n():(h.current=1,t.className+=` ${b}`,t.addEventListener("animationend",n)))},[p]),e.createElement(e.Fragment,null,c)}}function T(t,n){return{content:x(t.content,t.props),containerId:t.props.containerId,id:t.props.toastId,theme:t.props.theme,type:t.props.type,data:t.props.data||{},isLoading:t.props.isLoading,icon:t.props.icon,reason:t.removalReason,status:n}}function x(n,e,a=!1){return o(n)&&!g(n.type)?t(n,{closeToast:e.closeToast,toastProps:e,data:e.data,isPaused:a}):b(n)?n({closeToast:e.closeToast,toastProps:e,data:e.data,isPaused:a}):n}function k({delay:t,isRunning:n,closeToast:o,type:a="default",hide:i,className:r,controlledProgress:s,progress:l,rtl:c,isIn:f,theme:d}){let u=i||s&&0===l,m={animationDuration:`${t}ms`,animationPlayState:n?"running":"paused"};s&&(m.transform=`scaleX(${l})`);let y=p("Toastify__progress-bar",s?"Toastify__progress-bar--controlled":"Toastify__progress-bar--animated",`Toastify__progress-bar-theme--${d}`,`Toastify__progress-bar--${a}`,{"Toastify__progress-bar--rtl":c}),g=b(r)?r({rtl:c,type:a,defaultClassName:y}):p(y,r),h={[s&&l>=1?"onTransitionEnd":"onAnimationEnd"]:s&&l<1?null:()=>{f&&o()}};return e.createElement("div",{className:"Toastify__progress-bar--wrp","data-hidden":u},e.createElement("div",{className:`Toastify__progress-bar--bg Toastify__progress-bar-theme--${d} Toastify__progress-bar--${a}`}),e.createElement("div",{role:"progressbar","aria-hidden":u?"true":"false","aria-label":"notification timer","aria-valuenow":s?Math.round(100*l):void 0,"aria-valuemin":0,"aria-valuemax":100,className:g,style:m,...h}))}var I=1,S=()=>""+I++;var E=new Map,C=[],L=new Set,M=t=>L.forEach(n=>n(t)),R=()=>E.size>0;function O(t,n){var e;if(n)return!(null==(e=E.get(n))||!e.isToastActive(t));let o=!1;return E.forEach(n=>{n.isToastActive(t)&&(o=!0)}),o}function A(t,n){_(t)&&(R()||C.push({content:t,options:n}),E.forEach(e=>{e.buildToast(t,n)}))}function P(t,n){E.forEach(e=>{(null==n||null==n||!n.containerId||(null==n?void 0:n.containerId)===e.id)&&e.toggle(t,null==n?void 0:n.id)})}function z(t){let n=t.containerId||1;return{subscribe(e){let o=function(t,n,e){let o=1,a=0,i=[],r=[],s=n,l=new Map,c=new Set,f=()=>{r=Array.from(l.values()),c.forEach(t=>t())},d=t=>{var n,o;t.isActive&&(null==(o=null==(n=t.props)?void 0:n.onClose)||o.call(n,t.removalReason),t.isActive=!1,e(T(t,"removed")))},u=t=>{if(null==t)l.forEach(d);else{let n=l.get(t);n&&d(n)}f()},m=t=>{var n,o;let{toastId:a,updateId:i}=t.props,r=null==i;t.staleId&&l.delete(t.staleId),t.isActive=!0,l.set(a,t),f(),e(T(t,r?"added":"updated")),r&&(null==(o=(n=t.props).onOpen)||o.call(n))};return{id:t,props:s,observe:t=>(c.add(t),()=>c.delete(t)),toggle:(t,n)=>{l.forEach(e=>{var o;(null==n||n===e.props.toastId)&&(null==(o=e.toggle)||o.call(e,t))})},removeToast:u,toasts:l,clearQueue:()=>{a-=i.length,i=[]},buildToast:(n,e)=>{if((({containerId:n,toastId:e,updateId:o})=>{let a=n?n!==t:1!==t,i=l.has(e)&&null==o;return a||i})(e))return;let{toastId:r,updateId:c,data:d,staleId:p,delay:g}=e,b=null==c;b&&a++;let w={...s,style:s.toastStyle,key:o++,...Object.fromEntries(Object.entries(e).filter(([t,n])=>null!=n)),toastId:r,updateId:c,data:d,isIn:!1,className:h(e.className||s.toastClassName),progressClassName:h(e.progressClassName||s.progressClassName),autoClose:!e.isLoading&&v(e.autoClose,s.autoClose),closeToast(t){let n=l.get(r);n&&(n.removalReason=t,u(r))},deleteToast(){if(null!=l.get(r)){if(l.delete(r),a--,a<0&&(a=0),i.length>0)return void m(i.shift());f()}}};w.closeButton=s.closeButton,!1===e.closeButton||_(e.closeButton)?w.closeButton=e.closeButton:!0===e.closeButton&&(w.closeButton=!_(s.closeButton)||s.closeButton);let T={content:n,props:w,staleId:p};s.limit&&s.limit>0&&a>s.limit&&b?i.push(T):y(g)?setTimeout(()=>{m(T)},g):m(T)},setProps(t){s=t},setToggle:(t,n)=>{let e=l.get(t);e&&(e.toggle=n)},isToastActive:t=>{var n;return null==(n=l.get(t))?void 0:n.isActive},getSnapshot:()=>r}}(n,t,M);E.set(n,o);let a=o.observe(e);return C.forEach(t=>A(t.content,t.options)),C=[],()=>{a(),E.delete(n)}},setProps(t){var e;null==(e=E.get(n))||e.setProps(t)},getSnapshot(){var t;return null==(t=E.get(n))?void 0:t.getSnapshot()}}}function B(t){return t&&(g(t.toastId)||y(t.toastId))?t.toastId:S()}function D(t,n){return A(t,n),n.toastId}function U(t,n){return{...n,type:n&&n.type||t,toastId:B(n)}}function N(t){return(n,e)=>D(n,U(t,e))}function j(t,n){return D(t,U("default",n))}j.loading=(t,n)=>D(t,U("default",{isLoading:!0,autoClose:!1,closeOnClick:!1,closeButton:!1,draggable:!1,...n})),j.promise=function(t,{pending:n,error:e,success:o},a){let i;n&&(i=g(n)?j.loading(n,a):j.loading(n.render,{...a,...n}));let r={isLoading:null,autoClose:null,closeOnClick:null,closeButton:null,draggable:null},s=(t,n,e)=>{if(null==n)return void j.dismiss(i);let o={type:t,...r,...a,data:e},s=g(n)?{render:n}:n;return i?j.update(i,{...o,...s}):j(s.render,{...o,...s}),e},l=b(t)?t():t;return l.then(t=>s("success",o,t)).catch(t=>s("error",e,t)),l},j.success=N("success"),j.info=N("info"),j.error=N("error"),j.warning=N("warning"),j.warn=j.warning,j.dark=(t,n)=>D(t,U("default",{theme:"dark",...n})),j.dismiss=function(t){!function(t){if(R()){if(null==t||(t=>g(t)||y(t))(t))E.forEach(n=>{n.removeToast(t)});else if(t&&("containerId"in t||"id"in t)){let n=E.get(t.containerId);n?n.removeToast(t.id):E.forEach(n=>{n.removeToast(t.id)})}}else C=C.filter(n=>null!=t&&n.options.toastId!==t)}(t)},j.clearWaitingQueue=(t={})=>{E.forEach(n=>{n.props.limit&&(!t.containerId||n.id===t.containerId)&&n.clearQueue()})},j.isActive=O,j.update=(t,n={})=>{let e=((t,{containerId:n})=>{var e;return null==(e=E.get(n||1))?void 0:e.toasts.get(t)})(t,n);if(e){let{props:o,content:a}=e,i={delay:100,...o,...n,toastId:n.toastId||t,updateId:S()};i.toastId!==t&&(i.staleId=t);let r=i.render||a;delete i.render,D(r,i)}},j.done=t=>{j.update(t,{progress:1})},j.onChange=function(t){return L.add(t),()=>{L.delete(t)}},j.play=t=>P(!0,t),j.pause=t=>P(!1,t);var F="undefined"!=typeof window?r:i,V=({theme:t,type:n,isLoading:o,...a})=>e.createElement("svg",{viewBox:"0 0 24 24",width:"100%",height:"100%",fill:"colored"===t?"currentColor":`var(--toastify-icon-color-${n})`,...a}),G={info:function(t){return e.createElement(V,{...t},e.createElement("path",{d:"M12 0a12 12 0 1012 12A12.013 12.013 0 0012 0zm.25 5a1.5 1.5 0 11-1.5 1.5 1.5 1.5 0 011.5-1.5zm2.25 13.5h-4a1 1 0 010-2h.75a.25.25 0 00.25-.25v-4.5a.25.25 0 00-.25-.25h-.75a1 1 0 010-2h1a2 2 0 012 2v4.75a.25.25 0 00.25.25h.75a1 1 0 110 2z"}))},warning:function(t){return e.createElement(V,{...t},e.createElement("path",{d:"M23.32 17.191L15.438 2.184C14.728.833 13.416 0 11.996 0c-1.42 0-2.733.833-3.443 2.184L.533 17.448a4.744 4.744 0 000 4.368C1.243 23.167 2.555 24 3.975 24h16.05C22.22 24 24 22.044 24 19.632c0-.904-.251-1.746-.68-2.44zm-9.622 1.46c0 1.033-.724 1.823-1.698 1.823s-1.698-.79-1.698-1.822v-.043c0-1.028.724-1.822 1.698-1.822s1.698.79 1.698 1.822v.043zm.039-12.285l-.84 8.06c-.057.581-.408.943-.897.943-.49 0-.84-.367-.896-.942l-.84-8.065c-.057-.624.25-1.095.779-1.095h1.91c.528.005.84.476.784 1.1z"}))},success:function(t){return e.createElement(V,{...t},e.createElement("path",{d:"M12 0a12 12 0 1012 12A12.014 12.014 0 0012 0zm6.927 8.2l-6.845 9.289a1.011 1.011 0 01-1.43.188l-4.888-3.908a1 1 0 111.25-1.562l4.076 3.261 6.227-8.451a1 1 0 111.61 1.183z"}))},error:function(t){return e.createElement(V,{...t},e.createElement("path",{d:"M11.983 0a12.206 12.206 0 00-8.51 3.653A11.8 11.8 0 000 12.207 11.779 11.779 0 0011.8 24h.214A12.111 12.111 0 0024 11.791 11.766 11.766 0 0011.983 0zM10.5 16.542a1.476 1.476 0 011.449-1.53h.027a1.527 1.527 0 011.523 1.47 1.475 1.475 0 01-1.449 1.53h-.027a1.529 1.529 0 01-1.523-1.47zM11 12.5v-6a1 1 0 012 0v6a1 1 0 11-2 0z"}))},spinner:function(){return e.createElement("div",{className:"Toastify__spinner"})}};var H=n=>{let{isRunning:a,preventExitTransition:r,toastRef:c,eventHandlers:f,playToast:d}=function(t){let[n,e]=l(!1),[o,a]=l(!1),r=s(null),c=s({start:0,delta:0,removalDistance:0,canCloseOnClick:!0,canDrag:!1,didMove:!1}).current,{autoClose:f,pauseOnHover:d,closeToast:u,onClick:m,closeOnClick:p}=t;function y(){e(!0)}function g(){e(!1)}function b(e){let o=r.current;if(c.canDrag&&o){c.didMove=!0,n&&g(),"x"===t.draggableDirection?c.delta=e.clientX-c.start:c.delta=e.clientY-c.start,c.start!==e.clientX&&(c.canCloseOnClick=!1);let a="x"===t.draggableDirection?`${c.delta}px, var(--y)`:`0, calc(${c.delta}px + var(--y))`;o.style.transform=`translate3d(${a},0)`,o.style.opacity=""+(1-Math.abs(c.delta/c.removalDistance))}}function h(){document.removeEventListener("pointermove",b),document.removeEventListener("pointerup",h);let n=r.current;if(c.canDrag&&c.didMove&&n){if(c.canDrag=!1,Math.abs(c.delta)>c.removalDistance)return a(!0),t.closeToast(!0),void t.collapseAll();n.style.transition="transform 0.2s, opacity 0.2s",n.style.removeProperty("transform"),n.style.removeProperty("opacity")}}(function(t){var n;null==(n=E.get(t.containerId||1))||n.setToggle(t.id,t.fn)})({id:t.toastId,containerId:t.containerId,fn:e}),i(()=>{if(t.pauseOnFocusLoss)return document.hasFocus()||g(),window.addEventListener("focus",y),window.addEventListener("blur",g),()=>{window.removeEventListener("focus",y),window.removeEventListener("blur",g)}},[t.pauseOnFocusLoss]);let v={onPointerDown:function(n){if(!0===t.draggable||t.draggable===n.pointerType){c.didMove=!1,document.addEventListener("pointermove",b),document.addEventListener("pointerup",h);let e=r.current;c.canCloseOnClick=!0,c.canDrag=!0,e.style.transition="none","x"===t.draggableDirection?(c.start=n.clientX,c.removalDistance=e.offsetWidth*(t.draggablePercent/100)):(c.start=n.clientY,c.removalDistance=e.offsetHeight*(80===t.draggablePercent?1.5*t.draggablePercent:t.draggablePercent)/100)}},onPointerUp:function(n){let{top:e,bottom:o,left:a,right:i}=r.current.getBoundingClientRect();"mouse"===n.pointerType&&t.pauseOnHover&&n.clientX>=a&&n.clientX<=i&&n.clientY>=e&&n.clientY<=o?g():y()}};return f&&d&&(v.onMouseEnter=g,t.stacked||(v.onMouseLeave=y)),p&&(v.onClick=t=>{m&&m(t),c.canCloseOnClick&&u(!0)}),{playToast:y,pauseToast:g,isRunning:n,preventExitTransition:o,toastRef:r,eventHandlers:v}}(n),{closeButton:u,children:m,autoClose:y,onClick:g,type:h,hideProgressBar:v,closeToast:_,transition:w,position:T,className:I,style:S,progressClassName:C,updateId:L,role:M,progress:R,rtl:O,toastId:A,deleteToast:P,isIn:z,isLoading:B,closeOnClick:D,theme:U,ariaLabel:N}=n,j=p("Toastify__toast",`Toastify__toast-theme--${U}`,`Toastify__toast--${h}`,{"Toastify__toast--rtl":O},{"Toastify__toast--close-on-click":D}),F=b(I)?I({rtl:O,position:T,type:h,defaultClassName:j}):p(j,I),V=function({theme:n,type:e,isLoading:a,icon:i}){let r=null,s={theme:n,type:e};return!1===i||(b(i)?r=i({...s,isLoading:a}):o(i)?r=t(i,s):a?r=G.spinner():(t=>t in G)(e)&&(r=G[e](s))),r}(n),H=!!R||!y,q={closeToast:_,type:h,theme:U},$=null;return!1===u||($=b(u)?u(q):o(u)?t(u,q):function({closeToast:t,theme:n,ariaLabel:o="close"}){return e.createElement("button",{className:`Toastify__close-button Toastify__close-button--${n}`,type:"button",onClick:n=>{n.stopPropagation(),t(!0)},"aria-label":o},e.createElement("svg",{"aria-hidden":"true",viewBox:"0 0 14 16"},e.createElement("path",{fillRule:"evenodd",d:"M7.71 8.23l3.75 3.75-1.48 1.48-3.75-3.75-3.75 3.75L1 11.98l3.75-3.75L1 4.48 2.48 3l3.75 3.75L9.98 3l1.48 1.48-3.75 3.75z"})))}(q)),e.createElement(w,{isIn:z,done:P,position:T,preventExitTransition:r,nodeRef:c,playToast:d},e.createElement("div",{id:A,tabIndex:0,onClick:g,"data-in":z,className:F,...f,style:S,ref:c,...z&&{role:M,"aria-label":N}},null!=V&&e.createElement("div",{className:p("Toastify__toast-icon",{"Toastify--animate-icon Toastify__zoom-enter":!B})},V),x(m,n,!a),$,!n.customProgressBar&&e.createElement(k,{...L&&!H?{key:`p-${L}`}:{},rtl:O,theme:U,delay:y,isRunning:a,isIn:z,closeToast:_,hide:v,type:h,className:C,controlledProgress:H,progress:R||0})))},q=(t,n=!1)=>({enter:`Toastify--animate Toastify__${t}-enter`,exit:`Toastify--animate Toastify__${t}-exit`,appendPosition:n}),$=w(q("bounce",!0)),W=(w(q("slide",!0)),w(q("zoom")),w(q("flip")),{position:"top-right",transition:$,autoClose:5e3,closeButton:!0,pauseOnHover:!0,pauseOnFocusLoss:!0,draggable:"touch",draggablePercent:80,draggableDirection:"x",role:"alert",theme:"light","aria-label":"Notifications Alt+T",hotKeys:t=>t.altKey&&"KeyT"===t.code});function X(t){let n={...W,...t},o=t.stacked,[a,r]=l(!0),f=s(null),{getToastToRender:d,isToastActive:u,count:m}=function(t){var n;let{subscribe:e,getSnapshot:o,setProps:a}=s(z(t)).current;a(t);let i=null==(n=c(e,o,o))?void 0:n.slice();return{getToastToRender:function(n){if(!i)return[];let e=new Map;return t.newestOnTop&&i.reverse(),i.forEach(t=>{let{position:n}=t.props;e.has(n)||e.set(n,[]),e.get(n).push(t)}),Array.from(e,t=>n(t[0],t[1]))},isToastActive:O,count:null==i?void 0:i.length}}(n),{className:y,style:g,rtl:v,containerId:_,hotKeys:w}=n;function T(t){let n=p("Toastify__toast-container",`Toastify__toast-container--${t}`,{"Toastify__toast-container--rtl":v});return b(y)?y({position:t,rtl:v,defaultClassName:n}):p(n,h(y))}function x(){o&&(r(!0),j.play())}return F(()=>{var t;if(o){let e=f.current.querySelectorAll('[data-in="true"]'),o=12,i=null==(t=n.position)?void 0:t.includes("top"),r=0,s=0;Array.from(e).reverse().forEach((t,n)=>{let e=t;e.classList.add("Toastify__toast--stacked"),n>0&&(e.dataset.collapsed=`${a}`),e.dataset.pos||(e.dataset.pos=i?"top":"bot");let l=r*(a?.2:1)+(a?0:o*n),c=Math.max(.5,1-(a?s:0));e.style.setProperty("--y",`${i?l:-1*l}px`),e.style.setProperty("--g",`${o}`),e.style.setProperty("--s",`${c}`),r+=e.offsetHeight,s+=.025})}},[a,m,o]),i(()=>{function t(t){var n;let e=f.current;w(t)&&(null==(n=null==e?void 0:e.querySelector('[tabIndex="0"]'))||n.focus(),r(!1),j.pause()),"Escape"===t.key&&(document.activeElement===e||null!=e&&e.contains(document.activeElement))&&(r(!0),j.play())}return document.addEventListener("keydown",t),()=>{document.removeEventListener("keydown",t)}},[w]),e.createElement("section",{ref:f,className:"Toastify",id:_,onMouseEnter:()=>{o&&(r(!1),j.pause())},onMouseLeave:x,"aria-live":"polite","aria-atomic":"false","aria-relevant":"additions text","aria-label":n["aria-label"]},d((t,n)=>{let a=n.length?{...g}:{...g,pointerEvents:"none"};return e.createElement("div",{tabIndex:-1,className:T(t),"data-stacked":o,style:a,key:`c-${t}`},n.map(({content:t,props:n})=>e.createElement(H,{...n,stacked:o,collapseAll:x,isIn:u(n.toastId,n.containerId),key:`t-${n.key}`},t)))}))}var Y=new Map;function K(t){return((t,n)=>{F(()=>{if("undefined"==typeof document)return;let e=document,o=Y.get(e);if(o)return void(n&&o.setAttribute("nonce",n));let a=e.createElement("style");a.textContent=t,n&&a.setAttribute("nonce",n),e.head.appendChild(a),Y.set(e,a)},[n])})(":root {\n --toastify-color-light: #fff;\n --toastify-color-dark: #121212;\n --toastify-color-info: #3498db;\n --toastify-color-success: #07bc0c;\n --toastify-color-warning: #f1c40f;\n --toastify-color-error: hsl(6, 78%, 57%);\n --toastify-color-transparent: rgba(255, 255, 255, 0.7);\n\n --toastify-icon-color-info: var(--toastify-color-info);\n --toastify-icon-color-success: var(--toastify-color-success);\n --toastify-icon-color-warning: var(--toastify-color-warning);\n --toastify-icon-color-error: var(--toastify-color-error);\n\n --toastify-container-width: fit-content;\n --toastify-toast-width: 320px;\n --toastify-toast-offset: 16px;\n --toastify-toast-top: max(var(--toastify-toast-offset), env(safe-area-inset-top));\n --toastify-toast-right: max(var(--toastify-toast-offset), env(safe-area-inset-right));\n --toastify-toast-left: max(var(--toastify-toast-offset), env(safe-area-inset-left));\n --toastify-toast-bottom: max(var(--toastify-toast-offset), env(safe-area-inset-bottom));\n --toastify-toast-background: #fff;\n --toastify-toast-padding: 14px;\n --toastify-toast-min-height: 64px;\n --toastify-toast-max-height: 800px;\n --toastify-toast-bd-radius: 6px;\n --toastify-toast-shadow: 0px 4px 12px rgba(0, 0, 0, 0.1);\n --toastify-font-family: sans-serif;\n --toastify-z-index: 9999;\n --toastify-text-color-light: #757575;\n --toastify-text-color-dark: #fff;\n\n /* Used only for colored theme */\n --toastify-text-color-info: #fff;\n --toastify-text-color-success: #fff;\n --toastify-text-color-warning: #fff;\n --toastify-text-color-error: #fff;\n\n --toastify-spinner-color: #616161;\n --toastify-spinner-color-empty-area: #e0e0e0;\n --toastify-color-progress-light: linear-gradient(to right, #4cd964, #5ac8fa, #007aff, #34aadc, #5856d6, #ff2d55);\n --toastify-color-progress-dark: #bb86fc;\n --toastify-color-progress-info: var(--toastify-color-info);\n --toastify-color-progress-success: var(--toastify-color-success);\n --toastify-color-progress-warning: var(--toastify-color-warning);\n --toastify-color-progress-error: var(--toastify-color-error);\n /* used to control the opacity of the progress trail */\n --toastify-color-progress-bgo: 0.2;\n}\n\n.Toastify__toast-container {\n z-index: var(--toastify-z-index);\n -webkit-transform: translate3d(0, 0, var(--toastify-z-index));\n position: fixed;\n width: var(--toastify-container-width);\n box-sizing: border-box;\n color: #fff;\n display: flex;\n flex-direction: column;\n}\n\n.Toastify__toast-container--top-left {\n top: var(--toastify-toast-top);\n left: var(--toastify-toast-left);\n}\n.Toastify__toast-container--top-center {\n top: var(--toastify-toast-top);\n left: 50%;\n transform: translateX(-50%);\n align-items: center;\n}\n.Toastify__toast-container--top-right {\n top: var(--toastify-toast-top);\n right: var(--toastify-toast-right);\n align-items: end;\n}\n.Toastify__toast-container--bottom-left {\n bottom: var(--toastify-toast-bottom);\n left: var(--toastify-toast-left);\n}\n.Toastify__toast-container--bottom-center {\n bottom: var(--toastify-toast-bottom);\n left: 50%;\n transform: translateX(-50%);\n align-items: center;\n}\n.Toastify__toast-container--bottom-right {\n bottom: var(--toastify-toast-bottom);\n right: var(--toastify-toast-right);\n align-items: end;\n}\n\n.Toastify__toast {\n --y: 0px;\n position: relative;\n touch-action: none;\n width: var(--toastify-toast-width);\n min-height: var(--toastify-toast-min-height);\n box-sizing: border-box;\n margin-bottom: 1rem;\n padding: var(--toastify-toast-padding);\n border-radius: var(--toastify-toast-bd-radius);\n box-shadow: var(--toastify-toast-shadow);\n max-height: var(--toastify-toast-max-height);\n font-family: var(--toastify-font-family);\n /* webkit only issue #791 */\n z-index: 0;\n /* inner swag */\n display: flex;\n flex: 1 auto;\n align-items: center;\n word-break: break-word;\n}\n\n@media only screen and (max-width: 480px) {\n .Toastify__toast-container {\n width: 100vw;\n left: env(safe-area-inset-left);\n margin: 0;\n }\n .Toastify__toast-container--top-left,\n .Toastify__toast-container--top-center,\n .Toastify__toast-container--top-right {\n top: env(safe-area-inset-top);\n transform: translateX(0);\n }\n .Toastify__toast-container--bottom-left,\n .Toastify__toast-container--bottom-center,\n .Toastify__toast-container--bottom-right {\n bottom: env(safe-area-inset-bottom);\n transform: translateX(0);\n }\n .Toastify__toast-container--rtl {\n right: env(safe-area-inset-right);\n left: initial;\n }\n .Toastify__toast {\n --toastify-toast-width: 100%;\n margin-bottom: 0;\n border-radius: 0;\n }\n}\n\n.Toastify__toast-container[data-stacked='true'] {\n width: var(--toastify-toast-width);\n}\n\n@media only screen and (max-width: 480px) {\n .Toastify__toast-container[data-stacked='true'] {\n width: 100vw;\n }\n}\n\n.Toastify__toast--stacked {\n position: absolute;\n width: 100%;\n transform: translate3d(0, var(--y), 0) scale(var(--s));\n transition: transform 0.3s;\n}\n\n.Toastify__toast--stacked[data-collapsed] .Toastify__toast-body,\n.Toastify__toast--stacked[data-collapsed] .Toastify__close-button {\n transition: opacity 0.1s;\n}\n\n.Toastify__toast--stacked[data-collapsed='false'] {\n overflow: visible;\n}\n\n.Toastify__toast--stacked[data-collapsed='true']:not(:last-child) > * {\n opacity: 0;\n}\n\n.Toastify__toast--stacked:after {\n content: '';\n position: absolute;\n left: 0;\n right: 0;\n height: calc(var(--g) * 1px);\n bottom: 100%;\n}\n\n.Toastify__toast--stacked[data-pos='top'] {\n top: 0;\n}\n\n.Toastify__toast--stacked[data-pos='bot'] {\n bottom: 0;\n}\n\n.Toastify__toast--stacked[data-pos='bot'].Toastify__toast--stacked:before {\n transform-origin: top;\n}\n\n.Toastify__toast--stacked[data-pos='top'].Toastify__toast--stacked:before {\n transform-origin: bottom;\n}\n\n.Toastify__toast--stacked:before {\n content: '';\n position: absolute;\n left: 0;\n right: 0;\n bottom: 0;\n height: 100%;\n transform: scaleY(3);\n z-index: -1;\n}\n\n.Toastify__toast--rtl {\n direction: rtl;\n}\n\n.Toastify__toast--close-on-click {\n cursor: pointer;\n}\n\n.Toastify__toast-icon {\n margin-inline-end: 10px;\n width: 22px;\n flex-shrink: 0;\n display: flex;\n}\n\n.Toastify--animate {\n animation-fill-mode: both;\n animation-duration: 0.5s;\n}\n\n.Toastify--animate-icon {\n animation-fill-mode: both;\n animation-duration: 0.3s;\n}\n\n.Toastify__toast-theme--dark {\n background: var(--toastify-color-dark);\n color: var(--toastify-text-color-dark);\n}\n\n.Toastify__toast-theme--light {\n background: var(--toastify-color-light);\n color: var(--toastify-text-color-light);\n}\n\n.Toastify__toast-theme--colored.Toastify__toast--default {\n background: var(--toastify-color-light);\n color: var(--toastify-text-color-light);\n}\n\n.Toastify__toast-theme--colored.Toastify__toast--info {\n color: var(--toastify-text-color-info);\n background: var(--toastify-color-info);\n}\n\n.Toastify__toast-theme--colored.Toastify__toast--success {\n color: var(--toastify-text-color-success);\n background: var(--toastify-color-success);\n}\n\n.Toastify__toast-theme--colored.Toastify__toast--warning {\n color: var(--toastify-text-color-warning);\n background: var(--toastify-color-warning);\n}\n\n.Toastify__toast-theme--colored.Toastify__toast--error {\n color: var(--toastify-text-color-error);\n background: var(--toastify-color-error);\n}\n\n.Toastify__progress-bar-theme--light {\n background: var(--toastify-color-progress-light);\n}\n\n.Toastify__progress-bar-theme--dark {\n background: var(--toastify-color-progress-dark);\n}\n\n.Toastify__progress-bar--info {\n background: var(--toastify-color-progress-info);\n}\n\n.Toastify__progress-bar--success {\n background: var(--toastify-color-progress-success);\n}\n\n.Toastify__progress-bar--warning {\n background: var(--toastify-color-progress-warning);\n}\n\n.Toastify__progress-bar--error {\n background: var(--toastify-color-progress-error);\n}\n\n.Toastify__progress-bar-theme--colored.Toastify__progress-bar--info,\n.Toastify__progress-bar-theme--colored.Toastify__progress-bar--success,\n.Toastify__progress-bar-theme--colored.Toastify__progress-bar--warning,\n.Toastify__progress-bar-theme--colored.Toastify__progress-bar--error {\n background: var(--toastify-color-transparent);\n}\n\n.Toastify__close-button {\n color: #fff;\n position: absolute;\n top: 6px;\n right: 6px;\n background: transparent;\n outline: none;\n border: none;\n padding: 0;\n cursor: pointer;\n opacity: 0.7;\n transition: 0.3s ease;\n z-index: 1;\n}\n\n.Toastify__toast--rtl .Toastify__close-button {\n left: 6px;\n right: unset;\n}\n\n.Toastify__close-button--light {\n color: #000;\n opacity: 0.3;\n}\n\n.Toastify__close-button > svg {\n fill: currentColor;\n height: 16px;\n width: 14px;\n}\n\n.Toastify__close-button:hover,\n.Toastify__close-button:focus {\n opacity: 1;\n}\n\n@keyframes Toastify__trackProgress {\n 0% {\n transform: scaleX(1);\n }\n 100% {\n transform: scaleX(0);\n }\n}\n\n.Toastify__progress-bar {\n position: absolute;\n bottom: 0;\n left: 0;\n width: 100%;\n height: 100%;\n z-index: 1;\n opacity: 0.7;\n transform-origin: left;\n}\n\n.Toastify__progress-bar--animated {\n animation: Toastify__trackProgress linear 1 forwards;\n}\n\n.Toastify__progress-bar--controlled {\n transition: transform 0.2s;\n}\n\n.Toastify__progress-bar--rtl {\n right: 0;\n left: initial;\n transform-origin: right;\n border-bottom-left-radius: initial;\n}\n\n.Toastify__progress-bar--wrp {\n position: absolute;\n overflow: hidden;\n bottom: 0;\n left: 0;\n width: 100%;\n height: 5px;\n border-bottom-left-radius: var(--toastify-toast-bd-radius);\n border-bottom-right-radius: var(--toastify-toast-bd-radius);\n}\n\n.Toastify__progress-bar--wrp[data-hidden='true'] {\n opacity: 0;\n}\n\n.Toastify__progress-bar--bg {\n opacity: var(--toastify-color-progress-bgo);\n width: 100%;\n height: 100%;\n}\n\n.Toastify__spinner {\n width: 20px;\n height: 20px;\n box-sizing: border-box;\n border: 2px solid;\n border-radius: 100%;\n border-color: var(--toastify-spinner-color-empty-area);\n border-right-color: var(--toastify-spinner-color);\n animation: Toastify__spin 0.65s linear infinite;\n}\n\n@keyframes Toastify__bounceInRight {\n from,\n 60%,\n 75%,\n 90%,\n to {\n animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);\n }\n from {\n opacity: 0;\n transform: translate3d(3000px, 0, 0);\n }\n 60% {\n opacity: 1;\n transform: translate3d(-25px, 0, 0);\n }\n 75% {\n transform: translate3d(10px, 0, 0);\n }\n 90% {\n transform: translate3d(-5px, 0, 0);\n }\n to {\n transform: none;\n }\n}\n\n@keyframes Toastify__bounceOutRight {\n 20% {\n opacity: 1;\n transform: translate3d(-20px, var(--y), 0);\n }\n to {\n opacity: 0;\n transform: translate3d(2000px, var(--y), 0);\n }\n}\n\n@keyframes Toastify__bounceInLeft {\n from,\n 60%,\n 75%,\n 90%,\n to {\n animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);\n }\n 0% {\n opacity: 0;\n transform: translate3d(-3000px, 0, 0);\n }\n 60% {\n opacity: 1;\n transform: translate3d(25px, 0, 0);\n }\n 75% {\n transform: translate3d(-10px, 0, 0);\n }\n 90% {\n transform: translate3d(5px, 0, 0);\n }\n to {\n transform: none;\n }\n}\n\n@keyframes Toastify__bounceOutLeft {\n 20% {\n opacity: 1;\n transform: translate3d(20px, var(--y), 0);\n }\n to {\n opacity: 0;\n transform: translate3d(-2000px, var(--y), 0);\n }\n}\n\n@keyframes Toastify__bounceInUp {\n from,\n 60%,\n 75%,\n 90%,\n to {\n animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);\n }\n from {\n opacity: 0;\n transform: translate3d(0, 3000px, 0);\n }\n 60% {\n opacity: 1;\n transform: translate3d(0, -20px, 0);\n }\n 75% {\n transform: translate3d(0, 10px, 0);\n }\n 90% {\n transform: translate3d(0, -5px, 0);\n }\n to {\n transform: translate3d(0, 0, 0);\n }\n}\n\n@keyframes Toastify__bounceOutUp {\n 20% {\n transform: translate3d(0, calc(var(--y) - 10px), 0);\n }\n 40%,\n 45% {\n opacity: 1;\n transform: translate3d(0, calc(var(--y) + 20px), 0);\n }\n to {\n opacity: 0;\n transform: translate3d(0, -2000px, 0);\n }\n}\n\n@keyframes Toastify__bounceInDown {\n from,\n 60%,\n 75%,\n 90%,\n to {\n animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);\n }\n 0% {\n opacity: 0;\n transform: translate3d(0, -3000px, 0);\n }\n 60% {\n opacity: 1;\n transform: translate3d(0, 25px, 0);\n }\n 75% {\n transform: translate3d(0, -10px, 0);\n }\n 90% {\n transform: translate3d(0, 5px, 0);\n }\n to {\n transform: none;\n }\n}\n\n@keyframes Toastify__bounceOutDown {\n 20% {\n transform: translate3d(0, calc(var(--y) - 10px), 0);\n }\n 40%,\n 45% {\n opacity: 1;\n transform: translate3d(0, calc(var(--y) + 20px), 0);\n }\n to {\n opacity: 0;\n transform: translate3d(0, 2000px, 0);\n }\n}\n\n.Toastify__bounce-enter--top-left,\n.Toastify__bounce-enter--bottom-left {\n animation-name: Toastify__bounceInLeft;\n}\n\n.Toastify__bounce-enter--top-right,\n.Toastify__bounce-enter--bottom-right {\n animation-name: Toastify__bounceInRight;\n}\n\n.Toastify__bounce-enter--top-center {\n animation-name: Toastify__bounceInDown;\n}\n\n.Toastify__bounce-enter--bottom-center {\n animation-name: Toastify__bounceInUp;\n}\n\n.Toastify__bounce-exit--top-left,\n.Toastify__bounce-exit--bottom-left {\n animation-name: Toastify__bounceOutLeft;\n}\n\n.Toastify__bounce-exit--top-right,\n.Toastify__bounce-exit--bottom-right {\n animation-name: Toastify__bounceOutRight;\n}\n\n.Toastify__bounce-exit--top-center {\n animation-name: Toastify__bounceOutUp;\n}\n\n.Toastify__bounce-exit--bottom-center {\n animation-name: Toastify__bounceOutDown;\n}\n\n@keyframes Toastify__zoomIn {\n from {\n opacity: 0;\n transform: scale3d(0.3, 0.3, 0.3);\n }\n 50% {\n opacity: 1;\n }\n}\n\n@keyframes Toastify__zoomOut {\n from {\n opacity: 1;\n }\n 50% {\n opacity: 0;\n transform: translate3d(0, var(--y), 0) scale3d(0.3, 0.3, 0.3);\n }\n to {\n opacity: 0;\n }\n}\n\n.Toastify__zoom-enter {\n animation-name: Toastify__zoomIn;\n}\n\n.Toastify__zoom-exit {\n animation-name: Toastify__zoomOut;\n}\n\n@keyframes Toastify__flipIn {\n from {\n transform: perspective(400px) rotate3d(1, 0, 0, 90deg);\n animation-timing-function: ease-in;\n opacity: 0;\n }\n 40% {\n transform: perspective(400px) rotate3d(1, 0, 0, -20deg);\n animation-timing-function: ease-in;\n }\n 60% {\n transform: perspective(400px) rotate3d(1, 0, 0, 10deg);\n opacity: 1;\n }\n 80% {\n transform: perspective(400px) rotate3d(1, 0, 0, -5deg);\n }\n to {\n transform: perspective(400px);\n }\n}\n\n@keyframes Toastify__flipOut {\n from {\n transform: translate3d(0, var(--y), 0) perspective(400px);\n }\n 30% {\n transform: translate3d(0, var(--y), 0) perspective(400px) rotate3d(1, 0, 0, -20deg);\n opacity: 1;\n }\n to {\n transform: translate3d(0, var(--y), 0) perspective(400px) rotate3d(1, 0, 0, 90deg);\n opacity: 0;\n }\n}\n\n.Toastify__flip-enter {\n animation-name: Toastify__flipIn;\n}\n\n.Toastify__flip-exit {\n animation-name: Toastify__flipOut;\n}\n\n@keyframes Toastify__slideInRight {\n from {\n transform: translate3d(110%, 0, 0);\n visibility: visible;\n }\n to {\n transform: translate3d(0, var(--y), 0);\n }\n}\n\n@keyframes Toastify__slideInLeft {\n from {\n transform: translate3d(-110%, 0, 0);\n visibility: visible;\n }\n to {\n transform: translate3d(0, var(--y), 0);\n }\n}\n\n@keyframes Toastify__slideInUp {\n from {\n transform: translate3d(0, 110%, 0);\n visibility: visible;\n }\n to {\n transform: translate3d(0, var(--y), 0);\n }\n}\n\n@keyframes Toastify__slideInDown {\n from {\n transform: translate3d(0, -110%, 0);\n visibility: visible;\n }\n to {\n transform: translate3d(0, var(--y), 0);\n }\n}\n\n@keyframes Toastify__slideOutRight {\n from {\n transform: translate3d(0, var(--y), 0);\n }\n to {\n visibility: hidden;\n transform: translate3d(110%, var(--y), 0);\n }\n}\n\n@keyframes Toastify__slideOutLeft {\n from {\n transform: translate3d(0, var(--y), 0);\n }\n to {\n visibility: hidden;\n transform: translate3d(-110%, var(--y), 0);\n }\n}\n\n@keyframes Toastify__slideOutDown {\n from {\n transform: translate3d(0, var(--y), 0);\n }\n to {\n visibility: hidden;\n transform: translate3d(0, 500px, 0);\n }\n}\n\n@keyframes Toastify__slideOutUp {\n from {\n transform: translate3d(0, var(--y), 0);\n }\n to {\n visibility: hidden;\n transform: translate3d(0, -500px, 0);\n }\n}\n\n.Toastify__slide-enter--top-left,\n.Toastify__slide-enter--bottom-left {\n animation-name: Toastify__slideInLeft;\n}\n\n.Toastify__slide-enter--top-right,\n.Toastify__slide-enter--bottom-right {\n animation-name: Toastify__slideInRight;\n}\n\n.Toastify__slide-enter--top-center {\n animation-name: Toastify__slideInDown;\n}\n\n.Toastify__slide-enter--bottom-center {\n animation-name: Toastify__slideInUp;\n}\n\n.Toastify__slide-exit--top-left,\n.Toastify__slide-exit--bottom-left {\n animation-name: Toastify__slideOutLeft;\n animation-timing-function: ease-in;\n animation-duration: 0.3s;\n}\n\n.Toastify__slide-exit--top-right,\n.Toastify__slide-exit--bottom-right {\n animation-name: Toastify__slideOutRight;\n animation-timing-function: ease-in;\n animation-duration: 0.3s;\n}\n\n.Toastify__slide-exit--top-center {\n animation-name: Toastify__slideOutUp;\n animation-timing-function: ease-in;\n animation-duration: 0.3s;\n}\n\n.Toastify__slide-exit--bottom-center {\n animation-name: Toastify__slideOutDown;\n animation-timing-function: ease-in;\n animation-duration: 0.3s;\n}\n\n@keyframes Toastify__spin {\n from {\n transform: rotate(0deg);\n }\n to {\n transform: rotate(360deg);\n }\n}\n",t.nonce),e.createElement(X,{...t})}var Z=["children","size","color"];function J(){return J=Object.assign?Object.assign.bind():function(t){for(var n=1;n<arguments.length;n++){var e=arguments[n];for(var o in e)({}).hasOwnProperty.call(e,o)&&(t[o]=e[o])}return t},J.apply(null,arguments)}var Q=function(t){var n=t.children,e=t.size,o=void 0===e?24:e,a=t.color,i=void 0===a?"currentColor":a,r=function(t,n){if(null==t)return{};var e,o,a=function(t,n){if(null==t)return{};var e={};for(var o in t)if({}.hasOwnProperty.call(t,o)){if(-1!==n.indexOf(o))continue;e[o]=t[o]}return e}(t,n);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(o=0;o<i.length;o++)e=i[o],-1===n.indexOf(e)&&{}.propertyIsEnumerable.call(t,e)&&(a[e]=t[e])}return a}(t,Z);return React.createElement("svg",J({xmlns:"http://www.w3.org/2000/svg",height:o,viewBox:"0 0 24 24",width:o,fill:i},r),n)},tt=function(t){return React.createElement(Q,t,React.createElement("path",{d:"M0 0h24v24H0z",fill:"none"}),React.createElement("path",{d:"M17 7l-1.41 1.41L18.17 11H8v2h10.17l-2.58 2.58L17 17l5-5zM4 5h8V3H4c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h8v-2H4V5z"}))},nt=function(t){return React.createElement(Q,t,React.createElement("path",{d:"M0 0h24v24H0z",fill:"none"}),React.createElement("path",{d:"M21 10.12h-6.78l2.74-2.82c-2.73-2.7-7.15-2.8-9.88-.1-2.73 2.71-2.73 7.08 0 9.79 2.73 2.71 7.15 2.71 9.88 0C18.32 15.65 19 14.08 19 12.1h2c0 1.98-.88 4.55-2.64 6.29-3.51 3.48-9.21 3.48-12.72 0-3.5-3.47-3.53-9.11-.02-12.58 3.51-3.47 9.14-3.47 12.65 0L21 3v7.12zM12.5 8v4.25l3.5 2.08-.72 1.21L11 13V8h1.5z"}))},et=function(t){return React.createElement(Q,t,React.createElement("path",{d:"M0,0h24v24H0V0z",fill:"none"}),React.createElement("path",{d:"M12,2L4,5v6.09c0,5.05,3.41,9.76,8,10.91c4.59-1.15,8-5.86,8-10.91V5L12,2z M15.5,14.09l-1.41,1.41L12,13.42L9.91,15.5 L8.5,14.09L10.59,12L8.5,9.91L9.91,8.5L12,10.59l2.09-2.09l1.41,1.41L13.42,12L15.5,14.09z"}))},ot=function(t){return React.createElement(Q,t,React.createElement("path",{d:"M0 0h24v24H0z",fill:"none"}),React.createElement("path",{d:"M22 3H2C.9 3 0 3.9 0 5v14c0 1.1.9 2 2 2h20c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM2 19V8h20v11H2z"}),React.createElement("path",{d:"M12 15.5L9.5 13l1.41-1.41L12 12.67l3.59-3.58L17 10.5 12 15.5z"}))};const at=function(t){var n=t.appVersion;return i(function(){sessionStorage.getItem("appVersionOld")&&sessionStorage.getItem("requiredVersion")&&function(t,n){for(var e=t.split(".").map(Number),o=n.split(".").map(Number),a=Math.max(e.length,o.length),i=0;i<a;i++){var r,s,l=null!==(r=e[i])&&void 0!==r?r:0,c=null!==(s=o[i])&&void 0!==s?s:0;if(l>c)return!0;if(l<c)return!1}return!0}(n,sessionStorage.getItem("requiredVersion"))&&(console.log("Update Success Toast"),sessionStorage.removeItem("appVersionOld"),sessionStorage.removeItem("requiredVersion"),sessionStorage.removeItem("appReloads"),j.success("Your application has been updated",{toastId:"appReload",icon:React.createElement(ot,null)}))},[n]),React.createElement(React.Fragment,null)};var it=u(126);function rt(t,n){(null==n||n>t.length)&&(n=t.length);for(var e=0,o=Array(n);e<n;e++)o[e]=t[e];return o}const st=function(t){var n=function(t,n){return function(t){if(Array.isArray(t))return t}(t)||function(t,n){var e=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=e){var o,a,i,r,s=[],l=!0,c=!1;try{if(i=(e=e.call(t)).next,0===n){if(Object(e)!==e)return;l=!1}else for(;!(l=(o=i.call(e)).done)&&(s.push(o.value),s.length!==n);l=!0);}catch(t){c=!0,a=t}finally{try{if(!l&&null!=e.return&&(r=e.return(),Object(r)!==r))return}finally{if(c)throw a}}return s}}(t,n)||function(t,n){if(t){if("string"==typeof t)return rt(t,n);var e={}.toString.call(t).slice(8,-1);return"Object"===e&&t.constructor&&(e=t.constructor.name),"Map"===e||"Set"===e?Array.from(t):"Arguments"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e)?rt(t,n):void 0}}(t,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}(l(function(){var t=localStorage.getItem("deviceUID");if(t)return t;var n=function(){if(localStorage.getItem("deviceFingerprint"))return localStorage.getItem("deviceFingerprint");var t=(new it.ClientJS).getFingerprint();return localStorage.setItem("deviceFingerprint",t),t}();return localStorage.setItem("deviceUID",n),n}),1)[0];return i(function(){t.defaults.headers.common.deviceUID=n},[t,n]),n};function lt(){return lt=Object.assign?Object.assign.bind():function(t){for(var n=1;n<arguments.length;n++){var e=arguments[n];for(var o in e)({}).hasOwnProperty.call(e,o)&&(t[o]=e[o])}return t},lt.apply(null,arguments)}function ct(t,n){return function(t){if(Array.isArray(t))return t}(t)||function(t,n){var e=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=e){var o,a,i,r,s=[],l=!0,c=!1;try{if(i=(e=e.call(t)).next,0===n){if(Object(e)!==e)return;l=!1}else for(;!(l=(o=i.call(e)).done)&&(s.push(o.value),s.length!==n);l=!0);}catch(t){c=!0,a=t}finally{try{if(!l&&null!=e.return&&(r=e.return(),Object(r)!==r))return}finally{if(c)throw a}}return s}}(t,n)||function(t,n){if(t){if("string"==typeof t)return ft(t,n);var e={}.toString.call(t).slice(8,-1);return"Object"===e&&t.constructor&&(e=t.constructor.name),"Map"===e||"Set"===e?Array.from(t):"Arguments"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e)?ft(t,n):void 0}}(t,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function ft(t,n){(null==n||n>t.length)&&(n=t.length);for(var e=0,o=Array(n);e<n;e++)o[e]=t[e];return o}u(750),u(533);var dt=n({isLoggedIn:null,header:null,isAdmin:null,userInfo:null,refreshData:null,setHeader:null,setLoggedin:null,setRefreshData:null,hasRole:null,deviceUID:null,loadingUser:null}),ut=function(t){var n=t.AuthenticatedAxiosObject,e=t.refreshTimer,o=t.dataRefresh,r=t.userLoader,s=t.refreshToken,c=t.appVersion,f=t.toastOptions,d=t.children,u=st(n),m=ct(l(""),2),p=m[0],y=m[1];n.defaults.withCredentials=!0,n.defaults.headers.common.Authorization=p,n.defaults.headers.common.deviceUID=u,n.defaults.headers.common.appVersion=c;var g=a(function(t,e){y(t),setTimeout(function(){s().then(function(t){if(t&&t.access_token){var o="Bearer ".concat(t.access_token);y(o),n.defaults.headers.common.Authorization=o,e&&localStorage.setItem("Authorization",o),sessionStorage.setItem("Authorization",o),t.refreshed?console.log("Token was refreshed with new token"):console.log("Token is still valid, using existing token")}else localStorage.removeItem("Authorization"),sessionStorage.removeItem("Authorization"),j.warn("Your session could not be restored. Please log in again.",{toastId:"TOKEN_REFRESH_FAILED",icon:React.createElement(tt,null)})}).catch(function(t){console.log(t),localStorage.removeItem("Authorization"),sessionStorage.removeItem("Authorization"),j.warn("Your session could not be restored. Please log in again.",{toastId:"TOKEN_REFRESH_FAILED",icon:React.createElement(tt,null)})})},100)},[n,s]);i(function(){var t=localStorage.getItem("Authorization"),n=sessionStorage.getItem("Authorization");t?g(t,!0):n&&g(n,!1)},[g]),i(function(){var t=function(t){"Authorization"===t.key&&t.newValue&&g(t.newValue,!0)};return window.addEventListener("storage",t),function(){return window.removeEventListener("storage",t)}},[g]);var b=ct(l(!1),2),h=b[0],v=b[1],_=ct(l(!1),2),w=_[0],T=_[1],x=ct(l({}),2),k=x[0],I=x[1],S=ct(l(!0),2),E=S[0],C=S[1];i(function(){setTimeout(function(){r().then(function(t){if(t&&t.data){var n=t.data;v(n.logged_in),T(n.is_admin),I(n.Info)}else console.log("Invalid user data response")}).catch(function(t){console.log(t)}).finally(function(){C(!1)})},100)},[p,h,r]),i(function(){var t=60*(e||60)*1e3;if(h){var n=Boolean(localStorage.getItem("Authorization")),o=setInterval(function(){g(sessionStorage.getItem("Authorization"),n)},t);return function(){return clearInterval(o)}}},[p,g,h,e]),i(function(){var t=function(){v(!1),n.defaults.headers.common.Authorization=""},e=n.interceptors.response.use(function(t){return t},function(n){return function(t){var n,e=(arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}).onSessionExpired,o=null==t||null===(n=t.response)||void 0===n?void 0:n.status;switch(o){case 401:null==e||e(),j.error("Unauthorized – please log in.",{toastId:"ERR_UNAUTHORIZED",icon:React.createElement(tt,null)});break;case 403:j.error("You don't have permission to do this.",{toastId:"ERR_FORBIDDEN",icon:React.createElement(et,null)});break;case 426:sessionStorage.setItem("appVersionOld",!0),sessionStorage.setItem("requiredVersion",t.response.data.minVersion);var a=parseInt(sessionStorage.getItem("appReloads")||0);a<2?(sessionStorage.setItem("appReloads",a+1),setTimeout(function(){"caches"in window?caches.keys().then(function(t){return Promise.all(t.map(function(t){return caches.delete(t)}))}).catch(function(t){return console.log("Cache clear error:",t)}).finally(function(){return window.location.reload()}):window.location.reload()},1e3*(a+1))):j.warning("The application needs to be updated please wait for some time then reload the page.",{toastId:"appReloadError",icon:React.createElement(nt,null)});break;case 455:t.response.data.logged_in||(null==e||e(),j.info("Your session is no longer valid, please login again.",{toastId:"Forced_log_out",icon:React.createElement(tt,null)}));break;case 500:j.error("Server error, please try again later.",{toastId:"ERR_SERVER",icon:React.createElement(et,null)});break;case 503:j.error("Service unavailable, please try again later.",{toastId:"ERR_SERVICE_UNAVAILABLE",icon:React.createElement(et,null)});break;default:o||"ERR_CANCELED"!==(null==t?void 0:t.code)&&"canceled"!==(null==t?void 0:t.message)&&("ECONNABORTED"===(null==t?void 0:t.code)||"ETIMEDOUT"===(null==t?void 0:t.code)?j.error("Request timed out. The server is taking too long to respond.",{toastId:"ERR_TIMEOUT",icon:React.createElement(et,null)}):j.error("The server is not responding, please reload or try again later.",{toastId:"ERR_CONNECTION_REFUSED",icon:React.createElement(et,null)}))}return Promise.reject(t)}(n,{onSessionExpired:t})});return function(){n.interceptors.response.eject(e)}},[n]);var L=ct(l(!1),2),M=L[0],R=L[1];i(function(){var t=setTimeout(function(){return R(!0)},60*(o||60)*1e3);return function(){return clearTimeout(t)}},[o]),i(function(){M&&r().then(function(t){t&&t.data?I(t.data.Info):console.log("Invalid refresh data response")}).catch(function(t){console.log("Error refreshing user data:",t)}).finally(function(){R(!1)})},[M,r]);var O={isLoggedIn:h,header:p,isAdmin:w,userInfo:k,refreshData:M,setHeader:function(t){return y(t)},setLoggedin:function(t){return v(t)},setRefreshData:function(t){return R(t)},hasRole:function(t){return t.some(function(t){var n;return(null==k||null===(n=k.roles)||void 0===n?void 0:n.indexOf(t))>=0})},deviceUID:u,loadingUser:E};return React.createElement(dt.Provider,{value:O},React.createElement(K,lt({position:"top-left",autoClose:5e3,closeOnClick:!0,pauseOnFocusLoss:!0,pauseOnHover:!0,newestOnTop:!1,toastClassName:"custToast materialToast"},f)),React.createElement(at,{appVersion:c}),d)};const mt=ut;export{dt as SessionManager,ut as SessionManagerProvider,mt as default};
|
|
1
|
+
/*! For license information please see index.js.LICENSE.txt */
|
|
2
|
+
import{cloneElement as t,createContext as n,default as e,isValidElement as o,useCallback as a,useEffect as r,useLayoutEffect as i,useRef as s,useState as l,useSyncExternalStore as c}from"react";var f={126(t,n,e){t.exports=function(t){var n={};function e(o){if(n[o])return n[o].exports;var a=n[o]={i:o,l:!1,exports:{}};return t[o].call(a.exports,a,a.exports,e),a.l=!0,a.exports}return e.m=t,e.c=n,e.d=function(t,n,o){e.o(t,n)||Object.defineProperty(t,n,{enumerable:!0,get:o})},e.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},e.t=function(t,n){if(1&n&&(t=e(t)),8&n)return t;if(4&n&&"object"==typeof t&&t&&t.__esModule)return t;var o=Object.create(null);if(e.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:t}),2&n&&"string"!=typeof t)for(var a in t)e.d(o,a,function(n){return t[n]}.bind(null,a));return o},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,"a",n),n},e.o=function(t,n){return Object.prototype.hasOwnProperty.call(t,n)},e.p="",e(e.s=0)}([function(t,n,e){var o,a,r=e(1)(),i=e(3),s=e(4),l=e(6),c=function(){var t=new s;return o=t.getResult(),a=new l,this};c.prototype={getSoftwareVersion:function(){return"0.1.11"},getBrowserData:function(){return o},getFingerprint:function(){var t="|",n=o.ua,e=this.getScreenPrint(),a=this.getPlugins(),r=this.getFonts(),s=this.isLocalStorage(),l=this.isSessionStorage(),c=this.getTimeZone(),f=this.getLanguage(),d=this.getSystemLanguage(),u=this.isCookie(),m=this.getCanvasPrint();return i(n+t+e+t+a+t+r+t+s+t+l+t+c+t+f+t+d+t+u+t+m,256)},getCustomFingerprint:function(){for(var t="",n=0;n<arguments.length;n++)t+=arguments[n]+"|";return i(t,256)},getUserAgent:function(){return o.ua},getUserAgentLowerCase:function(){return o.ua.toLowerCase()},getBrowser:function(){return o.browser.name},getBrowserVersion:function(){return o.browser.version},getBrowserMajorVersion:function(){return o.browser.major},isIE:function(){return/IE/i.test(o.browser.name)},isChrome:function(){return/Chrome/i.test(o.browser.name)},isFirefox:function(){return/Firefox/i.test(o.browser.name)},isSafari:function(){return/Safari/i.test(o.browser.name)},isMobileSafari:function(){return/Mobile\sSafari/i.test(o.browser.name)},isOpera:function(){return/Opera/i.test(o.browser.name)},getEngine:function(){return o.engine.name},getEngineVersion:function(){return o.engine.version},getOS:function(){return o.os.name},getOSVersion:function(){return o.os.version},isWindows:function(){return/Windows/i.test(o.os.name)},isMac:function(){return/Mac/i.test(o.os.name)},isLinux:function(){return/Linux/i.test(o.os.name)},isUbuntu:function(){return/Ubuntu/i.test(o.os.name)},isSolaris:function(){return/Solaris/i.test(o.os.name)},getDevice:function(){return o.device.model},getDeviceType:function(){return o.device.type},getDeviceVendor:function(){return o.device.vendor},getCPU:function(){return o.cpu.architecture},isMobile:function(){var t=o.ua||navigator.vendor||window.opera;return/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i.test(t)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(t.substr(0,4))},isMobileMajor:function(){return this.isMobileAndroid()||this.isMobileBlackBerry()||this.isMobileIOS()||this.isMobileOpera()||this.isMobileWindows()},isMobileAndroid:function(){return!!o.ua.match(/Android/i)},isMobileOpera:function(){return!!o.ua.match(/Opera Mini/i)},isMobileWindows:function(){return!!o.ua.match(/IEMobile/i)},isMobileBlackBerry:function(){return!!o.ua.match(/BlackBerry/i)},isMobileIOS:function(){return!!o.ua.match(/iPhone|iPad|iPod/i)},isIphone:function(){return!!o.ua.match(/iPhone/i)},isIpad:function(){return!!o.ua.match(/iPad/i)},isIpod:function(){return!!o.ua.match(/iPod/i)},getScreenPrint:function(){return"Current Resolution: "+this.getCurrentResolution()+", Available Resolution: "+this.getAvailableResolution()+", Color Depth: "+this.getColorDepth()+", Device XDPI: "+this.getDeviceXDPI()+", Device YDPI: "+this.getDeviceYDPI()},getColorDepth:function(){return screen.colorDepth},getCurrentResolution:function(){return screen.width+"x"+screen.height},getAvailableResolution:function(){return screen.availWidth+"x"+screen.availHeight},getDeviceXDPI:function(){return screen.deviceXDPI},getDeviceYDPI:function(){return screen.deviceYDPI},getPlugins:function(){for(var t="",n=0;n<navigator.plugins.length;n++)n==navigator.plugins.length-1?t+=navigator.plugins[n].name:t+=navigator.plugins[n].name+", ";return t},isJava:function(){return navigator.javaEnabled()},getJavaVersion:function(){throw new Error("Please use client.java.js or client.js if you need this functionality!")},isFlash:function(){return!!navigator.plugins["Shockwave Flash"]},getFlashVersion:function(){throw new Error("Please use client.flash.js or client.js if you need this functionality!")},isSilverlight:function(){return!!navigator.plugins["Silverlight Plug-In"]},getSilverlightVersion:function(){return this.isSilverlight()?navigator.plugins["Silverlight Plug-In"].description:""},isMimeTypes:function(){return!(!navigator.mimeTypes||!navigator.mimeTypes.length)},getMimeTypes:function(){var t="";if(navigator.mimeTypes)for(var n=0;n<navigator.mimeTypes.length;n++)n==navigator.mimeTypes.length-1?t+=navigator.mimeTypes[n].description:t+=navigator.mimeTypes[n].description+", ";return t},isFont:function(t){return a.detect(t)},getFonts:function(){for(var t=["Abadi MT Condensed Light","Adobe Fangsong Std","Adobe Hebrew","Adobe Ming Std","Agency FB","Aharoni","Andalus","Angsana New","AngsanaUPC","Aparajita","Arab","Arabic Transparent","Arabic Typesetting","Arial Baltic","Arial Black","Arial CE","Arial CYR","Arial Greek","Arial TUR","Arial","Batang","BatangChe","Bauhaus 93","Bell MT","Bitstream Vera Serif","Bodoni MT","Bookman Old Style","Braggadocio","Broadway","Browallia New","BrowalliaUPC","Calibri Light","Calibri","Californian FB","Cambria Math","Cambria","Candara","Castellar","Casual","Centaur","Century Gothic","Chalkduster","Colonna MT","Comic Sans MS","Consolas","Constantia","Copperplate Gothic Light","Corbel","Cordia New","CordiaUPC","Courier New Baltic","Courier New CE","Courier New CYR","Courier New Greek","Courier New TUR","Courier New","DFKai-SB","DaunPenh","David","DejaVu LGC Sans Mono","Desdemona","DilleniaUPC","DokChampa","Dotum","DotumChe","Ebrima","Engravers MT","Eras Bold ITC","Estrangelo Edessa","EucrosiaUPC","Euphemia","Eurostile","FangSong","Forte","FrankRuehl","Franklin Gothic Heavy","Franklin Gothic Medium","FreesiaUPC","French Script MT","Gabriola","Gautami","Georgia","Gigi","Gisha","Goudy Old Style","Gulim","GulimChe","GungSeo","Gungsuh","GungsuhChe","Haettenschweiler","Harrington","Hei S","HeiT","Heisei Kaku Gothic","Hiragino Sans GB","Impact","Informal Roman","IrisUPC","Iskoola Pota","JasmineUPC","KacstOne","KaiTi","Kalinga","Kartika","Khmer UI","Kino MT","KodchiangUPC","Kokila","Kozuka Gothic Pr6N","Lao UI","Latha","Leelawadee","Levenim MT","LilyUPC","Lohit Gujarati","Loma","Lucida Bright","Lucida Console","Lucida Fax","Lucida Sans Unicode","MS Gothic","MS Mincho","MS PGothic","MS PMincho","MS Reference Sans Serif","MS UI Gothic","MV Boli","Magneto","Malgun Gothic","Mangal","Marlett","Matura MT Script Capitals","Meiryo UI","Meiryo","Menlo","Microsoft Himalaya","Microsoft JhengHei","Microsoft New Tai Lue","Microsoft PhagsPa","Microsoft Sans Serif","Microsoft Tai Le","Microsoft Uighur","Microsoft YaHei","Microsoft Yi Baiti","MingLiU","MingLiU-ExtB","MingLiU_HKSCS","MingLiU_HKSCS-ExtB","Miriam Fixed","Miriam","Mongolian Baiti","MoolBoran","NSimSun","Narkisim","News Gothic MT","Niagara Solid","Nyala","PMingLiU","PMingLiU-ExtB","Palace Script MT","Palatino Linotype","Papyrus","Perpetua","Plantagenet Cherokee","Playbill","Prelude Bold","Prelude Condensed Bold","Prelude Condensed Medium","Prelude Medium","PreludeCompressedWGL Black","PreludeCompressedWGL Bold","PreludeCompressedWGL Light","PreludeCompressedWGL Medium","PreludeCondensedWGL Black","PreludeCondensedWGL Bold","PreludeCondensedWGL Light","PreludeCondensedWGL Medium","PreludeWGL Black","PreludeWGL Bold","PreludeWGL Light","PreludeWGL Medium","Raavi","Rachana","Rockwell","Rod","Sakkal Majalla","Sawasdee","Script MT Bold","Segoe Print","Segoe Script","Segoe UI Light","Segoe UI Semibold","Segoe UI Symbol","Segoe UI","Shonar Bangla","Showcard Gothic","Shruti","SimHei","SimSun","SimSun-ExtB","Simplified Arabic Fixed","Simplified Arabic","Snap ITC","Sylfaen","Symbol","Tahoma","Times New Roman Baltic","Times New Roman CE","Times New Roman CYR","Times New Roman Greek","Times New Roman TUR","Times New Roman","TlwgMono","Traditional Arabic","Trebuchet MS","Tunga","Tw Cen MT Condensed Extra Bold","Ubuntu","Umpush","Univers","Utopia","Utsaah","Vani","Verdana","Vijaya","Vladimir Script","Vrinda","Webdings","Wide Latin","Wingdings"],n="",e=0;e<t.length;e++)a.detect(t[e])&&(n+=e==t.length-1?t[e]:t[e]+", ");return n},isLocalStorage:function(){try{return!!r.localStorage}catch(t){return!0}},isSessionStorage:function(){try{return!!r.sessionStorage}catch(t){return!0}},isCookie:function(){return navigator.cookieEnabled},getTimeZone:function(){var t,n;return t=new Date,(n=String(-t.getTimezoneOffset()/60))<0?"-"+("0"+(n*=-1)).slice(-2):"+"+("0"+n).slice(-2)},getLanguage:function(){return navigator.language},getSystemLanguage:function(){return navigator.systemLanguage||window.navigator.language},isCanvas:function(){var t=document.createElement("canvas");try{return!(!t.getContext||!t.getContext("2d"))}catch(t){return!1}},getCanvasPrint:function(){var t,n=document.createElement("canvas");try{t=n.getContext("2d")}catch(t){return""}var e="ClientJS,org <canvas> 1.0";return t.textBaseline="top",t.font="14px 'Arial'",t.textBaseline="alphabetic",t.fillStyle="#f60",t.fillRect(125,1,62,20),t.fillStyle="#069",t.fillText(e,2,15),t.fillStyle="rgba(102, 204, 0, 0.7)",t.fillText(e,4,17),n.toDataURL()}},n.ClientJS=c},function(t,n,o){var a=o(2);t.exports=function(){return"object"==typeof e.g&&e.g&&e.g.Math===Math&&e.g.Array===Array?e.g:a}},function(t,n,e){"undefined"!=typeof self?t.exports=self:"undefined"!=typeof window?t.exports=window:t.exports=Function("return this")()},function(t,n,e){t.exports=function(t,n){var e,o,a,r,i,s,l,c;for(e=3&t.length,o=t.length-e,a=n,i=3432918353,s=461845907,c=0;c<o;)l=255&t.charCodeAt(c)|(255&t.charCodeAt(++c))<<8|(255&t.charCodeAt(++c))<<16|(255&t.charCodeAt(++c))<<24,++c,a=27492+(65535&(r=5*(65535&(a=(a^=l=(65535&(l=(l=(65535&l)*i+(((l>>>16)*i&65535)<<16)&4294967295)<<15|l>>>17))*s+(((l>>>16)*s&65535)<<16)&4294967295)<<13|a>>>19))+((5*(a>>>16)&65535)<<16)&4294967295))+((58964+(r>>>16)&65535)<<16);switch(l=0,e){case 3:l^=(255&t.charCodeAt(c+2))<<16;case 2:l^=(255&t.charCodeAt(c+1))<<8;case 1:a^=l=(65535&(l=(l=(65535&(l^=255&t.charCodeAt(c)))*i+(((l>>>16)*i&65535)<<16)&4294967295)<<15|l>>>17))*s+(((l>>>16)*s&65535)<<16)&4294967295}return a^=t.length,a=2246822507*(65535&(a^=a>>>16))+((2246822507*(a>>>16)&65535)<<16)&4294967295,a=3266489909*(65535&(a^=a>>>13))+((3266489909*(a>>>16)&65535)<<16)&4294967295,(a^=a>>>16)>>>0}},function(t,n,e){var o;!function(a,r){var i="function",s="undefined",l="object",c="string",f="model",d="name",u="type",m="vendor",p="version",y="architecture",g="console",b="mobile",h="tablet",v="smarttv",_="wearable",w="embedded",T="Amazon",x="Apple",k="ASUS",S="BlackBerry",I="Google",C="Huawei",O="LG",E="Microsoft",L="Motorola",P="Samsung",M="Sony",A="Xiaomi",z="Zebra",j="Facebook",R=function(t){var n={};for(var e in t)n[t[e].toUpperCase()]=t[e];return n},D=function(t,n){return typeof t===c&&-1!==B(n).indexOf(B(t))},B=function(t){return t.toLowerCase()},U=function(t,n){if(typeof t===c)return t=t.replace(/^\s\s*/,"").replace(/\s\s*$/,""),typeof n===s?t:t.substring(0,255)},N=function(t,n){for(var e,o,a,s,c,f,d=0;d<n.length&&!c;){var u=n[d],m=n[d+1];for(e=o=0;e<u.length&&!c;)if(c=u[e++].exec(t))for(a=0;a<m.length;a++)f=c[++o],typeof(s=m[a])===l&&s.length>0?2==s.length?typeof s[1]==i?this[s[0]]=s[1].call(this,f):this[s[0]]=s[1]:3==s.length?typeof s[1]!==i||s[1].exec&&s[1].test?this[s[0]]=f?f.replace(s[1],s[2]):r:this[s[0]]=f?s[1].call(this,f,s[2]):r:4==s.length&&(this[s[0]]=f?s[3].call(this,f.replace(s[1],s[2])):r):this[s]=f||r;d+=2}},F=function(t,n){for(var e in n)if(typeof n[e]===l&&n[e].length>0){for(var o=0;o<n[e].length;o++)if(D(n[e][o],t))return"?"===e?r:e}else if(D(n[e],t))return"?"===e?r:e;return t},V={ME:"4.90","NT 3.11":"NT3.51","NT 4.0":"NT4.0",2e3:"NT 5.0",XP:["NT 5.1","NT 5.2"],Vista:"NT 6.0",7:"NT 6.1",8:"NT 6.2",8.1:"NT 6.3",10:["NT 6.4","NT 10.0"],RT:"ARM"},G={browser:[[/\b(?:crmo|crios)\/([\w\.]+)/i],[p,[d,"Chrome"]],[/edg(?:e|ios|a)?\/([\w\.]+)/i],[p,[d,"Edge"]],[/(opera mini)\/([-\w\.]+)/i,/(opera [mobiletab]{3,6})\b.+version\/([-\w\.]+)/i,/(opera)(?:.+version\/|[\/ ]+)([\w\.]+)/i],[d,p],[/opios[\/ ]+([\w\.]+)/i],[p,[d,"Opera Mini"]],[/\bopr\/([\w\.]+)/i],[p,[d,"Opera"]],[/(kindle)\/([\w\.]+)/i,/(lunascape|maxthon|netfront|jasmine|blazer)[\/ ]?([\w\.]*)/i,/(avant |iemobile|slim)(?:browser)?[\/ ]?([\w\.]*)/i,/(ba?idubrowser)[\/ ]?([\w\.]+)/i,/(?:ms|\()(ie) ([\w\.]+)/i,/(flock|rockmelt|midori|epiphany|silk|skyfire|ovibrowser|bolt|iron|vivaldi|iridium|phantomjs|bowser|quark|qupzilla|falkon|rekonq|puffin|brave|whale|qqbrowserlite|qq)\/([-\w\.]+)/i,/(weibo)__([\d\.]+)/i],[d,p],[/(?:\buc? ?browser|(?:juc.+)ucweb)[\/ ]?([\w\.]+)/i],[p,[d,"UCBrowser"]],[/\bqbcore\/([\w\.]+)/i],[p,[d,"WeChat(Win) Desktop"]],[/micromessenger\/([\w\.]+)/i],[p,[d,"WeChat"]],[/konqueror\/([\w\.]+)/i],[p,[d,"Konqueror"]],[/trident.+rv[: ]([\w\.]{1,9})\b.+like gecko/i],[p,[d,"IE"]],[/yabrowser\/([\w\.]+)/i],[p,[d,"Yandex"]],[/(avast|avg)\/([\w\.]+)/i],[[d,/(.+)/,"$1 Secure Browser"],p],[/\bfocus\/([\w\.]+)/i],[p,[d,"Firefox Focus"]],[/\bopt\/([\w\.]+)/i],[p,[d,"Opera Touch"]],[/coc_coc\w+\/([\w\.]+)/i],[p,[d,"Coc Coc"]],[/dolfin\/([\w\.]+)/i],[p,[d,"Dolphin"]],[/coast\/([\w\.]+)/i],[p,[d,"Opera Coast"]],[/miuibrowser\/([\w\.]+)/i],[p,[d,"MIUI Browser"]],[/fxios\/([-\w\.]+)/i],[p,[d,"Firefox"]],[/\bqihu|(qi?ho?o?|360)browser/i],[[d,"360 Browser"]],[/(oculus|samsung|sailfish)browser\/([\w\.]+)/i],[[d,/(.+)/,"$1 Browser"],p],[/(comodo_dragon)\/([\w\.]+)/i],[[d,/_/g," "],p],[/(electron)\/([\w\.]+) safari/i,/(tesla)(?: qtcarbrowser|\/(20\d\d\.[-\w\.]+))/i,/m?(qqbrowser|baiduboxapp|2345Explorer)[\/ ]?([\w\.]+)/i],[d,p],[/(metasr)[\/ ]?([\w\.]+)/i,/(lbbrowser)/i],[d],[/((?:fban\/fbios|fb_iab\/fb4a)(?!.+fbav)|;fbav\/([\w\.]+);)/i],[[d,j],p],[/safari (line)\/([\w\.]+)/i,/\b(line)\/([\w\.]+)\/iab/i,/(chromium|instagram)[\/ ]([-\w\.]+)/i],[d,p],[/\bgsa\/([\w\.]+) .*safari\//i],[p,[d,"GSA"]],[/headlesschrome(?:\/([\w\.]+)| )/i],[p,[d,"Chrome Headless"]],[/ wv\).+(chrome)\/([\w\.]+)/i],[[d,"Chrome WebView"],p],[/droid.+ version\/([\w\.]+)\b.+(?:mobile safari|safari)/i],[p,[d,"Android Browser"]],[/(chrome|omniweb|arora|[tizenoka]{5} ?browser)\/v?([\w\.]+)/i],[d,p],[/version\/([\w\.]+) .*mobile\/\w+ (safari)/i],[p,[d,"Mobile Safari"]],[/version\/([\w\.]+) .*(mobile ?safari|safari)/i],[p,d],[/webkit.+?(mobile ?safari|safari)(\/[\w\.]+)/i],[d,[p,F,{"1.0":"/8",1.2:"/1",1.3:"/3","2.0":"/412","2.0.2":"/416","2.0.3":"/417","2.0.4":"/419","?":"/"}]],[/(webkit|khtml)\/([\w\.]+)/i],[d,p],[/(navigator|netscape\d?)\/([-\w\.]+)/i],[[d,"Netscape"],p],[/mobile vr; rv:([\w\.]+)\).+firefox/i],[p,[d,"Firefox Reality"]],[/ekiohf.+(flow)\/([\w\.]+)/i,/(swiftfox)/i,/(icedragon|iceweasel|camino|chimera|fennec|maemo browser|minimo|conkeror|klar)[\/ ]?([\w\.\+]+)/i,/(seamonkey|k-meleon|icecat|iceape|firebird|phoenix|palemoon|basilisk|waterfox)\/([-\w\.]+)$/i,/(firefox)\/([\w\.]+)/i,/(mozilla)\/([\w\.]+) .+rv\:.+gecko\/\d+/i,/(polaris|lynx|dillo|icab|doris|amaya|w3m|netsurf|sleipnir|obigo|mosaic|(?:go|ice|up)[\. ]?browser)[-\/ ]?v?([\w\.]+)/i,/(links) \(([\w\.]+)/i],[d,p]],cpu:[[/(?:(amd|x(?:(?:86|64)[-_])?|wow|win)64)[;\)]/i],[[y,"amd64"]],[/(ia32(?=;))/i],[[y,B]],[/((?:i[346]|x)86)[;\)]/i],[[y,"ia32"]],[/\b(aarch64|arm(v?8e?l?|_?64))\b/i],[[y,"arm64"]],[/\b(arm(?:v[67])?ht?n?[fl]p?)\b/i],[[y,"armhf"]],[/windows (ce|mobile); ppc;/i],[[y,"arm"]],[/((?:ppc|powerpc)(?:64)?)(?: mac|;|\))/i],[[y,/ower/,"",B]],[/(sun4\w)[;\)]/i],[[y,"sparc"]],[/((?:avr32|ia64(?=;))|68k(?=\))|\barm(?=v(?:[1-7]|[5-7]1)l?|;|eabi)|(?=atmel )avr|(?:irix|mips|sparc)(?:64)?\b|pa-risc)/i],[[y,B]]],device:[[/\b(sch-i[89]0\d|shw-m380s|sm-[pt]\w{2,4}|gt-[pn]\d{2,4}|sgh-t8[56]9|nexus 10)/i],[f,[m,P],[u,h]],[/\b((?:s[cgp]h|gt|sm)-\w+|galaxy nexus)/i,/samsung[- ]([-\w]+)/i,/sec-(sgh\w+)/i],[f,[m,P],[u,b]],[/\((ip(?:hone|od)[\w ]*);/i],[f,[m,x],[u,b]],[/\((ipad);[-\w\),; ]+apple/i,/applecoremedia\/[\w\.]+ \((ipad)/i,/\b(ipad)\d\d?,\d\d?[;\]].+ios/i],[f,[m,x],[u,h]],[/\b((?:ag[rs][23]?|bah2?|sht?|btv)-a?[lw]\d{2})\b(?!.+d\/s)/i],[f,[m,C],[u,h]],[/(?:huawei|honor)([-\w ]+)[;\)]/i,/\b(nexus 6p|\w{2,4}-[atu]?[ln][01259x][012359][an]?)\b(?!.+d\/s)/i],[f,[m,C],[u,b]],[/\b(poco[\w ]+)(?: bui|\))/i,/\b; (\w+) build\/hm\1/i,/\b(hm[-_ ]?note?[_ ]?(?:\d\w)?) bui/i,/\b(redmi[\-_ ]?(?:note|k)?[\w_ ]+)(?: bui|\))/i,/\b(mi[-_ ]?(?:a\d|one|one[_ ]plus|note lte|max)?[_ ]?(?:\d?\w?)[_ ]?(?:plus|se|lite)?)(?: bui|\))/i],[[f,/_/g," "],[m,A],[u,b]],[/\b(mi[-_ ]?(?:pad)(?:[\w_ ]+))(?: bui|\))/i],[[f,/_/g," "],[m,A],[u,h]],[/; (\w+) bui.+ oppo/i,/\b(cph[12]\d{3}|p(?:af|c[al]|d\w|e[ar])[mt]\d0|x9007)\b/i],[f,[m,"OPPO"],[u,b]],[/vivo (\w+)(?: bui|\))/i,/\b(v[12]\d{3}\w?[at])(?: bui|;)/i],[f,[m,"Vivo"],[u,b]],[/\b(rmx[12]\d{3})(?: bui|;|\))/i],[f,[m,"Realme"],[u,b]],[/\b(milestone|droid(?:[2-4x]| (?:bionic|x2|pro|razr))?:?( 4g)?)\b[\w ]+build\//i,/\bmot(?:orola)?[- ](\w*)/i,/((?:moto[\w\(\) ]+|xt\d{3,4}|nexus 6)(?= bui|\)))/i],[f,[m,L],[u,b]],[/\b(mz60\d|xoom[2 ]{0,2}) build\//i],[f,[m,L],[u,h]],[/((?=lg)?[vl]k\-?\d{3}) bui| 3\.[-\w; ]{10}lg?-([06cv9]{3,4})/i],[f,[m,O],[u,h]],[/(lm(?:-?f100[nv]?|-[\w\.]+)(?= bui|\))|nexus [45])/i,/\blg[-e;\/ ]+((?!browser|netcast|android tv)\w+)/i,/\blg-?([\d\w]+) bui/i],[f,[m,O],[u,b]],[/(ideatab[-\w ]+)/i,/lenovo ?(s[56]000[-\w]+|tab(?:[\w ]+)|yt[-\d\w]{6}|tb[-\d\w]{6})/i],[f,[m,"Lenovo"],[u,h]],[/(?:maemo|nokia).*(n900|lumia \d+)/i,/nokia[-_ ]?([-\w\.]*)/i],[[f,/_/g," "],[m,"Nokia"],[u,b]],[/(pixel c)\b/i],[f,[m,I],[u,h]],[/droid.+; (pixel[\daxl ]{0,6})(?: bui|\))/i],[f,[m,I],[u,b]],[/droid.+ ([c-g]\d{4}|so[-gl]\w+|xq-a\w[4-7][12])(?= bui|\).+chrome\/(?![1-6]{0,1}\d\.))/i],[f,[m,M],[u,b]],[/sony tablet [ps]/i,/\b(?:sony)?sgp\w+(?: bui|\))/i],[[f,"Xperia Tablet"],[m,M],[u,h]],[/ (kb2005|in20[12]5|be20[12][59])\b/i,/(?:one)?(?:plus)? (a\d0\d\d)(?: b|\))/i],[f,[m,"OnePlus"],[u,b]],[/(alexa)webm/i,/(kf[a-z]{2}wi)( bui|\))/i,/(kf[a-z]+)( bui|\)).+silk\//i],[f,[m,T],[u,h]],[/((?:sd|kf)[0349hijorstuw]+)( bui|\)).+silk\//i],[[f,/(.+)/g,"Fire Phone $1"],[m,T],[u,b]],[/(playbook);[-\w\),; ]+(rim)/i],[f,m,[u,h]],[/\b((?:bb[a-f]|st[hv])100-\d)/i,/\(bb10; (\w+)/i],[f,[m,S],[u,b]],[/(?:\b|asus_)(transfo[prime ]{4,10} \w+|eeepc|slider \w+|nexus 7|padfone|p00[cj])/i],[f,[m,k],[u,h]],[/ (z[bes]6[027][012][km][ls]|zenfone \d\w?)\b/i],[f,[m,k],[u,b]],[/(nexus 9)/i],[f,[m,"HTC"],[u,h]],[/(htc)[-;_ ]{1,2}([\w ]+(?=\)| bui)|\w+)/i,/(zte)[- ]([\w ]+?)(?: bui|\/|\))/i,/(alcatel|geeksphone|nexian|panasonic|sony)[-_ ]?([-\w]*)/i],[m,[f,/_/g," "],[u,b]],[/droid.+; ([ab][1-7]-?[0178a]\d\d?)/i],[f,[m,"Acer"],[u,h]],[/droid.+; (m[1-5] note) bui/i,/\bmz-([-\w]{2,})/i],[f,[m,"Meizu"],[u,b]],[/\b(sh-?[altvz]?\d\d[a-ekm]?)/i],[f,[m,"Sharp"],[u,b]],[/(blackberry|benq|palm(?=\-)|sonyericsson|acer|asus|dell|meizu|motorola|polytron)[-_ ]?([-\w]*)/i,/(hp) ([\w ]+\w)/i,/(asus)-?(\w+)/i,/(microsoft); (lumia[\w ]+)/i,/(lenovo)[-_ ]?([-\w]+)/i,/(jolla)/i,/(oppo) ?([\w ]+) bui/i],[m,f,[u,b]],[/(archos) (gamepad2?)/i,/(hp).+(touchpad(?!.+tablet)|tablet)/i,/(kindle)\/([\w\.]+)/i,/(nook)[\w ]+build\/(\w+)/i,/(dell) (strea[kpr\d ]*[\dko])/i,/(le[- ]+pan)[- ]+(\w{1,9}) bui/i,/(trinity)[- ]*(t\d{3}) bui/i,/(gigaset)[- ]+(q\w{1,9}) bui/i,/(vodafone) ([\w ]+)(?:\)| bui)/i],[m,f,[u,h]],[/(surface duo)/i],[f,[m,E],[u,h]],[/droid [\d\.]+; (fp\du?)(?: b|\))/i],[f,[m,"Fairphone"],[u,b]],[/(u304aa)/i],[f,[m,"AT&T"],[u,b]],[/\bsie-(\w*)/i],[f,[m,"Siemens"],[u,b]],[/\b(rct\w+) b/i],[f,[m,"RCA"],[u,h]],[/\b(venue[\d ]{2,7}) b/i],[f,[m,"Dell"],[u,h]],[/\b(q(?:mv|ta)\w+) b/i],[f,[m,"Verizon"],[u,h]],[/\b(?:barnes[& ]+noble |bn[rt])([\w\+ ]*) b/i],[f,[m,"Barnes & Noble"],[u,h]],[/\b(tm\d{3}\w+) b/i],[f,[m,"NuVision"],[u,h]],[/\b(k88) b/i],[f,[m,"ZTE"],[u,h]],[/\b(nx\d{3}j) b/i],[f,[m,"ZTE"],[u,b]],[/\b(gen\d{3}) b.+49h/i],[f,[m,"Swiss"],[u,b]],[/\b(zur\d{3}) b/i],[f,[m,"Swiss"],[u,h]],[/\b((zeki)?tb.*\b) b/i],[f,[m,"Zeki"],[u,h]],[/\b([yr]\d{2}) b/i,/\b(dragon[- ]+touch |dt)(\w{5}) b/i],[[m,"Dragon Touch"],f,[u,h]],[/\b(ns-?\w{0,9}) b/i],[f,[m,"Insignia"],[u,h]],[/\b((nxa|next)-?\w{0,9}) b/i],[f,[m,"NextBook"],[u,h]],[/\b(xtreme\_)?(v(1[045]|2[015]|[3469]0|7[05])) b/i],[[m,"Voice"],f,[u,b]],[/\b(lvtel\-)?(v1[12]) b/i],[[m,"LvTel"],f,[u,b]],[/\b(ph-1) /i],[f,[m,"Essential"],[u,b]],[/\b(v(100md|700na|7011|917g).*\b) b/i],[f,[m,"Envizen"],[u,h]],[/\b(trio[-\w\. ]+) b/i],[f,[m,"MachSpeed"],[u,h]],[/\btu_(1491) b/i],[f,[m,"Rotor"],[u,h]],[/(shield[\w ]+) b/i],[f,[m,"Nvidia"],[u,h]],[/(sprint) (\w+)/i],[m,f,[u,b]],[/(kin\.[onetw]{3})/i],[[f,/\./g," "],[m,E],[u,b]],[/droid.+; (cc6666?|et5[16]|mc[239][23]x?|vc8[03]x?)\)/i],[f,[m,z],[u,h]],[/droid.+; (ec30|ps20|tc[2-8]\d[kx])\)/i],[f,[m,z],[u,b]],[/(ouya)/i,/(nintendo) ([wids3utch]+)/i],[m,f,[u,g]],[/droid.+; (shield) bui/i],[f,[m,"Nvidia"],[u,g]],[/(playstation [345portablevi]+)/i],[f,[m,M],[u,g]],[/\b(xbox(?: one)?(?!; xbox))[\); ]/i],[f,[m,E],[u,g]],[/smart-tv.+(samsung)/i],[m,[u,v]],[/hbbtv.+maple;(\d+)/i],[[f,/^/,"SmartTV"],[m,P],[u,v]],[/(nux; netcast.+smarttv|lg (netcast\.tv-201\d|android tv))/i],[[m,O],[u,v]],[/(apple) ?tv/i],[m,[f,"Apple TV"],[u,v]],[/crkey/i],[[f,"Chromecast"],[m,I],[u,v]],[/droid.+aft(\w)( bui|\))/i],[f,[m,T],[u,v]],[/\(dtv[\);].+(aquos)/i],[f,[m,"Sharp"],[u,v]],[/\b(roku)[\dx]*[\)\/]((?:dvp-)?[\d\.]*)/i,/hbbtv\/\d+\.\d+\.\d+ +\([\w ]*; *(\w[^;]*);([^;]*)/i],[[m,U],[f,U],[u,v]],[/\b(android tv|smart[- ]?tv|opera tv|tv; rv:)\b/i],[[u,v]],[/((pebble))app/i],[m,f,[u,_]],[/droid.+; (glass) \d/i],[f,[m,I],[u,_]],[/droid.+; (wt63?0{2,3})\)/i],[f,[m,z],[u,_]],[/(quest( 2)?)/i],[f,[m,j],[u,_]],[/(tesla)(?: qtcarbrowser|\/[-\w\.]+)/i],[m,[u,w]],[/droid .+?; ([^;]+?)(?: bui|\) applew).+? mobile safari/i],[f,[u,b]],[/droid .+?; ([^;]+?)(?: bui|\) applew).+?(?! mobile) safari/i],[f,[u,h]],[/\b((tablet|tab)[;\/]|focus\/\d(?!.+mobile))/i],[[u,h]],[/(phone|mobile(?:[;\/]| safari)|pda(?=.+windows ce))/i],[[u,b]],[/(android[-\w\. ]{0,9});.+buil/i],[f,[m,"Generic"]]],engine:[[/windows.+ edge\/([\w\.]+)/i],[p,[d,"EdgeHTML"]],[/webkit\/537\.36.+chrome\/(?!27)([\w\.]+)/i],[p,[d,"Blink"]],[/(presto)\/([\w\.]+)/i,/(webkit|trident|netfront|netsurf|amaya|lynx|w3m|goanna)\/([\w\.]+)/i,/ekioh(flow)\/([\w\.]+)/i,/(khtml|tasman|links)[\/ ]\(?([\w\.]+)/i,/(icab)[\/ ]([23]\.[\d\.]+)/i],[d,p],[/rv\:([\w\.]{1,9})\b.+(gecko)/i],[p,d]],os:[[/microsoft (windows) (vista|xp)/i],[d,p],[/(windows) nt 6\.2; (arm)/i,/(windows (?:phone(?: os)?|mobile))[\/ ]?([\d\.\w ]*)/i,/(windows)[\/ ]?([ntce\d\. ]+\w)(?!.+xbox)/i],[d,[p,F,V]],[/(win(?=3|9|n)|win 9x )([nt\d\.]+)/i],[[d,"Windows"],[p,F,V]],[/ip[honead]{2,4}\b(?:.*os ([\w]+) like mac|; opera)/i,/cfnetwork\/.+darwin/i],[[p,/_/g,"."],[d,"iOS"]],[/(mac os x) ?([\w\. ]*)/i,/(macintosh|mac_powerpc\b)(?!.+haiku)/i],[[d,"Mac OS"],[p,/_/g,"."]],[/droid ([\w\.]+)\b.+(android[- ]x86)/i],[p,d],[/(android|webos|qnx|bada|rim tablet os|maemo|meego|sailfish)[-\/ ]?([\w\.]*)/i,/(blackberry)\w*\/([\w\.]*)/i,/(tizen|kaios)[\/ ]([\w\.]+)/i,/\((series40);/i],[d,p],[/\(bb(10);/i],[p,[d,S]],[/(?:symbian ?os|symbos|s60(?=;)|series60)[-\/ ]?([\w\.]*)/i],[p,[d,"Symbian"]],[/mozilla\/[\d\.]+ \((?:mobile|tablet|tv|mobile; [\w ]+); rv:.+ gecko\/([\w\.]+)/i],[p,[d,"Firefox OS"]],[/web0s;.+rt(tv)/i,/\b(?:hp)?wos(?:browser)?\/([\w\.]+)/i],[p,[d,"webOS"]],[/crkey\/([\d\.]+)/i],[p,[d,"Chromecast"]],[/(cros) [\w]+ ([\w\.]+\w)/i],[[d,"Chromium OS"],p],[/(nintendo|playstation) ([wids345portablevuch]+)/i,/(xbox); +xbox ([^\);]+)/i,/\b(joli|palm)\b ?(?:os)?\/?([\w\.]*)/i,/(mint)[\/\(\) ]?(\w*)/i,/(mageia|vectorlinux)[; ]/i,/([kxln]?ubuntu|debian|suse|opensuse|gentoo|arch(?= linux)|slackware|fedora|mandriva|centos|pclinuxos|red ?hat|zenwalk|linpus|raspbian|plan 9|minix|risc os|contiki|deepin|manjaro|elementary os|sabayon|linspire)(?: gnu\/linux)?(?: enterprise)?(?:[- ]linux)?(?:-gnu)?[-\/ ]?(?!chrom|package)([-\w\.]*)/i,/(hurd|linux) ?([\w\.]*)/i,/(gnu) ?([\w\.]*)/i,/\b([-frentopcghs]{0,5}bsd|dragonfly)[\/ ]?(?!amd|[ix346]{1,2}86)([\w\.]*)/i,/(haiku) (\w+)/i],[d,p],[/(sunos) ?([\w\.\d]*)/i],[[d,"Solaris"],p],[/((?:open)?solaris)[-\/ ]?([\w\.]*)/i,/(aix) ((\d)(?=\.|\)| )[\w\.])*/i,/\b(beos|os\/2|amigaos|morphos|openvms|fuchsia|hp-ux)/i,/(unix) ?([\w\.]*)/i],[d,p]]},H=function(t,n){if(typeof t===l&&(n=t,t=r),!(this instanceof H))return new H(t,n).getResult();var e=t||(typeof a!==s&&a.navigator&&a.navigator.userAgent?a.navigator.userAgent:""),o=n?function(t,n){var e={};for(var o in t)n[o]&&n[o].length%2==0?e[o]=n[o].concat(t[o]):e[o]=t[o];return e}(G,n):G;return this.getBrowser=function(){var t,n={};return n.name=r,n.version=r,N.call(n,e,o.browser),n.major=typeof(t=n.version)===c?t.replace(/[^\d\.]/g,"").split(".")[0]:r,n},this.getCPU=function(){var t={};return t.architecture=r,N.call(t,e,o.cpu),t},this.getDevice=function(){var t={};return t.vendor=r,t.model=r,t.type=r,N.call(t,e,o.device),t},this.getEngine=function(){var t={};return t.name=r,t.version=r,N.call(t,e,o.engine),t},this.getOS=function(){var t={};return t.name=r,t.version=r,N.call(t,e,o.os),t},this.getResult=function(){return{ua:this.getUA(),browser:this.getBrowser(),engine:this.getEngine(),os:this.getOS(),device:this.getDevice(),cpu:this.getCPU()}},this.getUA=function(){return e},this.setUA=function(t){return e=typeof t===c&&t.length>255?U(t,255):t,this},this.setUA(e),this};H.VERSION="0.7.30",H.BROWSER=R([d,p,"major"]),H.CPU=R([y]),H.DEVICE=R([f,m,u,g,b,v,h,_,w]),H.ENGINE=H.OS=R([d,p]),typeof n!==s?(typeof t!==s&&t.exports&&(n=t.exports=H),n.UAParser=H):e(5)?(o=function(){return H}.call(n,e,n,t))===r||(t.exports=o):typeof a!==s&&(a.UAParser=H);var $=typeof a!==s&&(a.jQuery||a.Zepto);if($&&!$.ua){var q=new H;$.ua=q.getResult(),$.ua.get=function(){return q.getUA()},$.ua.set=function(t){q.setUA(t);var n=q.getResult();for(var e in n)$.ua[e]=n[e]}}}("object"==typeof window?window:this)},function(t,n){(function(n){t.exports=n}).call(this,{})},function(t,n){t.exports=function(){var t=["monospace","sans-serif","serif"],n=document.getElementsByTagName("body")[0],e=document.createElement("span");e.style.fontSize="72px",e.innerHTML="mmmmmmmmmmlli";var o={},a={};for(var r in t)e.style.fontFamily=t[r],n.appendChild(e),o[t[r]]=e.offsetWidth,a[t[r]]=e.offsetHeight,n.removeChild(e);this.detect=function(r){var i=!1;for(var s in t){e.style.fontFamily=r+","+t[s],n.appendChild(e);var l=e.offsetWidth!=o[t[s]]||e.offsetHeight!=a[t[s]];n.removeChild(e),i=i||l}return i}}}])},750(t,n,e){var o=e(601),a=e.n(o),r=e(314);e.n(r)()(a()).push([t.id,":root {\n --toastify-color-light: #fff;\n --toastify-color-dark: #121212;\n --toastify-color-info: #3498db;\n --toastify-color-success: #07bc0c;\n --toastify-color-warning: #f1c40f;\n --toastify-color-error: hsl(6, 78%, 57%);\n --toastify-color-transparent: rgba(255, 255, 255, 0.7);\n\n --toastify-icon-color-info: var(--toastify-color-info);\n --toastify-icon-color-success: var(--toastify-color-success);\n --toastify-icon-color-warning: var(--toastify-color-warning);\n --toastify-icon-color-error: var(--toastify-color-error);\n\n --toastify-container-width: fit-content;\n --toastify-toast-width: 320px;\n --toastify-toast-offset: 16px;\n --toastify-toast-top: max(var(--toastify-toast-offset), env(safe-area-inset-top));\n --toastify-toast-right: max(var(--toastify-toast-offset), env(safe-area-inset-right));\n --toastify-toast-left: max(var(--toastify-toast-offset), env(safe-area-inset-left));\n --toastify-toast-bottom: max(var(--toastify-toast-offset), env(safe-area-inset-bottom));\n --toastify-toast-background: #fff;\n --toastify-toast-padding: 14px;\n --toastify-toast-min-height: 64px;\n --toastify-toast-max-height: 800px;\n --toastify-toast-bd-radius: 6px;\n --toastify-toast-shadow: 0px 4px 12px rgba(0, 0, 0, 0.1);\n --toastify-font-family: sans-serif;\n --toastify-z-index: 9999;\n --toastify-text-color-light: #757575;\n --toastify-text-color-dark: #fff;\n\n /* Used only for colored theme */\n --toastify-text-color-info: #fff;\n --toastify-text-color-success: #fff;\n --toastify-text-color-warning: #fff;\n --toastify-text-color-error: #fff;\n\n --toastify-spinner-color: #616161;\n --toastify-spinner-color-empty-area: #e0e0e0;\n --toastify-color-progress-light: linear-gradient(to right, #4cd964, #5ac8fa, #007aff, #34aadc, #5856d6, #ff2d55);\n --toastify-color-progress-dark: #bb86fc;\n --toastify-color-progress-info: var(--toastify-color-info);\n --toastify-color-progress-success: var(--toastify-color-success);\n --toastify-color-progress-warning: var(--toastify-color-warning);\n --toastify-color-progress-error: var(--toastify-color-error);\n /* used to control the opacity of the progress trail */\n --toastify-color-progress-bgo: 0.2;\n}\n\n.Toastify__toast-container {\n z-index: var(--toastify-z-index);\n -webkit-transform: translate3d(0, 0, var(--toastify-z-index));\n position: fixed;\n width: var(--toastify-container-width);\n box-sizing: border-box;\n color: #fff;\n display: flex;\n flex-direction: column;\n}\n\n.Toastify__toast-container--top-left {\n top: var(--toastify-toast-top);\n left: var(--toastify-toast-left);\n}\n.Toastify__toast-container--top-center {\n top: var(--toastify-toast-top);\n left: 50%;\n transform: translateX(-50%);\n align-items: center;\n}\n.Toastify__toast-container--top-right {\n top: var(--toastify-toast-top);\n right: var(--toastify-toast-right);\n align-items: end;\n}\n.Toastify__toast-container--bottom-left {\n bottom: var(--toastify-toast-bottom);\n left: var(--toastify-toast-left);\n}\n.Toastify__toast-container--bottom-center {\n bottom: var(--toastify-toast-bottom);\n left: 50%;\n transform: translateX(-50%);\n align-items: center;\n}\n.Toastify__toast-container--bottom-right {\n bottom: var(--toastify-toast-bottom);\n right: var(--toastify-toast-right);\n align-items: end;\n}\n\n.Toastify__toast {\n --y: 0px;\n position: relative;\n touch-action: none;\n width: var(--toastify-toast-width);\n min-height: var(--toastify-toast-min-height);\n box-sizing: border-box;\n margin-bottom: 1rem;\n padding: var(--toastify-toast-padding);\n border-radius: var(--toastify-toast-bd-radius);\n box-shadow: var(--toastify-toast-shadow);\n max-height: var(--toastify-toast-max-height);\n font-family: var(--toastify-font-family);\n /* webkit only issue #791 */\n z-index: 0;\n /* inner swag */\n display: flex;\n flex: 1 auto;\n align-items: center;\n word-break: break-word;\n}\n\n@media only screen and (max-width: 480px) {\n .Toastify__toast-container {\n width: 100vw;\n left: env(safe-area-inset-left);\n margin: 0;\n }\n .Toastify__toast-container--top-left,\n .Toastify__toast-container--top-center,\n .Toastify__toast-container--top-right {\n top: env(safe-area-inset-top);\n transform: translateX(0);\n }\n .Toastify__toast-container--bottom-left,\n .Toastify__toast-container--bottom-center,\n .Toastify__toast-container--bottom-right {\n bottom: env(safe-area-inset-bottom);\n transform: translateX(0);\n }\n .Toastify__toast-container--rtl {\n right: env(safe-area-inset-right);\n left: initial;\n }\n .Toastify__toast {\n --toastify-toast-width: 100%;\n margin-bottom: 0;\n border-radius: 0;\n }\n}\n\n.Toastify__toast-container[data-stacked='true'] {\n width: var(--toastify-toast-width);\n}\n\n@media only screen and (max-width: 480px) {\n .Toastify__toast-container[data-stacked='true'] {\n width: 100vw;\n }\n}\n\n.Toastify__toast--stacked {\n position: absolute;\n width: 100%;\n transform: translate3d(0, var(--y), 0) scale(var(--s));\n transition: transform 0.3s;\n}\n\n.Toastify__toast--stacked[data-collapsed] .Toastify__toast-body,\n.Toastify__toast--stacked[data-collapsed] .Toastify__close-button {\n transition: opacity 0.1s;\n}\n\n.Toastify__toast--stacked[data-collapsed='false'] {\n overflow: visible;\n}\n\n.Toastify__toast--stacked[data-collapsed='true']:not(:last-child) > * {\n opacity: 0;\n}\n\n.Toastify__toast--stacked:after {\n content: '';\n position: absolute;\n left: 0;\n right: 0;\n height: calc(var(--g) * 1px);\n bottom: 100%;\n}\n\n.Toastify__toast--stacked[data-pos='top'] {\n top: 0;\n}\n\n.Toastify__toast--stacked[data-pos='bot'] {\n bottom: 0;\n}\n\n.Toastify__toast--stacked[data-pos='bot'].Toastify__toast--stacked:before {\n transform-origin: top;\n}\n\n.Toastify__toast--stacked[data-pos='top'].Toastify__toast--stacked:before {\n transform-origin: bottom;\n}\n\n.Toastify__toast--stacked:before {\n content: '';\n position: absolute;\n left: 0;\n right: 0;\n bottom: 0;\n height: 100%;\n transform: scaleY(3);\n z-index: -1;\n}\n\n.Toastify__toast--rtl {\n direction: rtl;\n}\n\n.Toastify__toast--close-on-click {\n cursor: pointer;\n}\n\n.Toastify__toast-icon {\n margin-inline-end: 10px;\n width: 22px;\n flex-shrink: 0;\n display: flex;\n}\n\n.Toastify--animate {\n animation-fill-mode: both;\n animation-duration: 0.5s;\n}\n\n.Toastify--animate-icon {\n animation-fill-mode: both;\n animation-duration: 0.3s;\n}\n\n.Toastify__toast-theme--dark {\n background: var(--toastify-color-dark);\n color: var(--toastify-text-color-dark);\n}\n\n.Toastify__toast-theme--light {\n background: var(--toastify-color-light);\n color: var(--toastify-text-color-light);\n}\n\n.Toastify__toast-theme--colored.Toastify__toast--default {\n background: var(--toastify-color-light);\n color: var(--toastify-text-color-light);\n}\n\n.Toastify__toast-theme--colored.Toastify__toast--info {\n color: var(--toastify-text-color-info);\n background: var(--toastify-color-info);\n}\n\n.Toastify__toast-theme--colored.Toastify__toast--success {\n color: var(--toastify-text-color-success);\n background: var(--toastify-color-success);\n}\n\n.Toastify__toast-theme--colored.Toastify__toast--warning {\n color: var(--toastify-text-color-warning);\n background: var(--toastify-color-warning);\n}\n\n.Toastify__toast-theme--colored.Toastify__toast--error {\n color: var(--toastify-text-color-error);\n background: var(--toastify-color-error);\n}\n\n.Toastify__progress-bar-theme--light {\n background: var(--toastify-color-progress-light);\n}\n\n.Toastify__progress-bar-theme--dark {\n background: var(--toastify-color-progress-dark);\n}\n\n.Toastify__progress-bar--info {\n background: var(--toastify-color-progress-info);\n}\n\n.Toastify__progress-bar--success {\n background: var(--toastify-color-progress-success);\n}\n\n.Toastify__progress-bar--warning {\n background: var(--toastify-color-progress-warning);\n}\n\n.Toastify__progress-bar--error {\n background: var(--toastify-color-progress-error);\n}\n\n.Toastify__progress-bar-theme--colored.Toastify__progress-bar--info,\n.Toastify__progress-bar-theme--colored.Toastify__progress-bar--success,\n.Toastify__progress-bar-theme--colored.Toastify__progress-bar--warning,\n.Toastify__progress-bar-theme--colored.Toastify__progress-bar--error {\n background: var(--toastify-color-transparent);\n}\n\n.Toastify__close-button {\n color: #fff;\n position: absolute;\n top: 6px;\n right: 6px;\n background: transparent;\n outline: none;\n border: none;\n padding: 0;\n cursor: pointer;\n opacity: 0.7;\n transition: 0.3s ease;\n z-index: 1;\n}\n\n.Toastify__toast--rtl .Toastify__close-button {\n left: 6px;\n right: unset;\n}\n\n.Toastify__close-button--light {\n color: #000;\n opacity: 0.3;\n}\n\n.Toastify__close-button > svg {\n fill: currentColor;\n height: 16px;\n width: 14px;\n}\n\n.Toastify__close-button:hover,\n.Toastify__close-button:focus {\n opacity: 1;\n}\n\n@keyframes Toastify__trackProgress {\n 0% {\n transform: scaleX(1);\n }\n 100% {\n transform: scaleX(0);\n }\n}\n\n.Toastify__progress-bar {\n position: absolute;\n bottom: 0;\n left: 0;\n width: 100%;\n height: 100%;\n z-index: 1;\n opacity: 0.7;\n transform-origin: left;\n}\n\n.Toastify__progress-bar--animated {\n animation: Toastify__trackProgress linear 1 forwards;\n}\n\n.Toastify__progress-bar--controlled {\n transition: transform 0.2s;\n}\n\n.Toastify__progress-bar--rtl {\n right: 0;\n left: initial;\n transform-origin: right;\n border-bottom-left-radius: initial;\n}\n\n.Toastify__progress-bar--wrp {\n position: absolute;\n overflow: hidden;\n bottom: 0;\n left: 0;\n width: 100%;\n height: 5px;\n border-bottom-left-radius: var(--toastify-toast-bd-radius);\n border-bottom-right-radius: var(--toastify-toast-bd-radius);\n}\n\n.Toastify__progress-bar--wrp[data-hidden='true'] {\n opacity: 0;\n}\n\n.Toastify__progress-bar--bg {\n opacity: var(--toastify-color-progress-bgo);\n width: 100%;\n height: 100%;\n}\n\n.Toastify__spinner {\n width: 20px;\n height: 20px;\n box-sizing: border-box;\n border: 2px solid;\n border-radius: 100%;\n border-color: var(--toastify-spinner-color-empty-area);\n border-right-color: var(--toastify-spinner-color);\n animation: Toastify__spin 0.65s linear infinite;\n}\n\n@keyframes Toastify__bounceInRight {\n from,\n 60%,\n 75%,\n 90%,\n to {\n animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);\n }\n from {\n opacity: 0;\n transform: translate3d(3000px, 0, 0);\n }\n 60% {\n opacity: 1;\n transform: translate3d(-25px, 0, 0);\n }\n 75% {\n transform: translate3d(10px, 0, 0);\n }\n 90% {\n transform: translate3d(-5px, 0, 0);\n }\n to {\n transform: none;\n }\n}\n\n@keyframes Toastify__bounceOutRight {\n 20% {\n opacity: 1;\n transform: translate3d(-20px, var(--y), 0);\n }\n to {\n opacity: 0;\n transform: translate3d(2000px, var(--y), 0);\n }\n}\n\n@keyframes Toastify__bounceInLeft {\n from,\n 60%,\n 75%,\n 90%,\n to {\n animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);\n }\n 0% {\n opacity: 0;\n transform: translate3d(-3000px, 0, 0);\n }\n 60% {\n opacity: 1;\n transform: translate3d(25px, 0, 0);\n }\n 75% {\n transform: translate3d(-10px, 0, 0);\n }\n 90% {\n transform: translate3d(5px, 0, 0);\n }\n to {\n transform: none;\n }\n}\n\n@keyframes Toastify__bounceOutLeft {\n 20% {\n opacity: 1;\n transform: translate3d(20px, var(--y), 0);\n }\n to {\n opacity: 0;\n transform: translate3d(-2000px, var(--y), 0);\n }\n}\n\n@keyframes Toastify__bounceInUp {\n from,\n 60%,\n 75%,\n 90%,\n to {\n animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);\n }\n from {\n opacity: 0;\n transform: translate3d(0, 3000px, 0);\n }\n 60% {\n opacity: 1;\n transform: translate3d(0, -20px, 0);\n }\n 75% {\n transform: translate3d(0, 10px, 0);\n }\n 90% {\n transform: translate3d(0, -5px, 0);\n }\n to {\n transform: translate3d(0, 0, 0);\n }\n}\n\n@keyframes Toastify__bounceOutUp {\n 20% {\n transform: translate3d(0, calc(var(--y) - 10px), 0);\n }\n 40%,\n 45% {\n opacity: 1;\n transform: translate3d(0, calc(var(--y) + 20px), 0);\n }\n to {\n opacity: 0;\n transform: translate3d(0, -2000px, 0);\n }\n}\n\n@keyframes Toastify__bounceInDown {\n from,\n 60%,\n 75%,\n 90%,\n to {\n animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);\n }\n 0% {\n opacity: 0;\n transform: translate3d(0, -3000px, 0);\n }\n 60% {\n opacity: 1;\n transform: translate3d(0, 25px, 0);\n }\n 75% {\n transform: translate3d(0, -10px, 0);\n }\n 90% {\n transform: translate3d(0, 5px, 0);\n }\n to {\n transform: none;\n }\n}\n\n@keyframes Toastify__bounceOutDown {\n 20% {\n transform: translate3d(0, calc(var(--y) - 10px), 0);\n }\n 40%,\n 45% {\n opacity: 1;\n transform: translate3d(0, calc(var(--y) + 20px), 0);\n }\n to {\n opacity: 0;\n transform: translate3d(0, 2000px, 0);\n }\n}\n\n.Toastify__bounce-enter--top-left,\n.Toastify__bounce-enter--bottom-left {\n animation-name: Toastify__bounceInLeft;\n}\n\n.Toastify__bounce-enter--top-right,\n.Toastify__bounce-enter--bottom-right {\n animation-name: Toastify__bounceInRight;\n}\n\n.Toastify__bounce-enter--top-center {\n animation-name: Toastify__bounceInDown;\n}\n\n.Toastify__bounce-enter--bottom-center {\n animation-name: Toastify__bounceInUp;\n}\n\n.Toastify__bounce-exit--top-left,\n.Toastify__bounce-exit--bottom-left {\n animation-name: Toastify__bounceOutLeft;\n}\n\n.Toastify__bounce-exit--top-right,\n.Toastify__bounce-exit--bottom-right {\n animation-name: Toastify__bounceOutRight;\n}\n\n.Toastify__bounce-exit--top-center {\n animation-name: Toastify__bounceOutUp;\n}\n\n.Toastify__bounce-exit--bottom-center {\n animation-name: Toastify__bounceOutDown;\n}\n\n@keyframes Toastify__zoomIn {\n from {\n opacity: 0;\n transform: scale3d(0.3, 0.3, 0.3);\n }\n 50% {\n opacity: 1;\n }\n}\n\n@keyframes Toastify__zoomOut {\n from {\n opacity: 1;\n }\n 50% {\n opacity: 0;\n transform: translate3d(0, var(--y), 0) scale3d(0.3, 0.3, 0.3);\n }\n to {\n opacity: 0;\n }\n}\n\n.Toastify__zoom-enter {\n animation-name: Toastify__zoomIn;\n}\n\n.Toastify__zoom-exit {\n animation-name: Toastify__zoomOut;\n}\n\n@keyframes Toastify__flipIn {\n from {\n transform: perspective(400px) rotate3d(1, 0, 0, 90deg);\n animation-timing-function: ease-in;\n opacity: 0;\n }\n 40% {\n transform: perspective(400px) rotate3d(1, 0, 0, -20deg);\n animation-timing-function: ease-in;\n }\n 60% {\n transform: perspective(400px) rotate3d(1, 0, 0, 10deg);\n opacity: 1;\n }\n 80% {\n transform: perspective(400px) rotate3d(1, 0, 0, -5deg);\n }\n to {\n transform: perspective(400px);\n }\n}\n\n@keyframes Toastify__flipOut {\n from {\n transform: translate3d(0, var(--y), 0) perspective(400px);\n }\n 30% {\n transform: translate3d(0, var(--y), 0) perspective(400px) rotate3d(1, 0, 0, -20deg);\n opacity: 1;\n }\n to {\n transform: translate3d(0, var(--y), 0) perspective(400px) rotate3d(1, 0, 0, 90deg);\n opacity: 0;\n }\n}\n\n.Toastify__flip-enter {\n animation-name: Toastify__flipIn;\n}\n\n.Toastify__flip-exit {\n animation-name: Toastify__flipOut;\n}\n\n@keyframes Toastify__slideInRight {\n from {\n transform: translate3d(110%, 0, 0);\n visibility: visible;\n }\n to {\n transform: translate3d(0, var(--y), 0);\n }\n}\n\n@keyframes Toastify__slideInLeft {\n from {\n transform: translate3d(-110%, 0, 0);\n visibility: visible;\n }\n to {\n transform: translate3d(0, var(--y), 0);\n }\n}\n\n@keyframes Toastify__slideInUp {\n from {\n transform: translate3d(0, 110%, 0);\n visibility: visible;\n }\n to {\n transform: translate3d(0, var(--y), 0);\n }\n}\n\n@keyframes Toastify__slideInDown {\n from {\n transform: translate3d(0, -110%, 0);\n visibility: visible;\n }\n to {\n transform: translate3d(0, var(--y), 0);\n }\n}\n\n@keyframes Toastify__slideOutRight {\n from {\n transform: translate3d(0, var(--y), 0);\n }\n to {\n visibility: hidden;\n transform: translate3d(110%, var(--y), 0);\n }\n}\n\n@keyframes Toastify__slideOutLeft {\n from {\n transform: translate3d(0, var(--y), 0);\n }\n to {\n visibility: hidden;\n transform: translate3d(-110%, var(--y), 0);\n }\n}\n\n@keyframes Toastify__slideOutDown {\n from {\n transform: translate3d(0, var(--y), 0);\n }\n to {\n visibility: hidden;\n transform: translate3d(0, 500px, 0);\n }\n}\n\n@keyframes Toastify__slideOutUp {\n from {\n transform: translate3d(0, var(--y), 0);\n }\n to {\n visibility: hidden;\n transform: translate3d(0, -500px, 0);\n }\n}\n\n.Toastify__slide-enter--top-left,\n.Toastify__slide-enter--bottom-left {\n animation-name: Toastify__slideInLeft;\n}\n\n.Toastify__slide-enter--top-right,\n.Toastify__slide-enter--bottom-right {\n animation-name: Toastify__slideInRight;\n}\n\n.Toastify__slide-enter--top-center {\n animation-name: Toastify__slideInDown;\n}\n\n.Toastify__slide-enter--bottom-center {\n animation-name: Toastify__slideInUp;\n}\n\n.Toastify__slide-exit--top-left,\n.Toastify__slide-exit--bottom-left {\n animation-name: Toastify__slideOutLeft;\n animation-timing-function: ease-in;\n animation-duration: 0.3s;\n}\n\n.Toastify__slide-exit--top-right,\n.Toastify__slide-exit--bottom-right {\n animation-name: Toastify__slideOutRight;\n animation-timing-function: ease-in;\n animation-duration: 0.3s;\n}\n\n.Toastify__slide-exit--top-center {\n animation-name: Toastify__slideOutUp;\n animation-timing-function: ease-in;\n animation-duration: 0.3s;\n}\n\n.Toastify__slide-exit--bottom-center {\n animation-name: Toastify__slideOutDown;\n animation-timing-function: ease-in;\n animation-duration: 0.3s;\n}\n\n@keyframes Toastify__spin {\n from {\n transform: rotate(0deg);\n }\n to {\n transform: rotate(360deg);\n }\n}\n",""])},533(t,n,e){var o=e(601),a=e.n(o),r=e(314);e.n(r)()(a()).push([t.id,':root {\n --main: #303030;\n --themec: #303030;\n --default: #303030;\n --contrastText: "rgba(0, 0, 0, 0.87)";\n}\n\n.custToast {\n background: var(--themec) !important;\n}\n.custToast .Toastify__close-button {\n color: var(--main) !important;\n}\n\n.custToast.Toastify__toast--success {\n color: var(--success) !important;\n}\n.custToast.Toastify__toast--info {\n color: var(--info) !important;\n}\n.custToast.Toastify__toast--warning {\n color: var(--warning) !important;\n}\n.custToast.Toastify__toast--error {\n color: var(--error) !important;\n}\n\n.custToast .Toastify__progress-bar--success {\n background: var(--success) !important;\n}\n.custToast .Toastify__progress-bar--info {\n background: var(--info) !important;\n}\n.custToast .Toastify__progress-bar--warning {\n background: var(--warning) !important;\n}\n.custToast .Toastify__progress-bar--error {\n background: var(--error) !important;\n}\n\n.custToast.materialToast.Toastify__toast--success {\n background: var(--success) !important;\n color: var(--contrastText) !important;\n}\n.custToast.materialToast.Toastify__toast--info {\n background: var(--info) !important;\n color: var(--contrastText) !important;\n}\n.custToast.materialToast.Toastify__toast--warning {\n background: var(--warning) !important;\n color: var(--contrastText) !important;\n}\n.custToast.materialToast.Toastify__toast--error {\n background: var(--error) !important;\n color: var(--contrastText) !important;\n}\n',""])},314(t){t.exports=function(t){var n=[];return n.toString=function(){return this.map(function(n){var e="",o=void 0!==n[5];return n[4]&&(e+="@supports (".concat(n[4],") {")),n[2]&&(e+="@media ".concat(n[2]," {")),o&&(e+="@layer".concat(n[5].length>0?" ".concat(n[5]):""," {")),e+=t(n),o&&(e+="}"),n[2]&&(e+="}"),n[4]&&(e+="}"),e}).join("")},n.i=function(t,e,o,a,r){"string"==typeof t&&(t=[[null,t,void 0]]);var i={};if(o)for(var s=0;s<this.length;s++){var l=this[s][0];null!=l&&(i[l]=!0)}for(var c=0;c<t.length;c++){var f=[].concat(t[c]);o&&i[f[0]]||(void 0!==r&&(void 0===f[5]||(f[1]="@layer".concat(f[5].length>0?" ".concat(f[5]):""," {").concat(f[1],"}")),f[5]=r),e&&(f[2]?(f[1]="@media ".concat(f[2]," {").concat(f[1],"}"),f[2]=e):f[2]=e),a&&(f[4]?(f[1]="@supports (".concat(f[4],") {").concat(f[1],"}"),f[4]=a):f[4]="".concat(a)),n.push(f))}},n}},601(t){t.exports=function(t){return t[1]}},698(t,n){var e=Symbol.for("react.transitional.element"),o=Symbol.for("react.fragment");function a(t,n,o){var a=null;if(void 0!==o&&(a=""+o),void 0!==n.key&&(a=""+n.key),"key"in n)for(var r in o={},n)"key"!==r&&(o[r]=n[r]);else o=n;return n=o.ref,{$$typeof:e,type:t,key:a,ref:void 0!==n?n:null,props:o}}n.Fragment=o,n.jsx=a,n.jsxs=a},848(t,n,e){t.exports=e(698)}},d={};function u(t){var n=d[t];if(void 0!==n)return n.exports;var e=d[t]={id:t,exports:{}};return f[t].call(e.exports,e,e.exports,u),e.exports}function m(t){var n,e,o="";if("string"==typeof t||"number"==typeof t)o+=t;else if("object"==typeof t)if(Array.isArray(t)){var a=t.length;for(n=0;n<a;n++)t[n]&&(e=m(t[n]))&&(o&&(o+=" "),o+=e)}else for(e in t)t[e]&&(o&&(o+=" "),o+=e);return o}u.n=t=>{var n=t&&t.__esModule?()=>t.default:()=>t;return u.d(n,{a:n}),n},u.d=(t,n)=>{for(var e in n)u.o(n,e)&&!u.o(t,e)&&Object.defineProperty(t,e,{enumerable:!0,get:n[e]})},u.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),u.o=(t,n)=>Object.prototype.hasOwnProperty.call(t,n);const p=function(){for(var t,n,e=0,o="",a=arguments.length;e<a;e++)(t=arguments[e])&&(n=m(t))&&(o&&(o+=" "),o+=n);return o};var y=t=>"number"==typeof t&&!isNaN(t),g=t=>"string"==typeof t,b=t=>"function"==typeof t,h=t=>g(t)||b(t)?t:null,v=(t,n)=>!1===t||y(t)&&t>0?t:n,_=t=>o(t)||g(t)||b(t)||y(t);function w({enter:t,exit:n,appendPosition:o=!1,collapse:a=!0,collapseDuration:l=300}){return function({children:c,position:f,preventExitTransition:d,done:u,nodeRef:m,isIn:p,playToast:y}){let g=o?`${t}--${f}`:t,b=o?`${n}--${f}`:n,h=s(0);return i(()=>{let t=m.current,n=g.split(" "),e=o=>{o.target===m.current&&(y(),t.removeEventListener("animationend",e),t.removeEventListener("animationcancel",e),0===h.current&&"animationcancel"!==o.type&&t.classList.remove(...n))};t.classList.add(...n),t.addEventListener("animationend",e),t.addEventListener("animationcancel",e)},[]),r(()=>{let t=m.current,n=()=>{t.removeEventListener("animationend",n),a?function(t,n,e=300){let{scrollHeight:o,style:a}=t;requestAnimationFrame(()=>{a.minHeight="initial",a.height=o+"px",a.transition=`all ${e}ms`,requestAnimationFrame(()=>{a.height="0",a.padding="0",a.margin="0",setTimeout(n,e)})})}(t,u,l):u()};p||(d?n():(h.current=1,t.className+=` ${b}`,t.addEventListener("animationend",n)))},[p]),e.createElement(e.Fragment,null,c)}}function T(t,n){return{content:x(t.content,t.props),containerId:t.props.containerId,id:t.props.toastId,theme:t.props.theme,type:t.props.type,data:t.props.data||{},isLoading:t.props.isLoading,icon:t.props.icon,reason:t.removalReason,status:n}}function x(n,e,a=!1){return o(n)&&!g(n.type)?t(n,{closeToast:e.closeToast,toastProps:e,data:e.data,isPaused:a}):b(n)?n({closeToast:e.closeToast,toastProps:e,data:e.data,isPaused:a}):n}function k({delay:t,isRunning:n,closeToast:o,type:a="default",hide:r,className:i,controlledProgress:s,progress:l,rtl:c,isIn:f,theme:d}){let u=r||s&&0===l,m={animationDuration:`${t}ms`,animationPlayState:n?"running":"paused"};s&&(m.transform=`scaleX(${l})`);let y=p("Toastify__progress-bar",s?"Toastify__progress-bar--controlled":"Toastify__progress-bar--animated",`Toastify__progress-bar-theme--${d}`,`Toastify__progress-bar--${a}`,{"Toastify__progress-bar--rtl":c}),g=b(i)?i({rtl:c,type:a,defaultClassName:y}):p(y,i),h={[s&&l>=1?"onTransitionEnd":"onAnimationEnd"]:s&&l<1?null:()=>{f&&o()}};return e.createElement("div",{className:"Toastify__progress-bar--wrp","data-hidden":u},e.createElement("div",{className:`Toastify__progress-bar--bg Toastify__progress-bar-theme--${d} Toastify__progress-bar--${a}`}),e.createElement("div",{role:"progressbar","aria-hidden":u?"true":"false","aria-label":"notification timer","aria-valuenow":s?Math.round(100*l):void 0,"aria-valuemin":0,"aria-valuemax":100,className:g,style:m,...h}))}var S=1,I=()=>""+S++;var C=new Map,O=[],E=new Set,L=t=>E.forEach(n=>n(t)),P=()=>C.size>0;function M(t,n){var e;if(n)return!(null==(e=C.get(n))||!e.isToastActive(t));let o=!1;return C.forEach(n=>{n.isToastActive(t)&&(o=!0)}),o}function A(t,n){_(t)&&(P()||O.push({content:t,options:n}),C.forEach(e=>{e.buildToast(t,n)}))}function z(t,n){C.forEach(e=>{(null==n||null==n||!n.containerId||(null==n?void 0:n.containerId)===e.id)&&e.toggle(t,null==n?void 0:n.id)})}function j(t){let n=t.containerId||1;return{subscribe(e){let o=function(t,n,e){let o=1,a=0,r=[],i=[],s=n,l=new Map,c=new Set,f=()=>{i=Array.from(l.values()),c.forEach(t=>t())},d=t=>{var n,o;t.isActive&&(null==(o=null==(n=t.props)?void 0:n.onClose)||o.call(n,t.removalReason),t.isActive=!1,e(T(t,"removed")))},u=t=>{if(null==t)l.forEach(d);else{let n=l.get(t);n&&d(n)}f()},m=t=>{var n,o;let{toastId:a,updateId:r}=t.props,i=null==r;t.staleId&&l.delete(t.staleId),t.isActive=!0,l.set(a,t),f(),e(T(t,i?"added":"updated")),i&&(null==(o=(n=t.props).onOpen)||o.call(n))};return{id:t,props:s,observe:t=>(c.add(t),()=>c.delete(t)),toggle:(t,n)=>{l.forEach(e=>{var o;(null==n||n===e.props.toastId)&&(null==(o=e.toggle)||o.call(e,t))})},removeToast:u,toasts:l,clearQueue:()=>{a-=r.length,r=[]},buildToast:(n,e)=>{if((({containerId:n,toastId:e,updateId:o})=>{let a=n?n!==t:1!==t,r=l.has(e)&&null==o;return a||r})(e))return;let{toastId:i,updateId:c,data:d,staleId:p,delay:g}=e,b=null==c;b&&a++;let w={...s,style:s.toastStyle,key:o++,...Object.fromEntries(Object.entries(e).filter(([t,n])=>null!=n)),toastId:i,updateId:c,data:d,isIn:!1,className:h(e.className||s.toastClassName),progressClassName:h(e.progressClassName||s.progressClassName),autoClose:!e.isLoading&&v(e.autoClose,s.autoClose),closeToast(t){let n=l.get(i);n&&(n.removalReason=t,u(i))},deleteToast(){if(null!=l.get(i)){if(l.delete(i),a--,a<0&&(a=0),r.length>0)return void m(r.shift());f()}}};w.closeButton=s.closeButton,!1===e.closeButton||_(e.closeButton)?w.closeButton=e.closeButton:!0===e.closeButton&&(w.closeButton=!_(s.closeButton)||s.closeButton);let T={content:n,props:w,staleId:p};s.limit&&s.limit>0&&a>s.limit&&b?r.push(T):y(g)?setTimeout(()=>{m(T)},g):m(T)},setProps(t){s=t},setToggle:(t,n)=>{let e=l.get(t);e&&(e.toggle=n)},isToastActive:t=>{var n;return null==(n=l.get(t))?void 0:n.isActive},getSnapshot:()=>i}}(n,t,L);C.set(n,o);let a=o.observe(e);return O.forEach(t=>A(t.content,t.options)),O=[],()=>{a(),C.delete(n)}},setProps(t){var e;null==(e=C.get(n))||e.setProps(t)},getSnapshot(){var t;return null==(t=C.get(n))?void 0:t.getSnapshot()}}}function R(t){return t&&(g(t.toastId)||y(t.toastId))?t.toastId:I()}function D(t,n){return A(t,n),n.toastId}function B(t,n){return{...n,type:n&&n.type||t,toastId:R(n)}}function U(t){return(n,e)=>D(n,B(t,e))}function N(t,n){return D(t,B("default",n))}N.loading=(t,n)=>D(t,B("default",{isLoading:!0,autoClose:!1,closeOnClick:!1,closeButton:!1,draggable:!1,...n})),N.promise=function(t,{pending:n,error:e,success:o},a){let r;n&&(r=g(n)?N.loading(n,a):N.loading(n.render,{...a,...n}));let i={isLoading:null,autoClose:null,closeOnClick:null,closeButton:null,draggable:null},s=(t,n,e)=>{if(null==n)return void N.dismiss(r);let o={type:t,...i,...a,data:e},s=g(n)?{render:n}:n;return r?N.update(r,{...o,...s}):N(s.render,{...o,...s}),e},l=b(t)?t():t;return l.then(t=>s("success",o,t)).catch(t=>s("error",e,t)),l},N.success=U("success"),N.info=U("info"),N.error=U("error"),N.warning=U("warning"),N.warn=N.warning,N.dark=(t,n)=>D(t,B("default",{theme:"dark",...n})),N.dismiss=function(t){!function(t){if(P()){if(null==t||(t=>g(t)||y(t))(t))C.forEach(n=>{n.removeToast(t)});else if(t&&("containerId"in t||"id"in t)){let n=C.get(t.containerId);n?n.removeToast(t.id):C.forEach(n=>{n.removeToast(t.id)})}}else O=O.filter(n=>null!=t&&n.options.toastId!==t)}(t)},N.clearWaitingQueue=(t={})=>{C.forEach(n=>{n.props.limit&&(!t.containerId||n.id===t.containerId)&&n.clearQueue()})},N.isActive=M,N.update=(t,n={})=>{let e=((t,{containerId:n})=>{var e;return null==(e=C.get(n||1))?void 0:e.toasts.get(t)})(t,n);if(e){let{props:o,content:a}=e,r={delay:100,...o,...n,toastId:n.toastId||t,updateId:I()};r.toastId!==t&&(r.staleId=t);let i=r.render||a;delete r.render,D(i,r)}},N.done=t=>{N.update(t,{progress:1})},N.onChange=function(t){return E.add(t),()=>{E.delete(t)}},N.play=t=>z(!0,t),N.pause=t=>z(!1,t);var F="undefined"!=typeof window?i:r,V=({theme:t,type:n,isLoading:o,...a})=>e.createElement("svg",{viewBox:"0 0 24 24",width:"100%",height:"100%",fill:"colored"===t?"currentColor":`var(--toastify-icon-color-${n})`,...a}),G={info:function(t){return e.createElement(V,{...t},e.createElement("path",{d:"M12 0a12 12 0 1012 12A12.013 12.013 0 0012 0zm.25 5a1.5 1.5 0 11-1.5 1.5 1.5 1.5 0 011.5-1.5zm2.25 13.5h-4a1 1 0 010-2h.75a.25.25 0 00.25-.25v-4.5a.25.25 0 00-.25-.25h-.75a1 1 0 010-2h1a2 2 0 012 2v4.75a.25.25 0 00.25.25h.75a1 1 0 110 2z"}))},warning:function(t){return e.createElement(V,{...t},e.createElement("path",{d:"M23.32 17.191L15.438 2.184C14.728.833 13.416 0 11.996 0c-1.42 0-2.733.833-3.443 2.184L.533 17.448a4.744 4.744 0 000 4.368C1.243 23.167 2.555 24 3.975 24h16.05C22.22 24 24 22.044 24 19.632c0-.904-.251-1.746-.68-2.44zm-9.622 1.46c0 1.033-.724 1.823-1.698 1.823s-1.698-.79-1.698-1.822v-.043c0-1.028.724-1.822 1.698-1.822s1.698.79 1.698 1.822v.043zm.039-12.285l-.84 8.06c-.057.581-.408.943-.897.943-.49 0-.84-.367-.896-.942l-.84-8.065c-.057-.624.25-1.095.779-1.095h1.91c.528.005.84.476.784 1.1z"}))},success:function(t){return e.createElement(V,{...t},e.createElement("path",{d:"M12 0a12 12 0 1012 12A12.014 12.014 0 0012 0zm6.927 8.2l-6.845 9.289a1.011 1.011 0 01-1.43.188l-4.888-3.908a1 1 0 111.25-1.562l4.076 3.261 6.227-8.451a1 1 0 111.61 1.183z"}))},error:function(t){return e.createElement(V,{...t},e.createElement("path",{d:"M11.983 0a12.206 12.206 0 00-8.51 3.653A11.8 11.8 0 000 12.207 11.779 11.779 0 0011.8 24h.214A12.111 12.111 0 0024 11.791 11.766 11.766 0 0011.983 0zM10.5 16.542a1.476 1.476 0 011.449-1.53h.027a1.527 1.527 0 011.523 1.47 1.475 1.475 0 01-1.449 1.53h-.027a1.529 1.529 0 01-1.523-1.47zM11 12.5v-6a1 1 0 012 0v6a1 1 0 11-2 0z"}))},spinner:function(){return e.createElement("div",{className:"Toastify__spinner"})}};var H=n=>{let{isRunning:a,preventExitTransition:i,toastRef:c,eventHandlers:f,playToast:d}=function(t){let[n,e]=l(!1),[o,a]=l(!1),i=s(null),c=s({start:0,delta:0,removalDistance:0,canCloseOnClick:!0,canDrag:!1,didMove:!1}).current,{autoClose:f,pauseOnHover:d,closeToast:u,onClick:m,closeOnClick:p}=t;function y(){e(!0)}function g(){e(!1)}function b(e){let o=i.current;if(c.canDrag&&o){c.didMove=!0,n&&g(),"x"===t.draggableDirection?c.delta=e.clientX-c.start:c.delta=e.clientY-c.start,c.start!==e.clientX&&(c.canCloseOnClick=!1);let a="x"===t.draggableDirection?`${c.delta}px, var(--y)`:`0, calc(${c.delta}px + var(--y))`;o.style.transform=`translate3d(${a},0)`,o.style.opacity=""+(1-Math.abs(c.delta/c.removalDistance))}}function h(){document.removeEventListener("pointermove",b),document.removeEventListener("pointerup",h);let n=i.current;if(c.canDrag&&c.didMove&&n){if(c.canDrag=!1,Math.abs(c.delta)>c.removalDistance)return a(!0),t.closeToast(!0),void t.collapseAll();n.style.transition="transform 0.2s, opacity 0.2s",n.style.removeProperty("transform"),n.style.removeProperty("opacity")}}(function(t){var n;null==(n=C.get(t.containerId||1))||n.setToggle(t.id,t.fn)})({id:t.toastId,containerId:t.containerId,fn:e}),r(()=>{if(t.pauseOnFocusLoss)return document.hasFocus()||g(),window.addEventListener("focus",y),window.addEventListener("blur",g),()=>{window.removeEventListener("focus",y),window.removeEventListener("blur",g)}},[t.pauseOnFocusLoss]);let v={onPointerDown:function(n){if(!0===t.draggable||t.draggable===n.pointerType){c.didMove=!1,document.addEventListener("pointermove",b),document.addEventListener("pointerup",h);let e=i.current;c.canCloseOnClick=!0,c.canDrag=!0,e.style.transition="none","x"===t.draggableDirection?(c.start=n.clientX,c.removalDistance=e.offsetWidth*(t.draggablePercent/100)):(c.start=n.clientY,c.removalDistance=e.offsetHeight*(80===t.draggablePercent?1.5*t.draggablePercent:t.draggablePercent)/100)}},onPointerUp:function(n){let{top:e,bottom:o,left:a,right:r}=i.current.getBoundingClientRect();"mouse"===n.pointerType&&t.pauseOnHover&&n.clientX>=a&&n.clientX<=r&&n.clientY>=e&&n.clientY<=o?g():y()}};return f&&d&&(v.onMouseEnter=g,t.stacked||(v.onMouseLeave=y)),p&&(v.onClick=t=>{m&&m(t),c.canCloseOnClick&&u(!0)}),{playToast:y,pauseToast:g,isRunning:n,preventExitTransition:o,toastRef:i,eventHandlers:v}}(n),{closeButton:u,children:m,autoClose:y,onClick:g,type:h,hideProgressBar:v,closeToast:_,transition:w,position:T,className:S,style:I,progressClassName:O,updateId:E,role:L,progress:P,rtl:M,toastId:A,deleteToast:z,isIn:j,isLoading:R,closeOnClick:D,theme:B,ariaLabel:U}=n,N=p("Toastify__toast",`Toastify__toast-theme--${B}`,`Toastify__toast--${h}`,{"Toastify__toast--rtl":M},{"Toastify__toast--close-on-click":D}),F=b(S)?S({rtl:M,position:T,type:h,defaultClassName:N}):p(N,S),V=function({theme:n,type:e,isLoading:a,icon:r}){let i=null,s={theme:n,type:e};return!1===r||(b(r)?i=r({...s,isLoading:a}):o(r)?i=t(r,s):a?i=G.spinner():(t=>t in G)(e)&&(i=G[e](s))),i}(n),H=!!P||!y,$={closeToast:_,type:h,theme:B},q=null;return!1===u||(q=b(u)?u($):o(u)?t(u,$):function({closeToast:t,theme:n,ariaLabel:o="close"}){return e.createElement("button",{className:`Toastify__close-button Toastify__close-button--${n}`,type:"button",onClick:n=>{n.stopPropagation(),t(!0)},"aria-label":o},e.createElement("svg",{"aria-hidden":"true",viewBox:"0 0 14 16"},e.createElement("path",{fillRule:"evenodd",d:"M7.71 8.23l3.75 3.75-1.48 1.48-3.75-3.75-3.75 3.75L1 11.98l3.75-3.75L1 4.48 2.48 3l3.75 3.75L9.98 3l1.48 1.48-3.75 3.75z"})))}($)),e.createElement(w,{isIn:j,done:z,position:T,preventExitTransition:i,nodeRef:c,playToast:d},e.createElement("div",{id:A,tabIndex:0,onClick:g,"data-in":j,className:F,...f,style:I,ref:c,...j&&{role:L,"aria-label":U}},null!=V&&e.createElement("div",{className:p("Toastify__toast-icon",{"Toastify--animate-icon Toastify__zoom-enter":!R})},V),x(m,n,!a),q,!n.customProgressBar&&e.createElement(k,{...E&&!H?{key:`p-${E}`}:{},rtl:M,theme:B,delay:y,isRunning:a,isIn:j,closeToast:_,hide:v,type:h,className:O,controlledProgress:H,progress:P||0})))},$=(t,n=!1)=>({enter:`Toastify--animate Toastify__${t}-enter`,exit:`Toastify--animate Toastify__${t}-exit`,appendPosition:n}),q=w($("bounce",!0)),W=(w($("slide",!0)),w($("zoom")),w($("flip")),{position:"top-right",transition:q,autoClose:5e3,closeButton:!0,pauseOnHover:!0,pauseOnFocusLoss:!0,draggable:"touch",draggablePercent:80,draggableDirection:"x",role:"alert",theme:"light","aria-label":"Notifications Alt+T",hotKeys:t=>t.altKey&&"KeyT"===t.code});function X(t){let n={...W,...t},o=t.stacked,[a,i]=l(!0),f=s(null),{getToastToRender:d,isToastActive:u,count:m}=function(t){var n;let{subscribe:e,getSnapshot:o,setProps:a}=s(j(t)).current;a(t);let r=null==(n=c(e,o,o))?void 0:n.slice();return{getToastToRender:function(n){if(!r)return[];let e=new Map;return t.newestOnTop&&r.reverse(),r.forEach(t=>{let{position:n}=t.props;e.has(n)||e.set(n,[]),e.get(n).push(t)}),Array.from(e,t=>n(t[0],t[1]))},isToastActive:M,count:null==r?void 0:r.length}}(n),{className:y,style:g,rtl:v,containerId:_,hotKeys:w}=n;function T(t){let n=p("Toastify__toast-container",`Toastify__toast-container--${t}`,{"Toastify__toast-container--rtl":v});return b(y)?y({position:t,rtl:v,defaultClassName:n}):p(n,h(y))}function x(){o&&(i(!0),N.play())}return F(()=>{var t;if(o){let e=f.current.querySelectorAll('[data-in="true"]'),o=12,r=null==(t=n.position)?void 0:t.includes("top"),i=0,s=0;Array.from(e).reverse().forEach((t,n)=>{let e=t;e.classList.add("Toastify__toast--stacked"),n>0&&(e.dataset.collapsed=`${a}`),e.dataset.pos||(e.dataset.pos=r?"top":"bot");let l=i*(a?.2:1)+(a?0:o*n),c=Math.max(.5,1-(a?s:0));e.style.setProperty("--y",`${r?l:-1*l}px`),e.style.setProperty("--g",`${o}`),e.style.setProperty("--s",`${c}`),i+=e.offsetHeight,s+=.025})}},[a,m,o]),r(()=>{function t(t){var n;let e=f.current;w(t)&&(null==(n=null==e?void 0:e.querySelector('[tabIndex="0"]'))||n.focus(),i(!1),N.pause()),"Escape"===t.key&&(document.activeElement===e||null!=e&&e.contains(document.activeElement))&&(i(!0),N.play())}return document.addEventListener("keydown",t),()=>{document.removeEventListener("keydown",t)}},[w]),e.createElement("section",{ref:f,className:"Toastify",id:_,onMouseEnter:()=>{o&&(i(!1),N.pause())},onMouseLeave:x,"aria-live":"polite","aria-atomic":"false","aria-relevant":"additions text","aria-label":n["aria-label"]},d((t,n)=>{let a=n.length?{...g}:{...g,pointerEvents:"none"};return e.createElement("div",{tabIndex:-1,className:T(t),"data-stacked":o,style:a,key:`c-${t}`},n.map(({content:t,props:n})=>e.createElement(H,{...n,stacked:o,collapseAll:x,isIn:u(n.toastId,n.containerId),key:`t-${n.key}`},t)))}))}var Y=new Map;function K(t){return((t,n)=>{F(()=>{if("undefined"==typeof document)return;let e=document,o=Y.get(e);if(o)return void(n&&o.setAttribute("nonce",n));let a=e.createElement("style");a.textContent=t,n&&a.setAttribute("nonce",n),e.head.appendChild(a),Y.set(e,a)},[n])})(":root {\n --toastify-color-light: #fff;\n --toastify-color-dark: #121212;\n --toastify-color-info: #3498db;\n --toastify-color-success: #07bc0c;\n --toastify-color-warning: #f1c40f;\n --toastify-color-error: hsl(6, 78%, 57%);\n --toastify-color-transparent: rgba(255, 255, 255, 0.7);\n\n --toastify-icon-color-info: var(--toastify-color-info);\n --toastify-icon-color-success: var(--toastify-color-success);\n --toastify-icon-color-warning: var(--toastify-color-warning);\n --toastify-icon-color-error: var(--toastify-color-error);\n\n --toastify-container-width: fit-content;\n --toastify-toast-width: 320px;\n --toastify-toast-offset: 16px;\n --toastify-toast-top: max(var(--toastify-toast-offset), env(safe-area-inset-top));\n --toastify-toast-right: max(var(--toastify-toast-offset), env(safe-area-inset-right));\n --toastify-toast-left: max(var(--toastify-toast-offset), env(safe-area-inset-left));\n --toastify-toast-bottom: max(var(--toastify-toast-offset), env(safe-area-inset-bottom));\n --toastify-toast-background: #fff;\n --toastify-toast-padding: 14px;\n --toastify-toast-min-height: 64px;\n --toastify-toast-max-height: 800px;\n --toastify-toast-bd-radius: 6px;\n --toastify-toast-shadow: 0px 4px 12px rgba(0, 0, 0, 0.1);\n --toastify-font-family: sans-serif;\n --toastify-z-index: 9999;\n --toastify-text-color-light: #757575;\n --toastify-text-color-dark: #fff;\n\n /* Used only for colored theme */\n --toastify-text-color-info: #fff;\n --toastify-text-color-success: #fff;\n --toastify-text-color-warning: #fff;\n --toastify-text-color-error: #fff;\n\n --toastify-spinner-color: #616161;\n --toastify-spinner-color-empty-area: #e0e0e0;\n --toastify-color-progress-light: linear-gradient(to right, #4cd964, #5ac8fa, #007aff, #34aadc, #5856d6, #ff2d55);\n --toastify-color-progress-dark: #bb86fc;\n --toastify-color-progress-info: var(--toastify-color-info);\n --toastify-color-progress-success: var(--toastify-color-success);\n --toastify-color-progress-warning: var(--toastify-color-warning);\n --toastify-color-progress-error: var(--toastify-color-error);\n /* used to control the opacity of the progress trail */\n --toastify-color-progress-bgo: 0.2;\n}\n\n.Toastify__toast-container {\n z-index: var(--toastify-z-index);\n -webkit-transform: translate3d(0, 0, var(--toastify-z-index));\n position: fixed;\n width: var(--toastify-container-width);\n box-sizing: border-box;\n color: #fff;\n display: flex;\n flex-direction: column;\n}\n\n.Toastify__toast-container--top-left {\n top: var(--toastify-toast-top);\n left: var(--toastify-toast-left);\n}\n.Toastify__toast-container--top-center {\n top: var(--toastify-toast-top);\n left: 50%;\n transform: translateX(-50%);\n align-items: center;\n}\n.Toastify__toast-container--top-right {\n top: var(--toastify-toast-top);\n right: var(--toastify-toast-right);\n align-items: end;\n}\n.Toastify__toast-container--bottom-left {\n bottom: var(--toastify-toast-bottom);\n left: var(--toastify-toast-left);\n}\n.Toastify__toast-container--bottom-center {\n bottom: var(--toastify-toast-bottom);\n left: 50%;\n transform: translateX(-50%);\n align-items: center;\n}\n.Toastify__toast-container--bottom-right {\n bottom: var(--toastify-toast-bottom);\n right: var(--toastify-toast-right);\n align-items: end;\n}\n\n.Toastify__toast {\n --y: 0px;\n position: relative;\n touch-action: none;\n width: var(--toastify-toast-width);\n min-height: var(--toastify-toast-min-height);\n box-sizing: border-box;\n margin-bottom: 1rem;\n padding: var(--toastify-toast-padding);\n border-radius: var(--toastify-toast-bd-radius);\n box-shadow: var(--toastify-toast-shadow);\n max-height: var(--toastify-toast-max-height);\n font-family: var(--toastify-font-family);\n /* webkit only issue #791 */\n z-index: 0;\n /* inner swag */\n display: flex;\n flex: 1 auto;\n align-items: center;\n word-break: break-word;\n}\n\n@media only screen and (max-width: 480px) {\n .Toastify__toast-container {\n width: 100vw;\n left: env(safe-area-inset-left);\n margin: 0;\n }\n .Toastify__toast-container--top-left,\n .Toastify__toast-container--top-center,\n .Toastify__toast-container--top-right {\n top: env(safe-area-inset-top);\n transform: translateX(0);\n }\n .Toastify__toast-container--bottom-left,\n .Toastify__toast-container--bottom-center,\n .Toastify__toast-container--bottom-right {\n bottom: env(safe-area-inset-bottom);\n transform: translateX(0);\n }\n .Toastify__toast-container--rtl {\n right: env(safe-area-inset-right);\n left: initial;\n }\n .Toastify__toast {\n --toastify-toast-width: 100%;\n margin-bottom: 0;\n border-radius: 0;\n }\n}\n\n.Toastify__toast-container[data-stacked='true'] {\n width: var(--toastify-toast-width);\n}\n\n@media only screen and (max-width: 480px) {\n .Toastify__toast-container[data-stacked='true'] {\n width: 100vw;\n }\n}\n\n.Toastify__toast--stacked {\n position: absolute;\n width: 100%;\n transform: translate3d(0, var(--y), 0) scale(var(--s));\n transition: transform 0.3s;\n}\n\n.Toastify__toast--stacked[data-collapsed] .Toastify__toast-body,\n.Toastify__toast--stacked[data-collapsed] .Toastify__close-button {\n transition: opacity 0.1s;\n}\n\n.Toastify__toast--stacked[data-collapsed='false'] {\n overflow: visible;\n}\n\n.Toastify__toast--stacked[data-collapsed='true']:not(:last-child) > * {\n opacity: 0;\n}\n\n.Toastify__toast--stacked:after {\n content: '';\n position: absolute;\n left: 0;\n right: 0;\n height: calc(var(--g) * 1px);\n bottom: 100%;\n}\n\n.Toastify__toast--stacked[data-pos='top'] {\n top: 0;\n}\n\n.Toastify__toast--stacked[data-pos='bot'] {\n bottom: 0;\n}\n\n.Toastify__toast--stacked[data-pos='bot'].Toastify__toast--stacked:before {\n transform-origin: top;\n}\n\n.Toastify__toast--stacked[data-pos='top'].Toastify__toast--stacked:before {\n transform-origin: bottom;\n}\n\n.Toastify__toast--stacked:before {\n content: '';\n position: absolute;\n left: 0;\n right: 0;\n bottom: 0;\n height: 100%;\n transform: scaleY(3);\n z-index: -1;\n}\n\n.Toastify__toast--rtl {\n direction: rtl;\n}\n\n.Toastify__toast--close-on-click {\n cursor: pointer;\n}\n\n.Toastify__toast-icon {\n margin-inline-end: 10px;\n width: 22px;\n flex-shrink: 0;\n display: flex;\n}\n\n.Toastify--animate {\n animation-fill-mode: both;\n animation-duration: 0.5s;\n}\n\n.Toastify--animate-icon {\n animation-fill-mode: both;\n animation-duration: 0.3s;\n}\n\n.Toastify__toast-theme--dark {\n background: var(--toastify-color-dark);\n color: var(--toastify-text-color-dark);\n}\n\n.Toastify__toast-theme--light {\n background: var(--toastify-color-light);\n color: var(--toastify-text-color-light);\n}\n\n.Toastify__toast-theme--colored.Toastify__toast--default {\n background: var(--toastify-color-light);\n color: var(--toastify-text-color-light);\n}\n\n.Toastify__toast-theme--colored.Toastify__toast--info {\n color: var(--toastify-text-color-info);\n background: var(--toastify-color-info);\n}\n\n.Toastify__toast-theme--colored.Toastify__toast--success {\n color: var(--toastify-text-color-success);\n background: var(--toastify-color-success);\n}\n\n.Toastify__toast-theme--colored.Toastify__toast--warning {\n color: var(--toastify-text-color-warning);\n background: var(--toastify-color-warning);\n}\n\n.Toastify__toast-theme--colored.Toastify__toast--error {\n color: var(--toastify-text-color-error);\n background: var(--toastify-color-error);\n}\n\n.Toastify__progress-bar-theme--light {\n background: var(--toastify-color-progress-light);\n}\n\n.Toastify__progress-bar-theme--dark {\n background: var(--toastify-color-progress-dark);\n}\n\n.Toastify__progress-bar--info {\n background: var(--toastify-color-progress-info);\n}\n\n.Toastify__progress-bar--success {\n background: var(--toastify-color-progress-success);\n}\n\n.Toastify__progress-bar--warning {\n background: var(--toastify-color-progress-warning);\n}\n\n.Toastify__progress-bar--error {\n background: var(--toastify-color-progress-error);\n}\n\n.Toastify__progress-bar-theme--colored.Toastify__progress-bar--info,\n.Toastify__progress-bar-theme--colored.Toastify__progress-bar--success,\n.Toastify__progress-bar-theme--colored.Toastify__progress-bar--warning,\n.Toastify__progress-bar-theme--colored.Toastify__progress-bar--error {\n background: var(--toastify-color-transparent);\n}\n\n.Toastify__close-button {\n color: #fff;\n position: absolute;\n top: 6px;\n right: 6px;\n background: transparent;\n outline: none;\n border: none;\n padding: 0;\n cursor: pointer;\n opacity: 0.7;\n transition: 0.3s ease;\n z-index: 1;\n}\n\n.Toastify__toast--rtl .Toastify__close-button {\n left: 6px;\n right: unset;\n}\n\n.Toastify__close-button--light {\n color: #000;\n opacity: 0.3;\n}\n\n.Toastify__close-button > svg {\n fill: currentColor;\n height: 16px;\n width: 14px;\n}\n\n.Toastify__close-button:hover,\n.Toastify__close-button:focus {\n opacity: 1;\n}\n\n@keyframes Toastify__trackProgress {\n 0% {\n transform: scaleX(1);\n }\n 100% {\n transform: scaleX(0);\n }\n}\n\n.Toastify__progress-bar {\n position: absolute;\n bottom: 0;\n left: 0;\n width: 100%;\n height: 100%;\n z-index: 1;\n opacity: 0.7;\n transform-origin: left;\n}\n\n.Toastify__progress-bar--animated {\n animation: Toastify__trackProgress linear 1 forwards;\n}\n\n.Toastify__progress-bar--controlled {\n transition: transform 0.2s;\n}\n\n.Toastify__progress-bar--rtl {\n right: 0;\n left: initial;\n transform-origin: right;\n border-bottom-left-radius: initial;\n}\n\n.Toastify__progress-bar--wrp {\n position: absolute;\n overflow: hidden;\n bottom: 0;\n left: 0;\n width: 100%;\n height: 5px;\n border-bottom-left-radius: var(--toastify-toast-bd-radius);\n border-bottom-right-radius: var(--toastify-toast-bd-radius);\n}\n\n.Toastify__progress-bar--wrp[data-hidden='true'] {\n opacity: 0;\n}\n\n.Toastify__progress-bar--bg {\n opacity: var(--toastify-color-progress-bgo);\n width: 100%;\n height: 100%;\n}\n\n.Toastify__spinner {\n width: 20px;\n height: 20px;\n box-sizing: border-box;\n border: 2px solid;\n border-radius: 100%;\n border-color: var(--toastify-spinner-color-empty-area);\n border-right-color: var(--toastify-spinner-color);\n animation: Toastify__spin 0.65s linear infinite;\n}\n\n@keyframes Toastify__bounceInRight {\n from,\n 60%,\n 75%,\n 90%,\n to {\n animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);\n }\n from {\n opacity: 0;\n transform: translate3d(3000px, 0, 0);\n }\n 60% {\n opacity: 1;\n transform: translate3d(-25px, 0, 0);\n }\n 75% {\n transform: translate3d(10px, 0, 0);\n }\n 90% {\n transform: translate3d(-5px, 0, 0);\n }\n to {\n transform: none;\n }\n}\n\n@keyframes Toastify__bounceOutRight {\n 20% {\n opacity: 1;\n transform: translate3d(-20px, var(--y), 0);\n }\n to {\n opacity: 0;\n transform: translate3d(2000px, var(--y), 0);\n }\n}\n\n@keyframes Toastify__bounceInLeft {\n from,\n 60%,\n 75%,\n 90%,\n to {\n animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);\n }\n 0% {\n opacity: 0;\n transform: translate3d(-3000px, 0, 0);\n }\n 60% {\n opacity: 1;\n transform: translate3d(25px, 0, 0);\n }\n 75% {\n transform: translate3d(-10px, 0, 0);\n }\n 90% {\n transform: translate3d(5px, 0, 0);\n }\n to {\n transform: none;\n }\n}\n\n@keyframes Toastify__bounceOutLeft {\n 20% {\n opacity: 1;\n transform: translate3d(20px, var(--y), 0);\n }\n to {\n opacity: 0;\n transform: translate3d(-2000px, var(--y), 0);\n }\n}\n\n@keyframes Toastify__bounceInUp {\n from,\n 60%,\n 75%,\n 90%,\n to {\n animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);\n }\n from {\n opacity: 0;\n transform: translate3d(0, 3000px, 0);\n }\n 60% {\n opacity: 1;\n transform: translate3d(0, -20px, 0);\n }\n 75% {\n transform: translate3d(0, 10px, 0);\n }\n 90% {\n transform: translate3d(0, -5px, 0);\n }\n to {\n transform: translate3d(0, 0, 0);\n }\n}\n\n@keyframes Toastify__bounceOutUp {\n 20% {\n transform: translate3d(0, calc(var(--y) - 10px), 0);\n }\n 40%,\n 45% {\n opacity: 1;\n transform: translate3d(0, calc(var(--y) + 20px), 0);\n }\n to {\n opacity: 0;\n transform: translate3d(0, -2000px, 0);\n }\n}\n\n@keyframes Toastify__bounceInDown {\n from,\n 60%,\n 75%,\n 90%,\n to {\n animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);\n }\n 0% {\n opacity: 0;\n transform: translate3d(0, -3000px, 0);\n }\n 60% {\n opacity: 1;\n transform: translate3d(0, 25px, 0);\n }\n 75% {\n transform: translate3d(0, -10px, 0);\n }\n 90% {\n transform: translate3d(0, 5px, 0);\n }\n to {\n transform: none;\n }\n}\n\n@keyframes Toastify__bounceOutDown {\n 20% {\n transform: translate3d(0, calc(var(--y) - 10px), 0);\n }\n 40%,\n 45% {\n opacity: 1;\n transform: translate3d(0, calc(var(--y) + 20px), 0);\n }\n to {\n opacity: 0;\n transform: translate3d(0, 2000px, 0);\n }\n}\n\n.Toastify__bounce-enter--top-left,\n.Toastify__bounce-enter--bottom-left {\n animation-name: Toastify__bounceInLeft;\n}\n\n.Toastify__bounce-enter--top-right,\n.Toastify__bounce-enter--bottom-right {\n animation-name: Toastify__bounceInRight;\n}\n\n.Toastify__bounce-enter--top-center {\n animation-name: Toastify__bounceInDown;\n}\n\n.Toastify__bounce-enter--bottom-center {\n animation-name: Toastify__bounceInUp;\n}\n\n.Toastify__bounce-exit--top-left,\n.Toastify__bounce-exit--bottom-left {\n animation-name: Toastify__bounceOutLeft;\n}\n\n.Toastify__bounce-exit--top-right,\n.Toastify__bounce-exit--bottom-right {\n animation-name: Toastify__bounceOutRight;\n}\n\n.Toastify__bounce-exit--top-center {\n animation-name: Toastify__bounceOutUp;\n}\n\n.Toastify__bounce-exit--bottom-center {\n animation-name: Toastify__bounceOutDown;\n}\n\n@keyframes Toastify__zoomIn {\n from {\n opacity: 0;\n transform: scale3d(0.3, 0.3, 0.3);\n }\n 50% {\n opacity: 1;\n }\n}\n\n@keyframes Toastify__zoomOut {\n from {\n opacity: 1;\n }\n 50% {\n opacity: 0;\n transform: translate3d(0, var(--y), 0) scale3d(0.3, 0.3, 0.3);\n }\n to {\n opacity: 0;\n }\n}\n\n.Toastify__zoom-enter {\n animation-name: Toastify__zoomIn;\n}\n\n.Toastify__zoom-exit {\n animation-name: Toastify__zoomOut;\n}\n\n@keyframes Toastify__flipIn {\n from {\n transform: perspective(400px) rotate3d(1, 0, 0, 90deg);\n animation-timing-function: ease-in;\n opacity: 0;\n }\n 40% {\n transform: perspective(400px) rotate3d(1, 0, 0, -20deg);\n animation-timing-function: ease-in;\n }\n 60% {\n transform: perspective(400px) rotate3d(1, 0, 0, 10deg);\n opacity: 1;\n }\n 80% {\n transform: perspective(400px) rotate3d(1, 0, 0, -5deg);\n }\n to {\n transform: perspective(400px);\n }\n}\n\n@keyframes Toastify__flipOut {\n from {\n transform: translate3d(0, var(--y), 0) perspective(400px);\n }\n 30% {\n transform: translate3d(0, var(--y), 0) perspective(400px) rotate3d(1, 0, 0, -20deg);\n opacity: 1;\n }\n to {\n transform: translate3d(0, var(--y), 0) perspective(400px) rotate3d(1, 0, 0, 90deg);\n opacity: 0;\n }\n}\n\n.Toastify__flip-enter {\n animation-name: Toastify__flipIn;\n}\n\n.Toastify__flip-exit {\n animation-name: Toastify__flipOut;\n}\n\n@keyframes Toastify__slideInRight {\n from {\n transform: translate3d(110%, 0, 0);\n visibility: visible;\n }\n to {\n transform: translate3d(0, var(--y), 0);\n }\n}\n\n@keyframes Toastify__slideInLeft {\n from {\n transform: translate3d(-110%, 0, 0);\n visibility: visible;\n }\n to {\n transform: translate3d(0, var(--y), 0);\n }\n}\n\n@keyframes Toastify__slideInUp {\n from {\n transform: translate3d(0, 110%, 0);\n visibility: visible;\n }\n to {\n transform: translate3d(0, var(--y), 0);\n }\n}\n\n@keyframes Toastify__slideInDown {\n from {\n transform: translate3d(0, -110%, 0);\n visibility: visible;\n }\n to {\n transform: translate3d(0, var(--y), 0);\n }\n}\n\n@keyframes Toastify__slideOutRight {\n from {\n transform: translate3d(0, var(--y), 0);\n }\n to {\n visibility: hidden;\n transform: translate3d(110%, var(--y), 0);\n }\n}\n\n@keyframes Toastify__slideOutLeft {\n from {\n transform: translate3d(0, var(--y), 0);\n }\n to {\n visibility: hidden;\n transform: translate3d(-110%, var(--y), 0);\n }\n}\n\n@keyframes Toastify__slideOutDown {\n from {\n transform: translate3d(0, var(--y), 0);\n }\n to {\n visibility: hidden;\n transform: translate3d(0, 500px, 0);\n }\n}\n\n@keyframes Toastify__slideOutUp {\n from {\n transform: translate3d(0, var(--y), 0);\n }\n to {\n visibility: hidden;\n transform: translate3d(0, -500px, 0);\n }\n}\n\n.Toastify__slide-enter--top-left,\n.Toastify__slide-enter--bottom-left {\n animation-name: Toastify__slideInLeft;\n}\n\n.Toastify__slide-enter--top-right,\n.Toastify__slide-enter--bottom-right {\n animation-name: Toastify__slideInRight;\n}\n\n.Toastify__slide-enter--top-center {\n animation-name: Toastify__slideInDown;\n}\n\n.Toastify__slide-enter--bottom-center {\n animation-name: Toastify__slideInUp;\n}\n\n.Toastify__slide-exit--top-left,\n.Toastify__slide-exit--bottom-left {\n animation-name: Toastify__slideOutLeft;\n animation-timing-function: ease-in;\n animation-duration: 0.3s;\n}\n\n.Toastify__slide-exit--top-right,\n.Toastify__slide-exit--bottom-right {\n animation-name: Toastify__slideOutRight;\n animation-timing-function: ease-in;\n animation-duration: 0.3s;\n}\n\n.Toastify__slide-exit--top-center {\n animation-name: Toastify__slideOutUp;\n animation-timing-function: ease-in;\n animation-duration: 0.3s;\n}\n\n.Toastify__slide-exit--bottom-center {\n animation-name: Toastify__slideOutDown;\n animation-timing-function: ease-in;\n animation-duration: 0.3s;\n}\n\n@keyframes Toastify__spin {\n from {\n transform: rotate(0deg);\n }\n to {\n transform: rotate(360deg);\n }\n}\n",t.nonce),e.createElement(X,{...t})}var Z=u(848);function J(t){return J="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},J(t)}var Q=["children","size","color"];function tt(t,n){var e=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);n&&(o=o.filter(function(n){return Object.getOwnPropertyDescriptor(t,n).enumerable})),e.push.apply(e,o)}return e}function nt(t){for(var n=1;n<arguments.length;n++){var e=null!=arguments[n]?arguments[n]:{};n%2?tt(Object(e),!0).forEach(function(n){et(t,n,e[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(e)):tt(Object(e)).forEach(function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(e,n))})}return t}function et(t,n,e){return(n=function(t){var n=function(t){if("object"!=J(t)||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var e=n.call(t,"string");if("object"!=J(e))return e;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==J(n)?n:n+""}(n))in t?Object.defineProperty(t,n,{value:e,enumerable:!0,configurable:!0,writable:!0}):t[n]=e,t}var ot=function(t){var n=t.children,e=t.size,o=void 0===e?24:e,a=t.color,r=void 0===a?"currentColor":a,i=function(t,n){if(null==t)return{};var e,o,a=function(t,n){if(null==t)return{};var e={};for(var o in t)if({}.hasOwnProperty.call(t,o)){if(-1!==n.indexOf(o))continue;e[o]=t[o]}return e}(t,n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);for(o=0;o<r.length;o++)e=r[o],-1===n.indexOf(e)&&{}.propertyIsEnumerable.call(t,e)&&(a[e]=t[e])}return a}(t,Q);return(0,Z.jsx)("svg",nt(nt({xmlns:"http://www.w3.org/2000/svg",height:o,viewBox:"0 0 24 24",width:o,fill:r},i),{},{children:n}))},at=function(t){return(0,Z.jsxs)(ot,nt(nt({},t),{},{children:[(0,Z.jsx)("path",{d:"M0 0h24v24H0z",fill:"none"}),(0,Z.jsx)("path",{d:"M17 7l-1.41 1.41L18.17 11H8v2h10.17l-2.58 2.58L17 17l5-5zM4 5h8V3H4c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h8v-2H4V5z"})]}))},rt=function(t){return(0,Z.jsxs)(ot,nt(nt({},t),{},{children:[(0,Z.jsx)("path",{d:"M0 0h24v24H0z",fill:"none"}),(0,Z.jsx)("path",{d:"M21 10.12h-6.78l2.74-2.82c-2.73-2.7-7.15-2.8-9.88-.1-2.73 2.71-2.73 7.08 0 9.79 2.73 2.71 7.15 2.71 9.88 0C18.32 15.65 19 14.08 19 12.1h2c0 1.98-.88 4.55-2.64 6.29-3.51 3.48-9.21 3.48-12.72 0-3.5-3.47-3.53-9.11-.02-12.58 3.51-3.47 9.14-3.47 12.65 0L21 3v7.12zM12.5 8v4.25l3.5 2.08-.72 1.21L11 13V8h1.5z"})]}))},it=function(t){return(0,Z.jsxs)(ot,nt(nt({},t),{},{children:[(0,Z.jsx)("path",{d:"M0,0h24v24H0V0z",fill:"none"}),(0,Z.jsx)("path",{d:"M12,2L4,5v6.09c0,5.05,3.41,9.76,8,10.91c4.59-1.15,8-5.86,8-10.91V5L12,2z M15.5,14.09l-1.41,1.41L12,13.42L9.91,15.5 L8.5,14.09L10.59,12L8.5,9.91L9.91,8.5L12,10.59l2.09-2.09l1.41,1.41L13.42,12L15.5,14.09z"})]}))},st=function(t){return(0,Z.jsxs)(ot,nt(nt({},t),{},{children:[(0,Z.jsx)("path",{d:"M0 0h24v24H0z",fill:"none"}),(0,Z.jsx)("path",{d:"M22 3H2C.9 3 0 3.9 0 5v14c0 1.1.9 2 2 2h20c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM2 19V8h20v11H2z"}),(0,Z.jsx)("path",{d:"M12 15.5L9.5 13l1.41-1.41L12 12.67l3.59-3.58L17 10.5 12 15.5z"})]}))};const lt=function(t){var n=t.appVersion;return r(function(){sessionStorage.getItem("appVersionOld")&&sessionStorage.getItem("requiredVersion")&&function(t,n){for(var e=t.split(".").map(Number),o=n.split(".").map(Number),a=Math.max(e.length,o.length),r=0;r<a;r++){var i,s,l=null!==(i=e[r])&&void 0!==i?i:0,c=null!==(s=o[r])&&void 0!==s?s:0;if(l>c)return!0;if(l<c)return!1}return!0}(n,sessionStorage.getItem("requiredVersion"))&&(console.log("Update Success Toast"),sessionStorage.removeItem("appVersionOld"),sessionStorage.removeItem("requiredVersion"),sessionStorage.removeItem("appReloads"),N.success("Your application has been updated",{toastId:"appReload",icon:(0,Z.jsx)(st,{})}))},[n]),(0,Z.jsx)(Z.Fragment,{})};var ct=u(126);function ft(t,n){(null==n||n>t.length)&&(n=t.length);for(var e=0,o=Array(n);e<n;e++)o[e]=t[e];return o}const dt=function(t){var n=function(t,n){return function(t){if(Array.isArray(t))return t}(t)||function(t,n){var e=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=e){var o,a,r,i,s=[],l=!0,c=!1;try{if(r=(e=e.call(t)).next,0===n){if(Object(e)!==e)return;l=!1}else for(;!(l=(o=r.call(e)).done)&&(s.push(o.value),s.length!==n);l=!0);}catch(t){c=!0,a=t}finally{try{if(!l&&null!=e.return&&(i=e.return(),Object(i)!==i))return}finally{if(c)throw a}}return s}}(t,n)||function(t,n){if(t){if("string"==typeof t)return ft(t,n);var e={}.toString.call(t).slice(8,-1);return"Object"===e&&t.constructor&&(e=t.constructor.name),"Map"===e||"Set"===e?Array.from(t):"Arguments"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e)?ft(t,n):void 0}}(t,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}(l(function(){var t=localStorage.getItem("deviceUID");if(t)return t;var n=function(){if(localStorage.getItem("deviceFingerprint"))return localStorage.getItem("deviceFingerprint");var t=(new ct.ClientJS).getFingerprint();return localStorage.setItem("deviceFingerprint",t),t}();return localStorage.setItem("deviceUID",n),n}),1)[0];return r(function(){t.defaults.headers.common.deviceUID=n},[t,n]),n};function ut(t){return ut="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},ut(t)}function mt(t,n){var e=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);n&&(o=o.filter(function(n){return Object.getOwnPropertyDescriptor(t,n).enumerable})),e.push.apply(e,o)}return e}function pt(t){for(var n=1;n<arguments.length;n++){var e=null!=arguments[n]?arguments[n]:{};n%2?mt(Object(e),!0).forEach(function(n){yt(t,n,e[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(e)):mt(Object(e)).forEach(function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(e,n))})}return t}function yt(t,n,e){return(n=function(t){var n=function(t){if("object"!=ut(t)||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var e=n.call(t,"string");if("object"!=ut(e))return e;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==ut(n)?n:n+""}(n))in t?Object.defineProperty(t,n,{value:e,enumerable:!0,configurable:!0,writable:!0}):t[n]=e,t}function gt(t,n){return function(t){if(Array.isArray(t))return t}(t)||function(t,n){var e=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=e){var o,a,r,i,s=[],l=!0,c=!1;try{if(r=(e=e.call(t)).next,0===n){if(Object(e)!==e)return;l=!1}else for(;!(l=(o=r.call(e)).done)&&(s.push(o.value),s.length!==n);l=!0);}catch(t){c=!0,a=t}finally{try{if(!l&&null!=e.return&&(i=e.return(),Object(i)!==i))return}finally{if(c)throw a}}return s}}(t,n)||function(t,n){if(t){if("string"==typeof t)return bt(t,n);var e={}.toString.call(t).slice(8,-1);return"Object"===e&&t.constructor&&(e=t.constructor.name),"Map"===e||"Set"===e?Array.from(t):"Arguments"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e)?bt(t,n):void 0}}(t,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function bt(t,n){(null==n||n>t.length)&&(n=t.length);for(var e=0,o=Array(n);e<n;e++)o[e]=t[e];return o}u(750),u(533);var ht=n({isLoggedIn:null,header:null,isAdmin:null,userInfo:null,refreshData:null,setHeader:null,setLoggedin:null,setRefreshData:null,hasRole:null,deviceUID:null,loadingUser:null}),vt=function(t){var n=t.AuthenticatedAxiosObject,e=t.refreshTimer,o=t.dataRefresh,i=t.userLoader,s=t.refreshToken,c=t.appVersion,f=t.toastOptions,d=t.children,u=dt(n),m=gt(l(""),2),p=m[0],y=m[1];n.defaults.withCredentials=!0,n.defaults.headers.common.Authorization=p,n.defaults.headers.common.deviceUID=u,n.defaults.headers.common.appVersion=c;var g=a(function(t,e){y(t),setTimeout(function(){s().then(function(t){if(t&&t.access_token){var o="Bearer ".concat(t.access_token);y(o),n.defaults.headers.common.Authorization=o,e&&localStorage.setItem("Authorization",o),sessionStorage.setItem("Authorization",o),t.refreshed?console.log("Token was refreshed with new token"):console.log("Token is still valid, using existing token")}else localStorage.removeItem("Authorization"),sessionStorage.removeItem("Authorization"),N.warn("Your session could not be restored. Please log in again.",{toastId:"TOKEN_REFRESH_FAILED",icon:(0,Z.jsx)(at,{})})}).catch(function(t){console.log(t),localStorage.removeItem("Authorization"),sessionStorage.removeItem("Authorization"),N.warn("Your session could not be restored. Please log in again.",{toastId:"TOKEN_REFRESH_FAILED",icon:(0,Z.jsx)(at,{})})})},100)},[n,s]);r(function(){var t=localStorage.getItem("Authorization"),n=sessionStorage.getItem("Authorization");t?g(t,!0):n&&g(n,!1)},[g]),r(function(){var t=function(t){"Authorization"===t.key&&t.newValue&&g(t.newValue,!0)};return window.addEventListener("storage",t),function(){return window.removeEventListener("storage",t)}},[g]);var b=gt(l(!1),2),h=b[0],v=b[1],_=gt(l(!1),2),w=_[0],T=_[1],x=gt(l({}),2),k=x[0],S=x[1],I=gt(l(!0),2),C=I[0],O=I[1];r(function(){setTimeout(function(){i().then(function(t){if(t&&t.data){var n=t.data;v(n.logged_in),T(n.is_admin),S(n.Info)}else console.log("Invalid user data response")}).catch(function(t){console.log(t)}).finally(function(){O(!1)})},100)},[p,h,i]),r(function(){var t=60*(e||60)*1e3;if(h){var n=Boolean(localStorage.getItem("Authorization")),o=setInterval(function(){g(sessionStorage.getItem("Authorization"),n)},t);return function(){return clearInterval(o)}}},[p,g,h,e]),r(function(){var t=function(){v(!1),n.defaults.headers.common.Authorization=""},e=n.interceptors.response.use(function(t){return t},function(n){return function(t){var n,e=(arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}).onSessionExpired,o=null==t||null===(n=t.response)||void 0===n?void 0:n.status;switch(o){case 401:null==e||e(),N.error("Unauthorized – please log in.",{toastId:"ERR_UNAUTHORIZED",icon:(0,Z.jsx)(at,{})});break;case 403:N.error("You don't have permission to do this.",{toastId:"ERR_FORBIDDEN",icon:(0,Z.jsx)(it,{})});break;case 426:sessionStorage.setItem("appVersionOld",!0),sessionStorage.setItem("requiredVersion",t.response.data.minVersion);var a=parseInt(sessionStorage.getItem("appReloads")||0);a<2?(sessionStorage.setItem("appReloads",a+1),setTimeout(function(){"caches"in window?caches.keys().then(function(t){return Promise.all(t.map(function(t){return caches.delete(t)}))}).catch(function(t){return console.log("Cache clear error:",t)}).finally(function(){return window.location.reload()}):window.location.reload()},1e3*(a+1))):N.warning("The application needs to be updated please wait for some time then reload the page.",{toastId:"appReloadError",icon:(0,Z.jsx)(rt,{})});break;case 455:t.response.data.logged_in||(null==e||e(),N.info("Your session is no longer valid, please login again.",{toastId:"Forced_log_out",icon:(0,Z.jsx)(at,{})}));break;case 500:N.error("Server error, please try again later.",{toastId:"ERR_SERVER",icon:(0,Z.jsx)(it,{})});break;case 503:N.error("Service unavailable, please try again later.",{toastId:"ERR_SERVICE_UNAVAILABLE",icon:(0,Z.jsx)(it,{})});break;default:o||"ERR_CANCELED"!==(null==t?void 0:t.code)&&"canceled"!==(null==t?void 0:t.message)&&("ECONNABORTED"===(null==t?void 0:t.code)||"ETIMEDOUT"===(null==t?void 0:t.code)?N.error("Request timed out. The server is taking too long to respond.",{toastId:"ERR_TIMEOUT",icon:(0,Z.jsx)(it,{})}):N.error("The server is not responding, please reload or try again later.",{toastId:"ERR_CONNECTION_REFUSED",icon:(0,Z.jsx)(it,{})}))}return Promise.reject(t)}(n,{onSessionExpired:t})});return function(){n.interceptors.response.eject(e)}},[n]);var E=gt(l(!1),2),L=E[0],P=E[1];r(function(){var t=setTimeout(function(){return P(!0)},60*(o||60)*1e3);return function(){return clearTimeout(t)}},[o]),r(function(){L&&i().then(function(t){t&&t.data?S(t.data.Info):console.log("Invalid refresh data response")}).catch(function(t){console.log("Error refreshing user data:",t)}).finally(function(){P(!1)})},[L,i]);var M={isLoggedIn:h,header:p,isAdmin:w,userInfo:k,refreshData:L,setHeader:function(t){return y(t)},setLoggedin:function(t){return v(t)},setRefreshData:function(t){return P(t)},hasRole:function(t){return t.some(function(t){var n;return(null==k||null===(n=k.roles)||void 0===n?void 0:n.indexOf(t))>=0})},deviceUID:u,loadingUser:C};return(0,Z.jsxs)(ht.Provider,{value:M,children:[(0,Z.jsx)(K,pt({position:"top-left",autoClose:5e3,closeOnClick:!0,pauseOnFocusLoss:!0,pauseOnHover:!0,newestOnTop:!1,toastClassName:"custToast materialToast"},f)),(0,Z.jsx)(lt,{appVersion:c}),d]})};const _t=vt;export{ht as SessionManager,vt as SessionManagerProvider,_t as default};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-session.manager.sk",
|
|
3
|
-
"version": "3.0.
|
|
3
|
+
"version": "3.0.2",
|
|
4
4
|
"description": "A react component used to manage token sessions with flask backend",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"files": [
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
],
|
|
10
10
|
"scripts": {
|
|
11
11
|
"build": "webpack --mode production",
|
|
12
|
-
"test": "
|
|
12
|
+
"test": "node --test tests/*.test.mjs",
|
|
13
13
|
"lint": "eslint src/**/*.{js,jsx}",
|
|
14
14
|
"lint:fix": "eslint src/**/*.{js,jsx} --fix",
|
|
15
15
|
"format": "prettier --write src/**/*.{js,jsx,css}",
|