summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorteh_coderer <me@tehcoderer.com>2023-05-03 18:28:52 -0400
committerteh_coderer <me@tehcoderer.com>2023-05-03 18:28:52 -0400
commitd623ede37c34d4f87b6f311fa92bde38eeb17cbc (patch)
tree40d0dd9fab90aa750ee805dc2de86333b56913dc
parentc19713cd3b72b097fa5357e4747566e0944aa93a (diff)
add trace labels space
-rw-r--r--frontend-components/plotly/src/App.tsx15
-rw-r--r--frontend-components/plotly/src/components/ResizeHandler.tsx15
-rw-r--r--openbb_terminal/core/plots/backend.py12
-rw-r--r--openbb_terminal/core/plots/plotly.html142
4 files changed, 95 insertions, 89 deletions
diff --git a/frontend-components/plotly/src/App.tsx b/frontend-components/plotly/src/App.tsx
index bcadf56acd6..27915ab4a33 100644
--- a/frontend-components/plotly/src/App.tsx
+++ b/frontend-components/plotly/src/App.tsx
@@ -71,7 +71,20 @@ function App() {
}
});
}
- let title = data.layout?.title?.text;
+
+ // We add spaces to all trace names, due to Fira Code font width issues
+ // to make sure that the legend is not cut off
+ data.data.forEach(function (trace) {
+ if (trace.name != undefined) {
+ const name_length = trace.name.length;
+ trace.name = trace.name + " ";
+ trace.hoverlabel = {
+ namelength: name_length,
+ };
+ }
+ });
+
+ let title = data.layout?.title?.text || "Interactive Chart";
globals.title = title;
return {
data: data,
diff --git a/frontend-components/plotly/src/components/ResizeHandler.tsx b/frontend-components/plotly/src/components/ResizeHandler.tsx
index e2997905c1c..ced5fff3e73 100644
--- a/frontend-components/plotly/src/components/ResizeHandler.tsx
+++ b/frontend-components/plotly/src/components/ResizeHandler.tsx
@@ -5,7 +5,7 @@ import { hideModebar } from "./PlotlyConfig";
export default async function ResizeHandler({
plotData,
volumeBars,
- setMaximizePlot
+ setMaximizePlot,
}: {
plotData: Figure;
volumeBars: any;
@@ -14,7 +14,11 @@ export default async function ResizeHandler({
// We hide the modebar and set the number of ticks to 5
const XAXIS = Object.keys(plotData.layout)
.filter((x) => x.startsWith("xaxis"))
- .filter((x) => plotData.layout[x].showticklabels);
+ .filter(
+ (x) =>
+ plotData.layout[x].showticklabels ||
+ plotData.layout[x].matches == undefined
+ );
const TRACES = plotData.data.filter((trace) =>
trace?.name?.startsWith("Volume")
@@ -29,7 +33,7 @@ export default async function ResizeHandler({
height > 420 && width < 920 ? 8 : height > 420 && width < 500 ? 9 : 7;
if (width < 750) {
- // We hide the modebar and set the number of ticks to 5
+ // We hide the modebar and set the number of ticks to 6
TRACES.forEach((trace) => {
if (trace.type == "bar") {
@@ -44,8 +48,9 @@ export default async function ResizeHandler({
}
}
});
+
XAXIS.forEach((x) => {
- if (volume.old_nticks?.[x] == undefined) {
+ if (volumeBars.old_nticks?.[x] == undefined) {
layout_update[x + ".nticks"] = 6;
volume.old_nticks[x] = plotData.layout[x].nticks || 10;
}
@@ -60,7 +65,7 @@ export default async function ResizeHandler({
if (volumeBars.old_nticks != undefined) {
XAXIS.forEach((x) => {
- if (volume.old_nticks[x] != undefined) {
+ if (volumeBars.old_nticks[x] != undefined) {
layout_update[x + ".nticks"] = volume.old_nticks[x];
volume.old_nticks[x] = undefined;
}
diff --git a/openbb_terminal/core/plots/backend.py b/openbb_terminal/core/plots/backend.py
index 5629acf18bf..7ffc2e2e966 100644
--- a/openbb_terminal/core/plots/backend.py
+++ b/openbb_terminal/core/plots/backend.py
@@ -188,18 +188,6 @@ class Backend(PyWry):
title = "Interactive Chart"
- # We check if figure is a subplot and has a title annotation
- if not fig.layout.title.text and fig._has_subplots(): # pylint: disable=W0212
- for annotation in fig.select_annotations(
- selector=dict(xref="paper", yref="paper")
- ):
- # Subplots always set the first annotation as the title
- # so we break after the first one
- if annotation.text:
- title = annotation.text
- annotation.text = ""
- break
-
fig.layout.title.text = re.sub(
r"<[^>]*>", "", fig.layout.title.text if fig.layout.title.text else title
)
diff --git a/openbb_terminal/core/plots/plotly.html b/openbb_terminal/core/plots/plotly.html
index 3206a5cdf6d..1517166b5cc 100644
--- a/openbb_terminal/core/plots/plotly.html
+++ b/openbb_terminal/core/plots/plotly.html
@@ -58,7 +58,7 @@ object-assign
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
- */(function(P){var F,J,fe,Pe;if(typeof performance=="object"&&typeof performance.now=="function"){var D=performance;P.unstable_now=function(){return D.now()}}else{var E=Date,e=E.now();P.unstable_now=function(){return E.now()-e}}if(typeof window>"u"||typeof MessageChannel!="function"){var _=null,T=null,s=function(){if(_!==null)try{var I=P.unstable_now();_(!0,I),_=null}catch(R){throw setTimeout(s,0),R}};F=function(I){_!==null?setTimeout(F,0,I):(_=I,setTimeout(s,0))},J=function(I,R){T=setTimeout(I,R)},fe=function(){clearTimeout(T)},P.unstable_shouldYield=function(){return!1},Pe=P.unstable_forceFrameRate=function(){}}else{var w=window.setTimeout,m=window.clearTimeout;if(typeof console<"u"){var f=window.cancelAnimationFrame;typeof window.requestAnimationFrame!="function"&&console.error("This browser doesn't support requestAnimationFrame. Make sure that you load a polyfill in older browsers. https://reactjs.org/link/react-polyfills"),typeof f!="function"&&console.error("This browser doesn't support cancelAnimationFrame. Make sure that you load a polyfill in older browsers. https://reactjs.org/link/react-polyfills")}var l=!1,t=null,i=-1,r=5,n=0;P.unstable_shouldYield=function(){return P.unstable_now()>=n},Pe=function(){},P.unstable_forceFrameRate=function(I){0>I||125<I?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):r=0<I?Math.floor(1e3/I):5};var o=new MessageChannel,a=o.port2;o.port1.onmessage=function(){if(t!==null){var I=P.unstable_now();n=I+r;try{t(!0,I)?a.postMessage(null):(l=!1,t=null)}catch(R){throw a.postMessage(null),R}}else l=!1},F=function(I){t=I,l||(l=!0,a.postMessage(null))},J=function(I,R){i=w(function(){I(P.unstable_now())},R)},fe=function(){m(i),i=-1}}function u(I,R){var U=I.length;I.push(R);e:for(;;){var B=U-1>>>1,G=I[B];if(G!==void 0&&0<b(G,R))I[B]=R,I[U]=G,U=B;else break e}}function p(I){return I=I[0],I===void 0?null:I}function c(I){var R=I[0];if(R!==void 0){var U=I.pop();if(U!==R){I[0]=U;e:for(var B=0,G=I.length;B<G;){var N=2*(B+1)-1,j=I[N],V=N+1,H=I[V];if(j!==void 0&&0>b(j,U))H!==void 0&&0>b(H,j)?(I[B]=H,I[V]=U,B=V):(I[B]=j,I[N]=U,B=N);else if(H!==void 0&&0>b(H,U))I[B]=H,I[V]=U,B=V;else break e}}return R}return null}function b(I,R){var U=I.sortIndex-R.sortIndex;return U!==0?U:I.id-R.id}var d=[],v=[],x=1,g=null,y=3,k=!1,h=!1,M=!1;function A(I){for(var R=p(v);R!==null;){if(R.callback===null)c(v);else if(R.startTime<=I)c(v),R.sortIndex=R.expirationTime,u(d,R);else break;R=p(v)}}function C(I){if(M=!1,A(I),!h)if(p(d)!==null)h=!0,F(L);else{var R=p(v);R!==null&&J(C,R.startTime-I)}}function L(I,R){h=!1,M&&(M=!1,fe()),k=!0;var U=y;try{for(A(R),g=p(d);g!==null&&(!(g.expirationTime>R)||I&&!P.unstable_shouldYield());){var B=g.callback;if(typeof B=="function"){g.callback=null,y=g.priorityLevel;var G=B(g.expirationTime<=R);R=P.unstable_now(),typeof G=="function"?g.callback=G:g===p(d)&&c(d),A(R)}else c(d);g=p(d)}if(g!==null)var N=!0;else{var j=p(v);j!==null&&J(C,j.startTime-R),N=!1}return N}finally{g=null,y=U,k=!1}}var O=Pe;P.unstable_IdlePriority=5,P.unstable_ImmediatePriority=1,P.unstable_LowPriority=4,P.unstable_NormalPriority=3,P.unstable_Profiling=null,P.unstable_UserBlockingPriority=2,P.unstable_cancelCallback=function(I){I.callback=null},P.unstable_continueExecution=function(){h||k||(h=!0,F(L))},P.unstable_getCurrentPriorityLevel=function(){return y},P.unstable_getFirstCallbackNode=function(){return p(d)},P.unstable_next=function(I){switch(y){case 1:case 2:case 3:var R=3;break;default:R=y}var U=y;y=R;try{return I()}finally{y=U}},P.unstable_pauseExecution=function(){},P.unstable_requestPaint=O,P.unstable_runWithPriority=function(I,R){switch(I){case 1:case 2:case 3:case 4:case 5:break;default:I=3}var U=y;y=I;try{return R()}finally{y=U}},P.unstable_scheduleCallback=function(I,R,U){var B=P.unstable_now();switch(typeof U=="object"&&U!==null?(U=U.delay,U=typeof U=="number"&&0<U?B+U:B):U=B,I){case 1:var G=-1;break;case 2:G=250;break;case 5:G=1073741823;break;case 4:G=1e4;break;default:G=5e3}return G=U+G,I={id:x++,callback:R,priorityLevel:I,startTime:U,expirationTime:G,sortIndex:-1},U>B?(I.sortIndex=U,u(v,I),p(d)===null&&I===p(v)&&(M?fe():M=!0,J(C,U-B))):(I.sortIndex=G,u(d,I),h||k||(h=!0,F(L))),I},P.unstable_wrapCallback=function(I){var R=y;return function(){var U=y;y=R;try{return I.apply(this,arguments)}finally{y=U}}}})(h_);f_.exports=h_;var j4=f_.exports;/** @license React v17.0.2
+ */(function(P){var F,J,fe,Pe;if(typeof performance=="object"&&typeof performance.now=="function"){var D=performance;P.unstable_now=function(){return D.now()}}else{var E=Date,e=E.now();P.unstable_now=function(){return E.now()-e}}if(typeof window>"u"||typeof MessageChannel!="function"){var _=null,T=null,s=function(){if(_!==null)try{var I=P.unstable_now();_(!0,I),_=null}catch(R){throw setTimeout(s,0),R}};F=function(I){_!==null?setTimeout(F,0,I):(_=I,setTimeout(s,0))},J=function(I,R){T=setTimeout(I,R)},fe=function(){clearTimeout(T)},P.unstable_shouldYield=function(){return!1},Pe=P.unstable_forceFrameRate=function(){}}else{var w=window.setTimeout,m=window.clearTimeout;if(typeof console<"u"){var f=window.cancelAnimationFrame;typeof window.requestAnimationFrame!="function"&&console.error("This browser doesn't support requestAnimationFrame. Make sure that you load a polyfill in older browsers. https://reactjs.org/link/react-polyfills"),typeof f!="function"&&console.error("This browser doesn't support cancelAnimationFrame. Make sure that you load a polyfill in older browsers. https://reactjs.org/link/react-polyfills")}var l=!1,t=null,i=-1,n=5,r=0;P.unstable_shouldYield=function(){return P.unstable_now()>=r},Pe=function(){},P.unstable_forceFrameRate=function(I){0>I||125<I?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):n=0<I?Math.floor(1e3/I):5};var o=new MessageChannel,a=o.port2;o.port1.onmessage=function(){if(t!==null){var I=P.unstable_now();r=I+n;try{t(!0,I)?a.postMessage(null):(l=!1,t=null)}catch(R){throw a.postMessage(null),R}}else l=!1},F=function(I){t=I,l||(l=!0,a.postMessage(null))},J=function(I,R){i=w(function(){I(P.unstable_now())},R)},fe=function(){m(i),i=-1}}function u(I,R){var U=I.length;I.push(R);e:for(;;){var B=U-1>>>1,G=I[B];if(G!==void 0&&0<b(G,R))I[B]=R,I[U]=G,U=B;else break e}}function p(I){return I=I[0],I===void 0?null:I}function c(I){var R=I[0];if(R!==void 0){var U=I.pop();if(U!==R){I[0]=U;e:for(var B=0,G=I.length;B<G;){var N=2*(B+1)-1,j=I[N],V=N+1,H=I[V];if(j!==void 0&&0>b(j,U))H!==void 0&&0>b(H,j)?(I[B]=H,I[V]=U,B=V):(I[B]=j,I[N]=U,B=N);else if(H!==void 0&&0>b(H,U))I[B]=H,I[V]=U,B=V;else break e}}return R}return null}function b(I,R){var U=I.sortIndex-R.sortIndex;return U!==0?U:I.id-R.id}var d=[],v=[],x=1,g=null,y=3,k=!1,h=!1,M=!1;function A(I){for(var R=p(v);R!==null;){if(R.callback===null)c(v);else if(R.startTime<=I)c(v),R.sortIndex=R.expirationTime,u(d,R);else break;R=p(v)}}function C(I){if(M=!1,A(I),!h)if(p(d)!==null)h=!0,F(L);else{var R=p(v);R!==null&&J(C,R.startTime-I)}}function L(I,R){h=!1,M&&(M=!1,fe()),k=!0;var U=y;try{for(A(R),g=p(d);g!==null&&(!(g.expirationTime>R)||I&&!P.unstable_shouldYield());){var B=g.callback;if(typeof B=="function"){g.callback=null,y=g.priorityLevel;var G=B(g.expirationTime<=R);R=P.unstable_now(),typeof G=="function"?g.callback=G:g===p(d)&&c(d),A(R)}else c(d);g=p(d)}if(g!==null)var N=!0;else{var j=p(v);j!==null&&J(C,j.startTime-R),N=!1}return N}finally{g=null,y=U,k=!1}}var O=Pe;P.unstable_IdlePriority=5,P.unstable_ImmediatePriority=1,P.unstable_LowPriority=4,P.unstable_NormalPriority=3,P.unstable_Profiling=null,P.unstable_UserBlockingPriority=2,P.unstable_cancelCallback=function(I){I.callback=null},P.unstable_continueExecution=function(){h||k||(h=!0,F(L))},P.unstable_getCurrentPriorityLevel=function(){return y},P.unstable_getFirstCallbackNode=function(){return p(d)},P.unstable_next=function(I){switch(y){case 1:case 2:case 3:var R=3;break;default:R=y}var U=y;y=R;try{return I()}finally{y=U}},P.unstable_pauseExecution=function(){},P.unstable_requestPaint=O,P.unstable_runWithPriority=function(I,R){switch(I){case 1:case 2:case 3:case 4:case 5:break;default:I=3}var U=y;y=I;try{return R()}finally{y=U}},P.unstable_scheduleCallback=function(I,R,U){var B=P.unstable_now();switch(typeof U=="object"&&U!==null?(U=U.delay,U=typeof U=="number"&&0<U?B+U:B):U=B,I){case 1:var G=-1;break;case 2:G=250;break;case 5:G=1073741823;break;case 4:G=1e4;break;default:G=5e3}return G=U+G,I={id:x++,callback:R,priorityLevel:I,startTime:U,expirationTime:G,sortIndex:-1},U>B?(I.sortIndex=U,u(v,I),p(d)===null&&I===p(v)&&(M?fe():M=!0,J(C,U-B))):(I.sortIndex=G,u(d,I),h||k||(h=!0,F(L))),I},P.unstable_wrapCallback=function(I){var R=y;return function(){var U=y;y=R;try{return I.apply(this,arguments)}finally{y=U}}}})(h_);f_.exports=h_;var j4=f_.exports;/** @license React v17.0.2
* react-dom.production.min.js
*
* Copyright (c) Facebook, Inc. and its affiliates.
@@ -69,24 +69,24 @@ object-assign
`+tg+P}var ng=!1;function zd(P,F){if(!P||ng)return"";ng=!0;var J=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(F)if(F=function(){throw Error()},Object.defineProperty(F.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(F,[])}catch(_){var fe=_}Reflect.construct(P,[],F)}else{try{F.call()}catch(_){fe=_}P.call(F.prototype)}else{try{throw Error()}catch(_){fe=_}P()}}catch(_){if(_&&fe&&typeof _.stack=="string"){for(var Pe=_.stack.split(`
`),D=fe.stack.split(`
`),E=Pe.length-1,e=D.length-1;1<=E&&0<=e&&Pe[E]!==D[e];)e--;for(;1<=E&&0<=e;E--,e--)if(Pe[E]!==D[e]){if(E!==1||e!==1)do if(E--,e--,0>e||Pe[E]!==D[e])return`
-`+Pe[E].replace(" at new "," at ");while(1<=E&&0<=e);break}}}finally{ng=!1,Error.prepareStackTrace=J}return(P=P?P.displayName||P.name:"")?np(P):""}function G4(P){switch(P.tag){case 5:return np(P.type);case 16:return np("Lazy");case 13:return np("Suspense");case 19:return np("SuspenseList");case 0:case 2:case 15:return P=zd(P.type,!1),P;case 11:return P=zd(P.type.render,!1),P;case 22:return P=zd(P.type._render,!1),P;case 1:return P=zd(P.type,!0),P;default:return""}}function Zf(P){if(P==null)return null;if(typeof P=="function")return P.displayName||P.name||null;if(typeof P=="string")return P;switch(P){case tc:return"Fragment";case Xc:return"Portal";case lp:return"Profiler";case tm:return"StrictMode";case up:return"Suspense";case x0:return"SuspenseList"}if(typeof P=="object")switch(P.$$typeof){case rm:return(P.displayName||"Context")+".Consumer";case nm:return(P._context.displayName||"Context")+".Provider";case X0:var F=P.render;return F=F.displayName||F.name||"",P.displayName||(F!==""?"ForwardRef("+F+")":"ForwardRef");case $0:return Zf(P.type);case am:return Zf(P._render);case im:F=P._payload,P=P._init;try{return Zf(P(F))}catch{}}return null}function bc(P){switch(typeof P){case"boolean":case"number":case"object":case"string":case"undefined":return P;default:return""}}function g_(P){var F=P.type;return(P=P.nodeName)&&P.toLowerCase()==="input"&&(F==="checkbox"||F==="radio")}function W4(P){var F=g_(P)?"checked":"value",J=Object.getOwnPropertyDescriptor(P.constructor.prototype,F),fe=""+P[F];if(!P.hasOwnProperty(F)&&typeof J<"u"&&typeof J.get=="function"&&typeof J.set=="function"){var Pe=J.get,D=J.set;return Object.defineProperty(P,F,{configurable:!0,get:function(){return Pe.call(this)},set:function(E){fe=""+E,D.call(this,E)}}),Object.defineProperty(P,F,{enumerable:J.enumerable}),{getValue:function(){return fe},setValue:function(E){fe=""+E},stopTracking:function(){P._valueTracker=null,delete P[F]}}}}function Dd(P){P._valueTracker||(P._valueTracker=W4(P))}function v_(P){if(!P)return!1;var F=P._valueTracker;if(!F)return!0;var J=F.getValue(),fe="";return P&&(fe=g_(P)?P.checked?"true":"false":P.value),P=fe,P!==J?(F.setValue(P),!0):!1}function b0(P){if(P=P||(typeof document<"u"?document:void 0),typeof P>"u")return null;try{return P.activeElement||P.body}catch{return P.body}}function jg(P,F){var J=F.checked;return da({},F,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:J??P._wrapperState.initialChecked})}function qx(P,F){var J=F.defaultValue==null?"":F.defaultValue,fe=F.checked!=null?F.checked:F.defaultChecked;J=bc(F.value!=null?F.value:J),P._wrapperState={initialChecked:fe,initialValue:J,controlled:F.type==="checkbox"||F.type==="radio"?F.checked!=null:F.value!=null}}function m_(P,F){F=F.checked,F!=null&&em(P,"checked",F,!1)}function Ug(P,F){m_(P,F);var J=bc(F.value),fe=F.type;if(J!=null)fe==="number"?(J===0&&P.value===""||P.value!=J)&&(P.value=""+J):P.value!==""+J&&(P.value=""+J);else if(fe==="submit"||fe==="reset"){P.removeAttribute("value");return}F.hasOwnProperty("value")?Vg(P,F.type,J):F.hasOwnProperty("defaultValue")&&Vg(P,F.type,bc(F.defaultValue)),F.checked==null&&F.defaultChecked!=null&&(P.defaultChecked=!!F.defaultChecked)}function Gx(P,F,J){if(F.hasOwnProperty("value")||F.hasOwnProperty("defaultValue")){var fe=F.type;if(!(fe!=="submit"&&fe!=="reset"||F.value!==void 0&&F.value!==null))return;F=""+P._wrapperState.initialValue,J||F===P.value||(P.value=F),P.defaultValue=F}J=P.name,J!==""&&(P.name=""),P.defaultChecked=!!P._wrapperState.initialChecked,J!==""&&(P.name=J)}function Vg(P,F,J){(F!=="number"||b0(P.ownerDocument)!==P)&&(J==null?P.defaultValue=""+P._wrapperState.initialValue:P.defaultValue!==""+J&&(P.defaultValue=""+J))}function Z4(P){var F="";return Y0.Children.forEach(P,function(J){J!=null&&(F+=J)}),F}function Hg(P,F){return P=da({children:void 0},F),(F=Z4(F.children))&&(P.children=F),P}function Yf(P,F,J,fe){if(P=P.options,F){F={};for(var Pe=0;Pe<J.length;Pe++)F["$"+J[Pe]]=!0;for(J=0;J<P.length;J++)Pe=F.hasOwnProperty("$"+P[J].value),P[J].selected!==Pe&&(P[J].selected=Pe),Pe&&fe&&(P[J].defaultSelected=!0)}else{for(J=""+bc(J),F=null,Pe=0;Pe<P.length;Pe++){if(P[Pe].value===J){P[Pe].selected=!0,fe&&(P[Pe].defaultSelected=!0);return}F!==null||P[Pe].disabled||(F=P[Pe])}F!==null&&(F.selected=!0)}}function qg(P,F){if(F.dangerouslySetInnerHTML!=null)throw Error(Dr(91));return da({},F,{value:void 0,defaultValue:void 0,children:""+P._wrapperState.initialValue})}function Wx(P,F){var J=F.value;if(J==null){if(J=F.children,F=F.defaultValue,J!=null){if(F!=null)throw Error(Dr(92));if(Array.isArray(J)){if(!(1>=J.length))throw Error(Dr(93));J=J[0]}F=J}F==null&&(F=""),J=F}P._wrapperState={initialValue:bc(J)}}function y_(P,F){var J=bc(F.value),fe=bc(F.defaultValue);J!=null&&(J=""+J,J!==P.value&&(P.value=J),F.defaultValue==null&&P.defaultValue!==J&&(P.defaultValue=J)),fe!=null&&(P.defaultValue=""+fe)}function Zx(P){var F=P.textContent;F===P._wrapperState.initialValue&&F!==""&&F!==null&&(P.value=F)}var Gg={html:"http://www.w3.org/1999/xhtml",mathml:"http://www.w3.org/1998/Math/MathML",svg:"http://www.w3.org/2000/svg"};function x_(P){switch(P){case"svg":return"http://www.w3.org/2000/svg";case"math":return"http://www.w3.org/1998/Math/MathML";default:return"http://www.w3.org/1999/xhtml"}}function Wg(P,F){return P==null||P==="http://www.w3.org/1999/xhtml"?x_(F):P==="http://www.w3.org/2000/svg"&&F==="foreignObject"?"http://www.w3.org/1999/xhtml":P}var Fd,b_=function(P){return typeof MSApp<"u"&&MSApp.execUnsafeLocalFunction?function(F,J,fe,Pe){MSApp.execUnsafeLocalFunction(function(){return P(F,J,fe,Pe)})}:P}(function(P,F){if(P.namespaceURI!==Gg.svg||"innerHTML"in P)P.innerHTML=F;else{for(Fd=Fd||document.createElement("div"),Fd.innerHTML="<svg>"+F.valueOf().toString()+"</svg>",F=Fd.firstChild;P.firstChild;)P.removeChild(P.firstChild);for(;F.firstChild;)P.appendChild(F.firstChild)}});function Tp(P,F){if(F){var J=P.firstChild;if(J&&J===P.lastChild&&J.nodeType===3){J.nodeValue=F;return}}P.textContent=F}var cp={animationIterationCount:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},Y4=["Webkit","ms","Moz","O"];Object.keys(cp).forEach(function(P){Y4.forEach(function(F){F=F+P.charAt(0).toUpperCase()+P.substring(1),cp[F]=cp[P]})});function __(P,F,J){return F==null||typeof F=="boolean"||F===""?"":J||typeof F!="number"||F===0||cp.hasOwnProperty(P)&&cp[P]?(""+F).trim():F+"px"}function w_(P,F){P=P.style;for(var J in F)if(F.hasOwnProperty(J)){var fe=J.indexOf("--")===0,Pe=__(J,F[J],fe);J==="float"&&(J="cssFloat"),fe?P.setProperty(J,Pe):P[J]=Pe}}var X4=da({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function Zg(P,F){if(F){if(X4[P]&&(F.children!=null||F.dangerouslySetInnerHTML!=null))throw Error(Dr(137,P));if(F.dangerouslySetInnerHTML!=null){if(F.children!=null)throw Error(Dr(60));if(!(typeof F.dangerouslySetInnerHTML=="object"&&"__html"in F.dangerouslySetInnerHTML))throw Error(Dr(61))}if(F.style!=null&&typeof F.style!="object")throw Error(Dr(62))}}function Yg(P,F){if(P.indexOf("-")===-1)return typeof F.is=="string";switch(P){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}function lm(P){return P=P.target||P.srcElement||window,P.correspondingUseElement&&(P=P.correspondingUseElement),P.nodeType===3?P.parentNode:P}var Xg=null,Xf=null,$f=null;function Yx(P){if(P=qp(P)){if(typeof Xg!="function")throw Error(Dr(280));var F=P.stateNode;F&&(F=n1(F),Xg(P.stateNode,P.type,F))}}function T_(P){Xf?$f?$f.push(P):$f=[P]:Xf=P}function k_(){if(Xf){var P=Xf,F=$f;if($f=Xf=null,Yx(P),F)for(P=0;P<F.length;P++)Yx(F[P])}}function um(P,F){return P(F)}function A_(P,F,J,fe,Pe){return P(F,J,fe,Pe)}function cm(){}var M_=um,$c=!1,rg=!1;function fm(){(Xf!==null||$f!==null)&&(cm(),k_())}function $4(P,F,J){if(rg)return P(F,J);rg=!0;try{return M_(P,F,J)}finally{rg=!1,fm()}}function kp(P,F){var J=P.stateNode;if(J===null)return null;var fe=n1(J);if(fe===null)return null;J=fe[F];e:switch(F){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(fe=!fe.disabled)||(P=P.type,fe=!(P==="button"||P==="input"||P==="select"||P==="textarea")),P=!fe;break e;default:P=!1}if(P)return null;if(J&&typeof J!="function")throw Error(Dr(231,F,typeof J));return J}var $g=!1;if(Bu)try{var Vh={};Object.defineProperty(Vh,"passive",{get:function(){$g=!0}}),window.addEventListener("test",Vh,Vh),window.removeEventListener("test",Vh,Vh)}catch{$g=!1}function J4(P,F,J,fe,Pe,D,E,e,_){var T=Array.prototype.slice.call(arguments,3);try{F.apply(J,T)}catch(s){this.onError(s)}}var fp=!1,_0=null,w0=!1,Jg=null,K4={onError:function(P){fp=!0,_0=P}};function Q4(P,F,J,fe,Pe,D,E,e,_){fp=!1,_0=null,J4.apply(K4,arguments)}function e6(P,F,J,fe,Pe,D,E,e,_){if(Q4.apply(this,arguments),fp){if(fp){var T=_0;fp=!1,_0=null}else throw Error(Dr(198));w0||(w0=!0,Jg=T)}}function hf(P){var F=P,J=P;if(P.alternate)for(;F.return;)F=F.return;else{P=F;do F=P,F.flags&1026&&(J=F.return),P=F.return;while(P)}return F.tag===3?J:null}function S_(P){if(P.tag===13){var F=P.memoizedState;if(F===null&&(P=P.alternate,P!==null&&(F=P.memoizedState)),F!==null)return F.dehydrated}return null}function Xx(P){if(hf(P)!==P)throw Error(Dr(188))}function t6(P){var F=P.alternate;if(!F){if(F=hf(P),F===null)throw Error(Dr(188));return F!==P?null:P}for(var J=P,fe=F;;){var Pe=J.return;if(Pe===null)break;var D=Pe.alternate;if(D===null){if(fe=Pe.return,fe!==null){J=fe;continue}break}if(Pe.child===D.child){for(D=Pe.child;D;){if(D===J)return Xx(Pe),P;if(D===fe)return Xx(Pe),F;D=D.sibling}throw Error(Dr(188))}if(J.return!==fe.return)J=Pe,fe=D;else{for(var E=!1,e=Pe.child;e;){if(e===J){E=!0,J=Pe,fe=D;break}if(e===fe){E=!0,fe=Pe,J=D;break}e=e.sibling}if(!E){for(e=D.child;e;){if(e===J){E=!0,J=D,fe=Pe;break}if(e===fe){E=!0,fe=D,J=Pe;break}e=e.sibling}if(!E)throw Error(Dr(189))}}if(J.alternate!==fe)throw Error(Dr(190))}if(J.tag!==3)throw Error(Dr(188));return J.stateNode.current===J?P:F}function E_(P){if(P=t6(P),!P)return null;for(var F=P;;){if(F.tag===5||F.tag===6)return F;if(F.child)F.child.return=F,F=F.child;else{if(F===P)break;for(;!F.sibling;){if(!F.return||F.return===P)return null;F=F.return}F.sibling.return=F.return,F=F.sibling}}return null}function $x(P,F){for(var J=P.alternate;F!==null;){if(F===P||F===J)return!0;F=F.return}return!1}var C_,hm,L_,P_,Kg=!1,au=[],uc=null,cc=null,fc=null,Ap=new Map,Mp=new Map,Hh=[],Jx="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit".split(" ");function Qg(P,F,J,fe,Pe){return{blockedOn:P,domEventName:F,eventSystemFlags:J|16,nativeEvent:Pe,targetContainers:[fe]}}function Kx(P,F){switch(P){case"focusin":case"focusout":uc=null;break;case"dragenter":case"dragleave":cc=null;break;case"mouseover":case"mouseout":fc=null;break;case"pointerover":case"pointerout":Ap.delete(F.pointerId);break;case"gotpointercapture":case"lostpointercapture":Mp.delete(F.pointerId)}}function qh(P,F,J,fe,Pe,D){return P===null||P.nativeEvent!==D?(P=Qg(F,J,fe,Pe,D),F!==null&&(F=qp(F),F!==null&&hm(F)),P):(P.eventSystemFlags|=fe,F=P.targetContainers,Pe!==null&&F.indexOf(Pe)===-1&&F.push(Pe),P)}function n6(P,F,J,fe,Pe){switch(F){case"focusin":return uc=qh(uc,P,F,J,fe,Pe),!0;case"dragenter":return cc=qh(cc,P,F,J,fe,Pe),!0;case"mouseover":return fc=qh(fc,P,F,J,fe,Pe),!0;case"pointerover":var D=Pe.pointerId;return Ap.set(D,qh(Ap.get(D)||null,P,F,J,fe,Pe)),!0;case"gotpointercapture":return D=Pe.pointerId,Mp.set(D,qh(Mp.get(D)||null,P,F,J,fe,Pe)),!0}return!1}function r6(P){var F=Jc(P.target);if(F!==null){var J=hf(F);if(J!==null){if(F=J.tag,F===13){if(F=S_(J),F!==null){P.blockedOn=F,P_(P.lanePriority,function(){xo.unstable_runWithPriority(P.priority,function(){L_(J)})});return}}else if(F===3&&J.stateNode.hydrate){P.blockedOn=J.tag===3?J.stateNode.containerInfo:null;return}}}P.blockedOn=null}function r0(P){if(P.blockedOn!==null)return!1;for(var F=P.targetContainers;0<F.length;){var J=vm(P.domEventName,P.eventSystemFlags,F[0],P.nativeEvent);if(J!==null)return F=qp(J),F!==null&&hm(F),P.blockedOn=J,!1;F.shift()}return!0}function Qx(P,F,J){r0(P)&&J.delete(F)}function i6(){for(Kg=!1;0<au.length;){var P=au[0];if(P.blockedOn!==null){P=qp(P.blockedOn),P!==null&&C_(P);break}for(var F=P.targetContainers;0<F.length;){var J=vm(P.domEventName,P.eventSystemFlags,F[0],P.nativeEvent);if(J!==null){P.blockedOn=J;break}F.shift()}P.blockedOn===null&&au.shift()}uc!==null&&r0(uc)&&(uc=null),cc!==null&&r0(cc)&&(cc=null),fc!==null&&r0(fc)&&(fc=null),Ap.forEach(Qx),Mp.forEach(Qx)}function Gh(P,F){P.blockedOn===F&&(P.blockedOn=null,Kg||(Kg=!0,xo.unstable_scheduleCallback(xo.unstable_NormalPriority,i6)))}function O_(P){function F(Pe){return Gh(Pe,P)}if(0<au.length){Gh(au[0],P);for(var J=1;J<au.length;J++){var fe=au[J];fe.blockedOn===P&&(fe.blockedOn=null)}}for(uc!==null&&Gh(uc,P),cc!==null&&Gh(cc,P),fc!==null&&Gh(fc,P),Ap.forEach(F),Mp.forEach(F),J=0;J<Hh.length;J++)fe=Hh[J],fe.blockedOn===P&&(fe.blockedOn=null);for(;0<Hh.length&&(J=Hh[0],J.blockedOn===null);)r6(J),J.blockedOn===null&&Hh.shift()}function Bd(P,F){var J={};return J[P.toLowerCase()]=F.toLowerCase(),J["Webkit"+P]="webkit"+F,J["Moz"+P]="moz"+F,J}var jf={animationend:Bd("Animation","AnimationEnd"),animationiteration:Bd("Animation","AnimationIteration"),animationstart:Bd("Animation","AnimationStart"),transitionend:Bd("Transition","TransitionEnd")},ig={},I_={};Bu&&(I_=document.createElement("div").style,"AnimationEvent"in window||(delete jf.animationend.animation,delete jf.animationiteration.animation,delete jf.animationstart.animation),"TransitionEvent"in window||delete jf.transitionend.transition);function J0(P){if(ig[P])return ig[P];if(!jf[P])return P;var F=jf[P],J;for(J in F)if(F.hasOwnProperty(J)&&J in I_)return ig[P]=F[J];return P}var R_=J0("animationend"),z_=J0("animationiteration"),D_=J0("animationstart"),F_=J0("transitionend"),B_=new Map,pm=new Map,a6=["abort","abort",R_,"animationEnd",z_,"animationIteration",D_,"animationStart","canplay","canPlay","canplaythrough","canPlayThrough","durationchange","durationChange","emptied","emptied","encrypted","encrypted","ended","ended","error","error","gotpointercapture","gotPointerCapture","load","load","loadeddata","loadedData","loadedmetadata","loadedMetadata","loadstart","loadStart","lostpointercapture","lostPointerCapture","playing","playing","progress","progress","seeking","seeking","stalled","stalled","suspend","suspend","timeupdate","timeUpdate",F_,"transitionEnd","waiting","waiting"];function dm(P,F){for(var J=0;J<P.length;J+=2){var fe=P[J],Pe=P[J+1];Pe="on"+(Pe[0].toUpperCase()+Pe.slice(1)),pm.set(fe,F),B_.set(fe,Pe),cf(Pe,[fe])}}var o6=xo.unstable_now;o6();var aa=8;function Bf(P){if(1&P)return aa=15,1;if(2&P)return aa=14,2;if(4&P)return aa=13,4;var F=24&P;return F!==0?(aa=12,F):P&32?(aa=11,32):(F=192&P,F!==0?(aa=10,F):P&256?(aa=9,256):(F=3584&P,F!==0?(aa=8,F):P&4096?(aa=7,4096):(F=4186112&P,F!==0?(aa=6,F):(F=62914560&P,F!==0?(aa=5,F):P&67108864?(aa=4,67108864):P&134217728?(aa=3,134217728):(F=805306368&P,F!==0?(aa=2,F):1073741824&P?(aa=1,1073741824):(aa=8,P))))))}function s6(P){switch(P){case 99:return 15;case 98:return 10;case 97:case 96:return 8;case 95:return 2;default:return 0}}function l6(P){switch(P){case 15:case 14:return 99;case 13:case 12:case 11:case 10:return 98;case 9:case 8:case 7:case 6:case 4:case 5:return 97;case 3:case 2:case 1:return 95;case 0:return 90;default:throw Error(Dr(358,P))}}function Sp(P,F){var J=P.pendingLanes;if(J===0)return aa=0;var fe=0,Pe=0,D=P.expiredLanes,E=P.suspendedLanes,e=P.pingedLanes;if(D!==0)fe=D,Pe=aa=15;else if(D=J&134217727,D!==0){var _=D&~E;_!==0?(fe=Bf(_),Pe=aa):(e&=D,e!==0&&(fe=Bf(e),Pe=aa))}else D=J&~E,D!==0?(fe=Bf(D),Pe=aa):e!==0&&(fe=Bf(e),Pe=aa);if(fe===0)return 0;if(fe=31-_c(fe),fe=J&((0>fe?0:1<<fe)<<1)-1,F!==0&&F!==fe&&!(F&E)){if(Bf(F),Pe<=aa)return F;aa=Pe}if(F=P.entangledLanes,F!==0)for(P=P.entanglements,F&=fe;0<F;)J=31-_c(F),Pe=1<<J,fe|=P[J],F&=~Pe;return fe}function N_(P){return P=P.pendingLanes&-1073741825,P!==0?P:P&1073741824?1073741824:0}function T0(P,F){switch(P){case 15:return 1;case 14:return 2;case 12:return P=Nf(24&~F),P===0?T0(10,F):P;case 10:return P=Nf(192&~F),P===0?T0(8,F):P;case 8:return P=Nf(3584&~F),P===0&&(P=Nf(4186112&~F),P===0&&(P=512)),P;case 2:return F=Nf(805306368&~F),F===0&&(F=268435456),F}throw Error(Dr(358,P))}function Nf(P){return P&-P}function ag(P){for(var F=[],J=0;31>J;J++)F.push(P);return F}function K0(P,F,J){P.pendingLanes|=F;var fe=F-1;P.suspendedLanes&=fe,P.pingedLanes&=fe,P=P.eventTimes,F=31-_c(F),P[F]=J}var _c=Math.clz32?Math.clz32:f6,u6=Math.log,c6=Math.LN2;function f6(P){return P===0?32:31-(u6(P)/c6|0)|0}var h6=xo.unstable_UserBlockingPriority,p6=xo.unstable_runWithPriority,i0=!0;function d6(P,F,J,fe){$c||cm();var Pe=gm,D=$c;$c=!0;try{A_(Pe,P,F,J,fe)}finally{($c=D)||fm()}}function g6(P,F,J,fe){p6(h6,gm.bind(null,P,F,J,fe))}function gm(P,F,J,fe){if(i0){var Pe;if((Pe=(F&4)===0)&&0<au.length&&-1<Jx.indexOf(P))P=Qg(null,P,F,J,fe),au.push(P);else{var D=vm(P,F,J,fe);if(D===null)Pe&&Kx(P,fe);else{if(Pe){if(-1<Jx.indexOf(P)){P=Qg(D,P,F,J,fe),au.push(P);return}if(n6(D,P,F,J,fe))return;Kx(P,fe)}K_(P,F,fe,null,J)}}}}function vm(P,F,J,fe){var Pe=lm(fe);if(Pe=Jc(Pe),Pe!==null){var D=hf(Pe);if(D===null)Pe=null;else{var E=D.tag;if(E===13){if(Pe=S_(D),Pe!==null)return Pe;Pe=null}else if(E===3){if(D.stateNode.hydrate)return D.tag===3?D.stateNode.containerInfo:null;Pe=null}else D!==Pe&&(Pe=null)}}return K_(P,F,fe,Pe,J),null}var ic=null,mm=null,a0=null;function j_(){if(a0)return a0;var P,F=mm,J=F.length,fe,Pe="value"in ic?ic.value:ic.textContent,D=Pe.length;for(P=0;P<J&&F[P]===Pe[P];P++);var E=J-P;for(fe=1;fe<=E&&F[J-fe]===Pe[D-fe];fe++);return a0=Pe.slice(P,1<fe?1-fe:void 0)}function o0(P){var F=P.keyCode;return"charCode"in P?(P=P.charCode,P===0&&F===13&&(P=13)):P=F,P===10&&(P=13),32<=P||P===13?P:0}function Nd(){return!0}function e2(){return!1}function Ys(P){function F(J,fe,Pe,D,E){this._reactName=J,this._targetInst=Pe,this.type=fe,this.nativeEvent=D,this.target=E,this.currentTarget=null;for(var e in P)P.hasOwnProperty(e)&&(J=P[e],this[e]=J?J(D):D[e]);return this.isDefaultPrevented=(D.defaultPrevented!=null?D.defaultPrevented:D.returnValue===!1)?Nd:e2,this.isPropagationStopped=e2,this}return da(F.prototype,{preventDefault:function(){this.defaultPrevented=!0;var J=this.nativeEvent;J&&(J.preventDefault?J.preventDefault():typeof J.returnValue!="unknown"&&(J.returnValue=!1),this.isDefaultPrevented=Nd)},stopPropagation:function(){var J=this.nativeEvent;J&&(J.stopPropagation?J.stopPropagation():typeof J.cancelBubble!="unknown"&&(J.cancelBubble=!0),this.isPropagationStopped=Nd)},persist:function(){},isPersistent:Nd}),F}var ch={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(P){return P.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},ym=Ys(ch),Hp=da({},ch,{view:0,detail:0}),v6=Ys(Hp),og,sg,Wh,Q0=da({},Hp,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:xm,button:0,buttons:0,relatedTarget:function(P){return P.relatedTarget===void 0?P.fromElement===P.srcElement?P.toElement:P.fromElement:P.relatedTarget},movementX:function(P){return"movementX"in P?P.movementX:(P!==Wh&&(Wh&&P.type==="mousemove"?(og=P.screenX-Wh.screenX,sg=P.screenY-Wh.screenY):sg=og=0,Wh=P),og)},movementY:function(P){return"movementY"in P?P.movementY:sg}}),t2=Ys(Q0),m6=da({},Q0,{dataTransfer:0}),y6=Ys(m6),x6=da({},Hp,{relatedTarget:0}),lg=Ys(x6),b6=da({},ch,{animationName:0,elapsedTime:0,pseudoElement:0}),_6=Ys(b6),w6=da({},ch,{clipboardData:function(P){return"clipboardData"in P?P.clipboardData:window.clipboardData}}),T6=Ys(w6),k6=da({},ch,{data:0}),n2=Ys(k6),A6={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},M6={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},S6={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function E6(P){var F=this.nativeEvent;return F.getModifierState?F.getModifierState(P):(P=S6[P])?!!F[P]:!1}function xm(){return E6}var C6=da({},Hp,{key:function(P){if(P.key){var F=A6[P.key]||P.key;if(F!=="Unidentified")return F}return P.type==="keypress"?(P=o0(P),P===13?"Enter":String.fromCharCode(P)):P.type==="keydown"||P.type==="keyup"?M6[P.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:xm,charCode:function(P){return P.type==="keypress"?o0(P):0},keyCode:function(P){return P.type==="keydown"||P.type==="keyup"?P.keyCode:0},which:function(P){return P.type==="keypress"?o0(P):P.type==="keydown"||P.type==="keyup"?P.keyCode:0}}),L6=Ys(C6),P6=da({},Q0,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),r2=Ys(P6),O6=da({},Hp,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:xm}),I6=Ys(O6),R6=da({},ch,{propertyName:0,elapsedTime:0,pseudoElement:0}),z6=Ys(R6),D6=da({},Q0,{deltaX:function(P){return"deltaX"in P?P.deltaX:"wheelDeltaX"in P?-P.wheelDeltaX:0},deltaY:function(P){return"deltaY"in P?P.deltaY:"wheelDeltaY"in P?-P.wheelDeltaY:"wheelDelta"in P?-P.wheelDelta:0},deltaZ:0,deltaMode:0}),F6=Ys(D6),B6=[9,13,27,32],bm=Bu&&"CompositionEvent"in window,hp=null;Bu&&"documentMode"in document&&(hp=document.documentMode);var N6=Bu&&"TextEvent"in window&&!hp,U_=Bu&&(!bm||hp&&8<hp&&11>=hp),i2=String.fromCharCode(32),a2=!1;function V_(P,F){switch(P){case"keyup":return B6.indexOf(F.keyCode)!==-1;case"keydown":return F.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function H_(P){return P=P.detail,typeof P=="object"&&"data"in P?P.data:null}var Uf=!1;function j6(P,F){switch(P){case"compositionend":return H_(F);case"keypress":return F.which!==32?null:(a2=!0,i2);case"textInput":return P=F.data,P===i2&&a2?null:P;default:return null}}function U6(P,F){if(Uf)return P==="compositionend"||!bm&&V_(P,F)?(P=j_(),a0=mm=ic=null,Uf=!1,P):null;switch(P){case"paste":return null;case"keypress":if(!(F.ctrlKey||F.altKey||F.metaKey)||F.ctrlKey&&F.altKey){if(F.char&&1<F.char.length)return F.char;if(F.which)return String.fromCharCode(F.which)}return null;case"compositionend":return U_&&F.locale!=="ko"?null:F.data;default:return null}}var V6={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function o2(P){var F=P&&P.nodeName&&P.nodeName.toLowerCase();return F==="input"?!!V6[P.type]:F==="textarea"}function q_(P,F,J,fe){T_(fe),F=k0(F,"onChange"),0<F.length&&(J=new ym("onChange","change",null,J,fe),P.push({event:J,listeners:F}))}var pp=null,Ep=null;function H6(P){X_(P,0)}function e1(P){var F=Hf(P);if(v_(F))return P}function q6(P,F){if(P==="change")return F}var G_=!1;if(Bu){var ug;if(Bu){var cg="oninput"in document;if(!cg){var s2=document.createElement("div");s2.setAttribute("oninput","return;"),cg=typeof s2.oninput=="function"}ug=cg}else ug=!1;G_=ug&&(!document.documentMode||9<document.documentMode)}function l2(){pp&&(pp.detachEvent("onpropertychange",W_),Ep=pp=null)}function W_(P){if(P.propertyName==="value"&&e1(Ep)){var F=[];if(q_(F,Ep,P,lm(P)),P=H6,$c)P(F);else{$c=!0;try{um(P,F)}finally{$c=!1,fm()}}}}function G6(P,F,J){P==="focusin"?(l2(),pp=F,Ep=J,pp.attachEvent("onpropertychange",W_)):P==="focusout"&&l2()}function W6(P){if(P==="selectionchange"||P==="keyup"||P==="keydown")return e1(Ep)}function Z6(P,F){if(P==="click")return e1(F)}function Y6(P,F){if(P==="input"||P==="change")return e1(F)}function X6(P,F){return P===F&&(P!==0||1/P===1/F)||P!==P&&F!==F}var fl=typeof Object.is=="function"?Object.is:X6,$6=Object.prototype.hasOwnProperty;function Cp(P,F){if(fl(P,F))return!0;if(typeof P!="object"||P===null||typeof F!="object"||F===null)return!1;var J=Object.keys(P),fe=Object.keys(F);if(J.length!==fe.length)return!1;for(fe=0;fe<J.length;fe++)if(!$6.call(F,J[fe])||!fl(P[J[fe]],F[J[fe]]))return!1;return!0}function u2(P){for(;P&&P.firstChild;)P=P.firstChild;return P}function c2(P,F){var J=u2(P);P=0;for(var fe;J;){if(J.nodeType===3){if(fe=P+J.textContent.length,P<=F&&fe>=F)return{node:J,offset:F-P};P=fe}e:{for(;J;){if(J.nextSibling){J=J.nextSibling;break e}J=J.parentNode}J=void 0}J=u2(J)}}function Z_(P,F){return P&&F?P===F?!0:P&&P.nodeType===3?!1:F&&F.nodeType===3?Z_(P,F.parentNode):"contains"in P?P.contains(F):P.compareDocumentPosition?!!(P.compareDocumentPosition(F)&16):!1:!1}function f2(){for(var P=window,F=b0();F instanceof P.HTMLIFrameElement;){try{var J=typeof F.contentWindow.location.href=="string"}catch{J=!1}if(J)P=F.contentWindow;else break;F=b0(P.document)}return F}function ev(P){var F=P&&P.nodeName&&P.nodeName.toLowerCase();return F&&(F==="input"&&(P.type==="text"||P.type==="search"||P.type==="tel"||P.type==="url"||P.type==="password")||F==="textarea"||P.contentEditable==="true")}var J6=Bu&&"documentMode"in document&&11>=document.documentMode,Vf=null,tv=null,dp=null,nv=!1;function h2(P,F,J){var fe=J.window===J?J.document:J.nodeType===9?J:J.ownerDocument;nv||Vf==null||Vf!==b0(fe)||(fe=Vf,"selectionStart"in fe&&ev(fe)?fe={start:fe.selectionStart,end:fe.selectionEnd}:(fe=(fe.ownerDocument&&fe.ownerDocument.defaultView||window).getSelection(),fe={anchorNode:fe.anchorNode,anchorOffset:fe.anchorOffset,focusNode:fe.focusNode,focusOffset:fe.focusOffset}),dp&&Cp(dp,fe)||(dp=fe,fe=k0(tv,"onSelect"),0<fe.length&&(F=new ym("onSelect","select",null,F,J),P.push({event:F,listeners:fe}),F.target=Vf)))}dm("cancel cancel click click close close contextmenu contextMenu copy copy cut cut auxclick auxClick dblclick doubleClick dragend dragEnd dragstart dragStart drop drop focusin focus focusout blur input input invalid invalid keydown keyDown keypress keyPress keyup keyUp mousedown mouseDown mouseup mouseUp paste paste pause pause play play pointercancel pointerCancel pointerdown pointerDown pointerup pointerUp ratechange rateChange reset reset seeked seeked submit submit touchcancel touchCancel touchend touchEnd touchstart touchStart volumechan