From 269be6bc97bb95e359ae49ba3316bda91cb206d7 Mon Sep 17 00:00:00 2001 From: S34N <12197162+S34NW@users.noreply.github.com> Date: Wed, 22 May 2024 21:26:47 +0200 Subject: [PATCH] Implements byondStorage for 516 browsers (#25363) * Add 516 storage that doesnt break 515 * tgui rebuild * TGUI Bundle Rebuild * TGUI Bundle Rebuild --------- Co-authored-by: paradisess13[bot] <165046124+paradisess13[bot]@users.noreply.github.com> --- code/modules/admin/verbs/debug.dm | 2 +- code/modules/client/client_procs.dm | 4 + tgui/packages/common/storage.js | 73 +++------ tgui/public/tgui-panel.bundle.js | 244 ++++++++++++++-------------- tgui/public/tgui-say.bundle.js | 16 +- tgui/public/tgui.bundle.js | 132 +++++++-------- 6 files changed, 225 insertions(+), 246 deletions(-) diff --git a/code/modules/admin/verbs/debug.dm b/code/modules/admin/verbs/debug.dm index 47529556d96..f3ae480e707 100644 --- a/code/modules/admin/verbs/debug.dm +++ b/code/modules/admin/verbs/debug.dm @@ -928,7 +928,7 @@ GLOBAL_PROTECT(AdminProcCallSpamPrevention) return to_chat(src, "You can now right click to use inspect on browsers.") - winset(src, "", "browser-options=find,devtools") + winset(src, "", "browser-options=byondstorage,find,devtools") /client/proc/visualise_active_turfs() set category = "Debug" diff --git a/code/modules/client/client_procs.dm b/code/modules/client/client_procs.dm index 28575df9f21..64b3c5045d5 100644 --- a/code/modules/client/client_procs.dm +++ b/code/modules/client/client_procs.dm @@ -257,6 +257,10 @@ //CONNECT// /////////// /client/New(TopicData) + // TODO: Remove with 516 + if(byond_version >= 516) // Enable 516 compat browser storage mechanisms + winset(src, "", "browser-options=byondstorage") + var/tdata = TopicData //save this for later use // Instantiate stat panel stat_panel = new(src, "statbrowser") diff --git a/tgui/packages/common/storage.js b/tgui/packages/common/storage.js index 7a08cbb2920..c8d181b31fa 100644 --- a/tgui/packages/common/storage.js +++ b/tgui/packages/common/storage.js @@ -6,9 +6,8 @@ * @license MIT */ -export const IMPL_MEMORY = 0; -export const IMPL_LOCAL_STORAGE = 1; -export const IMPL_INDEXED_DB = 2; +export const IMPL_HUB_STORAGE = 0; +export const IMPL_INDEXED_DB = 1; const INDEXED_DB_VERSION = 1; const INDEXED_DB_NAME = 'para-tgui'; @@ -25,69 +24,44 @@ const testGeneric = (testFn) => () => { } }; -// Localstorage can sometimes throw an error, even if DOM storage is not -// disabled in IE11 settings. -// See: https://superuser.com/questions/1080011 -// prettier-ignore -const testLocalStorage = testGeneric(() => ( - window.localStorage && window.localStorage.getItem -)); +const testHubStorage = testGeneric( + () => window.hubStorage && window.hubStorage.getItem +); +// TODO: Remove with 516 // prettier-ignore const testIndexedDb = testGeneric(() => ( (window.indexedDB || window.msIndexedDB) && (window.IDBTransaction || window.msIDBTransaction) )); -class MemoryBackend { +class HubStorageBackend { constructor() { - this.impl = IMPL_MEMORY; - this.store = {}; + this.impl = IMPL_HUB_STORAGE; } get(key) { - return this.store[key]; - } - - set(key, value) { - this.store[key] = value; - } - - remove(key) { - this.store[key] = undefined; - } - - clear() { - this.store = {}; - } -} - -class LocalStorageBackend { - constructor() { - this.impl = IMPL_LOCAL_STORAGE; - } - - get(key) { - const value = localStorage.getItem(key); + const value = window.hubStorage.getItem('paradise-' + key); if (typeof value === 'string') { return JSON.parse(value); } } set(key, value) { - localStorage.setItem(key, JSON.stringify(value)); + window.hubStorage.setItem('paradise-' + key, JSON.stringify(value)); } remove(key) { - localStorage.removeItem(key); + window.hubStorage.removeItem('paradise-' + key); } clear() { - localStorage.clear(); + window.hubStorage.clear(); } } class IndexedDbBackend { + // TODO: Remove with 516 constructor() { this.impl = IMPL_INDEXED_DB; /** @type {Promise} */ @@ -157,17 +131,18 @@ class IndexedDbBackend { class StorageProxy { constructor() { this.backendPromise = (async () => { - if (testIndexedDb()) { - try { - const backend = new IndexedDbBackend(); - await backend.dbPromise; - return backend; - } catch {} + if (Byond.TRIDENT) { + // fuckin IE users, TODO: Remove with 516 + if (testIndexedDb()) { + try { + const backend = new IndexedDbBackend(); + await backend.dbPromise; + return backend; + } catch {} + } + } else if (testHubStorage()) { + return new HubStorageBackend(); } - if (testLocalStorage()) { - return new LocalStorageBackend(); - } - return new MemoryBackend(); })(); } diff --git a/tgui/public/tgui-panel.bundle.js b/tgui/public/tgui-panel.bundle.js index e14e0777d99..7a34c2d4281 100644 --- a/tgui/public/tgui-panel.bundle.js +++ b/tgui/public/tgui-panel.bundle.js @@ -1,30 +1,30 @@ -(function(){(function(){var An={66641:function(b,e,t){"use strict";e.__esModule=!0,e.createPopper=void 0,e.popperGenerator=h;var n=i(t(8823)),r=i(t(19820)),o=i(t(54826)),a=i(t(43243)),u=i(t(17859)),l=i(t(80798)),c=i(t(46343)),g=i(t(31584));e.detectOverflow=g.default;var v=t(72600);function i(p){return p&&p.__esModule?p:{default:p}}var d={placement:"bottom",modifiers:[],strategy:"absolute"};function s(){for(var p=arguments.length,m=new Array(p),S=0;S0&&(0,r.round)(i.width)/c.offsetWidth||1,s=c.offsetHeight>0&&(0,r.round)(i.height)/c.offsetHeight||1);var h=(0,n.isElement)(c)?(0,o.default)(c):window,f=h.visualViewport,p=!(0,a.default)()&&v,m=(i.left+(p&&f?f.offsetLeft:0))/d,S=(i.top+(p&&f?f.offsetTop:0))/s,O=i.width/d,I=i.height/s;return{width:O,height:I,top:S,right:m+O,bottom:S+I,left:m,x:m,y:S}}},86380:function(b,e,t){"use strict";e.__esModule=!0,e.default=I;var n=t(41521),r=p(t(2868)),o=p(t(39799)),a=p(t(54826)),u=p(t(43243)),l=p(t(33733)),c=p(t(14522)),g=t(72600),v=p(t(32125)),i=p(t(34972)),d=p(t(96343)),s=p(t(13203)),h=p(t(31855)),f=t(69031);function p(C){return C&&C.__esModule?C:{default:C}}function m(C,E){var y=(0,v.default)(C,!1,E==="fixed");return y.top=y.top+C.clientTop,y.left=y.left+C.clientLeft,y.bottom=y.top+C.clientHeight,y.right=y.left+C.clientWidth,y.width=C.clientWidth,y.height=C.clientHeight,y.x=y.left,y.y=y.top,y}function S(C,E,y){return E===n.viewport?(0,h.default)((0,r.default)(C,y)):(0,g.isElement)(E)?m(E,y):(0,h.default)((0,o.default)((0,l.default)(C)))}function O(C){var E=(0,a.default)((0,i.default)(C)),y=["absolute","fixed"].indexOf((0,c.default)(C).position)>=0,T=y&&(0,g.isHTMLElement)(C)?(0,u.default)(C):C;return(0,g.isElement)(T)?E.filter(function(A){return(0,g.isElement)(A)&&(0,d.default)(A,T)&&(0,s.default)(A)!=="body"}):[]}function I(C,E,y,T){var A=E==="clippingParents"?O(C):[].concat(E),N=[].concat(A,[y]),R=N[0],M=N.reduce(function(L,x){var F=S(C,x,T);return L.top=(0,f.max)(F.top,L.top),L.right=(0,f.min)(F.right,L.right),L.bottom=(0,f.min)(F.bottom,L.bottom),L.left=(0,f.max)(F.left,L.left),L},S(C,R,T));return M.width=M.right-M.left,M.height=M.bottom-M.top,M.x=M.left,M.y=M.top,M}},8823:function(b,e,t){"use strict";e.__esModule=!0,e.default=d;var n=v(t(32125)),r=v(t(45401)),o=v(t(13203)),a=t(72600),u=v(t(85750)),l=v(t(33733)),c=v(t(44011)),g=t(69031);function v(s){return s&&s.__esModule?s:{default:s}}function i(s){var h=s.getBoundingClientRect(),f=(0,g.round)(h.width)/s.offsetWidth||1,p=(0,g.round)(h.height)/s.offsetHeight||1;return f!==1||p!==1}function d(s,h,f){f===void 0&&(f=!1);var p=(0,a.isHTMLElement)(h),m=(0,a.isHTMLElement)(h)&&i(h),S=(0,l.default)(h),O=(0,n.default)(s,m,f),I={scrollLeft:0,scrollTop:0},C={x:0,y:0};return(p||!p&&!f)&&(((0,o.default)(h)!=="body"||(0,c.default)(S))&&(I=(0,r.default)(h)),(0,a.isHTMLElement)(h)?(C=(0,n.default)(h,!0),C.x+=h.clientLeft,C.y+=h.clientTop):S&&(C.x=(0,u.default)(S))),{x:O.left+I.scrollLeft-C.x,y:O.top+I.scrollTop-C.y,width:O.width,height:O.height}}},14522:function(b,e,t){"use strict";e.__esModule=!0,e.default=o;var n=r(t(81020));function r(a){return a&&a.__esModule?a:{default:a}}function o(a){return(0,n.default)(a).getComputedStyle(a)}},33733:function(b,e,t){"use strict";e.__esModule=!0,e.default=r;var n=t(72600);function r(o){return(((0,n.isElement)(o)?o.ownerDocument:o.document)||window.document).documentElement}},39799:function(b,e,t){"use strict";e.__esModule=!0,e.default=c;var n=l(t(33733)),r=l(t(14522)),o=l(t(85750)),a=l(t(79569)),u=t(69031);function l(g){return g&&g.__esModule?g:{default:g}}function c(g){var v,i=(0,n.default)(g),d=(0,a.default)(g),s=(v=g.ownerDocument)==null?void 0:v.body,h=(0,u.max)(i.scrollWidth,i.clientWidth,s?s.scrollWidth:0,s?s.clientWidth:0),f=(0,u.max)(i.scrollHeight,i.clientHeight,s?s.scrollHeight:0,s?s.clientHeight:0),p=-d.scrollLeft+(0,o.default)(g),m=-d.scrollTop;return(0,r.default)(s||i).direction==="rtl"&&(p+=(0,u.max)(i.clientWidth,s?s.clientWidth:0)-h),{width:h,height:f,x:p,y:m}}},75680:function(b,e){"use strict";e.__esModule=!0,e.default=t;function t(n){return{scrollLeft:n.scrollLeft,scrollTop:n.scrollTop}}},19820:function(b,e,t){"use strict";e.__esModule=!0,e.default=o;var n=r(t(32125));function r(a){return a&&a.__esModule?a:{default:a}}function o(a){var u=(0,n.default)(a),l=a.offsetWidth,c=a.offsetHeight;return Math.abs(u.width-l)<=1&&(l=u.width),Math.abs(u.height-c)<=1&&(c=u.height),{x:a.offsetLeft,y:a.offsetTop,width:l,height:c}}},13203:function(b,e){"use strict";e.__esModule=!0,e.default=t;function t(n){return n?(n.nodeName||"").toLowerCase():null}},45401:function(b,e,t){"use strict";e.__esModule=!0,e.default=l;var n=u(t(79569)),r=u(t(81020)),o=t(72600),a=u(t(75680));function u(c){return c&&c.__esModule?c:{default:c}}function l(c){return c===(0,r.default)(c)||!(0,o.isHTMLElement)(c)?(0,n.default)(c):(0,a.default)(c)}},43243:function(b,e,t){"use strict";e.__esModule=!0,e.default=d;var n=g(t(81020)),r=g(t(13203)),o=g(t(14522)),a=t(72600),u=g(t(25658)),l=g(t(34972)),c=g(t(97353));function g(s){return s&&s.__esModule?s:{default:s}}function v(s){return!(0,a.isHTMLElement)(s)||(0,o.default)(s).position==="fixed"?null:s.offsetParent}function i(s){var h=/firefox/i.test((0,c.default)()),f=/Trident/i.test((0,c.default)());if(f&&(0,a.isHTMLElement)(s)){var p=(0,o.default)(s);if(p.position==="fixed")return null}var m=(0,l.default)(s);for((0,a.isShadowRoot)(m)&&(m=m.host);(0,a.isHTMLElement)(m)&&["html","body"].indexOf((0,r.default)(m))<0;){var S=(0,o.default)(m);if(S.transform!=="none"||S.perspective!=="none"||S.contain==="paint"||["transform","perspective"].indexOf(S.willChange)!==-1||h&&S.willChange==="filter"||h&&S.filter&&S.filter!=="none")return m;m=m.parentNode}return null}function d(s){for(var h=(0,n.default)(s),f=v(s);f&&(0,u.default)(f)&&(0,o.default)(f).position==="static";)f=v(f);return f&&((0,r.default)(f)==="html"||(0,r.default)(f)==="body"&&(0,o.default)(f).position==="static")?h:f||i(s)||h}},34972:function(b,e,t){"use strict";e.__esModule=!0,e.default=u;var n=a(t(13203)),r=a(t(33733)),o=t(72600);function a(l){return l&&l.__esModule?l:{default:l}}function u(l){return(0,n.default)(l)==="html"?l:l.assignedSlot||l.parentNode||((0,o.isShadowRoot)(l)?l.host:null)||(0,r.default)(l)}},65329:function(b,e,t){"use strict";e.__esModule=!0,e.default=l;var n=u(t(34972)),r=u(t(44011)),o=u(t(13203)),a=t(72600);function u(c){return c&&c.__esModule?c:{default:c}}function l(c){return["html","body","#document"].indexOf((0,o.default)(c))>=0?c.ownerDocument.body:(0,a.isHTMLElement)(c)&&(0,r.default)(c)?c:l((0,n.default)(c))}},2868:function(b,e,t){"use strict";e.__esModule=!0,e.default=l;var n=u(t(81020)),r=u(t(33733)),o=u(t(85750)),a=u(t(14894));function u(c){return c&&c.__esModule?c:{default:c}}function l(c,g){var v=(0,n.default)(c),i=(0,r.default)(c),d=v.visualViewport,s=i.clientWidth,h=i.clientHeight,f=0,p=0;if(d){s=d.width,h=d.height;var m=(0,a.default)();(m||!m&&g==="fixed")&&(f=d.offsetLeft,p=d.offsetTop)}return{width:s,height:h,x:f+(0,o.default)(c),y:p}}},81020:function(b,e){"use strict";e.__esModule=!0,e.default=t;function t(n){if(n==null)return window;if(n.toString()!=="[object Window]"){var r=n.ownerDocument;return r&&r.defaultView||window}return n}},79569:function(b,e,t){"use strict";e.__esModule=!0,e.default=o;var n=r(t(81020));function r(a){return a&&a.__esModule?a:{default:a}}function o(a){var u=(0,n.default)(a),l=u.pageXOffset,c=u.pageYOffset;return{scrollLeft:l,scrollTop:c}}},85750:function(b,e,t){"use strict";e.__esModule=!0,e.default=u;var n=a(t(32125)),r=a(t(33733)),o=a(t(79569));function a(l){return l&&l.__esModule?l:{default:l}}function u(l){return(0,n.default)((0,r.default)(l)).left+(0,o.default)(l).scrollLeft}},72600:function(b,e,t){"use strict";e.__esModule=!0,e.isElement=o,e.isHTMLElement=a,e.isShadowRoot=u;var n=r(t(81020));function r(l){return l&&l.__esModule?l:{default:l}}function o(l){var c=(0,n.default)(l).Element;return l instanceof c||l instanceof Element}function a(l){var c=(0,n.default)(l).HTMLElement;return l instanceof c||l instanceof HTMLElement}function u(l){if(typeof ShadowRoot=="undefined")return!1;var c=(0,n.default)(l).ShadowRoot;return l instanceof c||l instanceof ShadowRoot}},14894:function(b,e,t){"use strict";e.__esModule=!0,e.default=o;var n=r(t(97353));function r(a){return a&&a.__esModule?a:{default:a}}function o(){return!/^((?!chrome|android).)*safari/i.test((0,n.default)())}},44011:function(b,e,t){"use strict";e.__esModule=!0,e.default=o;var n=r(t(14522));function r(a){return a&&a.__esModule?a:{default:a}}function o(a){var u=(0,n.default)(a),l=u.overflow,c=u.overflowX,g=u.overflowY;return/auto|scroll|overlay|hidden/.test(l+g+c)}},25658:function(b,e,t){"use strict";e.__esModule=!0,e.default=o;var n=r(t(13203));function r(a){return a&&a.__esModule?a:{default:a}}function o(a){return["table","td","th"].indexOf((0,n.default)(a))>=0}},54826:function(b,e,t){"use strict";e.__esModule=!0,e.default=l;var n=u(t(65329)),r=u(t(34972)),o=u(t(81020)),a=u(t(44011));function u(c){return c&&c.__esModule?c:{default:c}}function l(c,g){var v;g===void 0&&(g=[]);var i=(0,n.default)(c),d=i===((v=c.ownerDocument)==null?void 0:v.body),s=(0,o.default)(i),h=d?[s].concat(s.visualViewport||[],(0,a.default)(i)?i:[]):i,f=g.concat(h);return d?f:f.concat(l((0,r.default)(h)))}},41521:function(b,e){"use strict";e.__esModule=!0,e.write=e.viewport=e.variationPlacements=e.top=e.start=e.right=e.reference=e.read=e.popper=e.placements=e.modifierPhases=e.main=e.left=e.end=e.clippingParents=e.bottom=e.beforeWrite=e.beforeRead=e.beforeMain=e.basePlacements=e.auto=e.afterWrite=e.afterRead=e.afterMain=void 0;var t=e.top="top",n=e.bottom="bottom",r=e.right="right",o=e.left="left",a=e.auto="auto",u=e.basePlacements=[t,n,r,o],l=e.start="start",c=e.end="end",g=e.clippingParents="clippingParents",v=e.viewport="viewport",i=e.popper="popper",d=e.reference="reference",s=e.variationPlacements=u.reduce(function(A,N){return A.concat([N+"-"+l,N+"-"+c])},[]),h=e.placements=[].concat(u,[a]).reduce(function(A,N){return A.concat([N,N+"-"+l,N+"-"+c])},[]),f=e.beforeRead="beforeRead",p=e.read="read",m=e.afterRead="afterRead",S=e.beforeMain="beforeMain",O=e.main="main",I=e.afterMain="afterMain",C=e.beforeWrite="beforeWrite",E=e.write="write",y=e.afterWrite="afterWrite",T=e.modifierPhases=[f,p,m,S,O,I,C,E,y]},60023:function(b,e,t){"use strict";e.__esModule=!0;var n={popperGenerator:!0,detectOverflow:!0,createPopperBase:!0,createPopper:!0,createPopperLite:!0};e.popperGenerator=e.detectOverflow=e.createPopperLite=e.createPopperBase=e.createPopper=void 0;var r=t(41521);Object.keys(r).forEach(function(c){c==="default"||c==="__esModule"||Object.prototype.hasOwnProperty.call(n,c)||c in e&&e[c]===r[c]||(e[c]=r[c])});var o=t(91078);Object.keys(o).forEach(function(c){c==="default"||c==="__esModule"||Object.prototype.hasOwnProperty.call(n,c)||c in e&&e[c]===o[c]||(e[c]=o[c])});var a=t(66641);e.popperGenerator=a.popperGenerator,e.detectOverflow=a.detectOverflow,e.createPopperBase=a.createPopper;var u=t(7925);e.createPopper=u.createPopper;var l=t(62642);e.createPopperLite=l.createPopper},56304:function(b,e,t){"use strict";e.__esModule=!0,e.default=void 0;var n=o(t(13203)),r=t(72600);function o(c){return c&&c.__esModule?c:{default:c}}function a(c){var g=c.state;Object.keys(g.elements).forEach(function(v){var i=g.styles[v]||{},d=g.attributes[v]||{},s=g.elements[v];!(0,r.isHTMLElement)(s)||!(0,n.default)(s)||(Object.assign(s.style,i),Object.keys(d).forEach(function(h){var f=d[h];f===!1?s.removeAttribute(h):s.setAttribute(h,f===!0?"":f)}))})}function u(c){var g=c.state,v={popper:{position:g.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(g.elements.popper.style,v.popper),g.styles=v,g.elements.arrow&&Object.assign(g.elements.arrow.style,v.arrow),function(){Object.keys(g.elements).forEach(function(i){var d=g.elements[i],s=g.attributes[i]||{},h=Object.keys(g.styles.hasOwnProperty(i)?g.styles[i]:v[i]),f=h.reduce(function(p,m){return p[m]="",p},{});!(0,r.isHTMLElement)(d)||!(0,n.default)(d)||(Object.assign(d.style,f),Object.keys(s).forEach(function(p){d.removeAttribute(p)}))})}}var l=e.default={name:"applyStyles",enabled:!0,phase:"write",fn:a,effect:u,requires:["computeStyles"]}},57243:function(b,e,t){"use strict";e.__esModule=!0,e.default=void 0;var n=i(t(38141)),r=i(t(19820)),o=i(t(96343)),a=i(t(43243)),u=i(t(7770)),l=t(76770),c=i(t(77631)),g=i(t(54824)),v=t(41521);function i(p){return p&&p.__esModule?p:{default:p}}var d=function(){function p(m,S){return m=typeof m=="function"?m(Object.assign({},S.rects,{placement:S.placement})):m,(0,c.default)(typeof m!="number"?m:(0,g.default)(m,v.basePlacements))}return p}();function s(p){var m,S=p.state,O=p.name,I=p.options,C=S.elements.arrow,E=S.modifiersData.popperOffsets,y=(0,n.default)(S.placement),T=(0,u.default)(y),A=[v.left,v.right].indexOf(y)>=0,N=A?"height":"width";if(!(!C||!E)){var R=d(I.padding,S),M=(0,r.default)(C),L=T==="y"?v.top:v.left,x=T==="y"?v.bottom:v.right,F=S.rects.reference[N]+S.rects.reference[T]-E[T]-S.rects.popper[N],V=E[T]-S.rects.reference[T],Y=(0,a.default)(C),B=Y?T==="y"?Y.clientHeight||0:Y.clientWidth||0:0,U=F/2-V/2,j=R[L],K=B-M[N]-R[x],G=B/2-M[N]/2+U,W=(0,l.within)(j,G,K),et=T;S.modifiersData[O]=(m={},m[et]=W,m.centerOffset=W-G,m)}}function h(p){var m=p.state,S=p.options,O=S.element,I=O===void 0?"[data-popper-arrow]":O;I!=null&&(typeof I=="string"&&(I=m.elements.popper.querySelector(I),!I)||(0,o.default)(m.elements.popper,I)&&(m.elements.arrow=I))}var f=e.default={name:"arrow",enabled:!0,phase:"main",fn:s,effect:h,requires:["popperOffsets"],requiresIfExists:["preventOverflow"]}},60421:function(b,e,t){"use strict";e.__esModule=!0,e.default=void 0,e.mapToStyles=s;var n=t(41521),r=v(t(43243)),o=v(t(81020)),a=v(t(33733)),u=v(t(14522)),l=v(t(38141)),c=v(t(14380)),g=t(69031);function v(p){return p&&p.__esModule?p:{default:p}}var i={top:"auto",right:"auto",bottom:"auto",left:"auto"};function d(p,m){var S=p.x,O=p.y,I=m.devicePixelRatio||1;return{x:(0,g.round)(S*I)/I||0,y:(0,g.round)(O*I)/I||0}}function s(p){var m,S=p.popper,O=p.popperRect,I=p.placement,C=p.variation,E=p.offsets,y=p.position,T=p.gpuAcceleration,A=p.adaptive,N=p.roundOffsets,R=p.isFixed,M=E.x,L=M===void 0?0:M,x=E.y,F=x===void 0?0:x,V=typeof N=="function"?N({x:L,y:F}):{x:L,y:F};L=V.x,F=V.y;var Y=E.hasOwnProperty("x"),B=E.hasOwnProperty("y"),U=n.left,j=n.top,K=window;if(A){var G=(0,r.default)(S),W="clientHeight",et="clientWidth";if(G===(0,o.default)(S)&&(G=(0,a.default)(S),(0,u.default)(G).position!=="static"&&y==="absolute"&&(W="scrollHeight",et="scrollWidth")),G=G,I===n.top||(I===n.left||I===n.right)&&C===n.end){j=n.bottom;var st=R&&G===K&&K.visualViewport?K.visualViewport.height:G[W];F-=st-O.height,F*=T?1:-1}if(I===n.left||(I===n.top||I===n.bottom)&&C===n.end){U=n.right;var vt=R&&G===K&&K.visualViewport?K.visualViewport.width:G[et];L-=vt-O.width,L*=T?1:-1}}var k=Object.assign({position:y},A&&i),J=N===!0?d({x:L,y:F},(0,o.default)(S)):{x:L,y:F};if(L=J.x,F=J.y,T){var tt;return Object.assign({},k,(tt={},tt[j]=B?"0":"",tt[U]=Y?"0":"",tt.transform=(K.devicePixelRatio||1)<=1?"translate("+L+"px, "+F+"px)":"translate3d("+L+"px, "+F+"px, 0)",tt))}return Object.assign({},k,(m={},m[j]=B?F+"px":"",m[U]=Y?L+"px":"",m.transform="",m))}function h(p){var m=p.state,S=p.options,O=S.gpuAcceleration,I=O===void 0?!0:O,C=S.adaptive,E=C===void 0?!0:C,y=S.roundOffsets,T=y===void 0?!0:y,A={placement:(0,l.default)(m.placement),variation:(0,c.default)(m.placement),popper:m.elements.popper,popperRect:m.rects.popper,gpuAcceleration:I,isFixed:m.options.strategy==="fixed"};m.modifiersData.popperOffsets!=null&&(m.styles.popper=Object.assign({},m.styles.popper,s(Object.assign({},A,{offsets:m.modifiersData.popperOffsets,position:m.options.strategy,adaptive:E,roundOffsets:T})))),m.modifiersData.arrow!=null&&(m.styles.arrow=Object.assign({},m.styles.arrow,s(Object.assign({},A,{offsets:m.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:T})))),m.attributes.popper=Object.assign({},m.attributes.popper,{"data-popper-placement":m.placement})}var f=e.default={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:h,data:{}}},84601:function(b,e,t){"use strict";e.__esModule=!0,e.default=void 0;var n=r(t(81020));function r(l){return l&&l.__esModule?l:{default:l}}var o={passive:!0};function a(l){var c=l.state,g=l.instance,v=l.options,i=v.scroll,d=i===void 0?!0:i,s=v.resize,h=s===void 0?!0:s,f=(0,n.default)(c.elements.popper),p=[].concat(c.scrollParents.reference,c.scrollParents.popper);return d&&p.forEach(function(m){m.addEventListener("scroll",g.update,o)}),h&&f.addEventListener("resize",g.update,o),function(){d&&p.forEach(function(m){m.removeEventListener("scroll",g.update,o)}),h&&f.removeEventListener("resize",g.update,o)}}var u=e.default={name:"eventListeners",enabled:!0,phase:"write",fn:function(){function l(){}return l}(),effect:a,data:{}}},17267:function(b,e,t){"use strict";e.__esModule=!0,e.default=void 0;var n=g(t(79641)),r=g(t(38141)),o=g(t(71976)),a=g(t(31584)),u=g(t(44744)),l=t(41521),c=g(t(14380));function g(s){return s&&s.__esModule?s:{default:s}}function v(s){if((0,r.default)(s)===l.auto)return[];var h=(0,n.default)(s);return[(0,o.default)(s),h,(0,o.default)(h)]}function i(s){var h=s.state,f=s.options,p=s.name;if(!h.modifiersData[p]._skip){for(var m=f.mainAxis,S=m===void 0?!0:m,O=f.altAxis,I=O===void 0?!0:O,C=f.fallbackPlacements,E=f.padding,y=f.boundary,T=f.rootBoundary,A=f.altBoundary,N=f.flipVariations,R=N===void 0?!0:N,M=f.allowedAutoPlacements,L=h.options.placement,x=(0,r.default)(L),F=x===L,V=C||(F||!R?[(0,n.default)(L)]:v(L)),Y=[L].concat(V).reduce(function(rt,X){return rt.concat((0,r.default)(X)===l.auto?(0,u.default)(h,{placement:X,boundary:y,rootBoundary:T,padding:E,flipVariations:R,allowedAutoPlacements:M}):X)},[]),B=h.rects.reference,U=h.rects.popper,j=new Map,K=!0,G=Y[0],W=0;W=0,J=k?"width":"height",tt=(0,a.default)(h,{placement:et,boundary:y,rootBoundary:T,altBoundary:A,padding:E}),lt=k?vt?l.right:l.left:vt?l.bottom:l.top;B[J]>U[J]&&(lt=(0,n.default)(lt));var it=(0,n.default)(lt),St=[];if(S&&St.push(tt[st]<=0),I&&St.push(tt[lt]<=0,tt[it]<=0),St.every(function(rt){return rt})){G=et,K=!1;break}j.set(et,St)}if(K)for(var Mt=R?3:1,wt=function(){function rt(X){var Q=Y.find(function(nt){var gt=j.get(nt);if(gt)return gt.slice(0,X).every(function(Et){return Et})});if(Q)return G=Q,"break"}return rt}(),Rt=Mt;Rt>0;Rt--){var dt=wt(Rt);if(dt==="break")break}h.placement!==G&&(h.modifiersData[p]._skip=!0,h.placement=G,h.reset=!0)}}var d=e.default={name:"flip",enabled:!0,phase:"main",fn:i,requiresIfExists:["offset"],data:{_skip:!1}}},88476:function(b,e,t){"use strict";e.__esModule=!0,e.default=void 0;var n=t(41521),r=o(t(31584));function o(g){return g&&g.__esModule?g:{default:g}}function a(g,v,i){return i===void 0&&(i={x:0,y:0}),{top:g.top-v.height-i.y,right:g.right-v.width+i.x,bottom:g.bottom-v.height+i.y,left:g.left-v.width-i.x}}function u(g){return[n.top,n.right,n.bottom,n.left].some(function(v){return g[v]>=0})}function l(g){var v=g.state,i=g.name,d=v.rects.reference,s=v.rects.popper,h=v.modifiersData.preventOverflow,f=(0,r.default)(v,{elementContext:"reference"}),p=(0,r.default)(v,{altBoundary:!0}),m=a(f,d),S=a(p,s,h),O=u(m),I=u(S);v.modifiersData[i]={referenceClippingOffsets:m,popperEscapeOffsets:S,isReferenceHidden:O,hasPopperEscaped:I},v.attributes.popper=Object.assign({},v.attributes.popper,{"data-popper-reference-hidden":O,"data-popper-escaped":I})}var c=e.default={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:l}},91078:function(b,e,t){"use strict";e.__esModule=!0,e.preventOverflow=e.popperOffsets=e.offset=e.hide=e.flip=e.eventListeners=e.computeStyles=e.arrow=e.applyStyles=void 0;var n=i(t(56304));e.applyStyles=n.default;var r=i(t(57243));e.arrow=r.default;var o=i(t(60421));e.computeStyles=o.default;var a=i(t(84601));e.eventListeners=a.default;var u=i(t(17267));e.flip=u.default;var l=i(t(88476));e.hide=l.default;var c=i(t(36707));e.offset=c.default;var g=i(t(98916));e.popperOffsets=g.default;var v=i(t(44454));e.preventOverflow=v.default;function i(d){return d&&d.__esModule?d:{default:d}}},36707:function(b,e,t){"use strict";e.__esModule=!0,e.default=void 0,e.distanceAndSkiddingToXY=a;var n=o(t(38141)),r=t(41521);function o(c){return c&&c.__esModule?c:{default:c}}function a(c,g,v){var i=(0,n.default)(c),d=[r.left,r.top].indexOf(i)>=0?-1:1,s=typeof v=="function"?v(Object.assign({},g,{placement:c})):v,h=s[0],f=s[1];return h=h||0,f=(f||0)*d,[r.left,r.right].indexOf(i)>=0?{x:f,y:h}:{x:h,y:f}}function u(c){var g=c.state,v=c.options,i=c.name,d=v.offset,s=d===void 0?[0,0]:d,h=r.placements.reduce(function(S,O){return S[O]=a(O,g.rects,s),S},{}),f=h[g.placement],p=f.x,m=f.y;g.modifiersData.popperOffsets!=null&&(g.modifiersData.popperOffsets.x+=p,g.modifiersData.popperOffsets.y+=m),g.modifiersData[i]=h}var l=e.default={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:u}},98916:function(b,e,t){"use strict";e.__esModule=!0,e.default=void 0;var n=r(t(47566));function r(u){return u&&u.__esModule?u:{default:u}}function o(u){var l=u.state,c=u.name;l.modifiersData[c]=(0,n.default)({reference:l.rects.reference,element:l.rects.popper,strategy:"absolute",placement:l.placement})}var a=e.default={name:"popperOffsets",enabled:!0,phase:"read",fn:o,data:{}}},44454:function(b,e,t){"use strict";e.__esModule=!0,e.default=void 0;var n=t(41521),r=s(t(38141)),o=s(t(7770)),a=s(t(39571)),u=t(76770),l=s(t(19820)),c=s(t(43243)),g=s(t(31584)),v=s(t(14380)),i=s(t(92385)),d=t(69031);function s(p){return p&&p.__esModule?p:{default:p}}function h(p){var m=p.state,S=p.options,O=p.name,I=S.mainAxis,C=I===void 0?!0:I,E=S.altAxis,y=E===void 0?!1:E,T=S.boundary,A=S.rootBoundary,N=S.altBoundary,R=S.padding,M=S.tether,L=M===void 0?!0:M,x=S.tetherOffset,F=x===void 0?0:x,V=(0,g.default)(m,{boundary:T,rootBoundary:A,padding:R,altBoundary:N}),Y=(0,r.default)(m.placement),B=(0,v.default)(m.placement),U=!B,j=(0,o.default)(Y),K=(0,a.default)(j),G=m.modifiersData.popperOffsets,W=m.rects.reference,et=m.rects.popper,st=typeof F=="function"?F(Object.assign({},m.rects,{placement:m.placement})):F,vt=typeof st=="number"?{mainAxis:st,altAxis:st}:Object.assign({mainAxis:0,altAxis:0},st),k=m.modifiersData.offset?m.modifiersData.offset[m.placement]:null,J={x:0,y:0};if(G){if(C){var tt,lt=j==="y"?n.top:n.left,it=j==="y"?n.bottom:n.right,St=j==="y"?"height":"width",Mt=G[j],wt=Mt+V[lt],Rt=Mt-V[it],dt=L?-et[St]/2:0,rt=B===n.start?W[St]:et[St],X=B===n.start?-et[St]:-W[St],Q=m.elements.arrow,nt=L&&Q?(0,l.default)(Q):{width:0,height:0},gt=m.modifiersData["arrow#persistent"]?m.modifiersData["arrow#persistent"].padding:(0,i.default)(),Et=gt[lt],ot=gt[it],pt=(0,u.within)(0,W[St],nt[St]),Nt=U?W[St]/2-dt-pt-Et-vt.mainAxis:rt-pt-Et-vt.mainAxis,Z=U?-W[St]/2+dt+pt+ot+vt.mainAxis:X+pt+ot+vt.mainAxis,ct=m.elements.arrow&&(0,c.default)(m.elements.arrow),bt=ct?j==="y"?ct.clientTop||0:ct.clientLeft||0:0,At=(tt=k==null?void 0:k[j])!=null?tt:0,Dt=Mt+Nt-At-bt,Ut=Mt+Z-At,Tt=(0,u.within)(L?(0,d.min)(wt,Dt):wt,Mt,L?(0,d.max)(Rt,Ut):Rt);G[j]=Tt,J[j]=Tt-Mt}if(y){var ut,mt=j==="x"?n.top:n.left,It=j==="x"?n.bottom:n.right,Ct=G[K],Pt=K==="y"?"height":"width",xt=Ct+V[mt],jt=Ct-V[It],Kt=[n.top,n.left].indexOf(Y)!==-1,Wt=(ut=k==null?void 0:k[K])!=null?ut:0,$t=Kt?xt:Ct-W[Pt]-et[Pt]-Wt+vt.altAxis,kt=Kt?Ct+W[Pt]+et[Pt]-Wt-vt.altAxis:jt,Zt=L&&Kt?(0,u.withinMaxClamp)($t,Ct,kt):(0,u.within)(L?$t:xt,Ct,L?kt:jt);G[K]=Zt,J[K]=Zt-Ct}m.modifiersData[O]=J}}var f=e.default={name:"preventOverflow",enabled:!0,phase:"main",fn:h,requiresIfExists:["offset"]}},62642:function(b,e,t){"use strict";e.__esModule=!0,e.defaultModifiers=e.createPopper=void 0;var n=t(66641);e.popperGenerator=n.popperGenerator,e.detectOverflow=n.detectOverflow;var r=l(t(84601)),o=l(t(98916)),a=l(t(60421)),u=l(t(56304));function l(v){return v&&v.__esModule?v:{default:v}}var c=e.defaultModifiers=[r.default,o.default,a.default,u.default],g=e.createPopper=(0,n.popperGenerator)({defaultModifiers:c})},7925:function(b,e,t){"use strict";e.__esModule=!0;var n={createPopper:!0,createPopperLite:!0,defaultModifiers:!0,popperGenerator:!0,detectOverflow:!0};e.defaultModifiers=e.createPopperLite=e.createPopper=void 0;var r=t(66641);e.popperGenerator=r.popperGenerator,e.detectOverflow=r.detectOverflow;var o=f(t(84601)),a=f(t(98916)),u=f(t(60421)),l=f(t(56304)),c=f(t(36707)),g=f(t(17267)),v=f(t(44454)),i=f(t(57243)),d=f(t(88476)),s=t(62642);e.createPopperLite=s.createPopper;var h=t(91078);Object.keys(h).forEach(function(S){S==="default"||S==="__esModule"||Object.prototype.hasOwnProperty.call(n,S)||S in e&&e[S]===h[S]||(e[S]=h[S])});function f(S){return S&&S.__esModule?S:{default:S}}var p=e.defaultModifiers=[o.default,a.default,u.default,l.default,c.default,g.default,v.default,i.default,d.default],m=e.createPopperLite=e.createPopper=(0,r.popperGenerator)({defaultModifiers:p})},44744:function(b,e,t){"use strict";e.__esModule=!0,e.default=l;var n=u(t(14380)),r=t(41521),o=u(t(31584)),a=u(t(38141));function u(c){return c&&c.__esModule?c:{default:c}}function l(c,g){g===void 0&&(g={});var v=g,i=v.placement,d=v.boundary,s=v.rootBoundary,h=v.padding,f=v.flipVariations,p=v.allowedAutoPlacements,m=p===void 0?r.placements:p,S=(0,n.default)(i),O=S?f?r.variationPlacements:r.variationPlacements.filter(function(E){return(0,n.default)(E)===S}):r.basePlacements,I=O.filter(function(E){return m.indexOf(E)>=0});I.length===0&&(I=O);var C=I.reduce(function(E,y){return E[y]=(0,o.default)(c,{placement:y,boundary:d,rootBoundary:s,padding:h})[(0,a.default)(y)],E},{});return Object.keys(C).sort(function(E,y){return C[E]-C[y]})}},47566:function(b,e,t){"use strict";e.__esModule=!0,e.default=l;var n=u(t(38141)),r=u(t(14380)),o=u(t(7770)),a=t(41521);function u(c){return c&&c.__esModule?c:{default:c}}function l(c){var g=c.reference,v=c.element,i=c.placement,d=i?(0,n.default)(i):null,s=i?(0,r.default)(i):null,h=g.x+g.width/2-v.width/2,f=g.y+g.height/2-v.height/2,p;switch(d){case a.top:p={x:h,y:g.y-v.height};break;case a.bottom:p={x:h,y:g.y+g.height};break;case a.right:p={x:g.x+g.width,y:f};break;case a.left:p={x:g.x-v.width,y:f};break;default:p={x:g.x,y:g.y}}var m=d?(0,o.default)(d):null;if(m!=null){var S=m==="y"?"height":"width";switch(s){case a.start:p[m]=p[m]-(g[S]/2-v[S]/2);break;case a.end:p[m]=p[m]+(g[S]/2-v[S]/2);break;default:}}return p}},80798:function(b,e){"use strict";e.__esModule=!0,e.default=t;function t(n){var r;return function(){return r||(r=new Promise(function(o){Promise.resolve().then(function(){r=void 0,o(n())})})),r}}},31584:function(b,e,t){"use strict";e.__esModule=!0,e.default=d;var n=i(t(86380)),r=i(t(33733)),o=i(t(32125)),a=i(t(47566)),u=i(t(31855)),l=t(41521),c=t(72600),g=i(t(77631)),v=i(t(54824));function i(s){return s&&s.__esModule?s:{default:s}}function d(s,h){h===void 0&&(h={});var f=h,p=f.placement,m=p===void 0?s.placement:p,S=f.strategy,O=S===void 0?s.strategy:S,I=f.boundary,C=I===void 0?l.clippingParents:I,E=f.rootBoundary,y=E===void 0?l.viewport:E,T=f.elementContext,A=T===void 0?l.popper:T,N=f.altBoundary,R=N===void 0?!1:N,M=f.padding,L=M===void 0?0:M,x=(0,g.default)(typeof L!="number"?L:(0,v.default)(L,l.basePlacements)),F=A===l.popper?l.reference:l.popper,V=s.rects.popper,Y=s.elements[R?F:A],B=(0,n.default)((0,c.isElement)(Y)?Y:Y.contextElement||(0,r.default)(s.elements.popper),C,y,O),U=(0,o.default)(s.elements.reference),j=(0,a.default)({reference:U,element:V,strategy:"absolute",placement:m}),K=(0,u.default)(Object.assign({},V,j)),G=A===l.popper?K:U,W={top:B.top-G.top+x.top,bottom:G.bottom-B.bottom+x.bottom,left:B.left-G.left+x.left,right:G.right-B.right+x.right},et=s.modifiersData.offset;if(A===l.popper&&et){var st=et[m];Object.keys(W).forEach(function(vt){var k=[l.right,l.bottom].indexOf(vt)>=0?1:-1,J=[l.top,l.bottom].indexOf(vt)>=0?"y":"x";W[vt]+=st[J]*k})}return W}},54824:function(b,e){"use strict";e.__esModule=!0,e.default=t;function t(n,r){return r.reduce(function(o,a){return o[a]=n,o},{})}},39571:function(b,e){"use strict";e.__esModule=!0,e.default=t;function t(n){return n==="x"?"y":"x"}},38141:function(b,e,t){"use strict";e.__esModule=!0,e.default=r;var n=t(41521);function r(o){return o.split("-")[0]}},92385:function(b,e){"use strict";e.__esModule=!0,e.default=t;function t(){return{top:0,right:0,bottom:0,left:0}}},7770:function(b,e){"use strict";e.__esModule=!0,e.default=t;function t(n){return["top","bottom"].indexOf(n)>=0?"x":"y"}},79641:function(b,e){"use strict";e.__esModule=!0,e.default=n;var t={left:"right",right:"left",bottom:"top",top:"bottom"};function n(r){return r.replace(/left|right|bottom|top/g,function(o){return t[o]})}},71976:function(b,e){"use strict";e.__esModule=!0,e.default=n;var t={start:"end",end:"start"};function n(r){return r.replace(/start|end/g,function(o){return t[o]})}},14380:function(b,e){"use strict";e.__esModule=!0,e.default=t;function t(n){return n.split("-")[1]}},69031:function(b,e){"use strict";e.__esModule=!0,e.round=e.min=e.max=void 0;var t=e.max=Math.max,n=e.min=Math.min,r=e.round=Math.round},46343:function(b,e){"use strict";e.__esModule=!0,e.default=t;function t(n){var r=n.reduce(function(o,a){var u=o[a.name];return o[a.name]=u?Object.assign({},u,a,{options:Object.assign({},u.options,a.options),data:Object.assign({},u.data,a.data)}):a,o},{});return Object.keys(r).map(function(o){return r[o]})}},77631:function(b,e,t){"use strict";e.__esModule=!0,e.default=o;var n=r(t(92385));function r(a){return a&&a.__esModule?a:{default:a}}function o(a){return Object.assign({},(0,n.default)(),a)}},17859:function(b,e,t){"use strict";e.__esModule=!0,e.default=o;var n=t(41521);function r(a){var u=new Map,l=new Set,c=[];a.forEach(function(v){u.set(v.name,v)});function g(v){l.add(v.name);var i=[].concat(v.requires||[],v.requiresIfExists||[]);i.forEach(function(d){if(!l.has(d)){var s=u.get(d);s&&g(s)}}),c.push(v)}return a.forEach(function(v){l.has(v.name)||g(v)}),c}function o(a){var u=r(a);return n.modifierPhases.reduce(function(l,c){return l.concat(u.filter(function(g){return g.phase===c}))},[])}},31855:function(b,e){"use strict";e.__esModule=!0,e.default=t;function t(n){return Object.assign({},n,{left:n.x,top:n.y,right:n.x+n.width,bottom:n.y+n.height})}},97353:function(b,e){"use strict";e.__esModule=!0,e.default=t;function t(){var n=navigator.userAgentData;return n!=null&&n.brands&&Array.isArray(n.brands)?n.brands.map(function(r){return r.brand+"/"+r.version}).join(" "):navigator.userAgent}},76770:function(b,e,t){"use strict";e.__esModule=!0,e.within=r,e.withinMaxClamp=o;var n=t(69031);function r(a,u,l){return(0,n.max)(a,(0,n.min)(u,l))}function o(a,u,l){var c=r(a,u,l);return c>l?l:c}},27061:function(b){"use strict";/*! @license DOMPurify 2.5.0 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/2.5.0/LICENSE */(function(e,t){b.exports=t()})(void 0,function(){"use strict";function e(Z){"@babel/helpers - typeof";return e=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(ct){return typeof ct}:function(ct){return ct&&typeof Symbol=="function"&&ct.constructor===Symbol&&ct!==Symbol.prototype?"symbol":typeof ct},e(Z)}function t(Z,ct){return t=Object.setPrototypeOf||function(){function bt(At,Dt){return At.__proto__=Dt,At}return bt}(),t(Z,ct)}function n(){if(typeof Reflect=="undefined"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(Z){return!1}}function r(Z,ct,bt){return n()?r=Reflect.construct:r=function(){function At(Dt,Ut,Tt){var ut=[null];ut.push.apply(ut,Ut);var mt=Function.bind.apply(Dt,ut),It=new mt;return Tt&&t(It,Tt.prototype),It}return At}(),r.apply(null,arguments)}function o(Z){return a(Z)||u(Z)||l(Z)||g()}function a(Z){if(Array.isArray(Z))return c(Z)}function u(Z){if(typeof Symbol!="undefined"&&Z[Symbol.iterator]!=null||Z["@@iterator"]!=null)return Array.from(Z)}function l(Z,ct){if(Z){if(typeof Z=="string")return c(Z,ct);var bt=Object.prototype.toString.call(Z).slice(8,-1);if(bt==="Object"&&Z.constructor&&(bt=Z.constructor.name),bt==="Map"||bt==="Set")return Array.from(Z);if(bt==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(bt))return c(Z,ct)}}function c(Z,ct){(ct==null||ct>Z.length)&&(ct=Z.length);for(var bt=0,At=new Array(ct);bt1?bt-1:0),Dt=1;Dt/gm),wt=p(/\${[\w\W]*}/gm),Rt=p(/^data-[\-\w.\u00B7-\uFFFF]/),dt=p(/^aria-[\-\w]+$/),rt=p(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),X=p(/^(?:\w+script|data):/i),Q=p(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),nt=p(/^html$/i),gt=p(/^[a-z][.\w]*(-[.\w]+)+$/i),Et=function(){function Z(){return typeof window=="undefined"?null:window}return Z}(),ot=function(){function Z(ct,bt){if(e(ct)!=="object"||typeof ct.createPolicy!="function")return null;var At=null,Dt="data-tt-policy-suffix";bt.currentScript&&bt.currentScript.hasAttribute(Dt)&&(At=bt.currentScript.getAttribute(Dt));var Ut="dompurify"+(At?"#"+At:"");try{return ct.createPolicy(Ut,{createHTML:function(){function Tt(ut){return ut}return Tt}(),createScriptURL:function(){function Tt(ut){return ut}return Tt}()})}catch(Tt){return null}}return Z}();function pt(){var Z=arguments.length>0&&arguments[0]!==void 0?arguments[0]:Et(),ct=function(){function ht($){return pt($)}return ht}();if(ct.version="2.5.0",ct.removed=[],!Z||!Z.document||Z.document.nodeType!==9)return ct.isSupported=!1,ct;var bt=Z.document,At=Z.document,Dt=Z.DocumentFragment,Ut=Z.HTMLTemplateElement,Tt=Z.Node,ut=Z.Element,mt=Z.NodeFilter,It=Z.NamedNodeMap,Ct=It===void 0?Z.NamedNodeMap||Z.MozNamedAttrMap:It,Pt=Z.HTMLFormElement,xt=Z.DOMParser,jt=Z.trustedTypes,Kt=ut.prototype,Wt=j(Kt,"cloneNode"),$t=j(Kt,"nextSibling"),kt=j(Kt,"childNodes"),Zt=j(Kt,"parentNode");if(typeof Ut=="function"){var Be=At.createElement("template");Be.content&&Be.content.ownerDocument&&(At=Be.content.ownerDocument)}var te=ot(jt,bt),De=te?te.createHTML(""):"",ve=At,xe=ve.implementation,nn=ve.createNodeIterator,rn=ve.createDocumentFragment,Ge=ve.getElementsByTagName,on=bt.importNode,an={};try{an=U(At).documentMode?At.documentMode:{}}catch(ht){}var re={};ct.isSupported=typeof Zt=="function"&&xe&&xe.createHTMLDocument!==void 0&&an!==9;var $e=St,He=Mt,he=wt,Oe=Rt,oe=dt,ue=X,ge=Q,Fe=gt,pe=rt,Xt=null,un=B({},[].concat(o(K),o(G),o(W),o(st),o(k))),Jt=null,sn=B({},[].concat(o(J),o(tt),o(lt),o(it))),Ht=Object.seal(Object.create(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),me=null,Ve=null,We=!0,Ie=!0,zt=!1,cn=!0,ye=!1,ke=!0,le=!1,se=!1,ze=!1,Se=!1,je=!1,Ae=!1,ln=!0,Xe=!1,Sn="user-content-",ae=!0,Pe=!1,Ee={},be=null,fn=B({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]),dn=null,vn=B({},["audio","video","img","source","image","track"]),Ne=null,hn=B({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),Me="http://www.w3.org/1998/Math/MathML",Ue="http://www.w3.org/2000/svg",ce="http://www.w3.org/1999/xhtml",Ce=ce,Je=!1,Qe=null,En=B({},[Me,Ue,ce],A),_t,Ke=["application/xhtml+xml","text/html"],gn="text/html",Qt,Te=null,pn=At.createElement("form"),Ze=function(){function ht($){return $ instanceof RegExp||$ instanceof Function}return ht}(),_e=function(){function ht($){Te&&Te===$||((!$||e($)!=="object")&&($={}),$=U($),_t=Ke.indexOf($.PARSER_MEDIA_TYPE)===-1?_t=gn:_t=$.PARSER_MEDIA_TYPE,Qt=_t==="application/xhtml+xml"?A:T,Xt="ALLOWED_TAGS"in $?B({},$.ALLOWED_TAGS,Qt):un,Jt="ALLOWED_ATTR"in $?B({},$.ALLOWED_ATTR,Qt):sn,Qe="ALLOWED_NAMESPACES"in $?B({},$.ALLOWED_NAMESPACES,A):En,Ne="ADD_URI_SAFE_ATTR"in $?B(U(hn),$.ADD_URI_SAFE_ATTR,Qt):hn,dn="ADD_DATA_URI_TAGS"in $?B(U(vn),$.ADD_DATA_URI_TAGS,Qt):vn,be="FORBID_CONTENTS"in $?B({},$.FORBID_CONTENTS,Qt):fn,me="FORBID_TAGS"in $?B({},$.FORBID_TAGS,Qt):{},Ve="FORBID_ATTR"in $?B({},$.FORBID_ATTR,Qt):{},Ee="USE_PROFILES"in $?$.USE_PROFILES:!1,We=$.ALLOW_ARIA_ATTR!==!1,Ie=$.ALLOW_DATA_ATTR!==!1,zt=$.ALLOW_UNKNOWN_PROTOCOLS||!1,cn=$.ALLOW_SELF_CLOSE_IN_ATTR!==!1,ye=$.SAFE_FOR_TEMPLATES||!1,ke=$.SAFE_FOR_XML!==!1,le=$.WHOLE_DOCUMENT||!1,Se=$.RETURN_DOM||!1,je=$.RETURN_DOM_FRAGMENT||!1,Ae=$.RETURN_TRUSTED_TYPE||!1,ze=$.FORCE_BODY||!1,ln=$.SANITIZE_DOM!==!1,Xe=$.SANITIZE_NAMED_PROPS||!1,ae=$.KEEP_CONTENT!==!1,Pe=$.IN_PLACE||!1,pe=$.ALLOWED_URI_REGEXP||pe,Ce=$.NAMESPACE||ce,Ht=$.CUSTOM_ELEMENT_HANDLING||{},$.CUSTOM_ELEMENT_HANDLING&&Ze($.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(Ht.tagNameCheck=$.CUSTOM_ELEMENT_HANDLING.tagNameCheck),$.CUSTOM_ELEMENT_HANDLING&&Ze($.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(Ht.attributeNameCheck=$.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),$.CUSTOM_ELEMENT_HANDLING&&typeof $.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements=="boolean"&&(Ht.allowCustomizedBuiltInElements=$.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),ye&&(Ie=!1),je&&(Se=!0),Ee&&(Xt=B({},o(k)),Jt=[],Ee.html===!0&&(B(Xt,K),B(Jt,J)),Ee.svg===!0&&(B(Xt,G),B(Jt,tt),B(Jt,it)),Ee.svgFilters===!0&&(B(Xt,W),B(Jt,tt),B(Jt,it)),Ee.mathMl===!0&&(B(Xt,st),B(Jt,lt),B(Jt,it))),$.ADD_TAGS&&(Xt===un&&(Xt=U(Xt)),B(Xt,$.ADD_TAGS,Qt)),$.ADD_ATTR&&(Jt===sn&&(Jt=U(Jt)),B(Jt,$.ADD_ATTR,Qt)),$.ADD_URI_SAFE_ATTR&&B(Ne,$.ADD_URI_SAFE_ATTR,Qt),$.FORBID_CONTENTS&&(be===fn&&(be=U(be)),B(be,$.FORBID_CONTENTS,Qt)),ae&&(Xt["#text"]=!0),le&&B(Xt,["html","head","body"]),Xt.table&&(B(Xt,["tbody"]),delete me.tbody),f&&f($),Te=$)}return ht}(),Re=B({},["mi","mo","mn","ms","mtext"]),mn=B({},["foreignobject","desc","title","annotation-xml"]),qe=B({},["title","style","font","a","script"]),we=B({},G);B(we,W),B(we,et);var tn=B({},st);B(tn,vt);var yn=function(){function ht($){var ft=Zt($);(!ft||!ft.tagName)&&(ft={namespaceURI:Ce,tagName:"template"});var Ot=T($.tagName),Ft=T(ft.tagName);return Qe[$.namespaceURI]?$.namespaceURI===Ue?ft.namespaceURI===ce?Ot==="svg":ft.namespaceURI===Me?Ot==="svg"&&(Ft==="annotation-xml"||Re[Ft]):!!we[Ot]:$.namespaceURI===Me?ft.namespaceURI===ce?Ot==="math":ft.namespaceURI===Ue?Ot==="math"&&mn[Ft]:!!tn[Ot]:$.namespaceURI===ce?ft.namespaceURI===Ue&&!mn[Ft]||ft.namespaceURI===Me&&!Re[Ft]?!1:!tn[Ot]&&(qe[Ot]||!we[Ot]):!!(_t==="application/xhtml+xml"&&Qe[$.namespaceURI]):!1}return ht}(),ee=function(){function ht($){y(ct.removed,{element:$});try{$.parentNode.removeChild($)}catch(ft){try{$.outerHTML=De}catch(Ot){$.remove()}}}return ht}(),Le=function(){function ht($,ft){try{y(ct.removed,{attribute:ft.getAttributeNode($),from:ft})}catch(Ot){y(ct.removed,{attribute:null,from:ft})}if(ft.removeAttribute($),$==="is"&&!Jt[$])if(Se||je)try{ee(ft)}catch(Ot){}else try{ft.setAttribute($,"")}catch(Ot){}}return ht}(),bn=function(){function ht($){var ft,Ot;if(ze)$=""+$;else{var Ft=N($,/^[\r\n\t ]+/);Ot=Ft&&Ft[0]}_t==="application/xhtml+xml"&&Ce===ce&&($=''+$+"");var Bt=te?te.createHTML($):$;if(Ce===ce)try{ft=new xt().parseFromString(Bt,_t)}catch(Vt){}if(!ft||!ft.documentElement){ft=xe.createDocument(Ce,"template",null);try{ft.documentElement.innerHTML=Je?De:Bt}catch(Vt){}}var Yt=ft.body||ft.documentElement;return $&&Ot&&Yt.insertBefore(At.createTextNode(Ot),Yt.childNodes[0]||null),Ce===ce?Ge.call(ft,le?"html":"body")[0]:le?ft.documentElement:Yt}return ht}(),P=function(){function ht($){return nn.call($.ownerDocument||$,$,mt.SHOW_ELEMENT|mt.SHOW_COMMENT|mt.SHOW_TEXT|mt.SHOW_PROCESSING_INSTRUCTION|mt.SHOW_CDATA_SECTION,null,!1)}return ht}(),w=function(){function ht($){return $ instanceof Pt&&(typeof $.nodeName!="string"||typeof $.textContent!="string"||typeof $.removeChild!="function"||!($.attributes instanceof Ct)||typeof $.removeAttribute!="function"||typeof $.setAttribute!="function"||typeof $.namespaceURI!="string"||typeof $.insertBefore!="function"||typeof $.hasChildNodes!="function")}return ht}(),D=function(){function ht($){return e(Tt)==="object"?$ instanceof Tt:$&&e($)==="object"&&typeof $.nodeType=="number"&&typeof $.nodeName=="string"}return ht}(),H=function(){function ht($,ft,Ot){re[$]&&C(re[$],function(Ft){Ft.call(ct,ft,Ot,Te)})}return ht}(),_=function(){function ht($){var ft;if(H("beforeSanitizeElements",$,null),w($)||x(/[\u0080-\uFFFF]/,$.nodeName))return ee($),!0;var Ot=Qt($.nodeName);if(H("uponSanitizeElement",$,{tagName:Ot,allowedTags:Xt}),$.hasChildNodes()&&!D($.firstElementChild)&&(!D($.content)||!D($.content.firstElementChild))&&x(/<[/\w]/g,$.innerHTML)&&x(/<[/\w]/g,$.textContent)||Ot==="select"&&x(/