@ihabdevteam/core 0.154.0 → 0.155.1

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.
@@ -83,12 +83,12 @@
83
83
  *
84
84
  * This source code is licensed under the ISC license.
85
85
  * See the LICENSE file in the root directory of this source tree.
86
- */const Ou=[["path",{d:"M10.268 21a2 2 0 0 0 3.464 0",key:"vwvbt9"}],["path",{d:"M3.262 15.326A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673C19.41 13.956 18 12.499 18 8A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326",key:"11g9vi"}]],Hu=X("bell",Ou);/**
86
+ */const Ou=[["path",{d:"M10.268 21a2 2 0 0 0 3.464 0",key:"vwvbt9"}],["path",{d:"M3.262 15.326A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673C19.41 13.956 18 12.499 18 8A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326",key:"11g9vi"}]],Vu=X("bell",Ou);/**
87
87
  * @license lucide-react v1.38.0 - ISC
88
88
  *
89
89
  * This source code is licensed under the ISC license.
90
90
  * See the LICENSE file in the root directory of this source tree.
91
- */const Vu=[["path",{d:"M10 2v8l3-3 3 3V2",key:"sqw3rj"}],["path",{d:"M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20",key:"k3hazp"}]],zu=X("book-marked",Vu);/**
91
+ */const Hu=[["path",{d:"M10 2v8l3-3 3 3V2",key:"sqw3rj"}],["path",{d:"M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20",key:"k3hazp"}]],zu=X("book-marked",Hu);/**
92
92
  * @license lucide-react v1.38.0 - ISC
93
93
  *
94
94
  * This source code is licensed under the ISC license.
@@ -233,12 +233,12 @@
233
233
  *
234
234
  * This source code is licensed under the ISC license.
235
235
  * See the LICENSE file in the root directory of this source tree.
236
- */const Od=[["path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",key:"1nclc0"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]],Hd=X("eye",Od);/**
236
+ */const Od=[["path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",key:"1nclc0"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]],Vd=X("eye",Od);/**
237
237
  * @license lucide-react v1.38.0 - ISC
238
238
  *
239
239
  * This source code is licensed under the ISC license.
240
240
  * See the LICENSE file in the root directory of this source tree.
241
- */const Vd=[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]],zd=X("file-text",Vd);/**
241
+ */const Hd=[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]],zd=X("file-text",Hd);/**
242
242
  * @license lucide-react v1.38.0 - ISC
243
243
  *
244
244
  * This source code is licensed under the ISC license.
@@ -373,7 +373,7 @@
373
373
  *
374
374
  * This source code is licensed under the ISC license.
375
375
  * See the LICENSE file in the root directory of this source tree.
376
- */const Hp=[["path",{d:"m16 17 5-5-5-5",key:"1bji2h"}],["path",{d:"M21 12H9",key:"dn1m92"}],["path",{d:"M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4",key:"1uf3rs"}]],Vp=X("log-out",Hp);/**
376
+ */const Vp=[["path",{d:"m16 17 5-5-5-5",key:"1bji2h"}],["path",{d:"M21 12H9",key:"dn1m92"}],["path",{d:"M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4",key:"1uf3rs"}]],Hp=X("log-out",Vp);/**
377
377
  * @license lucide-react v1.38.0 - ISC
378
378
  *
379
379
  * This source code is licensed under the ISC license.
@@ -513,7 +513,7 @@
513
513
  *
514
514
  * This source code is licensed under the ISC license.
515
515
  * See the LICENSE file in the root directory of this source tree.
516
- */const H1=[["path",{d:"m21 21-4.34-4.34",key:"14j7rj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}]],V1=X("search",H1);/**
516
+ */const V1=[["path",{d:"m21 21-4.34-4.34",key:"14j7rj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}]],H1=X("search",V1);/**
517
517
  * @license lucide-react v1.38.0 - ISC
518
518
  *
519
519
  * This source code is licensed under the ISC license.
@@ -648,12 +648,12 @@
648
648
  *
649
649
  * This source code is licensed under the ISC license.
650
650
  * See the LICENSE file in the root directory of this source tree.
651
- */const Hm=[["path",{d:"M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2",key:"975kel"}],["circle",{cx:"12",cy:"7",r:"4",key:"17ys0d"}]],hr=X("user",Hm);/**
651
+ */const Vm=[["path",{d:"M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2",key:"975kel"}],["circle",{cx:"12",cy:"7",r:"4",key:"17ys0d"}]],hr=X("user",Vm);/**
652
652
  * @license lucide-react v1.38.0 - ISC
653
653
  *
654
654
  * This source code is licensed under the ISC license.
655
655
  * See the LICENSE file in the root directory of this source tree.
656
- */const Vm=[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}],["line",{x1:"19",x2:"19",y1:"8",y2:"14",key:"1bvyxn"}],["line",{x1:"22",x2:"16",y1:"11",y2:"11",key:"1shjgl"}]],zm=X("user-plus",Vm);/**
656
+ */const Hm=[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}],["line",{x1:"19",x2:"19",y1:"8",y2:"14",key:"1bvyxn"}],["line",{x1:"22",x2:"16",y1:"11",y2:"11",key:"1shjgl"}]],zm=X("user-plus",Hm);/**
657
657
  * @license lucide-react v1.38.0 - ISC
658
658
  *
659
659
  * This source code is licensed under the ISC license.
@@ -798,7 +798,7 @@
798
798
  *
799
799
  * This source code is licensed under the ISC license.
800
800
  * See the LICENSE file in the root directory of this source tree.
801
- */const Hh=[["path",{d:"M4 5h16",key:"1tepv9"}],["path",{d:"M4 12h16",key:"1lakjw"}],["path",{d:"M4 19h16",key:"1djgab"}]],Vh=X("menu",Hh);/**
801
+ */const Vh=[["path",{d:"M4 5h16",key:"1tepv9"}],["path",{d:"M4 12h16",key:"1lakjw"}],["path",{d:"M4 19h16",key:"1djgab"}]],Hh=X("menu",Vh);/**
802
802
  * @license lucide-react v1.38.0 - ISC
803
803
  *
804
804
  * This source code is licensed under the ISC license.
@@ -808,9 +808,9 @@
808
808
  *
809
809
  * This source code is licensed under the ISC license.
810
810
  * See the LICENSE file in the root directory of this source tree.
811
- */const qh=[["path",{d:"M15 5.88 14 10h5.83a2 2 0 0 1 1.92 2.56l-2.33 8A2 2 0 0 1 17.5 22H4a2 2 0 0 1-2-2v-8a2 2 0 0 1 2-2h2.76a2 2 0 0 0 1.79-1.11L12 2a3.13 3.13 0 0 1 3 3.88Z",key:"emmmcr"}],["path",{d:"M7 10v12",key:"1qc93n"}]],Uh=X("thumbs-up",qh),ps={"alert-triangle":Xo,"align-start-vertical":Au,anchor:oh,armchair:ih,"arrow-down":Nu,"arrow-left":Su,"arrow-right":Tu,"arrow-right-left":Mu,"arrow-up-a-z":ch,"audio-lines":$u,baby:Pu,ban:Fu,"bar-chart-2":dh,bell:Hu,"book-marked":zu,"book-open":qu,"bow-arrow":Gu,braces:Yu,bug:Xu,calendar:cs,"calendar-check":Qu,"calendar-days":td,camera:ad,car:hh,"chart-column":od,"chart-line":id,"chart-pie":cd,check:Jo,"chevron-down":us,"chevron-left":Qo,"chevron-right":es,"chevron-up":ds,circle:Ih,"clipboard-list":hd,coffee:Ch,combine:Cd,copy:bd,"chevrons-left-right-ellipsis":vd,"credit-card":_d,database:ts,diff:Ad,download:ns,ear:Dd,edit:Ed,"edit-2":jd,"edit-3":Ld,ellipsis:as,eraser:Pd,"external-link":Fd,eye:Hd,"file-text":zd,"flip-horizontal":qd,"folder-open":Gd,"folder-plus":Yd,gamepad:Xd,"gamepad-2":bh,gavel:Qd,"git-merge":rs,globe:np,"grip-vertical":rp,headphones:sp,heart:lp,home:up,inbox:vh,info:pp,"key-round":hp,landmark:Cp,layers:bp,"layout-dashboard":vp,leaf:_p,lightbulb:kp,link:Bp,"link-2":Dp,"link-2-off":Ep,list:jp,"list-checks":Lp,"list-ordered":Rp,"list-tree":_h,loader:Ip,lock:Op,"log-out":Vp,mail:Wp,"map-pin":Up,menu:Vh,"message-circle":Kp,"message-circle-question-mark":Zp,"message-square":Jp,"message-square-more":kh,"message-square-text":e1,minus:Bh,"minus-circle":n1,moon:Wh,"more-horizontal":as,package:r1,palette:s1,"party-popper":l1,pause:u1,pencil:p1,phone:h1,play:C1,"play-circle":b1,plus:v1,printer:_1,"refresh-cw":k1,repeat:B1,replace:D1,rocket:E1,"rotate-ccw":j1,"rotate-cw":L1,salad:R1,"scan-search":I1,search:V1,"circle-alert":os,"alert-circle":os,"check-circle":ss,scissors:W1,"search-x":U1,send:K1,settings:Z1,"share-2":Dh,"shield-check":J1,"shopping-cart":em,shuffle:nm,"skip-back":rm,"skip-forward":sm,sparkles:Eh,square:lm,star:um,store:pm,"sun-medium":hm,table:Cm,"table-2":bm,tag:vm,terminal:_m,"text-cursor-input":km,"text-initial":Bm,"thumbs-up":Uh,ticket:Dm,trash:jm,triangle:Oh,"trash-2":Em,"trending-up":Lm,"triangle-alert":Xo,trophy:Rm,type:jh,unlink:Im,upload:Om,user:hr,"user-plus":zm,"user-round":qm,"user-round-check":Gm,users:Ym,"users-round":Xm,volume:Lh,"volume-2":is,wrench:eh,x:ls,zap:ah};function Gh(e){return ps[e]??null}const ms=new Set;function Kh(e){return Ko&&!(e in ps)&&!ms.has(e)&&(ms.add(e),console.warn(`[ihabdevteam-core] lucide \uC544\uC774\uCF58 '${e}' \uC774 \uC815\uC801 \uBAA9\uB85D\uC5D0 \uC5C6\uC5B4 \uB80C\uB354\uB418\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. utils/lucideIconSet.ts \uC758 STATIC_LUCIDE_ICONS \uC5D0 \uCD94\uAC00\uD558\uC138\uC694.`)),Promise.resolve(null)}const Yh=e=>e.replace(/([A-Z]+)([A-Z][a-z])/g,"$1-$2").replace(/([a-z0-9])([A-Z])/g,"$1-$2").replace(/([A-Za-z])([0-9])/g,"$1-$2").replace(/[_ ]+/g,"-").toLowerCase();function Zh(e){const t=e.toLowerCase();if(t.startsWith("http://")||t.startsWith("https://")||t.startsWith("data:")||e.includes("/assets/")||/\.(png|jpe?g|gif|webp|avif|bmp|ico)$/i.test(t))return null;const a=(e.split("/").pop()||"").replace(/\.svg$/,"");return a?Yh(a):null}const hs=new Map;function Xh(e){const t=typeof e=="string"?Zh(e):null,a=t?Gh(t)??hs.get(t)??null:null,[r,s]=o.useState(null);return o.useEffect(()=>{if(!t||a)return;let i=!1;return Kh(t).then(l=>{hs.set(t,l),i||s(l)}),()=>{i=!0}},[t,a]),a??r}/*! @license DOMPurify 3.4.14 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.4.14/LICENSE */function fs(e,t){(t==null||t>e.length)&&(t=e.length);for(var a=0,r=Array(t);a<t;a++)r[a]=e[a];return r}function Jh(e){if(Array.isArray(e))return e}function Qh(e,t){var a=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(a!=null){var r,s,i,l,c=[],u=!0,d=!1;try{if(i=(a=a.call(e)).next,t!==0)for(;!(u=(r=i.call(a)).done)&&(c.push(r.value),c.length!==t);u=!0);}catch(p){d=!0,s=p}finally{try{if(!u&&a.return!=null&&(l=a.return(),Object(l)!==l))return}finally{if(d)throw s}}return c}}function e0(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
812
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function t0(e,t){return Jh(e)||Qh(e,t)||n0(e,t)||e0()}function n0(e,t){if(e){if(typeof e=="string")return fs(e,t);var a={}.toString.call(e).slice(8,-1);return a==="Object"&&e.constructor&&(a=e.constructor.name),a==="Map"||a==="Set"?Array.from(e):a==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?fs(e,t):void 0}}const Cs=Object.entries,gs=Object.setPrototypeOf,a0=Object.isFrozen,r0=Object.getPrototypeOf,o0=Object.getOwnPropertyDescriptor;let gt=Object.freeze,yt=Object.seal,Wn=Object.create,bs=typeof Reflect<"u"&&Reflect,fr=bs.apply,Cr=bs.construct;gt||(gt=function(t){return t}),yt||(yt=function(t){return t}),fr||(fr=function(t,a){for(var r=arguments.length,s=new Array(r>2?r-2:0),i=2;i<r;i++)s[i-2]=arguments[i];return t.apply(a,s)}),Cr||(Cr=function(t){for(var a=arguments.length,r=new Array(a>1?a-1:0),s=1;s<a;s++)r[s-1]=arguments[s];return new t(...r)});const Mn=ft(Array.prototype.forEach),s0=ft(Array.prototype.lastIndexOf),ys=ft(Array.prototype.pop),la=ft(Array.prototype.push),i0=ft(Array.prototype.splice),qn=Array.isArray,ca=ft(String.prototype.toLowerCase),gr=ft(String.prototype.toString),vs=ft(String.prototype.match),ua=ft(String.prototype.replace),xs=ft(String.prototype.indexOf),l0=ft(String.prototype.trim),c0=ft(Number.prototype.toString),u0=ft(Boolean.prototype.toString),_s=typeof BigInt>"u"?null:ft(BigInt.prototype.toString),ws=typeof Symbol>"u"?null:ft(Symbol.prototype.toString),Ft=ft(Object.prototype.hasOwnProperty),da=ft(Object.prototype.toString),St=ft(RegExp.prototype.test),Ln=d0(TypeError);function ft(e){return function(t){t instanceof RegExp&&(t.lastIndex=0);for(var a=arguments.length,r=new Array(a>1?a-1:0),s=1;s<a;s++)r[s-1]=arguments[s];return fr(e,t,r)}}function d0(e){return function(){for(var t=arguments.length,a=new Array(t),r=0;r<t;r++)a[r]=arguments[r];return Cr(e,a)}}function Je(e,t){let a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:ca;if(gs&&gs(e,null),!qn(t))return e;let r=t.length;for(;r--;){let s=t[r];if(typeof s=="string"){const i=a(s);i!==s&&(a0(t)||(t[r]=i),s=i)}e[s]=!0}return e}function p0(e){for(let t=0;t<e.length;t++)Ft(e,t)||(e[t]=null);return e}function qt(e){const t=Wn(null);for(const r of Cs(e)){var a=t0(r,2);const s=a[0],i=a[1];Ft(e,s)&&(qn(i)?t[s]=p0(i):i&&typeof i=="object"&&i.constructor===Object?t[s]=qt(i):t[s]=i)}return t}function m0(e){switch(typeof e){case"string":return e;case"number":return c0(e);case"boolean":return u0(e);case"bigint":return _s?_s(e):"0";case"symbol":return ws?ws(e):"Symbol()";case"undefined":return da(e);case"function":case"object":{if(e===null)return da(e);const t=e,a=Qt(t,"toString");if(typeof a=="function"){const r=a(t);return typeof r=="string"?r:da(r)}return da(e)}default:return da(e)}}function Qt(e,t){for(;e!==null;){const r=o0(e,t);if(r){if(r.get)return ft(r.get);if(typeof r.value=="function")return ft(r.value)}e=r0(e)}function a(){return null}return a}function h0(e){try{return St(e,""),!0}catch{return!1}}const ks=gt(["a","abbr","acronym","address","area","article","aside","audio","b","bdi","bdo","big","blink","blockquote","body","br","button","canvas","caption","center","cite","code","col","colgroup","content","data","datalist","dd","decorator","del","details","dfn","dialog","dir","div","dl","dt","element","em","fieldset","figcaption","figure","font","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","img","input","ins","kbd","label","legend","li","main","map","mark","marquee","menu","menuitem","meter","nav","nobr","ol","optgroup","option","output","p","picture","pre","progress","q","rp","rt","ruby","s","samp","search","section","select","shadow","slot","small","source","spacer","span","strike","strong","style","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","tr","track","tt","u","ul","var","video","wbr"]),br=gt(["svg","a","altglyph","altglyphdef","altglyphitem","animatecolor","animatemotion","animatetransform","circle","clippath","defs","desc","ellipse","enterkeyhint","exportparts","filter","font","g","glyph","glyphref","hkern","image","inputmode","line","lineargradient","marker","mask","metadata","mpath","part","path","pattern","polygon","polyline","radialgradient","rect","stop","style","switch","symbol","text","textpath","title","tref","tspan","view","vkern"]),yr=gt(["feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence"]),f0=gt(["animate","color-profile","cursor","discard","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","foreignobject","hatch","hatchpath","mesh","meshgradient","meshpatch","meshrow","missing-glyph","script","set","solidcolor","unknown","use"]),vr=gt(["math","menclose","merror","mfenced","mfrac","mglyph","mi","mlabeledtr","mmultiscripts","mn","mo","mover","mpadded","mphantom","mroot","mrow","ms","mspace","msqrt","mstyle","msub","msup","msubsup","mtable","mtd","mtext","mtr","munder","munderover","mprescripts"]),C0=gt(["maction","maligngroup","malignmark","mlongdiv","mscarries","mscarry","msgroup","mstack","msline","msrow","semantics","annotation","annotation-xml","mprescripts","none"]),As=gt(["#text"]),Bs=gt(["accept","action","align","alt","autocapitalize","autocomplete","autopictureinpicture","autoplay","background","bgcolor","border","capture","cellpadding","cellspacing","checked","cite","class","clear","color","cols","colspan","command","commandfor","controls","controlslist","coords","crossorigin","datetime","decoding","default","dir","disabled","disablepictureinpicture","disableremoteplayback","download","draggable","enctype","enterkeyhint","exportparts","face","for","headers","height","hidden","high","href","hreflang","id","inert","inputmode","integrity","ismap","kind","label","lang","list","loading","loop","low","max","maxlength","media","method","min","minlength","multiple","muted","name","nonce","noshade","novalidate","nowrap","open","optimum","part","pattern","placeholder","playsinline","popover","popovertarget","popovertargetaction","poster","preload","pubdate","radiogroup","readonly","rel","required","rev","reversed","role","rows","rowspan","spellcheck","scope","selected","shape","size","sizes","slot","span","srclang","start","src","srcset","step","style","summary","tabindex","title","translate","type","usemap","valign","value","width","wrap","xmlns"]),xr=gt(["accent-height","accumulate","additive","alignment-baseline","amplitude","ascent","attributename","attributetype","azimuth","basefrequency","baseline-shift","begin","bias","by","class","clip","clippathunits","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","cx","cy","d","dx","dy","diffuseconstant","direction","display","divisor","dominant-baseline","dur","edgemode","elevation","end","exponent","fill","fill-opacity","fill-rule","filter","filterunits","flood-color","flood-opacity","font-family","font-size","font-size-adjust","font-stretch","font-style","font-variant","font-weight","fx","fy","g1","g2","glyph-name","glyphref","gradientunits","gradienttransform","height","href","id","image-rendering","in","in2","intercept","k","k1","k2","k3","k4","kerning","keypoints","keysplines","keytimes","lang","lengthadjust","letter-spacing","kernelmatrix","kernelunitlength","lighting-color","local","marker-end","marker-mid","marker-start","markerheight","markerunits","markerwidth","maskcontentunits","maskunits","max","mask","mask-type","media","method","mode","min","name","numoctaves","offset","operator","opacity","order","orient","orientation","origin","overflow","paint-order","path","pathlength","patterncontentunits","patterntransform","patternunits","pointer-events","points","preservealpha","preserveaspectratio","primitiveunits","r","rx","ry","radius","refx","refy","repeatcount","repeatdur","restart","result","rotate","scale","seed","shape-rendering","slope","specularconstant","specularexponent","spreadmethod","startoffset","stddeviation","stitchtiles","stop-color","stop-opacity","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke","stroke-width","style","surfacescale","systemlanguage","tabindex","tablevalues","targetx","targety","transform","transform-origin","text-anchor","text-decoration","text-orientation","text-rendering","textlength","type","u1","u2","unicode","values","vector-effect","viewbox","visibility","version","vert-adv-y","vert-origin-x","vert-origin-y","width","word-spacing","wrap","writing-mode","xchannelselector","ychannelselector","x","x1","x2","xmlns","y","y1","y2","z","zoomandpan"]),Ns=gt(["accent","accentunder","align","bevelled","close","columnalign","columnlines","columnspacing","columnspan","denomalign","depth","dir","display","displaystyle","encoding","fence","frame","height","href","id","largeop","length","linethickness","lquote","lspace","mathbackground","mathcolor","mathsize","mathvariant","maxsize","minsize","movablelimits","notation","numalign","open","rowalign","rowlines","rowspacing","rowspan","rspace","rquote","scriptlevel","scriptminsize","scriptsizemultiplier","selection","separator","separators","stretchy","subscriptshift","supscriptshift","symmetric","voffset","width","xmlns"]),Ma=gt(["xlink:href","xml:id","xlink:title","xml:space","xmlns:xlink"]),g0=yt(/{{[\w\W]*|^[\w\W]*}}/g),b0=yt(/<%[\w\W]*|^[\w\W]*%>/g),y0=yt(/\${[\w\W]*/g),v0=yt(/^data-[\-\w.\u00B7-\uFFFF]+$/),x0=yt(/^aria-[\-\w]+$/),Ds=yt(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),_0=yt(/^(?:\w+script|data):/i),w0=yt(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),k0=yt(/^html$/i),A0=yt(/^[a-z][.\w]*(-[.\w]+)+$/i),Ss=yt(/<[/\w!]/g),Es=yt(/<[/\w]/g),B0=yt(/<\/no(script|embed|frames)/i),N0=yt(/\/>/i),Ut={element:1,attribute:2,text:3,cdataSection:4,entityReference:5,entityNode:6,processingInstruction:7,comment:8,document:9,documentType:10,documentFragment:11,notation:12},Ts=["style","script","xmp","iframe","noembed","noframes","plaintext","noscript"],D0=gt(Je({},Ts)),S0=(function(){const e={};return Mn(Ts,t=>{e[t]=yt(new RegExp("</"+t+"(?=[\\t\\n\\f\\r />])","i"))}),gt(e)})(),E0=function(){return typeof window>"u"?null:window},T0=function(t,a){if(typeof t!="object"||typeof t.createPolicy!="function")return null;let r=null;const s="data-tt-policy-suffix";a&&a.hasAttribute(s)&&(r=a.getAttribute(s));const i="dompurify"+(r?"#"+r:"");try{return t.createPolicy(i,{createHTML(l){return l},createScriptURL(l){return l}})}catch{return console.warn("TrustedTypes policy "+i+" could not be created."),null}},js=function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}},_n=function(t,a,r,s){return Ft(t,a)&&qn(t[a])?Je(s.base?qt(s.base):{},t[a],s.transform):r},_r=function(t,a,r){const s=Ft(t,a)?t[a]:void 0;return s&&typeof s=="object"?qt(s):r()};function Ms(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:E0();const t=Ce=>Ms(Ce);if(t.version="3.4.14",t.removed=[],!e||!e.document||e.document.nodeType!==Ut.document||!e.Element)return t.isSupported=!1,t;let a=e.document;const r=a,s=r.currentScript;e.DocumentFragment;const i=e.HTMLTemplateElement,l=e.Node,c=e.Element,u=e.NodeFilter,d=e.NamedNodeMap;d===void 0&&(e.NamedNodeMap||e.MozNamedAttrMap),e.HTMLFormElement;const p=e.DOMParser,m=e.trustedTypes,h=c.prototype,g=Qt(h,"cloneNode"),C=Qt(h,"remove"),b=Qt(h,"nextSibling"),_=Qt(h,"childNodes"),f=Qt(h,"parentNode"),y=Qt(h,"shadowRoot"),x=Qt(h,"attributes"),v=l&&l.prototype?Qt(l.prototype,"nodeType"):null,k=l&&l.prototype?Qt(l.prototype,"nodeName"):null,w=l&&l.prototype?Qt(l.prototype,"ownerDocument"):null,D=function(E){return v?v(E):E.nodeType},B=function(E){return k?k(E):E.nodeName};if(typeof i=="function"){const Ce=a.createElement("template");Ce.content&&Ce.content.ownerDocument&&(a=Ce.content.ownerDocument)}let A,N="",M,I=!1,$=0;const V=function(){if($>0)throw Ln('A configured TRUSTED_TYPES_POLICY callback (createHTML or createScriptURL) must not call DOMPurify.sanitize, as that causes infinite recursion. Do not pass a policy whose callbacks wrap DOMPurify as TRUSTED_TYPES_POLICY; see the "DOMPurify and Trusted Types" section of the README.')},S=function(E){V(),$++;try{return A.createHTML(E)}finally{$--}},F=function(E){V(),$++;try{return A.createScriptURL(E)}finally{$--}},z=function(){return I||(M=T0(m,s),I=!0),M},Y=a,U=Y.implementation,G=Y.createNodeIterator,W=Y.createDocumentFragment,Z=Y.getElementsByTagName,P=r.importNode;let T=js();t.isSupported=typeof Cs=="function"&&typeof f=="function"&&U&&U.createHTMLDocument!==void 0;const O=g0,R=b0,j=y0,L=v0,Q=x0,J=_0,oe=w0,ge=A0;let Me=Ds,Ne=null;const ie=Je({},[...ks,...br,...yr,...vr,...As]);let q=null;const se=Je({},[...Bs,...xr,...Ns,...Ma]);let me=Object.seal(Wn(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}})),_e=null,we=null;const De=Object.seal(Wn(null,{tagCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeCheck:{writable:!0,configurable:!1,enumerable:!0,value:null}}));let xe=!0,Ae=!0,Te=!1,ae=!0,ee=!1,de=!0,te=!1,he=!1,be=null,Ye=null,He=!1,qe=!1,Se=!1,Ue=!1,$e=!0,Ie=!1;const Ve="user-content-";let at=!0,ot=!1,We={},Xe=null;const Ct=Je({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","selectedcontent","style","svg","template","thead","title","video","xmp"]);let At=null;const Et=Je({},["audio","video","img","source","image","track"]);let ut=null;const Qe=Je({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),Ze="http://www.w3.org/1998/Math/MathML",Oe="http://www.w3.org/2000/svg",rt="http://www.w3.org/1999/xhtml";let et=rt,bt=!1,ze=null;const it=Je({},[Ze,Oe,rt],gr),Bt=gt(["mi","mo","mn","ms","mtext"]);let Nt=Je({},Bt);const Le=gt(["annotation-xml"]);let Ke=Je({},Le);const Dt=Je({},["title","style","font","a","script"]);let vt=null;const Tt=["application/xhtml+xml","text/html"],on="text/html";let tt=null,Gt=null;const vn=a.createElement("form"),xt=function(E){return E instanceof RegExp||E instanceof Function},Vt=function(){let E=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(Gt&&Gt===E)return;(!E||typeof E!="object")&&(E={}),E=qt(E),vt=Tt.indexOf(E.PARSER_MEDIA_TYPE)===-1?on:E.PARSER_MEDIA_TYPE,tt=vt==="application/xhtml+xml"?gr:ca,Ne=_n(E,"ALLOWED_TAGS",ie,{transform:tt}),q=_n(E,"ALLOWED_ATTR",se,{transform:tt}),ze=_n(E,"ALLOWED_NAMESPACES",it,{transform:gr}),ut=_n(E,"ADD_URI_SAFE_ATTR",Qe,{transform:tt,base:Qe}),At=_n(E,"ADD_DATA_URI_TAGS",Et,{transform:tt,base:Et}),Xe=_n(E,"FORBID_CONTENTS",Ct,{transform:tt}),_e=_n(E,"FORBID_TAGS",qt({}),{transform:tt}),we=_n(E,"FORBID_ATTR",qt({}),{transform:tt}),We=Ft(E,"USE_PROFILES")?E.USE_PROFILES&&typeof E.USE_PROFILES=="object"?qt(E.USE_PROFILES):E.USE_PROFILES:!1,xe=E.ALLOW_ARIA_ATTR!==!1,Ae=E.ALLOW_DATA_ATTR!==!1,Te=E.ALLOW_UNKNOWN_PROTOCOLS||!1,ae=E.ALLOW_SELF_CLOSE_IN_ATTR!==!1,ee=E.SAFE_FOR_TEMPLATES||!1,de=E.SAFE_FOR_XML!==!1,te=E.WHOLE_DOCUMENT||!1,qe=E.RETURN_DOM||!1,Se=E.RETURN_DOM_FRAGMENT||!1,Ue=E.RETURN_TRUSTED_TYPE||!1,He=E.FORCE_BODY||!1,$e=E.SANITIZE_DOM!==!1,Ie=E.SANITIZE_NAMED_PROPS||!1,at=E.KEEP_CONTENT!==!1,ot=E.IN_PLACE||!1,Me=h0(E.ALLOWED_URI_REGEXP)?E.ALLOWED_URI_REGEXP:Ds,et=typeof E.NAMESPACE=="string"?E.NAMESPACE:rt,Nt=_r(E,"MATHML_TEXT_INTEGRATION_POINTS",()=>Je({},Bt)),Ke=_r(E,"HTML_INTEGRATION_POINTS",()=>Je({},Le));const K=_r(E,"CUSTOM_ELEMENT_HANDLING",()=>Wn(null));if(me=Wn(null),Ft(K,"tagNameCheck")&&xt(K.tagNameCheck)&&(me.tagNameCheck=K.tagNameCheck),Ft(K,"attributeNameCheck")&&xt(K.attributeNameCheck)&&(me.attributeNameCheck=K.attributeNameCheck),Ft(K,"allowCustomizedBuiltInElements")&&typeof K.allowCustomizedBuiltInElements=="boolean"&&(me.allowCustomizedBuiltInElements=K.allowCustomizedBuiltInElements),yt(me),ee&&(Ae=!1),Se&&(qe=!0),We&&(Ne=Je({},As),q=Wn(null),We.html===!0&&(Je(Ne,ks),Je(q,Bs)),We.svg===!0&&(Je(Ne,br),Je(q,xr),Je(q,Ma)),We.svgFilters===!0&&(Je(Ne,yr),Je(q,xr),Je(q,Ma)),We.mathMl===!0&&(Je(Ne,vr),Je(q,Ns),Je(q,Ma))),De.tagCheck=null,De.attributeCheck=null,Ft(E,"ADD_TAGS")&&(typeof E.ADD_TAGS=="function"?De.tagCheck=E.ADD_TAGS:qn(E.ADD_TAGS)&&(Ne===ie&&(Ne=qt(Ne)),Je(Ne,E.ADD_TAGS,tt))),Ft(E,"ADD_ATTR")&&(typeof E.ADD_ATTR=="function"?De.attributeCheck=E.ADD_ATTR:qn(E.ADD_ATTR)&&(q===se&&(q=qt(q)),Je(q,E.ADD_ATTR,tt))),Ft(E,"ADD_FORBID_CONTENTS")&&qn(E.ADD_FORBID_CONTENTS)&&(Xe===Ct&&(Xe=qt(Xe)),Je(Xe,E.ADD_FORBID_CONTENTS,tt)),at&&(Ne["#text"]=!0),te&&Je(Ne,["html","head","body"]),Ne.table&&(Je(Ne,["tbody"]),delete _e.tbody),E.TRUSTED_TYPES_POLICY){if(typeof E.TRUSTED_TYPES_POLICY.createHTML!="function")throw Ln('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof E.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw Ln('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');const ue=A;A=E.TRUSTED_TYPES_POLICY;try{N=S("")}catch(Ee){throw A=ue,Ee}}else E.TRUSTED_TYPES_POLICY===null?(A=void 0,N=""):(A===void 0&&(A=z()),A&&typeof N=="string"&&(N=S("")));gt&&gt(E),Gt=E},Xt=Je({},[...br,...yr,...f0]),an=Je({},[...vr,...C0]),sn=function(E,K,ue){return K.namespaceURI===rt?E==="svg":K.namespaceURI===Ze?E==="svg"&&(ue==="annotation-xml"||Nt[ue]):!!Xt[E]},Jt=function(E,K,ue){return K.namespaceURI===rt?E==="math":K.namespaceURI===Oe?E==="math"&&Ke[ue]:!!an[E]},xn=function(E,K,ue){return K.namespaceURI===Oe&&!Ke[ue]||K.namespaceURI===Ze&&!Nt[ue]?!1:!an[E]&&(Dt[E]||!Xt[E])},Kt=function(E){let K=f(E);(!K||!K.tagName)&&(K={namespaceURI:et,tagName:"template"});const ue=ca(E.tagName),Ee=ca(K.tagName);return ze[E.namespaceURI]?E.namespaceURI===Oe?sn(ue,K,Ee):E.namespaceURI===Ze?Jt(ue,K,Ee):E.namespaceURI===rt?xn(ue,K,Ee):!!(vt==="application/xhtml+xml"&&ze[E.namespaceURI]):!1},mt=function(E){la(t.removed,{element:E});try{f(E).removeChild(E)}catch{if(C(E),!f(E))throw Ln("a node selected for removal could not be detached from its tree and cannot be safely returned; refusing to sanitize in place")}},ln=function(E,K,ue){try{E.removeAttributeNode(K)}catch{try{E.removeAttribute(ue)}catch{}}},Yt=function(E){Zt(E);const K=_(E);if(K){const Ee=[];Mn(K,Re=>{la(Ee,Re)}),Mn(Ee,Re=>{try{C(Re)}catch{}})}const ue=x(E);if(ue)for(let Ee=ue.length-1;Ee>=0;--Ee){const Re=ue[Ee],Fe=Re&&Re.name;typeof Fe=="string"&&ln(E,Re,Fe)}},jt=function(E,K,ue){if(!ue)try{ue=K.getAttributeNode(E)}catch{ue=null}la(t.removed,{attribute:ue||null,from:K});try{ue?K.removeAttributeNode(ue):K.removeAttribute(E)}catch{try{K.removeAttribute(E)}catch{}}if(E==="is")if(qe||Se)try{mt(K)}catch{}else try{K.setAttribute(E,"")}catch{}},cn=function(E){const K=x(E);if(K)for(let ue=K.length-1;ue>=0;--ue){const Ee=K[ue],Re=Ee&&Ee.name;typeof Re!="string"||q[tt(Re)]||ln(E,Ee,Re)}},Zt=function(E){const K=[E];for(;K.length>0;){const ue=K.pop();D(ue)===Ut.element&&cn(ue);const Re=_(ue);if(Re)for(let Fe=Re.length-1;Fe>=0;--Fe)K.push(Re[Fe])}},un=function(E,K){return de?E==="patchsrc"?!0:E==="for"&&K!=="label"&&K!=="output":!1},ke=function(E){if(!de)return;const K=[E];for(;K.length>0;){const ue=K.pop(),Ee=D(ue);if(Ee===Ut.processingInstruction||Ee===Ut.comment&&St(Es,ue.data)){try{C(ue)}catch{}continue}if(Ee===Ut.element){const Fe=ue,st=tt(B(ue));try{Fe.hasAttribute&&Fe.hasAttribute("patchsrc")&&Fe.removeAttribute("patchsrc"),Fe.hasAttribute&&Fe.hasAttribute("for")&&un("for",st)&&Fe.removeAttribute("for")}catch{}}const Re=_(ue);if(Re)for(let Fe=Re.length-1;Fe>=0;--Fe)K.push(Re[Fe])}},Pe=function(E){let K=null,ue=null;if(He)E="<remove></remove>"+E;else{const Fe=vs(E,/^[\r\n\t ]+/);ue=Fe&&Fe[0]}vt==="application/xhtml+xml"&&et===rt&&(E='<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>'+E+"</body></html>");const Ee=A?S(E):E;if(et===rt)try{K=new p().parseFromString(Ee,vt)}catch{}if(!K||!K.documentElement){K=U.createDocument(et,"template",null);try{K.documentElement.innerHTML=bt?N:Ee}catch{}}const Re=K.body||K.documentElement;return E&&ue&&Re.insertBefore(a.createTextNode(ue),Re.childNodes[0]||null),et===rt?Z.call(K,te?"html":"body")[0]:te?K.documentElement:Re},ne=function(E){const K=w?w(E):E.ownerDocument;return G.call(K||E,E,u.SHOW_ELEMENT|u.SHOW_COMMENT|u.SHOW_TEXT|u.SHOW_PROCESSING_INSTRUCTION|u.SHOW_CDATA_SECTION,null)},pe=function(E){return E=ua(E,O," "),E=ua(E,R," "),E=ua(E,j," "),E},H=function(E){var K;E.normalize();const ue=w?w(E):E.ownerDocument,Ee=G.call(ue||E,E,u.SHOW_TEXT|u.SHOW_COMMENT|u.SHOW_CDATA_SECTION|u.SHOW_PROCESSING_INSTRUCTION,null);let Re=Ee.nextNode();for(;Re;)Re.data=pe(Re.data),Re=Ee.nextNode();const Fe=(K=E.querySelectorAll)===null||K===void 0?void 0:K.call(E,"template");Fe&&Mn(Fe,st=>{le(st.content)&&H(st.content)})},re=function(E){const K=k?k(E):null;return typeof K!="string"||tt(K)!=="form"?!1:typeof E.nodeName!="string"||typeof E.textContent!="string"||typeof E.removeChild!="function"||E.attributes!==x(E)||typeof E.removeAttribute!="function"||typeof E.setAttribute!="function"||typeof E.namespaceURI!="string"||typeof E.insertBefore!="function"||typeof E.hasChildNodes!="function"||E.nodeType!==v(E)||E.childNodes!==_(E)},le=function(E){if(!v||typeof E!="object"||E===null)return!1;try{return v(E)===Ut.documentFragment}catch{return!1}},ye=function(E){if(!v||typeof E!="object"||E===null)return!1;try{return typeof v(E)=="number"}catch{return!1}};function ve(Ce,E,K){Ce.length!==0&&Mn(Ce,ue=>{ue.call(t,E,K,Gt)})}const je=function(E,K){return!!(de&&E.hasChildNodes()&&!ye(E.firstElementChild)&&St(Ss,E.textContent)&&St(Ss,E.innerHTML)||de&&E.namespaceURI===rt&&D0[K]&&(ye(E.firstElementChild)||typeof E.textContent=="string"&&St(S0[K],E.textContent))||E.nodeType===Ut.processingInstruction||de&&E.nodeType===Ut.comment&&St(Es,E.data))},nt=function(E,K){if(E instanceof RegExp)return St(E,K);if(E instanceof Function){for(var ue=arguments.length,Ee=new Array(ue>2?ue-2:0),Re=2;Re<ue;Re++)Ee[Re-2]=arguments[Re];return!!E(K,...Ee)}return!1},ht=function(E,K,ue){if(!_e[K]&&pn(K)&&nt(me.tagNameCheck,K))return!1;if(at&&!Xe[K]){const Ee=f(E),Re=_(E);if(Re&&Ee){const Fe=Re.length;for(let st=Fe-1;st>=0;--st){const ct=E===ue?g(Re[st],!0):Re[st];Ee.insertBefore(ct,b(E))}}}return mt(E),!0},lt=function(E,K,ue,Ee){return E.length===0?K:K===ue||K===Ee?qt(K):K},_t=function(E,K){return E===K||f(E)!==null?!1:(ot&&Zt(E),!0)},zt=function(E,K){if(ve(T.beforeSanitizeElements,E,null),_t(E,K))return!0;if(re(E))return mt(E),!0;const ue=tt(B(E));if(Ne=lt(T.uponSanitizeElement,Ne,ie,be),ve(T.uponSanitizeElement,E,{tagName:ue,allowedTags:Ne}),_t(E,K))return!0;if(je(E,ue))return mt(E),!0;if(_e[ue]||!(De.tagCheck instanceof Function&&De.tagCheck(ue))&&!Ne[ue]){const Re=ht(E,ue,K);return Re===!1&&ve(T.afterSanitizeElements,E,null),Re}if(D(E)===Ut.element&&!Kt(E)||(ue==="noscript"||ue==="noembed"||ue==="noframes")&&St(B0,E.innerHTML))return mt(E),!0;if(ee&&E.nodeType===Ut.text){const Re=pe(E.textContent);E.textContent!==Re&&(la(t.removed,{element:E.cloneNode()}),E.textContent=Re)}return ve(T.afterSanitizeElements,E,null),!1},Rt=function(E,K,ue){if(we[K]||un(K,E)||$e&&(K==="id"||K==="name")&&(ue in a||ue in vn))return!1;const Ee=q[K]||De.attributeCheck instanceof Function&&De.attributeCheck(K,E);return Ae&&St(L,K)||xe&&St(Q,K)?!0:Ee?ut[K]||St(Me,ua(ue,oe,""))||(K==="src"||K==="xlink:href"||K==="href")&&E!=="script"&&xs(ue,"data:")===0&&At[E]||Te&&!St(J,ua(ue,oe,""))?!0:!ue:pn(E)&&nt(me.tagNameCheck,E)&&nt(me.attributeNameCheck,K,E)||K==="is"&&me.allowCustomizedBuiltInElements&&nt(me.tagNameCheck,ue)},dn=Je({},["annotation-xml","color-profile","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","missing-glyph"]),pn=function(E){return!dn[ca(E)]&&St(ge,E)},ur=function(E,K,ue,Ee){if(A&&typeof m=="object"&&typeof m.getAttributeType=="function"&&!ue)switch(m.getAttributeType(E,K)){case"TrustedHTML":return S(Ee);case"TrustedScriptURL":return F(Ee)}return Ee},fu=function(E,K,ue,Ee){try{ue?E.setAttributeNS(ue,K,Ee):E.setAttribute(K,Ee),re(E)?mt(E):ys(t.removed)}catch{jt(K,E)}},qo=function(E){ve(T.beforeSanitizeAttributes,E,null);const K=E.attributes;if(!K||re(E))return;q=lt(T.uponSanitizeAttribute,q,se,Ye);const ue={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:q,forceKeepAttr:void 0};let Ee=K.length;const Re=tt(E.nodeName);for(;Ee--;){const Fe=K[Ee],st=Fe.name,ct=Fe.namespaceURI,Pt=Fe.value,It=tt(st),pr=Pt;let Mt=st==="value"?pr:l0(pr);if(ue.attrName=It,ue.attrValue=Mt,ue.keepAttr=!0,ue.forceKeepAttr=void 0,ve(T.uponSanitizeAttribute,E,ue),Mt=ue.attrValue,Ie&&(It==="id"||It==="name")&&xs(Mt,Ve)!==0&&(jt(st,E,Fe),Mt=Ve+Mt),de&&St(/((--!?|])>)|<\/(style|script|title|xmp|textarea|noscript|iframe|noembed|noframes)/i,Mt)){jt(st,E,Fe);continue}if(It==="attributename"&&vs(Mt,"href")){jt(st,E,Fe);continue}if(!ue.forceKeepAttr){if(!ue.keepAttr){jt(st,E,Fe);continue}if(!ae&&St(N0,Mt)){jt(st,E,Fe);continue}if(ee&&(Mt=pe(Mt)),!Rt(Re,It,Mt)){jt(st,E,Fe);continue}Mt=ur(Re,It,ct,Mt),Mt!==pr&&fu(E,st,ct,Mt)}}ve(T.afterSanitizeAttributes,E,null)},ja=function(E){let K=null;const ue=ne(E);for(ve(T.beforeSanitizeShadowDOM,E,null);K=ue.nextNode();)if(ve(T.uponSanitizeShadowNode,K,null),zt(K,E),qo(K),le(K.content)&&ja(K.content),D(K)===Ut.element){const Ee=y(K);le(Ee)&&(dr(Ee),ja(Ee))}ve(T.afterSanitizeShadowDOM,E,null)},dr=function(E){const K=[{node:E,shadow:null}];for(;K.length>0;){const ue=K.pop();if(ue.shadow){ja(ue.shadow);continue}const Ee=ue.node,Fe=D(Ee)===Ut.element,st=_(Ee);if(st)for(let ct=st.length-1;ct>=0;--ct)K.push({node:st[ct],shadow:null});if(Fe){const ct=k?k(Ee):null;if(typeof ct=="string"&&tt(ct)==="template"){const Pt=Ee.content;le(Pt)&&K.push({node:Pt,shadow:null})}}if(Fe){const ct=y(Ee);le(ct)&&K.push({node:null,shadow:ct},{node:ct,shadow:null})}}};return t.sanitize=function(Ce){let E=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},K=null,ue=null,Ee=null,Re=null;if(bt=!Ce,bt&&(Ce="<!-->"),typeof Ce!="string"&&!ye(Ce)&&(Ce=m0(Ce),typeof Ce!="string"))throw Ln("dirty is not a string, aborting");if(!t.isSupported)return Ce;he?(Ne=be,q=Ye):Vt(E),(T.uponSanitizeElement.length>0||T.uponSanitizeAttribute.length>0)&&(Ne=qt(Ne)),T.uponSanitizeAttribute.length>0&&(q=qt(q)),t.removed=[];const Fe=ot&&typeof Ce!="string"&&ye(Ce);if(Fe){ke(Ce);const Pt=B(Ce);if(typeof Pt=="string"){const It=tt(Pt);if(!Ne[It]||_e[It])throw Yt(Ce),Ln("root node is forbidden and cannot be sanitized in-place")}if(re(Ce))throw Yt(Ce),Ln("root node is clobbered and cannot be sanitized in-place");try{dr(Ce)}catch(It){throw Yt(Ce),It}}else if(ye(Ce))K=Pe("<!---->"),ue=K.ownerDocument.importNode(Ce,!0),ue.nodeType===Ut.element&&ue.nodeName==="BODY"||ue.nodeName==="HTML"?K=ue:K.appendChild(ue),dr(ue);else{if(!qe&&!ee&&!te&&Ce.indexOf("<")===-1)return A&&Ue?S(Ce):Ce;if(K=Pe(Ce),!K)return qe?null:Ue?N:""}K&&He&&mt(K.firstChild);const st=Fe?Ce:K;try{const Pt=ne(st);for(;Ee=Pt.nextNode();)zt(Ee,st),qo(Ee),le(Ee.content)&&ja(Ee.content)}catch(Pt){throw Fe&&(Yt(Ce),Mn(t.removed,It=>{It.element&&Zt(It.element)})),Pt}if(Fe)return Mn(t.removed,Pt=>{Pt.element&&Zt(Pt.element)}),ee&&H(Ce),Ce;if(qe){if(ee&&H(K),Se)for(Re=W.call(K.ownerDocument);K.firstChild;)Re.appendChild(K.firstChild);else Re=K;return(q.shadowroot||q.shadowrootmode)&&(Re=P.call(r,Re,!0)),Re}let ct=te?K.outerHTML:K.innerHTML;return te&&Ne["!doctype"]&&K.ownerDocument&&K.ownerDocument.doctype&&K.ownerDocument.doctype.name&&St(k0,K.ownerDocument.doctype.name)&&(ct="<!DOCTYPE "+K.ownerDocument.doctype.name+`>
813
- `+ct),ee&&(ct=pe(ct)),A&&Ue?S(ct):ct},t.setConfig=function(){let Ce=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};Vt(Ce),he=!0,be=Ne,Ye=q},t.clearConfig=function(){Gt=null,he=!1,be=null,Ye=null,A=M,N=""},t.isValidAttribute=function(Ce,E,K){Gt||Vt({});const ue=tt(Ce),Ee=tt(E);return Rt(ue,Ee,K)},t.addHook=function(Ce,E){typeof E=="function"&&Ft(T,Ce)&&la(T[Ce],E)},t.removeHook=function(Ce,E){if(Ft(T,Ce)){if(E!==void 0){const K=s0(T[Ce],E);return K===-1?void 0:i0(T[Ce],K,1)[0]}return ys(T[Ce])}},t.removeHooks=function(Ce){Ft(T,Ce)&&(T[Ce]=[])},t.removeAllHooks=function(){T=js()},t}var wr=Ms();const j0=/^(?:[a-z]+:)?\/\//i,M0="__ihab_core_asset_base_url__";function L0(){return globalThis[M0]??""}function kr(e){const t=String(e||"").trim();if(!t)return"";if(j0.test(t)||t.startsWith("data:")||t.startsWith("blob:"))return t;const a=t.startsWith("/")?t:`/${t}`,r=L0();return r?`${r}${a}`:a}const Ls="__ihab_core_storage_resolvers__";function pa(){return globalThis[Ls]??null}function $0(e){globalThis[Ls]=e}let $s=class extends Error{constructor(t){super(`
811
+ */const qh=[["path",{d:"M15 5.88 14 10h5.83a2 2 0 0 1 1.92 2.56l-2.33 8A2 2 0 0 1 17.5 22H4a2 2 0 0 1-2-2v-8a2 2 0 0 1 2-2h2.76a2 2 0 0 0 1.79-1.11L12 2a3.13 3.13 0 0 1 3 3.88Z",key:"emmmcr"}],["path",{d:"M7 10v12",key:"1qc93n"}]],Uh=X("thumbs-up",qh),ps={"alert-triangle":Xo,"align-start-vertical":Au,anchor:oh,armchair:ih,"arrow-down":Nu,"arrow-left":Su,"arrow-right":Tu,"arrow-right-left":Mu,"arrow-up-a-z":ch,"audio-lines":$u,baby:Pu,ban:Fu,"bar-chart-2":dh,bell:Vu,"book-marked":zu,"book-open":qu,"bow-arrow":Gu,braces:Yu,bug:Xu,calendar:cs,"calendar-check":Qu,"calendar-days":td,camera:ad,car:hh,"chart-column":od,"chart-line":id,"chart-pie":cd,check:Jo,"chevron-down":us,"chevron-left":Qo,"chevron-right":es,"chevron-up":ds,circle:Ih,"clipboard-list":hd,coffee:Ch,combine:Cd,copy:bd,"chevrons-left-right-ellipsis":vd,"credit-card":_d,database:ts,diff:Ad,download:ns,ear:Dd,edit:Ed,"edit-2":jd,"edit-3":Ld,ellipsis:as,eraser:Pd,"external-link":Fd,eye:Vd,"file-text":zd,"flip-horizontal":qd,"folder-open":Gd,"folder-plus":Yd,gamepad:Xd,"gamepad-2":bh,gavel:Qd,"git-merge":rs,globe:np,"grip-vertical":rp,headphones:sp,heart:lp,home:up,inbox:vh,info:pp,"key-round":hp,landmark:Cp,layers:bp,"layout-dashboard":vp,leaf:_p,lightbulb:kp,link:Bp,"link-2":Dp,"link-2-off":Ep,list:jp,"list-checks":Lp,"list-ordered":Rp,"list-tree":_h,loader:Ip,lock:Op,"log-out":Hp,mail:Wp,"map-pin":Up,menu:Hh,"message-circle":Kp,"message-circle-question-mark":Zp,"message-square":Jp,"message-square-more":kh,"message-square-text":e1,minus:Bh,"minus-circle":n1,moon:Wh,"more-horizontal":as,package:r1,palette:s1,"party-popper":l1,pause:u1,pencil:p1,phone:h1,play:C1,"play-circle":b1,plus:v1,printer:_1,"refresh-cw":k1,repeat:B1,replace:D1,rocket:E1,"rotate-ccw":j1,"rotate-cw":L1,salad:R1,"scan-search":I1,search:H1,"circle-alert":os,"alert-circle":os,"check-circle":ss,scissors:W1,"search-x":U1,send:K1,settings:Z1,"share-2":Dh,"shield-check":J1,"shopping-cart":em,shuffle:nm,"skip-back":rm,"skip-forward":sm,sparkles:Eh,square:lm,star:um,store:pm,"sun-medium":hm,table:Cm,"table-2":bm,tag:vm,terminal:_m,"text-cursor-input":km,"text-initial":Bm,"thumbs-up":Uh,ticket:Dm,trash:jm,triangle:Oh,"trash-2":Em,"trending-up":Lm,"triangle-alert":Xo,trophy:Rm,type:jh,unlink:Im,upload:Om,user:hr,"user-plus":zm,"user-round":qm,"user-round-check":Gm,users:Ym,"users-round":Xm,volume:Lh,"volume-2":is,wrench:eh,x:ls,zap:ah};function Gh(e){return ps[e]??null}const ms=new Set;function Kh(e){return Ko&&!(e in ps)&&!ms.has(e)&&(ms.add(e),console.warn(`[ihabdevteam-core] lucide \uC544\uC774\uCF58 '${e}' \uC774 \uC815\uC801 \uBAA9\uB85D\uC5D0 \uC5C6\uC5B4 \uB80C\uB354\uB418\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. utils/lucideIconSet.ts \uC758 STATIC_LUCIDE_ICONS \uC5D0 \uCD94\uAC00\uD558\uC138\uC694.`)),Promise.resolve(null)}const Yh=e=>e.replace(/([A-Z]+)([A-Z][a-z])/g,"$1-$2").replace(/([a-z0-9])([A-Z])/g,"$1-$2").replace(/([A-Za-z])([0-9])/g,"$1-$2").replace(/[_ ]+/g,"-").toLowerCase();function Zh(e){const t=e.toLowerCase();if(t.startsWith("http://")||t.startsWith("https://")||t.startsWith("data:")||e.includes("/assets/")||/\.(png|jpe?g|gif|webp|avif|bmp|ico)$/i.test(t))return null;const a=(e.split("/").pop()||"").replace(/\.svg$/,"");return a?Yh(a):null}const hs=new Map;function Xh(e){const t=typeof e=="string"?Zh(e):null,a=t?Gh(t)??hs.get(t)??null:null,[r,s]=o.useState(null);return o.useEffect(()=>{if(!t||a)return;let i=!1;return Kh(t).then(l=>{hs.set(t,l),i||s(l)}),()=>{i=!0}},[t,a]),a??r}/*! @license DOMPurify 3.4.14 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.4.14/LICENSE */function fs(e,t){(t==null||t>e.length)&&(t=e.length);for(var a=0,r=Array(t);a<t;a++)r[a]=e[a];return r}function Jh(e){if(Array.isArray(e))return e}function Qh(e,t){var a=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(a!=null){var r,s,i,l,c=[],u=!0,d=!1;try{if(i=(a=a.call(e)).next,t!==0)for(;!(u=(r=i.call(a)).done)&&(c.push(r.value),c.length!==t);u=!0);}catch(p){d=!0,s=p}finally{try{if(!u&&a.return!=null&&(l=a.return(),Object(l)!==l))return}finally{if(d)throw s}}return c}}function e0(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
812
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function t0(e,t){return Jh(e)||Qh(e,t)||n0(e,t)||e0()}function n0(e,t){if(e){if(typeof e=="string")return fs(e,t);var a={}.toString.call(e).slice(8,-1);return a==="Object"&&e.constructor&&(a=e.constructor.name),a==="Map"||a==="Set"?Array.from(e):a==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?fs(e,t):void 0}}const Cs=Object.entries,gs=Object.setPrototypeOf,a0=Object.isFrozen,r0=Object.getPrototypeOf,o0=Object.getOwnPropertyDescriptor;let gt=Object.freeze,yt=Object.seal,Wn=Object.create,bs=typeof Reflect<"u"&&Reflect,fr=bs.apply,Cr=bs.construct;gt||(gt=function(t){return t}),yt||(yt=function(t){return t}),fr||(fr=function(t,a){for(var r=arguments.length,s=new Array(r>2?r-2:0),i=2;i<r;i++)s[i-2]=arguments[i];return t.apply(a,s)}),Cr||(Cr=function(t){for(var a=arguments.length,r=new Array(a>1?a-1:0),s=1;s<a;s++)r[s-1]=arguments[s];return new t(...r)});const Mn=ft(Array.prototype.forEach),s0=ft(Array.prototype.lastIndexOf),ys=ft(Array.prototype.pop),la=ft(Array.prototype.push),i0=ft(Array.prototype.splice),qn=Array.isArray,ca=ft(String.prototype.toLowerCase),gr=ft(String.prototype.toString),vs=ft(String.prototype.match),ua=ft(String.prototype.replace),xs=ft(String.prototype.indexOf),l0=ft(String.prototype.trim),c0=ft(Number.prototype.toString),u0=ft(Boolean.prototype.toString),_s=typeof BigInt>"u"?null:ft(BigInt.prototype.toString),ws=typeof Symbol>"u"?null:ft(Symbol.prototype.toString),Ft=ft(Object.prototype.hasOwnProperty),da=ft(Object.prototype.toString),St=ft(RegExp.prototype.test),Ln=d0(TypeError);function ft(e){return function(t){t instanceof RegExp&&(t.lastIndex=0);for(var a=arguments.length,r=new Array(a>1?a-1:0),s=1;s<a;s++)r[s-1]=arguments[s];return fr(e,t,r)}}function d0(e){return function(){for(var t=arguments.length,a=new Array(t),r=0;r<t;r++)a[r]=arguments[r];return Cr(e,a)}}function Je(e,t){let a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:ca;if(gs&&gs(e,null),!qn(t))return e;let r=t.length;for(;r--;){let s=t[r];if(typeof s=="string"){const i=a(s);i!==s&&(a0(t)||(t[r]=i),s=i)}e[s]=!0}return e}function p0(e){for(let t=0;t<e.length;t++)Ft(e,t)||(e[t]=null);return e}function qt(e){const t=Wn(null);for(const r of Cs(e)){var a=t0(r,2);const s=a[0],i=a[1];Ft(e,s)&&(qn(i)?t[s]=p0(i):i&&typeof i=="object"&&i.constructor===Object?t[s]=qt(i):t[s]=i)}return t}function m0(e){switch(typeof e){case"string":return e;case"number":return c0(e);case"boolean":return u0(e);case"bigint":return _s?_s(e):"0";case"symbol":return ws?ws(e):"Symbol()";case"undefined":return da(e);case"function":case"object":{if(e===null)return da(e);const t=e,a=Qt(t,"toString");if(typeof a=="function"){const r=a(t);return typeof r=="string"?r:da(r)}return da(e)}default:return da(e)}}function Qt(e,t){for(;e!==null;){const r=o0(e,t);if(r){if(r.get)return ft(r.get);if(typeof r.value=="function")return ft(r.value)}e=r0(e)}function a(){return null}return a}function h0(e){try{return St(e,""),!0}catch{return!1}}const ks=gt(["a","abbr","acronym","address","area","article","aside","audio","b","bdi","bdo","big","blink","blockquote","body","br","button","canvas","caption","center","cite","code","col","colgroup","content","data","datalist","dd","decorator","del","details","dfn","dialog","dir","div","dl","dt","element","em","fieldset","figcaption","figure","font","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","img","input","ins","kbd","label","legend","li","main","map","mark","marquee","menu","menuitem","meter","nav","nobr","ol","optgroup","option","output","p","picture","pre","progress","q","rp","rt","ruby","s","samp","search","section","select","shadow","slot","small","source","spacer","span","strike","strong","style","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","tr","track","tt","u","ul","var","video","wbr"]),br=gt(["svg","a","altglyph","altglyphdef","altglyphitem","animatecolor","animatemotion","animatetransform","circle","clippath","defs","desc","ellipse","enterkeyhint","exportparts","filter","font","g","glyph","glyphref","hkern","image","inputmode","line","lineargradient","marker","mask","metadata","mpath","part","path","pattern","polygon","polyline","radialgradient","rect","stop","style","switch","symbol","text","textpath","title","tref","tspan","view","vkern"]),yr=gt(["feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence"]),f0=gt(["animate","color-profile","cursor","discard","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","foreignobject","hatch","hatchpath","mesh","meshgradient","meshpatch","meshrow","missing-glyph","script","set","solidcolor","unknown","use"]),vr=gt(["math","menclose","merror","mfenced","mfrac","mglyph","mi","mlabeledtr","mmultiscripts","mn","mo","mover","mpadded","mphantom","mroot","mrow","ms","mspace","msqrt","mstyle","msub","msup","msubsup","mtable","mtd","mtext","mtr","munder","munderover","mprescripts"]),C0=gt(["maction","maligngroup","malignmark","mlongdiv","mscarries","mscarry","msgroup","mstack","msline","msrow","semantics","annotation","annotation-xml","mprescripts","none"]),As=gt(["#text"]),Bs=gt(["accept","action","align","alt","autocapitalize","autocomplete","autopictureinpicture","autoplay","background","bgcolor","border","capture","cellpadding","cellspacing","checked","cite","class","clear","color","cols","colspan","command","commandfor","controls","controlslist","coords","crossorigin","datetime","decoding","default","dir","disabled","disablepictureinpicture","disableremoteplayback","download","draggable","enctype","enterkeyhint","exportparts","face","for","headers","height","hidden","high","href","hreflang","id","inert","inputmode","integrity","ismap","kind","label","lang","list","loading","loop","low","max","maxlength","media","method","min","minlength","multiple","muted","name","nonce","noshade","novalidate","nowrap","open","optimum","part","pattern","placeholder","playsinline","popover","popovertarget","popovertargetaction","poster","preload","pubdate","radiogroup","readonly","rel","required","rev","reversed","role","rows","rowspan","spellcheck","scope","selected","shape","size","sizes","slot","span","srclang","start","src","srcset","step","style","summary","tabindex","title","translate","type","usemap","valign","value","width","wrap","xmlns"]),xr=gt(["accent-height","accumulate","additive","alignment-baseline","amplitude","ascent","attributename","attributetype","azimuth","basefrequency","baseline-shift","begin","bias","by","class","clip","clippathunits","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","cx","cy","d","dx","dy","diffuseconstant","direction","display","divisor","dominant-baseline","dur","edgemode","elevation","end","exponent","fill","fill-opacity","fill-rule","filter","filterunits","flood-color","flood-opacity","font-family","font-size","font-size-adjust","font-stretch","font-style","font-variant","font-weight","fx","fy","g1","g2","glyph-name","glyphref","gradientunits","gradienttransform","height","href","id","image-rendering","in","in2","intercept","k","k1","k2","k3","k4","kerning","keypoints","keysplines","keytimes","lang","lengthadjust","letter-spacing","kernelmatrix","kernelunitlength","lighting-color","local","marker-end","marker-mid","marker-start","markerheight","markerunits","markerwidth","maskcontentunits","maskunits","max","mask","mask-type","media","method","mode","min","name","numoctaves","offset","operator","opacity","order","orient","orientation","origin","overflow","paint-order","path","pathlength","patterncontentunits","patterntransform","patternunits","pointer-events","points","preservealpha","preserveaspectratio","primitiveunits","r","rx","ry","radius","refx","refy","repeatcount","repeatdur","restart","result","rotate","scale","seed","shape-rendering","slope","specularconstant","specularexponent","spreadmethod","startoffset","stddeviation","stitchtiles","stop-color","stop-opacity","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke","stroke-width","style","surfacescale","systemlanguage","tabindex","tablevalues","targetx","targety","transform","transform-origin","text-anchor","text-decoration","text-orientation","text-rendering","textlength","type","u1","u2","unicode","values","vector-effect","viewbox","visibility","version","vert-adv-y","vert-origin-x","vert-origin-y","width","word-spacing","wrap","writing-mode","xchannelselector","ychannelselector","x","x1","x2","xmlns","y","y1","y2","z","zoomandpan"]),Ns=gt(["accent","accentunder","align","bevelled","close","columnalign","columnlines","columnspacing","columnspan","denomalign","depth","dir","display","displaystyle","encoding","fence","frame","height","href","id","largeop","length","linethickness","lquote","lspace","mathbackground","mathcolor","mathsize","mathvariant","maxsize","minsize","movablelimits","notation","numalign","open","rowalign","rowlines","rowspacing","rowspan","rspace","rquote","scriptlevel","scriptminsize","scriptsizemultiplier","selection","separator","separators","stretchy","subscriptshift","supscriptshift","symmetric","voffset","width","xmlns"]),Ma=gt(["xlink:href","xml:id","xlink:title","xml:space","xmlns:xlink"]),g0=yt(/{{[\w\W]*|^[\w\W]*}}/g),b0=yt(/<%[\w\W]*|^[\w\W]*%>/g),y0=yt(/\${[\w\W]*/g),v0=yt(/^data-[\-\w.\u00B7-\uFFFF]+$/),x0=yt(/^aria-[\-\w]+$/),Ds=yt(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),_0=yt(/^(?:\w+script|data):/i),w0=yt(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),k0=yt(/^html$/i),A0=yt(/^[a-z][.\w]*(-[.\w]+)+$/i),Ss=yt(/<[/\w!]/g),Es=yt(/<[/\w]/g),B0=yt(/<\/no(script|embed|frames)/i),N0=yt(/\/>/i),Ut={element:1,attribute:2,text:3,cdataSection:4,entityReference:5,entityNode:6,processingInstruction:7,comment:8,document:9,documentType:10,documentFragment:11,notation:12},Ts=["style","script","xmp","iframe","noembed","noframes","plaintext","noscript"],D0=gt(Je({},Ts)),S0=(function(){const e={};return Mn(Ts,t=>{e[t]=yt(new RegExp("</"+t+"(?=[\\t\\n\\f\\r />])","i"))}),gt(e)})(),E0=function(){return typeof window>"u"?null:window},T0=function(t,a){if(typeof t!="object"||typeof t.createPolicy!="function")return null;let r=null;const s="data-tt-policy-suffix";a&&a.hasAttribute(s)&&(r=a.getAttribute(s));const i="dompurify"+(r?"#"+r:"");try{return t.createPolicy(i,{createHTML(l){return l},createScriptURL(l){return l}})}catch{return console.warn("TrustedTypes policy "+i+" could not be created."),null}},js=function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}},_n=function(t,a,r,s){return Ft(t,a)&&qn(t[a])?Je(s.base?qt(s.base):{},t[a],s.transform):r},_r=function(t,a,r){const s=Ft(t,a)?t[a]:void 0;return s&&typeof s=="object"?qt(s):r()};function Ms(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:E0();const t=Ce=>Ms(Ce);if(t.version="3.4.14",t.removed=[],!e||!e.document||e.document.nodeType!==Ut.document||!e.Element)return t.isSupported=!1,t;let a=e.document;const r=a,s=r.currentScript;e.DocumentFragment;const i=e.HTMLTemplateElement,l=e.Node,c=e.Element,u=e.NodeFilter,d=e.NamedNodeMap;d===void 0&&(e.NamedNodeMap||e.MozNamedAttrMap),e.HTMLFormElement;const p=e.DOMParser,m=e.trustedTypes,h=c.prototype,g=Qt(h,"cloneNode"),C=Qt(h,"remove"),b=Qt(h,"nextSibling"),_=Qt(h,"childNodes"),f=Qt(h,"parentNode"),y=Qt(h,"shadowRoot"),x=Qt(h,"attributes"),v=l&&l.prototype?Qt(l.prototype,"nodeType"):null,A=l&&l.prototype?Qt(l.prototype,"nodeName"):null,w=l&&l.prototype?Qt(l.prototype,"ownerDocument"):null,D=function(E){return v?v(E):E.nodeType},k=function(E){return A?A(E):E.nodeName};if(typeof i=="function"){const Ce=a.createElement("template");Ce.content&&Ce.content.ownerDocument&&(a=Ce.content.ownerDocument)}let B,N="",M,P=!1,$=0;const W=function(){if($>0)throw Ln('A configured TRUSTED_TYPES_POLICY callback (createHTML or createScriptURL) must not call DOMPurify.sanitize, as that causes infinite recursion. Do not pass a policy whose callbacks wrap DOMPurify as TRUSTED_TYPES_POLICY; see the "DOMPurify and Trusted Types" section of the README.')},S=function(E){W(),$++;try{return B.createHTML(E)}finally{$--}},F=function(E){W(),$++;try{return B.createScriptURL(E)}finally{$--}},Y=function(){return P||(M=T0(m,s),P=!0),M},G=a,q=G.implementation,H=G.createNodeIterator,z=G.createDocumentFragment,Z=G.getElementsByTagName,I=r.importNode;let T=js();t.isSupported=typeof Cs=="function"&&typeof f=="function"&&q&&q.createHTMLDocument!==void 0;const O=g0,R=b0,j=y0,L=v0,Q=x0,J=_0,oe=w0,ge=A0;let Me=Ds,Ne=null;const ie=Je({},[...ks,...br,...yr,...vr,...As]);let U=null;const se=Je({},[...Bs,...xr,...Ns,...Ma]);let me=Object.seal(Wn(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}})),_e=null,we=null;const De=Object.seal(Wn(null,{tagCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeCheck:{writable:!0,configurable:!1,enumerable:!0,value:null}}));let xe=!0,Ae=!0,Te=!1,ae=!0,ee=!1,de=!0,te=!1,he=!1,be=null,Ye=null,Ve=!1,qe=!1,Se=!1,Ue=!1,$e=!0,Ie=!1;const He="user-content-";let at=!0,ot=!1,We={},Xe=null;const Ct=Je({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","selectedcontent","style","svg","template","thead","title","video","xmp"]);let At=null;const Et=Je({},["audio","video","img","source","image","track"]);let ut=null;const Qe=Je({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),Ze="http://www.w3.org/1998/Math/MathML",Oe="http://www.w3.org/2000/svg",rt="http://www.w3.org/1999/xhtml";let et=rt,bt=!1,ze=null;const it=Je({},[Ze,Oe,rt],gr),Bt=gt(["mi","mo","mn","ms","mtext"]);let Nt=Je({},Bt);const Le=gt(["annotation-xml"]);let Ke=Je({},Le);const Dt=Je({},["title","style","font","a","script"]);let vt=null;const Tt=["application/xhtml+xml","text/html"],on="text/html";let tt=null,Gt=null;const vn=a.createElement("form"),xt=function(E){return E instanceof RegExp||E instanceof Function},Ht=function(){let E=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(Gt&&Gt===E)return;(!E||typeof E!="object")&&(E={}),E=qt(E),vt=Tt.indexOf(E.PARSER_MEDIA_TYPE)===-1?on:E.PARSER_MEDIA_TYPE,tt=vt==="application/xhtml+xml"?gr:ca,Ne=_n(E,"ALLOWED_TAGS",ie,{transform:tt}),U=_n(E,"ALLOWED_ATTR",se,{transform:tt}),ze=_n(E,"ALLOWED_NAMESPACES",it,{transform:gr}),ut=_n(E,"ADD_URI_SAFE_ATTR",Qe,{transform:tt,base:Qe}),At=_n(E,"ADD_DATA_URI_TAGS",Et,{transform:tt,base:Et}),Xe=_n(E,"FORBID_CONTENTS",Ct,{transform:tt}),_e=_n(E,"FORBID_TAGS",qt({}),{transform:tt}),we=_n(E,"FORBID_ATTR",qt({}),{transform:tt}),We=Ft(E,"USE_PROFILES")?E.USE_PROFILES&&typeof E.USE_PROFILES=="object"?qt(E.USE_PROFILES):E.USE_PROFILES:!1,xe=E.ALLOW_ARIA_ATTR!==!1,Ae=E.ALLOW_DATA_ATTR!==!1,Te=E.ALLOW_UNKNOWN_PROTOCOLS||!1,ae=E.ALLOW_SELF_CLOSE_IN_ATTR!==!1,ee=E.SAFE_FOR_TEMPLATES||!1,de=E.SAFE_FOR_XML!==!1,te=E.WHOLE_DOCUMENT||!1,qe=E.RETURN_DOM||!1,Se=E.RETURN_DOM_FRAGMENT||!1,Ue=E.RETURN_TRUSTED_TYPE||!1,Ve=E.FORCE_BODY||!1,$e=E.SANITIZE_DOM!==!1,Ie=E.SANITIZE_NAMED_PROPS||!1,at=E.KEEP_CONTENT!==!1,ot=E.IN_PLACE||!1,Me=h0(E.ALLOWED_URI_REGEXP)?E.ALLOWED_URI_REGEXP:Ds,et=typeof E.NAMESPACE=="string"?E.NAMESPACE:rt,Nt=_r(E,"MATHML_TEXT_INTEGRATION_POINTS",()=>Je({},Bt)),Ke=_r(E,"HTML_INTEGRATION_POINTS",()=>Je({},Le));const K=_r(E,"CUSTOM_ELEMENT_HANDLING",()=>Wn(null));if(me=Wn(null),Ft(K,"tagNameCheck")&&xt(K.tagNameCheck)&&(me.tagNameCheck=K.tagNameCheck),Ft(K,"attributeNameCheck")&&xt(K.attributeNameCheck)&&(me.attributeNameCheck=K.attributeNameCheck),Ft(K,"allowCustomizedBuiltInElements")&&typeof K.allowCustomizedBuiltInElements=="boolean"&&(me.allowCustomizedBuiltInElements=K.allowCustomizedBuiltInElements),yt(me),ee&&(Ae=!1),Se&&(qe=!0),We&&(Ne=Je({},As),U=Wn(null),We.html===!0&&(Je(Ne,ks),Je(U,Bs)),We.svg===!0&&(Je(Ne,br),Je(U,xr),Je(U,Ma)),We.svgFilters===!0&&(Je(Ne,yr),Je(U,xr),Je(U,Ma)),We.mathMl===!0&&(Je(Ne,vr),Je(U,Ns),Je(U,Ma))),De.tagCheck=null,De.attributeCheck=null,Ft(E,"ADD_TAGS")&&(typeof E.ADD_TAGS=="function"?De.tagCheck=E.ADD_TAGS:qn(E.ADD_TAGS)&&(Ne===ie&&(Ne=qt(Ne)),Je(Ne,E.ADD_TAGS,tt))),Ft(E,"ADD_ATTR")&&(typeof E.ADD_ATTR=="function"?De.attributeCheck=E.ADD_ATTR:qn(E.ADD_ATTR)&&(U===se&&(U=qt(U)),Je(U,E.ADD_ATTR,tt))),Ft(E,"ADD_FORBID_CONTENTS")&&qn(E.ADD_FORBID_CONTENTS)&&(Xe===Ct&&(Xe=qt(Xe)),Je(Xe,E.ADD_FORBID_CONTENTS,tt)),at&&(Ne["#text"]=!0),te&&Je(Ne,["html","head","body"]),Ne.table&&(Je(Ne,["tbody"]),delete _e.tbody),E.TRUSTED_TYPES_POLICY){if(typeof E.TRUSTED_TYPES_POLICY.createHTML!="function")throw Ln('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof E.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw Ln('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');const ue=B;B=E.TRUSTED_TYPES_POLICY;try{N=S("")}catch(Ee){throw B=ue,Ee}}else E.TRUSTED_TYPES_POLICY===null?(B=void 0,N=""):(B===void 0&&(B=Y()),B&&typeof N=="string"&&(N=S("")));gt&&gt(E),Gt=E},Xt=Je({},[...br,...yr,...f0]),an=Je({},[...vr,...C0]),sn=function(E,K,ue){return K.namespaceURI===rt?E==="svg":K.namespaceURI===Ze?E==="svg"&&(ue==="annotation-xml"||Nt[ue]):!!Xt[E]},Jt=function(E,K,ue){return K.namespaceURI===rt?E==="math":K.namespaceURI===Oe?E==="math"&&Ke[ue]:!!an[E]},xn=function(E,K,ue){return K.namespaceURI===Oe&&!Ke[ue]||K.namespaceURI===Ze&&!Nt[ue]?!1:!an[E]&&(Dt[E]||!Xt[E])},Kt=function(E){let K=f(E);(!K||!K.tagName)&&(K={namespaceURI:et,tagName:"template"});const ue=ca(E.tagName),Ee=ca(K.tagName);return ze[E.namespaceURI]?E.namespaceURI===Oe?sn(ue,K,Ee):E.namespaceURI===Ze?Jt(ue,K,Ee):E.namespaceURI===rt?xn(ue,K,Ee):!!(vt==="application/xhtml+xml"&&ze[E.namespaceURI]):!1},mt=function(E){la(t.removed,{element:E});try{f(E).removeChild(E)}catch{if(C(E),!f(E))throw Ln("a node selected for removal could not be detached from its tree and cannot be safely returned; refusing to sanitize in place")}},ln=function(E,K,ue){try{E.removeAttributeNode(K)}catch{try{E.removeAttribute(ue)}catch{}}},Yt=function(E){Zt(E);const K=_(E);if(K){const Ee=[];Mn(K,Re=>{la(Ee,Re)}),Mn(Ee,Re=>{try{C(Re)}catch{}})}const ue=x(E);if(ue)for(let Ee=ue.length-1;Ee>=0;--Ee){const Re=ue[Ee],Fe=Re&&Re.name;typeof Fe=="string"&&ln(E,Re,Fe)}},jt=function(E,K,ue){if(!ue)try{ue=K.getAttributeNode(E)}catch{ue=null}la(t.removed,{attribute:ue||null,from:K});try{ue?K.removeAttributeNode(ue):K.removeAttribute(E)}catch{try{K.removeAttribute(E)}catch{}}if(E==="is")if(qe||Se)try{mt(K)}catch{}else try{K.setAttribute(E,"")}catch{}},cn=function(E){const K=x(E);if(K)for(let ue=K.length-1;ue>=0;--ue){const Ee=K[ue],Re=Ee&&Ee.name;typeof Re!="string"||U[tt(Re)]||ln(E,Ee,Re)}},Zt=function(E){const K=[E];for(;K.length>0;){const ue=K.pop();D(ue)===Ut.element&&cn(ue);const Re=_(ue);if(Re)for(let Fe=Re.length-1;Fe>=0;--Fe)K.push(Re[Fe])}},un=function(E,K){return de?E==="patchsrc"?!0:E==="for"&&K!=="label"&&K!=="output":!1},ke=function(E){if(!de)return;const K=[E];for(;K.length>0;){const ue=K.pop(),Ee=D(ue);if(Ee===Ut.processingInstruction||Ee===Ut.comment&&St(Es,ue.data)){try{C(ue)}catch{}continue}if(Ee===Ut.element){const Fe=ue,st=tt(k(ue));try{Fe.hasAttribute&&Fe.hasAttribute("patchsrc")&&Fe.removeAttribute("patchsrc"),Fe.hasAttribute&&Fe.hasAttribute("for")&&un("for",st)&&Fe.removeAttribute("for")}catch{}}const Re=_(ue);if(Re)for(let Fe=Re.length-1;Fe>=0;--Fe)K.push(Re[Fe])}},Pe=function(E){let K=null,ue=null;if(Ve)E="<remove></remove>"+E;else{const Fe=vs(E,/^[\r\n\t ]+/);ue=Fe&&Fe[0]}vt==="application/xhtml+xml"&&et===rt&&(E='<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>'+E+"</body></html>");const Ee=B?S(E):E;if(et===rt)try{K=new p().parseFromString(Ee,vt)}catch{}if(!K||!K.documentElement){K=q.createDocument(et,"template",null);try{K.documentElement.innerHTML=bt?N:Ee}catch{}}const Re=K.body||K.documentElement;return E&&ue&&Re.insertBefore(a.createTextNode(ue),Re.childNodes[0]||null),et===rt?Z.call(K,te?"html":"body")[0]:te?K.documentElement:Re},ne=function(E){const K=w?w(E):E.ownerDocument;return H.call(K||E,E,u.SHOW_ELEMENT|u.SHOW_COMMENT|u.SHOW_TEXT|u.SHOW_PROCESSING_INSTRUCTION|u.SHOW_CDATA_SECTION,null)},pe=function(E){return E=ua(E,O," "),E=ua(E,R," "),E=ua(E,j," "),E},V=function(E){var K;E.normalize();const ue=w?w(E):E.ownerDocument,Ee=H.call(ue||E,E,u.SHOW_TEXT|u.SHOW_COMMENT|u.SHOW_CDATA_SECTION|u.SHOW_PROCESSING_INSTRUCTION,null);let Re=Ee.nextNode();for(;Re;)Re.data=pe(Re.data),Re=Ee.nextNode();const Fe=(K=E.querySelectorAll)===null||K===void 0?void 0:K.call(E,"template");Fe&&Mn(Fe,st=>{le(st.content)&&V(st.content)})},re=function(E){const K=A?A(E):null;return typeof K!="string"||tt(K)!=="form"?!1:typeof E.nodeName!="string"||typeof E.textContent!="string"||typeof E.removeChild!="function"||E.attributes!==x(E)||typeof E.removeAttribute!="function"||typeof E.setAttribute!="function"||typeof E.namespaceURI!="string"||typeof E.insertBefore!="function"||typeof E.hasChildNodes!="function"||E.nodeType!==v(E)||E.childNodes!==_(E)},le=function(E){if(!v||typeof E!="object"||E===null)return!1;try{return v(E)===Ut.documentFragment}catch{return!1}},ye=function(E){if(!v||typeof E!="object"||E===null)return!1;try{return typeof v(E)=="number"}catch{return!1}};function ve(Ce,E,K){Ce.length!==0&&Mn(Ce,ue=>{ue.call(t,E,K,Gt)})}const je=function(E,K){return!!(de&&E.hasChildNodes()&&!ye(E.firstElementChild)&&St(Ss,E.textContent)&&St(Ss,E.innerHTML)||de&&E.namespaceURI===rt&&D0[K]&&(ye(E.firstElementChild)||typeof E.textContent=="string"&&St(S0[K],E.textContent))||E.nodeType===Ut.processingInstruction||de&&E.nodeType===Ut.comment&&St(Es,E.data))},nt=function(E,K){if(E instanceof RegExp)return St(E,K);if(E instanceof Function){for(var ue=arguments.length,Ee=new Array(ue>2?ue-2:0),Re=2;Re<ue;Re++)Ee[Re-2]=arguments[Re];return!!E(K,...Ee)}return!1},ht=function(E,K,ue){if(!_e[K]&&pn(K)&&nt(me.tagNameCheck,K))return!1;if(at&&!Xe[K]){const Ee=f(E),Re=_(E);if(Re&&Ee){const Fe=Re.length;for(let st=Fe-1;st>=0;--st){const ct=E===ue?g(Re[st],!0):Re[st];Ee.insertBefore(ct,b(E))}}}return mt(E),!0},lt=function(E,K,ue,Ee){return E.length===0?K:K===ue||K===Ee?qt(K):K},_t=function(E,K){return E===K||f(E)!==null?!1:(ot&&Zt(E),!0)},zt=function(E,K){if(ve(T.beforeSanitizeElements,E,null),_t(E,K))return!0;if(re(E))return mt(E),!0;const ue=tt(k(E));if(Ne=lt(T.uponSanitizeElement,Ne,ie,be),ve(T.uponSanitizeElement,E,{tagName:ue,allowedTags:Ne}),_t(E,K))return!0;if(je(E,ue))return mt(E),!0;if(_e[ue]||!(De.tagCheck instanceof Function&&De.tagCheck(ue))&&!Ne[ue]){const Re=ht(E,ue,K);return Re===!1&&ve(T.afterSanitizeElements,E,null),Re}if(D(E)===Ut.element&&!Kt(E)||(ue==="noscript"||ue==="noembed"||ue==="noframes")&&St(B0,E.innerHTML))return mt(E),!0;if(ee&&E.nodeType===Ut.text){const Re=pe(E.textContent);E.textContent!==Re&&(la(t.removed,{element:E.cloneNode()}),E.textContent=Re)}return ve(T.afterSanitizeElements,E,null),!1},Rt=function(E,K,ue){if(we[K]||un(K,E)||$e&&(K==="id"||K==="name")&&(ue in a||ue in vn))return!1;const Ee=U[K]||De.attributeCheck instanceof Function&&De.attributeCheck(K,E);return Ae&&St(L,K)||xe&&St(Q,K)?!0:Ee?ut[K]||St(Me,ua(ue,oe,""))||(K==="src"||K==="xlink:href"||K==="href")&&E!=="script"&&xs(ue,"data:")===0&&At[E]||Te&&!St(J,ua(ue,oe,""))?!0:!ue:pn(E)&&nt(me.tagNameCheck,E)&&nt(me.attributeNameCheck,K,E)||K==="is"&&me.allowCustomizedBuiltInElements&&nt(me.tagNameCheck,ue)},dn=Je({},["annotation-xml","color-profile","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","missing-glyph"]),pn=function(E){return!dn[ca(E)]&&St(ge,E)},ur=function(E,K,ue,Ee){if(B&&typeof m=="object"&&typeof m.getAttributeType=="function"&&!ue)switch(m.getAttributeType(E,K)){case"TrustedHTML":return S(Ee);case"TrustedScriptURL":return F(Ee)}return Ee},fu=function(E,K,ue,Ee){try{ue?E.setAttributeNS(ue,K,Ee):E.setAttribute(K,Ee),re(E)?mt(E):ys(t.removed)}catch{jt(K,E)}},qo=function(E){ve(T.beforeSanitizeAttributes,E,null);const K=E.attributes;if(!K||re(E))return;U=lt(T.uponSanitizeAttribute,U,se,Ye);const ue={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:U,forceKeepAttr:void 0};let Ee=K.length;const Re=tt(E.nodeName);for(;Ee--;){const Fe=K[Ee],st=Fe.name,ct=Fe.namespaceURI,Pt=Fe.value,It=tt(st),pr=Pt;let Mt=st==="value"?pr:l0(pr);if(ue.attrName=It,ue.attrValue=Mt,ue.keepAttr=!0,ue.forceKeepAttr=void 0,ve(T.uponSanitizeAttribute,E,ue),Mt=ue.attrValue,Ie&&(It==="id"||It==="name")&&xs(Mt,He)!==0&&(jt(st,E,Fe),Mt=He+Mt),de&&St(/((--!?|])>)|<\/(style|script|title|xmp|textarea|noscript|iframe|noembed|noframes)/i,Mt)){jt(st,E,Fe);continue}if(It==="attributename"&&vs(Mt,"href")){jt(st,E,Fe);continue}if(!ue.forceKeepAttr){if(!ue.keepAttr){jt(st,E,Fe);continue}if(!ae&&St(N0,Mt)){jt(st,E,Fe);continue}if(ee&&(Mt=pe(Mt)),!Rt(Re,It,Mt)){jt(st,E,Fe);continue}Mt=ur(Re,It,ct,Mt),Mt!==pr&&fu(E,st,ct,Mt)}}ve(T.afterSanitizeAttributes,E,null)},ja=function(E){let K=null;const ue=ne(E);for(ve(T.beforeSanitizeShadowDOM,E,null);K=ue.nextNode();)if(ve(T.uponSanitizeShadowNode,K,null),zt(K,E),qo(K),le(K.content)&&ja(K.content),D(K)===Ut.element){const Ee=y(K);le(Ee)&&(dr(Ee),ja(Ee))}ve(T.afterSanitizeShadowDOM,E,null)},dr=function(E){const K=[{node:E,shadow:null}];for(;K.length>0;){const ue=K.pop();if(ue.shadow){ja(ue.shadow);continue}const Ee=ue.node,Fe=D(Ee)===Ut.element,st=_(Ee);if(st)for(let ct=st.length-1;ct>=0;--ct)K.push({node:st[ct],shadow:null});if(Fe){const ct=A?A(Ee):null;if(typeof ct=="string"&&tt(ct)==="template"){const Pt=Ee.content;le(Pt)&&K.push({node:Pt,shadow:null})}}if(Fe){const ct=y(Ee);le(ct)&&K.push({node:null,shadow:ct},{node:ct,shadow:null})}}};return t.sanitize=function(Ce){let E=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},K=null,ue=null,Ee=null,Re=null;if(bt=!Ce,bt&&(Ce="<!-->"),typeof Ce!="string"&&!ye(Ce)&&(Ce=m0(Ce),typeof Ce!="string"))throw Ln("dirty is not a string, aborting");if(!t.isSupported)return Ce;he?(Ne=be,U=Ye):Ht(E),(T.uponSanitizeElement.length>0||T.uponSanitizeAttribute.length>0)&&(Ne=qt(Ne)),T.uponSanitizeAttribute.length>0&&(U=qt(U)),t.removed=[];const Fe=ot&&typeof Ce!="string"&&ye(Ce);if(Fe){ke(Ce);const Pt=k(Ce);if(typeof Pt=="string"){const It=tt(Pt);if(!Ne[It]||_e[It])throw Yt(Ce),Ln("root node is forbidden and cannot be sanitized in-place")}if(re(Ce))throw Yt(Ce),Ln("root node is clobbered and cannot be sanitized in-place");try{dr(Ce)}catch(It){throw Yt(Ce),It}}else if(ye(Ce))K=Pe("<!---->"),ue=K.ownerDocument.importNode(Ce,!0),ue.nodeType===Ut.element&&ue.nodeName==="BODY"||ue.nodeName==="HTML"?K=ue:K.appendChild(ue),dr(ue);else{if(!qe&&!ee&&!te&&Ce.indexOf("<")===-1)return B&&Ue?S(Ce):Ce;if(K=Pe(Ce),!K)return qe?null:Ue?N:""}K&&Ve&&mt(K.firstChild);const st=Fe?Ce:K;try{const Pt=ne(st);for(;Ee=Pt.nextNode();)zt(Ee,st),qo(Ee),le(Ee.content)&&ja(Ee.content)}catch(Pt){throw Fe&&(Yt(Ce),Mn(t.removed,It=>{It.element&&Zt(It.element)})),Pt}if(Fe)return Mn(t.removed,Pt=>{Pt.element&&Zt(Pt.element)}),ee&&V(Ce),Ce;if(qe){if(ee&&V(K),Se)for(Re=z.call(K.ownerDocument);K.firstChild;)Re.appendChild(K.firstChild);else Re=K;return(U.shadowroot||U.shadowrootmode)&&(Re=I.call(r,Re,!0)),Re}let ct=te?K.outerHTML:K.innerHTML;return te&&Ne["!doctype"]&&K.ownerDocument&&K.ownerDocument.doctype&&K.ownerDocument.doctype.name&&St(k0,K.ownerDocument.doctype.name)&&(ct="<!DOCTYPE "+K.ownerDocument.doctype.name+`>
813
+ `+ct),ee&&(ct=pe(ct)),B&&Ue?S(ct):ct},t.setConfig=function(){let Ce=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};Ht(Ce),he=!0,be=Ne,Ye=U},t.clearConfig=function(){Gt=null,he=!1,be=null,Ye=null,B=M,N=""},t.isValidAttribute=function(Ce,E,K){Gt||Ht({});const ue=tt(Ce),Ee=tt(E);return Rt(ue,Ee,K)},t.addHook=function(Ce,E){typeof E=="function"&&Ft(T,Ce)&&la(T[Ce],E)},t.removeHook=function(Ce,E){if(Ft(T,Ce)){if(E!==void 0){const K=s0(T[Ce],E);return K===-1?void 0:i0(T[Ce],K,1)[0]}return ys(T[Ce])}},t.removeHooks=function(Ce){Ft(T,Ce)&&(T[Ce]=[])},t.removeAllHooks=function(){T=js()},t}var wr=Ms();const j0=/^(?:[a-z]+:)?\/\//i,M0="__ihab_core_asset_base_url__";function L0(){return globalThis[M0]??""}function kr(e){const t=String(e||"").trim();if(!t)return"";if(j0.test(t)||t.startsWith("data:")||t.startsWith("blob:"))return t;const a=t.startsWith("/")?t:`/${t}`,r=L0();return r?`${r}${a}`:a}const Ls="__ihab_core_storage_resolvers__";function pa(){return globalThis[Ls]??null}function $0(e){globalThis[Ls]=e}let $s=class extends Error{constructor(t){super(`
814
814
  [ihabdevteam-core] ${t}() \uD638\uCD9C \uC2E4\uD328 \u2014 configureStorage()\uAC00 \uC124\uC815\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4.
815
815
 
816
816
  \uC571 \uCD08\uAE30\uD654 \uC2DC\uC810(main.tsx \uB4F1)\uC5D0 \uC544\uB798\uC640 \uAC19\uC774 \uD55C \uBC88 \uD638\uCD9C\uD558\uC138\uC694:
@@ -829,19 +829,19 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
829
829
  \uC124\uCE58 \uBA85\uB839\uC5B4 (\uC2A4\uD1A0\uB9AC\uC9C0 SDK \uBBF8\uC124\uCE58 \uC2DC):
830
830
  npm install @supabase/supabase-js
831
831
  pnpm add @supabase/supabase-js
832
- `),this.name="StorageNotConfiguredError"}};function R0(e){$0(e)}function Rs(e,t){if(!e)return null;const a=pa();return a?.resolvePath?a.resolvePath(e,t):t?`${t}/${e}.mp3`:null}async function Ps(e){if(!e)return null;const t=pa();if(!t)throw new $s("getSignedOrPublicUrl");try{return await t.resolveUrl(e)}catch{return null}}async function Is(e){const t=pa();if(!t)throw new $s("downloadSound");return t.download(e)}function P0(){return pa()?.noiseBaseUrl??"/sounds/noise"}function Fs(){const e=Number(pa()?.noiseFileGain);return Number.isFinite(e)&&e>0?e:1}function I0(e){const t=AbortSignal.timeout;if(typeof t=="function")return t.call(AbortSignal,e);const a=new AbortController;return setTimeout(()=>a.abort(),e),a.signal}const Os="__ihab_core_tts_config__";function Ar(){return globalThis[Os]?.urlResolver??null}function F0(){return globalThis[Os]?.fallbackUrlResolver??null}const O0="__ihab_core_pronunciation_resolver__";function H0(){return globalThis[O0]??null}let wn=null;const ma=new WeakMap,Br=new WeakMap,Nr=new WeakMap;let Hs=!1;const Vs=e=>Math.max(0,Math.min(1,Number.isFinite(e)?e:0));function V0(){if(Hs||typeof document>"u")return;Hs=!0;const e=()=>{try{wn&&wn.state!=="running"&&wn.resume()}catch{}};for(const t of["pointerdown","touchend","keydown"])document.addEventListener(t,e,{capture:!0,passive:!0})}function zs(){if(wn)return wn;try{const e=window.AudioContext||window.webkitAudioContext;return e?(wn=new e,V0(),wn):null}catch{return null}}function Dr(){try{wn?.resume()}catch{}}function Sr(e,t){const a=ma.get(t);if(a)return a;try{const r=e.createMediaElementSource(t),s=e.createGain(),i=e.createAnalyser();i.fftSize=1024,i.smoothingTimeConstant=.6,s.gain.value=Vs(Br.get(t)??t.volume),r.connect(s),s.connect(i),s.connect(e.destination);try{t.volume=1}catch{}const l={gain:s,analyser:i};return ma.set(t,l),l}catch{return null}}function La(e){if(!e)return Promise.resolve(null);const t=ma.get(e);if(t)return Promise.resolve(t.analyser);const a=zs();if(!a)return Promise.resolve(null);if(a.state==="running")return Promise.resolve(Sr(a,e)?.analyser??null);const r=Nr.get(e);if(r)return r;const s=Promise.resolve().then(()=>a.resume()).then(()=>a.state==="running"?Sr(a,e)?.analyser??null:null).catch(()=>null).finally(()=>{Nr.delete(e)});return Nr.set(e,s),s}function z0(e){if(!e)return null;const t=ma.get(e);if(t)return t.analyser;const a=zs();return a?a.state==="running"?Sr(a,e)?.analyser??null:(La(e),null):null}function kn(e,t){const a=Vs(t);Br.set(e,a);const r=ma.get(e);if(r){try{e.volume!==1&&(e.volume=1)}catch{}const s=r.gain.gain;try{const i=r.gain.context.currentTime;s.cancelScheduledValues(i),s.setTargetAtTime(a,i,.01)}catch{try{s.value=a}catch{}}return"gain"}try{e.volume=a}catch{}return"element"}function $a(e){return Br.get(e)??e.volume}function W0(e,t){e.getFloatTimeDomainData(t);let a=0;for(let r=0;r<t.length;r++){const s=t[r];a+=s*s}return Math.sqrt(a/t.length)}const q0="__ihab_core_image_config__";function Un(){return globalThis[q0]??null}const Ws="word_image_existence_map_v1";let $n=null;const Ra=new Map;function U0(){if($n)return $n;try{const e=typeof localStorage<"u"?localStorage.getItem(Ws):null,t=e?JSON.parse(e):null;$n=t&&typeof t=="object"&&!Array.isArray(t)?t:{}}catch{$n={}}return $n}let Er=null;function G0(){Er||(Er=setTimeout(()=>{Er=null;try{typeof localStorage<"u"&&$n&&localStorage.setItem(Ws,JSON.stringify($n))}catch{}},200))}function K0(e,t){return`${e}_${t??1}`}async function qs(e,t){const a=U0(),r=K0(e,t);if(r in a)return a[r];if(Ra.has(r))return Ra.get(r);const s=Un();if(!s)return!1;const i=s(e,t);if(!i)return!1;const l=fetch(i,{method:"HEAD",signal:I0(8e3)}).then(c=>c.status>=500?null:c.ok,()=>null).then(c=>(Ra.delete(r),c===null?!1:(a[r]=c,G0(),c)));return Ra.set(r,l),l}const Us=["\u3131","\u3132","\u3134","\u3137","\u3138","\u3139","\u3141","\u3142","\u3143","\u3145","\u3146","\u3147","\u3148","\u3149","\u314A","\u314B","\u314C","\u314D","\u314E"],Gs=["\u314F","\u3150","\u3151","\u3152","\u3153","\u3154","\u3155","\u3156","\u3157","\u3158","\u3159","\u315A","\u315B","\u315C","\u315D","\u315E","\u315F","\u3160","\u3161","\u3162","\u3163"],Y0=["","\u3131","\u3132","\u3133","\u3134","\u3135","\u3136","\u3137","\u3139","\u313A","\u313B","\u313C","\u313D","\u313E","\u313F","\u3140","\u3141","\u3142","\u3144","\u3145","\u3146","\u3147","\u3148","\u314A","\u314B","\u314C","\u314D","\u314E"];function ha(e){if(!e)return null;const t=e.charCodeAt(0)-44032;return t<0||t>=11172?null:{cho:Math.floor(t/588),jung:Math.floor(t%588/28),jong:t%28}}function Z0(e){const t=ha(e[0]||"");return t?Us[t.cho]:""}function X0(e){if(!e)return()=>!0;e=e.normalize("NFC");const t=[...e],a=l=>Us.includes(l),r=l=>Gs.includes(l),s=t.map(l=>a(l)?"cho":r(l)?"jung":ha(l)?"syl":"other"),i=t.map(l=>ha(l));if(s.includes("other")){const l=e.toLowerCase();return c=>c.normalize("NFC").toLowerCase().includes(l)}return l=>{const c=[...l.normalize("NFC")];for(let u=0;u+t.length<=c.length;u++){let d=!0;for(let p=0;p<t.length;p++){const m=c[u+p],h=s[p];if(h==="cho"){if(Z0(m)!==t[p]){d=!1;break}}else if(h==="jung"){const g=ha(m);if(!g||Gs[g.jung]!==t[p]){d=!1;break}}else{const g=i[p];if(g&&g.jong===0){const C=ha(m);if(!C||C.cho!==g.cho||C.jung!==g.jung){d=!1;break}}else if(m!==t[p]){d=!1;break}}}if(d)return!0}return!1}}const J0={3:["\u3131","\u3145"],5:["\u3134","\u3148"],6:["\u3134","\u314E"],9:["\u3139","\u3131"],10:["\u3139","\u3141"],11:["\u3139","\u3142"],12:["\u3139","\u3145"],13:["\u3139","\u314C"],14:["\u3139","\u314D"],15:["\u3139","\u314E"],18:["\u3142","\u3145"]};Object.fromEntries(Object.entries(J0).map(([e,t])=>[t.join(""),Y0[Number(e)]]));const Q0="word_pair_index_v2",e2="word_pair_index_sig_v2";let Pa=null;function t2(){try{if(typeof localStorage>"u")return null;const e=localStorage.getItem(Q0),t=localStorage.getItem(e2);return!e||!t?null:{index:JSON.parse(e),sig:t}}catch{return null}}function n2(){if(Pa)return Pa;const e=t2();return e?(Pa=e.index,e.sig,Pa):null}const a2={\u314F:{nucleus:"\u314F"},\u3151:{glide:"j",nucleus:"\u314F"},\u3153:{nucleus:"\u3153"},\u3155:{glide:"j",nucleus:"\u3153"},\u3157:{nucleus:"\u3157"},\u315B:{glide:"j",nucleus:"\u3157"},\u315C:{nucleus:"\u315C"},\u3160:{glide:"j",nucleus:"\u315C"},\u3161:{nucleus:"\u3161"},\u3163:{nucleus:"\u3163"},\u3150:{nucleus:"\u3154/\u3150"},\u3152:{glide:"j",nucleus:"\u3154/\u3150"},\u3154:{nucleus:"\u3154/\u3150"},\u3156:{glide:"j",nucleus:"\u3154/\u3150"},\u3158:{glide:"w",nucleus:"\u314F"},\u3159:{glide:"w",nucleus:"\u3154/\u3150"},\u315A:{glide:"w",nucleus:"\u3154/\u3150"},\u315D:{glide:"w",nucleus:"\u3153"},\u315E:{glide:"w",nucleus:"\u3154/\u3150"},\u315F:{glide:"w",nucleus:"\u3163"},\u3162:{glide:"\u0270",nucleus:"\u3163"}},Tr=/[ㄱ-ㅎ]/,r2=/[ㅏ-ㅣ]/;function Ks(e){e=e.normalize("NFC");for(let t=e.length-1;t>=0;t--){const a=e[t],r=a.charCodeAt(0);if(r>=44032&&r<=55203||Tr.test(a)||r2.test(a))return a}return null}function o2(e){const t=Ks(e);if(!t)return"\uAC00";const a=t.charCodeAt(0);return a>=44032&&a<=55203?(a-44032)%28!==0?"\uC774":"\uAC00":Tr.test(t)?"\uC774":"\uAC00"}function s2(e){return`${e}${o2(e)}`}function i2(e){const t=Ks(e);if(!t)return"\uB97C";const a=t.charCodeAt(0);return a>=44032&&a<=55203?(a-44032)%28!==0?"\uC744":"\uB97C":Tr.test(t)?"\uC744":"\uB97C"}function l2(e){return`${e}${i2(e)}`}function c2(e,t,a){const r=e.slice(),[s]=r.splice(t,1);return r.splice(a,0,s),r}function fa(e,t=Math.random){const a=e.slice();for(let r=a.length-1;r>0;r--){const s=Math.floor(t()*(r+1));[a[r],a[s]]=[a[s],a[r]]}return a}const u2=()=>{const e="\uC54C \uC218 \uC5C6\uB294 \uC624\uB958",t=typeof wt?.t=="function"?wt.t("common.unknownError",{defaultValue:e}):void 0;return typeof t=="string"&&t?t:e};function Ys(e,t){if(t===void 0&&(t=u2()),e instanceof Error)return e.message||t;if(typeof e=="string")return e||t;if(e&&typeof e=="object"){const a=e;for(const r of[a.message,a.error_description,a.error])if(typeof r=="string"&&r)return r}return t}const d2="__ihab_core_word_pool__";function Zs(){return globalThis[d2]??null}const Xs=globalThis;function Js(e,t){const a=r=>{};try{const r=t();r&&typeof r.catch=="function"&&r.catch(a)}catch(r){a(r)}}function p2(e){Js("time",()=>Xs.__ihabTrainingTimeLogger?.(e))}function m2(e){Js("completion",()=>Xs.__ihabTrainingCompletionLogger?.(e))}function Ot(e){return typeof e=="string"?e.trim()||null:typeof e=="number"?String(e):null}function h2(e){for(const t of["correct","isCorrect","heard","judgement"])if(typeof e[t]=="boolean")return e[t];return e.score===1?!0:e.score===0?!1:null}function f2(e){return Array.isArray(e)?e.map((t,a)=>{const r=t??{};return{index:a,itemId:Ot(r.contextCode)??Ot(r.itemId)??Ot(r.itemCode)??Ot(r.id),question:Ot(r.question)??Ot(r.q)??Ot(r.sentence)??Ot(r.text)??Ot(r.prompt)??Ot(r.word)??Ot(r.targetSyllable),answer:Ot(r.answer),selected:Ot(r.selectedText)??Ot(r.selected),correct:h2(r)}}):[]}const jr=globalThis;async function C2(){try{return await jr.__ihabNoiseSettingsStore?.load()??null}catch{return null}}function Qs(e){const t=a=>{};try{const a=jr.__ihabNoiseSettingsStore?.save(e);a&&typeof a.catch=="function"&&a.catch(t)}catch(a){t(a)}}function Ia(e){try{jr.__ihabNoiseSettingsStore?.applied?.(e)}catch{}}async function g2(e){if(typeof document<"u"){const t=document.activeElement;let a=null;try{if(a=document.createElement("textarea"),a.value=e,a.setAttribute("readonly",""),a.style.position="fixed",a.style.top="0",a.style.left="0",a.style.opacity="0",a.style.pointerEvents="none",document.body.appendChild(a),a.focus(),a.select(),a.setSelectionRange(0,e.length),document.execCommand("copy"))return!0}catch{}finally{if(a?.parentNode&&a.parentNode.removeChild(a),t&&t!==document.activeElement&&typeof t.focus=="function"&&t.isConnected)try{t.focus({preventScroll:!0})}catch{}}}try{if(typeof navigator<"u"&&navigator.clipboard&&typeof navigator.clipboard.writeText=="function")return await navigator.clipboard.writeText(e),!0}catch{}return!1}const b2=/^(\d{4}-\d{2}-\d{2})[T ](\d{2}:\d{2})(?::(\d{2})(?:\.(\d+))?)?$/;function ei(e){let t;if(e instanceof Date)t=e;else if(typeof e=="string"){const a=e.trim(),r=b2.exec(a);t=new Date(r?`${r[1]}T${r[2]}:${r[3]??"00"}${r[4]?`.${r[4].slice(0,3).padEnd(3,"0")}`:""}+09:00`:a)}else t=new Date(e);return Number.isNaN(t.getTime())?null:t}function Ca(){return Lr(new Date)}function Mr(e){return e&&/^\d{4}-\d{2}-\d{2}$/.test(e)?e:Ca()}function Gn(){return v2(Ca())}const y2=540*60*1e3;function ti(e,t,a){return new Date(Date.UTC(e,t,a)-y2)}function v2(e){const[t,a,r]=e.split("-").map(Number);return new Date(t,(a||1)-1,r||1)}function Lr(e){if(e==null||e==="")return"";const t=ei(e);return t?new Intl.DateTimeFormat("fr-CA",{timeZone:"Asia/Seoul"}).format(t):""}function ni(e,t){if(!e)return"";const a=ei(e);if(!a)return"";const r=a.getTime(),s=Math.max(0,Math.floor((Date.now()-r)/1e3)),i=Math.floor(s/60),l=Math.floor(i/60),c=Math.floor(l/24),u=Math.floor(c/7),d=Math.floor(c/30),p=Math.floor(c/365);return i<1?t("store.time.justNow","\uBC29\uAE08 \uC804"):i<60?t("store.time.minutesAgo",{n:i}):l<24?t("store.time.hoursAgo",{n:l}):c<7?t("store.time.daysAgo",{n:c}):u<5?t("store.time.weeksAgo",{n:u}):c<365?t("store.time.monthsAgo",{n:Math.min(d,11)}):t("store.time.yearsAgo",{n:p})}function ai(e,t={}){const{sep:a=".",pad:r=!0,trailingDot:s=!1,fallback:i="\u2014"}=t;if(!e)return i;const l=Lr(e instanceof Date?e:String(e));if(!l)return i;const[c,u,d]=l.split("-"),p=r?u:String(Number(u)),m=r?d:String(Number(d));return`${c}${a}${p}${a}${m}${s?".":""}`}function Kn(e){if(!e)return e;const t=e.trim();return/^[₩$]/.test(t)?t:/원\s*$/.test(t)?"\u20A9"+t.replace(/\s*원\s*$/,"").trim():t}function ri(e,t){if(!e)return"-";const a=/^(\d{1,2}):(\d{2})$/.exec(e.trim());if(!a)return e;const r=Number(a[1]),s=Number(a[2]),i=a[1].padStart(2,"0");return s===0?t("date.timeH",{h:r,hh:i,mm:a[2]}):t("date.timeHM",{h:r,hh:i,m:s,mm:a[2]})}function $r(e){return(e??0).toLocaleString("ko-KR")}const x2=[{key:"FOOD",label:"\uC74C\uC2DD",icon:"salad",color:"#FF8A65",subs:[{key:"TRKRFD",label:"\uD55C\uAD6D \uC804\uD1B5\uC74C\uC2DD"},{key:"MDKRFD",label:"\uD55C\uAD6D \uD604\uB300\uC74C\uC2DD"},{key:"WRLDFD",label:"\uC138\uACC4\uC758 \uC74C\uC2DD"},{key:"MTRFRT",label:"\uC2DD\uC7AC\uB8CC\uC640 \uACFC\uC77C"},{key:"GEFDKL",label:"\uC74C\uC2DD \uC0C1\uC2DD"}]},{key:"HLTH",label:"\uAC74\uAC15",icon:"heart",color:"#66BB6A",subs:[{key:"HTETHB",label:"\uAC74\uAC15\uD55C \uC2DD\uC2B5\uAD00"},{key:"DISILL",label:"\uBCD1\uACFC \uC9C8\uD658"},{key:"EXCISE",label:"\uC6B4\uB3D9"},{key:"GEHTKL",label:"\uAC74\uAC15\uC0C1\uC2DD"}]},{key:"WETH",label:"\uB0A0\uC528",icon:"sun-medium",color:"#42A5F5",subs:[{key:"GESSKL",label:"\uACC4\uC808\uC0C1\uC2DD"},{key:"SNWRAN",label:"\uB208\uACFC \uBE44"},{key:"WTHFCT",label:"\uC77C\uAE30\uC608\uBCF4"},{key:"GEWTKL",label:"\uB0A0\uC528\uC0C1\uC2DD"}]},{key:"PRSN",label:"\uC778\uBB3C",icon:"user-round",color:"#AB47BC",subs:[{key:"JODYPS",label:"\uC870\uC120\uC2DC\uB300"},{key:"MDKRPS",label:"\uD55C\uAD6D \uADFC\uD604\uB300"},{key:"THKDPS",label:"\uC0BC\uAD6D\uC2DC\uB300"},{key:"WRLART",label:"\uC138\uACC4\uC758 \uC608\uC220\uAC00"},{key:"WRLPSN",label:"\uC138\uACC4\uC758 \uC778\uBB3C"}]},{key:"KRCT",label:"\uD55C\uAD6D\uBB38\uD654",icon:"bow-arrow",color:"#EC407A",subs:[{key:"KRLANG",label:"\uC6B0\uB9AC\uB9D0"},{key:"TRPLCT",label:"\uC804\uD1B5\uB180\uC774"},{key:"HERITG",label:"\uBB38\uD654\uC7AC"},{key:"EVTFES",label:"\uD589\uC0AC\uC640 \uCD95\uC81C"},{key:"GECTKL",label:"\uC0C1\uC2DD"}]},{key:"STRY",label:"\uC774\uC57C\uAE30",icon:"message-circle",color:"#8D6E63",subs:[{key:"FRYTAL",label:"\uB3D9\uD654"},{key:"AMZING",label:"\uC2E0\uAE30\uD55C \uC774\uC57C\uAE30"},{key:"DAYSTR",label:"\uC77C\uC0C1 \uC18D \uC774\uC57C\uAE30"}]},{key:"LOCA",label:"\uC9C0\uC5ED",icon:"map-pin",color:"#26A69A",subs:[{key:"KRLDMK",label:"\uD55C\uAD6D\uC758 \uBA85\uC18C"},{key:"SELNMK",label:"\uC11C\uC6B8\uC758 \uBA85\uC18C"},{key:"WRDTRB",label:"\uC138\uACC4\uC5EC\uD589"},{key:"NAVIGT",label:"\uAE38 \uCC3E\uAE30"}]},{key:"SOAR",label:"\uC0AC\uD68C\uC640 \uC608\uC220",icon:"landmark",color:"#5C6BC0",subs:[{key:"KRSOCI",label:"\uD55C\uAD6D"},{key:"ECONEW",label:"\uACBD\uC81C\uC640 \uB274\uC2A4"},{key:"GENART",label:"\uC608\uC220"},{key:"GELFKL",label:"\uC0DD\uD65C \uC0C1\uC2DD"}]},{key:"NTSC",label:"\uC790\uC5F0\uACFC \uACFC\uD559",icon:"leaf",color:"#9CCC65",subs:[{key:"ANIMAL",label:"\uB3D9\uBB3C"},{key:"PLANTS",label:"\uC2DD\uBB3C"},{key:"ETHPLT",label:"\uC9C0\uAD6C"},{key:"TOLELC",label:"\uB3C4\uAD6C\uC640 \uC804\uC790\uC81C\uD488"},{key:"GESCKL",label:"\uACFC\uD559\uC0C1\uC2DD"}]},{key:"SPRT",label:"\uC2A4\uD3EC\uCE20",icon:"trophy",color:"#FFCA28",subs:[{key:"INVDSP",label:"\uAC1C\uC778\uACBD\uAE30"},{key:"MARART",label:"\uACA9\uD22C\uAE30"},{key:"TEAMSP",label:"\uB2E8\uCCB4\uACBD\uAE30"},{key:"FOOTBL",label:"\uCD95\uAD6C"},{key:"GESPKL",label:"\uC2A4\uD3EC\uCE20 \uC0C1\uC2DD"}]}],_2=[{key:"LISTEN_IN_NOISE",label:"\uC18C\uC74C \uD558 \uBB38\uC7A5 \uB4E3\uAE30",icon:"party-popper",desc:"\uC18C\uC74C \uD658\uACBD \uC18D \uBB38\uC7A5 \uC774\uD574 \uD6C8\uB828"},{key:"SHORT_STORY",label:"\uC9E7\uC740 \uC774\uC57C\uAE30 \uB4E3\uAE30",icon:"message-square",desc:"\uC9E7\uC740 \uC774\uC57C\uAE30 + 4\uBB38\uC81C"},{key:"LONG_STORY",label:"\uAE34 \uC774\uC57C\uAE30 \uB4E3\uAE30",icon:"message-square-text",desc:"\uAE34 \uC774\uC57C\uAE30 \uC2EC\uD654 \uD6C8\uB828"},{key:"ORDERING_SENTENCE",label:"\uBB38\uC7A5 \uC21C\uC11C\uD654 \uD558\uAE30",icon:"align-start-vertical",desc:"\uC21C\uC11C \uBC30\uC5F4 \uD6C8\uB828"}];function oi(){return x2}function w2(){return _2}const k2=[],A2=[],B2=[],N2=[];function D2(){return{LISTEN_IN_NOISE:k2,SHORT_STORY:A2,LONG_STORY:B2,ORDERING_SENTENCE:N2}}const S2=[{key:"LISTEN_IN_NOISE",label:"\uC18C\uC74C \uD558 \uBB38\uC7A5 \uB4E3\uAE30",icon:"party-popper",desc:"\uB2E4\uC591\uD55C \uC18C\uC74C \uD658\uACBD\uC5D0\uC11C \uBB38\uC7A5 \uCCAD\uB825\uC744 \uD6C8\uB828\uD569\uB2C8\uB2E4."},{key:"SHORT_STORY",label:"\uC9E7\uC740 \uC774\uC57C\uAE30 \uB4E3\uAE30",icon:"message-square",desc:"\uC9E7\uC740 \uC774\uC57C\uAE30\uB97C \uB4E3\uACE0 \uAE30\uC5B5\uD558\uC5EC \uBB38\uC81C\uB97C \uD480\uC5B4\uBD05\uB2C8\uB2E4."},{key:"LONG_STORY",label:"\uAE34 \uC774\uC57C\uAE30 \uB4E3\uAE30",icon:"message-square-text",desc:"\uAE34 \uC774\uC57C\uAE30\uB97C \uB4E3\uACE0 \uAE30\uC5B5\uD558\uC5EC \uB2E4\uC218\uC758 \uBB38\uC81C\uB97C \uD480\uC5B4\uBD05\uB2C8\uB2E4."},{key:"ORDERING_SENTENCE",label:"\uBB38\uC7A5 \uC21C\uC11C\uD654 \uD558\uAE30",icon:"align-start-vertical",desc:"\uC5EC\uB7EC\uAC1C\uC758 \uC9E7\uC740 \uBB38\uC7A5\uC744 \uB4E3\uACE0 \uAE30\uC5B5\uD558\uC5EC \uADF8 \uC21C\uC11C\uC5D0 \uB9DE\uAC8C \uBC30\uC5F4\uD569\uB2C8\uB2E4."}],si={LISTEN_IN_NOISE:"listenInNoise",SHORT_STORY:"shortStory",LONG_STORY:"longStory",ORDERING_SENTENCE:"orderingSentence"};function E2(e){return S2.map(t=>{const a=si[t.key];return a?{...t,label:e(`trainingType.${a}.title`),desc:e(`trainingType.${a}.desc`)}:t})}let Fa=null,ii=null,li=null;function T2(){const e=Zs();if(e&&e.entries.length>0){const t=n2();if(Fa&&ii===e&&li===t)return Fa;const a=new Set,r=[];for(const s of e.entries)!s.word||a.has(s.word)||(a.add(s.word),r.push({w:s.word,s:s.syllables,p:t?.[s.word]?[...t[s.word].cho??[],...t[s.word].jung??[],...t[s.word].jong??[]]:[],pron:s.pronunciation||s.word,grade:s.grade}));return Fa=r,ii=e,li=t,Fa}return[]}new Proxy([],{get(e,t){const a=T2(),r=a[t];return typeof r=="function"?r.bind(a):r}});const j2="0.154.0";function M2(e){if(e.includes("\\")&&e.includes("("))return!0;if(!/url\s*\(/i.test(e))return!1;const t=e.replace(/url\(\s*(['"]?)#[^)'"]*\1\s*\)/gi,"");return/url\s*\(/i.test(t)}function L2(e){if(typeof window>"u")return"";const t=(a,r)=>{typeof r.attrValue=="string"&&M2(r.attrValue)&&(r.keepAttr=!1)};wr.addHook("uponSanitizeAttribute",t);try{return wr.sanitize(e,{USE_PROFILES:{svg:!0,svgFilters:!0},FORBID_TAGS:["script","use","style"],FORBID_ATTR:["xlink:href","href"]})}finally{wr.removeHook("uponSanitizeAttribute",t)}}function $2(e){const[t,a]=o.useState(null),[r,s]=o.useState(null),[i,l]=o.useState(null),[c,u]=o.useState(null);return o.useEffect(()=>{if(!e||typeof e!="string"||!e.endsWith(".svg")){a(null),s(null),l(null);return}const d=e.split("/").pop();let p=e;d&&(e.startsWith("/")?p=kr(e):/^(Logo|Symbol)/i.test(d)?p=kr(`logo/${d}`):(/^https?:\/\//i.test(e)||e.startsWith("data:"),p=e)),s(null),l(null),a(p)},[e]),o.useEffect(()=>{if(!t)return;let d=!1;async function p(){try{let m=await fetch(t);m.ok||(m=await fetch(t));const h=m.headers.get("content-type")||"";if(d)return;if(h.includes("svg")){s("mask");return}if(h.startsWith("image/")){s("img");return}const g=await fetch(t);if(!g.ok)throw new Error("not ok");const C=await g.text();if(d)return;if(/^\s*<svg[\s>]/i.test(C)){const b=L2(C);if(!b){s("none");return}l(b),s("inline");return}s("none")}catch{d||s("none")}}return p(),()=>{d=!0}},[t]),o.useEffect(()=>{let d=!1,p=null;return r==="mask"&&t&&fetch(t).then(m=>{if(!m.ok)throw new Error("fetch failed");return m.blob()}).then(m=>{d||(p=URL.createObjectURL(m),u(p))}).catch(()=>{d||s("img")}),()=>{d=!0,p&&URL.revokeObjectURL(p),u(null)}},[r,t]),{iconToUse:t,mode:r,svgText:i,blobUrl:c}}function Ge(e){const{icon:t,label:a,className:r,imgClassName:s,maskClassName:i,svgClassName:l,wrapperStyle:c,size:u}=e||{},d=r??"iconRenderer-icon",p=s??"iconRenderer-icon-image",m=i??"iconRenderer-icon-mask",h=l??"iconRenderer-icon-svg",g=typeof t=="string"?t:null,C=Xh(g),{iconToUse:b,mode:_,svgText:f,blobUrl:y}=$2(g),x=(B,A={})=>n.jsx("span",{className:d,style:c,...A,children:B}),v=typeof u=="number"?{width:u,height:u,objectFit:"contain"}:null,k=(B,A={})=>n.jsx("img",{src:B,alt:typeof a=="string"?a:typeof a=="number"?String(a):"",className:p,...A,style:v?{...A.style,...v}:A.style});if(!t)return null;if(typeof t!="string")return x(t);if(t==="none")return x(n.jsx("span",{className:h,dangerouslySetInnerHTML:{__html:'<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" aria-hidden="true"></svg>'}}),{"aria-hidden":"true"});if(C)try{return x(o.createElement(C,{className:h,size:typeof u=="number"?u:20}),{"aria-hidden":"true"})}catch{}if(b&&b.endsWith(".svg")){if(_==="mask"){const B={"--icon-url":y?`url(${y})`:`url(${b})`,...typeof u=="number"?{"--icon-size":`${u}px`}:null};return x(n.jsx("span",{className:m,style:B}),{"aria-hidden":"true"})}return _==="img"?x(k(b,{onError:B=>{B.currentTarget.onerror=null,B.currentTarget.style.display="none"}}),{"aria-hidden":"true"}):_==="inline"?x(n.jsx("span",{className:h,dangerouslySetInnerHTML:f?{__html:f}:void 0}),{"aria-hidden":"true"}):x(null,{"aria-hidden":"true"})}if(t.startsWith("/")||t.includes("/assets/")||t.match(/\.(png|jpg|jpeg|webp|gif)$/i))return k(kr(t),{style:c,onError:B=>{B.currentTarget.onerror=null,B.currentTarget.style.display="none"}});const w=typeof u=="number"?u:20,D=`<svg width="${w}" height="${w}" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><rect x="3" y="3" width="18" height="18" rx="2" ry="2" style="fill:none;stroke:currentColor;stroke-width:2"/></svg>`;return x(n.jsx("span",{className:h,dangerouslySetInnerHTML:{__html:D}}),{"aria-hidden":"true"})}function ci(e){const[t,a]=o.useState(!1),r=o.useRef(!1),s=o.useRef(!0);o.useEffect(()=>(s.current=!0,()=>{s.current=!1}),[]);const i=o.useCallback(()=>{if(!e||r.current)return;const l=e();if(l&&typeof l.then=="function"){r.current=!0,a(!0);const c=()=>{r.current=!1,s.current&&a(!1)};l.then(c,c)}},[e]);return{pending:t,press:i}}function R2({icon:e,emoji:t,title:a,message:r,hint:s,action:i,compact:l,className:c}){const{pending:u,press:d}=ci(i?.onClick);return n.jsxs("div",{className:Be("empty-state",l&&"empty-state--compact",c),children:[t&&n.jsx("span",{className:"empty-state__emoji",children:t}),e&&n.jsx(Ge,{icon:e,className:"empty-state__icon"}),a&&n.jsx("p",{className:"empty-state__title body-2",children:a}),r&&n.jsx("p",{className:"empty-state__message body-3",children:r}),s&&n.jsx("p",{className:"empty-state__hint caption-1",children:s}),i&&n.jsxs("button",{type:"button",className:"empty-state__action button button40 button40--bar button--variant-main button--align-center button--shape-rounded",onClick:d,disabled:u,"aria-busy":u||void 0,children:[i.icon&&n.jsx(Ge,{icon:i.icon,className:"button__icon"}),n.jsx("span",{className:"button__label button-1",children:i.label})]})]})}function P2({message:e,hint:t,icon:a="triangle-alert",onRetry:r,retryLabel:s,className:i}){const{t:l}=fe.useTranslation(),{pending:c,press:u}=ci(r);return n.jsxs("div",{className:Be("empty-state","error-state",i),role:"alert",children:[n.jsx(Ge,{icon:a,className:"empty-state__icon error-state__icon"}),n.jsx("p",{className:"empty-state__message body-3",children:e??l("common.errorState.message",{defaultValue:"\uBD88\uB7EC\uC624\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4."})}),t&&n.jsx("p",{className:"empty-state__hint caption-1",children:t}),r&&n.jsxs("button",{type:"button",className:"empty-state__action button button40 button40--bar button--variant-main button--align-center button--shape-rounded",onClick:u,disabled:c,"aria-busy":c||void 0,children:[n.jsx(Ge,{icon:"rotate-cw",className:"button__icon"}),n.jsx("span",{className:"button__label button-1",children:s??l("common.errorState.retry",{defaultValue:"\uB2E4\uC2DC \uC2DC\uB3C4"})})]})]})}function I2({icon:e,title:t,description:a,cta:r,tone:s="main",disabled:i=!1,onClick:l,className:c=""}){const u=o.useId(),d=`${u}-title`,p=`${u}-desc`,m=`${u}-cta`,h=()=>{i||l?.()};return n.jsx("section",{role:"button",tabIndex:i?-1:0,"aria-disabled":i||void 0,"aria-labelledby":d,"aria-describedby":`${p} ${m}`,onClick:h,onKeyDown:g=>{(g.key==="Enter"||g.key===" ")&&(g.preventDefault(),h())},className:Be("action-card",`action-card--${s}`,i&&"action-card--disabled",c),children:n.jsxs("div",{className:"action-card__body",children:[n.jsx("span",{"aria-hidden":!0,className:"action-card__chip",children:n.jsx(Ge,{icon:e,size:34})}),n.jsxs("div",{className:"action-card__text",children:[n.jsx("h2",{id:d,className:"action-card__title",children:t}),n.jsx("p",{id:p,className:"action-card__desc",children:a})]}),n.jsxs("div",{className:"action-card__cta",children:[n.jsx("span",{id:m,children:r}),n.jsx("span",{"aria-hidden":!0,className:"action-card__arrow",children:n.jsx(Ge,{icon:"arrow-right",size:18})})]})]})})}function F2({as:e="div",className:t="",children:a,storage:r,...s}){r&&R0({resolveUrl:r.resolveUrl,download:r.download??(()=>Promise.reject(new Error("[ihabdevteam-core] CoreScope: download resolver\uAC00 \uC124\uC815\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4."))),exists:r.exists,resolvePath:r.resolvePath,noiseBaseUrl:r.noiseBaseUrl,noiseFileGain:r.noiseFileGain});const i=Be("ihabdevteam-core-scope",t);return n.jsx(e,{className:i,...s,children:a})}function Rr(e,t=!0){o.useEffect(()=>{if(!t)return;const a=e.current;if(!a)return;const r=s=>{if(s.key!=="Tab")return;const i=Array.from(a.querySelectorAll(hn)).filter(p=>!p.closest('[aria-hidden="true"]'));if(!i.length){s.preventDefault();return}const l=i[0],c=i[i.length-1],u=document.activeElement,d=u===a;s.shiftKey&&(u===l||d)?(s.preventDefault(),c.focus()):!s.shiftKey&&u===c&&(s.preventDefault(),l.focus())};return a.addEventListener("keydown",r),()=>a.removeEventListener("keydown",r)},[e,t])}const hn='a[href], button:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"])',Pr=new WeakMap;function Ir(e,t){e&&Pr.set(e,t)}function Fr(e){let t=e;for(let a=0;t&&!t.isConnected&&a<10;a++){let r=t;for(;r&&!Pr.has(r);)r=r.parentElement;if(!r)return t;t=Pr.get(r)??null}return t}function ui(e){return!(!e||!e.isConnected||e===document.body||typeof e.focus!="function"||e.disabled||e instanceof HTMLInputElement&&e.type==="hidden"||e.closest('[inert],[aria-hidden="true"],[hidden]'))}function Oa(e,t,a){const r=e?.isConnected?e:a?.isConnected?a:null;if(ui(t)&&!(e&&e.contains(t)))return t.focus(),t;if(!r)return null;const s=Array.from(document.querySelectorAll(hn)).filter(u=>!(e&&e.contains(u))&&ui(u));let i=null,l=null;for(const u of s)r.compareDocumentPosition(u)&Node.DOCUMENT_POSITION_PRECEDING?i=u:l||(l=u);const c=i??l;return c?.focus(),c}function O2({title:e="",lines:t=[],notices:a=null,children:r,variant:s="default",dismissible:i=!1,className:l=""}){const{t:c}=fe.useTranslation(),[u,d]=o.useState(!1),p=o.useRef(null),m=o.useCallback(()=>{const b=p.current;b&&b.contains(document.activeElement)&&Oa(b),d(!0)},[]);if(u)return null;const h=`notice-box notice-box--${s} body-2 ${l}`.trim(),g=i&&n.jsx("button",{type:"button",className:"notice-box__dismiss",onClick:m,"aria-label":c("common.close","\uB2EB\uAE30"),children:"\xD7"});if(a&&Array.isArray(a)&&a.length)return n.jsxs("div",{className:h,role:"note",children:[a.map((b,_)=>n.jsxs("div",{className:"notice-box__inner",children:[b.title?n.jsx("span",{className:"notice-box__title body-3",children:b.title}):null,n.jsx("div",{className:"notice-box__body",children:b.lines&&b.lines.length?n.jsx("div",{children:b.lines.map((f,y)=>n.jsx("span",{className:"notice-box__line body-3",children:f},y))}):b.children??null})]},_)),g]});const C=e||t.length?n.jsxs("div",{className:"notice-box__inner",children:[e?n.jsx("span",{className:"notice-box__title body-1",children:e}):null,n.jsx("div",{className:"notice-box__body",children:t.length?n.jsx("ul",{children:t.map((b,_)=>n.jsx("li",{className:"notice-box__line",children:b},_))}):r})]}):n.jsx("div",{className:"notice-box__inner",children:r});return n.jsxs("div",{ref:p,className:h,role:"note",children:[C,g]})}const Yn=[];let Ha=!1;function di(e){if(e.key!=="Escape"||e.defaultPrevented||e.isComposing||e.keyCode===229)return;const t=Yn[Yn.length-1];t&&(e.stopPropagation(),t())}function Rn(e){return Yn.push(e),!Ha&&typeof document<"u"&&(document.addEventListener("keydown",di),Ha=!0),()=>{const t=Yn.lastIndexOf(e);t>=0&&Yn.splice(t,1),Yn.length===0&&Ha&&typeof document<"u"&&(document.removeEventListener("keydown",di),Ha=!1)}}const pi=o.createContext(null);function H2(e){return/max-width:\s*7[0-9][0-9]px/.test(e)}const mi=e=>typeof window>"u"||!window.matchMedia?!1:window.matchMedia(e).matches;function V2(e){const t=o.useCallback(a=>{if(typeof window>"u"||!window.matchMedia)return()=>{};const r=window.matchMedia(e);return r.addEventListener?r.addEventListener("change",a):r.addListener&&r.addListener(a),()=>{r.removeEventListener?r.removeEventListener("change",a):r.removeListener&&r.removeListener(a)}},[e]);return Uo.useSyncExternalStore(t,()=>mi(e),()=>!1)}function z2(e){const[t,a]=o.useState(mi(e));return o.useEffect(()=>{if(typeof window>"u"||!window.matchMedia)return;const r=window.matchMedia(e),s=l=>a(l.matches),i=r;return i.addEventListener?i.addEventListener("change",s):i.addListener&&i.addListener(s),a(r.matches),()=>{i.removeEventListener?i.removeEventListener("change",s):i.removeListener&&i.removeListener(s)}},[e]),t}const W2=typeof Uo.useSyncExternalStore=="function"?V2:z2;function en(e){const t=o.useContext(pi),a=W2(e);return t&&typeof t.mobile=="boolean"&&H2(e)?t.mobile:a}const q2="(prefers-reduced-motion: reduce)";function Or(){return en(q2)}function An(e){const{anchorRect:t,anchorEl:a,offset:r=20,edgeMargin:s=20,onClose:i,closeOnOutsideClick:l=!0,className:c="",role:u="dialog",ariaLabel:d="",children:p,backdrop:m=!1,isMobilePopup:h=!1,useBorder:g=!0,header:C}=e||{},b=o.useRef(null),[_,f]=o.useState({position:"fixed",left:0,top:-9999}),[y,x]=o.useState(!1),[v,k]=o.useState("bottom"),[w,D]=o.useState(!1),[B,A]=o.useState(!1),N=!t&&!a,M=o.useCallback((U=!1)=>{if(B&&h)return;const G=a?a.getBoundingClientRect():t;if(!G||!b.current)return;const W=b.current,{offsetWidth:Z,offsetHeight:P}=W,T=window.innerWidth,O=window.innerHeight,R=T-G.right,j=G.left,L=G.top,Q=O-G.bottom;let J=0,oe=0,ge="top";if(L>=P+r)ge="top",oe=G.top-r-P,J=G.left+G.width/2-Z/2;else if(Q>=P+r)ge="bottom",oe=G.bottom+r,J=G.left+G.width/2-Z/2;else if(R>=Z+r)ge="right",J=G.right+r,oe=G.top+G.height/2-P/2;else if(j>=Z+r)ge="left",J=G.left-r-Z,oe=G.top+G.height/2-P/2;else{const q=Math.max(L,Q,R,j);q===L?(ge="top",oe=G.top-r-P,J=G.left+G.width/2-Z/2):q===Q?(ge="bottom",oe=G.bottom+r,J=G.left+G.width/2-Z/2):q===R?(ge="right",J=G.right+r,oe=G.top+G.height/2-P/2):(ge="left",J=G.left-r-Z,oe=G.top+G.height/2-P/2)}const Me=Number.isFinite(Number(s))?Number(s):8;J=Math.min(Math.max(J,Me),T-Z-Me),oe=Math.min(Math.max(oe,Me),O-P-Me);const Ne=Math.round(J),ie=Math.round(oe);U&&b.current?(b.current.style.left=`${Ne}px`,b.current.style.top=`${ie}px`,b.current.dataset.placement=ge):(k(ge||v),f({position:"fixed",left:Ne,top:ie}),D(!0))},[B,h,a,t,r,s,v]);o.useLayoutEffect(()=>{if(N)return;if(B&&h){f({position:"fixed",left:"50%",top:"50%",transform:"translate(-50%, -50%)",width:"calc(100% - 40px)",maxWidth:"calc(100% - 40px)"}),D(!0);return}M();const U=requestAnimationFrame(()=>M());return()=>cancelAnimationFrame(U)},[t,a,r,p,s,N,B,h,M]),o.useEffect(()=>{if(N||B&&h||!b.current||typeof ResizeObserver>"u")return;const U=new ResizeObserver(()=>{t&&M()});return U.observe(b.current),()=>U.disconnect()},[t,p,s,N,B,h,M]),o.useEffect(()=>{if(N||B&&h)return;const U=()=>M(!0),G=W=>{if(!a&&i){const Z=W.target;if(Z&&b.current&&b.current.contains(Z))return;try{if(Z&&Z.closest&&Z.closest("[data-tooltip-ignore]"))return}catch{}F.current(!0);return}U()};return window.addEventListener("resize",U),document.addEventListener("scroll",G,{passive:!0,capture:!0}),()=>{window.removeEventListener("resize",U),document.removeEventListener("scroll",G,{capture:!0})}},[t,a,i,r,p,s,N,B,h,M]),o.useEffect(()=>{if(typeof window>"u"||!window.matchMedia)return;const U=window.matchMedia("(max-width: 768px)"),G=()=>A(!!U.matches);G();try{U.addEventListener?U.addEventListener("change",G):U.addListener(G)}catch{try{U.addListener(G)}catch{}}return()=>{try{U.removeEventListener?U.removeEventListener("change",G):U.removeListener(G)}catch{}}},[]);const I=o.useRef(!1),$=o.useRef(null),V=Or(),S=o.useCallback((U=!1)=>{if(i&&!(y||I.current)){if(I.current=!0,U){x(!0);try{i&&i()}catch{I.current=!1,x(!1)}return}x(!0),$.current=setTimeout(()=>{$.current=null;try{i&&i()}catch{I.current=!1,x(!1)}},V?0:200)}},[y,i,x,V]);o.useEffect(()=>()=>{$.current&&clearTimeout($.current)},[]),o.useEffect(()=>{if(N)return;const U=Z=>{const P=b.current;if(!P)return;const T=Z.target;if(T&&!P.contains(T)){try{if(T.closest&&T.closest("[data-tooltip-ignore]"))return}catch{}l&&S(!0)}},G=Z=>{const P=b.current;if(!P)return;const T=Z.target;if(T&&!P.contains(T)){try{if(T.closest&&T.closest("[data-tooltip-ignore]"))return}catch{}l&&S(!0)}},W=Z=>{if(Z.key==="Tab"){const P=b.current;if(!P)return;const T=P.querySelectorAll(hn);if(!T||T.length===0)return;const O=T[0],R=T[T.length-1],j=document.activeElement;Z.shiftKey?j===O&&(Z.preventDefault(),R.focus()):j===R&&(Z.preventDefault(),O.focus())}};return document.addEventListener("pointerdown",U,!0),document.addEventListener("click",G,!0),document.addEventListener("keydown",W),()=>{document.removeEventListener("pointerdown",U,!0),document.removeEventListener("click",G,!0),document.removeEventListener("keydown",W)}},[i,l,S,N]);const F=o.useRef(S);o.useEffect(()=>{F.current=S});const z=!!i;o.useEffect(()=>{if(!(N||!z))return Rn(()=>F.current())},[N,z]),o.useEffect(()=>{const U=()=>{S(!0)};return typeof document<"u"&&document.addEventListener("speechear-close-tooltips",U),()=>{typeof document<"u"&&document.removeEventListener("speechear-close-tooltips",U)}},[S]);const Y=n.jsxs("div",{ref:b,className:`tooltip-content ${N?"tooltip-content--inline":""} ${g?"tooltip-content--bordered":""} ${y?"is-closing":""} ${c} ${B&&h?"is-mobile":""}`,role:u,"aria-label":d||void 0,style:N?{}:{..._,visibility:w?"visible":"hidden"},tabIndex:-1,"data-placement":v,"data-left":N?"":_.left,"data-top":N?"":_.top,"data-anchor-left":t?Math.round(t.left):"","data-anchor-top":t?Math.round(t.top):"","data-anchor-width":t?Math.round(t.width):"","data-anchor-height":t?Math.round(t.height):"",children:[C!=null&&n.jsx("div",{className:"tooltip-content__header h5",children:C}),p]});if(N||typeof document>"u")return Y;if(m||B&&h){const U=n.jsxs("div",{className:"tooltip-portal",children:[n.jsx("div",{className:"tooltip-backdrop",onClick:()=>{l&&S(!0)}}),Y]});return Wt.createPortal(U,document.body)}return Wt.createPortal(Y,document.body)}function Bn(e){const{anchorRect:t,text:a,offset:r=8,onClose:s,className:i="",ariaLabel:l}=e||{};return a?n.jsx(An,{anchorRect:t,offset:r,onClose:s,closeOnOutsideClick:!1,className:`tooltip-info ${i}`,ariaLabel:l||a,children:n.jsx("div",{className:"tooltip-info__content body-3",children:a})}):null}function Pn(e){const{t}=fe.useTranslation(),{anchorRect:a,title:r,items:s,activeIndex:i=-1,showIndex:l=!0,onClose:c,offset:u=12,closeOnOutsideClick:d=!0}=e||{},p=(Array.isArray(s)?s:s?[s]:[]).map(m=>typeof m=="string"?{text:m}:m);return!p.length&&!r?null:n.jsx(An,{anchorRect:a,offset:u,onClose:c,closeOnOutsideClick:d,useBorder:!1,className:"tooltip-description",ariaLabel:r||t("tooltip.description","\uC124\uBA85"),children:n.jsxs("div",{className:"tooltip-description__box",children:[r&&n.jsx("span",{className:"tooltip-description__title body-2",children:r}),n.jsx("ol",{className:"tooltip-description__items",children:p.map((m,h)=>n.jsxs("li",{className:`tooltip-description__item body-3${h===i?" tooltip-description__item--active":""}`,children:[l&&p.length>1&&n.jsxs("span",{className:"tooltip-description__index button-1",children:[h+1,"."]}),m.color&&n.jsx("span",{className:"tooltip-description__dot",style:{background:m.color},"aria-hidden":"true"}),n.jsx("span",{children:m.text})]},h))})]})})}function ga(e){const t=o.useRef(e);return o.useEffect(()=>{t.current=e}),t}let Hr=0,hi=!1;function fi(){hi||typeof document>"u"||(hi=!0,document.addEventListener("pointerdown",e=>{e.pointerType==="touch"&&(Hr=Date.now())},!0),document.addEventListener("touchstart",()=>{Hr=Date.now()},{capture:!0,passive:!0}))}fi();function Zn(e){return!!e&&e.pointerType==="touch"}function Xn(e=1e3){return fi(),Date.now()-Hr<e}function Vr(e,t,a,{enabled:r=!0,fallbackOnParent:s=!1}={}){const i=ga(e),l=ga(t),c=o.useRef(null),u=o.useRef(0);o.useEffect(()=>{if(!r||typeof document>"u")return;const p=m=>{const h=m,g=m.target,C=a.current,b=!!(g&&C&&C.contains(g));if(h.pointerType!=="touch"){b&&(c.current=null);return}if(b){c.current=i.current;return}c.current=null,i.current&&!(g&&g.closest?.(".tooltip-content"))&&l.current(!1,C)};return document.addEventListener("pointerdown",p,!0),()=>document.removeEventListener("pointerdown",p,!0)},[r,a,i,l]);const d=o.useCallback(p=>{const m=c.current;return m===null?!1:(c.current=null,u.current=Date.now(),l.current(!m,p??a.current),!0)},[a,l]);return o.useEffect(()=>{if(!r||!s)return;const p=a.current,m=p?.parentElement;if(!p||!m)return;let h=null;const g=_=>{const f=_.changedTouches?.[0];if(!f)return!1;const y=p.getBoundingClientRect();return f.clientX>=y.left&&f.clientX<=y.right&&f.clientY>=y.top&&f.clientY<=y.bottom},C=_=>{h=g(_)?i.current:null},b=_=>{const f=h;h=null,!(f===null||Date.now()-u.current<700||!g(_))&&(c.current=null,u.current=Date.now(),l.current(!f,p))};return m.addEventListener("touchstart",C,{passive:!0}),m.addEventListener("touchend",b),()=>{m.removeEventListener("touchstart",C),m.removeEventListener("touchend",b)}},[r,s,a,i,l]),{touchPress:d}}function U2(e,t){const{size:a=48,type:r,htmlType:s,href:i,target:l,rel:c,icon:u,rightIcon:d,label:p,count:m,subLabel:h,children:g,ariaLabel:C,variant:b="default",align:_="center",selected:f,toggleable:y=!1,ariaExpanded:x,ariaControls:v,disabled:k=!1,useLabel:w=!0,useBorder:D=!0,useBG:B=!0,useDisabledCovered:A=!1,useDisabledInvisible:N=!1,width:M,minWidth:I,onClick:$,onDisabledClick:V,showTooltipInfo:S=!1,tooltipInfoText:F=null,tooltipDescription:z=null,tooltipOnly:Y=!1,iconSize:U="medium",iconColor:G,shape:W="rounded",color:Z,className:P,...T}=e,O=typeof a=="string"&&isNaN(Number(a))?a.toLowerCase():String(Number(a)||48),R=O.match(/^\d+$/)?`button${O}`:`button-${O}`,j=Number(a),L=!isNaN(j)&&j<40?"button-2":"button-1",Q=p??g,J=k||!!T.disabled,oe=J?A?"disabled-covered":N?"disabled-invisibled":"disabled":b,ge=oe?`button--variant-${oe}`:"",Me=_?`button--align-${_}`:"",Ne=W?`button--shape-${W}`:"",ie=typeof G=="string"&&G.startsWith("--")?`var(${G})`:G,q={...M?{width:typeof M=="number"?`${M}px`:M}:{},...I?{minWidth:typeof I=="number"?`${I}px`:I}:{},...D?{}:{"--button-border":J?"0":"1px solid transparent"},...ie?{"--button-icon-color":ie}:{},...Z?{"--color-main":Z}:{}},se=w===!1?"":Q,me=Array.isArray(se)?se.length>0:!!se,_e=!!d,we=r??(me||u||_e?"bar":"dot"),De=`${R}--${we}`,xe=o.useRef(null),Ae=o.useRef(t);Ae.current=t;const Te=o.useCallback(Le=>{xe.current=Le;const Ke=Ae.current;typeof Ke=="function"?Ke(Le):Ke&&(Ke.current=Le)},[]),ae=o.useRef(J),[ee,de]=o.useState(!!f),[te,he]=o.useState(!1),[be,Ye]=o.useState(null),He=o.useCallback(()=>he(!1),[]),[qe,Se]=o.useState(!1),Ue=o.useId();o.useEffect(()=>{typeof f=="boolean"&&de(f)},[f]),o.useEffect(()=>{if(ae.current&&!J&&xe.current){const Le=xe.current;let Ke=!1;try{Ke=Le.matches(":focus:not(:focus-visible)")}catch{Ke=!1}Ke&&Le.blur(),Le.style.pointerEvents="none";const Dt=requestAnimationFrame(()=>{requestAnimationFrame(()=>{xe.current&&(xe.current.style.pointerEvents="")})});return()=>cancelAnimationFrame(Dt)}ae.current=J},[J]);const $e=typeof f=="boolean"?!!f:ee,Ie=typeof x=="boolean"?void 0:y||typeof f=="boolean"?$e?"true":"false":T["aria-pressed"],Ve=Be("button",R,De,ge,Me,Ne,$e?"is-selected":null,B?null:"button--no-bg",Y?"button--tooltip-only":null,P),at=`button__icon button__icon--${U}`,ot=Array.isArray(h)?h:h!==void 0?[h]:[],We=()=>{if(Array.isArray(se))return se.map((Ke,Dt)=>{const vt=ot[Dt];return n.jsxs("span",{className:`button__label-text${vt!==void 0?" button__label-text--has-sub":""}`,children:[Ke,vt!==void 0&&n.jsx("span",{className:"button__sub-label-text caption-1",children:vt})]},Dt)});const Le=h!==void 0;return n.jsxs("span",{className:`button__label-text${Le?" button__label-text--has-sub":""}`,children:[se,m!=null&&n.jsx("span",{className:"button__count",children:m}),Le&&n.jsx("span",{className:"button__sub-label-text caption-1",children:h})]})},Xe=Le=>{typeof f!="boolean"&&!y&&de(!1),Le.currentTarget.blur()},Ct=Le=>{J||(typeof T.onMouseLeave=="function"&&T.onMouseLeave(Le),Xe(Le))},At=Le=>{if(Y&&Qe&&Ze.touchPress(Le.currentTarget),J){Qe&&Ze.touchPress(Le.currentTarget),Le.preventDefault(),V?.(Le);return}typeof f!="boolean"&&y&&de(Ke=>!Ke),$?.(Le)},Et=o.useCallback(()=>{(S||z)&&(he(!0),Ye(xe.current?.getBoundingClientRect()??null))},[S,z]),ut=o.useCallback(()=>{(S||z)&&(he(!1),Ye(null))},[S,z]),Qe=!!(S||z),Ze=Vr(te,Le=>{Le?Et():ut()},xe,{enabled:Qe&&(J||Y),fallbackOnParent:Qe&&J}),Oe={...T};delete Oe.disabled,delete Oe.className,delete Oe.faded,delete Oe.useFaded,delete Oe.loading,delete Oe.onMouseLeave,delete Oe.onPointerEnter,delete Oe.onPointerLeave,delete Oe.onPointerUp,delete Oe.onFocus,delete Oe.onBlur,J&&(Object.keys(Oe).forEach(Le=>{/^on[A-Z]/.test(Le)&&typeof Oe[Le]=="function"&&delete Oe[Le]}),Oe["aria-disabled"]="true");const rt=(typeof S=="string"?S:null)??(typeof F=="string"?F:null)??(typeof C=="string"?C:null)??(typeof Q=="string"?Q:null)??void 0,et=typeof C=="string"?C:typeof Q=="string"?Q:rt,bt=z?[z.title,...z.items??[]].filter(Boolean).join(". "):S&&rt&&rt!==et?rt:"",ze=[typeof T["aria-describedby"]=="string"?T["aria-describedby"]:void 0,bt?Ue:null].filter(Boolean).join(" ")||void 0,it=(Le,Ke)=>n.jsx(Ge,{icon:Le,label:Ke??et,className:at,imgClassName:"button__icon-img",maskClassName:"button__icon-mask",svgClassName:"button__icon-svg"}),Bt=()=>we==="dot"?n.jsxs(n.Fragment,{children:[it(u),me&&n.jsx("span",{className:`button__label ${L}`,children:We()})]}):_==="center"&&u?n.jsxs(n.Fragment,{children:[n.jsxs("span",{className:"button__center-group",children:[n.jsx("span",{className:"button__left",children:it(u)}),me&&n.jsx("span",{className:`button__label ${L}`,children:We()})]}),_e&&n.jsx("span",{className:"button__right",children:it(d)})]}):n.jsxs(n.Fragment,{children:[u&&n.jsx("span",{className:"button__left",children:it(u,C??Q)}),me&&n.jsx("span",{className:`button__label ${L}`,children:We()}),_e&&n.jsx("span",{className:"button__right",children:it(d)})]}),Nt=!!i&&!J;return n.jsxs(n.Fragment,{children:[n.jsxs(Nt?"a":"button",{...Oe,ref:Te,...Nt?{href:i,target:l,rel:c??(l==="_blank"?"noreferrer":void 0)}:{type:s,disabled:J&&!V&&!qe},className:Ve,"aria-pressed":Ie,"aria-expanded":typeof x=="boolean"?x:T["aria-expanded"],"aria-controls":v??T["aria-controls"],"aria-label":et,"aria-disabled":J&&(Nt||V||qe)?!0:void 0,"aria-describedby":ze,style:q,onClick:At,onMouseLeave:Ct,onPointerEnter:Le=>{Zn(Le)||Et(),!J&&typeof T.onPointerEnter=="function"&&T.onPointerEnter(Le)},onPointerLeave:Le=>{Zn(Le)||ut(),!J&&typeof T.onPointerLeave=="function"&&T.onPointerLeave(Le)},onPointerUp:Le=>{J&&Qe&&Ze.touchPress(Le.currentTarget),!J&&typeof T.onPointerUp=="function"&&T.onPointerUp(Le)},onFocus:Le=>{Se(!0),Xn()||Et(),!J&&typeof T.onFocus=="function"&&T.onFocus(Le)},onBlur:Le=>{Se(!1),J||Xe(Le),ut(),!J&&typeof T.onBlur=="function"&&T.onBlur(Le)},children:[Bt(),bt?n.jsx("span",{id:Ue,hidden:!0,"aria-label":bt}):null]}),te&&z?n.jsx(Pn,{anchorRect:be,title:z.title,items:z.items,onClose:He}):te&&rt?n.jsx(Bn,{anchorRect:be,text:rt,onClose:He}):null]})}const ce=o.forwardRef(U2);ce.displayName="Button";var G2={statusFilter:"\uC0C1\uD0DC \uD544\uD130",pageSizeSelect:"\uD398\uC774\uC9C0\uB2F9 \uD45C\uC2DC \uAC1C\uC218",selectedCount:"{{count}}\uAC1C \uC120\uD0DD\uB428",cancel:"\uCDE8\uC18C",info:"\uC124\uBA85",errorState:{message:"\uBD88\uB7EC\uC624\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4.",retry:"\uB2E4\uC2DC \uC2DC\uB3C4"},save:"\uC800\uC7A5",confirm:"\uD655\uC778",close:"\uB2EB\uAE30",back:"\uB4A4\uB85C",emptyTrainingName:"\uD6C8\uB828 \uC774\uB984\uC774 \uBE44\uC5B4 \uC788\uC2B5\uB2C8\uB2E4.",remove:"\uC81C\uAC70",image:"\uC774\uBBF8\uC9C0",delete:"\uC0AD\uC81C",reset:"\uCD08\uAE30\uD654",update:"\uC5C5\uB370\uC774\uD2B8",download:"\uB2E4\uC6B4\uB85C\uB4DC",search:"\uAC80\uC0C9",empty:"\uB370\uC774\uD130\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.",yes:"\uC608",no:"\uC544\uB2C8\uC624",all:"\uC804\uCCB4",none:"\uC5C6\uC74C",days:"{{count}}\uC77C",loadMore:"\uB354\uBCF4\uAE30",more:"\uB354\uBCF4\uAE30",moreFor:"{{name}} \uB354\uBCF4\uAE30",retry:"\uB2E4\uC2DC \uC2DC\uB3C4",prevPage:"\uC774\uC804 \uD398\uC774\uC9C0",nextPage:"\uB2E4\uC74C \uD398\uC774\uC9C0",play:"\uC7AC\uC0DD",pause:"\uBA48\uCDA4",playPause:"\uC7AC\uC0DD / \uBA48\uCDA4",replay:"\uB2E4\uC2DC\uB4E3\uAE30",subscription:"\uC774\uC6A9\uAD8C",done:"\uC644\uB8CC",failed:"\uC2E4\uD328",continue:"\uACC4\uC18D",notification:"\uC54C\uB9BC",emptyList:"\uD56D\uBAA9\uC774 \uC5C6\uC2B5\uB2C8\uB2E4.",menu:"\uBA54\uB274",resetSelection:"\uC120\uD0DD \uCD08\uAE30\uD654",pageSizeLabel:"{{n}}\uAC1C\uC529 \uBCF4\uAE30",totalCountPrefix:"\uCD1D ",totalCountSuffix:"\uAC1C",expand:"\uD3BC\uCE58\uAE30",collapse:"\uC811\uAE30",popup:"\uD31D\uC5C5",codeBlock:"\uCF54\uB4DC \uBE14\uB85D",totalPrefix:"\uCD1D ",copyCode:"\uCF54\uB4DC \uBCF5\uC0AC",copied:"\uBCF5\uC0AC\uB428",col:{problem:"\uBB38\uC81C"},phonetics:{place:{labial:"\uC591\uC21C\uC74C",alveolar:"\uCE58\uC870\uC74C",palatal:"\uACBD\uAD6C\uAC1C\uC74C",velar:"\uC5F0\uAD6C\uAC1C\uC74C",glottal:"\uC131\uBB38\uC74C"},vowel:{frontHigh:"\uC804\uC124 \uACE0\uBAA8\uC74C",backHighUnrounded:"\uD6C4\uC124 \uACE0\uBAA8\uC74C \uD3C9\uC21C",backHighRounded:"\uD6C4\uC124 \uACE0\uBAA8\uC74C \uC6D0\uC21C",frontMid:"\uC804\uC124 \uC911\uBAA8\uC74C",backMidUnrounded:"\uD6C4\uC124 \uC911\uBAA8\uC74C \uD3C9\uC21C",backMidRounded:"\uD6C4\uC124 \uC911\uBAA8\uC74C \uC6D0\uC21C",low:"\uC800\uBAA8\uC74C"},glide:{j:"j\uD65C\uC74C",w:"w\uD65C\uC74C",velar:"\u0270\uD65C\uC74C"}},unknownError:"\uC54C \uC218 \uC5C6\uB294 \uC624\uB958",networkError:"\uB124\uD2B8\uC6CC\uD06C \uC5F0\uACB0\uC774 \uBD88\uC548\uC815\uD569\uB2C8\uB2E4. \uC5F0\uACB0 \uC0C1\uD0DC\uB97C \uD655\uC778\uD55C \uB4A4 \uB2E4\uC2DC \uC2DC\uB3C4\uD574 \uC8FC\uC138\uC694."},K2={rangeSelect:"\uAE30\uAC04 \uC120\uD0DD",dow:["\uC77C","\uC6D4","\uD654","\uC218","\uBAA9","\uAE08","\uD1A0"],yearMonth:"{{year}}\uB144 {{month}}\uC6D4",prevMonth:"\uC774\uC804 \uB2EC",addOnDate:"{{date}}\uC5D0 \uBC29\uBB38 \uB4F1\uB85D",nextMonth:"\uB2E4\uC74C \uB2EC",prevWeek:"\uC774\uC804 \uC8FC",nextWeek:"\uB2E4\uC74C \uC8FC",legend:{visited:"\uBC29\uBB38",scheduled:"\uC608\uC57D",noVisit:"\uBBF8\uBC29\uBB38"},periodSelect:"\uAE30\uAC04 \uB2E8\uC704"},Y2={planSuffix:"\uC774\uC6A9\uAD8C",labeledPlan:"{{label}} \uC774\uC6A9\uAD8C",couponCode:"\uC774\uC6A9\uAD8C \uCF54\uB4DC",specialLabel:"\uC624\uD508\uD2B9\uAC00",unitDay:"\uC77C",unitYear:"\uB144",remainingDay:"{{n}}\uC77C \uB0A8\uC74C",remainingHour:"{{n}}\uC2DC\uAC04 \uB0A8\uC74C",remainingMinute:"{{n}}\uBD84 \uB0A8\uC74C",remainingSecond:"{{n}}\uCD08 \uB0A8\uC74C",menu:{use:"\uC0AC\uC6A9\uD558\uAE30",refund:"\uD658\uBD88\uD558\uAE30",delete:"\uC0AD\uC81C\uD558\uAE30"}},Z2={clearAriaLabel:"\uAC80\uC0C9\uC5B4 \uC9C0\uC6B0\uAE30"},X2={starLabel:"{{n}}\uBC88\uC9F8 \uBCC4 \uC120\uD0DD",valueLabel:"{{max}}\uC810 \uB9CC\uC810\uC5D0 {{value}}\uC810",groupLabel:"\uBCC4\uC810"},J2={selected:"\uC120\uD0DD\uB428"},Q2={placeholder:"\uC120\uD0DD"},ef={collapse:"\uC811\uAE30",expand:"\uD3BC\uCE58\uAE30"},tf={biArea:"BI \uC601\uC5ED",biSymbol:"BI \uC2EC\uBCFC",logoMalgwi:"\uB9D0\uADC0 \uB85C\uACE0",logoManager:"\uB9D0\uADC0\uB9E4\uB2C8\uC800 \uB85C\uACE0",menuOpen:"\uBA54\uB274 \uC5F4\uAE30",utilMenu:"\uC720\uD2F8\uB9AC\uD2F0 \uBA54\uB274",menuClose:"\uBA54\uB274 \uB2EB\uAE30"},nf={mainMenu:"\uBA54\uC778 \uBA54\uB274",bottomNav:"\uD558\uB2E8 \uB124\uBE44\uAC8C\uC774\uC158",goToManager:"\uB9D0\uADC0\uB9E4\uB2C8\uC800\uB85C \uC774\uB3D9",goToMalgwi:"\uB9D0\uADC0\uB85C \uC774\uB3D9",modeLabelManager:"\uB9D0\uADC0 \uB9E4\uB2C8\uC800",modeLabelMalgwi:"\uB9D0\uADC0",training:"\uD6C8\uB828",settings:"\uC124\uC815",notifications:"\uC54C\uB9BC",account:"\uACC4\uC815",help:"\uB3C4\uC6C0\uB9D0",debug:"\uB514\uBC84\uADF8",coupons:"\uCFE0\uD3F0",topic:"\uC8FC\uC81C\uBCC4 \uB4E3\uAE30",trainingType:"\uD6C8\uB828\uBCC4 \uB4E3\uAE30",wordPairs:"\uB300\uB9BD\uC30D \uCC3E\uAE30",wordSearch:"\uB2E8\uC5B4 \uCC3E\uAE30",wordTable:"\uB2E8\uC5B4\uD45C \uB9CC\uB4E4\uAE30",company:"\uC5C5\uCCB4\uC815\uBCF4",more:"\uB354\uBCF4\uAE30",moreMenu:"\uB354\uBCF4\uAE30 \uBA54\uB274",badgeLabel:"{{label}}, {{count}}\uAC1C"},af={language:{training:{label:"\uD6C8\uB828 \uC5B8\uC5B4",sub:"\uD6C8\uB828\uC5D0 \uC0AC\uC6A9\uB418\uB294 \uB2E8\uC5B4\uC640 \uC74C\uC131 \uC5B8\uC5B4"}},notifications:{title:"\uC54C\uB9BC"},display:{fontSize:{small:"\uC791\uAC8C",large:"\uD06C\uAC8C"}},cache:{title:"\uCE90\uC2DC \uAD00\uB9AC",confirmMessage:"\uCE90\uC2DC({{size}})\uB97C \uC0AD\uC81C\uD569\uB2C8\uB2E4. \uACC4\uC18D\uD558\uC2DC\uACA0\uC2B5\uB2C8\uAE4C?",delete:"\uC0AD\uC81C",deleting:"\uC0AD\uC81C \uC911",cleared:"\uCE90\uC2DC\uAC00 \uC0AD\uC81C\uB418\uC5C8\uC2B5\uB2C8\uB2E4.",group:{wordData:{label:"\uB2E8\uC5B4 \uB370\uC774\uD130",sub:"\uB2E8\uC5B4 \uBAA9\uB85D \uBC0F \uBC84\uC804 \uC815\uBCF4"},pairIndex:{label:"\uB2E8\uC5B4\uC30D \uC778\uB371\uC2A4",sub:"\uCD08\uC131\xB7\uC911\uC131\xB7\uC885\uC131 \uB300\uB9BD\uC30D \uBD84\uC11D \uCE90\uC2DC"},imageCache:{label:"\uC774\uBBF8\uC9C0 \uCE90\uC2DC",sub:"\uB2E8\uC5B4\uBCC4 \uC774\uBBF8\uC9C0 \uC874\uC7AC \uC5EC\uBD80 \uD655\uC778 \uACB0\uACFC"},trainingRecord:{label:"\uD6C8\uB828 \uAE30\uB85D",sub:"\uC624\uB298\uC758 \uD6C8\uB828 \uC9C4\uD589\uB960 \uBC0F \uD559\uC2B5 \uC77C\uC218"}}},button:{save:"\uC124\uC815 \uC800\uC7A5"},popup:{clear:{confirm:"\uCD08\uAE30\uD654"},update:{confirm:"\uC5C5\uB370\uC774\uD2B8"},cache:{title:"{{label}} \uC0AD\uC81C",message:"{{label}}({{size}})\uB97C \uC0AD\uC81C\uD569\uB2C8\uB2E4. \uACC4\uC18D\uD558\uC2DC\uACA0\uC2B5\uB2C8\uAE4C?"}},saved:"\u2713 \uC800\uC7A5\uB428",account:{title:"\uACC4\uC815",delete:{sub:"\uD0C8\uD1F4 \uD6C4 30\uC77C \uC774\uB0B4 \uC7AC\uAC00\uC785 \uC2DC \uBCF5\uAD6C \uAC00\uB2A5\uD569\uB2C8\uB2E4."}}},rf={addButton:"\uC774\uC6A9\uAD8C \uCD94\uAC00\uD558\uAE30",couponButton:"\uCFE0\uD3F0 \uC785\uB825",loading:"\uBD88\uB7EC\uC624\uB294 \uC911\u2026",segment:{personal:"\uB9D0\uADC0",org:"\uB9D0\uADC0\uB9E4\uB2C8\uC800"},org:{title:"\uD604\uC7AC \uC774\uC6A9\uAD8C",disc:"\uAE30\uAD00\uC5D0\uC11C \uC0AC\uC6A9 \uC911\uC778 \uC774\uC6A9\uAD8C \uC815\uBCF4\uC785\uB2C8\uB2E4.",empty:"\uB4F1\uB85D\uB41C \uAE30\uAD00 \uC774\uC6A9\uAD8C\uC774 \uC5C6\uC2B5\uB2C8\uB2E4.",fallbackTitle:"\uAE30\uAD00 \uC774\uC6A9\uAD8C",startDate:"\uC2DC\uC791\uC77C",endDate:"\uB9CC\uB8CC\uC77C",remaining:"\uB0A8\uC740 \uAE30\uAC04",duration:"\uC774\uC6A9 \uAE30\uAC04"},active:{infoTitle:"\uC774\uC6A9 \uC815\uBCF4",refund:"\uD658\uBD88 \uC694\uCCAD",startDate:"\uC0AC\uC6A9 \uC2DC\uC791\uC77C",endDate:"\uC885\uB8CC\uC77C",remaining:"\uB0A8\uC740 \uAE30\uAC04"},pending:{title:"\uBCF4\uC720",empty:"\uB300\uAE30 \uC911\uC778 \uC774\uC6A9\uAD8C\uC774 \uC5C6\uC2B5\uB2C8\uB2E4."}},of={profile:{planSuffix:"\uD50C\uB79C",plan:"\uD50C\uB79C"},basicInfo:{name:{placeholder:"\uD64D\uAE38\uB3D9"}},security:{title:"\uBCF4\uC548",password:{label:"\uBE44\uBC00\uBC88\uD638",currentRequired:"\uD604\uC7AC \uBE44\uBC00\uBC88\uD638\uB97C \uC785\uB825\uD558\uC138\uC694.",newRequired:"\uC0C8 \uBE44\uBC00\uBC88\uD638\uB97C \uC785\uB825\uD558\uC138\uC694.",mismatch:"\uC0C8 \uBE44\uBC00\uBC88\uD638\uAC00 \uC77C\uCE58\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.",changed:"\uBE44\uBC00\uBC88\uD638\uAC00 \uBCC0\uACBD\uB418\uC5C8\uC2B5\uB2C8\uB2E4."},twoFactor:{label:"2\uB2E8\uACC4 \uC778\uC99D",sub:"\uACC4\uC815 \uBCF4\uC548\uC744 \uAC15\uD654\uD558\uC138\uC694"}}},sf={guide:{faq:{title:"\uC790\uC8FC \uBB3B\uB294 \uC9C8\uBB38",desc:"FAQ \uBAA8\uC544\uBCF4\uAE30"}}},lf={settings:"\uC124\uC815",start:{title:"\uB2E8\uC5B4\uD6C8\uB828 \uC2DC\uC791",description:"\uC544\uB798 \uD6C8\uB828 \uC720\uD615\uC744 \uC120\uD0DD\uD574 \uC2DC\uC791\uD558\uC138\uC694"},difficulty:{tooltip:"\uAC00\uC7A5 \uC26C\uC6B4 \uB09C\uC774\uB3C4\uB294 '\uBB34\uC791\uC704', \uAC00\uC7A5 \uC5B4\uB824\uC6B4 \uB09C\uC774\uB3C4\uB294 '\uCD08\uC131\uCC28\uC774' \uC785\uB2C8\uB2E4."},contrast:{label:"\uB300\uB9BD",type:"\uB300\uB9BD \uC885\uB958",count:"\uB300\uB9BD \uAC2F\uC218",n:"{{n}}\uAC1C"},filter:{random:"\uBB34\uC791\uC704",trainOnset:"\uCD08\uC131",trainVowel:"\uBAA8\uC74C",trainCoda:"\uC885\uC131",phonemeGroup:"\uD6C8\uB828 \uC74C\uC808",noLimit:"\uBB34\uAD00",codaExclude:"\uC81C\uC678",gradeLabel:"\uB4F1\uAE09",excludeImageInfo:"\uC774\uBBF8\uC9C0 \uC788\uB294 \uB2E8\uC5B4\uB9CC: \uB2E8\uC5B4 \uC911\uC5D0 \uC774\uBBF8\uC9C0\uAC00 \uC788\uB294 \uB2E8\uC5B4\uB9CC \uACB0\uACFC\uC5D0 \uBCF4\uC5EC\uC90D\uB2C8\uB2E4.",sameStructureInfo:"\uC74C\uC18C \uAD6C\uC870 \uAC19\uC740 \uB2E8\uC5B4\uB9CC: \uC815\uB2F5\uACFC \uC624\uB2F5\uC758 \uC74C\uC808 \uAD6C\uC870(\uAE00\uC790 \uC218\xB7\uBC1B\uCE68 \uC720\uBB34 \uB4F1)\uAC00 \uAC19\uC740 \uACB0\uACFC\uB9CC \uB0A8\uACA8\uC694.",selectSection:"\uC120\uD0DD",excludeImage:"\uC774\uBBF8\uC9C0 \uC788\uB294 \uB2E8\uC5B4\uB9CC",sameStructure:"\uC74C\uC18C \uAD6C\uC870 \uAC19\uC740 \uB2E8\uC5B4\uB9CC"},noQuestions:"\uBB38\uC81C\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.",countQuestions:"{{n}}\uBB38\uC81C",countSentences:"{{n}}\uBB38\uC7A5",comingSoon:"\uC900\uBE44 \uC911",nextQuestion:"\uB2E4\uC74C \uBB38\uC81C",noiseRatioTitle:"\uC18C\uC74C \uBE44\uC728",noiseRatioValue:"{{ratio}}\uBC30",noiseTypeTitle:"\uC18C\uC74C \uC885\uB958",playVolumeTitle:"\uC804\uCCB4 \uC18C\uB9AC",playSpeedTitle:"\uC7AC\uC0DD \uC18D\uB3C4",meter:{sentence:"\uC7AC\uC0DD",noise:"\uC18C\uC74C",toggle:"\uC624\uB514\uC624 \uBBF8\uD130 \uD45C\uC2DC"},viewResult:"\uACB0\uACFC\uBCF4\uAE30",problemNotice:"{{n}}\uBC88 \uBB38\uC81C \uC785\uB2C8\uB2E4.",trainingSettingsTitle:"\uD6C8\uB828 \uC124\uC815",sentencePreview:"\uBB38\uC7A5 \uBBF8\uB9AC\uBCF4\uAE30",notHeard:"\uC548 \uB4E4\uB838\uC5B4\uC694.",heardWell:"\uC798 \uB4E4\uB838\uC5B4\uC694.",confirmTitle:"\uBB38\uC7A5\uC744 \uD655\uC778\uD558\uACE0 \uC798 \uB4E4\uB838\uB294\uC9C0 \uC120\uD0DD\uD558\uC138\uC694.",noSoundWaveform:"\uC18C\uB9AC \uBE44\uAD50 \uBB38\uC81C\uB294 \uC6E8\uC774\uBE0C\uD3FC\uC744 \uD45C\uD604\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.",noise:{level:{none:"\uC5C6\uC74C",weak:"\uC57D\uD568",medium:"\uBCF4\uD1B5",strong:"\uAC15\uD568",veryStrong:"\uB9E4\uC6B0 \uAC15\uD568"},type:{none:"\uC5C6\uC74C",default:"\uAE30\uBCF8",street:"\uAE38\uAC70\uB9AC",buzz:"\uC640\uAE00\uC640\uAE00",restaurant:"\uC2DD\uB2F9"}},listenTitle:"\uC81C\uC2DC\uD558\uB294 \uBB38\uC7A5\uC744 \uB4E4\uC5B4\uC8FC\uC138\uC694.",listenButton:"\uBB38\uC7A5 \uB4E3\uAE30",playSound:"\uC18C\uB9AC \uB4E3\uAE30",playAll:"\uBAA8\uB450 \uB4E3\uAE30",selectInOrder:"\uB4E4\uC740 \uC21C\uC11C\uB300\uB85C \uCE74\uB4DC\uB97C \uC120\uD0DD\uD558\uC138\uC694.",stop:"\uC815\uC9C0",preview:"\uBBF8\uB9AC \uB4E3\uAE30",next:"\uB2E4\uC74C",completed:"\uD6C8\uB828 \uC644\uB8CC",selected:"\uC120\uD0DD\uB428",nthSelected:"{{n}}\uBC88\uC9F8 \uC120\uD0DD",fontSizeMin:"\uAE00\uC528 \uD06C\uAE30\uAC00 \uCD5C\uC18C\uC785\uB2C8\uB2E4.",fontSizeMax:"\uAE00\uC528 \uD06C\uAE30\uAC00 \uCD5C\uB300\uC785\uB2C8\uB2E4.",fontSizeDecrease:"\uAE00\uC790 \uD06C\uAE30 \uAC10\uC18C",fontSizeIncrease:"\uAE00\uC790 \uD06C\uAE30 \uC99D\uAC00",toggleBackground:"\uBC30\uACBD \uC804\uD658",cardInstructions:"\uB0B1\uB9D0 \uCE74\uB4DC\uB97C \uBCF4\uACE0 \uC18C\uB9AC\uB97C \uB4E3\uACE0 \uD655\uC778\uD558\uC138\uC694.",noCards:"\uCE74\uB4DC\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.",audioFetchError:"\uC0AC\uC6B4\uB4DC \uC18C\uC2A4\uB97C \uAC00\uC838\uC624\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4.",ttsUnavailable:"\uC774 \uAE30\uAE30\uC5D0\uC11C\uB294 \uC74C\uC131\uC744 \uB4E4\uB824\uC904 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.",selectConfirm:"\uBB38\uC81C\uB97C \uBCF4\uACE0 \uD574\uB2F9\uD558\uB294 \uB0B4\uC6A9\uC744 \uC120\uD0DD\uD558\uC138\uC694.",orderListDefault:"\uBB38\uC7A5\uC744 \uB4E4\uC740 \uC21C\uC11C\uB300\uB85C \uBC30\uCE58\uD558\uC138\uC694.",result:{pendingDone:"\uACB0\uACFC\uB97C \uACC4\uC0B0\uD558\uB294 \uC911\uC774\uB77C \uC544\uC9C1 \uC644\uB8CC\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.",eyebrow:"\uD6C8\uB828 \uC644\uB8CC",title:"\uD6C8\uB828\uC744 \uBAA8\uB450 \uB9C8\uCCE4\uC2B5\uB2C8\uB2E4.",scoreAria:"{{correct}} / {{total}} \uBB38\uD56D",elapsed:"\uC18C\uC694 \uC2DC\uAC04",summary:"{{correct}}\uAC1C\uC758 \uBB38\uD56D\uC744 \uC798 \uB4E4\uC5C8\uC2B5\uB2C8\uB2E4.",tableAriaLabel:"\uBB38\uD56D\uBCC4 \uD310\uC815",colJudge:"\uD310\uC815",colAnswerSelected:"\uC815\uB2F5 \xB7 \uC120\uD0DD",colAnswer:"\uC815\uB2F5",colSelected:"\uC120\uD0DD",heardWell:"\uC798 \uB4E4\uC5C8\uC5B4\uC694",notHeard:"\uBABB \uB4E4\uC5C8\uC5B4\uC694",notJudged:"\uBBF8\uD310\uC815",replay:"\uB2E4\uC2DC\uD558\uAE30",done:"\uC644\uB8CC",viewResult:"\uACB0\uACFC \uD655\uC778",noContent:"(\uB0B4\uC6A9\uC5C6\uC74C)"},up:"\uC704\uB85C",down:"\uC544\uB798\uB85C",prev:"\uC774\uC804",listenLabel:"\uBB38\uC7A5 \uB4E3\uAE30",sourcePlay:"\uC18C\uC2A4 {{n}} \uC7AC\uC0DD",listen:"\uB4E3\uAE30",audioStatus:{idle:"\uB300\uAE30",resolving:"\uB9AC\uC18C\uC2A4 \uB9E4\uD551 \uC911\u2026",checking_exists:"\uD30C\uC77C \uC874\uC7AC \uD655\uC778\u2026",getting_signed_url:"\uC11C\uBA85 URL \uC870\uD68C\u2026",downloading:"\uB2E4\uC6B4\uB85C\uB4DC \uC911\u2026",measuring_duration:"\uC624\uB514\uC624 \uAE38\uC774 \uCE21\uC815\u2026",ready:"\uC900\uBE44 \uC644\uB8CC",error:"\uC624\uB958 \uBC1C\uC0DD"}},cf={totalCount:"\uAC1C\uC758 \uD6C8\uB828 \uBB36\uC74C",renameGroup:"\uADF8\uB8F9 \uC774\uB984 \uBC14\uAFB8\uAE30",itemCount:"\uD6C8\uB828 \uAC1C\uC218",menu:{edit:"\uD6C8\uB828 \uBB36\uC74C \uC218\uC815",rename:"\uC774\uB984 \uBC14\uAFB8\uAE30",move:"\uADF8\uB8F9 \uC774\uB3D9",duplicate:"\uD6C8\uB828 \uBB36\uC74C \uBCF5\uC0AC",publish:"\uB9D0\uADC0\uC790\uB8CC\uC2E4\uC5D0 \uC62C\uB9AC\uAE30"},sort:{customers:"\uD6C8\uB828 \uACE0\uAC1D"},copyLink:"\uB9C1\uD06C \uBCF5\uC0AC",removeLink:"\uB9C1\uD06C \uC81C\uAC70",linkRemoved:"\uB9C1\uD06C\uAC00 \uC81C\uAC70\uB418\uC5C8\uC2B5\uB2C8\uB2E4.",linkSaveFirst:"\uBA3C\uC800 \uD6C8\uB828 \uBB36\uC74C\uC744 \uC800\uC7A5\uD574\uC8FC\uC138\uC694.",linkSaveFirstHint:"\uC800\uC7A5\uB41C \uD6C8\uB828 \uBB36\uC74C\uC5D0\uC11C\uB9CC \uACF5\uC720 \uB9C1\uD06C\uB97C \uC0DD\uC131\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4.",linkCopySelect:"\uBCF5\uC0AC\uAC00 \uB9C9\uD600 \uB9C1\uD06C\uB97C \uC120\uD0DD\uD588\uC2B5\uB2C8\uB2E4. Ctrl/\u2318+C\uB85C \uBCF5\uC0AC\uD558\uC138\uC694.",nameRequired:"\uD6C8\uB828 \uBB36\uC74C \uC774\uB984\uC744 \uC785\uB825\uD574\uC8FC\uC138\uC694.",itemRequired:"\uD6C8\uB828\uC744 1\uAC1C \uC774\uC0C1 \uB2F4\uC544\uC8FC\uC138\uC694.",randomAdd:"\uBB34\uC791\uC704 \uCD94\uAC00"},uf={totalCount:"\uBA85\uC758 \uACE0\uAC1D",loadError:"\uBAA9\uB85D\uC744 \uBD88\uB7EC\uC624\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4.",basicInfo:{editTooltip:"\uC218\uC815\uD558\uAE30"},member:{placeholder:"\uC774\uBA54\uC77C \uB610\uB294 \uC804\uD654",link:"\uC5F0\uACB0",linking:"\uC5F0\uACB0 \uC911\u2026"},device:{title:"\uCCAD\uAC01\uC7AC\uD65C\uAE30\uAE30",addTooltip:"\uC0C8\uB85C \uC0DD\uC131",addButton:"\uAE30\uAE30 \uCD94\uAC00",listTooltip:"\uBAA9\uB85D \uBCF4\uAE30",listTitle:"\uCE21 \uAE30\uAE30 \uBAA9\uB85D",historyEmpty:"\uB4F1\uB85D\uB41C \uAE30\uAE30 \uC774\uB825\uC774 \uC5C6\uC2B5\uB2C8\uB2E4.",wearing:"\uCE21 \uCC29\uC6A9\uC911",notRegistered:"\uBBF8\uB4F1\uB85D",unit:"\uAC1C",wearingNow:"\uCC29\uC6A9",wear:"\uCC29\uC6A9",unwear:"\uCC29\uC6A9 \uD574\uC81C",wornSince:"{{date}}\uBD80\uD130",release:"\uD574\uC81C",historyTitle:"\uCCAD\uAC01\uC7AC\uD65C\uAE30\uAE30 \uC774\uB825"},schedule:{title:"\uBC29\uBB38 \uC608\uC815",addTooltip:"\uC608\uC815 \uB4F1\uB85D",listTooltip:"\uC804\uCCB4 \uBCF4\uAE30",empty:"\uC608\uC815\uB41C \uBC29\uBB38\uC774 \uC5C6\uC2B5\uB2C8\uB2E4.",registerTitle:" \uACE0\uAC1D\uB2D8 \uBC29\uBB38 \uC608\uC815 \uB4F1\uB85D",memoPlaceholder:"\uBC29\uBB38 \uC608\uC815 \uAD00\uB828 \uBA54\uBAA8\uB97C \uC785\uB825\uD574 \uC8FC\uC138\uC694."},visitHistory:{title:"\uBC29\uBB38 \uC774\uB825",addTooltip:"\uC2E0\uADDC \uB4F1\uB85D",empty:"\uC544\uC9C1 \uBC29\uBB38 \uAE30\uB85D\uC774 \uC5C6\uC2B5\uB2C8\uB2E4.",popupTitle:" \uACE0\uAC1D\uB2D8 \uBC29\uBB38 \uC774\uB825",registerTitle:" \uACE0\uAC1D\uB2D8 \uC2E0\uADDC \uBC29\uBB38 \uB4F1\uB85D"},homework:{title:"\uC219\uC81C \uC9C4\uD589\uC0C1\uD669",active:"\uD65C\uC131",inactive:"\uBE44\uD65C\uC131",copy:"\uB9C1\uD06C \uBCF5\uC0AC",copied:"\uB9C1\uD06C\uAC00 \uBCF5\uC0AC\uB418\uC5C8\uC2B5\uB2C8\uB2E4."},moreItems:"\uB354 \uC788\uC74C",viewAll:"\uC804\uCCB4 \uBCF4\uAE30",visits:{title:"\uBC29\uBB38"},trainingRecord:{title:"\uACE0\uAC1D \uD6C8\uB828 \uAE30\uB85D"},status:{trainingSubtitle:"\uD6C8\uB828 \uD604\uD669"},detail:{session:{completedFmt:"\uC644\uB8CC {{done}}/{{total}} \xB7 {{duration}}"},visitSuffix:"\uC758 \uBC29\uBB38"},duration:{minSec:"{{m}}\uBD84 {{s}}\uCD08",min:"{{m}}\uBD84",sec:"{{s}}\uCD08"}},df={plan:{recommendedFor:"\uC774\uB7F0 \uBD84\uAED8 \uCD94\uCC9C\uD569\uB2C8\uB2E4.",features:"\uD575\uC2EC \uAE30\uB2A5",freePrice:"\uBB34\uB8CC",contact:"\uBB38\uC758\uD558\uAE30",tierFallback:"\uC774\uC6A9\uAD8C",openPromo:"\uC624\uD508 \uD2B9\uAC00"},products:{mgrEnterprise:{tier:{price:"\uBB38\uC758"}}}},pf={title:"\uCFE0\uD3F0",subtitle:"\uCFE0\uD3F0 \uCF54\uB4DC\uB97C \uC785\uB825\uD558\uAC70\uB098 \uBCF4\uC720 \uCFE0\uD3F0\uC744 \uD655\uC778\uD558\uC138\uC694.",input:{label:"\uCFE0\uD3F0 \uCF54\uB4DC",placeholder:"\uCFE0\uD3F0 \uCF54\uB4DC \uC785\uB825"},applyButton:"\uC801\uC6A9",error:{invalid:"\uC720\uD6A8\uD558\uC9C0 \uC54A\uC740 \uCFE0\uD3F0 \uCF54\uB4DC\uC785\uB2C8\uB2E4.",alreadyUsed:"\uC774\uBBF8 \uC0AC\uC6A9\uB41C \uCFE0\uD3F0\uC785\uB2C8\uB2E4."},success:{applied:'"{{name}}" \uCFE0\uD3F0\uC774 \uC801\uC6A9\uB418\uC5C8\uC2B5\uB2C8\uB2E4.'},section:{owned:"\uBCF4\uC720 \uCFE0\uD3F0"},status:{used:"\uC0AC\uC6A9 \uC644\uB8CC",available:"\uC0AC\uC6A9 \uAC00\uB2A5"}},mf={unitVisit:"\uAC74",periodAll:"\uC804\uCCB4",showN:"{{n}}\uAC1C\uC529"},hf={subtitle:"\uC5C5\uCCB4 \uBC0F \uBC95\uC778 \uC815\uBCF4\uB97C \uAD00\uB9AC\uD558\uC138\uC694.",editButton:"\uC815\uBCF4 \uC218\uC815",basicInfo:{title:"\uAE30\uBCF8 \uC815\uBCF4"},contactInfo:{title:"\uC5F0\uB77D\uCC98 \uC815\uBCF4"}},ff={title:"\uD6C8\uB828\uBCC4 \uB4E3\uAE30",subtitle:"\uC6D0\uD558\uB294 \uD6C8\uB828 \uC720\uD615\uC744 \uC120\uD0DD\uD558\uC138\uC694.",listenInNoise:{title:"\uC18C\uC74C \uD558 \uBB38\uC7A5 \uB4E3\uAE30",desc:"\uB2E4\uC591\uD55C \uC18C\uC74C \uD658\uACBD\uC5D0\uC11C \uBB38\uC7A5 \uCCAD\uB825\uC744 \uD6C8\uB828\uD569\uB2C8\uB2E4."},shortStory:{title:"\uC9E7\uC740 \uC774\uC57C\uAE30 \uB4E3\uAE30",desc:"\uC9E7\uC740 \uC774\uC57C\uAE30\uB97C \uB4E3\uACE0 \uB0B4\uC6A9\uC744 \uC774\uD574\uD569\uB2C8\uB2E4."},longStory:{title:"\uAE34 \uC774\uC57C\uAE30 \uB4E3\uAE30",desc:"\uAE34 \uC774\uC57C\uAE30\uB97C \uC9D1\uC911\uD574\uC11C \uB4E3\uACE0 \uB0B4\uC6A9\uC744 \uD30C\uC545\uD569\uB2C8\uB2E4."},orderingSentence:{title:"\uBB38\uC7A5 \uC21C\uC11C\uD654",desc:"\uB4E4\uC740 \uBB38\uC7A5\uB4E4\uC744 \uC62C\uBC14\uB978 \uC21C\uC11C\uB85C \uBC30\uC5F4\uD569\uB2C8\uB2E4."},SAME_SOUND_PICK:{label:"\uAC19\uC740 \uC18C\uB9AC \uACE0\uB974\uAE30",sub:"\uB4E4\uC740 \uC18C\uB9AC\uC640 \uAC19\uC740 \uB2E8\uC5B4 \uCE74\uB4DC\uB97C \uACE0\uB974\uC138\uC694."},SAME_OR_DIFF:{label:"\uAC19\uC740\uC9C0 \uB2E4\uB978\uC9C0 \uB9DE\uD788\uAE30",sub:"\uB450 \uC18C\uB9AC\uAC00 \uAC19\uC740\uC9C0, \uB2E4\uB978\uC9C0 \uAD6C\uBD84\uD558\uC138\uC694."},HEAR_AND_PICK_SAME:{label:"\uC77C\uCE58\uD558\uB294 \uB2E8\uC5B4 \uB9DE\uD788\uAE30",sub:"\uB4E4\uC740 \uC18C\uB9AC\uC758 \uB2E8\uC5B4 \uCE74\uB4DC\uB97C \uACE0\uB974\uC138\uC694."},HEAR_AND_PICK_INCLUDED:{label:"\uD55C \uC74C\uC808 \uD3EC\uD568 \uB2E8\uC5B4 \uB9DE\uD788\uAE30",sub:"\uB4E4\uC740 \uC74C\uC808\uC774 \uD3EC\uD568\uB41C \uB2E8\uC5B4 \uCE74\uB4DC\uB97C \uACE0\uB974\uC138\uC694."},STARTS_WITH_SAME_SOUND:{label:"\uCCAB \uC74C\uC808\uC774 \uAC19\uC740 \uB2E8\uC5B4 \uB9DE\uD788\uAE30",sub:"\uB4E4\uC740 \uB2E8\uC5B4\uC640 \uAC19\uC740 \uC18C\uB9AC\uB85C \uC2DC\uC791\uD558\uB294 \uB2E8\uC5B4\uB97C \uACE0\uB974\uC138\uC694."},LISTEN_AND_REMEMBER_ORDER:{label:"\uB4E3\uACE0 \uC21C\uC11C\uB300\uB85C \uAE30\uC5B5\uD558\uAE30",sub:"\uC138 \uB2E8\uC5B4\uB97C \uB4E4\uC740 \uC21C\uC11C\uB300\uB85C \uCE74\uB4DC\uB97C \uC120\uD0DD\uD558\uC138\uC694."},MERGE_2_SYLLABLES:{label:"\uC74C\uC808 2\uAC1C \uD569\uCE58\uAE30",sub:"\uB450 \uC74C\uC808\uC744 \uD569\uCE58\uBA74 \uC5B4\uB5A4 \uB2E8\uC5B4\uAC00 \uB420\uAE4C\uC694?"},MERGE_3_SYLLABLES:{label:"\uC74C\uC808 3\uAC1C \uD569\uCE58\uAE30",sub:"\uC138 \uC74C\uC808\uC744 \uD569\uCE58\uBA74 \uC5B4\uB5A4 \uB2E8\uC5B4\uAC00 \uB420\uAE4C\uC694?"},MERGE_2_PHONEMES:{label:"\uC74C\uC18C 2\uAC1C \uD569\uCE58\uAE30",sub:"\uB450 \uC74C\uC18C\uB97C \uD569\uCE58\uBA74 \uC5B4\uB5A4 \uC18C\uB9AC\uAC00 \uB420\uAE4C\uC694?"},MERGE_3_PHONEMES:{label:"\uC74C\uC18C 3\uAC1C \uD569\uCE58\uAE30",sub:"\uC138 \uC74C\uC18C\uB97C \uD569\uCE58\uBA74 \uC5B4\uB5A4 \uC18C\uB9AC\uAC00 \uB420\uAE4C\uC694?"},DROP_1_FROM_2SYLL:{label:"2\uC74C\uC808\uC5D0\uC11C \uD55C \uC74C\uC808 \uD0C8\uB77D",sub:"2\uC74C\uC808 \uB2E8\uC5B4\uC5D0\uC11C \uD55C \uC74C\uC808\uC744 \uBE7C\uBA74 \uC5B4\uB5A4 \uC18C\uB9AC\uAC00 \uB420\uAE4C\uC694?"},DROP_1_FROM_3SYLL:{label:"3\uC74C\uC808\uC5D0\uC11C \uD55C \uC74C\uC808 \uD0C8\uB77D",sub:"3\uC74C\uC808 \uB2E8\uC5B4\uC5D0\uC11C \uD55C \uC74C\uC808\uC744 \uBE7C\uBA74 \uC5B4\uB5A4 \uC18C\uB9AC\uAC00 \uB420\uAE4C\uC694?"},DROP_PART_FROM_COMPOUND:{label:"\uD569\uC131\uC5B4\uC5D0\uC11C \uBD80\uBD84 \uD0C8\uB77D",sub:"\uD569\uC131\uC5B4\uC758 \uC77C\uBD80\uB97C \uBE7C\uBA74 \uC5B4\uB5A4 \uB2E8\uC5B4\uAC00 \uB420\uAE4C\uC694?"},DROP_FINAL_CONSONANT_FROM_1SYLL:{label:"1\uC74C\uC808\uC5D0\uC11C \uBC1B\uCE68 \uD0C8\uB77D",sub:"\uBC1B\uCE68\uC744 \uBE7C\uBA74 \uC5B4\uB5A4 \uC18C\uB9AC\uAC00 \uB420\uAE4C\uC694?"},REMOVE_CONSONANT_AND_IDENTIFY_PHONEME:{label:"1\uC74C\uC808\uC5D0\uC11C \uC790\uC74C \uD0C8\uB77D",sub:"\uC790\uC74C\uC744 \uBE7C\uBA74 \uC5B4\uB5A4 \uC18C\uB9AC\uAC00 \uB0A8\uC744\uAE4C\uC694?"},CHANGE_1_SYLL_IN_2SYLL:{label:"2\uC74C\uC808\uC5D0\uC11C \uD55C \uC74C\uC808 \uBC14\uAFB8\uAE30",sub:"2\uC74C\uC808 \uB2E8\uC5B4\uC758 \uD55C \uC74C\uC808\uC744 \uBC14\uAFD4 \uC0C8 \uB2E8\uC5B4\uB97C \uB9CC\uB4DC\uC138\uC694."},CHANGE_1_SYLL_IN_3SYLL:{label:"3\uC74C\uC808\uC5D0\uC11C \uD55C \uC74C\uC808 \uBC14\uAFB8\uAE30",sub:"3\uC74C\uC808 \uB2E8\uC5B4\uC758 \uD55C \uC74C\uC808\uC744 \uBC14\uAFD4 \uC0C8 \uB2E8\uC5B4\uB97C \uB9CC\uB4DC\uC138\uC694."},CHANGE_1_PHONEME_IN_1SYLL:{label:"1\uC74C\uC808 \uB2E8\uC5B4 \uC911 1\uAC1C \uC74C\uC18C \uBC14\uAFB8\uAE30",sub:"1\uC74C\uC808 \uB2E8\uC5B4\uC758 \uD55C \uC74C\uC18C\uB97C \uBC14\uAFD4 \uC0C8 \uC18C\uB9AC\uB97C \uB9CC\uB4DC\uC138\uC694."},CHANGE_1_PHONEME_IN_2SYLL:{label:"2\uC74C\uC808 \uB2E8\uC5B4 \uC911 1\uAC1C \uC74C\uC18C \uBC14\uAFB8\uAE30",sub:"2\uC74C\uC808 \uB2E8\uC5B4\uC758 \uD55C \uC74C\uC18C\uB97C \uBC14\uAFD4 \uC0C8 \uB2E8\uC5B4\uB97C \uB9CC\uB4DC\uC138\uC694."}},Cf={comingSoon:"\uB2E8\uC5B4\uD6C8\uB828 \uAE30\uB2A5\uC744 \uC900\uBE44 \uC911\uC785\uB2C8\uB2E4."},gf={colName:"\uB2E8\uC5B4\uD45C \uC774\uB984",open:"\uC5F4\uAE30",countSuffix:"\uAC1C\uC758 \uB2E8\uC5B4\uD45C",tab:{cards:"\uB2E8\uC5B4\uD45C \uCE74\uB4DC",tables:"\uB2E8\uC5B4\uD45C"},cardsEmpty:"\uC544\uC9C1 \uB9CC\uB4E0 \uB2E8\uC5B4\uD45C \uCE74\uB4DC\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.",addCard:"\uB2E8\uC5B4\uD45C \uCE74\uB4DC \uCD94\uAC00",menu:{publishStore:"\uB9D0\uADC0\uC790\uB8CC\uC2E4\uC5D0 \uC62C\uB9AC\uAE30",unpublishStore:"\uB9D0\uADC0\uC790\uB8CC\uC2E4\uC5D0\uC11C \uB0B4\uB9AC\uAE30"},newBadge:"\uC0C8\uB85C \uB9CC\uB4E0 \uD45C",publishedBadge:"\uBC1C\uD589\uB428",sharedBadge:"\uACF5\uC720 \uC911"},bf={title:"\uC8FC\uC694 \uB2E8\uC5B4",empty:"\uCD94\uCD9C\uB41C \uC8FC\uC694 \uB2E8\uC5B4\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4."},yf={defaultName:"\uB2E8\uC5B4 \uD45C",title:"\uB2E8\uC5B4 \uD45C \uB9CC\uB4E4\uAE30",subtitle:"\uCE78\uC744 \uC124\uC815\uD558\uACE0 \uB2E8\uC5B4\uB97C \uCD94\uAC00\uD558\uC5EC \uD45C\uB97C \uB9CC\uB4ED\uB2C8\uB2E4.",filterTitle:"\uD45C \uC124\uC815",filter:{composition:"\uAD6C\uC131",image:"\uC774\uBBF8\uC9C0",word:"\uB2E8\uC5B4",standardPron:"\uD45C\uC900 \uBC1C\uC74C",colloquialPron:"\uAD6C\uC5B4\uCCB4 \uBC1C\uC74C",paperOrientation:"\uC6A9\uC9C0 \uBC29\uD5A5",landscape:"\uAC00\uB85C",portrait:"\uC138\uB85C",columns:"\uCE78 \uC218",column:"{{count}}\uCE78",itemsPerPageWord:"\uD398\uC774\uC9C0\uB2F9 \uB2E8\uC5B4 \uC218",itemsPerPagePair:"\uD398\uC774\uC9C0\uB2F9 \uB300\uB9BD\uC30D \uC218",itemsPerPageOption:"{{count}}\uAC1C",pageIndicator:"{{current}} / {{total}}",pageNumber:"\uD398\uC774\uC9C0 \uBC88\uD638",pageNumberLeft:"\uC67C\uCABD",pageNumberCenter:"\uC911\uC559",pageNumberRight:"\uC624\uB978\uCABD",border:"\uC678\uACFD\uC120",cutLine:"\uC808\uCDE8\uC120",show:"\uD45C\uC2DC",hide:"\uBBF8\uD45C\uC2DC",dotted:"\uC810\uC120",corner:"\uCF54\uB108"},addWord:"\uCD94\uAC00\uD558\uAE30",wordInfo:"{{word}} \uB0B1\uB9D0 \uC815\uBCF4",emptyItems:"\uB2E8\uC5B4\uB97C 1\uAC1C \uC774\uC0C1 \uCD94\uAC00\uD574\uC8FC\uC138\uC694.",load:"\uBD88\uB7EC\uC624\uAE30",openNewWindow:"\uC0C8 \uCC3D\uC73C\uB85C \uBCF4\uAE30",saveButton:"\uC800\uC7A5\uD558\uAE30",saveAsNewButton:"\uB2E4\uB978 \uC774\uB984\uC73C\uB85C \uC800\uC7A5",print:"\uC778\uC1C4\uD558\uAE30",popupBlocked:"\uD31D\uC5C5\uC774 \uCC28\uB2E8\uB418\uC5C8\uC2B5\uB2C8\uB2E4. \uBE0C\uB77C\uC6B0\uC800 \uC124\uC815\uC5D0\uC11C \uD31D\uC5C5\uC744 \uD5C8\uC6A9\uD574 \uC8FC\uC138\uC694.",printFileNameSingle:"\uB2E8\uC5B4\uD45C",printFileNamePair:"\uB300\uB9BD\uC30D\uD45C",save:{title:"\uB2E8\uC5B4\uD45C \uC800\uC7A5\uD558\uAE30",nameLabel:"\uC774\uB984",desc:"\uC800\uC7A5\uD560 \uB2E8\uC5B4 \uD45C\uC758 \uC774\uB984\uC744 \uC785\uB825\uD558\uC138\uC694.",placeholder:"\uC774 \uB2E8\uC5B4\uD45C\uC5D0 \uB300\uD55C \uC81C\uBAA9\uC744 \uC785\uB825\uD558\uC138\uC694.",descriptionLabel:"\uC124\uBA85",descriptionPlaceholder:"\uC774 \uB2E8\uC5B4\uD45C\uC5D0 \uB300\uD55C \uC124\uBA85\uC744 \uC785\uB825\uD558\uC138\uC694.",duplicateName:"\uC774\uBBF8 \uC0AC\uC6A9 \uC911\uC778 \uC774\uB984\uC785\uB2C8\uB2E4.",nameRequired:"\uD45C \uC774\uB984\uC744 \uC785\uB825\uD574 \uC8FC\uC138\uC694.",autoFillHint:" (Tab \uB610\uB294 space \uC785\uB825\uC2DC \uC790\uB3D9 \uC785\uB825)",copyName:"{{name}} (\uBCF5\uC0AC)"},loadTable:{title:"\uC800\uC7A5\uB41C \uB2E8\uC5B4 \uD45C \uBD88\uB7EC\uC624\uAE30",empty:"\uC800\uC7A5\uB41C \uB2E8\uC5B4 \uD45C\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.",loadButton:"\uBD88\uB7EC\uC624\uAE30",itemCount:"{{count}}\uAC1C",deleteAriaLabel:"{{name}} \uC0AD\uC81C",sort:{newest:"\uCD5C\uC2E0\uC21C",oldest:"\uC624\uB798\uB41C\uC21C",name:"\uC774\uB984\uC21C",count:"\uB2E8\uC5B4 \uC218"},view:{grid:"\uD45C\uB85C \uBCF4\uAE30",list:"\uB9AC\uC2A4\uD2B8\uB85C \uBCF4\uAE30"}},groupDeleteMessage:"\uADF8\uB8F9 \uB0B4 \uB2E8\uC5B4\uD45C\uB294 '\uADF8\uB8F9 \uC5C6\uC74C'\uC73C\uB85C \uC774\uB3D9\uD569\uB2C8\uB2E4.",groupNamePlaceholder:"\uADF8\uB8F9 \uC774\uB984",store:{badge:"\uB9D0\uADC0\uC790\uB8CC\uC2E4"},card:{sub:"\uB2E8\uC5B4\uD45C \uCE74\uB4DC",empty:"\uC774 \uCE74\uB4DC\uC5D0 \uB2E8\uC5B4\uD45C\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4."},toast:{renameError:"\uC774\uB984 \uBCC0\uACBD\uC5D0 \uC2E4\uD328\uD588\uC2B5\uB2C8\uB2E4",saveError:"\uC800\uC7A5\uC5D0 \uC2E4\uD328\uD588\uC2B5\uB2C8\uB2E4",deleteError:"\uC0AD\uC81C\uC5D0 \uC2E4\uD328\uD588\uC2B5\uB2C8\uB2E4",duplicateError:"\uBCF5\uC81C\uC5D0 \uC2E4\uD328\uD588\uC2B5\uB2C8\uB2E4",saveSuccess:"\uB2E8\uC5B4\uD45C\uAC00 \uC800\uC7A5\uB418\uC5C8\uC2B5\uB2C8\uB2E4."},scoring:{o:"{{word}} \uB9DE\uC74C",triangle:"{{word}} \uC560\uB9E4",x:"{{word}} \uD2C0\uB9BC",button:"\uCC44\uC810\uD558\uAE30",pickTitle:"\uB204\uAD6C\uB97C \uCC44\uC810\uD560\uAE4C\uC694?",pickSubtitle:"\u2018{{name}}\u2019 \uD45C\uB85C \uD6C8\uB828\uD55C \uACE0\uAC1D\uC744 \uACE0\uB974\uC138\uC694.",pickSearch:"\uC774\uB984 \uB610\uB294 \uC804\uD654\uBC88\uD638\uB85C \uCC3E\uAE30",pickEmpty:"\uB4F1\uB85D\uB41C \uACE0\uAC1D\uC774 \uC5C6\uC2B5\uB2C8\uB2E4.",pickNoMatch:"\uCC3E\uB294 \uACE0\uAC1D\uC774 \uC5C6\uC2B5\uB2C8\uB2E4.",pickAgain:"\uACE0\uAC1D \uB2E4\uC2DC \uACE0\uB974\uAE30",scoringFor:"{{name}} \uB2D8 \uCC44\uC810 \uC911",none:"\uCE78\uC744 \uB20C\uB7EC \u25CB \xB7 \u25B3 \xB7 \u2715 \uB97C \uB9E4\uAE30\uC138\uC694.",tally:"{{marked}}\uCE78 \uCC44\uC810 \xB7 \u25CB {{o}} \xB7 \u25B3 {{triangle}} \xB7 \u2715 {{x}} \xB7 \uC815\uB2F5\uB960 {{rate}}%",save:"\uCC44\uC810 \uC800\uC7A5",saved:"{{name}} \uB2D8\uC758 \uCC44\uC810 {{count}}\uCE78\uC744 \uC800\uC7A5\uD588\uC2B5\uB2C8\uB2E4.",reviewTitle:"\uBCF5\uC2B5\uD45C\uB97C \uB9CC\uB4E4\uAE4C\uC694?",reviewMessage:"{{name}} \uB2D8\uC774 \uD2C0\uB9AC\uAC70\uB098 \uC560\uB9E4\uD588\uB358 {{count}}\uCE78\uC73C\uB85C \uC0C8 \uD45C\uB97C \uB9CC\uB4ED\uB2C8\uB2E4. \uB9DE\uD78C \uCE78\uC740 \uBE60\uC9D1\uB2C8\uB2E4.",reviewConfirm:"\uBCF5\uC2B5\uD45C \uB9CC\uB4E4\uAE30",reviewDescription:"\u2018{{name}}\u2019 \uCC44\uC810\uC5D0\uC11C \uD2C0\uB9AC\uAC70\uB098 \uC560\uB9E4\uD588\uB358 {{count}}\uCE78\uC744 \uBAA8\uC740 \uD45C\uC785\uB2C8\uB2E4.",reviewCreated:"\u2018{{name}}\u2019\uC744(\uB97C) \uB9CC\uB4E4\uC5C8\uC2B5\uB2C8\uB2E4 \u2014 {{count}}\uCE78.",discardTitle:"\uB9E4\uAE34 \uCC44\uC810\uC744 \uBC84\uB9B4\uAE4C\uC694?",discardMessage:"{{count}}\uCE78\uC744 \uB9E4\uACBC\uC9C0\uB9CC \uC544\uC9C1 \uC800\uC7A5\uD558\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4. \uB098\uAC00\uBA74 \uC0AC\uB77C\uC9D1\uB2C8\uB2E4.",discardConfirm:"\uBC84\uB9AC\uACE0 \uB098\uAC00\uAE30"},info:{grade:"\uB09C\uC774\uB3C4: {{n}}\uB4F1\uAE09",syllables:"\uC74C\uC808 \uC218: {{n}}\uC74C\uC808",pos:"\uD488\uC0AC: {{v}}",wordType:"\uC720\uD615: {{v}}"},pos:{noun:"\uBA85\uC0AC",verb:"\uB3D9\uC0AC",adjective:"\uD615\uC6A9\uC0AC",adverb:"\uBD80\uC0AC",numeral:"\uC218\uC0AC",determiner:"\uAD00\uD615\uC0AC",interjection:"\uAC10\uD0C4\uC0AC",particle:"\uC870\uC0AC",affix:"\uC811\uC0AC",dependentNoun:"\uC758\uC874\uBA85\uC0AC",pronoun:"\uB300\uBA85\uC0AC",auxVerb:"\uBCF4\uC870\uB3D9\uC0AC",auxAdjective:"\uBCF4\uC870\uD615\uC6A9\uC0AC"},reorder:{moved:"{{total}}\uCE78 \uAC00\uC6B4\uB370 {{n}}\uBC88\uC9F8\uB85C \uC62E\uAE40",handle:"{{word}} \uC21C\uC11C \uBC14\uAFB8\uAE30 (Alt + \uD654\uC0B4\uD45C)",hint:"Alt + \u2190 \u2192 \uB85C \uC21C\uC11C \uBC14\uAFB8\uAE30"}},vf={editBanner:{message:"\uC800\uC7A5\uD558\uBA74 \uC9C0\uAE08 \uC218\uC815 \uC911\uC778 \uB2E8\uC5B4\uD45C\uAC00 \uAC31\uC2E0\uB429\uB2C8\uB2E4."},filterTitle:"\uB2E8\uC5B4 \uAC80\uC0C9 \uC124\uC815",filter:{positionAny:"\uBB34\uAD00",positionHead:"\uC5B4\uB450",positionMid:"\uC5B4\uC911",positionTail:"\uC5B4\uB9D0",difficulty:"\uB4F1\uAE09",grade:"{{n}}\uB4F1\uAE09",syllables:"\uC74C\uC808 \uC218",syllable:"{{n}}\uC74C\uC808",syllable5plus:"5\uC74C\uC808 \uC774\uC0C1",partOfSpeech:"\uD488\uC0AC",pos:{noun:"\uCCB4\uC5B8(\uBA85\uC0AC, \uC218\uC0AC)",verb:"\uC6A9\uC5B8(\uB3D9\uC0AC, \uD615\uC6A9\uC0AC)",modifier:"\uC218\uC2DD\uC5B8(\uBD80\uC0AC, \uAD00\uD615\uC0AC)"},wordType:"\uC720\uD615",type:{native:"\uACE0\uC720\uC5B4",sino:"\uD55C\uC790\uC5B4",foreign:"\uC678\uB798\uC5B4",mixed:"\uD63C\uC885\uC5B4"},exclude:"\uC81C\uC678",excludeNoImage:"\uC774\uBBF8\uC9C0 \uC5C6\uC74C"},searchButton:"\uAC80\uC0C9\uD558\uAE30",resultUnit:"\uB2E8\uC5B4",remaining:"{{count}}\uAC1C \uB0A8\uC74C",resultDisc:"\uC6D0\uD558\uB294 {{unit}} \uC120\uD0DD\uD558\uC138\uC694. {{max}}\uAC1C\uAE4C\uC9C0 \uC120\uD0DD\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4. ({{selected}}/{{max}})",resultTitlePrefix:"\uCD1D ",resultTitleSuffix:"\uAC1C\uC758 {{unit}} \uAC80\uC0C9\uB418\uC5C8\uC2B5\uB2C8\uB2E4.",emptyResult:"\uAC80\uC0C9 \uACB0\uACFC\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.",groupCount:"{{count}}\uAC1C",sort:{aria:"\uC815\uB82C",match:"\uC2DC\uC791 \uC6B0\uC120",ganada:"\uAC00\uB098\uB2E4\uC21C \u2191",ganadaDesc:"\uAC00\uB098\uB2E4\uC21C \u2193",syllable:"\uC74C\uC808 \uC218 \u2191",syllableDesc:"\uC74C\uC808 \uC218 \u2193",grade:"\uB4F1\uAE09\uC21C \u2191",gradeDesc:"\uB4F1\uAE09\uC21C \u2193",original:"\uBC1B\uC740 \uC21C\uC11C"},pageSize:"{{count}}\uAC1C\uC529 \uBCF4\uAE30",pageSizeAria:"\uD398\uC774\uC9C0 \uD06C\uAE30",popup:{title:"{{n}}\uBC88 \uCE78\uC5D0 \uB123\uC744 \uB2E8\uC5B4\uB97C \uC120\uD0DD\uD558\uC138\uC694"}},xf={clearAllSelection:"\uBAA8\uB450 \uC120\uD0DD \uD574\uC81C",divLine:"\uB300\uB9BD\uC120",removePair:"\uB300\uB9BD\uC30D \uBE7C\uAE30",removeWord:"\uB2E8\uC5B4 \uBE7C\uAE30"},_f={title:"\uC8FC\uC81C\uBCC4 \uB4E3\uAE30",subtitle:"\uC8FC\uC81C\uB97C \uC120\uD0DD\uD558\uACE0 \uB4E3\uAE30 \uD6C8\uB828\uC744 \uC2DC\uC791\uD558\uC138\uC694.",noiseTitle:"\uC18C\uC74C \uD558 \uBB38\uC7A5\uB4E3\uAE30",shortStoryTitle:"\uC9E7\uC740 \uC774\uC57C\uAE30 \uB4E3\uAE30",FOOD:"\uC74C\uC2DD",HLTH:"\uAC74\uAC15",WETH:"\uB0A0\uC528",PRSN:"\uC778\uBB3C",KRCT:"\uD55C\uAD6D\uBB38\uD654",STRY:"\uC774\uC57C\uAE30",LOCA:"\uC9C0\uC5ED",SOAR:"\uC0AC\uD68C\uC640 \uC608\uC220",NTSC:"\uC790\uC5F0\uACFC \uACFC\uD559",SPRT:"\uC2A4\uD3EC\uCE20",sub:{TRKRFD:"\uD55C\uAD6D \uC804\uD1B5\uC74C\uC2DD",MDKRFD:"\uD55C\uAD6D \uD604\uB300\uC74C\uC2DD",WRLDFD:"\uC138\uACC4\uC758 \uC74C\uC2DD",MTRFRT:"\uC2DD\uC7AC\uB8CC\uC640 \uACFC\uC77C",GEFDKL:"\uC74C\uC2DD \uC0C1\uC2DD",HTETHB:"\uAC74\uAC15\uD55C \uC2DD\uC2B5\uAD00",DISILL:"\uBCD1\uACFC \uC9C8\uD658",EXCISE:"\uC6B4\uB3D9",GEHTKL:"\uAC74\uAC15\uC0C1\uC2DD",GESSKL:"\uACC4\uC808\uC0C1\uC2DD",SNWRAN:"\uB208\uACFC \uBE44",WTHFCT:"\uC77C\uAE30\uC608\uBCF4",GEWTKL:"\uB0A0\uC528\uC0C1\uC2DD",JODYPS:"\uC870\uC120\uC2DC\uB300",MDKRPS:"\uD55C\uAD6D \uADFC\uD604\uB300",THKDPS:"\uC0BC\uAD6D\uC2DC\uB300",WRLART:"\uC138\uACC4\uC758 \uC608\uC220\uAC00",WRLPSN:"\uC138\uACC4\uC758 \uC778\uBB3C",KRLANG:"\uC6B0\uB9AC\uB9D0",TRPLCT:"\uC804\uD1B5\uB180\uC774",HERITG:"\uBB38\uD654\uC7AC",EVTFES:"\uD589\uC0AC\uC640 \uCD95\uC81C",GECTKL:"\uC0C1\uC2DD",FRYTAL:"\uB3D9\uD654",AMZING:"\uC2E0\uAE30\uD55C \uC774\uC57C\uAE30",DAYSTR:"\uC77C\uC0C1 \uC18D \uC774\uC57C\uAE30",KRLDMK:"\uD55C\uAD6D\uC758 \uBA85\uC18C",SELNMK:"\uC11C\uC6B8\uC758 \uBA85\uC18C",WRDTRB:"\uC138\uACC4\uC5EC\uD589",NAVIGT:"\uAE38 \uCC3E\uAE30",KRSOCI:"\uD55C\uAD6D",ECONEW:"\uACBD\uC81C\uC640 \uB274\uC2A4",GENART:"\uC608\uC220",GELFKL:"\uC0DD\uD65C \uC0C1\uC2DD",ANIMAL:"\uB3D9\uBB3C",PLANTS:"\uC2DD\uBB3C",ETHPLT:"\uC9C0\uAD6C",TOLELC:"\uB3C4\uAD6C\uC640 \uC804\uC790\uC81C\uD488",GESCKL:"\uACFC\uD559\uC0C1\uC2DD",INVDSP:"\uAC1C\uC778\uACBD\uAE30",MARART:"\uACA9\uD22C\uAE30",TEAMSP:"\uB2E8\uCCB4\uACBD\uAE30",FOOTBL:"\uCD95\uAD6C",GESPKL:"\uC2A4\uD3EC\uCE20 \uC0C1\uC2DD"}},wf={maxUses:"\uCD5C\uB300 \uC0AC\uC6A9 \uD69F\uC218 (\uBE44\uC6CC\uB450\uBA74 \uBB34\uC81C\uD55C)",redirect:"\uC774\uB3D9\uD560 \uD398\uC774\uC9C0 URL (\uBE44\uC6CC\uB450\uBA74 \uC571 \uBA54\uC778)",creating:"\uC0DD\uC131 \uC911\u2026",create:"\uB9C1\uD06C \uC0DD\uC131",created:"\u2713 \uB9C1\uD06C\uAC00 \uC0DD\uC131\uB418\uC5C8\uC2B5\uB2C8\uB2E4",copied:"\uBCF5\uC0AC\uB428!",copy:"\uBCF5\uC0AC",loading:"\uBD88\uB7EC\uC624\uB294 \uC911\u2026",empty:"\uC0DD\uC131\uB41C \uB9C1\uD06C\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.",uses:"{{count}}\uD68C \uC0AC\uC6A9",expiresAt:"\uB9CC\uB8CC: {{date}}",createdAt:"\uC0DD\uC131: {{date}}",confirmDelete:"\uC0AD\uC81C\uD560\uAE4C\uC694?",deactivate:"\uBE44\uD65C\uC131\uD654",delete:"\uC0AD\uC81C",status:{active:"\uC720\uD6A8",expired:"\uB9CC\uB8CC",inactive:"\uBE44\uD65C\uC131"}},kf={passwordPlaceholder:"\uBE44\uBC00\uBC88\uD638 \uC785\uB825"},Af={subtitle:"\uC8FC\uC81C\uB97C \uC120\uD0DD\uD558\uC5EC \uB4E3\uAE30 \uC5F0\uC2B5\uC744 \uC9C4\uD589\uD558\uC138\uC694."},Bf={direction:{left:"\uC88C",right:"\uC6B0",label:"\uBC29\uD5A5"},wornDate:"\uCC29\uC6A9\uC77C",deviceType:"\uC885\uB958",brand:"\uBE0C\uB79C\uB4DC",fitType:"\uCC29\uC6A9\uD615\uD0DC",productName:"\uC81C\uD488\uBA85",validationError:{brandAndProduct:"\uBE0C\uB79C\uB4DC\uC640 \uC81C\uD488\uBA85\uC744 \uC785\uB825\uD574 \uC8FC\uC138\uC694."},addNew:"\uC0C8 \uAE30\uAE30 \uCD94\uAC00",selectFromList:"\uBAA9\uB85D\uC5D0\uC11C \uC120\uD0DD",removeDevice:"\uCC29\uC6A9 \uD574\uC81C",type:{hearingAid:"\uBCF4\uCCAD\uAE30",cochlearImplant:"\uC778\uACF5\uC640\uC6B0"}},Nf={stat:{totalCustomers:"\uCD1D \uACE0\uAC1D",monthlyVisits:"\uC774\uB2EC \uCD1D \uBC29\uBB38"},chart:{visitDetail:"\uC0C1\uC138 \uBC29\uBB38 \uD604\uD669",trainingDetail:"\uC0C1\uC138 \uD6C8\uB828 \uD604\uD669",weekly:"\uC8FC\uBCC4",daily:"\uC77C\uBCC4",periodMonth:"\uC6D4",periodWeek:"\uC8FC",weeklyPrefix:"\uC8FC\uAC04",monthlyPrefix:"\uC6D4\uAC04",visit:"\uBC29\uBB38",reservation:"\uC608\uC57D",trainingDone:"\uD6C8\uB828 \uC644\uB8CC",trainingInProgress:"\uD6C8\uB828 \uC911",weekRange:"{{start}}~{{end}}",week:"{{n}}\uC8FC"},subscriptionStatus:{active:"{{pct}}% \uD65C\uC131",expired:"{{pct}}% \uB9CC\uB8CC",unused:"{{pct}}% \uBBF8\uC0AC\uC6A9"}},Df={editBanner:{message:"\uC800\uC7A5\uD558\uBA74 \uC9C0\uAE08 \uC218\uC815 \uC911\uC778 \uB300\uB9BD\uC30D\uD45C\uAC00 \uAC31\uC2E0\uB429\uB2C8\uB2E4."},phonemeSelect:{title:"\uC74C\uC18C \uC120\uD0DD",vs:"\uB300"},caution:"\uC720\uC758\uC0AC\uD56D",mode:{include:"\uC74C\uC18C \uD3EC\uD568",pick:"\uC74C\uC18C \uB300\uB9BD",contrast:"\uC74C\uC18C \uB300\uB9BD \uC9C0\uC815",infoTitle:"\uB300\uB9BD \uBC29\uC2DD",infoInclude:"\uC74C\uC18C \uD3EC\uD568 \u2014 \uC120\uD0DD\uD55C \uC74C\uC18C\uAC00 \uBAA8\uB450 \uB4E4\uC5B4\uAC04 \uB2E8\uC5B4\uC640 \uADF8 \uB300\uB9BD\uC30D\uC744 \uCC3E\uC544\uC694.",infoPick:"\uC74C\uC18C \uB300\uB9BD \u2014 \uC120\uD0DD\uD55C \uC74C\uC18C\uAC00 \uB300\uB9BD\uC30D \uB450 \uB2E8\uC5B4\uC758 \uC2E4\uC81C \uCC28\uC774\uC810\uC77C \uB54C\uB9CC \uB9E4\uCE6D\uB3FC\uC694.",infoContrast:"\uC74C\uC18C \uB300\uB9BD \uC9C0\uC815 \u2014 \uAE30\uC900 \uB2E8\uC5B4\uC640 \uB300\uB9BD \uB2E8\uC5B4\uC758 \uC74C\uC18C\uB97C \uAC01\uAC01 \uC9C1\uC811 \uC120\uD0DD\uD574 \uB300\uB9BD\uC30D\uC744 \uCC3E\uC544\uC694."},count:"{{n}}\uAC1C",input:{char:"\uAE00\uC790 \uC120\uD0DD",pron:"\uBC1C\uC74C \uC120\uD0DD",infoTitle:"\uC785\uB825 \uBC29\uC2DD",infoChar:"\uAE00\uC790 \uC120\uD0DD \u2014 \uC120\uD0DD\uD55C \uC74C\uC18C\uB85C \uB2E8\uC5B4(\uAE00\uC790 \uAE30\uC900)\uB97C \uCC3E\uC740 \uD6C4, \uB2E8\uC5B4\uC758 \uD45C\uC900 \uBC1C\uC74C \uB300\uB9BD\uC30D\uC744 \uCC3E\uC2B5\uB2C8\uB2E4.",infoPron:"\uBC1C\uC74C \uC120\uD0DD \u2014 \uC120\uD0DD\uD55C \uC74C\uC18C\uB85C \uD45C\uC900 \uBC1C\uC74C \uB300\uB9BD\uC30D\uC744 \uCC3E\uC2B5\uB2C8\uB2E4."},phonemeN:"{{n}}\uBC88 \uC74C\uC808",phonemeSingleLabel:"\uC74C\uC808",phonemeContrastSingleLabel:"\uB300\uB9BD \uC74C\uC808",ordinals:["\uCCAB\uBC88\uC9F8","\uB450\uBC88\uC9F8","\uC138\uBC88\uC9F8","\uB124\uBC88\uC9F8"],phonemeOrdinalLabel:"{{ordinal}} \uC74C\uC808",phonemeContrastOrdinalLabel:"\uB300\uB9BD {{ordinal}} \uC74C\uC808",composition:"\uC815\uB2F5 \uB2E8\uC5B4 \uAD6C\uC131",syllableCount:"\uC74C\uC808 \uC218",syllableN:"{{n}}\uC74C\uC808",syllableNPlus:"{{n}}\uC74C\uC808 \uC774\uC0C1",onset:"\uCD08\uC131",vowel:"\uBAA8\uC74C",coda:"\uC885\uC131",filter:{searchOptionsTitle:"\uB300\uB9BD \uC124\uC815",searchModeLabel:"\uB300\uB9BD \uBC29\uC2DD",countLabel:"\uC785\uB825 \uC74C\uC808 \uAC2F\uC218",inputModeLabel:"\uC785\uB825 \uBC29\uC2DD",phonemeOrder:"\uC785\uB825 \uC74C\uC808 \uC704\uCE58",phonemeOrderInfo:["\uC77C\uCE58: \uB300\uB9BD\uC30D\uC774 \uC815\uD655\uD788 \uAC19\uC740 \uC704\uCE58(\uC74C\uC808)\uC5D0\uC11C\uB9CC \uCC28\uC774 \uB098\uC57C \uB9E4\uCE6D\uB3FC\uC694.","\uBB34\uAD00: \uCC28\uC774 \uB098\uB294 \uC704\uCE58\uB294 \uC0C1\uAD00\uC5C6\uC774 \uB9E4\uCE6D\uB3FC\uC694."],orderAny:"\uBB34\uAD00",orderMatch:"\uC77C\uCE58",difficultyInfo:"\uAD6D\uB9BD\uAD6D\uC5B4\uC6D0\uC758 \uAE30\uCD08 \uC5B4\uD718 \uB4F1\uAE09\uC774 \uACB0\uACFC\uC5D0 \uBC18\uC601\uB429\uB2C8\uB2E4.",selectLabel:"\uC120\uD0DD",onlyHasImage:"\uC774\uBBF8\uC9C0 \uC788\uB294 \uB2E8\uC5B4\uB9CC",onlySameStructure:"\uC74C\uC18C \uAD6C\uC870 \uAC19\uC740 \uB2E8\uC5B4\uB9CC"},searchLabel:{error:"\uB370\uC774\uD130 \uBD88\uB7EC\uC624\uAE30 \uC2E4\uD328",loading:"\uBD88\uB7EC\uC624\uB294 \uC911\u2026"},confirmMessage:"\uC120\uD0DD\uD55C {{unit}} {{count}}\uAC1C\uB97C \uD3EC\uD568\uD55C \uB2E8\uC5B4 \uD45C \uC815\uBCF4\uAC00 \uC0AC\uB77C\uC9D1\uB2C8\uB2E4.",resetOptions:"\uAC80\uC0C9 \uC635\uC158 \uCD08\uAE30\uD654",phonemeContrast:"\uB300\uB9BD {{n}}\uBC88 \uC74C\uC808",infoNotes:["\uBBF8\uB9AC\uBCF4\uAE30 \uAE00\uC790\uB294 \uC120\uD0DD\uD55C \uC74C\uC18C\uC758 \uC870\uD569 \uC608\uC2DC\uC785\uB2C8\uB2E4. \uC2E4\uC81C \uAC80\uC0C9\uC740 \uD574\uB2F9 \uC74C\uC18C\uAC00 \uD3EC\uD568\uB41C \uBAA8\uB4E0 \uB2E8\uC5B4\uB97C \uB300\uC0C1\uC73C\uB85C \uD569\uB2C8\uB2E4.","\uCD08\uC131 '\u3147'\uC740 \uC120\uD0DD\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. \uB2E8\uC5B4 \uC55E\uC5D0 \uC624\uB294 \u3147\uC740 \uC2E4\uC9C8\uC801\uC73C\uB85C \uBB34\uC74C\uC774\uC5B4\uC11C \uB300\uB9BD\uC30D \uC131\uB9BD\uC5D0 \uC601\uD5A5\uC744 \uC8FC\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.","\uCD08\uC131\uACFC \uC885\uC131\uB9CC \uC120\uD0DD\uD558\uBA74 \uBAA8\uC74C\uC740 '\u314F'\uB85C \uC790\uB3D9 \uD45C\uC2DC\uB429\uB2C8\uB2E4.","\uC74C\uC18C \uAC1C\uC218\uB97C \uB298\uB9AC\uBA74 \uAC01 \uC74C\uC18C \uC0AC\uC774\uC758 \uB300\uB9BD\uC30D\uC744 \uAC80\uC0C9\uD569\uB2C8\uB2E4."]},Sf={sentenceTyping:{roundCount:"{{rounds}}\uBB38\uC81C \xB7 \uBB38\uC81C\uB2F9 {{timeLimit}}\uCD08"},wordDefense:{me:"\uB098"},dictation:{title:"\uBC1B\uC544\uC4F0\uAE30",desc:"\uBB38\uC7A5\uC744 \uB4E3\uACE0 \uC815\uD655\uD788 \uBC1B\uC544\uC801\uB294 \uC5F0\uC2B5\uC785\uB2C8\uB2E4.",comingSoon:"\uAD6C\uD604 \uC608\uC815: \uC74C\uC131 \uC7AC\uC0DD, \uC785\uB825 \uD544\uB4DC, \uC815\uB2F5 \uBE44\uAD50"},result:{heading:"{{number}}\uB2E8\uACC4 \uD574\uB2F5",retry:"\uB2E4\uC2DC \uD480\uAE30"},common:{accuracy:"{{pct}}% \uC815\uD655\uB3C4"},soundMatch:{title:"\uC18C\uB9AC \uB9E4\uCE6D",desc:"\uAC19\uC740 \uC18C\uB9AC\uB97C \uAC00\uC9C4 \uB2E8\uC5B4 \uB610\uB294 \uBB38\uC7A5\uC744 \uBE60\uB974\uAC8C \uB9E4\uCE6D\uD558\uB294 \uAC8C\uC784\uC785\uB2C8\uB2E4.",comingSoon:"\uAD6C\uD604 \uC608\uC815: \uD50C\uB808\uC774 \uBC84\uD2BC, \uD0C0\uC774\uBA38, \uC810\uC218 \uC9D1\uACC4"},orderSequence:{title:"\uBB38\uC7A5 \uC21C\uC11C\uD654",desc:"\uD769\uC5B4\uC9C4 \uBB38\uC7A5 \uC870\uAC01\uC744 \uC62C\uBC14\uB978 \uC21C\uC11C\uB85C \uBC30\uC5F4\uD558\uB294 \uD6C8\uB828\uC785\uB2C8\uB2E4.",comingSoon:"\uAD6C\uD604 \uC608\uC815: \uBB38\uC7A5 \uC138\uD2B8, \uC21C\uC11C \uD655\uC778 \uC778\uD130\uD398\uC774\uC2A4"},speedListen:{title:"\uC18D\uB3C4 \uB4E3\uAE30",desc:"\uC2DC\uAC04 \uC81C\uD55C \uB0B4\uC5D0 \uBB38\uC7A5\uC758 \uB2E8\uC5B4 \uC218\uB97C \uB9DE\uCD94\uB294 \uB3C4\uC804\uD615 \uAC8C\uC784\uC785\uB2C8\uB2E4.",comingSoon:"\uAD6C\uD604 \uC608\uC815: \uC81C\uD55C\uC2DC\uAC04, \uC810\uC218\uD310"},noiseChallenge:{title:"\uC18C\uC74C \uCC4C\uB9B0\uC9C0",desc:"\uBC30\uACBD \uC18C\uC74C \uC18D\uC5D0\uC11C \uBB38\uC7A5\uC744 \uBD84\uBCC4\uD558\uB294 \uC5F0\uC2B5\uC785\uB2C8\uB2E4.",comingSoon:"\uAD6C\uD604 \uC608\uC815: \uB2E4\uC591\uD55C \uC18C\uC74C \uB808\uBCA8, \uC810\uC218 \uC9D1\uACC4"},fastListen:{title:"\uBE60\uB978 \uB4E3\uAE30",desc:"\uC9E7\uC740 \uBB38\uC7A5\uC744 \uBE60\uB974\uAC8C \uB4E4\uB824\uC8FC\uACE0 \uD575\uC2EC \uB2E8\uC5B4\uB97C \uC120\uD0DD\uD558\uB294 \uAC8C\uC784\uC785\uB2C8\uB2E4.",comingSoon:"\uAD6C\uD604 \uC608\uC815: \uB09C\uC774\uB3C4\uBCC4 \uC18D\uB3C4, \uD0C0\uC774\uBA38"},shadowing:{title:"\uC250\uB3C4\uC789",desc:"\uBB38\uC7A5\uC744 \uB530\uB77C \uB9D0\uD558\uBA70 \uBC1C\uC74C\uACFC \uC5B5\uC591\uC744 \uC5F0\uC2B5\uD558\uB294 \uBAA8\uB4DC\uC785\uB2C8\uB2E4.",comingSoon:"\uAD6C\uD604 \uC608\uC815: \uC7AC\uC0DD, \uB179\uC74C, \uBE44\uAD50 \uD53C\uB4DC\uBC31"},phonemeHunt:{title:"\uC74C\uC6B4 \uCC3E\uAE30",desc:"\uD2B9\uC815 \uC74C\uC6B4(\uBC1C\uC74C)\uC744 \uD3EC\uD568\uD55C \uB2E8\uC5B4\uB97C \uCC3E\uC544\uB0B4\uB294 \uAC8C\uC784\uC785\uB2C8\uB2E4.",comingSoon:"\uAD6C\uD604 \uC608\uC815: \uC74C\uC6B4 \uD544\uD130, \uD78C\uD2B8 \uAE30\uB2A5"}},Ef={lead:`\uC544\uC774\uD574\uBE0C\uB294 \uC18C\uB9AC\uB97C \uD1B5\uD574
832
+ `),this.name="StorageNotConfiguredError"}};function R0(e){$0(e)}function Rs(e,t){if(!e)return null;const a=pa();return a?.resolvePath?a.resolvePath(e,t):t?`${t}/${e}.mp3`:null}async function Ps(e){if(!e)return null;const t=pa();if(!t)throw new $s("getSignedOrPublicUrl");try{return await t.resolveUrl(e)}catch{return null}}async function Is(e){const t=pa();if(!t)throw new $s("downloadSound");return t.download(e)}function P0(){return pa()?.noiseBaseUrl??"/sounds/noise"}function Fs(){const e=Number(pa()?.noiseFileGain);return Number.isFinite(e)&&e>0?e:1}function I0(e){const t=AbortSignal.timeout;if(typeof t=="function")return t.call(AbortSignal,e);const a=new AbortController;return setTimeout(()=>a.abort(),e),a.signal}const Os="__ihab_core_tts_config__";function Ar(){return globalThis[Os]?.urlResolver??null}function F0(){return globalThis[Os]?.fallbackUrlResolver??null}const O0="__ihab_core_pronunciation_resolver__";function V0(){return globalThis[O0]??null}let wn=null;const ma=new WeakMap,Br=new WeakMap,Nr=new WeakMap;let Vs=!1;const Hs=e=>Math.max(0,Math.min(1,Number.isFinite(e)?e:0));function H0(){if(Vs||typeof document>"u")return;Vs=!0;const e=()=>{try{wn&&wn.state!=="running"&&wn.resume()}catch{}};for(const t of["pointerdown","touchend","keydown"])document.addEventListener(t,e,{capture:!0,passive:!0})}function zs(){if(wn)return wn;try{const e=window.AudioContext||window.webkitAudioContext;return e?(wn=new e,H0(),wn):null}catch{return null}}function Dr(){try{wn?.resume()}catch{}}function Sr(e,t){const a=ma.get(t);if(a)return a;try{const r=e.createMediaElementSource(t),s=e.createGain(),i=e.createAnalyser();i.fftSize=1024,i.smoothingTimeConstant=.6,s.gain.value=Hs(Br.get(t)??t.volume),r.connect(s),s.connect(i),s.connect(e.destination);try{t.volume=1}catch{}const l={gain:s,analyser:i};return ma.set(t,l),l}catch{return null}}function La(e){if(!e)return Promise.resolve(null);const t=ma.get(e);if(t)return Promise.resolve(t.analyser);const a=zs();if(!a)return Promise.resolve(null);if(a.state==="running")return Promise.resolve(Sr(a,e)?.analyser??null);const r=Nr.get(e);if(r)return r;const s=Promise.resolve().then(()=>a.resume()).then(()=>a.state==="running"?Sr(a,e)?.analyser??null:null).catch(()=>null).finally(()=>{Nr.delete(e)});return Nr.set(e,s),s}function z0(e){if(!e)return null;const t=ma.get(e);if(t)return t.analyser;const a=zs();return a?a.state==="running"?Sr(a,e)?.analyser??null:(La(e),null):null}function kn(e,t){const a=Hs(t);Br.set(e,a);const r=ma.get(e);if(r){try{e.volume!==1&&(e.volume=1)}catch{}const s=r.gain.gain;try{const i=r.gain.context.currentTime;s.cancelScheduledValues(i),s.setTargetAtTime(a,i,.01)}catch{try{s.value=a}catch{}}return"gain"}try{e.volume=a}catch{}return"element"}function $a(e){return Br.get(e)??e.volume}function W0(e,t){e.getFloatTimeDomainData(t);let a=0;for(let r=0;r<t.length;r++){const s=t[r];a+=s*s}return Math.sqrt(a/t.length)}const q0="__ihab_core_image_config__";function Un(){return globalThis[q0]??null}const Ws="word_image_existence_map_v1";let $n=null;const Ra=new Map;function U0(){if($n)return $n;try{const e=typeof localStorage<"u"?localStorage.getItem(Ws):null,t=e?JSON.parse(e):null;$n=t&&typeof t=="object"&&!Array.isArray(t)?t:{}}catch{$n={}}return $n}let Er=null;function G0(){Er||(Er=setTimeout(()=>{Er=null;try{typeof localStorage<"u"&&$n&&localStorage.setItem(Ws,JSON.stringify($n))}catch{}},200))}function K0(e,t){return`${e}_${t??1}`}async function qs(e,t){const a=U0(),r=K0(e,t);if(r in a)return a[r];if(Ra.has(r))return Ra.get(r);const s=Un();if(!s)return!1;const i=s(e,t);if(!i)return!1;const l=fetch(i,{method:"HEAD",signal:I0(8e3)}).then(c=>c.status>=500?null:c.ok,()=>null).then(c=>(Ra.delete(r),c===null?!1:(a[r]=c,G0(),c)));return Ra.set(r,l),l}const Us=["\u3131","\u3132","\u3134","\u3137","\u3138","\u3139","\u3141","\u3142","\u3143","\u3145","\u3146","\u3147","\u3148","\u3149","\u314A","\u314B","\u314C","\u314D","\u314E"],Gs=["\u314F","\u3150","\u3151","\u3152","\u3153","\u3154","\u3155","\u3156","\u3157","\u3158","\u3159","\u315A","\u315B","\u315C","\u315D","\u315E","\u315F","\u3160","\u3161","\u3162","\u3163"],Y0=["","\u3131","\u3132","\u3133","\u3134","\u3135","\u3136","\u3137","\u3139","\u313A","\u313B","\u313C","\u313D","\u313E","\u313F","\u3140","\u3141","\u3142","\u3144","\u3145","\u3146","\u3147","\u3148","\u314A","\u314B","\u314C","\u314D","\u314E"];function ha(e){if(!e)return null;const t=e.charCodeAt(0)-44032;return t<0||t>=11172?null:{cho:Math.floor(t/588),jung:Math.floor(t%588/28),jong:t%28}}function Z0(e){const t=ha(e[0]||"");return t?Us[t.cho]:""}function X0(e){if(!e)return()=>!0;e=e.normalize("NFC");const t=[...e],a=l=>Us.includes(l),r=l=>Gs.includes(l),s=t.map(l=>a(l)?"cho":r(l)?"jung":ha(l)?"syl":"other"),i=t.map(l=>ha(l));if(s.includes("other")){const l=e.toLowerCase();return c=>c.normalize("NFC").toLowerCase().includes(l)}return l=>{const c=[...l.normalize("NFC")];for(let u=0;u+t.length<=c.length;u++){let d=!0;for(let p=0;p<t.length;p++){const m=c[u+p],h=s[p];if(h==="cho"){if(Z0(m)!==t[p]){d=!1;break}}else if(h==="jung"){const g=ha(m);if(!g||Gs[g.jung]!==t[p]){d=!1;break}}else{const g=i[p];if(g&&g.jong===0){const C=ha(m);if(!C||C.cho!==g.cho||C.jung!==g.jung){d=!1;break}}else if(m!==t[p]){d=!1;break}}}if(d)return!0}return!1}}const J0={3:["\u3131","\u3145"],5:["\u3134","\u3148"],6:["\u3134","\u314E"],9:["\u3139","\u3131"],10:["\u3139","\u3141"],11:["\u3139","\u3142"],12:["\u3139","\u3145"],13:["\u3139","\u314C"],14:["\u3139","\u314D"],15:["\u3139","\u314E"],18:["\u3142","\u3145"]};Object.fromEntries(Object.entries(J0).map(([e,t])=>[t.join(""),Y0[Number(e)]]));const Q0="word_pair_index_v2",e2="word_pair_index_sig_v2";let Pa=null;function t2(){try{if(typeof localStorage>"u")return null;const e=localStorage.getItem(Q0),t=localStorage.getItem(e2);return!e||!t?null:{index:JSON.parse(e),sig:t}}catch{return null}}function n2(){if(Pa)return Pa;const e=t2();return e?(Pa=e.index,e.sig,Pa):null}const a2={\u314F:{nucleus:"\u314F"},\u3151:{glide:"j",nucleus:"\u314F"},\u3153:{nucleus:"\u3153"},\u3155:{glide:"j",nucleus:"\u3153"},\u3157:{nucleus:"\u3157"},\u315B:{glide:"j",nucleus:"\u3157"},\u315C:{nucleus:"\u315C"},\u3160:{glide:"j",nucleus:"\u315C"},\u3161:{nucleus:"\u3161"},\u3163:{nucleus:"\u3163"},\u3150:{nucleus:"\u3154/\u3150"},\u3152:{glide:"j",nucleus:"\u3154/\u3150"},\u3154:{nucleus:"\u3154/\u3150"},\u3156:{glide:"j",nucleus:"\u3154/\u3150"},\u3158:{glide:"w",nucleus:"\u314F"},\u3159:{glide:"w",nucleus:"\u3154/\u3150"},\u315A:{glide:"w",nucleus:"\u3154/\u3150"},\u315D:{glide:"w",nucleus:"\u3153"},\u315E:{glide:"w",nucleus:"\u3154/\u3150"},\u315F:{glide:"w",nucleus:"\u3163"},\u3162:{glide:"\u0270",nucleus:"\u3163"}},Tr=/[ㄱ-ㅎ]/,r2=/[ㅏ-ㅣ]/;function Ks(e){e=e.normalize("NFC");for(let t=e.length-1;t>=0;t--){const a=e[t],r=a.charCodeAt(0);if(r>=44032&&r<=55203||Tr.test(a)||r2.test(a))return a}return null}function o2(e){const t=Ks(e);if(!t)return"\uAC00";const a=t.charCodeAt(0);return a>=44032&&a<=55203?(a-44032)%28!==0?"\uC774":"\uAC00":Tr.test(t)?"\uC774":"\uAC00"}function s2(e){return`${e}${o2(e)}`}function i2(e){const t=Ks(e);if(!t)return"\uB97C";const a=t.charCodeAt(0);return a>=44032&&a<=55203?(a-44032)%28!==0?"\uC744":"\uB97C":Tr.test(t)?"\uC744":"\uB97C"}function l2(e){return`${e}${i2(e)}`}function c2(e,t,a){const r=e.slice(),[s]=r.splice(t,1);return r.splice(a,0,s),r}function fa(e,t=Math.random){const a=e.slice();for(let r=a.length-1;r>0;r--){const s=Math.floor(t()*(r+1));[a[r],a[s]]=[a[s],a[r]]}return a}const u2=()=>{const e="\uC54C \uC218 \uC5C6\uB294 \uC624\uB958",t=typeof wt?.t=="function"?wt.t("common.unknownError",{defaultValue:e}):void 0;return typeof t=="string"&&t?t:e};function Ys(e,t){if(t===void 0&&(t=u2()),e instanceof Error)return e.message||t;if(typeof e=="string")return e||t;if(e&&typeof e=="object"){const a=e;for(const r of[a.message,a.error_description,a.error])if(typeof r=="string"&&r)return r}return t}const d2="__ihab_core_word_pool__";function Zs(){return globalThis[d2]??null}const Xs=globalThis;function Js(e,t){const a=r=>{};try{const r=t();r&&typeof r.catch=="function"&&r.catch(a)}catch(r){a(r)}}function p2(e){Js("time",()=>Xs.__ihabTrainingTimeLogger?.(e))}function m2(e){Js("completion",()=>Xs.__ihabTrainingCompletionLogger?.(e))}function Ot(e){return typeof e=="string"?e.trim()||null:typeof e=="number"?String(e):null}function h2(e){for(const t of["correct","isCorrect","heard","judgement"])if(typeof e[t]=="boolean")return e[t];return e.score===1?!0:e.score===0?!1:null}function f2(e){return Array.isArray(e)?e.map((t,a)=>{const r=t??{};return{index:a,itemId:Ot(r.contextCode)??Ot(r.itemId)??Ot(r.itemCode)??Ot(r.id),question:Ot(r.question)??Ot(r.q)??Ot(r.sentence)??Ot(r.text)??Ot(r.prompt)??Ot(r.word)??Ot(r.targetSyllable),answer:Ot(r.answer),selected:Ot(r.selectedText)??Ot(r.selected),correct:h2(r)}}):[]}const jr=globalThis;async function C2(){try{return await jr.__ihabNoiseSettingsStore?.load()??null}catch{return null}}function Qs(e){const t=a=>{};try{const a=jr.__ihabNoiseSettingsStore?.save(e);a&&typeof a.catch=="function"&&a.catch(t)}catch(a){t(a)}}function Ia(e){try{jr.__ihabNoiseSettingsStore?.applied?.(e)}catch{}}async function g2(e){if(typeof document<"u"){const t=document.activeElement;let a=null;try{if(a=document.createElement("textarea"),a.value=e,a.setAttribute("readonly",""),a.style.position="fixed",a.style.top="0",a.style.left="0",a.style.opacity="0",a.style.pointerEvents="none",document.body.appendChild(a),a.focus(),a.select(),a.setSelectionRange(0,e.length),document.execCommand("copy"))return!0}catch{}finally{if(a?.parentNode&&a.parentNode.removeChild(a),t&&t!==document.activeElement&&typeof t.focus=="function"&&t.isConnected)try{t.focus({preventScroll:!0})}catch{}}}try{if(typeof navigator<"u"&&navigator.clipboard&&typeof navigator.clipboard.writeText=="function")return await navigator.clipboard.writeText(e),!0}catch{}return!1}const b2=/^(\d{4}-\d{2}-\d{2})[T ](\d{2}:\d{2})(?::(\d{2})(?:\.(\d+))?)?$/;function ei(e){let t;if(e instanceof Date)t=e;else if(typeof e=="string"){const a=e.trim(),r=b2.exec(a);t=new Date(r?`${r[1]}T${r[2]}:${r[3]??"00"}${r[4]?`.${r[4].slice(0,3).padEnd(3,"0")}`:""}+09:00`:a)}else t=new Date(e);return Number.isNaN(t.getTime())?null:t}function Ca(){return Lr(new Date)}function Mr(e){return e&&/^\d{4}-\d{2}-\d{2}$/.test(e)?e:Ca()}function Gn(){return v2(Ca())}const y2=540*60*1e3;function ti(e,t,a){return new Date(Date.UTC(e,t,a)-y2)}function v2(e){const[t,a,r]=e.split("-").map(Number);return new Date(t,(a||1)-1,r||1)}function Lr(e){if(e==null||e==="")return"";const t=ei(e);return t?new Intl.DateTimeFormat("fr-CA",{timeZone:"Asia/Seoul"}).format(t):""}function ni(e,t){if(!e)return"";const a=ei(e);if(!a)return"";const r=a.getTime(),s=Math.max(0,Math.floor((Date.now()-r)/1e3)),i=Math.floor(s/60),l=Math.floor(i/60),c=Math.floor(l/24),u=Math.floor(c/7),d=Math.floor(c/30),p=Math.floor(c/365);return i<1?t("store.time.justNow","\uBC29\uAE08 \uC804"):i<60?t("store.time.minutesAgo",{n:i}):l<24?t("store.time.hoursAgo",{n:l}):c<7?t("store.time.daysAgo",{n:c}):u<5?t("store.time.weeksAgo",{n:u}):c<365?t("store.time.monthsAgo",{n:Math.min(d,11)}):t("store.time.yearsAgo",{n:p})}function ai(e,t={}){const{sep:a=".",pad:r=!0,trailingDot:s=!1,fallback:i="\u2014"}=t;if(!e)return i;const l=Lr(e instanceof Date?e:String(e));if(!l)return i;const[c,u,d]=l.split("-"),p=r?u:String(Number(u)),m=r?d:String(Number(d));return`${c}${a}${p}${a}${m}${s?".":""}`}function Kn(e){if(!e)return e;const t=e.trim();return/^[₩$]/.test(t)?t:/원\s*$/.test(t)?"\u20A9"+t.replace(/\s*원\s*$/,"").trim():t}function ri(e,t){if(!e)return"-";const a=/^(\d{1,2}):(\d{2})$/.exec(e.trim());if(!a)return e;const r=Number(a[1]),s=Number(a[2]),i=a[1].padStart(2,"0");return s===0?t("date.timeH",{h:r,hh:i,mm:a[2]}):t("date.timeHM",{h:r,hh:i,m:s,mm:a[2]})}function $r(e){return(e??0).toLocaleString("ko-KR")}const x2=[{key:"FOOD",label:"\uC74C\uC2DD",icon:"salad",color:"#FF8A65",subs:[{key:"TRKRFD",label:"\uD55C\uAD6D \uC804\uD1B5\uC74C\uC2DD"},{key:"MDKRFD",label:"\uD55C\uAD6D \uD604\uB300\uC74C\uC2DD"},{key:"WRLDFD",label:"\uC138\uACC4\uC758 \uC74C\uC2DD"},{key:"MTRFRT",label:"\uC2DD\uC7AC\uB8CC\uC640 \uACFC\uC77C"},{key:"GEFDKL",label:"\uC74C\uC2DD \uC0C1\uC2DD"}]},{key:"HLTH",label:"\uAC74\uAC15",icon:"heart",color:"#66BB6A",subs:[{key:"HTETHB",label:"\uAC74\uAC15\uD55C \uC2DD\uC2B5\uAD00"},{key:"DISILL",label:"\uBCD1\uACFC \uC9C8\uD658"},{key:"EXCISE",label:"\uC6B4\uB3D9"},{key:"GEHTKL",label:"\uAC74\uAC15\uC0C1\uC2DD"}]},{key:"WETH",label:"\uB0A0\uC528",icon:"sun-medium",color:"#42A5F5",subs:[{key:"GESSKL",label:"\uACC4\uC808\uC0C1\uC2DD"},{key:"SNWRAN",label:"\uB208\uACFC \uBE44"},{key:"WTHFCT",label:"\uC77C\uAE30\uC608\uBCF4"},{key:"GEWTKL",label:"\uB0A0\uC528\uC0C1\uC2DD"}]},{key:"PRSN",label:"\uC778\uBB3C",icon:"user-round",color:"#AB47BC",subs:[{key:"JODYPS",label:"\uC870\uC120\uC2DC\uB300"},{key:"MDKRPS",label:"\uD55C\uAD6D \uADFC\uD604\uB300"},{key:"THKDPS",label:"\uC0BC\uAD6D\uC2DC\uB300"},{key:"WRLART",label:"\uC138\uACC4\uC758 \uC608\uC220\uAC00"},{key:"WRLPSN",label:"\uC138\uACC4\uC758 \uC778\uBB3C"}]},{key:"KRCT",label:"\uD55C\uAD6D\uBB38\uD654",icon:"bow-arrow",color:"#EC407A",subs:[{key:"KRLANG",label:"\uC6B0\uB9AC\uB9D0"},{key:"TRPLCT",label:"\uC804\uD1B5\uB180\uC774"},{key:"HERITG",label:"\uBB38\uD654\uC7AC"},{key:"EVTFES",label:"\uD589\uC0AC\uC640 \uCD95\uC81C"},{key:"GECTKL",label:"\uC0C1\uC2DD"}]},{key:"STRY",label:"\uC774\uC57C\uAE30",icon:"message-circle",color:"#8D6E63",subs:[{key:"FRYTAL",label:"\uB3D9\uD654"},{key:"AMZING",label:"\uC2E0\uAE30\uD55C \uC774\uC57C\uAE30"},{key:"DAYSTR",label:"\uC77C\uC0C1 \uC18D \uC774\uC57C\uAE30"}]},{key:"LOCA",label:"\uC9C0\uC5ED",icon:"map-pin",color:"#26A69A",subs:[{key:"KRLDMK",label:"\uD55C\uAD6D\uC758 \uBA85\uC18C"},{key:"SELNMK",label:"\uC11C\uC6B8\uC758 \uBA85\uC18C"},{key:"WRDTRB",label:"\uC138\uACC4\uC5EC\uD589"},{key:"NAVIGT",label:"\uAE38 \uCC3E\uAE30"}]},{key:"SOAR",label:"\uC0AC\uD68C\uC640 \uC608\uC220",icon:"landmark",color:"#5C6BC0",subs:[{key:"KRSOCI",label:"\uD55C\uAD6D"},{key:"ECONEW",label:"\uACBD\uC81C\uC640 \uB274\uC2A4"},{key:"GENART",label:"\uC608\uC220"},{key:"GELFKL",label:"\uC0DD\uD65C \uC0C1\uC2DD"}]},{key:"NTSC",label:"\uC790\uC5F0\uACFC \uACFC\uD559",icon:"leaf",color:"#9CCC65",subs:[{key:"ANIMAL",label:"\uB3D9\uBB3C"},{key:"PLANTS",label:"\uC2DD\uBB3C"},{key:"ETHPLT",label:"\uC9C0\uAD6C"},{key:"TOLELC",label:"\uB3C4\uAD6C\uC640 \uC804\uC790\uC81C\uD488"},{key:"GESCKL",label:"\uACFC\uD559\uC0C1\uC2DD"}]},{key:"SPRT",label:"\uC2A4\uD3EC\uCE20",icon:"trophy",color:"#FFCA28",subs:[{key:"INVDSP",label:"\uAC1C\uC778\uACBD\uAE30"},{key:"MARART",label:"\uACA9\uD22C\uAE30"},{key:"TEAMSP",label:"\uB2E8\uCCB4\uACBD\uAE30"},{key:"FOOTBL",label:"\uCD95\uAD6C"},{key:"GESPKL",label:"\uC2A4\uD3EC\uCE20 \uC0C1\uC2DD"}]}],_2=[{key:"LISTEN_IN_NOISE",label:"\uC18C\uC74C \uD558 \uBB38\uC7A5 \uB4E3\uAE30",icon:"party-popper",desc:"\uC18C\uC74C \uD658\uACBD \uC18D \uBB38\uC7A5 \uC774\uD574 \uD6C8\uB828"},{key:"SHORT_STORY",label:"\uC9E7\uC740 \uC774\uC57C\uAE30 \uB4E3\uAE30",icon:"message-square",desc:"\uC9E7\uC740 \uC774\uC57C\uAE30 + 4\uBB38\uC81C"},{key:"LONG_STORY",label:"\uAE34 \uC774\uC57C\uAE30 \uB4E3\uAE30",icon:"message-square-text",desc:"\uAE34 \uC774\uC57C\uAE30 \uC2EC\uD654 \uD6C8\uB828"},{key:"ORDERING_SENTENCE",label:"\uBB38\uC7A5 \uC21C\uC11C\uD654 \uD558\uAE30",icon:"align-start-vertical",desc:"\uC21C\uC11C \uBC30\uC5F4 \uD6C8\uB828"}];function oi(){return x2}function w2(){return _2}const k2=[],A2=[],B2=[],N2=[];function D2(){return{LISTEN_IN_NOISE:k2,SHORT_STORY:A2,LONG_STORY:B2,ORDERING_SENTENCE:N2}}const S2=[{key:"LISTEN_IN_NOISE",label:"\uC18C\uC74C \uD558 \uBB38\uC7A5 \uB4E3\uAE30",icon:"party-popper",desc:"\uB2E4\uC591\uD55C \uC18C\uC74C \uD658\uACBD\uC5D0\uC11C \uBB38\uC7A5 \uCCAD\uB825\uC744 \uD6C8\uB828\uD569\uB2C8\uB2E4."},{key:"SHORT_STORY",label:"\uC9E7\uC740 \uC774\uC57C\uAE30 \uB4E3\uAE30",icon:"message-square",desc:"\uC9E7\uC740 \uC774\uC57C\uAE30\uB97C \uB4E3\uACE0 \uAE30\uC5B5\uD558\uC5EC \uBB38\uC81C\uB97C \uD480\uC5B4\uBD05\uB2C8\uB2E4."},{key:"LONG_STORY",label:"\uAE34 \uC774\uC57C\uAE30 \uB4E3\uAE30",icon:"message-square-text",desc:"\uAE34 \uC774\uC57C\uAE30\uB97C \uB4E3\uACE0 \uAE30\uC5B5\uD558\uC5EC \uB2E4\uC218\uC758 \uBB38\uC81C\uB97C \uD480\uC5B4\uBD05\uB2C8\uB2E4."},{key:"ORDERING_SENTENCE",label:"\uBB38\uC7A5 \uC21C\uC11C\uD654 \uD558\uAE30",icon:"align-start-vertical",desc:"\uC5EC\uB7EC\uAC1C\uC758 \uC9E7\uC740 \uBB38\uC7A5\uC744 \uB4E3\uACE0 \uAE30\uC5B5\uD558\uC5EC \uADF8 \uC21C\uC11C\uC5D0 \uB9DE\uAC8C \uBC30\uC5F4\uD569\uB2C8\uB2E4."}],si={LISTEN_IN_NOISE:"listenInNoise",SHORT_STORY:"shortStory",LONG_STORY:"longStory",ORDERING_SENTENCE:"orderingSentence"};function E2(e){return S2.map(t=>{const a=si[t.key];return a?{...t,label:e(`trainingType.${a}.title`),desc:e(`trainingType.${a}.desc`)}:t})}let Fa=null,ii=null,li=null;function T2(){const e=Zs();if(e&&e.entries.length>0){const t=n2();if(Fa&&ii===e&&li===t)return Fa;const a=new Set,r=[];for(const s of e.entries)!s.word||a.has(s.word)||(a.add(s.word),r.push({w:s.word,s:s.syllables,p:t?.[s.word]?[...t[s.word].cho??[],...t[s.word].jung??[],...t[s.word].jong??[]]:[],pron:s.pronunciation||s.word,grade:s.grade}));return Fa=r,ii=e,li=t,Fa}return[]}new Proxy([],{get(e,t){const a=T2(),r=a[t];return typeof r=="function"?r.bind(a):r}});const j2="0.155.1";function M2(e){if(e.includes("\\")&&e.includes("("))return!0;if(!/url\s*\(/i.test(e))return!1;const t=e.replace(/url\(\s*(['"]?)#[^)'"]*\1\s*\)/gi,"");return/url\s*\(/i.test(t)}function L2(e){if(typeof window>"u")return"";const t=(a,r)=>{typeof r.attrValue=="string"&&M2(r.attrValue)&&(r.keepAttr=!1)};wr.addHook("uponSanitizeAttribute",t);try{return wr.sanitize(e,{USE_PROFILES:{svg:!0,svgFilters:!0},FORBID_TAGS:["script","use","style"],FORBID_ATTR:["xlink:href","href"]})}finally{wr.removeHook("uponSanitizeAttribute",t)}}function $2(e){const[t,a]=o.useState(null),[r,s]=o.useState(null),[i,l]=o.useState(null),[c,u]=o.useState(null);return o.useEffect(()=>{if(!e||typeof e!="string"||!e.endsWith(".svg")){a(null),s(null),l(null);return}const d=e.split("/").pop();let p=e;d&&(e.startsWith("/")?p=kr(e):/^(Logo|Symbol)/i.test(d)?p=kr(`logo/${d}`):(/^https?:\/\//i.test(e)||e.startsWith("data:"),p=e)),s(null),l(null),a(p)},[e]),o.useEffect(()=>{if(!t)return;let d=!1;async function p(){try{let m=await fetch(t);m.ok||(m=await fetch(t));const h=m.headers.get("content-type")||"";if(d)return;if(h.includes("svg")){s("mask");return}if(h.startsWith("image/")){s("img");return}const g=await fetch(t);if(!g.ok)throw new Error("not ok");const C=await g.text();if(d)return;if(/^\s*<svg[\s>]/i.test(C)){const b=L2(C);if(!b){s("none");return}l(b),s("inline");return}s("none")}catch{d||s("none")}}return p(),()=>{d=!0}},[t]),o.useEffect(()=>{let d=!1,p=null;return r==="mask"&&t&&fetch(t).then(m=>{if(!m.ok)throw new Error("fetch failed");return m.blob()}).then(m=>{d||(p=URL.createObjectURL(m),u(p))}).catch(()=>{d||s("img")}),()=>{d=!0,p&&URL.revokeObjectURL(p),u(null)}},[r,t]),{iconToUse:t,mode:r,svgText:i,blobUrl:c}}function Ge(e){const{icon:t,label:a,className:r,imgClassName:s,maskClassName:i,svgClassName:l,wrapperStyle:c,size:u}=e||{},d=r??"iconRenderer-icon",p=s??"iconRenderer-icon-image",m=i??"iconRenderer-icon-mask",h=l??"iconRenderer-icon-svg",g=typeof t=="string"?t:null,C=Xh(g),{iconToUse:b,mode:_,svgText:f,blobUrl:y}=$2(g),x=(k,B={})=>n.jsx("span",{className:d,style:c,...B,children:k}),v=typeof u=="number"?{width:u,height:u,objectFit:"contain"}:null,A=(k,B={})=>n.jsx("img",{src:k,alt:typeof a=="string"?a:typeof a=="number"?String(a):"",className:p,...B,style:v?{...B.style,...v}:B.style});if(!t)return null;if(typeof t!="string")return x(t);if(t==="none")return x(n.jsx("span",{className:h,dangerouslySetInnerHTML:{__html:'<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" aria-hidden="true"></svg>'}}),{"aria-hidden":"true"});if(C)try{return x(o.createElement(C,{className:h,size:typeof u=="number"?u:20}),{"aria-hidden":"true"})}catch{}if(b&&b.endsWith(".svg")){if(_==="mask"){const k={"--icon-url":y?`url(${y})`:`url(${b})`,...typeof u=="number"?{"--icon-size":`${u}px`}:null};return x(n.jsx("span",{className:m,style:k}),{"aria-hidden":"true"})}return _==="img"?x(A(b,{onError:k=>{k.currentTarget.onerror=null,k.currentTarget.style.display="none"}}),{"aria-hidden":"true"}):_==="inline"?x(n.jsx("span",{className:h,dangerouslySetInnerHTML:f?{__html:f}:void 0}),{"aria-hidden":"true"}):x(null,{"aria-hidden":"true"})}if(t.startsWith("/")||t.includes("/assets/")||t.match(/\.(png|jpg|jpeg|webp|gif)$/i))return A(kr(t),{style:c,onError:k=>{k.currentTarget.onerror=null,k.currentTarget.style.display="none"}});const w=typeof u=="number"?u:20,D=`<svg width="${w}" height="${w}" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><rect x="3" y="3" width="18" height="18" rx="2" ry="2" style="fill:none;stroke:currentColor;stroke-width:2"/></svg>`;return x(n.jsx("span",{className:h,dangerouslySetInnerHTML:{__html:D}}),{"aria-hidden":"true"})}function ci(e){const[t,a]=o.useState(!1),r=o.useRef(!1),s=o.useRef(!0);o.useEffect(()=>(s.current=!0,()=>{s.current=!1}),[]);const i=o.useCallback(()=>{if(!e||r.current)return;const l=e();if(l&&typeof l.then=="function"){r.current=!0,a(!0);const c=()=>{r.current=!1,s.current&&a(!1)};l.then(c,c)}},[e]);return{pending:t,press:i}}function R2({icon:e,emoji:t,title:a,message:r,hint:s,action:i,compact:l,className:c}){const{pending:u,press:d}=ci(i?.onClick);return n.jsxs("div",{className:Be("empty-state",l&&"empty-state--compact",c),children:[t&&n.jsx("span",{className:"empty-state__emoji",children:t}),e&&n.jsx(Ge,{icon:e,className:"empty-state__icon"}),a&&n.jsx("p",{className:"empty-state__title body-2",children:a}),r&&n.jsx("p",{className:"empty-state__message body-3",children:r}),s&&n.jsx("p",{className:"empty-state__hint caption-1",children:s}),i&&n.jsxs("button",{type:"button",className:"empty-state__action button button40 button40--bar button--variant-main button--align-center button--shape-rounded",onClick:d,disabled:u,"aria-busy":u||void 0,children:[i.icon&&n.jsx(Ge,{icon:i.icon,className:"button__icon"}),n.jsx("span",{className:"button__label button-1",children:i.label})]})]})}function P2({message:e,hint:t,icon:a="triangle-alert",onRetry:r,retryLabel:s,className:i}){const{t:l}=fe.useTranslation(),{pending:c,press:u}=ci(r);return n.jsxs("div",{className:Be("empty-state","error-state",i),role:"alert",children:[n.jsx(Ge,{icon:a,className:"empty-state__icon error-state__icon"}),n.jsx("p",{className:"empty-state__message body-3",children:e??l("common.errorState.message",{defaultValue:"\uBD88\uB7EC\uC624\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4."})}),t&&n.jsx("p",{className:"empty-state__hint caption-1",children:t}),r&&n.jsxs("button",{type:"button",className:"empty-state__action button button40 button40--bar button--variant-main button--align-center button--shape-rounded",onClick:u,disabled:c,"aria-busy":c||void 0,children:[n.jsx(Ge,{icon:"rotate-cw",className:"button__icon"}),n.jsx("span",{className:"button__label button-1",children:s??l("common.errorState.retry",{defaultValue:"\uB2E4\uC2DC \uC2DC\uB3C4"})})]})]})}function I2({icon:e,title:t,description:a,cta:r,tone:s="main",disabled:i=!1,onClick:l,className:c=""}){const u=o.useId(),d=`${u}-title`,p=`${u}-desc`,m=`${u}-cta`,h=()=>{i||l?.()};return n.jsx("section",{role:"button",tabIndex:i?-1:0,"aria-disabled":i||void 0,"aria-labelledby":d,"aria-describedby":`${p} ${m}`,onClick:h,onKeyDown:g=>{(g.key==="Enter"||g.key===" ")&&(g.preventDefault(),h())},className:Be("action-card",`action-card--${s}`,i&&"action-card--disabled",c),children:n.jsxs("div",{className:"action-card__body",children:[n.jsx("span",{"aria-hidden":!0,className:"action-card__chip",children:n.jsx(Ge,{icon:e,size:34})}),n.jsxs("div",{className:"action-card__text",children:[n.jsx("h2",{id:d,className:"action-card__title",children:t}),n.jsx("p",{id:p,className:"action-card__desc",children:a})]}),n.jsxs("div",{className:"action-card__cta",children:[n.jsx("span",{id:m,children:r}),n.jsx("span",{"aria-hidden":!0,className:"action-card__arrow",children:n.jsx(Ge,{icon:"arrow-right",size:18})})]})]})})}function F2({as:e="div",className:t="",children:a,storage:r,...s}){r&&R0({resolveUrl:r.resolveUrl,download:r.download??(()=>Promise.reject(new Error("[ihabdevteam-core] CoreScope: download resolver\uAC00 \uC124\uC815\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4."))),exists:r.exists,resolvePath:r.resolvePath,noiseBaseUrl:r.noiseBaseUrl,noiseFileGain:r.noiseFileGain});const i=Be("ihabdevteam-core-scope",t);return n.jsx(e,{className:i,...s,children:a})}function Rr(e,t=!0){o.useEffect(()=>{if(!t)return;const a=e.current;if(!a)return;const r=s=>{if(s.key!=="Tab")return;const i=Array.from(a.querySelectorAll(hn)).filter(p=>!p.closest('[aria-hidden="true"]'));if(!i.length){s.preventDefault();return}const l=i[0],c=i[i.length-1],u=document.activeElement,d=u===a;s.shiftKey&&(u===l||d)?(s.preventDefault(),c.focus()):!s.shiftKey&&u===c&&(s.preventDefault(),l.focus())};return a.addEventListener("keydown",r),()=>a.removeEventListener("keydown",r)},[e,t])}const hn='a[href], button:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"])',Pr=new WeakMap;function Ir(e,t){e&&Pr.set(e,t)}function Fr(e){let t=e;for(let a=0;t&&!t.isConnected&&a<10;a++){let r=t;for(;r&&!Pr.has(r);)r=r.parentElement;if(!r)return t;t=Pr.get(r)??null}return t}function ui(e){return!(!e||!e.isConnected||e===document.body||typeof e.focus!="function"||e.disabled||e instanceof HTMLInputElement&&e.type==="hidden"||e.closest('[inert],[aria-hidden="true"],[hidden]'))}function Oa(e,t,a){const r=e?.isConnected?e:a?.isConnected?a:null;if(ui(t)&&!(e&&e.contains(t)))return t.focus(),t;if(!r)return null;const s=Array.from(document.querySelectorAll(hn)).filter(u=>!(e&&e.contains(u))&&ui(u));let i=null,l=null;for(const u of s)r.compareDocumentPosition(u)&Node.DOCUMENT_POSITION_PRECEDING?i=u:l||(l=u);const c=i??l;return c?.focus(),c}function O2({title:e="",lines:t=[],notices:a=null,children:r,variant:s="default",dismissible:i=!1,className:l=""}){const{t:c}=fe.useTranslation(),[u,d]=o.useState(!1),p=o.useRef(null),m=o.useCallback(()=>{const b=p.current;b&&b.contains(document.activeElement)&&Oa(b),d(!0)},[]);if(u)return null;const h=`notice-box notice-box--${s} body-2 ${l}`.trim(),g=i&&n.jsx("button",{type:"button",className:"notice-box__dismiss",onClick:m,"aria-label":c("common.close","\uB2EB\uAE30"),children:"\xD7"});if(a&&Array.isArray(a)&&a.length)return n.jsxs("div",{className:h,role:"note",children:[a.map((b,_)=>n.jsxs("div",{className:"notice-box__inner",children:[b.title?n.jsx("span",{className:"notice-box__title body-3",children:b.title}):null,n.jsx("div",{className:"notice-box__body",children:b.lines&&b.lines.length?n.jsx("div",{children:b.lines.map((f,y)=>n.jsx("span",{className:"notice-box__line body-3",children:f},y))}):b.children??null})]},_)),g]});const C=e||t.length?n.jsxs("div",{className:"notice-box__inner",children:[e?n.jsx("span",{className:"notice-box__title body-1",children:e}):null,n.jsx("div",{className:"notice-box__body",children:t.length?n.jsx("ul",{children:t.map((b,_)=>n.jsx("li",{className:"notice-box__line",children:b},_))}):r})]}):n.jsx("div",{className:"notice-box__inner",children:r});return n.jsxs("div",{ref:p,className:h,role:"note",children:[C,g]})}const Yn=[];let Va=!1;function di(e){if(e.key!=="Escape"||e.defaultPrevented||e.isComposing||e.keyCode===229)return;const t=Yn[Yn.length-1];t&&(e.stopPropagation(),t())}function Rn(e){return Yn.push(e),!Va&&typeof document<"u"&&(document.addEventListener("keydown",di),Va=!0),()=>{const t=Yn.lastIndexOf(e);t>=0&&Yn.splice(t,1),Yn.length===0&&Va&&typeof document<"u"&&(document.removeEventListener("keydown",di),Va=!1)}}const pi=o.createContext(null);function V2(e){return/max-width:\s*7[0-9][0-9]px/.test(e)}const mi=e=>typeof window>"u"||!window.matchMedia?!1:window.matchMedia(e).matches;function H2(e){const t=o.useCallback(a=>{if(typeof window>"u"||!window.matchMedia)return()=>{};const r=window.matchMedia(e);return r.addEventListener?r.addEventListener("change",a):r.addListener&&r.addListener(a),()=>{r.removeEventListener?r.removeEventListener("change",a):r.removeListener&&r.removeListener(a)}},[e]);return Uo.useSyncExternalStore(t,()=>mi(e),()=>!1)}function z2(e){const[t,a]=o.useState(mi(e));return o.useEffect(()=>{if(typeof window>"u"||!window.matchMedia)return;const r=window.matchMedia(e),s=l=>a(l.matches),i=r;return i.addEventListener?i.addEventListener("change",s):i.addListener&&i.addListener(s),a(r.matches),()=>{i.removeEventListener?i.removeEventListener("change",s):i.removeListener&&i.removeListener(s)}},[e]),t}const W2=typeof Uo.useSyncExternalStore=="function"?H2:z2;function en(e){const t=o.useContext(pi),a=W2(e);return t&&typeof t.mobile=="boolean"&&V2(e)?t.mobile:a}const q2="(prefers-reduced-motion: reduce)";function Or(){return en(q2)}function An(e){const{anchorRect:t,anchorEl:a,offset:r=20,edgeMargin:s=20,onClose:i,closeOnOutsideClick:l=!0,className:c="",role:u="dialog",ariaLabel:d="",children:p,backdrop:m=!1,isMobilePopup:h=!1,useBorder:g=!0,header:C}=e||{},b=o.useRef(null),[_,f]=o.useState({position:"fixed",left:0,top:-9999}),[y,x]=o.useState(!1),[v,A]=o.useState("bottom"),[w,D]=o.useState(!1),[k,B]=o.useState(!1),N=!t&&!a,M=o.useCallback((q=!1)=>{if(k&&h)return;const H=a?a.getBoundingClientRect():t;if(!H||!b.current)return;const z=b.current,{offsetWidth:Z,offsetHeight:I}=z,T=window.innerWidth,O=window.innerHeight,R=T-H.right,j=H.left,L=H.top,Q=O-H.bottom;let J=0,oe=0,ge="top";if(L>=I+r)ge="top",oe=H.top-r-I,J=H.left+H.width/2-Z/2;else if(Q>=I+r)ge="bottom",oe=H.bottom+r,J=H.left+H.width/2-Z/2;else if(R>=Z+r)ge="right",J=H.right+r,oe=H.top+H.height/2-I/2;else if(j>=Z+r)ge="left",J=H.left-r-Z,oe=H.top+H.height/2-I/2;else{const U=Math.max(L,Q,R,j);U===L?(ge="top",oe=H.top-r-I,J=H.left+H.width/2-Z/2):U===Q?(ge="bottom",oe=H.bottom+r,J=H.left+H.width/2-Z/2):U===R?(ge="right",J=H.right+r,oe=H.top+H.height/2-I/2):(ge="left",J=H.left-r-Z,oe=H.top+H.height/2-I/2)}const Me=Number.isFinite(Number(s))?Number(s):8;J=Math.min(Math.max(J,Me),T-Z-Me),oe=Math.min(Math.max(oe,Me),O-I-Me);const Ne=Math.round(J),ie=Math.round(oe);q&&b.current?(b.current.style.left=`${Ne}px`,b.current.style.top=`${ie}px`,b.current.dataset.placement=ge):(A(ge||v),f({position:"fixed",left:Ne,top:ie}),D(!0))},[k,h,a,t,r,s,v]);o.useLayoutEffect(()=>{if(N)return;if(k&&h){f({position:"fixed",left:"50%",top:"50%",transform:"translate(-50%, -50%)",width:"calc(100% - 40px)",maxWidth:"calc(100% - 40px)"}),D(!0);return}M();const q=requestAnimationFrame(()=>M());return()=>cancelAnimationFrame(q)},[t,a,r,p,s,N,k,h,M]),o.useEffect(()=>{if(N||k&&h||!b.current||typeof ResizeObserver>"u")return;const q=new ResizeObserver(()=>{t&&M()});return q.observe(b.current),()=>q.disconnect()},[t,p,s,N,k,h,M]),o.useEffect(()=>{if(N||k&&h)return;const q=()=>M(!0),H=z=>{if(!a&&i){const Z=z.target;if(Z&&b.current&&b.current.contains(Z))return;try{if(Z&&Z.closest&&Z.closest("[data-tooltip-ignore]"))return}catch{}F.current(!0);return}q()};return window.addEventListener("resize",q),document.addEventListener("scroll",H,{passive:!0,capture:!0}),()=>{window.removeEventListener("resize",q),document.removeEventListener("scroll",H,{capture:!0})}},[t,a,i,r,p,s,N,k,h,M]),o.useEffect(()=>{if(typeof window>"u"||!window.matchMedia)return;const q=window.matchMedia("(max-width: 768px)"),H=()=>B(!!q.matches);H();try{q.addEventListener?q.addEventListener("change",H):q.addListener(H)}catch{try{q.addListener(H)}catch{}}return()=>{try{q.removeEventListener?q.removeEventListener("change",H):q.removeListener(H)}catch{}}},[]);const P=o.useRef(!1),$=o.useRef(null),W=Or(),S=o.useCallback((q=!1)=>{if(i&&!(y||P.current)){if(P.current=!0,q){x(!0);try{i&&i()}catch{P.current=!1,x(!1)}return}x(!0),$.current=setTimeout(()=>{$.current=null;try{i&&i()}catch{P.current=!1,x(!1)}},W?0:200)}},[y,i,x,W]);o.useEffect(()=>()=>{$.current&&clearTimeout($.current)},[]),o.useEffect(()=>{if(N)return;const q=Z=>{const I=b.current;if(!I)return;const T=Z.target;if(T&&!I.contains(T)){try{if(T.closest&&T.closest("[data-tooltip-ignore]"))return}catch{}l&&S(!0)}},H=Z=>{const I=b.current;if(!I)return;const T=Z.target;if(T&&!I.contains(T)){try{if(T.closest&&T.closest("[data-tooltip-ignore]"))return}catch{}l&&S(!0)}},z=Z=>{if(Z.key==="Tab"){const I=b.current;if(!I)return;const T=I.querySelectorAll(hn);if(!T||T.length===0)return;const O=T[0],R=T[T.length-1],j=document.activeElement;Z.shiftKey?j===O&&(Z.preventDefault(),R.focus()):j===R&&(Z.preventDefault(),O.focus())}};return document.addEventListener("pointerdown",q,!0),document.addEventListener("click",H,!0),document.addEventListener("keydown",z),()=>{document.removeEventListener("pointerdown",q,!0),document.removeEventListener("click",H,!0),document.removeEventListener("keydown",z)}},[i,l,S,N]);const F=o.useRef(S);o.useEffect(()=>{F.current=S});const Y=!!i;o.useEffect(()=>{if(!(N||!Y))return Rn(()=>F.current())},[N,Y]),o.useEffect(()=>{const q=()=>{S(!0)};return typeof document<"u"&&document.addEventListener("speechear-close-tooltips",q),()=>{typeof document<"u"&&document.removeEventListener("speechear-close-tooltips",q)}},[S]);const G=n.jsxs("div",{ref:b,className:`tooltip-content ${N?"tooltip-content--inline":""} ${g?"tooltip-content--bordered":""} ${y?"is-closing":""} ${c} ${k&&h?"is-mobile":""}`,role:u,"aria-label":d||void 0,style:N?{}:{..._,visibility:w?"visible":"hidden"},tabIndex:-1,"data-placement":v,"data-left":N?"":_.left,"data-top":N?"":_.top,"data-anchor-left":t?Math.round(t.left):"","data-anchor-top":t?Math.round(t.top):"","data-anchor-width":t?Math.round(t.width):"","data-anchor-height":t?Math.round(t.height):"",children:[C!=null&&n.jsx("div",{className:"tooltip-content__header h5",children:C}),p]});if(N||typeof document>"u")return G;if(m||k&&h){const q=n.jsxs("div",{className:"tooltip-portal",children:[n.jsx("div",{className:"tooltip-backdrop",onClick:()=>{l&&S(!0)}}),G]});return Wt.createPortal(q,document.body)}return Wt.createPortal(G,document.body)}function Bn(e){const{anchorRect:t,text:a,offset:r=8,onClose:s,className:i="",ariaLabel:l}=e||{};return a?n.jsx(An,{anchorRect:t,offset:r,onClose:s,closeOnOutsideClick:!1,className:`tooltip-info ${i}`,ariaLabel:l||a,children:n.jsx("div",{className:"tooltip-info__content body-3",children:a})}):null}function Pn(e){const{t}=fe.useTranslation(),{anchorRect:a,title:r,items:s,activeIndex:i=-1,showIndex:l=!0,onClose:c,offset:u=12,closeOnOutsideClick:d=!0}=e||{},p=(Array.isArray(s)?s:s?[s]:[]).map(m=>typeof m=="string"?{text:m}:m);return!p.length&&!r?null:n.jsx(An,{anchorRect:a,offset:u,onClose:c,closeOnOutsideClick:d,useBorder:!1,className:"tooltip-description",ariaLabel:r||t("tooltip.description","\uC124\uBA85"),children:n.jsxs("div",{className:"tooltip-description__box",children:[r&&n.jsx("span",{className:"tooltip-description__title body-2",children:r}),n.jsx("ol",{className:"tooltip-description__items",children:p.map((m,h)=>n.jsxs("li",{className:`tooltip-description__item body-3${h===i?" tooltip-description__item--active":""}`,children:[l&&p.length>1&&n.jsxs("span",{className:"tooltip-description__index button-1",children:[h+1,"."]}),m.color&&n.jsx("span",{className:"tooltip-description__dot",style:{background:m.color},"aria-hidden":"true"}),n.jsx("span",{children:m.text})]},h))})]})})}function ga(e){const t=o.useRef(e);return o.useEffect(()=>{t.current=e}),t}let Vr=0,hi=!1;function fi(){hi||typeof document>"u"||(hi=!0,document.addEventListener("pointerdown",e=>{e.pointerType==="touch"&&(Vr=Date.now())},!0),document.addEventListener("touchstart",()=>{Vr=Date.now()},{capture:!0,passive:!0}))}fi();function Zn(e){return!!e&&e.pointerType==="touch"}function Xn(e=1e3){return fi(),Date.now()-Vr<e}function Hr(e,t,a,{enabled:r=!0,fallbackOnParent:s=!1}={}){const i=ga(e),l=ga(t),c=o.useRef(null),u=o.useRef(0);o.useEffect(()=>{if(!r||typeof document>"u")return;const p=m=>{const h=m,g=m.target,C=a.current,b=!!(g&&C&&C.contains(g));if(h.pointerType!=="touch"){b&&(c.current=null);return}if(b){c.current=i.current;return}c.current=null,i.current&&!(g&&g.closest?.(".tooltip-content"))&&l.current(!1,C)};return document.addEventListener("pointerdown",p,!0),()=>document.removeEventListener("pointerdown",p,!0)},[r,a,i,l]);const d=o.useCallback(p=>{const m=c.current;return m===null?!1:(c.current=null,u.current=Date.now(),l.current(!m,p??a.current),!0)},[a,l]);return o.useEffect(()=>{if(!r||!s)return;const p=a.current,m=p?.parentElement;if(!p||!m)return;let h=null;const g=_=>{const f=_.changedTouches?.[0];if(!f)return!1;const y=p.getBoundingClientRect();return f.clientX>=y.left&&f.clientX<=y.right&&f.clientY>=y.top&&f.clientY<=y.bottom},C=_=>{h=g(_)?i.current:null},b=_=>{const f=h;h=null,!(f===null||Date.now()-u.current<700||!g(_))&&(c.current=null,u.current=Date.now(),l.current(!f,p))};return m.addEventListener("touchstart",C,{passive:!0}),m.addEventListener("touchend",b),()=>{m.removeEventListener("touchstart",C),m.removeEventListener("touchend",b)}},[r,s,a,i,l]),{touchPress:d}}function U2(e,t){const{size:a=48,type:r,htmlType:s,href:i,target:l,rel:c,icon:u,rightIcon:d,label:p,count:m,subLabel:h,children:g,ariaLabel:C,variant:b="default",align:_="center",selected:f,toggleable:y=!1,ariaExpanded:x,ariaControls:v,disabled:A=!1,useLabel:w=!0,useBorder:D=!0,useBG:k=!0,useDisabledCovered:B=!1,useDisabledInvisible:N=!1,width:M,minWidth:P,onClick:$,onDisabledClick:W,showTooltipInfo:S=!1,tooltipInfoText:F=null,tooltipDescription:Y=null,tooltipOnly:G=!1,iconSize:q="medium",iconColor:H,shape:z="rounded",color:Z,className:I,...T}=e,O=typeof a=="string"&&isNaN(Number(a))?a.toLowerCase():String(Number(a)||48),R=O.match(/^\d+$/)?`button${O}`:`button-${O}`,j=Number(a),L=!isNaN(j)&&j<40?"button-2":"button-1",Q=p??g,J=A||!!T.disabled,oe=J?B?"disabled-covered":N?"disabled-invisibled":"disabled":b,ge=oe?`button--variant-${oe}`:"",Me=_?`button--align-${_}`:"",Ne=z?`button--shape-${z}`:"",ie=typeof H=="string"&&H.startsWith("--")?`var(${H})`:H,U={...M?{width:typeof M=="number"?`${M}px`:M}:{},...P?{minWidth:typeof P=="number"?`${P}px`:P}:{},...D?{}:{"--button-border":J?"0":"1px solid transparent"},...ie?{"--button-icon-color":ie}:{},...Z?{"--color-main":Z}:{}},se=w===!1?"":Q,me=Array.isArray(se)?se.length>0:!!se,_e=!!d,we=r??(me||u||_e?"bar":"dot"),De=`${R}--${we}`,xe=o.useRef(null),Ae=o.useRef(t);Ae.current=t;const Te=o.useCallback(Le=>{xe.current=Le;const Ke=Ae.current;typeof Ke=="function"?Ke(Le):Ke&&(Ke.current=Le)},[]),ae=o.useRef(J),[ee,de]=o.useState(!!f),[te,he]=o.useState(!1),[be,Ye]=o.useState(null),Ve=o.useCallback(()=>he(!1),[]),[qe,Se]=o.useState(!1),Ue=o.useId();o.useEffect(()=>{typeof f=="boolean"&&de(f)},[f]),o.useEffect(()=>{if(ae.current&&!J&&xe.current){const Le=xe.current;let Ke=!1;try{Ke=Le.matches(":focus:not(:focus-visible)")}catch{Ke=!1}Ke&&Le.blur(),Le.style.pointerEvents="none";const Dt=requestAnimationFrame(()=>{requestAnimationFrame(()=>{xe.current&&(xe.current.style.pointerEvents="")})});return()=>cancelAnimationFrame(Dt)}ae.current=J},[J]);const $e=typeof f=="boolean"?!!f:ee,Ie=typeof x=="boolean"?void 0:y||typeof f=="boolean"?$e?"true":"false":T["aria-pressed"],He=Be("button",R,De,ge,Me,Ne,$e?"is-selected":null,k?null:"button--no-bg",G?"button--tooltip-only":null,I),at=`button__icon button__icon--${q}`,ot=Array.isArray(h)?h:h!==void 0?[h]:[],We=()=>{if(Array.isArray(se))return se.map((Ke,Dt)=>{const vt=ot[Dt];return n.jsxs("span",{className:`button__label-text${vt!==void 0?" button__label-text--has-sub":""}`,children:[Ke,vt!==void 0&&n.jsx("span",{className:"button__sub-label-text caption-1",children:vt})]},Dt)});const Le=h!==void 0;return n.jsxs("span",{className:`button__label-text${Le?" button__label-text--has-sub":""}`,children:[se,m!=null&&n.jsx("span",{className:"button__count",children:m}),Le&&n.jsx("span",{className:"button__sub-label-text caption-1",children:h})]})},Xe=Le=>{typeof f!="boolean"&&!y&&de(!1),Le.currentTarget.blur()},Ct=Le=>{J||(typeof T.onMouseLeave=="function"&&T.onMouseLeave(Le),Xe(Le))},At=Le=>{if(G&&Qe&&Ze.touchPress(Le.currentTarget),J){Qe&&Ze.touchPress(Le.currentTarget),Le.preventDefault(),W?.(Le);return}typeof f!="boolean"&&y&&de(Ke=>!Ke),$?.(Le)},Et=o.useCallback(()=>{(S||Y)&&(he(!0),Ye(xe.current?.getBoundingClientRect()??null))},[S,Y]),ut=o.useCallback(()=>{(S||Y)&&(he(!1),Ye(null))},[S,Y]),Qe=!!(S||Y),Ze=Hr(te,Le=>{Le?Et():ut()},xe,{enabled:Qe&&(J||G),fallbackOnParent:Qe&&J}),Oe={...T};delete Oe.disabled,delete Oe.className,delete Oe.faded,delete Oe.useFaded,delete Oe.loading,delete Oe.onMouseLeave,delete Oe.onPointerEnter,delete Oe.onPointerLeave,delete Oe.onPointerUp,delete Oe.onFocus,delete Oe.onBlur,J&&(Object.keys(Oe).forEach(Le=>{/^on[A-Z]/.test(Le)&&typeof Oe[Le]=="function"&&delete Oe[Le]}),Oe["aria-disabled"]="true");const rt=(typeof S=="string"?S:null)??(typeof F=="string"?F:null)??(typeof C=="string"?C:null)??(typeof Q=="string"?Q:null)??void 0,et=typeof C=="string"?C:typeof Q=="string"?Q:rt,bt=Y?[Y.title,...Y.items??[]].filter(Boolean).join(". "):S&&rt&&rt!==et?rt:"",ze=[typeof T["aria-describedby"]=="string"?T["aria-describedby"]:void 0,bt?Ue:null].filter(Boolean).join(" ")||void 0,it=(Le,Ke)=>n.jsx(Ge,{icon:Le,label:Ke??et,className:at,imgClassName:"button__icon-img",maskClassName:"button__icon-mask",svgClassName:"button__icon-svg"}),Bt=()=>we==="dot"?n.jsxs(n.Fragment,{children:[it(u),me&&n.jsx("span",{className:`button__label ${L}`,children:We()})]}):_==="center"&&u?n.jsxs(n.Fragment,{children:[n.jsxs("span",{className:"button__center-group",children:[n.jsx("span",{className:"button__left",children:it(u)}),me&&n.jsx("span",{className:`button__label ${L}`,children:We()})]}),_e&&n.jsx("span",{className:"button__right",children:it(d)})]}):n.jsxs(n.Fragment,{children:[u&&n.jsx("span",{className:"button__left",children:it(u,C??Q)}),me&&n.jsx("span",{className:`button__label ${L}`,children:We()}),_e&&n.jsx("span",{className:"button__right",children:it(d)})]}),Nt=!!i&&!J;return n.jsxs(n.Fragment,{children:[n.jsxs(Nt?"a":"button",{...Oe,ref:Te,...Nt?{href:i,target:l,rel:c??(l==="_blank"?"noreferrer":void 0)}:{type:s,disabled:J&&!W&&!qe},className:He,"aria-pressed":Ie,"aria-expanded":typeof x=="boolean"?x:T["aria-expanded"],"aria-controls":v??T["aria-controls"],"aria-label":et,"aria-disabled":J&&(Nt||W||qe)?!0:void 0,"aria-describedby":ze,style:U,onClick:At,onMouseLeave:Ct,onPointerEnter:Le=>{Zn(Le)||Et(),!J&&typeof T.onPointerEnter=="function"&&T.onPointerEnter(Le)},onPointerLeave:Le=>{Zn(Le)||ut(),!J&&typeof T.onPointerLeave=="function"&&T.onPointerLeave(Le)},onPointerUp:Le=>{J&&Qe&&Ze.touchPress(Le.currentTarget),!J&&typeof T.onPointerUp=="function"&&T.onPointerUp(Le)},onFocus:Le=>{Se(!0),Xn()||Et(),!J&&typeof T.onFocus=="function"&&T.onFocus(Le)},onBlur:Le=>{Se(!1),J||Xe(Le),ut(),!J&&typeof T.onBlur=="function"&&T.onBlur(Le)},children:[Bt(),bt?n.jsx("span",{id:Ue,hidden:!0,"aria-label":bt}):null]}),te&&Y?n.jsx(Pn,{anchorRect:be,title:Y.title,items:Y.items,onClose:Ve}):te&&rt?n.jsx(Bn,{anchorRect:be,text:rt,onClose:Ve}):null]})}const ce=o.forwardRef(U2);ce.displayName="Button";var G2={statusFilter:"\uC0C1\uD0DC \uD544\uD130",pageSizeSelect:"\uD398\uC774\uC9C0\uB2F9 \uD45C\uC2DC \uAC1C\uC218",selectedCount:"{{count}}\uAC1C \uC120\uD0DD\uB428",cancel:"\uCDE8\uC18C",info:"\uC124\uBA85",errorState:{message:"\uBD88\uB7EC\uC624\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4.",retry:"\uB2E4\uC2DC \uC2DC\uB3C4"},save:"\uC800\uC7A5",confirm:"\uD655\uC778",close:"\uB2EB\uAE30",back:"\uB4A4\uB85C",emptyTrainingName:"\uD6C8\uB828 \uC774\uB984\uC774 \uBE44\uC5B4 \uC788\uC2B5\uB2C8\uB2E4.",remove:"\uC81C\uAC70",image:"\uC774\uBBF8\uC9C0",delete:"\uC0AD\uC81C",reset:"\uCD08\uAE30\uD654",update:"\uC5C5\uB370\uC774\uD2B8",download:"\uB2E4\uC6B4\uB85C\uB4DC",search:"\uAC80\uC0C9",empty:"\uB370\uC774\uD130\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.",yes:"\uC608",no:"\uC544\uB2C8\uC624",all:"\uC804\uCCB4",none:"\uC5C6\uC74C",days:"{{count}}\uC77C",loadMore:"\uB354\uBCF4\uAE30",more:"\uB354\uBCF4\uAE30",moreFor:"{{name}} \uB354\uBCF4\uAE30",retry:"\uB2E4\uC2DC \uC2DC\uB3C4",prevPage:"\uC774\uC804 \uD398\uC774\uC9C0",nextPage:"\uB2E4\uC74C \uD398\uC774\uC9C0",play:"\uC7AC\uC0DD",pause:"\uBA48\uCDA4",playPause:"\uC7AC\uC0DD / \uBA48\uCDA4",replay:"\uB2E4\uC2DC\uB4E3\uAE30",subscription:"\uC774\uC6A9\uAD8C",done:"\uC644\uB8CC",failed:"\uC2E4\uD328",continue:"\uACC4\uC18D",notification:"\uC54C\uB9BC",emptyList:"\uD56D\uBAA9\uC774 \uC5C6\uC2B5\uB2C8\uB2E4.",menu:"\uBA54\uB274",resetSelection:"\uC120\uD0DD \uCD08\uAE30\uD654",pageSizeLabel:"{{n}}\uAC1C\uC529 \uBCF4\uAE30",totalCountPrefix:"\uCD1D ",totalCountSuffix:"\uAC1C",expand:"\uD3BC\uCE58\uAE30",collapse:"\uC811\uAE30",popup:"\uD31D\uC5C5",codeBlock:"\uCF54\uB4DC \uBE14\uB85D",totalPrefix:"\uCD1D ",copyCode:"\uCF54\uB4DC \uBCF5\uC0AC",copied:"\uBCF5\uC0AC\uB428",col:{problem:"\uBB38\uC81C"},phonetics:{place:{labial:"\uC591\uC21C\uC74C",alveolar:"\uCE58\uC870\uC74C",palatal:"\uACBD\uAD6C\uAC1C\uC74C",velar:"\uC5F0\uAD6C\uAC1C\uC74C",glottal:"\uC131\uBB38\uC74C"},vowel:{frontHigh:"\uC804\uC124 \uACE0\uBAA8\uC74C",backHighUnrounded:"\uD6C4\uC124 \uACE0\uBAA8\uC74C \uD3C9\uC21C",backHighRounded:"\uD6C4\uC124 \uACE0\uBAA8\uC74C \uC6D0\uC21C",frontMid:"\uC804\uC124 \uC911\uBAA8\uC74C",backMidUnrounded:"\uD6C4\uC124 \uC911\uBAA8\uC74C \uD3C9\uC21C",backMidRounded:"\uD6C4\uC124 \uC911\uBAA8\uC74C \uC6D0\uC21C",low:"\uC800\uBAA8\uC74C"},glide:{j:"j\uD65C\uC74C",w:"w\uD65C\uC74C",velar:"\u0270\uD65C\uC74C"}},unknownError:"\uC54C \uC218 \uC5C6\uB294 \uC624\uB958",networkError:"\uB124\uD2B8\uC6CC\uD06C \uC5F0\uACB0\uC774 \uBD88\uC548\uC815\uD569\uB2C8\uB2E4. \uC5F0\uACB0 \uC0C1\uD0DC\uB97C \uD655\uC778\uD55C \uB4A4 \uB2E4\uC2DC \uC2DC\uB3C4\uD574 \uC8FC\uC138\uC694."},K2={rangeSelect:"\uAE30\uAC04 \uC120\uD0DD",dow:["\uC77C","\uC6D4","\uD654","\uC218","\uBAA9","\uAE08","\uD1A0"],yearMonth:"{{year}}\uB144 {{month}}\uC6D4",prevMonth:"\uC774\uC804 \uB2EC",addOnDate:"{{date}}\uC5D0 \uBC29\uBB38 \uB4F1\uB85D",nextMonth:"\uB2E4\uC74C \uB2EC",prevWeek:"\uC774\uC804 \uC8FC",nextWeek:"\uB2E4\uC74C \uC8FC",legend:{visited:"\uBC29\uBB38",scheduled:"\uC608\uC57D",noVisit:"\uBBF8\uBC29\uBB38"},periodSelect:"\uAE30\uAC04 \uB2E8\uC704"},Y2={planSuffix:"\uC774\uC6A9\uAD8C",labeledPlan:"{{label}} \uC774\uC6A9\uAD8C",couponCode:"\uC774\uC6A9\uAD8C \uCF54\uB4DC",specialLabel:"\uC624\uD508\uD2B9\uAC00",unitDay:"\uC77C",unitYear:"\uB144",remainingDay:"{{n}}\uC77C \uB0A8\uC74C",remainingHour:"{{n}}\uC2DC\uAC04 \uB0A8\uC74C",remainingMinute:"{{n}}\uBD84 \uB0A8\uC74C",remainingSecond:"{{n}}\uCD08 \uB0A8\uC74C",menu:{use:"\uC0AC\uC6A9\uD558\uAE30",refund:"\uD658\uBD88\uD558\uAE30",delete:"\uC0AD\uC81C\uD558\uAE30"}},Z2={clearAriaLabel:"\uAC80\uC0C9\uC5B4 \uC9C0\uC6B0\uAE30"},X2={starLabel:"{{n}}\uBC88\uC9F8 \uBCC4 \uC120\uD0DD",valueLabel:"{{max}}\uC810 \uB9CC\uC810\uC5D0 {{value}}\uC810",groupLabel:"\uBCC4\uC810"},J2={selected:"\uC120\uD0DD\uB428"},Q2={placeholder:"\uC120\uD0DD"},ef={collapse:"\uC811\uAE30",expand:"\uD3BC\uCE58\uAE30"},tf={biArea:"BI \uC601\uC5ED",biSymbol:"BI \uC2EC\uBCFC",logoMalgwi:"\uB9D0\uADC0 \uB85C\uACE0",logoManager:"\uB9D0\uADC0\uB9E4\uB2C8\uC800 \uB85C\uACE0",menuOpen:"\uBA54\uB274 \uC5F4\uAE30",utilMenu:"\uC720\uD2F8\uB9AC\uD2F0 \uBA54\uB274",menuClose:"\uBA54\uB274 \uB2EB\uAE30"},nf={mainMenu:"\uBA54\uC778 \uBA54\uB274",bottomNav:"\uD558\uB2E8 \uB124\uBE44\uAC8C\uC774\uC158",goToManager:"\uB9D0\uADC0\uB9E4\uB2C8\uC800\uB85C \uC774\uB3D9",goToMalgwi:"\uB9D0\uADC0\uB85C \uC774\uB3D9",modeLabelManager:"\uB9D0\uADC0 \uB9E4\uB2C8\uC800",modeLabelMalgwi:"\uB9D0\uADC0",training:"\uD6C8\uB828",settings:"\uC124\uC815",notifications:"\uC54C\uB9BC",account:"\uACC4\uC815",help:"\uB3C4\uC6C0\uB9D0",debug:"\uB514\uBC84\uADF8",coupons:"\uCFE0\uD3F0",topic:"\uC8FC\uC81C\uBCC4 \uB4E3\uAE30",trainingType:"\uD6C8\uB828\uBCC4 \uB4E3\uAE30",wordPairs:"\uB300\uB9BD\uC30D \uCC3E\uAE30",wordSearch:"\uB2E8\uC5B4 \uCC3E\uAE30",wordTable:"\uB2E8\uC5B4\uD45C \uB9CC\uB4E4\uAE30",company:"\uC5C5\uCCB4\uC815\uBCF4",more:"\uB354\uBCF4\uAE30",moreMenu:"\uB354\uBCF4\uAE30 \uBA54\uB274",badgeLabel:"{{label}}, {{count}}\uAC1C"},af={language:{training:{label:"\uD6C8\uB828 \uC5B8\uC5B4",sub:"\uD6C8\uB828\uC5D0 \uC0AC\uC6A9\uB418\uB294 \uB2E8\uC5B4\uC640 \uC74C\uC131 \uC5B8\uC5B4"}},notifications:{title:"\uC54C\uB9BC"},display:{fontSize:{small:"\uC791\uAC8C",large:"\uD06C\uAC8C"}},cache:{title:"\uCE90\uC2DC \uAD00\uB9AC",confirmMessage:"\uCE90\uC2DC({{size}})\uB97C \uC0AD\uC81C\uD569\uB2C8\uB2E4. \uACC4\uC18D\uD558\uC2DC\uACA0\uC2B5\uB2C8\uAE4C?",delete:"\uC0AD\uC81C",deleting:"\uC0AD\uC81C \uC911",cleared:"\uCE90\uC2DC\uAC00 \uC0AD\uC81C\uB418\uC5C8\uC2B5\uB2C8\uB2E4.",group:{wordData:{label:"\uB2E8\uC5B4 \uB370\uC774\uD130",sub:"\uB2E8\uC5B4 \uBAA9\uB85D \uBC0F \uBC84\uC804 \uC815\uBCF4"},pairIndex:{label:"\uB2E8\uC5B4\uC30D \uC778\uB371\uC2A4",sub:"\uCD08\uC131\xB7\uC911\uC131\xB7\uC885\uC131 \uB300\uB9BD\uC30D \uBD84\uC11D \uCE90\uC2DC"},imageCache:{label:"\uC774\uBBF8\uC9C0 \uCE90\uC2DC",sub:"\uB2E8\uC5B4\uBCC4 \uC774\uBBF8\uC9C0 \uC874\uC7AC \uC5EC\uBD80 \uD655\uC778 \uACB0\uACFC"},trainingRecord:{label:"\uD6C8\uB828 \uAE30\uB85D",sub:"\uC624\uB298\uC758 \uD6C8\uB828 \uC9C4\uD589\uB960 \uBC0F \uD559\uC2B5 \uC77C\uC218"}}},button:{save:"\uC124\uC815 \uC800\uC7A5"},popup:{clear:{confirm:"\uCD08\uAE30\uD654"},update:{confirm:"\uC5C5\uB370\uC774\uD2B8"},cache:{title:"{{label}} \uC0AD\uC81C",message:"{{label}}({{size}})\uB97C \uC0AD\uC81C\uD569\uB2C8\uB2E4. \uACC4\uC18D\uD558\uC2DC\uACA0\uC2B5\uB2C8\uAE4C?"}},saved:"\u2713 \uC800\uC7A5\uB428",account:{title:"\uACC4\uC815",delete:{sub:"\uD0C8\uD1F4 \uD6C4 30\uC77C \uC774\uB0B4 \uC7AC\uAC00\uC785 \uC2DC \uBCF5\uAD6C \uAC00\uB2A5\uD569\uB2C8\uB2E4."}}},rf={addButton:"\uC774\uC6A9\uAD8C \uCD94\uAC00\uD558\uAE30",couponButton:"\uCFE0\uD3F0 \uC785\uB825",loading:"\uBD88\uB7EC\uC624\uB294 \uC911\u2026",segment:{personal:"\uB9D0\uADC0",org:"\uB9D0\uADC0\uB9E4\uB2C8\uC800"},org:{title:"\uD604\uC7AC \uC774\uC6A9\uAD8C",disc:"\uAE30\uAD00\uC5D0\uC11C \uC0AC\uC6A9 \uC911\uC778 \uC774\uC6A9\uAD8C \uC815\uBCF4\uC785\uB2C8\uB2E4.",empty:"\uB4F1\uB85D\uB41C \uAE30\uAD00 \uC774\uC6A9\uAD8C\uC774 \uC5C6\uC2B5\uB2C8\uB2E4.",fallbackTitle:"\uAE30\uAD00 \uC774\uC6A9\uAD8C",startDate:"\uC2DC\uC791\uC77C",endDate:"\uB9CC\uB8CC\uC77C",remaining:"\uB0A8\uC740 \uAE30\uAC04",duration:"\uC774\uC6A9 \uAE30\uAC04"},active:{infoTitle:"\uC774\uC6A9 \uC815\uBCF4",refund:"\uD658\uBD88 \uC694\uCCAD",startDate:"\uC0AC\uC6A9 \uC2DC\uC791\uC77C",endDate:"\uC885\uB8CC\uC77C",remaining:"\uB0A8\uC740 \uAE30\uAC04"},pending:{title:"\uBCF4\uC720",empty:"\uB300\uAE30 \uC911\uC778 \uC774\uC6A9\uAD8C\uC774 \uC5C6\uC2B5\uB2C8\uB2E4."}},of={profile:{planSuffix:"\uD50C\uB79C",plan:"\uD50C\uB79C"},basicInfo:{name:{placeholder:"\uD64D\uAE38\uB3D9"}},security:{title:"\uBCF4\uC548",password:{label:"\uBE44\uBC00\uBC88\uD638",currentRequired:"\uD604\uC7AC \uBE44\uBC00\uBC88\uD638\uB97C \uC785\uB825\uD558\uC138\uC694.",newRequired:"\uC0C8 \uBE44\uBC00\uBC88\uD638\uB97C \uC785\uB825\uD558\uC138\uC694.",mismatch:"\uC0C8 \uBE44\uBC00\uBC88\uD638\uAC00 \uC77C\uCE58\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.",changed:"\uBE44\uBC00\uBC88\uD638\uAC00 \uBCC0\uACBD\uB418\uC5C8\uC2B5\uB2C8\uB2E4."},twoFactor:{label:"2\uB2E8\uACC4 \uC778\uC99D",sub:"\uACC4\uC815 \uBCF4\uC548\uC744 \uAC15\uD654\uD558\uC138\uC694"}}},sf={guide:{faq:{title:"\uC790\uC8FC \uBB3B\uB294 \uC9C8\uBB38",desc:"FAQ \uBAA8\uC544\uBCF4\uAE30"}}},lf={settings:"\uC124\uC815",start:{title:"\uB2E8\uC5B4\uD6C8\uB828 \uC2DC\uC791",description:"\uC544\uB798 \uD6C8\uB828 \uC720\uD615\uC744 \uC120\uD0DD\uD574 \uC2DC\uC791\uD558\uC138\uC694"},difficulty:{tooltip:"\uAC00\uC7A5 \uC26C\uC6B4 \uB09C\uC774\uB3C4\uB294 '\uBB34\uC791\uC704', \uAC00\uC7A5 \uC5B4\uB824\uC6B4 \uB09C\uC774\uB3C4\uB294 '\uCD08\uC131\uCC28\uC774' \uC785\uB2C8\uB2E4."},contrast:{label:"\uB300\uB9BD",type:"\uB300\uB9BD \uC885\uB958",count:"\uB300\uB9BD \uAC2F\uC218",n:"{{n}}\uAC1C"},filter:{random:"\uBB34\uC791\uC704",trainOnset:"\uCD08\uC131",trainVowel:"\uBAA8\uC74C",trainCoda:"\uC885\uC131",phonemeGroup:"\uD6C8\uB828 \uC74C\uC808",noLimit:"\uBB34\uAD00",codaExclude:"\uC81C\uC678",gradeLabel:"\uB4F1\uAE09",excludeImageInfo:"\uC774\uBBF8\uC9C0 \uC788\uB294 \uB2E8\uC5B4\uB9CC: \uB2E8\uC5B4 \uC911\uC5D0 \uC774\uBBF8\uC9C0\uAC00 \uC788\uB294 \uB2E8\uC5B4\uB9CC \uACB0\uACFC\uC5D0 \uBCF4\uC5EC\uC90D\uB2C8\uB2E4.",sameStructureInfo:"\uC74C\uC18C \uAD6C\uC870 \uAC19\uC740 \uB2E8\uC5B4\uB9CC: \uC815\uB2F5\uACFC \uC624\uB2F5\uC758 \uC74C\uC808 \uAD6C\uC870(\uAE00\uC790 \uC218\xB7\uBC1B\uCE68 \uC720\uBB34 \uB4F1)\uAC00 \uAC19\uC740 \uACB0\uACFC\uB9CC \uB0A8\uACA8\uC694.",selectSection:"\uC120\uD0DD",excludeImage:"\uC774\uBBF8\uC9C0 \uC788\uB294 \uB2E8\uC5B4\uB9CC",sameStructure:"\uC74C\uC18C \uAD6C\uC870 \uAC19\uC740 \uB2E8\uC5B4\uB9CC"},noQuestions:"\uBB38\uC81C\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.",countQuestions:"{{n}}\uBB38\uC81C",countSentences:"{{n}}\uBB38\uC7A5",comingSoon:"\uC900\uBE44 \uC911",nextQuestion:"\uB2E4\uC74C \uBB38\uC81C",noiseRatioTitle:"\uC18C\uC74C \uBE44\uC728",noiseRatioValue:"{{ratio}}\uBC30",noiseTypeTitle:"\uC18C\uC74C \uC885\uB958",playVolumeTitle:"\uC804\uCCB4 \uC18C\uB9AC",playSpeedTitle:"\uC7AC\uC0DD \uC18D\uB3C4",meter:{sentence:"\uC7AC\uC0DD",noise:"\uC18C\uC74C",toggle:"\uC624\uB514\uC624 \uBBF8\uD130 \uD45C\uC2DC"},viewResult:"\uACB0\uACFC\uBCF4\uAE30",problemNotice:"{{n}}\uBC88 \uBB38\uC81C \uC785\uB2C8\uB2E4.",trainingSettingsTitle:"\uD6C8\uB828 \uC124\uC815",sentencePreview:"\uBB38\uC7A5 \uBBF8\uB9AC\uBCF4\uAE30",notHeard:"\uC548 \uB4E4\uB838\uC5B4\uC694.",heardWell:"\uC798 \uB4E4\uB838\uC5B4\uC694.",confirmTitle:"\uBB38\uC7A5\uC744 \uD655\uC778\uD558\uACE0 \uC798 \uB4E4\uB838\uB294\uC9C0 \uC120\uD0DD\uD558\uC138\uC694.",noSoundWaveform:"\uC18C\uB9AC \uBE44\uAD50 \uBB38\uC81C\uB294 \uC6E8\uC774\uBE0C\uD3FC\uC744 \uD45C\uD604\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.",noise:{level:{none:"\uC5C6\uC74C",weak:"\uC57D\uD568",medium:"\uBCF4\uD1B5",strong:"\uAC15\uD568",veryStrong:"\uB9E4\uC6B0 \uAC15\uD568"},type:{none:"\uC5C6\uC74C",default:"\uAE30\uBCF8",street:"\uAE38\uAC70\uB9AC",buzz:"\uC640\uAE00\uC640\uAE00",restaurant:"\uC2DD\uB2F9"}},listenTitle:"\uC81C\uC2DC\uD558\uB294 \uBB38\uC7A5\uC744 \uB4E4\uC5B4\uC8FC\uC138\uC694.",listenButton:"\uBB38\uC7A5 \uB4E3\uAE30",playSound:"\uC18C\uB9AC \uB4E3\uAE30",playAll:"\uBAA8\uB450 \uB4E3\uAE30",selectInOrder:"\uB4E4\uC740 \uC21C\uC11C\uB300\uB85C \uCE74\uB4DC\uB97C \uC120\uD0DD\uD558\uC138\uC694.",stop:"\uC815\uC9C0",preview:"\uBBF8\uB9AC \uB4E3\uAE30",next:"\uB2E4\uC74C",completed:"\uD6C8\uB828 \uC644\uB8CC",selected:"\uC120\uD0DD\uB428",nthSelected:"{{n}}\uBC88\uC9F8 \uC120\uD0DD",fontSizeMin:"\uAE00\uC528 \uD06C\uAE30\uAC00 \uCD5C\uC18C\uC785\uB2C8\uB2E4.",fontSizeMax:"\uAE00\uC528 \uD06C\uAE30\uAC00 \uCD5C\uB300\uC785\uB2C8\uB2E4.",fontSizeDecrease:"\uAE00\uC790 \uD06C\uAE30 \uAC10\uC18C",fontSizeIncrease:"\uAE00\uC790 \uD06C\uAE30 \uC99D\uAC00",toggleBackground:"\uBC30\uACBD \uC804\uD658",cardInstructions:"\uB0B1\uB9D0 \uCE74\uB4DC\uB97C \uBCF4\uACE0 \uC18C\uB9AC\uB97C \uB4E3\uACE0 \uD655\uC778\uD558\uC138\uC694.",noCards:"\uCE74\uB4DC\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.",audioFetchError:"\uC0AC\uC6B4\uB4DC \uC18C\uC2A4\uB97C \uAC00\uC838\uC624\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4.",ttsUnavailable:"\uC774 \uAE30\uAE30\uC5D0\uC11C\uB294 \uC74C\uC131\uC744 \uB4E4\uB824\uC904 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.",selectConfirm:"\uBB38\uC81C\uB97C \uBCF4\uACE0 \uD574\uB2F9\uD558\uB294 \uB0B4\uC6A9\uC744 \uC120\uD0DD\uD558\uC138\uC694.",orderListDefault:"\uBB38\uC7A5\uC744 \uB4E4\uC740 \uC21C\uC11C\uB300\uB85C \uBC30\uCE58\uD558\uC138\uC694.",result:{pendingDone:"\uACB0\uACFC\uB97C \uACC4\uC0B0\uD558\uB294 \uC911\uC774\uB77C \uC544\uC9C1 \uC644\uB8CC\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.",eyebrow:"\uD6C8\uB828 \uC644\uB8CC",title:"\uD6C8\uB828\uC744 \uBAA8\uB450 \uB9C8\uCCE4\uC2B5\uB2C8\uB2E4.",scoreAria:"{{correct}} / {{total}} \uBB38\uD56D",elapsed:"\uC18C\uC694 \uC2DC\uAC04",summary:"{{correct}}\uAC1C\uC758 \uBB38\uD56D\uC744 \uC798 \uB4E4\uC5C8\uC2B5\uB2C8\uB2E4.",tableAriaLabel:"\uBB38\uD56D\uBCC4 \uD310\uC815",colJudge:"\uD310\uC815",colAnswerSelected:"\uC815\uB2F5 \xB7 \uC120\uD0DD",colAnswer:"\uC815\uB2F5",colSelected:"\uC120\uD0DD",heardWell:"\uC798 \uB4E4\uC5C8\uC5B4\uC694",notHeard:"\uBABB \uB4E4\uC5C8\uC5B4\uC694",notJudged:"\uBBF8\uD310\uC815",replay:"\uB2E4\uC2DC\uD558\uAE30",done:"\uC644\uB8CC",viewResult:"\uACB0\uACFC \uD655\uC778",noContent:"(\uB0B4\uC6A9\uC5C6\uC74C)"},up:"\uC704\uB85C",down:"\uC544\uB798\uB85C",prev:"\uC774\uC804",listenLabel:"\uBB38\uC7A5 \uB4E3\uAE30",sourcePlay:"\uC18C\uC2A4 {{n}} \uC7AC\uC0DD",listen:"\uB4E3\uAE30",audioStatus:{idle:"\uB300\uAE30",resolving:"\uB9AC\uC18C\uC2A4 \uB9E4\uD551 \uC911\u2026",checking_exists:"\uD30C\uC77C \uC874\uC7AC \uD655\uC778\u2026",getting_signed_url:"\uC11C\uBA85 URL \uC870\uD68C\u2026",downloading:"\uB2E4\uC6B4\uB85C\uB4DC \uC911\u2026",measuring_duration:"\uC624\uB514\uC624 \uAE38\uC774 \uCE21\uC815\u2026",ready:"\uC900\uBE44 \uC644\uB8CC",error:"\uC624\uB958 \uBC1C\uC0DD"}},cf={totalCount:"\uAC1C\uC758 \uD6C8\uB828 \uBB36\uC74C",renameGroup:"\uADF8\uB8F9 \uC774\uB984 \uBC14\uAFB8\uAE30",itemCount:"\uD6C8\uB828 \uAC1C\uC218",menu:{edit:"\uD6C8\uB828 \uBB36\uC74C \uC218\uC815",rename:"\uC774\uB984 \uBC14\uAFB8\uAE30",move:"\uADF8\uB8F9 \uC774\uB3D9",duplicate:"\uD6C8\uB828 \uBB36\uC74C \uBCF5\uC0AC",publish:"\uB9D0\uADC0\uC790\uB8CC\uC2E4\uC5D0 \uC62C\uB9AC\uAE30"},sort:{customers:"\uD6C8\uB828 \uACE0\uAC1D"},copyLink:"\uB9C1\uD06C \uBCF5\uC0AC",removeLink:"\uB9C1\uD06C \uC81C\uAC70",linkRemoved:"\uB9C1\uD06C\uAC00 \uC81C\uAC70\uB418\uC5C8\uC2B5\uB2C8\uB2E4.",linkSaveFirst:"\uBA3C\uC800 \uD6C8\uB828 \uBB36\uC74C\uC744 \uC800\uC7A5\uD574\uC8FC\uC138\uC694.",linkSaveFirstHint:"\uC800\uC7A5\uB41C \uD6C8\uB828 \uBB36\uC74C\uC5D0\uC11C\uB9CC \uACF5\uC720 \uB9C1\uD06C\uB97C \uC0DD\uC131\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4.",linkCopySelect:"\uBCF5\uC0AC\uAC00 \uB9C9\uD600 \uB9C1\uD06C\uB97C \uC120\uD0DD\uD588\uC2B5\uB2C8\uB2E4. Ctrl/\u2318+C\uB85C \uBCF5\uC0AC\uD558\uC138\uC694.",nameRequired:"\uD6C8\uB828 \uBB36\uC74C \uC774\uB984\uC744 \uC785\uB825\uD574\uC8FC\uC138\uC694.",itemRequired:"\uD6C8\uB828\uC744 1\uAC1C \uC774\uC0C1 \uB2F4\uC544\uC8FC\uC138\uC694.",randomAdd:"\uBB34\uC791\uC704 \uCD94\uAC00"},uf={totalCount:"\uBA85\uC758 \uACE0\uAC1D",loadError:"\uBAA9\uB85D\uC744 \uBD88\uB7EC\uC624\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4.",basicInfo:{editTooltip:"\uC218\uC815\uD558\uAE30"},member:{placeholder:"\uC774\uBA54\uC77C \uB610\uB294 \uC804\uD654",link:"\uC5F0\uACB0",linking:"\uC5F0\uACB0 \uC911\u2026"},device:{title:"\uCCAD\uAC01\uC7AC\uD65C\uAE30\uAE30",addTooltip:"\uC0C8\uB85C \uC0DD\uC131",addButton:"\uAE30\uAE30 \uCD94\uAC00",listTooltip:"\uBAA9\uB85D \uBCF4\uAE30",listTitle:"\uCE21 \uAE30\uAE30 \uBAA9\uB85D",historyEmpty:"\uB4F1\uB85D\uB41C \uAE30\uAE30 \uC774\uB825\uC774 \uC5C6\uC2B5\uB2C8\uB2E4.",wearing:"\uCE21 \uCC29\uC6A9\uC911",notRegistered:"\uBBF8\uB4F1\uB85D",unit:"\uAC1C",wearingNow:"\uCC29\uC6A9",wear:"\uCC29\uC6A9",unwear:"\uCC29\uC6A9 \uD574\uC81C",wornSince:"{{date}}\uBD80\uD130",release:"\uD574\uC81C",historyTitle:"\uCCAD\uAC01\uC7AC\uD65C\uAE30\uAE30 \uC774\uB825"},schedule:{title:"\uBC29\uBB38 \uC608\uC815",addTooltip:"\uC608\uC815 \uB4F1\uB85D",listTooltip:"\uC804\uCCB4 \uBCF4\uAE30",empty:"\uC608\uC815\uB41C \uBC29\uBB38\uC774 \uC5C6\uC2B5\uB2C8\uB2E4.",registerTitle:" \uACE0\uAC1D\uB2D8 \uBC29\uBB38 \uC608\uC815 \uB4F1\uB85D",memoPlaceholder:"\uBC29\uBB38 \uC608\uC815 \uAD00\uB828 \uBA54\uBAA8\uB97C \uC785\uB825\uD574 \uC8FC\uC138\uC694."},visitHistory:{title:"\uBC29\uBB38 \uC774\uB825",addTooltip:"\uC2E0\uADDC \uB4F1\uB85D",empty:"\uC544\uC9C1 \uBC29\uBB38 \uAE30\uB85D\uC774 \uC5C6\uC2B5\uB2C8\uB2E4.",popupTitle:" \uACE0\uAC1D\uB2D8 \uBC29\uBB38 \uC774\uB825",registerTitle:" \uACE0\uAC1D\uB2D8 \uC2E0\uADDC \uBC29\uBB38 \uB4F1\uB85D"},homework:{title:"\uC219\uC81C \uC9C4\uD589\uC0C1\uD669",active:"\uD65C\uC131",inactive:"\uBE44\uD65C\uC131",copy:"\uB9C1\uD06C \uBCF5\uC0AC",copied:"\uB9C1\uD06C\uAC00 \uBCF5\uC0AC\uB418\uC5C8\uC2B5\uB2C8\uB2E4."},moreItems:"\uB354 \uC788\uC74C",viewAll:"\uC804\uCCB4 \uBCF4\uAE30",visits:{title:"\uBC29\uBB38"},trainingRecord:{title:"\uACE0\uAC1D \uD6C8\uB828 \uAE30\uB85D"},status:{trainingSubtitle:"\uD6C8\uB828 \uD604\uD669"},detail:{session:{completedFmt:"\uC644\uB8CC {{done}}/{{total}} \xB7 {{duration}}"},visitSuffix:"\uC758 \uBC29\uBB38"},duration:{minSec:"{{m}}\uBD84 {{s}}\uCD08",min:"{{m}}\uBD84",sec:"{{s}}\uCD08"}},df={plan:{recommendedFor:"\uC774\uB7F0 \uBD84\uAED8 \uCD94\uCC9C\uD569\uB2C8\uB2E4.",features:"\uD575\uC2EC \uAE30\uB2A5",freePrice:"\uBB34\uB8CC",contact:"\uBB38\uC758\uD558\uAE30",tierFallback:"\uC774\uC6A9\uAD8C",openPromo:"\uC624\uD508 \uD2B9\uAC00"},products:{mgrEnterprise:{tier:{price:"\uBB38\uC758"}}}},pf={title:"\uCFE0\uD3F0",subtitle:"\uCFE0\uD3F0 \uCF54\uB4DC\uB97C \uC785\uB825\uD558\uAC70\uB098 \uBCF4\uC720 \uCFE0\uD3F0\uC744 \uD655\uC778\uD558\uC138\uC694.",input:{label:"\uCFE0\uD3F0 \uCF54\uB4DC",placeholder:"\uCFE0\uD3F0 \uCF54\uB4DC \uC785\uB825"},applyButton:"\uC801\uC6A9",error:{invalid:"\uC720\uD6A8\uD558\uC9C0 \uC54A\uC740 \uCFE0\uD3F0 \uCF54\uB4DC\uC785\uB2C8\uB2E4.",alreadyUsed:"\uC774\uBBF8 \uC0AC\uC6A9\uB41C \uCFE0\uD3F0\uC785\uB2C8\uB2E4."},success:{applied:'"{{name}}" \uCFE0\uD3F0\uC774 \uC801\uC6A9\uB418\uC5C8\uC2B5\uB2C8\uB2E4.'},section:{owned:"\uBCF4\uC720 \uCFE0\uD3F0"},status:{used:"\uC0AC\uC6A9 \uC644\uB8CC",available:"\uC0AC\uC6A9 \uAC00\uB2A5"}},mf={unitVisit:"\uAC74",periodAll:"\uC804\uCCB4",showN:"{{n}}\uAC1C\uC529"},hf={subtitle:"\uC5C5\uCCB4 \uBC0F \uBC95\uC778 \uC815\uBCF4\uB97C \uAD00\uB9AC\uD558\uC138\uC694.",editButton:"\uC815\uBCF4 \uC218\uC815",basicInfo:{title:"\uAE30\uBCF8 \uC815\uBCF4"},contactInfo:{title:"\uC5F0\uB77D\uCC98 \uC815\uBCF4"}},ff={title:"\uD6C8\uB828\uBCC4 \uB4E3\uAE30",subtitle:"\uC6D0\uD558\uB294 \uD6C8\uB828 \uC720\uD615\uC744 \uC120\uD0DD\uD558\uC138\uC694.",listenInNoise:{title:"\uC18C\uC74C \uD558 \uBB38\uC7A5 \uB4E3\uAE30",desc:"\uB2E4\uC591\uD55C \uC18C\uC74C \uD658\uACBD\uC5D0\uC11C \uBB38\uC7A5 \uCCAD\uB825\uC744 \uD6C8\uB828\uD569\uB2C8\uB2E4."},shortStory:{title:"\uC9E7\uC740 \uC774\uC57C\uAE30 \uB4E3\uAE30",desc:"\uC9E7\uC740 \uC774\uC57C\uAE30\uB97C \uB4E3\uACE0 \uB0B4\uC6A9\uC744 \uC774\uD574\uD569\uB2C8\uB2E4."},longStory:{title:"\uAE34 \uC774\uC57C\uAE30 \uB4E3\uAE30",desc:"\uAE34 \uC774\uC57C\uAE30\uB97C \uC9D1\uC911\uD574\uC11C \uB4E3\uACE0 \uB0B4\uC6A9\uC744 \uD30C\uC545\uD569\uB2C8\uB2E4."},orderingSentence:{title:"\uBB38\uC7A5 \uC21C\uC11C\uD654",desc:"\uB4E4\uC740 \uBB38\uC7A5\uB4E4\uC744 \uC62C\uBC14\uB978 \uC21C\uC11C\uB85C \uBC30\uC5F4\uD569\uB2C8\uB2E4."},SAME_SOUND_PICK:{label:"\uAC19\uC740 \uC18C\uB9AC \uACE0\uB974\uAE30",sub:"\uB4E4\uC740 \uC18C\uB9AC\uC640 \uAC19\uC740 \uB2E8\uC5B4 \uCE74\uB4DC\uB97C \uACE0\uB974\uC138\uC694."},SAME_OR_DIFF:{label:"\uAC19\uC740\uC9C0 \uB2E4\uB978\uC9C0 \uB9DE\uD788\uAE30",sub:"\uB450 \uC18C\uB9AC\uAC00 \uAC19\uC740\uC9C0, \uB2E4\uB978\uC9C0 \uAD6C\uBD84\uD558\uC138\uC694."},HEAR_AND_PICK_SAME:{label:"\uC77C\uCE58\uD558\uB294 \uB2E8\uC5B4 \uB9DE\uD788\uAE30",sub:"\uB4E4\uC740 \uC18C\uB9AC\uC758 \uB2E8\uC5B4 \uCE74\uB4DC\uB97C \uACE0\uB974\uC138\uC694."},HEAR_AND_PICK_INCLUDED:{label:"\uD55C \uC74C\uC808 \uD3EC\uD568 \uB2E8\uC5B4 \uB9DE\uD788\uAE30",sub:"\uB4E4\uC740 \uC74C\uC808\uC774 \uD3EC\uD568\uB41C \uB2E8\uC5B4 \uCE74\uB4DC\uB97C \uACE0\uB974\uC138\uC694."},STARTS_WITH_SAME_SOUND:{label:"\uCCAB \uC74C\uC808\uC774 \uAC19\uC740 \uB2E8\uC5B4 \uB9DE\uD788\uAE30",sub:"\uB4E4\uC740 \uB2E8\uC5B4\uC640 \uAC19\uC740 \uC18C\uB9AC\uB85C \uC2DC\uC791\uD558\uB294 \uB2E8\uC5B4\uB97C \uACE0\uB974\uC138\uC694."},LISTEN_AND_REMEMBER_ORDER:{label:"\uB4E3\uACE0 \uC21C\uC11C\uB300\uB85C \uAE30\uC5B5\uD558\uAE30",sub:"\uC138 \uB2E8\uC5B4\uB97C \uB4E4\uC740 \uC21C\uC11C\uB300\uB85C \uCE74\uB4DC\uB97C \uC120\uD0DD\uD558\uC138\uC694."},MERGE_2_SYLLABLES:{label:"\uC74C\uC808 2\uAC1C \uD569\uCE58\uAE30",sub:"\uB450 \uC74C\uC808\uC744 \uD569\uCE58\uBA74 \uC5B4\uB5A4 \uB2E8\uC5B4\uAC00 \uB420\uAE4C\uC694?"},MERGE_3_SYLLABLES:{label:"\uC74C\uC808 3\uAC1C \uD569\uCE58\uAE30",sub:"\uC138 \uC74C\uC808\uC744 \uD569\uCE58\uBA74 \uC5B4\uB5A4 \uB2E8\uC5B4\uAC00 \uB420\uAE4C\uC694?"},MERGE_2_PHONEMES:{label:"\uC74C\uC18C 2\uAC1C \uD569\uCE58\uAE30",sub:"\uB450 \uC74C\uC18C\uB97C \uD569\uCE58\uBA74 \uC5B4\uB5A4 \uC18C\uB9AC\uAC00 \uB420\uAE4C\uC694?"},MERGE_3_PHONEMES:{label:"\uC74C\uC18C 3\uAC1C \uD569\uCE58\uAE30",sub:"\uC138 \uC74C\uC18C\uB97C \uD569\uCE58\uBA74 \uC5B4\uB5A4 \uC18C\uB9AC\uAC00 \uB420\uAE4C\uC694?"},DROP_1_FROM_2SYLL:{label:"2\uC74C\uC808\uC5D0\uC11C \uD55C \uC74C\uC808 \uD0C8\uB77D",sub:"2\uC74C\uC808 \uB2E8\uC5B4\uC5D0\uC11C \uD55C \uC74C\uC808\uC744 \uBE7C\uBA74 \uC5B4\uB5A4 \uC18C\uB9AC\uAC00 \uB420\uAE4C\uC694?"},DROP_1_FROM_3SYLL:{label:"3\uC74C\uC808\uC5D0\uC11C \uD55C \uC74C\uC808 \uD0C8\uB77D",sub:"3\uC74C\uC808 \uB2E8\uC5B4\uC5D0\uC11C \uD55C \uC74C\uC808\uC744 \uBE7C\uBA74 \uC5B4\uB5A4 \uC18C\uB9AC\uAC00 \uB420\uAE4C\uC694?"},DROP_PART_FROM_COMPOUND:{label:"\uD569\uC131\uC5B4\uC5D0\uC11C \uBD80\uBD84 \uD0C8\uB77D",sub:"\uD569\uC131\uC5B4\uC758 \uC77C\uBD80\uB97C \uBE7C\uBA74 \uC5B4\uB5A4 \uB2E8\uC5B4\uAC00 \uB420\uAE4C\uC694?"},DROP_FINAL_CONSONANT_FROM_1SYLL:{label:"1\uC74C\uC808\uC5D0\uC11C \uBC1B\uCE68 \uD0C8\uB77D",sub:"\uBC1B\uCE68\uC744 \uBE7C\uBA74 \uC5B4\uB5A4 \uC18C\uB9AC\uAC00 \uB420\uAE4C\uC694?"},REMOVE_CONSONANT_AND_IDENTIFY_PHONEME:{label:"1\uC74C\uC808\uC5D0\uC11C \uC790\uC74C \uD0C8\uB77D",sub:"\uC790\uC74C\uC744 \uBE7C\uBA74 \uC5B4\uB5A4 \uC18C\uB9AC\uAC00 \uB0A8\uC744\uAE4C\uC694?"},CHANGE_1_SYLL_IN_2SYLL:{label:"2\uC74C\uC808\uC5D0\uC11C \uD55C \uC74C\uC808 \uBC14\uAFB8\uAE30",sub:"2\uC74C\uC808 \uB2E8\uC5B4\uC758 \uD55C \uC74C\uC808\uC744 \uBC14\uAFD4 \uC0C8 \uB2E8\uC5B4\uB97C \uB9CC\uB4DC\uC138\uC694."},CHANGE_1_SYLL_IN_3SYLL:{label:"3\uC74C\uC808\uC5D0\uC11C \uD55C \uC74C\uC808 \uBC14\uAFB8\uAE30",sub:"3\uC74C\uC808 \uB2E8\uC5B4\uC758 \uD55C \uC74C\uC808\uC744 \uBC14\uAFD4 \uC0C8 \uB2E8\uC5B4\uB97C \uB9CC\uB4DC\uC138\uC694."},CHANGE_1_PHONEME_IN_1SYLL:{label:"1\uC74C\uC808 \uB2E8\uC5B4 \uC911 1\uAC1C \uC74C\uC18C \uBC14\uAFB8\uAE30",sub:"1\uC74C\uC808 \uB2E8\uC5B4\uC758 \uD55C \uC74C\uC18C\uB97C \uBC14\uAFD4 \uC0C8 \uC18C\uB9AC\uB97C \uB9CC\uB4DC\uC138\uC694."},CHANGE_1_PHONEME_IN_2SYLL:{label:"2\uC74C\uC808 \uB2E8\uC5B4 \uC911 1\uAC1C \uC74C\uC18C \uBC14\uAFB8\uAE30",sub:"2\uC74C\uC808 \uB2E8\uC5B4\uC758 \uD55C \uC74C\uC18C\uB97C \uBC14\uAFD4 \uC0C8 \uB2E8\uC5B4\uB97C \uB9CC\uB4DC\uC138\uC694."}},Cf={comingSoon:"\uB2E8\uC5B4\uD6C8\uB828 \uAE30\uB2A5\uC744 \uC900\uBE44 \uC911\uC785\uB2C8\uB2E4."},gf={colName:"\uB2E8\uC5B4\uD45C \uC774\uB984",open:"\uC5F4\uAE30",countSuffix:"\uAC1C\uC758 \uB2E8\uC5B4\uD45C",tab:{cards:"\uB2E8\uC5B4\uD45C \uCE74\uB4DC",tables:"\uB2E8\uC5B4\uD45C"},cardsEmpty:"\uC544\uC9C1 \uB9CC\uB4E0 \uB2E8\uC5B4\uD45C \uCE74\uB4DC\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.",addCard:"\uB2E8\uC5B4\uD45C \uCE74\uB4DC \uCD94\uAC00",menu:{publishStore:"\uB9D0\uADC0\uC790\uB8CC\uC2E4\uC5D0 \uC62C\uB9AC\uAE30",unpublishStore:"\uB9D0\uADC0\uC790\uB8CC\uC2E4\uC5D0\uC11C \uB0B4\uB9AC\uAE30"},newBadge:"\uC0C8\uB85C \uB9CC\uB4E0 \uD45C",publishedBadge:"\uBC1C\uD589\uB428",sharedBadge:"\uACF5\uC720 \uC911"},bf={title:"\uC8FC\uC694 \uB2E8\uC5B4",empty:"\uCD94\uCD9C\uB41C \uC8FC\uC694 \uB2E8\uC5B4\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4."},yf={defaultName:"\uB2E8\uC5B4 \uD45C",title:"\uB2E8\uC5B4 \uD45C \uB9CC\uB4E4\uAE30",subtitle:"\uCE78\uC744 \uC124\uC815\uD558\uACE0 \uB2E8\uC5B4\uB97C \uCD94\uAC00\uD558\uC5EC \uD45C\uB97C \uB9CC\uB4ED\uB2C8\uB2E4.",filterTitle:"\uD45C \uC124\uC815",filter:{composition:"\uAD6C\uC131",image:"\uC774\uBBF8\uC9C0",word:"\uB2E8\uC5B4",standardPron:"\uD45C\uC900 \uBC1C\uC74C",colloquialPron:"\uAD6C\uC5B4\uCCB4 \uBC1C\uC74C",paperOrientation:"\uC6A9\uC9C0 \uBC29\uD5A5",landscape:"\uAC00\uB85C",portrait:"\uC138\uB85C",columns:"\uCE78 \uC218",column:"{{count}}\uCE78",itemsPerPageWord:"\uD398\uC774\uC9C0\uB2F9 \uB2E8\uC5B4 \uC218",itemsPerPagePair:"\uD398\uC774\uC9C0\uB2F9 \uB300\uB9BD\uC30D \uC218",itemsPerPageOption:"{{count}}\uAC1C",pageIndicator:"{{current}} / {{total}}",pageNumber:"\uD398\uC774\uC9C0 \uBC88\uD638",pageNumberLeft:"\uC67C\uCABD",pageNumberCenter:"\uC911\uC559",pageNumberRight:"\uC624\uB978\uCABD",border:"\uC678\uACFD\uC120",cutLine:"\uC808\uCDE8\uC120",show:"\uD45C\uC2DC",hide:"\uBBF8\uD45C\uC2DC",dotted:"\uC810\uC120",corner:"\uCF54\uB108"},addWord:"\uCD94\uAC00\uD558\uAE30",wordInfo:"{{word}} \uB0B1\uB9D0 \uC815\uBCF4",emptyItems:"\uB2E8\uC5B4\uB97C 1\uAC1C \uC774\uC0C1 \uCD94\uAC00\uD574\uC8FC\uC138\uC694.",load:"\uBD88\uB7EC\uC624\uAE30",openNewWindow:"\uC0C8 \uCC3D\uC73C\uB85C \uBCF4\uAE30",saveButton:"\uC800\uC7A5\uD558\uAE30",saveAsNewButton:"\uB2E4\uB978 \uC774\uB984\uC73C\uB85C \uC800\uC7A5",print:"\uC778\uC1C4\uD558\uAE30",popupBlocked:"\uD31D\uC5C5\uC774 \uCC28\uB2E8\uB418\uC5C8\uC2B5\uB2C8\uB2E4. \uBE0C\uB77C\uC6B0\uC800 \uC124\uC815\uC5D0\uC11C \uD31D\uC5C5\uC744 \uD5C8\uC6A9\uD574 \uC8FC\uC138\uC694.",printFileNameSingle:"\uB2E8\uC5B4\uD45C",printFileNamePair:"\uB300\uB9BD\uC30D\uD45C",save:{title:"\uB2E8\uC5B4\uD45C \uC800\uC7A5\uD558\uAE30",nameLabel:"\uC774\uB984",desc:"\uC800\uC7A5\uD560 \uB2E8\uC5B4 \uD45C\uC758 \uC774\uB984\uC744 \uC785\uB825\uD558\uC138\uC694.",placeholder:"\uC774 \uB2E8\uC5B4\uD45C\uC5D0 \uB300\uD55C \uC81C\uBAA9\uC744 \uC785\uB825\uD558\uC138\uC694.",descriptionLabel:"\uC124\uBA85",descriptionPlaceholder:"\uC774 \uB2E8\uC5B4\uD45C\uC5D0 \uB300\uD55C \uC124\uBA85\uC744 \uC785\uB825\uD558\uC138\uC694.",duplicateName:"\uC774\uBBF8 \uC0AC\uC6A9 \uC911\uC778 \uC774\uB984\uC785\uB2C8\uB2E4.",nameRequired:"\uD45C \uC774\uB984\uC744 \uC785\uB825\uD574 \uC8FC\uC138\uC694.",autoFillHint:" (Tab \uB610\uB294 space \uC785\uB825\uC2DC \uC790\uB3D9 \uC785\uB825)",copyName:"{{name}} (\uBCF5\uC0AC)"},loadTable:{title:"\uC800\uC7A5\uB41C \uB2E8\uC5B4 \uD45C \uBD88\uB7EC\uC624\uAE30",empty:"\uC800\uC7A5\uB41C \uB2E8\uC5B4 \uD45C\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.",loadButton:"\uBD88\uB7EC\uC624\uAE30",itemCount:"{{count}}\uAC1C",deleteAriaLabel:"{{name}} \uC0AD\uC81C",sort:{newest:"\uCD5C\uC2E0\uC21C",oldest:"\uC624\uB798\uB41C\uC21C",name:"\uC774\uB984\uC21C",count:"\uB2E8\uC5B4 \uC218"},view:{grid:"\uD45C\uB85C \uBCF4\uAE30",list:"\uB9AC\uC2A4\uD2B8\uB85C \uBCF4\uAE30"}},groupDeleteMessage:"\uADF8\uB8F9 \uB0B4 \uB2E8\uC5B4\uD45C\uB294 '\uADF8\uB8F9 \uC5C6\uC74C'\uC73C\uB85C \uC774\uB3D9\uD569\uB2C8\uB2E4.",groupNamePlaceholder:"\uADF8\uB8F9 \uC774\uB984",store:{badge:"\uB9D0\uADC0\uC790\uB8CC\uC2E4"},card:{sub:"\uB2E8\uC5B4\uD45C \uCE74\uB4DC",empty:"\uC774 \uCE74\uB4DC\uC5D0 \uB2E8\uC5B4\uD45C\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4."},toast:{renameError:"\uC774\uB984 \uBCC0\uACBD\uC5D0 \uC2E4\uD328\uD588\uC2B5\uB2C8\uB2E4",saveError:"\uC800\uC7A5\uC5D0 \uC2E4\uD328\uD588\uC2B5\uB2C8\uB2E4",deleteError:"\uC0AD\uC81C\uC5D0 \uC2E4\uD328\uD588\uC2B5\uB2C8\uB2E4",duplicateError:"\uBCF5\uC81C\uC5D0 \uC2E4\uD328\uD588\uC2B5\uB2C8\uB2E4",saveSuccess:"\uB2E8\uC5B4\uD45C\uAC00 \uC800\uC7A5\uB418\uC5C8\uC2B5\uB2C8\uB2E4."},scoring:{o:"{{word}} \uB9DE\uC74C",triangle:"{{word}} \uC560\uB9E4",x:"{{word}} \uD2C0\uB9BC",button:"\uCC44\uC810\uD558\uAE30",pickTitle:"\uB204\uAD6C\uB97C \uCC44\uC810\uD560\uAE4C\uC694?",pickSubtitle:"\u2018{{name}}\u2019 \uD45C\uB85C \uD6C8\uB828\uD55C \uACE0\uAC1D\uC744 \uACE0\uB974\uC138\uC694.",pickSearch:"\uC774\uB984 \uB610\uB294 \uC804\uD654\uBC88\uD638\uB85C \uCC3E\uAE30",pickEmpty:"\uB4F1\uB85D\uB41C \uACE0\uAC1D\uC774 \uC5C6\uC2B5\uB2C8\uB2E4.",pickNoMatch:"\uCC3E\uB294 \uACE0\uAC1D\uC774 \uC5C6\uC2B5\uB2C8\uB2E4.",pickAgain:"\uACE0\uAC1D \uB2E4\uC2DC \uACE0\uB974\uAE30",scoringFor:"{{name}} \uB2D8 \uCC44\uC810 \uC911",none:"\uCE78\uC744 \uB20C\uB7EC \u25CB \xB7 \u25B3 \xB7 \u2715 \uB97C \uB9E4\uAE30\uC138\uC694.",tally:"{{marked}}\uCE78 \uCC44\uC810 \xB7 \u25CB {{o}} \xB7 \u25B3 {{triangle}} \xB7 \u2715 {{x}} \xB7 \uC815\uB2F5\uB960 {{rate}}%",save:"\uCC44\uC810 \uC800\uC7A5",saved:"{{name}} \uB2D8\uC758 \uCC44\uC810 {{count}}\uCE78\uC744 \uC800\uC7A5\uD588\uC2B5\uB2C8\uB2E4.",reviewTitle:"\uBCF5\uC2B5\uD45C\uB97C \uB9CC\uB4E4\uAE4C\uC694?",reviewMessage:"{{name}} \uB2D8\uC774 \uD2C0\uB9AC\uAC70\uB098 \uC560\uB9E4\uD588\uB358 {{count}}\uCE78\uC73C\uB85C \uC0C8 \uD45C\uB97C \uB9CC\uB4ED\uB2C8\uB2E4. \uB9DE\uD78C \uCE78\uC740 \uBE60\uC9D1\uB2C8\uB2E4.",reviewConfirm:"\uBCF5\uC2B5\uD45C \uB9CC\uB4E4\uAE30",reviewDescription:"\u2018{{name}}\u2019 \uCC44\uC810\uC5D0\uC11C \uD2C0\uB9AC\uAC70\uB098 \uC560\uB9E4\uD588\uB358 {{count}}\uCE78\uC744 \uBAA8\uC740 \uD45C\uC785\uB2C8\uB2E4.",reviewCreated:"\u2018{{name}}\u2019\uC744(\uB97C) \uB9CC\uB4E4\uC5C8\uC2B5\uB2C8\uB2E4 \u2014 {{count}}\uCE78.",discardTitle:"\uB9E4\uAE34 \uCC44\uC810\uC744 \uBC84\uB9B4\uAE4C\uC694?",discardMessage:"{{count}}\uCE78\uC744 \uB9E4\uACBC\uC9C0\uB9CC \uC544\uC9C1 \uC800\uC7A5\uD558\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4. \uB098\uAC00\uBA74 \uC0AC\uB77C\uC9D1\uB2C8\uB2E4.",discardConfirm:"\uBC84\uB9AC\uACE0 \uB098\uAC00\uAE30"},info:{grade:"\uB09C\uC774\uB3C4: {{n}}\uB4F1\uAE09",syllables:"\uC74C\uC808 \uC218: {{n}}\uC74C\uC808",pos:"\uD488\uC0AC: {{v}}",wordType:"\uC720\uD615: {{v}}"},pos:{noun:"\uBA85\uC0AC",verb:"\uB3D9\uC0AC",adjective:"\uD615\uC6A9\uC0AC",adverb:"\uBD80\uC0AC",numeral:"\uC218\uC0AC",determiner:"\uAD00\uD615\uC0AC",interjection:"\uAC10\uD0C4\uC0AC",particle:"\uC870\uC0AC",affix:"\uC811\uC0AC",dependentNoun:"\uC758\uC874\uBA85\uC0AC",pronoun:"\uB300\uBA85\uC0AC",auxVerb:"\uBCF4\uC870\uB3D9\uC0AC",auxAdjective:"\uBCF4\uC870\uD615\uC6A9\uC0AC"},reorder:{moved:"{{total}}\uCE78 \uAC00\uC6B4\uB370 {{n}}\uBC88\uC9F8\uB85C \uC62E\uAE40",handle:"{{word}} \uC21C\uC11C \uBC14\uAFB8\uAE30 (Alt + \uD654\uC0B4\uD45C)",hint:"Alt + \u2190 \u2192 \uB85C \uC21C\uC11C \uBC14\uAFB8\uAE30"}},vf={editBanner:{message:"\uC800\uC7A5\uD558\uBA74 \uC9C0\uAE08 \uC218\uC815 \uC911\uC778 \uB2E8\uC5B4\uD45C\uAC00 \uAC31\uC2E0\uB429\uB2C8\uB2E4."},filterTitle:"\uB2E8\uC5B4 \uAC80\uC0C9 \uC124\uC815",filter:{positionAny:"\uBB34\uAD00",positionHead:"\uC5B4\uB450",positionMid:"\uC5B4\uC911",positionTail:"\uC5B4\uB9D0",difficulty:"\uB4F1\uAE09",grade:"{{n}}\uB4F1\uAE09",syllables:"\uC74C\uC808 \uC218",syllable:"{{n}}\uC74C\uC808",syllable5plus:"5\uC74C\uC808 \uC774\uC0C1",partOfSpeech:"\uD488\uC0AC",pos:{noun:"\uCCB4\uC5B8(\uBA85\uC0AC, \uC218\uC0AC)",verb:"\uC6A9\uC5B8(\uB3D9\uC0AC, \uD615\uC6A9\uC0AC)",modifier:"\uC218\uC2DD\uC5B8(\uBD80\uC0AC, \uAD00\uD615\uC0AC)"},wordType:"\uC720\uD615",type:{native:"\uACE0\uC720\uC5B4",sino:"\uD55C\uC790\uC5B4",foreign:"\uC678\uB798\uC5B4",mixed:"\uD63C\uC885\uC5B4"},exclude:"\uC81C\uC678",excludeNoImage:"\uC774\uBBF8\uC9C0 \uC5C6\uC74C"},searchButton:"\uAC80\uC0C9\uD558\uAE30",resultUnit:"\uB2E8\uC5B4",remaining:"{{count}}\uAC1C \uB0A8\uC74C",resultDisc:"\uC6D0\uD558\uB294 {{unit}} \uC120\uD0DD\uD558\uC138\uC694. {{max}}\uAC1C\uAE4C\uC9C0 \uC120\uD0DD\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4. ({{selected}}/{{max}})",resultTitlePrefix:"\uCD1D ",resultTitleSuffix:"\uAC1C\uC758 {{unit}} \uAC80\uC0C9\uB418\uC5C8\uC2B5\uB2C8\uB2E4.",emptyResult:"\uAC80\uC0C9 \uACB0\uACFC\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.",groupCount:"{{count}}\uAC1C",sort:{aria:"\uC815\uB82C",match:"\uC2DC\uC791 \uC6B0\uC120",ganada:"\uAC00\uB098\uB2E4\uC21C \u2191",ganadaDesc:"\uAC00\uB098\uB2E4\uC21C \u2193",syllable:"\uC74C\uC808 \uC218 \u2191",syllableDesc:"\uC74C\uC808 \uC218 \u2193",grade:"\uB4F1\uAE09\uC21C \u2191",gradeDesc:"\uB4F1\uAE09\uC21C \u2193",original:"\uBC1B\uC740 \uC21C\uC11C"},pageSize:"{{count}}\uAC1C\uC529 \uBCF4\uAE30",pageSizeAria:"\uD398\uC774\uC9C0 \uD06C\uAE30",popup:{title:"{{n}}\uBC88 \uCE78\uC5D0 \uB123\uC744 \uB2E8\uC5B4\uB97C \uC120\uD0DD\uD558\uC138\uC694"}},xf={clearAllSelection:"\uBAA8\uB450 \uC120\uD0DD \uD574\uC81C",divLine:"\uB300\uB9BD\uC120",removePair:"\uB300\uB9BD\uC30D \uBE7C\uAE30",removeWord:"\uB2E8\uC5B4 \uBE7C\uAE30"},_f={title:"\uC8FC\uC81C\uBCC4 \uB4E3\uAE30",subtitle:"\uC8FC\uC81C\uB97C \uC120\uD0DD\uD558\uACE0 \uB4E3\uAE30 \uD6C8\uB828\uC744 \uC2DC\uC791\uD558\uC138\uC694.",noiseTitle:"\uC18C\uC74C \uD558 \uBB38\uC7A5\uB4E3\uAE30",shortStoryTitle:"\uC9E7\uC740 \uC774\uC57C\uAE30 \uB4E3\uAE30",FOOD:"\uC74C\uC2DD",HLTH:"\uAC74\uAC15",WETH:"\uB0A0\uC528",PRSN:"\uC778\uBB3C",KRCT:"\uD55C\uAD6D\uBB38\uD654",STRY:"\uC774\uC57C\uAE30",LOCA:"\uC9C0\uC5ED",SOAR:"\uC0AC\uD68C\uC640 \uC608\uC220",NTSC:"\uC790\uC5F0\uACFC \uACFC\uD559",SPRT:"\uC2A4\uD3EC\uCE20",sub:{TRKRFD:"\uD55C\uAD6D \uC804\uD1B5\uC74C\uC2DD",MDKRFD:"\uD55C\uAD6D \uD604\uB300\uC74C\uC2DD",WRLDFD:"\uC138\uACC4\uC758 \uC74C\uC2DD",MTRFRT:"\uC2DD\uC7AC\uB8CC\uC640 \uACFC\uC77C",GEFDKL:"\uC74C\uC2DD \uC0C1\uC2DD",HTETHB:"\uAC74\uAC15\uD55C \uC2DD\uC2B5\uAD00",DISILL:"\uBCD1\uACFC \uC9C8\uD658",EXCISE:"\uC6B4\uB3D9",GEHTKL:"\uAC74\uAC15\uC0C1\uC2DD",GESSKL:"\uACC4\uC808\uC0C1\uC2DD",SNWRAN:"\uB208\uACFC \uBE44",WTHFCT:"\uC77C\uAE30\uC608\uBCF4",GEWTKL:"\uB0A0\uC528\uC0C1\uC2DD",JODYPS:"\uC870\uC120\uC2DC\uB300",MDKRPS:"\uD55C\uAD6D \uADFC\uD604\uB300",THKDPS:"\uC0BC\uAD6D\uC2DC\uB300",WRLART:"\uC138\uACC4\uC758 \uC608\uC220\uAC00",WRLPSN:"\uC138\uACC4\uC758 \uC778\uBB3C",KRLANG:"\uC6B0\uB9AC\uB9D0",TRPLCT:"\uC804\uD1B5\uB180\uC774",HERITG:"\uBB38\uD654\uC7AC",EVTFES:"\uD589\uC0AC\uC640 \uCD95\uC81C",GECTKL:"\uC0C1\uC2DD",FRYTAL:"\uB3D9\uD654",AMZING:"\uC2E0\uAE30\uD55C \uC774\uC57C\uAE30",DAYSTR:"\uC77C\uC0C1 \uC18D \uC774\uC57C\uAE30",KRLDMK:"\uD55C\uAD6D\uC758 \uBA85\uC18C",SELNMK:"\uC11C\uC6B8\uC758 \uBA85\uC18C",WRDTRB:"\uC138\uACC4\uC5EC\uD589",NAVIGT:"\uAE38 \uCC3E\uAE30",KRSOCI:"\uD55C\uAD6D",ECONEW:"\uACBD\uC81C\uC640 \uB274\uC2A4",GENART:"\uC608\uC220",GELFKL:"\uC0DD\uD65C \uC0C1\uC2DD",ANIMAL:"\uB3D9\uBB3C",PLANTS:"\uC2DD\uBB3C",ETHPLT:"\uC9C0\uAD6C",TOLELC:"\uB3C4\uAD6C\uC640 \uC804\uC790\uC81C\uD488",GESCKL:"\uACFC\uD559\uC0C1\uC2DD",INVDSP:"\uAC1C\uC778\uACBD\uAE30",MARART:"\uACA9\uD22C\uAE30",TEAMSP:"\uB2E8\uCCB4\uACBD\uAE30",FOOTBL:"\uCD95\uAD6C",GESPKL:"\uC2A4\uD3EC\uCE20 \uC0C1\uC2DD"}},wf={maxUses:"\uCD5C\uB300 \uC0AC\uC6A9 \uD69F\uC218 (\uBE44\uC6CC\uB450\uBA74 \uBB34\uC81C\uD55C)",redirect:"\uC774\uB3D9\uD560 \uD398\uC774\uC9C0 URL (\uBE44\uC6CC\uB450\uBA74 \uC571 \uBA54\uC778)",creating:"\uC0DD\uC131 \uC911\u2026",create:"\uB9C1\uD06C \uC0DD\uC131",created:"\u2713 \uB9C1\uD06C\uAC00 \uC0DD\uC131\uB418\uC5C8\uC2B5\uB2C8\uB2E4",copied:"\uBCF5\uC0AC\uB428!",copy:"\uBCF5\uC0AC",loading:"\uBD88\uB7EC\uC624\uB294 \uC911\u2026",empty:"\uC0DD\uC131\uB41C \uB9C1\uD06C\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.",uses:"{{count}}\uD68C \uC0AC\uC6A9",expiresAt:"\uB9CC\uB8CC: {{date}}",createdAt:"\uC0DD\uC131: {{date}}",confirmDelete:"\uC0AD\uC81C\uD560\uAE4C\uC694?",deactivate:"\uBE44\uD65C\uC131\uD654",delete:"\uC0AD\uC81C",status:{active:"\uC720\uD6A8",expired:"\uB9CC\uB8CC",inactive:"\uBE44\uD65C\uC131"}},kf={passwordPlaceholder:"\uBE44\uBC00\uBC88\uD638 \uC785\uB825"},Af={subtitle:"\uC8FC\uC81C\uB97C \uC120\uD0DD\uD558\uC5EC \uB4E3\uAE30 \uC5F0\uC2B5\uC744 \uC9C4\uD589\uD558\uC138\uC694."},Bf={direction:{left:"\uC88C",right:"\uC6B0",label:"\uBC29\uD5A5"},wornDate:"\uCC29\uC6A9\uC77C",deviceType:"\uC885\uB958",brand:"\uBE0C\uB79C\uB4DC",fitType:"\uCC29\uC6A9\uD615\uD0DC",productName:"\uC81C\uD488\uBA85",validationError:{brandAndProduct:"\uBE0C\uB79C\uB4DC\uC640 \uC81C\uD488\uBA85\uC744 \uC785\uB825\uD574 \uC8FC\uC138\uC694."},addNew:"\uC0C8 \uAE30\uAE30 \uCD94\uAC00",selectFromList:"\uBAA9\uB85D\uC5D0\uC11C \uC120\uD0DD",removeDevice:"\uCC29\uC6A9 \uD574\uC81C",type:{hearingAid:"\uBCF4\uCCAD\uAE30",cochlearImplant:"\uC778\uACF5\uC640\uC6B0"}},Nf={stat:{totalCustomers:"\uCD1D \uACE0\uAC1D",monthlyVisits:"\uC774\uB2EC \uCD1D \uBC29\uBB38"},chart:{visitDetail:"\uC0C1\uC138 \uBC29\uBB38 \uD604\uD669",trainingDetail:"\uC0C1\uC138 \uD6C8\uB828 \uD604\uD669",weekly:"\uC8FC\uBCC4",daily:"\uC77C\uBCC4",periodMonth:"\uC6D4",periodWeek:"\uC8FC",weeklyPrefix:"\uC8FC\uAC04",monthlyPrefix:"\uC6D4\uAC04",visit:"\uBC29\uBB38",reservation:"\uC608\uC57D",trainingDone:"\uD6C8\uB828 \uC644\uB8CC",trainingInProgress:"\uD6C8\uB828 \uC911",weekRange:"{{start}}~{{end}}",week:"{{n}}\uC8FC"},subscriptionStatus:{active:"{{pct}}% \uD65C\uC131",expired:"{{pct}}% \uB9CC\uB8CC",unused:"{{pct}}% \uBBF8\uC0AC\uC6A9"}},Df={editBanner:{message:"\uC800\uC7A5\uD558\uBA74 \uC9C0\uAE08 \uC218\uC815 \uC911\uC778 \uB300\uB9BD\uC30D\uD45C\uAC00 \uAC31\uC2E0\uB429\uB2C8\uB2E4."},phonemeSelect:{title:"\uC74C\uC18C \uC120\uD0DD",vs:"\uB300"},caution:"\uC720\uC758\uC0AC\uD56D",mode:{include:"\uC74C\uC18C \uD3EC\uD568",pick:"\uC74C\uC18C \uB300\uB9BD",contrast:"\uC74C\uC18C \uB300\uB9BD \uC9C0\uC815",infoTitle:"\uB300\uB9BD \uBC29\uC2DD",infoInclude:"\uC74C\uC18C \uD3EC\uD568 \u2014 \uC120\uD0DD\uD55C \uC74C\uC18C\uAC00 \uBAA8\uB450 \uB4E4\uC5B4\uAC04 \uB2E8\uC5B4\uC640 \uADF8 \uB300\uB9BD\uC30D\uC744 \uCC3E\uC544\uC694.",infoPick:"\uC74C\uC18C \uB300\uB9BD \u2014 \uC120\uD0DD\uD55C \uC74C\uC18C\uAC00 \uB300\uB9BD\uC30D \uB450 \uB2E8\uC5B4\uC758 \uC2E4\uC81C \uCC28\uC774\uC810\uC77C \uB54C\uB9CC \uB9E4\uCE6D\uB3FC\uC694.",infoContrast:"\uC74C\uC18C \uB300\uB9BD \uC9C0\uC815 \u2014 \uAE30\uC900 \uB2E8\uC5B4\uC640 \uB300\uB9BD \uB2E8\uC5B4\uC758 \uC74C\uC18C\uB97C \uAC01\uAC01 \uC9C1\uC811 \uC120\uD0DD\uD574 \uB300\uB9BD\uC30D\uC744 \uCC3E\uC544\uC694."},count:"{{n}}\uAC1C",input:{char:"\uAE00\uC790 \uC120\uD0DD",pron:"\uBC1C\uC74C \uC120\uD0DD",infoTitle:"\uC785\uB825 \uBC29\uC2DD",infoChar:"\uAE00\uC790 \uC120\uD0DD \u2014 \uC120\uD0DD\uD55C \uC74C\uC18C\uB85C \uB2E8\uC5B4(\uAE00\uC790 \uAE30\uC900)\uB97C \uCC3E\uC740 \uD6C4, \uB2E8\uC5B4\uC758 \uD45C\uC900 \uBC1C\uC74C \uB300\uB9BD\uC30D\uC744 \uCC3E\uC2B5\uB2C8\uB2E4.",infoPron:"\uBC1C\uC74C \uC120\uD0DD \u2014 \uC120\uD0DD\uD55C \uC74C\uC18C\uB85C \uD45C\uC900 \uBC1C\uC74C \uB300\uB9BD\uC30D\uC744 \uCC3E\uC2B5\uB2C8\uB2E4."},phonemeN:"{{n}}\uBC88 \uC74C\uC808",phonemeSingleLabel:"\uC74C\uC808",phonemeContrastSingleLabel:"\uB300\uB9BD \uC74C\uC808",ordinals:["\uCCAB\uBC88\uC9F8","\uB450\uBC88\uC9F8","\uC138\uBC88\uC9F8","\uB124\uBC88\uC9F8"],phonemeOrdinalLabel:"{{ordinal}} \uC74C\uC808",phonemeContrastOrdinalLabel:"\uB300\uB9BD {{ordinal}} \uC74C\uC808",composition:"\uC815\uB2F5 \uB2E8\uC5B4 \uAD6C\uC131",syllableCount:"\uC74C\uC808 \uC218",syllableN:"{{n}}\uC74C\uC808",syllableNPlus:"{{n}}\uC74C\uC808 \uC774\uC0C1",onset:"\uCD08\uC131",vowel:"\uBAA8\uC74C",coda:"\uC885\uC131",filter:{searchOptionsTitle:"\uB300\uB9BD \uC124\uC815",searchModeLabel:"\uB300\uB9BD \uBC29\uC2DD",countLabel:"\uC785\uB825 \uC74C\uC808 \uAC2F\uC218",inputModeLabel:"\uC785\uB825 \uBC29\uC2DD",phonemeOrder:"\uC785\uB825 \uC74C\uC808 \uC704\uCE58",phonemeOrderInfo:["\uC77C\uCE58: \uB300\uB9BD\uC30D\uC774 \uC815\uD655\uD788 \uAC19\uC740 \uC704\uCE58(\uC74C\uC808)\uC5D0\uC11C\uB9CC \uCC28\uC774 \uB098\uC57C \uB9E4\uCE6D\uB3FC\uC694.","\uBB34\uAD00: \uCC28\uC774 \uB098\uB294 \uC704\uCE58\uB294 \uC0C1\uAD00\uC5C6\uC774 \uB9E4\uCE6D\uB3FC\uC694."],orderAny:"\uBB34\uAD00",orderMatch:"\uC77C\uCE58",difficultyInfo:"\uAD6D\uB9BD\uAD6D\uC5B4\uC6D0\uC758 \uAE30\uCD08 \uC5B4\uD718 \uB4F1\uAE09\uC774 \uACB0\uACFC\uC5D0 \uBC18\uC601\uB429\uB2C8\uB2E4.",selectLabel:"\uC120\uD0DD",onlyHasImage:"\uC774\uBBF8\uC9C0 \uC788\uB294 \uB2E8\uC5B4\uB9CC",onlySameStructure:"\uC74C\uC18C \uAD6C\uC870 \uAC19\uC740 \uB2E8\uC5B4\uB9CC"},searchLabel:{error:"\uB370\uC774\uD130 \uBD88\uB7EC\uC624\uAE30 \uC2E4\uD328",loading:"\uBD88\uB7EC\uC624\uB294 \uC911\u2026"},confirmMessage:"\uC120\uD0DD\uD55C {{unit}} {{count}}\uAC1C\uB97C \uD3EC\uD568\uD55C \uB2E8\uC5B4 \uD45C \uC815\uBCF4\uAC00 \uC0AC\uB77C\uC9D1\uB2C8\uB2E4.",resetOptions:"\uAC80\uC0C9 \uC635\uC158 \uCD08\uAE30\uD654",phonemeContrast:"\uB300\uB9BD {{n}}\uBC88 \uC74C\uC808",infoNotes:["\uBBF8\uB9AC\uBCF4\uAE30 \uAE00\uC790\uB294 \uC120\uD0DD\uD55C \uC74C\uC18C\uC758 \uC870\uD569 \uC608\uC2DC\uC785\uB2C8\uB2E4. \uC2E4\uC81C \uAC80\uC0C9\uC740 \uD574\uB2F9 \uC74C\uC18C\uAC00 \uD3EC\uD568\uB41C \uBAA8\uB4E0 \uB2E8\uC5B4\uB97C \uB300\uC0C1\uC73C\uB85C \uD569\uB2C8\uB2E4.","\uCD08\uC131 '\u3147'\uC740 \uC120\uD0DD\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. \uB2E8\uC5B4 \uC55E\uC5D0 \uC624\uB294 \u3147\uC740 \uC2E4\uC9C8\uC801\uC73C\uB85C \uBB34\uC74C\uC774\uC5B4\uC11C \uB300\uB9BD\uC30D \uC131\uB9BD\uC5D0 \uC601\uD5A5\uC744 \uC8FC\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.","\uCD08\uC131\uACFC \uC885\uC131\uB9CC \uC120\uD0DD\uD558\uBA74 \uBAA8\uC74C\uC740 '\u314F'\uB85C \uC790\uB3D9 \uD45C\uC2DC\uB429\uB2C8\uB2E4.","\uC74C\uC18C \uAC1C\uC218\uB97C \uB298\uB9AC\uBA74 \uAC01 \uC74C\uC18C \uC0AC\uC774\uC758 \uB300\uB9BD\uC30D\uC744 \uAC80\uC0C9\uD569\uB2C8\uB2E4."]},Sf={sentenceTyping:{roundCount:"{{rounds}}\uBB38\uC81C \xB7 \uBB38\uC81C\uB2F9 {{timeLimit}}\uCD08"},wordDefense:{me:"\uB098"},dictation:{title:"\uBC1B\uC544\uC4F0\uAE30",desc:"\uBB38\uC7A5\uC744 \uB4E3\uACE0 \uC815\uD655\uD788 \uBC1B\uC544\uC801\uB294 \uC5F0\uC2B5\uC785\uB2C8\uB2E4.",comingSoon:"\uAD6C\uD604 \uC608\uC815: \uC74C\uC131 \uC7AC\uC0DD, \uC785\uB825 \uD544\uB4DC, \uC815\uB2F5 \uBE44\uAD50"},result:{heading:"{{number}}\uB2E8\uACC4 \uD574\uB2F5",retry:"\uB2E4\uC2DC \uD480\uAE30"},common:{accuracy:"{{pct}}% \uC815\uD655\uB3C4"},soundMatch:{title:"\uC18C\uB9AC \uB9E4\uCE6D",desc:"\uAC19\uC740 \uC18C\uB9AC\uB97C \uAC00\uC9C4 \uB2E8\uC5B4 \uB610\uB294 \uBB38\uC7A5\uC744 \uBE60\uB974\uAC8C \uB9E4\uCE6D\uD558\uB294 \uAC8C\uC784\uC785\uB2C8\uB2E4.",comingSoon:"\uAD6C\uD604 \uC608\uC815: \uD50C\uB808\uC774 \uBC84\uD2BC, \uD0C0\uC774\uBA38, \uC810\uC218 \uC9D1\uACC4"},orderSequence:{title:"\uBB38\uC7A5 \uC21C\uC11C\uD654",desc:"\uD769\uC5B4\uC9C4 \uBB38\uC7A5 \uC870\uAC01\uC744 \uC62C\uBC14\uB978 \uC21C\uC11C\uB85C \uBC30\uC5F4\uD558\uB294 \uD6C8\uB828\uC785\uB2C8\uB2E4.",comingSoon:"\uAD6C\uD604 \uC608\uC815: \uBB38\uC7A5 \uC138\uD2B8, \uC21C\uC11C \uD655\uC778 \uC778\uD130\uD398\uC774\uC2A4"},speedListen:{title:"\uC18D\uB3C4 \uB4E3\uAE30",desc:"\uC2DC\uAC04 \uC81C\uD55C \uB0B4\uC5D0 \uBB38\uC7A5\uC758 \uB2E8\uC5B4 \uC218\uB97C \uB9DE\uCD94\uB294 \uB3C4\uC804\uD615 \uAC8C\uC784\uC785\uB2C8\uB2E4.",comingSoon:"\uAD6C\uD604 \uC608\uC815: \uC81C\uD55C\uC2DC\uAC04, \uC810\uC218\uD310"},noiseChallenge:{title:"\uC18C\uC74C \uCC4C\uB9B0\uC9C0",desc:"\uBC30\uACBD \uC18C\uC74C \uC18D\uC5D0\uC11C \uBB38\uC7A5\uC744 \uBD84\uBCC4\uD558\uB294 \uC5F0\uC2B5\uC785\uB2C8\uB2E4.",comingSoon:"\uAD6C\uD604 \uC608\uC815: \uB2E4\uC591\uD55C \uC18C\uC74C \uB808\uBCA8, \uC810\uC218 \uC9D1\uACC4"},fastListen:{title:"\uBE60\uB978 \uB4E3\uAE30",desc:"\uC9E7\uC740 \uBB38\uC7A5\uC744 \uBE60\uB974\uAC8C \uB4E4\uB824\uC8FC\uACE0 \uD575\uC2EC \uB2E8\uC5B4\uB97C \uC120\uD0DD\uD558\uB294 \uAC8C\uC784\uC785\uB2C8\uB2E4.",comingSoon:"\uAD6C\uD604 \uC608\uC815: \uB09C\uC774\uB3C4\uBCC4 \uC18D\uB3C4, \uD0C0\uC774\uBA38"},shadowing:{title:"\uC250\uB3C4\uC789",desc:"\uBB38\uC7A5\uC744 \uB530\uB77C \uB9D0\uD558\uBA70 \uBC1C\uC74C\uACFC \uC5B5\uC591\uC744 \uC5F0\uC2B5\uD558\uB294 \uBAA8\uB4DC\uC785\uB2C8\uB2E4.",comingSoon:"\uAD6C\uD604 \uC608\uC815: \uC7AC\uC0DD, \uB179\uC74C, \uBE44\uAD50 \uD53C\uB4DC\uBC31"},phonemeHunt:{title:"\uC74C\uC6B4 \uCC3E\uAE30",desc:"\uD2B9\uC815 \uC74C\uC6B4(\uBC1C\uC74C)\uC744 \uD3EC\uD568\uD55C \uB2E8\uC5B4\uB97C \uCC3E\uC544\uB0B4\uB294 \uAC8C\uC784\uC785\uB2C8\uB2E4.",comingSoon:"\uAD6C\uD604 \uC608\uC815: \uC74C\uC6B4 \uD544\uD130, \uD78C\uD2B8 \uAE30\uB2A5"}},Ef={lead:`\uC544\uC774\uD574\uBE0C\uB294 \uC18C\uB9AC\uB97C \uD1B5\uD574
833
833
  \uC2E0\uB8B0\uB97C \uC313\uACE0
834
- \uD68C\uBCF5\uC744 \uB3D5\uC2B5\uB2C8\uB2E4.`,site:{title:"\uC0AC\uC774\uD2B8",malgwi:"\uB9D0\uADC0",soundDirection:"\uC18C\uB9AC\uBC29\uD5A5\uC131\uC2DC\uC2A4\uD15C",vrSoundDirection:"VR\uC18C\uB9AC\uBC29\uD5A5\uC131\uC2DC\uC2A4\uD15C",hearingTest:"\uCCAD\uB825\uD14C\uC2A4\uD2B8 \uD504\uB85C"},sns:{title:"SNS",naverBlog:"\uB124\uC774\uBC84 \uBE14\uB85C\uADF8",kakao:"KAKAO Talk \uC624\uD508\uCC44\uD305"},policy:{title:"\uC815\uCC45",terms:"\uC774\uC6A9\uC57D\uAD00",privacy:"\uAC1C\uC778\uC815\uBCF4 \uCC98\uB9AC\uBC29\uCE68"},ceo:"\uB300\uD45C",address:"\uC8FC\uC18C",support:"\uACE0\uAC1D\uC13C\uD130",ceoName:"\uD55C\uC9C0\uD61C",addressValue:"\uAC15\uC6D0\uB3C4 \uCD98\uCC9C\uC2DC \uC2DC\uCCAD\uAE38 32 \uD574\uCC2C\uBE4C\uB529 3\uCE35 302\uD638"},Tf={trainingPhone:{topic:"\uD143\uBC2D\uAC00\uAFB8\uAE30",prev:"\uC774\uC804",next:"\uB2E4\uC74C",speed:"\uBE60\uB974\uAE30 3",noiseType:"\uC640\uAE00\uC640\uAE00",settings:"\uC124\uC815",start:{caption:"\uC544\uB798 \uD50C\uB808\uC774(\u25B6) \uBC84\uD2BC\uC744 \uB20C\uB7EC \uBB38\uC7A5\uC744 \uC798 \uB4E4\uC5B4\uBCF4\uC138\uC694. \uC798 \uB4E4\uC73C\uC2E0 \uB4A4 \uBB38\uC7A5\uC744 \uD655\uC778\uD558\uC138\uC694."},feedback:{caption:"\uC798 \uD0A4\uC6B4 \uBAA8\uC885\uC744 \uD143\uBC2D\uC5D0 \uC2EC\uACE0 \uBE44\uB2D0\uC744 \uC798 \uB36E\uC5B4 \uC90D\uB2C8\uB2E4."},done:{heardWell:"\uC798 \uB4E4\uB9B0 \uBB38\uC7A5",listenAgain:"\uD55C \uBC88 \uB354 \uB4E3\uAE30"}}},jf={timeHM:"{{h}}\uC2DC {{m}}\uBD84",timeH:"{{h}}\uC2DC"},Mf={options:"\uD6C8\uB828 \uC635\uC158",difficulty:"\uB09C\uC774\uB3C4",exclude:"\uC81C\uC678",chosung:"\uCD08\uC131",excludeOptions:{none:"\uC5C6\uC74C",noImage:"\uC774\uBBF8\uC9C0 \uC5C6\uC74C"}},Lf={answer:"\uC815\uB2F5",distractor:"\uC624\uB2F5"},$f={phaseWordDownload:"\uB2E8\uC5B4 \uB370\uC774\uD130 \uB2E4\uC6B4\uB85C\uB4DC",phaseImageCheck:"\uC774\uBBF8\uC9C0 \uD655\uC778",phasePairAnalysis:"\uB2E8\uC5B4\uC30D \uBD84\uC11D",downloadingCount:"{{n}}\uAC1C \uB2E4\uC6B4\uB85C\uB4DC \uC911",checkingPage:"{{page}}\uD398\uC774\uC9C0 \uBAA9\uB85D \uD655\uC778 \uC911",imageCount:"{{done}} / {{total}}\uAC1C"},Rf={clearAriaLabel:"\uC785\uB825\uAC12 \uC9C0\uC6B0\uAE30"},Pf={ariaLabel:"\uC120\uD0DD \uD0ED"},If={ariaLabel:"\uD0ED"},Ff={dragPrompt:"\uD30C\uC77C\uC744 \uC774\uACF3\uC5D0 \uB4DC\uB798\uADF8\uD558\uC5EC \uC5C5\uB85C\uB4DC",browseButton:"\uD30C\uC77C \uC120\uD0DD",removeAriaLabel:"{{name}} \uC81C\uAC70"},Of={ariaLabel:"\uC0AC\uC6A9\uC790 \uC544\uBC14\uD0C0"},Hf={relativeDay:{today:"\uC624\uB298",yesterday:"\uC5B4\uC81C",daysAgo:"{{n}}\uC77C \uC804"},reason:{notLoggedIn:"\uB85C\uADF8\uC778\uC774 \uD544\uC694\uD569\uB2C8\uB2E4."},list:{title:"\uBC1B\uC740 \uC219\uC81C"},status:{expired:"\uB9CC\uB8CC\uB428",done:"\uC644\uB8CC {{count}}\uD68C \xB7 {{date}}",notDone:"\uBBF8\uC644\uB8CC"}},Vf={weekly:{title:"\uC8FC\uAC04 \uD6C8\uB828 \uD604\uD669",daily:"\uC624\uB298\uC758 \uB4E3\uAE30",crossword:"\uAC00\uB85C\uC138\uB85C"},homework:{title:"\uC219\uC81C \uC9C4\uD589\uD604\uD669",totalRate:"\uC804\uCCB4 \uC644\uB8CC\uC728",count:"\uC804\uCCB4",done:"\uC644\uB8CC",remaining:"\uBBF8\uC644\uB8CC"},today:{tooltipTotal:"\uC804\uCCB4",tooltipDone:"\uC644\uB8CC"},filter:{countSuffix:" \uD6C8\uB828"},time:{countLabel:"{{n}}\uD68C \uD6C8\uB828",empty:"\uD6C8\uB828 \uAE30\uB85D\uC774 \uC5C6\uC2B5\uB2C8\uB2E4."},daily:{title:"\uC624\uB298\uC758 \uB4E3\uAE30 \uAE30\uB85D",empty:"\uC644\uB8CC\uD55C \uD68C\uCC28\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4."},crossword:{title:"\uAC00\uB85C\uC138\uB85C\uD034\uC988",empty:"\uC644\uB8CC\uD55C \uB808\uBCA8\uC774 \uC5C6\uC2B5\uB2C8\uB2E4"},visit:{title:"\uBC29\uBB38 \uC5F0\uB3D9 \uAE30\uB85D"},detail:"\uC0C1\uC138\uBCF4\uAE30",trainingType:{LISTEN_IN_NOISE:"\uC18C\uC74C \uD558 \uBB38\uC7A5",SHORT_STORY:"\uC9E7\uC740 \uC774\uC57C\uAE30",LONG_STORY:"\uAE34 \uC774\uC57C\uAE30",ORDERING_SENTENCE:"\uBB38\uC7A5 \uC21C\uC11C\uD654"}},zf={publish:{descPlaceholder:"\uB9D0\uADC0\uC790\uB8CC\uC2E4\uC5D0 \uD45C\uC2DC\uD560 \uD55C \uC904 \uC124\uBA85 (\uC120\uD0DD)"},import:"\uB0B4 \uD6C8\uB828\uC5D0 \uAC00\uC838\uC624\uAE30",publisher:"\uAC8C\uC2DC\uC790",time:{justNow:"\uBC29\uAE08 \uC804",minutesAgo:"{{n}}\uBD84 \uC804",hoursAgo:"{{n}}\uC2DC\uAC04 \uC804",daysAgo:"{{n}}\uC77C \uC804",weeksAgo:"{{n}}\uC8FC \uC804",monthsAgo:"{{n}}\uAC1C\uC6D4 \uC804",yearsAgo:"{{n}}\uB144 \uC804"},badge:{shared:"\uB9D0\uADC0\uC790\uB8CC\uC2E4"}},Wf={manage:{unit:"\uAC74"}},qf={cancelLabel:"\uCDE8\uC18C"},Uf={steps:"\uC9C4\uD589 \uB2E8\uACC4 {{current}} / {{total}}"},Gf={panelTitle:"\uD6C8\uB828 \uC624\uB2F5",viewItems:"\uBB38\uD56D",viewTypes:"\uC720\uD615",colPending:"\uB0A8\uC740 \uAC83",colTrend:"\uBCC0\uD654",colRuns:"\uD310",unitItem:"\uAC1C",skippedOnly:"\uC61B \uAE30\uB85D {{n}}\uAC74\uC740 \uBB34\uC5C7\uC744 \uD47C \uAC83\uC778\uC9C0 \uC548 \uB0A8\uC544 \uC788\uC5B4 \uC148\uC5D0\uC11C \uBE90\uC2B5\uB2C8\uB2E4.",summaryLabel:"\uC313\uC778 \uAE30\uB85D",summaryValue:"{{items}}\uBB38\uD56D \xB7 \uC544\uC9C1 \uBABB \uC7A1\uC740 \uAC83 {{pending}}\uAC1C",nextLabel:"\uB2E4\uC74C\uC5D0 \uBCFC \uAC83",nextCount:"{{count}}\uAC1C",nextCountCapped:"{{total}}\uAC1C \uC911 {{shown}}\uAC1C",picked:"\u2192 {{what}}",typeClear:"\uB2E4 \uC7A1\uC558\uC5B4\uC694",typePending:"{{total}}\uAC1C \uC911 {{pending}}\uAC1C \uB0A8\uC74C",flat:"\uBCC0\uD654 \uC5C6\uC74C",runs:"{{count}}\uD310",avgDuration:"\uD3C9\uADE0 {{sec}}\uCD08"},Kf={resetColumns:"\uCE78 \uB108\uBE44 \uCD08\uAE30\uD654"},Yf={panelTitle:"\uB2E8\uC5B4\uD45C \uCC44\uC810",viewWords:"\uB0B1\uB9D0",viewTables:"\uD45C",colLatest:"\uB9C8\uC9C0\uB9C9",colTrend:"\uBCC0\uD654",unitTime:"\uD68C",summaryLabel:"\uC313\uC778 \uCC44\uC810",summaryValue:"{{times}}\uD68C \xB7 \uB0B1\uB9D0 {{words}}\uAC1C",nextLabel:"\uB2E4\uC74C\uC5D0 \uBCFC \uAC83",nextCount:"{{count}}\uAC1C",allClear:"\uC9C0\uB09C\uBC88\uC5D0 \uBAA8\uB450 \uB9DE\uD614\uC2B5\uB2C8\uB2E4.",times:"{{count}}\uD68C",flat:"\uBCC0\uD654 \uC5C6\uC74C",recentLabel:"\uCD5C\uADFC \uCC44\uC810",nextCountCapped:"{{total}}\uAC1C \uC911 {{shown}}\uAC1C"},Zf={ariaLabel:"\uBC30\uB108",dotAriaLabel:"{{count}}\uAC1C \uC911 {{index}}\uBC88\uC9F8 \uBC30\uB108"},Xf={selectYearMonth:"\uC5F0\uC6D4 \uC120\uD0DD",chooseDate:"\uB0A0\uC9DC \uC120\uD0DD"},Jf={previewRegion:"\uBCF4\uACE0\uC11C \uBBF8\uB9AC\uBCF4\uAE30 \u2014 \uC88C\uC6B0\uB85C \uAD74\uB824 \uBCFC \uC218 \uC788\uC2B5\uB2C8\uB2E4"},Qf={description:"\uC124\uBA85",textbox:"\uBCF8\uBB38",training:"\uD6C8\uB828 \uC548\uB0B4",menu:"\uBA54\uB274"},eC={devNone:"\uBC1C\uB2EC \uC790\uB8CC \uC5C6\uC74C",place:{labial:"\uC591\uC21C\uC74C",alveolar:"\uCE58\uC870\uC74C",palatal:"\uACBD\uAD6C\uAC1C\uC74C",velar:"\uC5F0\uAD6C\uAC1C\uC74C",glottal:"\uC131\uBB38\uC74C"}},tC={clearSelection:"\uC120\uD0DD \uD574\uC81C"},nC={showResult:"{{type}} \uACB0\uACFC\uBCF4\uAE30"},aC={selected:"\uC120\uD0DD\uB428",remove:"\uC81C\uAC70",exclude:"\uC81C\uC678",nthSelected:"{{n}}\uBC88\uC9F8 \uC120\uD0DD"},rC={loading:"\uBD88\uB7EC\uC624\uB294 \uC911\u2026"},oC={state:{active:"\uC18C\uB9AC \uB098\uB294 \uC911",played:"\uB4E4\uC74C",correct:"\uC815\uB2F5",wrong:"\uC624\uB2F5"}},sC={ariaLabel:"\uC774\uB3D9 \uACBD\uB85C"},iC={empty:"\uB4F1\uB85D\uB41C \uD56D\uBAA9\uC774 \uC5C6\uC2B5\uB2C8\uB2E4."},lC={main:"\uBA54\uC778 \uADF8\uB77C\uB514\uC5B8\uD2B8",soft:"\uC18C\uD504\uD2B8",sub:"\uC11C\uBE0C \uCEEC\uB7EC",deep:"\uB525 \uADF8\uB77C\uB514\uC5B8\uD2B8",softSub:"\uC18C\uD504\uD2B8 \uC11C\uBE0C",warm:"\uC6DC(\uAC15\uC870)",dark:"\uB2E4\uD06C",radial:"\uBC29\uC0AC\uD615 \uADF8\uB77C\uB514\uC5B8\uD2B8",diagonal:"\uB300\uAC01\uC120 \uD328\uD134",dots:"\uB3C4\uD2B8 \uD328\uD134",outline:"\uC544\uC6C3\uB77C\uC778",success:"\uC131\uACF5/\uC644\uB8CC",naver:"\uB124\uC774\uBC84 \uBE14\uB85C\uADF8 \uC548\uB0B4",instagram:"\uC778\uC2A4\uD0C0\uADF8\uB7A8 \uC548\uB0B4"},cC={common:G2,calendar:K2,passCard:Y2,searchField:Z2,rating:X2,colorPicker:J2,dropdown:Q2,accordion:ef,header:tf,nav:nf,settings:af,usage:rf,account:of,help:sf,training:lf,trainingSettings:cf,customers:uf,payment:df,coupons:pf,visits:mf,company:hf,trainingType:ff,myWordTraining:Cf,myWordTable:gf,keyWords:bf,wordTable:yf,wordSearch:vf,wordPrint:xf,topic:_f,accessLinkManager:wf,login:kf,trainingPlanRun:Af,device:Bf,manager:Nf,wordPairs:Df,game:Sf,footer:Ef,landing:Tf,date:jf,trainingSetPage:Mf,wordTrainingPreview:Lf,wordData:$f,textField:Rf,segmentedControl:Pf,tabs:If,fileUpload:Ff,avatar:Of,myHomework:Hf,trainingStatus:Vf,store:zf,homework:Wf,inquiry:qf,progress:Uf,trainingMiss:Gf,table:Kf,wordScore:Yf,topBanner:Zf,datePicker:Xf,report:Jf,tooltip:Qf,phonemeProfile:eC,bulkBar:tC,debug:nC,badge:aC,loader:rC,soundCompass:oC,breadcrumb:sC,board:iC,promoBannerBg:lC},uC={statusFilter:"Filter by status",pageSizeSelect:"Items per page",selectedCount_one:"{{count}} selected",selectedCount_other:"{{count}} selected",moreFor:"More options for {{name}}",cancel:"Cancel",info:"Info",errorState:{message:"Couldn't load this.",retry:"Try again"},save:"Save",confirm:"Confirm",close:"Close",back:"Back",emptyTrainingName:"Training name is empty.",remove:"Remove",image:"Image",delete:"Delete",reset:"Reset",update:"Update",download:"Download",search:"Search",empty:"No data.",yes:"Yes",no:"No",all:"All",none:"None",days_one:"{{count}} day",days_other:"{{count}} days",loadMore:"Load More",retry:"Try Again",prevPage:"Previous page",nextPage:"Next page",play:"Play",pause:"Pause",playPause:"Play / Pause",replay:"Replay",subscription:"Subscription",done:"Done",failed:"Failed",continue:"Continue",notification:"Notice",emptyList:"No items",menu:"Menu",resetSelection:"Reset Selection",pageSizeLabel:"Show {{n}}",totalCountPrefix:"Total: ",totalCountSuffix:"",expand:"Expand",collapse:"Collapse",popup:"Popup",more:"More",codeBlock:"Code block",totalPrefix:"",copyCode:"Copy code",copied:"Copied",col:{problem:"Question"},phonetics:{place:{labial:"Bilabial",alveolar:"Alveolar",palatal:"Palatal",velar:"Velar",glottal:"Glottal"},vowel:{frontHigh:"Front high vowel",backHighUnrounded:"Back high unrounded vowel",backHighRounded:"Back high rounded vowel",frontMid:"Front mid vowel",backMidUnrounded:"Back mid unrounded vowel",backMidRounded:"Back mid rounded vowel",low:"Low vowel"},glide:{j:"j-glide",w:"w-glide",velar:"\u0270-glide"}},unknownError:"Unknown error",networkError:"The network connection is unstable. Check your connection and try again."},dC={rangeSelect:"Select period",dow:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],yearMonth:"{{month}}/{{year}}",prevMonth:"Previous month",addOnDate:"Add a visit on {{date}}",nextMonth:"Next month",prevWeek:"Previous week",nextWeek:"Next week",legend:{visited:"Visited",scheduled:"Scheduled",noVisit:"No Show"},periodSelect:"Period unit"},pC={planSuffix:"Plan",labeledPlan:"{{label}} Plan",couponCode:"Pass Code",specialLabel:"Open Special",unitDay:"d",unitYear:"yr",remainingDay:"{{n}}d left",remainingHour:"{{n}}h left",remainingMinute:"{{n}}m left",remainingSecond:"{{n}}s left",menu:{use:"Activate",refund:"Refund",delete:"Delete"}},mC={clearAriaLabel:"Clear search"},hC={starLabel:"Select star {{n}}",valueLabel:"{{value}} out of {{max}}",groupLabel:"Rating"},fC={selected:"selected"},CC={placeholder:"Select"},gC={collapse:"Collapse",expand:"Expand"},bC={biArea:"BI area",biSymbol:"BI symbol",logoMalgwi:"Malgwi logo",logoManager:"Malgwi Manager logo",menuOpen:"Open menu",utilMenu:"Utility menu",menuClose:"Close menu"},yC={mainMenu:"Main menu",bottomNav:"Bottom navigation",goToManager:"Go to Malgwi Manager",goToMalgwi:"Go to Malgwi",modeLabelManager:"Malgwi Manager",modeLabelMalgwi:"Malgwi",training:"Training",settings:"Settings",notifications:"Notifications",account:"Account",help:"Help",debug:"Debug",coupons:"Coupons",topic:"By Topic",trainingType:"By Training Type",wordPairs:"Word Pairs",wordSearch:"Word Search",wordTable:"Word Table Creator",company:"Company Info",more:"More",moreMenu:"More menu",badgeLabel:"{{label}}, {{count}}"},vC={language:{training:{label:"Training Language",sub:"Language used for training words and speech"}},notifications:{title:"Notifications"},display:{fontSize:{small:"Small",large:"Large"}},cache:{title:"Cache Management",confirmMessage:"Delete cache ({{size}}). Do you want to continue?",delete:"Delete",deleting:"Deleting",cleared:"Cache cleared successfully.",group:{wordData:{label:"Word Data",sub:"Word list and version info"},pairIndex:{label:"Pair Index",sub:"Onset\xB7vowel\xB7coda minimal pair analysis cache"},imageCache:{label:"Image Cache",sub:"Word image existence check results"},trainingRecord:{label:"Training Record",sub:"Daily training progress and streak"}}},button:{save:"Save Settings"},popup:{clear:{confirm:"Reset"},update:{confirm:"Update"},cache:{title:"Delete {{label}}",message:"Delete {{label}} ({{size}}). Do you want to continue?"}},saved:"\u2713 Saved",account:{title:"Account",delete:{sub:"You can restore your account within 30 days of withdrawal."}}},xC={addButton:"Add Subscription",couponButton:"Enter Coupon",active:{infoTitle:"Subscription Info",refund:"Request Refund",startDate:"Start Date",endDate:"End Date",remaining:"Remaining"},pending:{title:"Pending",empty:"No pending subscriptions."},loading:"Loading\u2026",segment:{personal:"Malgwi",org:"Malgwi Manager"},org:{title:"Current Plan",disc:"Subscription plan in use by your organization.",empty:"No organization plan registered.",fallbackTitle:"Organization Plan",startDate:"Start Date",endDate:"End Date",remaining:"Remaining",duration:"Duration"}},_C={profile:{planSuffix:"",plan:"Plan"},basicInfo:{name:{placeholder:"John Doe"}},security:{title:"Security",password:{label:"Password",currentRequired:"Enter your current password.",newRequired:"Enter a new password.",mismatch:"The new passwords do not match.",changed:"Your password has been changed."},twoFactor:{label:"Two-Factor Authentication",sub:"Strengthen your account security"}}},wC={guide:{faq:{title:"FAQ",desc:"View all frequently asked questions"}}},kC={settings:"Settings",start:{title:"Start Word Training",description:"Select a training type below to begin"},difficulty:{tooltip:"The easiest difficulty is 'Random', the hardest is 'Initial Consonant Difference'."},contrast:{label:"Contrast",type:"Contrast Type",count:"Contrast Count",n:"{{n}}"},filter:{random:"Random",trainOnset:"Onset",trainVowel:"Vowel",trainCoda:"Coda",phonemeGroup:"Training phonemes",noLimit:"Any",codaExclude:"Exclude",gradeLabel:"Grade",excludeImageInfo:"Only words with images: keeps only results with a registered word image.",sameStructureInfo:"Only same phoneme structure: keeps only pairs where the correct and wrong answers share the same syllable structure (length, batchim, etc.).",selectSection:"Select",excludeImage:"Only words with images",sameStructure:"Only same phoneme structure"},noQuestions:"No questions available.",countQuestions:"{{n}} questions",countSentences:"{{n}} sentences",comingSoon:"Coming Soon",nextQuestion:"Next",noiseRatioTitle:"Noise Ratio",noiseRatioValue:"{{ratio}}\xD7",noiseTypeTitle:"Noise Type",playVolumeTitle:"Volume",playSpeedTitle:"Speed",meter:{sentence:"Playback",noise:"Noise",toggle:"Show Audio Meter"},viewResult:"View Results",problemNotice:"Problem {{n}}.",trainingSettingsTitle:"Training Settings",sentencePreview:"Sentence Preview",notHeard:"Didn't hear it.",heardWell:"Heard it well.",confirmTitle:"Check the sentence and select whether you heard it.",noSoundWaveform:"Waveform is not shown for sound-comparison questions.",noise:{level:{none:"None",weak:"Weak",medium:"Medium",strong:"Strong",veryStrong:"Very Strong"},type:{none:"None",default:"Default",street:"Street",buzz:"Buzzing",restaurant:"Restaurant"}},listenTitle:"Please listen to the sentence.",listenButton:"Listen",playSound:"Play Sound",playAll:"Play All",selectInOrder:"Select the cards in the order you heard.",stop:"Stop",preview:"Preview",next:"Next",completed:"Completed",selected:"Selected",nthSelected:"Selection {{n}}",fontSizeMin:"Font size is at the minimum.",fontSizeMax:"Font size is at the maximum.",fontSizeDecrease:"Decrease font size",fontSizeIncrease:"Increase font size",toggleBackground:"Toggle background",cardInstructions:"Look at the word card, listen to the sound, and check it.",noCards:"No cards.",audioFetchError:"Failed to load the sound source.",ttsUnavailable:"Speech playback isn't available on this device.",selectConfirm:"Look at the question and select the answer.",orderListDefault:"Arrange the sentences in the order you heard.",result:{pendingDone:"Results are still being calculated, so you can't finish yet.",eyebrow:"Training Complete",title:"You've finished all the training!",scoreAria:"{{correct}} / {{total}} questions",elapsed:"Time Elapsed",summary:"You heard {{correct}} item(s) correctly.",tableAriaLabel:"Per-question judgement",colJudge:"Judgement",colAnswerSelected:"Answer \xB7 Selected",colAnswer:"Answer",colSelected:"Selected",heardWell:"Heard well",notHeard:"Didn't hear",notJudged:"Not judged",replay:"Replay",done:"Done",viewResult:"View Results",noContent:"(No content)"},up:"Move up",down:"Move down",prev:"Previous",listenLabel:"Listen",sourcePlay:"Play source {{n}}",listen:"Listen",audioStatus:{idle:"Idle",resolving:"Resolving\u2026",checking_exists:"Checking file\u2026",getting_signed_url:"Getting URL\u2026",downloading:"Downloading\u2026",measuring_duration:"Measuring length\u2026",ready:"Ready",error:"Error"}},AC={totalCount:" training bundles",sort:{customers:"Customers"},copyLink:"Copy Link",removeLink:"Remove Link",linkRemoved:"Link removed.",linkSaveFirst:"Please save the training bundle first.",linkSaveFirstHint:"You can only create a shared link from a saved training bundle.",linkCopySelect:"Copy blocked \u2014 link selected. Press Ctrl/\u2318+C to copy.",nameRequired:"Please enter a training bundle name.",itemRequired:"Please add at least one training item.",randomAdd:"Random Add",menu:{publish:"Post to Store",duplicate:"Duplicate Training Bundle",edit:"Edit Training Bundle",move:"Move Group",rename:"Rename"},itemCount:"Number of Items",renameGroup:"Rename Group"},BC={totalCount:" customers",loadError:"Failed to load list",basicInfo:{editTooltip:"Edit"},member:{placeholder:"Email or phone",link:"Link",linking:"Linking\u2026"},device:{title:"Hearing Devices",addTooltip:"Add New",addButton:"Add device",listTooltip:"View List",listTitle:" Device List",historyEmpty:"No device history registered",wearing:" in use",notRegistered:"Not registered",unit:"",wearingNow:"In use",wear:"Wear",unwear:"Remove",wornSince:"Since {{date}}",release:"Release",historyTitle:"Hearing device history"},schedule:{title:"Upcoming Visits",addTooltip:"Add Schedule",listTooltip:"View All",empty:"No upcoming visits",registerTitle:" Register Schedule",memoPlaceholder:"Enter a memo for this visit."},visitHistory:{title:"Visit History",addTooltip:"Add Visit",empty:"No visit history yet",popupTitle:" Visit History",registerTitle:" Register Visit"},moreItems:"more",viewAll:"View All",visits:{title:"Visits"},trainingRecord:{title:"Customer Training Records"},status:{trainingSubtitle:"Training Status"},detail:{session:{completedFmt:"Done {{done}}/{{total}} \xB7 {{duration}}"},visitSuffix:" visits"},homework:{active:"Active",copied:"Link copied.",copy:"Copy Link",inactive:"Inactive",title:"Homework Progress"},duration:{minSec:"{{m}}m {{s}}s",min:"{{m}}m",sec:"{{s}}s"}},NC={plan:{recommendedFor:"Recommended for",features:"Key Features",freePrice:"Free",contact:"Contact Us",tierFallback:"Plan",openPromo:"Launch offer"},products:{mgrEnterprise:{tier:{price:"Contact us"}}}},DC={title:"Coupons",subtitle:"Enter a coupon code or view your coupons",input:{label:"Coupon code",placeholder:"Enter coupon code"},applyButton:"Apply",error:{invalid:"Invalid coupon code.",alreadyUsed:"This coupon has already been used."},success:{applied:'"{{name}}" coupon applied.'},section:{owned:"My Coupons"},status:{used:"Used",available:"Available"}},SC={unitVisit:"",periodAll:"All",showN:"Show {{n}}"},EC={subtitle:"Manage company and business information",editButton:"Edit Info",basicInfo:{title:"Basic Info"},contactInfo:{title:"Contact Info"}},TC={title:"Training by Type",subtitle:"Select the training type you want",listenInNoise:{title:"Sentence Listening in Noise",desc:"Train sentence comprehension in various noise environments."},shortStory:{title:"Short Story Listening",desc:"Listen to short stories and understand the content."},longStory:{title:"Long Story Listening",desc:"Focus on listening to long stories and grasp the content."},orderingSentence:{title:"Sentence Ordering",desc:"Arrange heard sentences in the correct order."},SAME_SOUND_PICK:{label:"Listen & Pick Same Sound",sub:"Pick the word card that matches what you heard."},SAME_OR_DIFF:{label:"Same or Different?",sub:"Decide whether the two sounds are the same or different."},HEAR_AND_PICK_SAME:{label:"Hear & Match Word",sub:"Pick the word card that matches the sound you heard."},HEAR_AND_PICK_INCLUDED:{label:"Find Word Containing Sound",sub:"Pick the word card that contains the syllable you heard."},STARTS_WITH_SAME_SOUND:{label:"Find Word Starting with Same Sound",sub:"Pick a word that starts with the same sound as what you heard."},LISTEN_AND_REMEMBER_ORDER:{label:"Listen & Recall Order",sub:"Select the cards in the order you heard the three words."},MERGE_2_SYLLABLES:{label:"Combine 2 Syllables",sub:"What word do two syllables make?"},MERGE_3_SYLLABLES:{label:"Combine 3 Syllables",sub:"What word do three syllables make?"},MERGE_2_PHONEMES:{label:"Combine 2 Phonemes",sub:"What sound do two phonemes make?"},MERGE_3_PHONEMES:{label:"Combine 3 Phonemes",sub:"What sound do three phonemes make?"},DROP_1_FROM_2SYLL:{label:"Drop 1 Syllable from 2-Syllable",sub:"What sound remains when you remove a syllable from a 2-syllable word?"},DROP_1_FROM_3SYLL:{label:"Drop 1 Syllable from 3-Syllable",sub:"What sound remains when you remove a syllable from a 3-syllable word?"},DROP_PART_FROM_COMPOUND:{label:"Drop Part of Compound Word",sub:"What word remains when you remove part of a compound word?"},DROP_FINAL_CONSONANT_FROM_1SYLL:{label:"Drop Final Consonant",sub:"What sound remains when you remove the final consonant?"},REMOVE_CONSONANT_AND_IDENTIFY_PHONEME:{label:"Drop Consonant",sub:"What sound remains when you remove the consonant?"},CHANGE_1_SYLL_IN_2SYLL:{label:"Change 1 Syllable (2-Syllable)",sub:"Change one syllable in a 2-syllable word to make a new word."},CHANGE_1_SYLL_IN_3SYLL:{label:"Change 1 Syllable (3-Syllable)",sub:"Change one syllable in a 3-syllable word to make a new word."},CHANGE_1_PHONEME_IN_1SYLL:{label:"Change 1 Phoneme (1-Syllable)",sub:"Change one phoneme in a 1-syllable word to make a new sound."},CHANGE_1_PHONEME_IN_2SYLL:{label:"Change 1 Phoneme (2-Syllable)",sub:"Change one phoneme in a 2-syllable word to make a new word."}},jC={comingSoon:"Word training is coming soon."},MC={colName:"Table Name",open:"Open",countSuffix:" tables",addCard:"Add Word Table Card",cardsEmpty:"No word table cards created yet.",menu:{publishStore:"Post to Training Store",unpublishStore:"Remove from Training Store"},newBadge:"Newly created",tab:{cards:"Word Table Cards",tables:"Word Tables"},publishedBadge:"Published",sharedBadge:"Shared"},LC={title:"Key Words",empty:"No key words available."},$C={defaultName:"Word Table",title:"Word Table Builder",subtitle:"Set columns and add words to build a table.",filterTitle:"Table Settings",filter:{composition:"Composition",image:"Image",word:"Word",standardPron:"Standard Pronunciation",colloquialPron:"Colloquial Pronunciation",paperOrientation:"Paper Orientation",landscape:"Landscape",portrait:"Portrait",columns:"Columns",column:"{{count}} col",itemsPerPageWord:"Words per page",itemsPerPagePair:"Pairs per page",itemsPerPageOption:"{{count}}",pageIndicator:"{{current}} / {{total}}",pageNumber:"Page Number",pageNumberLeft:"Left",pageNumberCenter:"Center",pageNumberRight:"Right",border:"Border",cutLine:"Cut Line",show:"Show",hide:"Hide",dotted:"Dotted",corner:"Corner"},addWord:"Add",wordInfo:"Info for {{word}}",emptyItems:"Please add at least one word.",load:"Load",openNewWindow:"Open in New Window",saveButton:"Save",saveAsNewButton:"Save as New",print:"Print",popupBlocked:"Popup was blocked. Please allow popups in your browser settings.",printFileNameSingle:"Word Table",printFileNamePair:"Contrast Pair Table",save:{title:"Save Word Table",nameLabel:"Name",desc:"Enter a name for the word table.",placeholder:"Enter a title for this word table.",descriptionLabel:"Description",descriptionPlaceholder:"Enter a description for this word table.",duplicateName:"This name is already in use.",nameRequired:"Please enter a table name.",autoFillHint:" (Press Tab or Space to autofill)",copyName:"{{name}} (copy)"},loadTable:{title:"Load Saved Word Table",empty:"No saved word tables.",loadButton:"Load",itemCount:"{{count}} words",deleteAriaLabel:"Delete {{name}}",sort:{newest:"Newest",oldest:"Oldest",name:"Name",count:"Word Count"},view:{grid:"Grid View",list:"List View"}},groupDeleteMessage:"Word tables in this group will be moved to 'No Group'.",groupNamePlaceholder:"Group name",store:{badge:"Training Store"},card:{sub:"Word Table Card",empty:"No word tables in this card."},toast:{renameError:"Failed to rename",saveError:"Failed to save",deleteError:"Failed to delete",duplicateError:"Failed to duplicate",saveSuccess:"Word table saved."},scoring:{o:"{{word}} correct",triangle:"{{word}} partial",x:"{{word}} incorrect",button:"Score",pickTitle:"Who are you scoring?",pickSubtitle:"Choose the customer who trained with \u201C{{name}}\u201D.",pickSearch:"Search by name or phone",pickEmpty:"No customers registered.",pickNoMatch:"No matching customer.",pickAgain:"Choose another",scoringFor:"Scoring {{name}}",none:"Tap a cell to mark \u25CB \xB7 \u25B3 \xB7 \u2715.",tally:"{{marked}} scored \xB7 \u25CB {{o}} \xB7 \u25B3 {{triangle}} \xB7 \u2715 {{x}} \xB7 {{rate}}%",save:"Save score",saved:"Saved {{count}} marks for {{name}}.",reviewTitle:"Create a review table?",reviewMessage:"Builds a new table from the {{count}} cells {{name}} got wrong or partial. Correct ones are left out.",reviewConfirm:"Create review table",reviewDescription:"Cells marked wrong or partial in \u201C{{name}}\u201D \u2014 {{count}} of them.",reviewCreated:"Created \u201C{{name}}\u201D \u2014 {{count}} cells.",discardTitle:"Discard this scoring?",discardMessage:"You marked {{count}} cells but have not saved. Leaving discards them.",discardConfirm:"Discard and leave"},info:{grade:"Grade: {{n}}",syllables:"Syllables: {{n}}",pos:"Part of speech: {{v}}",wordType:"Type: {{v}}"},pos:{noun:"Noun",verb:"Verb",adjective:"Adjective",adverb:"Adverb",numeral:"Numeral",determiner:"Determiner",interjection:"Interjection",particle:"Particle",affix:"Affix",dependentNoun:"Dependent noun",pronoun:"Pronoun",auxVerb:"Auxiliary verb",auxAdjective:"Auxiliary adjective"},reorder:{moved:"Moved to position {{n}} of {{total}}",handle:"Reorder {{word}} (Alt + arrow keys)",hint:"Alt + \u2190 \u2192 to reorder"}},RC={editBanner:{message:"Saving will update the word table you're editing."},filterTitle:"Word Search Settings",filter:{positionAny:"Any",positionHead:"Start",positionMid:"Middle",positionTail:"End",difficulty:"Grade",grade:"Grade {{n}}",syllables:"Syllables",syllable:"{{n}} Syll.",syllable5plus:"5+ Syllables",partOfSpeech:"Part of Speech",pos:{noun:"Noun/Numeral",verb:"Verb/Adjective",modifier:"Adverb/Determiner"},wordType:"Word Type",type:{native:"Native Korean",sino:"Sino-Korean",foreign:"Loanword",mixed:"Hybrid"},exclude:"Exclude",excludeNoImage:"No Image"},searchButton:"Search",resultUnit:"words",remaining:"{{count}} remaining",resultDisc:"Select {{unit}}. Up to {{max}} items. ({{selected}}/{{max}})",resultTitlePrefix:"",resultTitleSuffix:" {{unit}} found.",emptyResult:"No results found.",groupCount:"{{count}}",sort:{aria:"Sort",match:"Best Match",ganada:"A\u2013Z \u2191",ganadaDesc:"A\u2013Z \u2193",syllable:"Syllables \u2191",syllableDesc:"Syllables \u2193",grade:"Grade \u2191",gradeDesc:"Grade \u2193",original:"Original order"},pageSize:"Show {{count}}",pageSizeAria:"Page size",popup:{title:"Select a word for cell {{n}}"}},PC={clearAllSelection:"Clear All Selections",divLine:"Contrast Line",removePair:"Remove pair",removeWord:"Remove word"},IC={title:"By Topic",subtitle:"Select a topic to start listening training",noiseTitle:"Sentence Listening in Noise",shortStoryTitle:"Short Story Listening",FOOD:"Food",HLTH:"Health",WETH:"Weather",PRSN:"People",KRCT:"Korean Culture",STRY:"Stories",LOCA:"Locations",SOAR:"Society & Arts",NTSC:"Nature & Science",SPRT:"Sports",sub:{TRKRFD:"Traditional Korean Food",MDKRFD:"Modern Korean Food",WRLDFD:"World Cuisine",MTRFRT:"Ingredients & Fruits",GEFDKL:"Food Facts",HTETHB:"Healthy Eating",DISILL:"Diseases",EXCISE:"Exercise",GEHTKL:"Health Facts",GESSKL:"Seasons",SNWRAN:"Snow & Rain",WTHFCT:"Weather Forecast",GEWTKL:"Weather Facts",JODYPS:"Joseon Dynasty",MDKRPS:"Modern Korea",THKDPS:"Three Kingdoms",WRLART:"World Artists",WRLPSN:"World Figures",KRLANG:"Korean Language",TRPLCT:"Traditional Games",HERITG:"Heritage",EVTFES:"Events & Festivals",GECTKL:"General Knowledge",FRYTAL:"Fairy Tales",AMZING:"Amazing Stories",DAYSTR:"Everyday Stories",KRLDMK:"Korean Landmarks",SELNMK:"Seoul Landmarks",WRDTRB:"World Travel",NAVIGT:"Navigation",KRSOCI:"Korea",ECONEW:"Economy & News",GENART:"Arts",GELFKL:"Life Tips",ANIMAL:"Animals",PLANTS:"Plants",ETHPLT:"Earth",TOLELC:"Tools & Electronics",GESCKL:"Science Facts",INVDSP:"Individual Sports",MARART:"Martial Arts",TEAMSP:"Team Sports",FOOTBL:"Soccer",GESPKL:"Sports Facts"}},FC={maxUses:"Max uses (leave blank for unlimited)",redirect:"Redirect URL (leave blank for app home)",creating:"Creating\u2026",create:"Create link",created:"\u2713 Link created",copied:"Copied!",copy:"Copy",loading:"Loading\u2026",empty:"No links created yet.",uses:"Used {{count}} times",expiresAt:"Expires: {{date}}",createdAt:"Created: {{date}}",confirmDelete:"Delete this link?",deactivate:"Deactivate",delete:"Delete",status:{active:"Active",expired:"Expired",inactive:"Inactive"}},OC={passwordPlaceholder:"Enter password"},HC={direction:{left:"L",right:"R",label:"Side"},wornDate:"Date Worn",deviceType:"Device Type",brand:"Brand",fitType:"Fit Type",productName:"Product Name",validationError:{brandAndProduct:"Please enter brand and product name."},addNew:"Add New Device",selectFromList:"Select from List",removeDevice:"Remove",type:{hearingAid:"Hearing Aid",cochlearImplant:"Cochlear Implant"}},VC={stat:{totalCustomers:"Total Customers",monthlyVisits:"This Month's Visits"},chart:{visitDetail:"Visit Details",trainingDetail:"Training Details",weekly:"Weekly",daily:"Daily",periodMonth:"Month",periodWeek:"Week",weeklyPrefix:"Weekly",monthlyPrefix:"Monthly",visit:"Visits",reservation:"Reservations",trainingDone:"Completed",trainingInProgress:"In Progress",weekRange:"{{start}}\u2013{{end}}",week:"W{{n}}"},subscriptionStatus:{active:"{{pct}}% Active",expired:"{{pct}}% Expired",unused:"{{pct}}% Unused"}},zC={editBanner:{message:"Saving will update the contrast pair table you're editing."},phonemeSelect:{title:"Phoneme Selection",vs:"vs"},caution:"Caution",mode:{include:"Phoneme Include",pick:"Phoneme Contrast",contrast:"Specify Contrast",infoTitle:"Contrast Mode",infoInclude:"Include \u2014 finds words containing all selected phonemes, plus their minimal pair.",infoPick:"Contrast \u2014 matches only if the selected phoneme is the actual point of difference in the pair.",infoContrast:"Specify Contrast \u2014 directly choose phonemes for the base word and the contrasting word to find pairs."},count:"{{n}}",input:{char:"Choose Letters",pron:"Choose Sound",infoTitle:"Input mode",infoChar:"Choose Letters \u2014 finds words by the selected phonemes (spelling), then finds their standard-pronunciation contrast pairs.",infoPron:"Choose Sound \u2014 finds standard-pronunciation contrast pairs directly from the selected phonemes."},phonemeN:"Syllable {{n}}",phonemeSingleLabel:"Syllable",phonemeContrastSingleLabel:"Contrast Syllable",ordinals:["First","Second","Third","Fourth"],phonemeOrdinalLabel:"{{ordinal}} Syllable",phonemeContrastOrdinalLabel:"Contrast {{ordinal}} Syllable",composition:"Answer Word Composition",syllableCount:"Syllables",syllableN:"{{n}} syll.",syllableNPlus:"{{n}}+ syll.",onset:"Onset",vowel:"Vowel",coda:"Coda",filter:{searchOptionsTitle:"Contrast Settings",searchModeLabel:"Contrast Mode",countLabel:"Input Syllable Count",inputModeLabel:"Input mode",phonemeOrder:"Input Syllable Position",phonemeOrderInfo:["Match: the pair must differ at exactly the same position (syllable).","Any: the differing position doesn't matter."],orderAny:"Any",orderMatch:"Match",difficultyInfo:"Reflects the National Institute of Korean Language's basic vocabulary grade.",selectLabel:"Select",onlyHasImage:"Only words with images",onlySameStructure:"Only same phoneme structure"},searchLabel:{error:"Failed to load data",loading:"Loading\u2026"},confirmMessage:"The word table with {{count}} selected {{unit}} will be lost.",resetOptions:"Reset Options",phonemeContrast:"Contrast Syllable {{n}}",infoNotes:["The preview character is an example of the selected phoneme combination. The actual search covers all words containing the phoneme.","Initial consonant '\u3147' cannot be selected. \u3147 at the start of a word is effectively silent.","If only onset and coda are selected, the vowel is automatically displayed as '\u314F'.","Increasing the phoneme count searches for minimal pairs between each phoneme."]},WC={sentenceTyping:{roundCount:"{{rounds}} rounds \xB7 {{timeLimit}}s each"},wordDefense:{me:"Me"},dictation:{title:"Dictation",desc:"Practice writing down exactly what you hear.",comingSoon:"Coming soon: audio playback, input field, answer comparison"},result:{heading:"Level {{number}} Answer",retry:"Try Again"},common:{accuracy:"{{pct}}% accuracy"},soundMatch:{title:"Sound Match",desc:"Quickly match words or sentences that share the same sound.",comingSoon:"Coming soon: play button, timer, score tracking"},orderSequence:{title:"Sentence Ordering",desc:"Arrange scattered sentence fragments in the correct order.",comingSoon:"Coming soon: sentence sets, ordering interface"},speedListen:{title:"Speed Listen",desc:"A challenge game to count the number of words in a sentence within a time limit.",comingSoon:"Coming soon: time limit, scoreboard"},noiseChallenge:{title:"Noise Challenge",desc:"Practice distinguishing sentences amid background noise.",comingSoon:"Coming soon: various noise levels, score tracking"},fastListen:{title:"Fast Listen",desc:"Listen to short sentences at speed and select the key word.",comingSoon:"Coming soon: speed by difficulty, timer"},shadowing:{title:"Shadowing",desc:"Practice pronunciation and intonation by repeating sentences aloud.",comingSoon:"Coming soon: playback, recording, comparison feedback"},phonemeHunt:{title:"Phoneme Hunt",desc:"Find words that contain a specific phoneme (sound).",comingSoon:"Coming soon: phoneme filter, hint feature"}},qC={lead:`IHAB builds trust
834
+ \uD68C\uBCF5\uC744 \uB3D5\uC2B5\uB2C8\uB2E4.`,site:{title:"\uC0AC\uC774\uD2B8",malgwi:"\uB9D0\uADC0",soundDirection:"\uC18C\uB9AC\uBC29\uD5A5\uC131\uC2DC\uC2A4\uD15C",vrSoundDirection:"VR\uC18C\uB9AC\uBC29\uD5A5\uC131\uC2DC\uC2A4\uD15C",hearingTest:"\uCCAD\uB825\uD14C\uC2A4\uD2B8 \uD504\uB85C"},sns:{title:"SNS",naverBlog:"\uB124\uC774\uBC84 \uBE14\uB85C\uADF8",kakao:"KAKAO Talk \uC624\uD508\uCC44\uD305"},policy:{title:"\uC815\uCC45",terms:"\uC774\uC6A9\uC57D\uAD00",privacy:"\uAC1C\uC778\uC815\uBCF4 \uCC98\uB9AC\uBC29\uCE68"},ceo:"\uB300\uD45C",address:"\uC8FC\uC18C",support:"\uACE0\uAC1D\uC13C\uD130",ceoName:"\uD55C\uC9C0\uD61C",addressValue:"\uAC15\uC6D0\uB3C4 \uCD98\uCC9C\uC2DC \uC2DC\uCCAD\uAE38 32 \uD574\uCC2C\uBE4C\uB529 3\uCE35 302\uD638"},Tf={trainingPhone:{topic:"\uD143\uBC2D\uAC00\uAFB8\uAE30",prev:"\uC774\uC804",next:"\uB2E4\uC74C",speed:"\uBE60\uB974\uAE30 3",noiseType:"\uC640\uAE00\uC640\uAE00",settings:"\uC124\uC815",start:{caption:"\uC544\uB798 \uD50C\uB808\uC774(\u25B6) \uBC84\uD2BC\uC744 \uB20C\uB7EC \uBB38\uC7A5\uC744 \uC798 \uB4E4\uC5B4\uBCF4\uC138\uC694. \uC798 \uB4E4\uC73C\uC2E0 \uB4A4 \uBB38\uC7A5\uC744 \uD655\uC778\uD558\uC138\uC694."},feedback:{caption:"\uC798 \uD0A4\uC6B4 \uBAA8\uC885\uC744 \uD143\uBC2D\uC5D0 \uC2EC\uACE0 \uBE44\uB2D0\uC744 \uC798 \uB36E\uC5B4 \uC90D\uB2C8\uB2E4."},done:{heardWell:"\uC798 \uB4E4\uB9B0 \uBB38\uC7A5",listenAgain:"\uD55C \uBC88 \uB354 \uB4E3\uAE30"}}},jf={timeHM:"{{h}}\uC2DC {{m}}\uBD84",timeH:"{{h}}\uC2DC"},Mf={options:"\uD6C8\uB828 \uC635\uC158",difficulty:"\uB09C\uC774\uB3C4",exclude:"\uC81C\uC678",chosung:"\uCD08\uC131",excludeOptions:{none:"\uC5C6\uC74C",noImage:"\uC774\uBBF8\uC9C0 \uC5C6\uC74C"}},Lf={answer:"\uC815\uB2F5",distractor:"\uC624\uB2F5"},$f={phaseWordDownload:"\uB2E8\uC5B4 \uB370\uC774\uD130 \uB2E4\uC6B4\uB85C\uB4DC",phaseImageCheck:"\uC774\uBBF8\uC9C0 \uD655\uC778",phasePairAnalysis:"\uB2E8\uC5B4\uC30D \uBD84\uC11D",downloadingCount:"{{n}}\uAC1C \uB2E4\uC6B4\uB85C\uB4DC \uC911",checkingPage:"{{page}}\uD398\uC774\uC9C0 \uBAA9\uB85D \uD655\uC778 \uC911",imageCount:"{{done}} / {{total}}\uAC1C"},Rf={clearAriaLabel:"\uC785\uB825\uAC12 \uC9C0\uC6B0\uAE30"},Pf={ariaLabel:"\uC120\uD0DD \uD0ED"},If={ariaLabel:"\uD0ED"},Ff={dragPrompt:"\uD30C\uC77C\uC744 \uC774\uACF3\uC5D0 \uB4DC\uB798\uADF8\uD558\uC5EC \uC5C5\uB85C\uB4DC",browseButton:"\uD30C\uC77C \uC120\uD0DD",removeAriaLabel:"{{name}} \uC81C\uAC70"},Of={ariaLabel:"\uC0AC\uC6A9\uC790 \uC544\uBC14\uD0C0"},Vf={relativeDay:{today:"\uC624\uB298",yesterday:"\uC5B4\uC81C",daysAgo:"{{n}}\uC77C \uC804"},reason:{notLoggedIn:"\uB85C\uADF8\uC778\uC774 \uD544\uC694\uD569\uB2C8\uB2E4."},list:{title:"\uBC1B\uC740 \uC219\uC81C"},status:{expired:"\uB9CC\uB8CC\uB428",done:"\uC644\uB8CC {{count}}\uD68C \xB7 {{date}}",notDone:"\uBBF8\uC644\uB8CC"}},Hf={weekly:{title:"\uC8FC\uAC04 \uD6C8\uB828 \uD604\uD669",daily:"\uC624\uB298\uC758 \uB4E3\uAE30",crossword:"\uAC00\uB85C\uC138\uB85C"},homework:{title:"\uC219\uC81C \uC9C4\uD589\uD604\uD669",totalRate:"\uC804\uCCB4 \uC644\uB8CC\uC728",count:"\uC804\uCCB4",done:"\uC644\uB8CC",remaining:"\uBBF8\uC644\uB8CC"},today:{tooltipTotal:"\uC804\uCCB4",tooltipDone:"\uC644\uB8CC"},filter:{countSuffix:" \uD6C8\uB828"},time:{countLabel:"{{n}}\uD68C \uD6C8\uB828",empty:"\uD6C8\uB828 \uAE30\uB85D\uC774 \uC5C6\uC2B5\uB2C8\uB2E4."},daily:{title:"\uC624\uB298\uC758 \uB4E3\uAE30 \uAE30\uB85D",empty:"\uC644\uB8CC\uD55C \uD68C\uCC28\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4."},crossword:{title:"\uAC00\uB85C\uC138\uB85C\uD034\uC988",empty:"\uC644\uB8CC\uD55C \uB808\uBCA8\uC774 \uC5C6\uC2B5\uB2C8\uB2E4"},visit:{title:"\uBC29\uBB38 \uC5F0\uB3D9 \uAE30\uB85D"},detail:"\uC0C1\uC138\uBCF4\uAE30",trainingType:{LISTEN_IN_NOISE:"\uC18C\uC74C \uD558 \uBB38\uC7A5",SHORT_STORY:"\uC9E7\uC740 \uC774\uC57C\uAE30",LONG_STORY:"\uAE34 \uC774\uC57C\uAE30",ORDERING_SENTENCE:"\uBB38\uC7A5 \uC21C\uC11C\uD654"}},zf={publish:{descPlaceholder:"\uB9D0\uADC0\uC790\uB8CC\uC2E4\uC5D0 \uD45C\uC2DC\uD560 \uD55C \uC904 \uC124\uBA85 (\uC120\uD0DD)"},import:"\uB0B4 \uD6C8\uB828\uC5D0 \uAC00\uC838\uC624\uAE30",publisher:"\uAC8C\uC2DC\uC790",time:{justNow:"\uBC29\uAE08 \uC804",minutesAgo:"{{n}}\uBD84 \uC804",hoursAgo:"{{n}}\uC2DC\uAC04 \uC804",daysAgo:"{{n}}\uC77C \uC804",weeksAgo:"{{n}}\uC8FC \uC804",monthsAgo:"{{n}}\uAC1C\uC6D4 \uC804",yearsAgo:"{{n}}\uB144 \uC804"},badge:{shared:"\uB9D0\uADC0\uC790\uB8CC\uC2E4"}},Wf={manage:{unit:"\uAC74"}},qf={cancelLabel:"\uCDE8\uC18C"},Uf={steps:"\uC9C4\uD589 \uB2E8\uACC4 {{current}} / {{total}}"},Gf={panelTitle:"\uD6C8\uB828 \uC624\uB2F5",viewItems:"\uBB38\uD56D",viewTypes:"\uC720\uD615",colPending:"\uB0A8\uC740 \uAC83",colTrend:"\uBCC0\uD654",colRuns:"\uD310",unitItem:"\uAC1C",skippedOnly:"\uC61B \uAE30\uB85D {{n}}\uAC74\uC740 \uBB34\uC5C7\uC744 \uD47C \uAC83\uC778\uC9C0 \uC548 \uB0A8\uC544 \uC788\uC5B4 \uC148\uC5D0\uC11C \uBE90\uC2B5\uB2C8\uB2E4.",summaryLabel:"\uC313\uC778 \uAE30\uB85D",summaryValue:"{{items}}\uBB38\uD56D \xB7 \uC544\uC9C1 \uBABB \uC7A1\uC740 \uAC83 {{pending}}\uAC1C",nextLabel:"\uB2E4\uC74C\uC5D0 \uBCFC \uAC83",nextCount:"{{count}}\uAC1C",nextCountCapped:"{{total}}\uAC1C \uC911 {{shown}}\uAC1C",picked:"\u2192 {{what}}",typeClear:"\uB2E4 \uC7A1\uC558\uC5B4\uC694",typePending:"{{total}}\uAC1C \uC911 {{pending}}\uAC1C \uB0A8\uC74C",flat:"\uBCC0\uD654 \uC5C6\uC74C",runs:"{{count}}\uD310",avgDuration:"\uD3C9\uADE0 {{sec}}\uCD08"},Kf={resetColumns:"\uCE78 \uB108\uBE44 \uCD08\uAE30\uD654"},Yf={panelTitle:"\uB2E8\uC5B4\uD45C \uCC44\uC810",viewWords:"\uB0B1\uB9D0",viewTables:"\uD45C",colLatest:"\uB9C8\uC9C0\uB9C9",colTrend:"\uBCC0\uD654",unitTime:"\uD68C",summaryLabel:"\uC313\uC778 \uCC44\uC810",summaryValue:"{{times}}\uD68C \xB7 \uB0B1\uB9D0 {{words}}\uAC1C",nextLabel:"\uB2E4\uC74C\uC5D0 \uBCFC \uAC83",nextCount:"{{count}}\uAC1C",allClear:"\uC9C0\uB09C\uBC88\uC5D0 \uBAA8\uB450 \uB9DE\uD614\uC2B5\uB2C8\uB2E4.",times:"{{count}}\uD68C",flat:"\uBCC0\uD654 \uC5C6\uC74C",recentLabel:"\uCD5C\uADFC \uCC44\uC810",nextCountCapped:"{{total}}\uAC1C \uC911 {{shown}}\uAC1C"},Zf={ariaLabel:"\uBC30\uB108",dotAriaLabel:"{{count}}\uAC1C \uC911 {{index}}\uBC88\uC9F8 \uBC30\uB108"},Xf={selectYearMonth:"\uC5F0\uC6D4 \uC120\uD0DD",chooseDate:"\uB0A0\uC9DC \uC120\uD0DD"},Jf={previewRegion:"\uBCF4\uACE0\uC11C \uBBF8\uB9AC\uBCF4\uAE30 \u2014 \uC88C\uC6B0\uB85C \uAD74\uB824 \uBCFC \uC218 \uC788\uC2B5\uB2C8\uB2E4"},Qf={description:"\uC124\uBA85",textbox:"\uBCF8\uBB38",training:"\uD6C8\uB828 \uC548\uB0B4",menu:"\uBA54\uB274"},eC={devNone:"\uBC1C\uB2EC \uC790\uB8CC \uC5C6\uC74C",place:{labial:"\uC591\uC21C\uC74C",alveolar:"\uCE58\uC870\uC74C",palatal:"\uACBD\uAD6C\uAC1C\uC74C",velar:"\uC5F0\uAD6C\uAC1C\uC74C",glottal:"\uC131\uBB38\uC74C"}},tC={clearSelection:"\uC120\uD0DD \uD574\uC81C"},nC={showResult:"{{type}} \uACB0\uACFC\uBCF4\uAE30"},aC={selected:"\uC120\uD0DD\uB428",remove:"\uC81C\uAC70",exclude:"\uC81C\uC678",nthSelected:"{{n}}\uBC88\uC9F8 \uC120\uD0DD"},rC={loading:"\uBD88\uB7EC\uC624\uB294 \uC911\u2026"},oC={state:{active:"\uC18C\uB9AC \uB098\uB294 \uC911",played:"\uB4E4\uC74C",correct:"\uC815\uB2F5",wrong:"\uC624\uB2F5"}},sC={ariaLabel:"\uC774\uB3D9 \uACBD\uB85C"},iC={empty:"\uB4F1\uB85D\uB41C \uD56D\uBAA9\uC774 \uC5C6\uC2B5\uB2C8\uB2E4."},lC={main:"\uBA54\uC778 \uADF8\uB77C\uB514\uC5B8\uD2B8",soft:"\uC18C\uD504\uD2B8",sub:"\uC11C\uBE0C \uCEEC\uB7EC",deep:"\uB525 \uADF8\uB77C\uB514\uC5B8\uD2B8",softSub:"\uC18C\uD504\uD2B8 \uC11C\uBE0C",warm:"\uC6DC(\uAC15\uC870)",dark:"\uB2E4\uD06C",radial:"\uBC29\uC0AC\uD615 \uADF8\uB77C\uB514\uC5B8\uD2B8",diagonal:"\uB300\uAC01\uC120 \uD328\uD134",dots:"\uB3C4\uD2B8 \uD328\uD134",outline:"\uC544\uC6C3\uB77C\uC778",success:"\uC131\uACF5/\uC644\uB8CC",naver:"\uB124\uC774\uBC84 \uBE14\uB85C\uADF8 \uC548\uB0B4",instagram:"\uC778\uC2A4\uD0C0\uADF8\uB7A8 \uC548\uB0B4"},cC={common:G2,calendar:K2,passCard:Y2,searchField:Z2,rating:X2,colorPicker:J2,dropdown:Q2,accordion:ef,header:tf,nav:nf,settings:af,usage:rf,account:of,help:sf,training:lf,trainingSettings:cf,customers:uf,payment:df,coupons:pf,visits:mf,company:hf,trainingType:ff,myWordTraining:Cf,myWordTable:gf,keyWords:bf,wordTable:yf,wordSearch:vf,wordPrint:xf,topic:_f,accessLinkManager:wf,login:kf,trainingPlanRun:Af,device:Bf,manager:Nf,wordPairs:Df,game:Sf,footer:Ef,landing:Tf,date:jf,trainingSetPage:Mf,wordTrainingPreview:Lf,wordData:$f,textField:Rf,segmentedControl:Pf,tabs:If,fileUpload:Ff,avatar:Of,myHomework:Vf,trainingStatus:Hf,store:zf,homework:Wf,inquiry:qf,progress:Uf,trainingMiss:Gf,table:Kf,wordScore:Yf,topBanner:Zf,datePicker:Xf,report:Jf,tooltip:Qf,phonemeProfile:eC,bulkBar:tC,debug:nC,badge:aC,loader:rC,soundCompass:oC,breadcrumb:sC,board:iC,promoBannerBg:lC},uC={statusFilter:"Filter by status",pageSizeSelect:"Items per page",selectedCount_one:"{{count}} selected",selectedCount_other:"{{count}} selected",moreFor:"More options for {{name}}",cancel:"Cancel",info:"Info",errorState:{message:"Couldn't load this.",retry:"Try again"},save:"Save",confirm:"Confirm",close:"Close",back:"Back",emptyTrainingName:"Training name is empty.",remove:"Remove",image:"Image",delete:"Delete",reset:"Reset",update:"Update",download:"Download",search:"Search",empty:"No data.",yes:"Yes",no:"No",all:"All",none:"None",days_one:"{{count}} day",days_other:"{{count}} days",loadMore:"Load More",retry:"Try Again",prevPage:"Previous page",nextPage:"Next page",play:"Play",pause:"Pause",playPause:"Play / Pause",replay:"Replay",subscription:"Subscription",done:"Done",failed:"Failed",continue:"Continue",notification:"Notice",emptyList:"No items",menu:"Menu",resetSelection:"Reset Selection",pageSizeLabel:"Show {{n}}",totalCountPrefix:"Total: ",totalCountSuffix:"",expand:"Expand",collapse:"Collapse",popup:"Popup",more:"More",codeBlock:"Code block",totalPrefix:"",copyCode:"Copy code",copied:"Copied",col:{problem:"Question"},phonetics:{place:{labial:"Bilabial",alveolar:"Alveolar",palatal:"Palatal",velar:"Velar",glottal:"Glottal"},vowel:{frontHigh:"Front high vowel",backHighUnrounded:"Back high unrounded vowel",backHighRounded:"Back high rounded vowel",frontMid:"Front mid vowel",backMidUnrounded:"Back mid unrounded vowel",backMidRounded:"Back mid rounded vowel",low:"Low vowel"},glide:{j:"j-glide",w:"w-glide",velar:"\u0270-glide"}},unknownError:"Unknown error",networkError:"The network connection is unstable. Check your connection and try again."},dC={rangeSelect:"Select period",dow:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],yearMonth:"{{month}}/{{year}}",prevMonth:"Previous month",addOnDate:"Add a visit on {{date}}",nextMonth:"Next month",prevWeek:"Previous week",nextWeek:"Next week",legend:{visited:"Visited",scheduled:"Scheduled",noVisit:"No Show"},periodSelect:"Period unit"},pC={planSuffix:"Plan",labeledPlan:"{{label}} Plan",couponCode:"Pass Code",specialLabel:"Open Special",unitDay:"d",unitYear:"yr",remainingDay:"{{n}}d left",remainingHour:"{{n}}h left",remainingMinute:"{{n}}m left",remainingSecond:"{{n}}s left",menu:{use:"Activate",refund:"Refund",delete:"Delete"}},mC={clearAriaLabel:"Clear search"},hC={starLabel:"Select star {{n}}",valueLabel:"{{value}} out of {{max}}",groupLabel:"Rating"},fC={selected:"selected"},CC={placeholder:"Select"},gC={collapse:"Collapse",expand:"Expand"},bC={biArea:"BI area",biSymbol:"BI symbol",logoMalgwi:"Malgwi logo",logoManager:"Malgwi Manager logo",menuOpen:"Open menu",utilMenu:"Utility menu",menuClose:"Close menu"},yC={mainMenu:"Main menu",bottomNav:"Bottom navigation",goToManager:"Go to Malgwi Manager",goToMalgwi:"Go to Malgwi",modeLabelManager:"Malgwi Manager",modeLabelMalgwi:"Malgwi",training:"Training",settings:"Settings",notifications:"Notifications",account:"Account",help:"Help",debug:"Debug",coupons:"Coupons",topic:"By Topic",trainingType:"By Training Type",wordPairs:"Word Pairs",wordSearch:"Word Search",wordTable:"Word Table Creator",company:"Company Info",more:"More",moreMenu:"More menu",badgeLabel:"{{label}}, {{count}}"},vC={language:{training:{label:"Training Language",sub:"Language used for training words and speech"}},notifications:{title:"Notifications"},display:{fontSize:{small:"Small",large:"Large"}},cache:{title:"Cache Management",confirmMessage:"Delete cache ({{size}}). Do you want to continue?",delete:"Delete",deleting:"Deleting",cleared:"Cache cleared successfully.",group:{wordData:{label:"Word Data",sub:"Word list and version info"},pairIndex:{label:"Pair Index",sub:"Onset\xB7vowel\xB7coda minimal pair analysis cache"},imageCache:{label:"Image Cache",sub:"Word image existence check results"},trainingRecord:{label:"Training Record",sub:"Daily training progress and streak"}}},button:{save:"Save Settings"},popup:{clear:{confirm:"Reset"},update:{confirm:"Update"},cache:{title:"Delete {{label}}",message:"Delete {{label}} ({{size}}). Do you want to continue?"}},saved:"\u2713 Saved",account:{title:"Account",delete:{sub:"You can restore your account within 30 days of withdrawal."}}},xC={addButton:"Add Subscription",couponButton:"Enter Coupon",active:{infoTitle:"Subscription Info",refund:"Request Refund",startDate:"Start Date",endDate:"End Date",remaining:"Remaining"},pending:{title:"Pending",empty:"No pending subscriptions."},loading:"Loading\u2026",segment:{personal:"Malgwi",org:"Malgwi Manager"},org:{title:"Current Plan",disc:"Subscription plan in use by your organization.",empty:"No organization plan registered.",fallbackTitle:"Organization Plan",startDate:"Start Date",endDate:"End Date",remaining:"Remaining",duration:"Duration"}},_C={profile:{planSuffix:"",plan:"Plan"},basicInfo:{name:{placeholder:"John Doe"}},security:{title:"Security",password:{label:"Password",currentRequired:"Enter your current password.",newRequired:"Enter a new password.",mismatch:"The new passwords do not match.",changed:"Your password has been changed."},twoFactor:{label:"Two-Factor Authentication",sub:"Strengthen your account security"}}},wC={guide:{faq:{title:"FAQ",desc:"View all frequently asked questions"}}},kC={settings:"Settings",start:{title:"Start Word Training",description:"Select a training type below to begin"},difficulty:{tooltip:"The easiest difficulty is 'Random', the hardest is 'Initial Consonant Difference'."},contrast:{label:"Contrast",type:"Contrast Type",count:"Contrast Count",n:"{{n}}"},filter:{random:"Random",trainOnset:"Onset",trainVowel:"Vowel",trainCoda:"Coda",phonemeGroup:"Training phonemes",noLimit:"Any",codaExclude:"Exclude",gradeLabel:"Grade",excludeImageInfo:"Only words with images: keeps only results with a registered word image.",sameStructureInfo:"Only same phoneme structure: keeps only pairs where the correct and wrong answers share the same syllable structure (length, batchim, etc.).",selectSection:"Select",excludeImage:"Only words with images",sameStructure:"Only same phoneme structure"},noQuestions:"No questions available.",countQuestions:"{{n}} questions",countSentences:"{{n}} sentences",comingSoon:"Coming Soon",nextQuestion:"Next",noiseRatioTitle:"Noise Ratio",noiseRatioValue:"{{ratio}}\xD7",noiseTypeTitle:"Noise Type",playVolumeTitle:"Volume",playSpeedTitle:"Speed",meter:{sentence:"Playback",noise:"Noise",toggle:"Show Audio Meter"},viewResult:"View Results",problemNotice:"Problem {{n}}.",trainingSettingsTitle:"Training Settings",sentencePreview:"Sentence Preview",notHeard:"Didn't hear it.",heardWell:"Heard it well.",confirmTitle:"Check the sentence and select whether you heard it.",noSoundWaveform:"Waveform is not shown for sound-comparison questions.",noise:{level:{none:"None",weak:"Weak",medium:"Medium",strong:"Strong",veryStrong:"Very Strong"},type:{none:"None",default:"Default",street:"Street",buzz:"Buzzing",restaurant:"Restaurant"}},listenTitle:"Please listen to the sentence.",listenButton:"Listen",playSound:"Play Sound",playAll:"Play All",selectInOrder:"Select the cards in the order you heard.",stop:"Stop",preview:"Preview",next:"Next",completed:"Completed",selected:"Selected",nthSelected:"Selection {{n}}",fontSizeMin:"Font size is at the minimum.",fontSizeMax:"Font size is at the maximum.",fontSizeDecrease:"Decrease font size",fontSizeIncrease:"Increase font size",toggleBackground:"Toggle background",cardInstructions:"Look at the word card, listen to the sound, and check it.",noCards:"No cards.",audioFetchError:"Failed to load the sound source.",ttsUnavailable:"Speech playback isn't available on this device.",selectConfirm:"Look at the question and select the answer.",orderListDefault:"Arrange the sentences in the order you heard.",result:{pendingDone:"Results are still being calculated, so you can't finish yet.",eyebrow:"Training Complete",title:"You've finished all the training!",scoreAria:"{{correct}} / {{total}} questions",elapsed:"Time Elapsed",summary:"You heard {{correct}} item(s) correctly.",tableAriaLabel:"Per-question judgement",colJudge:"Judgement",colAnswerSelected:"Answer \xB7 Selected",colAnswer:"Answer",colSelected:"Selected",heardWell:"Heard well",notHeard:"Didn't hear",notJudged:"Not judged",replay:"Replay",done:"Done",viewResult:"View Results",noContent:"(No content)"},up:"Move up",down:"Move down",prev:"Previous",listenLabel:"Listen",sourcePlay:"Play source {{n}}",listen:"Listen",audioStatus:{idle:"Idle",resolving:"Resolving\u2026",checking_exists:"Checking file\u2026",getting_signed_url:"Getting URL\u2026",downloading:"Downloading\u2026",measuring_duration:"Measuring length\u2026",ready:"Ready",error:"Error"}},AC={totalCount:" training bundles",sort:{customers:"Customers"},copyLink:"Copy Link",removeLink:"Remove Link",linkRemoved:"Link removed.",linkSaveFirst:"Please save the training bundle first.",linkSaveFirstHint:"You can only create a shared link from a saved training bundle.",linkCopySelect:"Copy blocked \u2014 link selected. Press Ctrl/\u2318+C to copy.",nameRequired:"Please enter a training bundle name.",itemRequired:"Please add at least one training item.",randomAdd:"Random Add",menu:{publish:"Post to Store",duplicate:"Duplicate Training Bundle",edit:"Edit Training Bundle",move:"Move Group",rename:"Rename"},itemCount:"Number of Items",renameGroup:"Rename Group"},BC={totalCount:" customers",loadError:"Failed to load list",basicInfo:{editTooltip:"Edit"},member:{placeholder:"Email or phone",link:"Link",linking:"Linking\u2026"},device:{title:"Hearing Devices",addTooltip:"Add New",addButton:"Add device",listTooltip:"View List",listTitle:" Device List",historyEmpty:"No device history registered",wearing:" in use",notRegistered:"Not registered",unit:"",wearingNow:"In use",wear:"Wear",unwear:"Remove",wornSince:"Since {{date}}",release:"Release",historyTitle:"Hearing device history"},schedule:{title:"Upcoming Visits",addTooltip:"Add Schedule",listTooltip:"View All",empty:"No upcoming visits",registerTitle:" Register Schedule",memoPlaceholder:"Enter a memo for this visit."},visitHistory:{title:"Visit History",addTooltip:"Add Visit",empty:"No visit history yet",popupTitle:" Visit History",registerTitle:" Register Visit"},moreItems:"more",viewAll:"View All",visits:{title:"Visits"},trainingRecord:{title:"Customer Training Records"},status:{trainingSubtitle:"Training Status"},detail:{session:{completedFmt:"Done {{done}}/{{total}} \xB7 {{duration}}"},visitSuffix:" visits"},homework:{active:"Active",copied:"Link copied.",copy:"Copy Link",inactive:"Inactive",title:"Homework Progress"},duration:{minSec:"{{m}}m {{s}}s",min:"{{m}}m",sec:"{{s}}s"}},NC={plan:{recommendedFor:"Recommended for",features:"Key Features",freePrice:"Free",contact:"Contact Us",tierFallback:"Plan",openPromo:"Launch offer"},products:{mgrEnterprise:{tier:{price:"Contact us"}}}},DC={title:"Coupons",subtitle:"Enter a coupon code or view your coupons",input:{label:"Coupon code",placeholder:"Enter coupon code"},applyButton:"Apply",error:{invalid:"Invalid coupon code.",alreadyUsed:"This coupon has already been used."},success:{applied:'"{{name}}" coupon applied.'},section:{owned:"My Coupons"},status:{used:"Used",available:"Available"}},SC={unitVisit:"",periodAll:"All",showN:"Show {{n}}"},EC={subtitle:"Manage company and business information",editButton:"Edit Info",basicInfo:{title:"Basic Info"},contactInfo:{title:"Contact Info"}},TC={title:"Training by Type",subtitle:"Select the training type you want",listenInNoise:{title:"Sentence Listening in Noise",desc:"Train sentence comprehension in various noise environments."},shortStory:{title:"Short Story Listening",desc:"Listen to short stories and understand the content."},longStory:{title:"Long Story Listening",desc:"Focus on listening to long stories and grasp the content."},orderingSentence:{title:"Sentence Ordering",desc:"Arrange heard sentences in the correct order."},SAME_SOUND_PICK:{label:"Listen & Pick Same Sound",sub:"Pick the word card that matches what you heard."},SAME_OR_DIFF:{label:"Same or Different?",sub:"Decide whether the two sounds are the same or different."},HEAR_AND_PICK_SAME:{label:"Hear & Match Word",sub:"Pick the word card that matches the sound you heard."},HEAR_AND_PICK_INCLUDED:{label:"Find Word Containing Sound",sub:"Pick the word card that contains the syllable you heard."},STARTS_WITH_SAME_SOUND:{label:"Find Word Starting with Same Sound",sub:"Pick a word that starts with the same sound as what you heard."},LISTEN_AND_REMEMBER_ORDER:{label:"Listen & Recall Order",sub:"Select the cards in the order you heard the three words."},MERGE_2_SYLLABLES:{label:"Combine 2 Syllables",sub:"What word do two syllables make?"},MERGE_3_SYLLABLES:{label:"Combine 3 Syllables",sub:"What word do three syllables make?"},MERGE_2_PHONEMES:{label:"Combine 2 Phonemes",sub:"What sound do two phonemes make?"},MERGE_3_PHONEMES:{label:"Combine 3 Phonemes",sub:"What sound do three phonemes make?"},DROP_1_FROM_2SYLL:{label:"Drop 1 Syllable from 2-Syllable",sub:"What sound remains when you remove a syllable from a 2-syllable word?"},DROP_1_FROM_3SYLL:{label:"Drop 1 Syllable from 3-Syllable",sub:"What sound remains when you remove a syllable from a 3-syllable word?"},DROP_PART_FROM_COMPOUND:{label:"Drop Part of Compound Word",sub:"What word remains when you remove part of a compound word?"},DROP_FINAL_CONSONANT_FROM_1SYLL:{label:"Drop Final Consonant",sub:"What sound remains when you remove the final consonant?"},REMOVE_CONSONANT_AND_IDENTIFY_PHONEME:{label:"Drop Consonant",sub:"What sound remains when you remove the consonant?"},CHANGE_1_SYLL_IN_2SYLL:{label:"Change 1 Syllable (2-Syllable)",sub:"Change one syllable in a 2-syllable word to make a new word."},CHANGE_1_SYLL_IN_3SYLL:{label:"Change 1 Syllable (3-Syllable)",sub:"Change one syllable in a 3-syllable word to make a new word."},CHANGE_1_PHONEME_IN_1SYLL:{label:"Change 1 Phoneme (1-Syllable)",sub:"Change one phoneme in a 1-syllable word to make a new sound."},CHANGE_1_PHONEME_IN_2SYLL:{label:"Change 1 Phoneme (2-Syllable)",sub:"Change one phoneme in a 2-syllable word to make a new word."}},jC={comingSoon:"Word training is coming soon."},MC={colName:"Table Name",open:"Open",countSuffix:" tables",addCard:"Add Word Table Card",cardsEmpty:"No word table cards created yet.",menu:{publishStore:"Post to Training Store",unpublishStore:"Remove from Training Store"},newBadge:"Newly created",tab:{cards:"Word Table Cards",tables:"Word Tables"},publishedBadge:"Published",sharedBadge:"Shared"},LC={title:"Key Words",empty:"No key words available."},$C={defaultName:"Word Table",title:"Word Table Builder",subtitle:"Set columns and add words to build a table.",filterTitle:"Table Settings",filter:{composition:"Composition",image:"Image",word:"Word",standardPron:"Standard Pronunciation",colloquialPron:"Colloquial Pronunciation",paperOrientation:"Paper Orientation",landscape:"Landscape",portrait:"Portrait",columns:"Columns",column:"{{count}} col",itemsPerPageWord:"Words per page",itemsPerPagePair:"Pairs per page",itemsPerPageOption:"{{count}}",pageIndicator:"{{current}} / {{total}}",pageNumber:"Page Number",pageNumberLeft:"Left",pageNumberCenter:"Center",pageNumberRight:"Right",border:"Border",cutLine:"Cut Line",show:"Show",hide:"Hide",dotted:"Dotted",corner:"Corner"},addWord:"Add",wordInfo:"Info for {{word}}",emptyItems:"Please add at least one word.",load:"Load",openNewWindow:"Open in New Window",saveButton:"Save",saveAsNewButton:"Save as New",print:"Print",popupBlocked:"Popup was blocked. Please allow popups in your browser settings.",printFileNameSingle:"Word Table",printFileNamePair:"Contrast Pair Table",save:{title:"Save Word Table",nameLabel:"Name",desc:"Enter a name for the word table.",placeholder:"Enter a title for this word table.",descriptionLabel:"Description",descriptionPlaceholder:"Enter a description for this word table.",duplicateName:"This name is already in use.",nameRequired:"Please enter a table name.",autoFillHint:" (Press Tab or Space to autofill)",copyName:"{{name}} (copy)"},loadTable:{title:"Load Saved Word Table",empty:"No saved word tables.",loadButton:"Load",itemCount:"{{count}} words",deleteAriaLabel:"Delete {{name}}",sort:{newest:"Newest",oldest:"Oldest",name:"Name",count:"Word Count"},view:{grid:"Grid View",list:"List View"}},groupDeleteMessage:"Word tables in this group will be moved to 'No Group'.",groupNamePlaceholder:"Group name",store:{badge:"Training Store"},card:{sub:"Word Table Card",empty:"No word tables in this card."},toast:{renameError:"Failed to rename",saveError:"Failed to save",deleteError:"Failed to delete",duplicateError:"Failed to duplicate",saveSuccess:"Word table saved."},scoring:{o:"{{word}} correct",triangle:"{{word}} partial",x:"{{word}} incorrect",button:"Score",pickTitle:"Who are you scoring?",pickSubtitle:"Choose the customer who trained with \u201C{{name}}\u201D.",pickSearch:"Search by name or phone",pickEmpty:"No customers registered.",pickNoMatch:"No matching customer.",pickAgain:"Choose another",scoringFor:"Scoring {{name}}",none:"Tap a cell to mark \u25CB \xB7 \u25B3 \xB7 \u2715.",tally:"{{marked}} scored \xB7 \u25CB {{o}} \xB7 \u25B3 {{triangle}} \xB7 \u2715 {{x}} \xB7 {{rate}}%",save:"Save score",saved:"Saved {{count}} marks for {{name}}.",reviewTitle:"Create a review table?",reviewMessage:"Builds a new table from the {{count}} cells {{name}} got wrong or partial. Correct ones are left out.",reviewConfirm:"Create review table",reviewDescription:"Cells marked wrong or partial in \u201C{{name}}\u201D \u2014 {{count}} of them.",reviewCreated:"Created \u201C{{name}}\u201D \u2014 {{count}} cells.",discardTitle:"Discard this scoring?",discardMessage:"You marked {{count}} cells but have not saved. Leaving discards them.",discardConfirm:"Discard and leave"},info:{grade:"Grade: {{n}}",syllables:"Syllables: {{n}}",pos:"Part of speech: {{v}}",wordType:"Type: {{v}}"},pos:{noun:"Noun",verb:"Verb",adjective:"Adjective",adverb:"Adverb",numeral:"Numeral",determiner:"Determiner",interjection:"Interjection",particle:"Particle",affix:"Affix",dependentNoun:"Dependent noun",pronoun:"Pronoun",auxVerb:"Auxiliary verb",auxAdjective:"Auxiliary adjective"},reorder:{moved:"Moved to position {{n}} of {{total}}",handle:"Reorder {{word}} (Alt + arrow keys)",hint:"Alt + \u2190 \u2192 to reorder"}},RC={editBanner:{message:"Saving will update the word table you're editing."},filterTitle:"Word Search Settings",filter:{positionAny:"Any",positionHead:"Start",positionMid:"Middle",positionTail:"End",difficulty:"Grade",grade:"Grade {{n}}",syllables:"Syllables",syllable:"{{n}} Syll.",syllable5plus:"5+ Syllables",partOfSpeech:"Part of Speech",pos:{noun:"Noun/Numeral",verb:"Verb/Adjective",modifier:"Adverb/Determiner"},wordType:"Word Type",type:{native:"Native Korean",sino:"Sino-Korean",foreign:"Loanword",mixed:"Hybrid"},exclude:"Exclude",excludeNoImage:"No Image"},searchButton:"Search",resultUnit:"words",remaining:"{{count}} remaining",resultDisc:"Select {{unit}}. Up to {{max}} items. ({{selected}}/{{max}})",resultTitlePrefix:"",resultTitleSuffix:" {{unit}} found.",emptyResult:"No results found.",groupCount:"{{count}}",sort:{aria:"Sort",match:"Best Match",ganada:"A\u2013Z \u2191",ganadaDesc:"A\u2013Z \u2193",syllable:"Syllables \u2191",syllableDesc:"Syllables \u2193",grade:"Grade \u2191",gradeDesc:"Grade \u2193",original:"Original order"},pageSize:"Show {{count}}",pageSizeAria:"Page size",popup:{title:"Select a word for cell {{n}}"}},PC={clearAllSelection:"Clear All Selections",divLine:"Contrast Line",removePair:"Remove pair",removeWord:"Remove word"},IC={title:"By Topic",subtitle:"Select a topic to start listening training",noiseTitle:"Sentence Listening in Noise",shortStoryTitle:"Short Story Listening",FOOD:"Food",HLTH:"Health",WETH:"Weather",PRSN:"People",KRCT:"Korean Culture",STRY:"Stories",LOCA:"Locations",SOAR:"Society & Arts",NTSC:"Nature & Science",SPRT:"Sports",sub:{TRKRFD:"Traditional Korean Food",MDKRFD:"Modern Korean Food",WRLDFD:"World Cuisine",MTRFRT:"Ingredients & Fruits",GEFDKL:"Food Facts",HTETHB:"Healthy Eating",DISILL:"Diseases",EXCISE:"Exercise",GEHTKL:"Health Facts",GESSKL:"Seasons",SNWRAN:"Snow & Rain",WTHFCT:"Weather Forecast",GEWTKL:"Weather Facts",JODYPS:"Joseon Dynasty",MDKRPS:"Modern Korea",THKDPS:"Three Kingdoms",WRLART:"World Artists",WRLPSN:"World Figures",KRLANG:"Korean Language",TRPLCT:"Traditional Games",HERITG:"Heritage",EVTFES:"Events & Festivals",GECTKL:"General Knowledge",FRYTAL:"Fairy Tales",AMZING:"Amazing Stories",DAYSTR:"Everyday Stories",KRLDMK:"Korean Landmarks",SELNMK:"Seoul Landmarks",WRDTRB:"World Travel",NAVIGT:"Navigation",KRSOCI:"Korea",ECONEW:"Economy & News",GENART:"Arts",GELFKL:"Life Tips",ANIMAL:"Animals",PLANTS:"Plants",ETHPLT:"Earth",TOLELC:"Tools & Electronics",GESCKL:"Science Facts",INVDSP:"Individual Sports",MARART:"Martial Arts",TEAMSP:"Team Sports",FOOTBL:"Soccer",GESPKL:"Sports Facts"}},FC={maxUses:"Max uses (leave blank for unlimited)",redirect:"Redirect URL (leave blank for app home)",creating:"Creating\u2026",create:"Create link",created:"\u2713 Link created",copied:"Copied!",copy:"Copy",loading:"Loading\u2026",empty:"No links created yet.",uses:"Used {{count}} times",expiresAt:"Expires: {{date}}",createdAt:"Created: {{date}}",confirmDelete:"Delete this link?",deactivate:"Deactivate",delete:"Delete",status:{active:"Active",expired:"Expired",inactive:"Inactive"}},OC={passwordPlaceholder:"Enter password"},VC={direction:{left:"L",right:"R",label:"Side"},wornDate:"Date Worn",deviceType:"Device Type",brand:"Brand",fitType:"Fit Type",productName:"Product Name",validationError:{brandAndProduct:"Please enter brand and product name."},addNew:"Add New Device",selectFromList:"Select from List",removeDevice:"Remove",type:{hearingAid:"Hearing Aid",cochlearImplant:"Cochlear Implant"}},HC={stat:{totalCustomers:"Total Customers",monthlyVisits:"This Month's Visits"},chart:{visitDetail:"Visit Details",trainingDetail:"Training Details",weekly:"Weekly",daily:"Daily",periodMonth:"Month",periodWeek:"Week",weeklyPrefix:"Weekly",monthlyPrefix:"Monthly",visit:"Visits",reservation:"Reservations",trainingDone:"Completed",trainingInProgress:"In Progress",weekRange:"{{start}}\u2013{{end}}",week:"W{{n}}"},subscriptionStatus:{active:"{{pct}}% Active",expired:"{{pct}}% Expired",unused:"{{pct}}% Unused"}},zC={editBanner:{message:"Saving will update the contrast pair table you're editing."},phonemeSelect:{title:"Phoneme Selection",vs:"vs"},caution:"Caution",mode:{include:"Phoneme Include",pick:"Phoneme Contrast",contrast:"Specify Contrast",infoTitle:"Contrast Mode",infoInclude:"Include \u2014 finds words containing all selected phonemes, plus their minimal pair.",infoPick:"Contrast \u2014 matches only if the selected phoneme is the actual point of difference in the pair.",infoContrast:"Specify Contrast \u2014 directly choose phonemes for the base word and the contrasting word to find pairs."},count:"{{n}}",input:{char:"Choose Letters",pron:"Choose Sound",infoTitle:"Input mode",infoChar:"Choose Letters \u2014 finds words by the selected phonemes (spelling), then finds their standard-pronunciation contrast pairs.",infoPron:"Choose Sound \u2014 finds standard-pronunciation contrast pairs directly from the selected phonemes."},phonemeN:"Syllable {{n}}",phonemeSingleLabel:"Syllable",phonemeContrastSingleLabel:"Contrast Syllable",ordinals:["First","Second","Third","Fourth"],phonemeOrdinalLabel:"{{ordinal}} Syllable",phonemeContrastOrdinalLabel:"Contrast {{ordinal}} Syllable",composition:"Answer Word Composition",syllableCount:"Syllables",syllableN:"{{n}} syll.",syllableNPlus:"{{n}}+ syll.",onset:"Onset",vowel:"Vowel",coda:"Coda",filter:{searchOptionsTitle:"Contrast Settings",searchModeLabel:"Contrast Mode",countLabel:"Input Syllable Count",inputModeLabel:"Input mode",phonemeOrder:"Input Syllable Position",phonemeOrderInfo:["Match: the pair must differ at exactly the same position (syllable).","Any: the differing position doesn't matter."],orderAny:"Any",orderMatch:"Match",difficultyInfo:"Reflects the National Institute of Korean Language's basic vocabulary grade.",selectLabel:"Select",onlyHasImage:"Only words with images",onlySameStructure:"Only same phoneme structure"},searchLabel:{error:"Failed to load data",loading:"Loading\u2026"},confirmMessage:"The word table with {{count}} selected {{unit}} will be lost.",resetOptions:"Reset Options",phonemeContrast:"Contrast Syllable {{n}}",infoNotes:["The preview character is an example of the selected phoneme combination. The actual search covers all words containing the phoneme.","Initial consonant '\u3147' cannot be selected. \u3147 at the start of a word is effectively silent.","If only onset and coda are selected, the vowel is automatically displayed as '\u314F'.","Increasing the phoneme count searches for minimal pairs between each phoneme."]},WC={sentenceTyping:{roundCount:"{{rounds}} rounds \xB7 {{timeLimit}}s each"},wordDefense:{me:"Me"},dictation:{title:"Dictation",desc:"Practice writing down exactly what you hear.",comingSoon:"Coming soon: audio playback, input field, answer comparison"},result:{heading:"Level {{number}} Answer",retry:"Try Again"},common:{accuracy:"{{pct}}% accuracy"},soundMatch:{title:"Sound Match",desc:"Quickly match words or sentences that share the same sound.",comingSoon:"Coming soon: play button, timer, score tracking"},orderSequence:{title:"Sentence Ordering",desc:"Arrange scattered sentence fragments in the correct order.",comingSoon:"Coming soon: sentence sets, ordering interface"},speedListen:{title:"Speed Listen",desc:"A challenge game to count the number of words in a sentence within a time limit.",comingSoon:"Coming soon: time limit, scoreboard"},noiseChallenge:{title:"Noise Challenge",desc:"Practice distinguishing sentences amid background noise.",comingSoon:"Coming soon: various noise levels, score tracking"},fastListen:{title:"Fast Listen",desc:"Listen to short sentences at speed and select the key word.",comingSoon:"Coming soon: speed by difficulty, timer"},shadowing:{title:"Shadowing",desc:"Practice pronunciation and intonation by repeating sentences aloud.",comingSoon:"Coming soon: playback, recording, comparison feedback"},phonemeHunt:{title:"Phoneme Hunt",desc:"Find words that contain a specific phoneme (sound).",comingSoon:"Coming soon: phoneme filter, hint feature"}},qC={lead:`IHAB builds trust
835
835
  through sound
836
- and aids recovery.`,site:{title:"Site",malgwi:"Malgwi",soundDirection:"Sound Direction System",vrSoundDirection:"VR Sound Direction System",hearingTest:"Hearing Test Pro"},sns:{title:"SNS",naverBlog:"Naver Blog",kakao:"KAKAO Talk Open Chat"},policy:{title:"Policy",terms:"Terms of Service",privacy:"Privacy Policy"},ceo:"CEO",address:"Address",support:"Support",ceoName:"Ji-hye Han",addressValue:"302, 3F, Haechan Bldg, 32 Siocheong-gil, Chuncheon, Gangwon, Korea"},UC={trainingPhone:{topic:"Gardening",prev:"Prev",next:"Next",speed:"Speed 3",noiseType:"Crowd noise",settings:"Settings",start:{caption:"Press the play (\u25B6) button below and listen carefully. After listening, check the sentence."},feedback:{caption:"Plant the well-grown seedlings in the garden bed and cover them carefully with plastic film."},done:{heardWell:"Heard clearly",listenAgain:"Listen again"}}},GC={timeHM:"{{hh}}:{{mm}}",timeH:"{{hh}}:{{mm}}"},KC={options:"Training Options",difficulty:"Difficulty",exclude:"Exclude",chosung:"Initial Consonant",excludeOptions:{none:"None",noImage:"No Image"}},YC={answer:"Answer",distractor:"Distractor"},ZC={phaseWordDownload:"Download Word Data",phaseImageCheck:"Check Images",phasePairAnalysis:"Analyze Word Pairs",downloadingCount:"Downloading {{n}} words",checkingPage:"Checking page {{page}} list",imageCount:"{{done}} / {{total}} items"},XC={clearAriaLabel:"Clear input"},JC={ariaLabel:"Select tab"},QC={ariaLabel:"Tabs"},eg={dragPrompt:"Drag and drop files here",browseButton:"Choose Files",removeAriaLabel:"Remove {{name}}"},tg={ariaLabel:"User avatar"},ng={relativeDay:{today:"Today",yesterday:"Yesterday",daysAgo:"{{n}}d ago"},reason:{notLoggedIn:"Login required."},list:{title:"Received Homework"},status:{expired:"Expired",done:"Done {{count}}\xD7 \xB7 {{date}}",notDone:"Not done"}},ag={weekly:{title:"Weekly Training",daily:"Daily Listening",crossword:"Crossword"},homework:{title:"Homework Progress",totalRate:"Overall rate",count:"Total",done:"Done",remaining:"Remaining"},today:{tooltipTotal:"Total",tooltipDone:"Done"},filter:{countSuffix:" sessions"},time:{countLabel:"{{n}} sessions",empty:"No training records"},daily:{title:"Today's Listening Record",empty:"No completed sessions"},crossword:{title:"Crossword Quiz",empty:"No completed levels"},visit:{title:"Linked Visit Records"},detail:"Details",trainingType:{LISTEN_IN_NOISE:"Sentence in Noise",SHORT_STORY:"Short Story",LONG_STORY:"Long Story",ORDERING_SENTENCE:"Sentence Ordering"}},rg={import:"Add to my trainings",publisher:"Publisher",time:{justNow:"just now",minutesAgo:"{{n}}m ago",hoursAgo:"{{n}}h ago",daysAgo:"{{n}}d ago",weeksAgo:"{{n}}w ago",monthsAgo:"{{n}}mo ago",yearsAgo:"{{n}}y ago"},badge:{shared:"Store"},publish:{descPlaceholder:"One-line description for the Training Store (optional)"}},og={manage:{unit:"item(s)"}},sg={cancelLabel:"Cancel"},ig={subtitle:"Select a topic to start listening practice."},lg={steps:"Step {{current}} of {{total}}"},cg={panelTitle:"Training misses",viewItems:"Items",viewTypes:"Types",colPending:"Left",colTrend:"Change",colRuns:"Runs",unitItem:" items",skippedOnly:"{{n}} older record(s) were excluded \u2014 they do not say what was answered.",summaryLabel:"Recorded",summaryValue:"{{items}} items \xB7 {{pending}} still missed",nextLabel:"Next to work on",nextCount:"{{count}}",nextCountCapped:"{{shown}} of {{total}}",picked:"\u2192 {{what}}",typeClear:"All caught up",typePending:"{{pending}} of {{total}} left",flat:"no change",runs:"{{count}} run(s)",avgDuration:"{{sec}}s avg"},ug={resetColumns:"Reset column widths"},dg={panelTitle:"Word table scores",viewWords:"Words",viewTables:"Tables",colLatest:"When",colTrend:"Change",unitTime:" times",summaryLabel:"Scored",summaryValue:"{{times}} times \xB7 {{words}} words",nextLabel:"Focus next",nextCount:"{{count}}",allClear:"All correct last time.",times:"{{count}}x",flat:"no change",recentLabel:"Recent scorings",nextCountCapped:"{{shown}} of {{total}}"},pg={ariaLabel:"Banner",dotAriaLabel:"Banner {{index}} of {{count}}"},mg={selectYearMonth:"Select year and month",chooseDate:"Choose a date"},hg={previewRegion:"Report preview \u2014 scrollable sideways"},fg={description:"Description",textbox:"Text",training:"Training guide",menu:"Menu"},Cg={devNone:"No acquisition data",place:{labial:"Bilabial",alveolar:"Alveolar",palatal:"Palatal",velar:"Velar",glottal:"Glottal"}},gg={clearSelection:"Clear selection"},bg={showResult:"Show {{type}} result"},yg={selected:"Selected",remove:"Remove",exclude:"Excluded",nthSelected:"Selection {{n}}"},vg={loading:"Loading"},xg={state:{active:"playing",played:"heard",correct:"correct",wrong:"wrong"}},_g={ariaLabel:"Breadcrumb"},wg={empty:"No items yet."},kg={main:"Main gradient",soft:"Soft",sub:"Sub color",deep:"Deep gradient",softSub:"Soft sub",warm:"Warm (accent)",dark:"Dark",radial:"Radial gradient",diagonal:"Diagonal pattern",dots:"Dot pattern",outline:"Outline",success:"Success / done",naver:"Naver blog notice",instagram:"Instagram notice"},Ag={common:uC,calendar:dC,passCard:pC,searchField:mC,rating:hC,colorPicker:fC,dropdown:CC,accordion:gC,header:bC,nav:yC,settings:vC,usage:xC,account:_C,help:wC,training:kC,trainingSettings:AC,customers:BC,payment:NC,coupons:DC,visits:SC,company:EC,trainingType:TC,myWordTraining:jC,myWordTable:MC,keyWords:LC,wordTable:$C,wordSearch:RC,wordPrint:PC,topic:IC,accessLinkManager:FC,login:OC,device:HC,manager:VC,wordPairs:zC,game:WC,footer:qC,landing:UC,date:GC,trainingSetPage:KC,wordTrainingPreview:YC,wordData:ZC,textField:XC,segmentedControl:JC,tabs:QC,fileUpload:eg,avatar:tg,myHomework:ng,trainingStatus:ag,store:rg,homework:og,inquiry:sg,trainingPlanRun:ig,progress:lg,trainingMiss:cg,table:ug,wordScore:dg,topBanner:pg,datePicker:mg,report:hg,tooltip:fg,phonemeProfile:Cg,bulkBar:gg,debug:bg,badge:yg,loader:vg,soundCompass:xg,breadcrumb:_g,board:wg,promoBannerBg:kg};const Bg=[{code:"ko",label:"\uD55C\uAD6D\uC5B4"},{code:"en",label:"English"}],zr="ko",Ng="ihab_display_language";function Ci(){if(typeof window>"u")return zr;try{const e=localStorage.getItem(Ng);if(e&&Bg.some(t=>t.code===e))return e}catch{}return zr}function gi(e){try{document.documentElement.lang=e}catch{}}wt.on("languageChanged",gi),gi(Ci()),wt.use(fe.initReactI18next).init({resources:{ko:{translation:cC},en:{translation:Ag}},lng:Ci(),fallbackLng:zr,interpolation:{escapeValue:!1},react:{useSuspense:!1}});function dt(e,t,a){const r=o.useRef(null);return o.useLayoutEffect(()=>{const s=r.current?.parentElement??null;return t(s,e),()=>a(s)},[e,t,a]),r}const ba={title:"--promo-banner-bg-title",description:"--promo-banner-bg-description"},Wr=new WeakMap;function qr(e){if(e)return Wr.get(e)}function Lt(e,t){e&&(e.style.setProperty(ba.title,t.title),e.style.setProperty(ba.description,t.description),Wr.set(e,t))}function $t(e){e&&(e.style.removeProperty(ba.title),e.style.removeProperty(ba.description),Wr.delete(e))}const bi={title:"#ffffff",description:"rgba(255, 255, 255, 0.85)",actionVariant:"default"};function yi(){const e=dt(bi,Lt,$t);return n.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-main","aria-hidden":"true"})}const vi={title:"var(--color-main)",description:"var(--color-gray)",actionVariant:"main"};function xi(){const e=dt(vi,Lt,$t);return n.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-soft","aria-hidden":"true"})}const _i={title:"#ffffff",description:"rgba(255, 255, 255, 0.85)",actionVariant:"main"};function wi(){const e=dt(_i,Lt,$t);return n.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-sub","aria-hidden":"true"})}const ki={title:"#ffffff",description:"rgba(255, 255, 255, 0.85)",actionVariant:"main"};function Ai(){const e=dt(ki,Lt,$t);return n.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-deep","aria-hidden":"true"})}const Bi={title:"var(--color-darkSub)",description:"var(--color-gray)",actionVariant:"main"};function Ni(){const e=dt(Bi,Lt,$t);return n.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-soft-sub","aria-hidden":"true"})}const Di={title:"var(--color-black)",description:"var(--color-darkGray)",actionVariant:"main"};function Si(){const e=dt(Di,Lt,$t);return n.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-warm","aria-hidden":"true"})}const Ei={title:"var(--color-white)",description:"var(--color-lightGray)",actionVariant:"main"};function Ti(){const e=dt(Ei,Lt,$t);return n.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-dark","aria-hidden":"true"})}const ji={title:"#ffffff",description:"rgba(255, 255, 255, 0.85)",actionVariant:"main"};function Mi(){const e=dt(ji,Lt,$t);return n.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-radial","aria-hidden":"true"})}const Li={title:"var(--color-darkMain)",description:"var(--color-gray)",actionVariant:"main"};function $i(){const e=dt(Li,Lt,$t);return n.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-diagonal","aria-hidden":"true"})}const Ri={title:"var(--color-darkSub)",description:"var(--color-gray)",actionVariant:"main"};function Pi(){const e=dt(Ri,Lt,$t);return n.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-dots","aria-hidden":"true"})}const Ii={title:"var(--color-black)",description:"var(--color-gray)",actionVariant:"main"};function Fi(){const e=dt(Ii,Lt,$t);return n.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-outline","aria-hidden":"true",children:n.jsx("span",{className:"promo-banner-bg-outline__dot"})})}const Oi={title:"#ffffff",description:"rgba(255, 255, 255, 0.85)",actionVariant:"main"};function Hi(){const e=dt(Oi,Lt,$t);return n.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-success","aria-hidden":"true"})}const Vi={title:"#ffffff",description:"rgba(255, 255, 255, 0.85)",actionVariant:"sub"};function zi(){const e=dt(Vi,Lt,$t);return n.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-naver","aria-hidden":"true"})}const Wi={title:"#ffffff",description:"rgba(255, 255, 255, 0.85)",actionVariant:"transparent-white"};function qi(){const e=dt(Wi,Lt,$t);return n.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-instagram","aria-hidden":"true"})}const Ht=(e,t,a)=>({key:e,get label(){return wt.t(`promoBannerBg.${e}`,t)},textTone:a}),Dg=[Ht("main","\uBA54\uC778 \uADF8\uB77C\uB514\uC5B8\uD2B8","light"),Ht("soft","\uC18C\uD504\uD2B8","dark"),Ht("sub","\uC11C\uBE0C \uCEEC\uB7EC","light"),Ht("deep","\uB525 \uADF8\uB77C\uB514\uC5B8\uD2B8","light"),Ht("softSub","\uC18C\uD504\uD2B8 \uC11C\uBE0C","dark"),Ht("warm","\uC6DC(\uAC15\uC870)","dark"),Ht("dark","\uB2E4\uD06C","light"),Ht("radial","\uBC29\uC0AC\uD615 \uADF8\uB77C\uB514\uC5B8\uD2B8","light"),Ht("diagonal","\uB300\uAC01\uC120 \uD328\uD134","dark"),Ht("dots","\uB3C4\uD2B8 \uD328\uD134","dark"),Ht("outline","\uC544\uC6C3\uB77C\uC778","dark"),Ht("success","\uC131\uACF5/\uC644\uB8CC","light"),Ht("naver","\uB124\uC774\uBC84 \uBE14\uB85C\uADF8 \uC548\uB0B4","light"),Ht("instagram","\uC778\uC2A4\uD0C0\uADF8\uB7A8 \uC548\uB0B4","light")],Ui={main:yi,soft:xi,sub:wi,deep:Ai,softSub:Ni,warm:Si,dark:Ti,radial:Mi,diagonal:$i,dots:Pi,outline:Fi,success:Hi,naver:zi,instagram:qi};function Gi({storageKey:e="fontScale",baseFont:t=20,minScale:a=.8,maxScale:r=1.4,step:s=.1,lineHeightRatio:i=1.4}={}){const l=x=>Math.max(a,Math.min(r,Number(x))),c=x=>{try{const v=localStorage.getItem(x),k=v?Number(v):1;return Number.isFinite(k)?l(k):l(1)}catch{return l(1)}},[u,d]=o.useState(()=>c(e)),[p,m]=o.useState(e);p!==e&&(m(e),d(c(e))),o.useEffect(()=>{try{localStorage.setItem(e,String(u))}catch{}},[e,u]);const h=x=>{d(typeof x=="function"?v=>l(x(v)):l(x))},g=()=>h(x=>+(x+s).toFixed(6)),C=()=>h(x=>+(x-s).toFixed(6)),b=u<r-Number.EPSILON,_=u>a+Number.EPSILON,f=Math.round(t*u),y=Math.round(f*i);return{scale:u,setScale:h,increase:g,decrease:C,canIncrease:b,canDecrease:_,fontSize:f,lineHeight:y}}function Ki(e,t){const a=ga(t);o.useEffect(()=>{const r=()=>a.current();try{window.addEventListener(e,r)}catch{}return()=>{try{window.removeEventListener(e,r)}catch{}}},[e,a])}const Ur=" \xB7 ",Yi=(()=>{if(typeof document>"u")return"";const e=document.title;return e.includes(Ur)?e.split(Ur).pop()??e:e})(),Sg=o.createContext(!1),In=[];let Zi=null;function Eg(e){const t=o.useContext(Sg);o.useEffect(()=>{if(t||typeof e!="string"||!e)return;In.length===0&&(Zi=document.title);const a={text:Yi?`${e}${Ur}${Yi}`:e};return In.push(a),document.title=a.text,()=>{const r=In.lastIndexOf(a);r>=0&&In.splice(r,1),document.title=In.length?In[In.length-1].text:Zi??document.title}},[e,t])}const Xi=[{value:"10",label:"10\uAC1C\uC529 \uBCF4\uAE30"},{value:"25",label:"25\uAC1C\uC529 \uBCF4\uAE30"},{value:"50",label:"50\uAC1C\uC529 \uBCF4\uAE30"},{value:"100",label:"100\uAC1C\uC529 \uBCF4\uAE30"}],Tg=(()=>{let e=null;return()=>(e||(e=new Intl.Collator("ko")),e)})();function Jn(e,t){return Tg().compare(e,t)}const Va=new Map;function jg(e){const t=Va.get(e);if(t)return t;const a=[],r=/-?\d+(?:\.\d+)?/g;let s=0;for(let i=r.exec(e);i;i=r.exec(e)){let l=i.index,c=i[0];c[0]==="-"&&l>0&&!/\s/.test(e[l-1])&&(l+=1,c=c.slice(1)),l>s&&a.push(e.slice(s,l)),a.push(Number(c)),s=i.index+i[0].length}return s<e.length&&a.push(e.slice(s)),Va.size>5e3&&Va.clear(),Va.set(e,a),a}function Mg(e){if(!/^[\d\s-]+$/.test(e))return null;const t=e.replace(/\D/g,"");return t.length<9||t.length>11?null:t[0]==="0"||t[0]==="1"&&e!==t?t:null}function Lg(e,t){const a=d=>d==null||typeof d=="number"&&Number.isNaN(d)?"":String(d).trim(),r=a(e),s=a(t);if(r===s)return 0;const i=(d,p)=>{if(typeof d=="number"&&!Number.isNaN(d))return[d];const m=Mg(p);return m!==null?[m]:jg(p)},l=i(e,r),c=i(t,s),u=Math.min(l.length,c.length);for(let d=0;d<u;d++){const p=l[d],m=c[d];if(typeof p=="number"&&typeof m=="number"){if(p!==m)return p-m;continue}if(typeof p=="number")return-1;if(typeof m=="number")return 1;const h=Jn(p,m);if(h!==0)return h}return l.length!==c.length?l.length-c.length:Jn(r,s)}const Ji=e=>e==null||typeof e=="number"&&Number.isNaN(e)||typeof e=="string"&&e.trim()==="";function Gr(e,t,a){const r=Ji(e),s=Ji(t);if(r||s)return r===s?0:r?1:-1;const i=Lg(e,t);return a?i:-i}function $g(e,t,a){const{t:r}=fe.useTranslation(),[s,i]=o.useState(()=>{const C=a?.initialPageSize;return C&&Xi.some(b=>b.value===C)?C:"25"}),[l,c]=o.useState(1),[u,d]=o.useState(t);Object.is(u,t)||(d(t),l!==1&&c(1));const p=o.useMemo(()=>Xi.map(C=>({...C,label:r("visits.showN",{n:C.value})})),[r]),m=o.useCallback(C=>{i(C),c(1)},[]),h=Math.max(1,Math.ceil(e.length/Number(s)));(l>h||l<1||!Number.isFinite(l))&&c(Math.min(Math.max(1,Number.isFinite(l)?l:1),h));const g=Math.min(Math.max(1,Number.isFinite(l)?l:1),h);return{pageRows:o.useMemo(()=>e.slice((g-1)*Number(s),g*Number(s)),[e,g,s]),pageSizeProps:{options:p,value:s,onChange:m},paginationProps:{page:g,total:h,onChange:c},setPage:c}}function Rg(e){const[t,a]=o.useState(null),r=o.useRef(t),s=o.useRef(e?.onSortChange);s.current=e?.onSortChange;const i=o.useCallback(u=>{const d=r.current,p=d?.key===u?{key:u,asc:!d.asc}:{key:u,asc:!0};r.current=p,a(p),s.current?.(p)},[]),l=o.useCallback((u,d)=>({label:u,sortDir:t?.key===d?t.asc?"asc":"desc":null,onClick:()=>i(d)}),[t,i]),c=o.useCallback((u,d)=>{if(!t)return u;const{key:p,asc:m}=t;return[...u].sort((h,g)=>Gr(d(h,p),d(g,p),m))},[t]);return{\uC815\uB82C:t,\uCE78:l,sortRows:c}}const rn="\uC804\uCCB4",Pg=new Map;try{wt.store?.on?.("added",()=>Pg.clear())}catch{}Object.fromEntries(Object.entries(a2).map(([e,{nucleus:t}])=>[e,t]));const Ig={labial:e=>e("common.phonetics.place.labial",{defaultValue:"\uC591\uC21C\uC74C"}),alveolar:e=>e("common.phonetics.place.alveolar",{defaultValue:"\uCE58\uC870\uC74C"}),palatal:e=>e("common.phonetics.place.palatal",{defaultValue:"\uACBD\uAD6C\uAC1C\uC74C"}),velar:e=>e("common.phonetics.place.velar",{defaultValue:"\uC5F0\uAD6C\uAC1C\uC74C"}),glottal:e=>e("common.phonetics.place.glottal",{defaultValue:"\uC131\uBB38\uC74C"})},Fg={frontHigh:e=>e("common.phonetics.vowel.frontHigh",{defaultValue:"\uC804\uC124 \uACE0\uBAA8\uC74C"}),backHighUnrounded:e=>e("common.phonetics.vowel.backHighUnrounded",{defaultValue:"\uD6C4\uC124 \uACE0\uBAA8\uC74C \uD3C9\uC21C"}),backHighRounded:e=>e("common.phonetics.vowel.backHighRounded",{defaultValue:"\uD6C4\uC124 \uACE0\uBAA8\uC74C \uC6D0\uC21C"}),frontMid:e=>e("common.phonetics.vowel.frontMid",{defaultValue:"\uC804\uC124 \uC911\uBAA8\uC74C"}),backMidUnrounded:e=>e("common.phonetics.vowel.backMidUnrounded",{defaultValue:"\uD6C4\uC124 \uC911\uBAA8\uC74C \uD3C9\uC21C"}),backMidRounded:e=>e("common.phonetics.vowel.backMidRounded",{defaultValue:"\uD6C4\uC124 \uC911\uBAA8\uC74C \uC6D0\uC21C"}),low:e=>e("common.phonetics.vowel.low",{defaultValue:"\uC800\uBAA8\uC74C"})},Og={j:e=>e("common.phonetics.glide.j",{defaultValue:"j\uD65C\uC74C"}),w:e=>e("common.phonetics.glide.w",{defaultValue:"w\uD65C\uC74C"}),velar:e=>e("common.phonetics.glide.velar",{defaultValue:"\u0270\uD65C\uC74C"})};function Hg(e,t){if("place"in t)return Ig[t.place](e);const a=Fg[t.vowel](e);return t.glide?`${a} \xB7 ${Og[t.glide](e)}`:a}const Vg=(e,{defaultValue:t})=>t,Qi=(e,t)=>({jamos:e,phonetic:t,tooltip:Hg(Vg,t)}),fn=(e,t)=>t.map(a=>Qi([a],{place:e})),kt=(e,t,a)=>Qi([...e],a?{vowel:t,glide:a}:{vowel:t}),Kr={cho:[fn("labial",["\u3142","\u3143","\u314D","\u3141"]),fn("alveolar",["\u3137","\u3138","\u314C","\u3134","\u3139"]),fn("alveolar",["\u3145","\u3146"]),fn("palatal",["\u3148","\u3149","\u314A"]),fn("velar",["\u3131","\u3132","\u314B"]),fn("glottal",["\u314E"])],jung:[[kt("\u3163","frontHigh"),kt("\u315F","frontHigh","w"),kt("\u3162","frontHigh","velar")],[kt("\u3161","backHighUnrounded")],[kt("\u315C","backHighRounded"),kt("\u3160","backHighRounded","j")],[kt("\u3154\u3150","frontMid"),kt("\u3156\u3152","frontMid","j"),kt("\u3159\u315A\u315E","frontMid","w")],[kt("\u3153","backMidUnrounded"),kt("\u3155","backMidUnrounded","j"),kt("\u315D","backMidUnrounded","w")],[kt("\u3157","backMidRounded"),kt("\u315B","backMidRounded","j")],[kt("\u314F","low"),kt("\u3151","low","j"),kt("\u3158","low","w")]],jong:[fn("labial",["\u3142","\u3141"]),fn("alveolar",["\u3137","\u3134","\u3139"]),fn("velar",["\u3131","\u3147"])]},zg=e=>e===Wg?[]:Array.from(e),Wg="__NO_CODA__",Yr=e=>e.map(t=>t.map(({jamos:a,phonetic:r,tooltip:s})=>({v:a.join(""),phonetic:r,tooltip:s}))),el={cho:Yr(Kr.cho),jung:Yr(Kr.jung),jong:Yr(Kr.jong)};el.jung.flat().forEach(({v:e})=>{for(const t of zg(e));}),new Set(el.cho.flat().map(e=>e.v));function qg(e,t=!0){const a=ga(e);o.useEffect(()=>{if(t)return Rn(()=>{a.current?.()})},[t,a])}function za(){const[e,t]=o.useState(null),a=o.useCallback(i=>t(i.getBoundingClientRect()),[]),r=o.useCallback(()=>t(null),[]),s=o.useCallback(i=>{const l=i.getBoundingClientRect();t(c=>c?null:l)},[]);return{anchorRect:e,isOpen:e!=null,openAt:a,close:r,toggleAt:s}}function tl(e="warning"){const[t,a]=o.useState(""),[r,s]=o.useState(e),[i,l]=o.useState(0),c=o.useCallback((m,h)=>{s(h),a(m),l(g=>g+1)},[]),u=o.useCallback(m=>c(m,"warning"),[c]),d=o.useCallback(m=>c(m,"normal"),[c]),p=o.useCallback(()=>a(""),[]);return{toastMessage:t,toastType:r,toastKey:i,showToast:c,showWarning:u,showNormal:d,clearToast:p}}function ya(e){let t=0;if(e&&typeof window<"u"&&typeof window.getComputedStyle=="function")for(let a=e;a&&a!==document.body&&a!==document.documentElement;a=a.parentElement){const r=parseInt(window.getComputedStyle(a).zIndex,10);!Number.isNaN(r)&&r>t&&(t=r)}return t>0?`max(var(--z-menu, 1500), ${t+1})`:"var(--z-menu, 1500)"}function va({computeStyle:e,onScroll:t="close",onResize:a="close",ignoreOutsideClickSelector:r}){const[s,i]=o.useState(!1),[l,c]=o.useState({}),u=o.useRef(null),d=o.useRef(null),p=o.useCallback(()=>{u.current&&c(e(u.current.getBoundingClientRect(),u.current))},[e]);o.useEffect(()=>{if(!s)return;p();const g=y=>{const x=y.target;r&&x.closest?.(r)||u.current?.contains(x)||d.current?.contains(x)||i(!1)};document.addEventListener("mousedown",g),document.addEventListener("pointerdown",g);const C=y=>{d.current?.contains(y.target)||(t==="reposition"?p():t==="close"&&i(!1))};t!=="ignore"&&window.addEventListener("scroll",C,!0);const b=()=>{a==="reposition"?p():a==="close"&&i(!1)};let _=null;const f=()=>{b(),_&&clearTimeout(_),_=setTimeout(()=>{_=null,a==="reposition"&&p()},250)};return a!=="ignore"&&(window.addEventListener("resize",b),window.addEventListener("orientationchange",f)),()=>{document.removeEventListener("mousedown",g),document.removeEventListener("pointerdown",g),t!=="ignore"&&window.removeEventListener("scroll",C,!0),a!=="ignore"&&(window.removeEventListener("resize",b),window.removeEventListener("orientationchange",f)),_&&clearTimeout(_)}},[s,p,t,a,r]),o.useEffect(()=>{if(s)return Rn(()=>i(!1))},[s]);const m=o.useCallback(()=>i(g=>!g),[]),h=o.useCallback(()=>i(!1),[]);return{open:s,setOpen:i,toggle:m,close:h,style:l,triggerRef:u,menuRef:d}}function Ug(e,{mode:t="playback",autoStart:a=!1,onPlaySpeaker:r,onComplete:s,playMs:i=1100,feedbackMs:l=1500}={}){const[c,u]=o.useState([]),[d,p]=o.useState(0),[m,h]=o.useState("idle"),[g,C]=o.useState(null),[b,_]=o.useState([]),[f,y]=o.useState(null),[x,v]=o.useState(0),k=o.useRef(0),w=o.useCallback(Z=>{k.current=typeof Z=="function"?Z(k.current):Z,v(k.current)},[]),D=o.useRef(r),B=o.useRef(s);o.useEffect(()=>{D.current=r,B.current=s},[r,s]);const A=o.useRef([]),N=()=>{A.current.forEach(clearTimeout),A.current=[]},M=(Z,P)=>{A.current.push(setTimeout(P,Z))};o.useEffect(()=>()=>N(),[]);const I=c[d]?.id??null,$=o.useRef(null),V=o.useCallback(()=>{N(),h("playing"),_([]),y(null),w(0);let Z=0;e.forEach((P,T)=>{M(Z,()=>{p(T),C(P.id),D.current?.(P)}),M(Z+1e3,()=>{C(null),_(O=>[...O,P.id])}),Z+=1300}),M(Z,()=>{h("done"),B.current?.({score:0,total:e.length})})},[e,w]),S=o.useCallback((Z,P)=>{if(P>=Z.length){h("done"),B.current?.({score:k.current,total:Z.length});return}$.current=null,p(P),y(null),h("playing"),C(Z[P].id),D.current?.(Z[P]),M(i,()=>{C(null),h("waiting")})},[i]),F=o.useCallback(()=>{N();const Z=fa(e);u(Z),w(0),_([]),S(Z,0)},[e,S,w]),z=o.useCallback(()=>{t==="playback"?(u(e),V()):F()},[t,e,V,F]),Y=o.useCallback(()=>{N(),h("idle"),C(null),_([]),y(null),p(0),w(0),u([])},[w]),U=e.map(Z=>Z.id).join("|");o.useEffect(()=>(a?z():Y(),()=>N()),[t,U,a]);const G=o.useCallback(Z=>{m!=="waiting"||t==="playback"||$.current===d||($.current=d,y(Z),Z===c[d]?.id&&w(P=>P+1),t==="exam"?(h("playing"),M(400,()=>S(c,d+1))):(h("feedback"),M(l,()=>S(c,d+1))))},[m,t,c,d,S,l,w]),W=t==="playback"?e.length:c.length;return{bind:{activeSpeakerId:g,playedIds:b,selectedId:f,answerId:I,showFeedback:m==="feedback",clickable:m==="waiting",onSelectSpeaker:G},index:d,total:W,score:x,phase:m,done:m==="done",start:z,reset:Y}}function Gg({title:e,description:t,actionLabel:a,onAction:r,bg:s,color:i,size:l="medium",actionVariant:c,titleColor:u,descriptionColor:d,className:p=""}){const m=s??i??"main",h=o.useRef(null),[g,C]=o.useState("main"),b=en("(max-width: 767px)"),_=o.useRef({title:!1,description:!1});o.useLayoutEffect(()=>{const x=h.current;if(!x)return;const v=qr(x),k=(w,D,B)=>{if(B!==void 0)x.style.setProperty(D,B),_.current[w]=!0;else if(_.current[w]){const A=v?.[w];A?x.style.setProperty(D,A):x.style.removeProperty(D),_.current[w]=!1}};k("title","--promo-banner-bg-title",u),k("description","--promo-banner-bg-description",d)},[u,d,m]),o.useLayoutEffect(()=>{const x=h.current;if(!x)return;const v=qr(x);C(v?.actionVariant??"main")},[m]);const f=Be("promo-banner",`promo-banner--${l}`,p),y=Ui[m];return n.jsxs("div",{ref:h,className:f,role:"note",children:[n.jsx(y,{}),n.jsxs("div",{className:"promo-banner__text",children:[n.jsx("span",{className:`promo-banner__title ${l==="small"?"body-2":"h2"}`,children:e}),t&&n.jsx("span",{className:"promo-banner__description body-3",children:t})]}),a&&r&&n.jsx(ce,{htmlType:"button",size:40,variant:c??g,shape:"pill",useBorder:!0,onClick:r,ariaLabel:a,...b?{type:"dot",icon:"arrow-right"}:{rightIcon:"arrow-right",label:a,minWidth:140}})]})}function Kg({children:e,interval:t=5e3,dotTone:a,className:r="","aria-label":s}){const{t:i}=fe.useTranslation(),l=s??i("topBanner.ariaLabel","\uBC30\uB108"),c=o.Children.toArray(e),u=c.length,[d,p]=o.useState(0),[m,h]=o.useState(!1),[g,C]=o.useState(!1),[b,_]=o.useState(!1),f=o.useRef(null),y=o.useRef(null),x=o.useRef(null),v=Or(),k=m||g||b,w=u>0?Math.min(d,u-1):0;o.useEffect(()=>{if(u<2||t<=0||k||v)return;const B=window.setInterval(()=>p(A=>(Math.min(A,u-1)+1)%u),t);return()=>window.clearInterval(B)},[u,t,k,v]);const D=B=>{y.current!=null&&window.clearTimeout(y.current),y.current=window.setTimeout(()=>{y.current=null,_(!1)},B)};return o.useEffect(()=>()=>{y.current!=null&&window.clearTimeout(y.current)},[]),o.useEffect(()=>{if(!b)return;const B=A=>{A.pointerType==="touch"&&(x.current&&x.current.contains(A.target)||(y.current!=null&&(window.clearTimeout(y.current),y.current=null),_(!1)))};return document.addEventListener("pointerdown",B,!0),()=>document.removeEventListener("pointerdown",B,!0)},[b]),u===0?null:n.jsxs("section",{ref:x,className:Be("top-banner",r),"aria-label":l,"aria-roledescription":"carousel",onPointerEnter:B=>{f.current=B.pointerType},onPointerDown:B=>{f.current=B.pointerType,B.pointerType==="touch"&&(y.current!=null&&(window.clearTimeout(y.current),y.current=null),_(!0))},onPointerUp:B=>{B.pointerType==="touch"&&D(5e3)},onPointerCancel:B=>{B.pointerType==="touch"&&D(5e3)},onMouseEnter:()=>{f.current!=="touch"&&h(!0)},onMouseLeave:()=>h(!1),onFocus:B=>{let A=!0;try{A=B.target.matches(":focus-visible")}catch{A=!0}C(A)},onBlur:B=>{B.currentTarget.contains(B.relatedTarget)||C(!1)},children:[n.jsx("div",{className:"top-banner__viewport",children:n.jsx("div",{className:"top-banner__track",style:{transform:`translateX(-${w*100}%)`},children:c.map((B,A)=>n.jsx("div",{className:"top-banner__slide","aria-hidden":A!==w,...A!==w?{inert:!0}:{},children:B},A))})}),u>1&&n.jsx("div",{className:`top-banner__dots${(a?.[w]??"light")==="dark"?" top-banner__dots--dark":""}`,children:c.map((B,A)=>n.jsx("button",{type:"button",className:`top-banner__dot${A===w?" top-banner__dot--active":""}`,"aria-label":i("topBanner.dotAriaLabel",{count:u,index:A+1,defaultValue:`${u}\uAC1C \uC911 ${A+1}\uBC88\uC9F8 \uBC30\uB108`}),"aria-current":A===w,onClick:()=>p(A)},A))})]})}function Yg({title:e,body:t,open:a=!1,onToggle:r,avatar:s,titleClassName:i="body-2",bodyClassName:l="body-2",className:c=""}){const{t:u}=fe.useTranslation();return n.jsxs("div",{className:`accordion-item ${a?"accordion-item--open":""} ${c}`.trim(),role:"listitem",children:[n.jsxs("div",{className:"accordion-item__header",role:"button",tabIndex:0,"aria-expanded":a,"data-accordion-header":!0,onClick:r,onKeyDown:d=>{if(d.key==="Enter"||d.key===" ")d.preventDefault(),r?.();else if(d.key==="ArrowDown"||d.key==="ArrowUp"){d.preventDefault();const p=d.currentTarget.closest('[role="list"]');if(!p)return;const m=Array.from(p.querySelectorAll("[data-accordion-header]")),h=m.indexOf(d.currentTarget);(d.key==="ArrowDown"?m[h+1]:m[h-1])?.focus()}},children:[s&&n.jsx("div",{className:"accordion-item__avatar",children:s}),n.jsx("div",{className:`accordion-item__title ${i}`,children:e}),n.jsx("div",{className:"accordion-item__chevron",children:n.jsx(Ge,{icon:a?"chevron-up":"chevron-down",label:a?u("accordion.collapse","\uC811\uAE30"):u("accordion.expand","\uD3BC\uCE58\uAE30"),className:"accordion-item__chevron-icon",imgClassName:"accordion-item__chevron-image"})})]}),a&&n.jsx("div",{className:`accordion-item__body ${l}`,children:typeof t=="string"?n.jsx("p",{children:t}):t})]})}function Zg({items:e=[],defaultOpenIndex:t=0,size:a=72,className:r="",bodyClassName:s}){const[i,l]=o.useState({index:t}),c=(u,d)=>i.id!=null&&u.id!=null?u.id===i.id:i.id==null&&d===i.index;return n.jsx("div",{className:`accordion-group accordion-group--s${a} ${r}`.trim(),role:"list",children:e.map((u,d)=>n.jsx(Yg,{title:u.title,body:u.body,avatar:u.avatar,open:c(u,d),onToggle:()=>l(c(u,d)?{index:-1}:{index:d,id:u.id}),bodyClassName:s},u.id??d))})}function Xg(){return n.jsx("svg",{viewBox:"0 0 12 12",fill:"none",stroke:"currentColor",strokeWidth:2.2,strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:n.jsx("polyline",{points:"2,6 5,9 10,3"})})}function Jg(){return n.jsxs("svg",{viewBox:"0 0 12 12",fill:"none",stroke:"currentColor",strokeWidth:2.2,strokeLinecap:"round","aria-hidden":"true",children:[n.jsx("line",{x1:"3",y1:"3",x2:"9",y2:"9"}),n.jsx("line",{x1:"9",y1:"3",x2:"3",y2:"9"})]})}function Qg(){return n.jsx("svg",{viewBox:"0 0 12 12",fill:"none",stroke:"currentColor",strokeWidth:2.2,strokeLinecap:"round","aria-hidden":"true",children:n.jsx("line",{x1:"2.5",y1:"6",x2:"9.5",y2:"6"})})}function pt(e){const{t}=fe.useTranslation(),{type:a="bar",size:r,className:s="","aria-label":i,"aria-hidden":l}=e;if(a==="dot"){const{icon:k,number:w,position:D="top-right",onClick:B,animate:A=!1}=e,N=k??"check",M=w!==void 0?"number":N,I=typeof r=="number"?r:32,$=Be("circle-badge",`circle-badge--${M}`,`circle-badge--${D}`,`circle-badge--${I}`,A?"circle-badge--animate":"",B?"circle-badge--clickable":"",s),V=w!==void 0?t("badge.nthSelected",{n:w,defaultValue:"{{n}}\uBC88\uC9F8 \uC120\uD0DD"}):{check:t("badge.selected","\uC120\uD0DD\uB428"),remove:t("badge.remove","\uC81C\uAC70"),minus:t("badge.exclude","\uC81C\uC678")}[N];return n.jsxs("span",{className:$,onClick:B,onKeyDown:B?S=>{S.key!=="Enter"&&S.key!==" "||(S.preventDefault(),S.currentTarget.click())}:void 0,"aria-label":l?void 0:i??V,"aria-hidden":l||void 0,role:B?"button":l?void 0:"img",tabIndex:B?0:void 0,children:[w!==void 0&&w,w===void 0&&N==="check"&&n.jsx(Xg,{}),w===void 0&&N==="remove"&&n.jsx(Jg,{}),w===void 0&&N==="minus"&&n.jsx(Qg,{})]})}const{label:c,children:u,variant:d="default",fill:p="filled",minWidth:m,iconLeft:h,iconRight:g,color:C}=e,b=typeof r=="number"?"medium":r??"medium",_={small:"caption-2b",medium:"body-3b",large:"body-2b"}[b]??"body-2b",f={small:12,medium:14,large:16}[b]??14,y=Be("badge",`badge--${d}`,`badge--${b}`,p!=="filled"?`badge--${p}`:"",_,s),x=C?.startsWith("--")?`var(${C})`:C,v=m!==void 0||x?{...m!==void 0?{minWidth:typeof m=="number"?`${m}px`:m}:{},...x?{"--badge-color":x}:{}}:void 0;return n.jsxs("span",{className:y,style:v,"aria-label":l?void 0:i,role:i&&!l?"img":void 0,"aria-hidden":l||void 0,children:[h&&n.jsx(Ge,{icon:h,size:f,className:"badge__icon"}),c??u,g&&n.jsx(Ge,{icon:g,size:f,className:"badge__icon"})]})}function Wa({columns:e=[],onClose:t,className:a="",size:r="medium"}){const{t:s}=fe.useTranslation(),i=r==="small"?40:48,[l,c]=o.useState([]),u=o.useMemo(()=>{const _=[{title:null,columns:e}];let f=e;for(const y of l){const x=f?.[y.ci]?.items?.[y.ii];if(!x||!Array.isArray(x.children)||!x.children.length)break;f=[{title:null,items:x.children}],_.push({title:x.label||null,columns:f})}return _},[e,l]),d=u[u.length-1],p=u.length-1,m=o.useCallback(()=>c(_=>_.slice(0,Math.max(0,Math.min(_.length,p)-1))),[p]),h=o.useRef(null),g=o.useRef(null),C=u.length;o.useEffect(()=>{g.current||(g.current=document.activeElement);let _=0,f=0;const y=()=>{const x=h.current?.querySelector("button:not([disabled])");if(x&&x.offsetParent){x.focus({preventScroll:!0});return}f++<20&&(_=requestAnimationFrame(y))};return _=requestAnimationFrame(y),()=>cancelAnimationFrame(_)},[C]),o.useEffect(()=>()=>{g.current?.focus?.({preventScroll:!0})},[]);const b=o.useCallback((_,f,y)=>{if(_){if(Array.isArray(_.children)&&_.children.length){c(x=>[...x.slice(0,p),{ci:f,ii:y}]);return}try{typeof _.onClick=="function"&&_.onClick()}catch{}try{_&&_.closeOnSelect&&typeof t=="function"&&t()}catch{}}},[t,p]);return n.jsxs("div",{className:`tooltip-menu tooltip-menu--${r} ${a}`,children:[(u.length>1||d.title)&&n.jsxs("div",{className:"tooltip-menu__header",children:[u.length>1?n.jsx(ce,{htmlType:"button",size:i,type:"dot",icon:"chevron-left",ariaLabel:s("common.back","\uB4A4\uB85C"),onClick:m,variant:"transparent-gray",useBorder:!1}):null,n.jsx("div",{className:"tooltip-menu__title button-1",children:d.title})]}),n.jsx("div",{className:"tooltip-menu__columns",ref:h,children:d.columns&&d.columns.map((_,f)=>n.jsxs("div",{className:"tooltip-menu__column",children:[_.title?n.jsx("div",{className:"tooltip-menu__column-title body-3",children:_.title}):null,n.jsx("div",{className:"tooltip-menu__items",children:(_.items||[]).map((y,x)=>n.jsx(ce,{htmlType:"button",className:"tooltip-menu__item",size:i,type:y.label?"bar":"dot",icon:y.selected?"check":y.icon||"none",rightIcon:Array.isArray(y.children)&&y.children.length?"chevron-right":y.badgeCount?n.jsx(pt,{type:"dot",position:"inline",number:Math.min(y.badgeCount,99),size:24,"aria-hidden":!0}):void 0,label:y.label,ariaLabel:y.label&&y.badgeCount&&y.badgeCount>0?s("nav.badgeLabel",{label:y.label,count:y.badgeCount,defaultValue:"{{label}}, {{count}}\uAC1C"}):y.label,onClick:()=>b(y,f,x),selected:y.selected,disabled:y.disabled,showTooltipInfo:y.tooltip||!1,useBorder:!1,align:"left"},x))})]},f))})]})}const qa=52,Qn=10,nl=e=>e&&e>0?e:0;function al({items:e=[],activeKey:t,onChange:a,appMode:r,onAppModeChange:s,moreItems:i=[]}){const{t:l}=fe.useTranslation(),c=r==="manager"?"malgwi":"manager",u=r==="manager"?"arrow-left":"arrow-right",d=r==="manager"?l("nav.modeLabelMalgwi","\uB9D0\uADC0"):l("nav.modeLabelManager","\uB9D0\uADC0 \uB9E4\uB2C8\uC800"),p=o.useRef(null),[m,h]=o.useState(0),g=e.length;o.useEffect(()=>{const W=p.current;if(!W||(h(W.clientWidth),typeof ResizeObserver>"u"))return;const Z=new ResizeObserver(P=>h(P[0].contentRect.width));return Z.observe(W),()=>Z.disconnect()},[]);const C=qa+1,b=o.useRef(!1),_=m>0&&i.length===0&&b.current?m+C:m,f=g*(qa+Qn)-Qn<=_,y=m<=0?g:i.length>0?Math.floor((m+Qn)/(qa+Qn)):f?g:Math.floor((_-C+Qn)/(qa+Qn)),x=m>0&&y<g,v=x?y:g,k=e.slice(0,v),w=e.slice(v),D=x||i.length>0;o.useEffect(()=>{b.current=D});const B=o.useCallback((W,Z)=>({position:"fixed",bottom:window.innerHeight-W.top+8,right:window.innerWidth-W.right,zIndex:ya(Z)}),[]),A=o.useId(),{open:N,toggle:M,close:I,style:$,triggerRef:V,menuRef:S}=va({computeStyle:B,onScroll:"ignore",onResize:"reposition"}),F=o.useCallback((W,Z)=>Z>0?l("nav.badgeLabel",{label:W,count:Z,defaultValue:"{{label}}, {{count}}\uAC1C"}):W,[l]),z=o.useCallback(()=>s?.(c),[s,c]),Y=o.useMemo(()=>w.find(W=>!!W.key&&W.key===t)??i.find(W=>W.selected||W.key&&W.key===t),[w,t,i]),U=o.useMemo(()=>[{items:[...w.map(W=>({label:W.label,icon:W.icon,badgeCount:W.badgeCount,selected:!!W.key&&W.key===t,closeOnSelect:!0,disabled:W.state==="disabled",onClick:()=>{W.state!=="disabled"&&(W.key&&a&&a(W.key),I())}})),...i.map(W=>({label:W.label,icon:W.icon,badgeCount:W.badgeCount,selected:W.selected??(!!W.key&&W.key===t),closeOnSelect:!0,onClick:()=>{W.onClick?.(),I()}}))]}],[w,i,t,a,I]),G=[...w,...i].reduce((W,Z)=>W+nl(Z.badgeCount),0);return n.jsxs("nav",{className:"bottom-nav","aria-label":l("nav.bottomNav","\uD558\uB2E8 \uB124\uBE44\uAC8C\uC774\uC158"),children:[s&&n.jsxs(n.Fragment,{children:[n.jsx("div",{className:"bottom-nav__left",children:n.jsx(ce,{htmlType:"button",size:52,type:"dot",icon:u,ariaLabel:d,className:"bottom-nav-item",onClick:z})}),n.jsx("div",{className:"bottom-nav__divider","aria-hidden":"true"})]}),n.jsx("div",{className:"bottom-nav__items",ref:p,children:k.map((W,Z)=>{const P=nl(W.badgeCount);return n.jsxs("span",{className:"bottom-nav__slot",children:[n.jsx(ce,{htmlType:"button",size:52,type:"dot",icon:W.icon,ariaLabel:F(W.label,P),selected:!!W.key&&W.key===t,disabled:W.state==="disabled",className:"bottom-nav-item",onClick:()=>W.key&&a?.(W.key)}),P>0&&n.jsx("span",{"aria-hidden":"true",children:n.jsx(pt,{type:"dot",position:"top-right",number:Math.min(P,99),size:24})})]},W.key??`__slot-${Z}`)})}),D&&n.jsxs(n.Fragment,{children:[n.jsx("div",{className:"bottom-nav__divider","aria-hidden":"true"}),n.jsx("div",{className:"bottom-nav__right",children:n.jsxs("div",{ref:V,className:"bottom-nav__slot",children:[n.jsx(ce,{htmlType:"button",size:52,type:"dot",icon:Y?.icon??"ellipsis",ariaLabel:F(Y?.label??l("nav.more","\uB354\uBCF4\uAE30"),G),selected:!!Y,className:"bottom-nav-item",onClick:M,"aria-expanded":N,"aria-controls":N?A:void 0}),G>0&&n.jsx("span",{"aria-hidden":"true",children:n.jsx(pt,{type:"dot",position:"top-right",number:Math.min(G,99),size:24})}),N&&Wt.createPortal(n.jsx("div",{id:A,role:"group","aria-label":l("nav.moreMenu","\uB354\uBCF4\uAE30 \uBA54\uB274"),className:"tooltip-content",style:$,ref:S,children:n.jsx(Wa,{columns:U,onClose:I})}),document.body)]})})]})]})}function rl(e){if(typeof e!="string")return!1;let t="";for(const r of e){const s=r.charCodeAt(0);s<=32||s>=127&&s<=159||(t+=r)}if(!t)return!1;const a=/^([a-zA-Z][a-zA-Z0-9+.-]*):/.exec(t);return a?["http","https","mailto","tel"].includes(a[1].toLowerCase()):!0}function ol(e,t,a){return a&&a>0?e("nav.badgeLabel",{label:t,count:a,defaultValue:"{{label}}, {{count}}\uAC1C"}):t}function eb(e){const{t}=fe.useTranslation(),{activeKey:a,unreadCount:r,onDebug:s,onNotification:i,onSetting:l,onHelp:c,onAccount:u}=e||{},d="default";return s||i||l||c||u?n.jsxs("div",{className:"side-nav__footer",children:[s&&n.jsx(ce,{htmlType:"button",size:48,showTooltipInfo:!0,type:"dot",shape:"pill",variant:d,icon:"terminal",ariaLabel:t("nav.debug","\uB514\uBC84\uADF8"),onClick:s,selected:a==="debug"}),i&&n.jsxs("span",{className:"side-nav__notification-wrap",children:[n.jsx(ce,{htmlType:"button",size:48,showTooltipInfo:!0,type:"dot",shape:"pill",variant:d,icon:"bell",ariaLabel:ol(t,t("nav.notifications","\uC54C\uB9BC"),r),onClick:i,selected:a==="notifications"}),!!r&&r>0&&n.jsx(pt,{type:"dot",number:Math.min(r,99),size:24,"aria-hidden":!0})]}),l&&n.jsx(ce,{htmlType:"button",size:48,showTooltipInfo:!0,type:"dot",shape:"pill",variant:d,icon:"settings",ariaLabel:t("nav.settings","\uC124\uC815"),onClick:l,selected:a==="settings"}),c&&n.jsx(ce,{htmlType:"button",size:48,showTooltipInfo:!0,type:"dot",shape:"pill",variant:d,icon:"message-circle-question-mark",ariaLabel:t("nav.help","\uB3C4\uC6C0\uB9D0"),onClick:c,selected:a==="help"}),u&&n.jsx(ce,{htmlType:"button",size:48,showTooltipInfo:!0,type:"dot",shape:"pill",variant:d,icon:"user-round",ariaLabel:t("nav.account","\uACC4\uC815"),onClick:u,selected:a==="account"})]}):null}function sl(e){const{t}=fe.useTranslation(),{item:a,itemKey:r,label:s,icon:i,active:l,onClick:c,style:u,state:d,labelStyle:p}=e||{},m=a?.key??r??"",h=a?.label??s??"",g=a?.icon??i??"",C=a?.badge??0,b=n.jsx("span",{className:"side-nav__icon-wrap",children:n.jsx(Ge,{icon:g,label:typeof h=="string"?h:void 0,className:"side-nav__icon",maskClassName:"side-nav__icon-image",imgClassName:void 0,svgClassName:void 0})}),_=d==="disabled",f=`side-nav__item ${l?"active":""} ${d||""} ${_?"disabled":""} ${a?.child?"side-nav__item--child":""}`,y=o.useCallback(x=>{if(_)return;const v=x.detail>0;if(v)try{x.currentTarget.blur()}catch{}c?.(m,x.currentTarget,v)},[_,m,c]);return n.jsxs("button",{type:"button",className:f,onClick:y,"aria-label":typeof h=="string"?ol(t,h,C):void 0,"aria-current":l?"page":void 0,style:u,"aria-disabled":_,children:[b,n.jsx("span",{className:"side-nav__label button-1 f",style:p,children:h}),C>0&&n.jsx(pt,{type:"dot",position:"inline",number:Math.min(C,99),size:24,"aria-hidden":!0}),d==="loading"&&n.jsx("span",{className:"side-nav__spinner",role:"img","aria-label":t("loader.loading","\uBD88\uB7EC\uC624\uB294 \uC911\u2026")})]})}function il(e){const{t}=fe.useTranslation(),{items:a=[],activeKey:r,onChange:s,unreadCount:i,onDebug:l,onNotification:c,onAccount:u,onSetting:d,onHelp:p,appMode:m,onAppModeChange:h}=e||{},g=m==="manager",C=o.useCallback(()=>h?.(g?"malgwi":"manager"),[h,g]);return n.jsxs("nav",{"aria-label":t("nav.mainMenu","\uBA54\uC778 \uBA54\uB274"),className:"side-nav__menu",children:[n.jsxs("div",{className:"side-nav__menu-list",children:[(a||[]).filter(b=>!b.section&&(b.key||b.label)).map((b,_)=>n.jsxs(o.Fragment,{children:[b.divider&&n.jsx("div",{className:"side-nav__separator"}),n.jsx(sl,{item:b,active:!!b.key&&b.key===r,state:b.disabled?"disabled":void 0,onClick:(f,y,x)=>{if(b.disabled)return;if(b.href){if(rl(b.href)&&window.open(b.href,"_blank","noopener,noreferrer"),x)try{y?.blur()}catch{}return}s?.(b.key);try{const k=document.querySelector(".content-area");k?k.scrollTop=0:window.scrollTo({top:0})}catch{}if(!x)return;try{y?.blur()}catch{}if(typeof window<"u"&&window.matchMedia){if(!window.matchMedia("(min-width: 768px) and (max-width: 1023px)").matches)return}else return;const v=document.querySelector(".header");if(v){const k=typeof v.matches=="function";if(!(window.matchMedia("(hover: hover)").matches&&k&&v.matches(":hover"))){v.classList.add("header--force-collapsed");const w=()=>{v.classList.remove("header--force-collapsed"),v.removeEventListener("mouseenter",w)};v.addEventListener("mouseenter",w)}}}})]},b.key??`side-nav__item-${_}`)),h&&n.jsx("div",{className:"side-nav__separator side-nav__separator--short"}),h&&n.jsx(sl,{item:{key:"__mode-switch__",label:g?t("nav.goToMalgwi","\uB9D0\uADC0\uB85C \uC774\uB3D9"):t("nav.goToManager","\uB9D0\uADC0\uB9E4\uB2C8\uC800\uB85C \uC774\uB3D9"),icon:g?"arrow-left":"arrow-right"},onClick:C})]}),n.jsx(eb,{activeKey:r,unreadCount:i,onDebug:l,onNotification:c,onAccount:u,onSetting:d,onHelp:p})]})}var Zr='data:image/svg+xml,<svg width="200" height="100" viewBox="0 0 200 100" fill="none" xmlns="http://www.w3.org/2000/svg">%0A<g clip-path="url(%23clip0_2080_3066)">%0A<path d="M96.4287 48.3536V24.2572H127.047V48.3536H96.4287ZM142.975 69.1536V76.3607H98.2144V60.6393H132.679V58.5107H98.0787V51.3036H142.429V67.025H108.104V69.1536H142.979H142.975ZM106.247 32.5643V39.9786H117.3V32.5643H106.247ZM148.329 40.3893H142.425V49.45H132.539V23.6357H142.425V30.8429H148.329V40.3857V40.3893Z" fill="black"/>%0A<path d="M185.536 47.8714V57.275C182.743 58.5571 178.371 59.1964 172.425 59.1964H171.807V76.3607H161.921V59.1964H149.704V49.7929H172.564C178.421 49.7929 182.746 49.1536 185.539 47.8714H185.536ZM152.586 34.2786V24.875H181.282V47.05H171.396V34.2821H152.586V34.2786ZM198.307 76.3607H188.421V23.6393H198.307V76.3643V76.3607Z" fill="black"/>%0A<path d="M46.4288 17.8571H25.0002C15.138 17.8571 7.14307 25.852 7.14307 35.7143V57.1428C7.14307 67.0051 15.138 75 25.0002 75H46.4288C56.291 75 64.2859 67.0051 64.2859 57.1428V35.7143C64.2859 25.852 56.291 17.8571 46.4288 17.8571Z" fill="%234DCDC0"/>%0A<path d="M34.8607 50.7393C25.8285 60.6821 10.6142 61.6678 0.385667 53.1643C-0.0821902 52.775 -0.13219 52.0678 0.278524 51.6178L16.3535 33.925L34.8607 50.7393Z" fill="%234DCDC0"/>%0A<path d="M53.5714 25H32.1428C22.2821 25 14.2856 32.9964 14.2856 42.8571V64.2857C14.2856 74.1464 22.2821 82.1429 32.1428 82.1429H48.2535C49.2178 82.1429 49.9999 82.925 49.9999 83.8893C49.9999 84.9107 50.8749 85.7214 51.8928 85.6321C62.8392 84.675 71.4285 75.4821 71.4285 64.2857V42.8571C71.4285 32.9964 63.4321 25 53.5714 25Z" fill="%234DCDC0"/>%0A<path d="M24.9999 25C19.0821 25 14.2856 29.7964 14.2856 35.7143V64.2857C14.2856 67.3786 15.0749 70.2893 16.4571 72.8286C18.9928 74.2143 21.9035 75 24.9999 75H53.5714C59.4892 75 64.2856 70.2036 64.2856 64.2857V35.7143C64.2856 32.6214 63.4964 29.7107 62.1142 27.1714C59.5785 25.7857 56.6678 25 53.5714 25H24.9999Z" fill="%23499CDF"/>%0A<path d="M25.357 40.7143C25.357 39.5308 24.3976 38.5714 23.2141 38.5714C22.0307 38.5714 21.0713 39.5308 21.0713 40.7143V45C21.0713 46.1834 22.0307 47.1428 23.2141 47.1428C24.3976 47.1428 25.357 46.1834 25.357 45V40.7143Z" fill="white"/>%0A<path d="M36.0715 57.1429C35.0287 57.1429 33.9822 56.875 33.0358 56.3286C32.1822 55.8357 31.8894 54.7429 32.3858 53.8893C32.8787 53.0357 33.9715 52.7429 34.8251 53.2393C35.8037 53.8036 37.043 53.6429 37.8394 52.8464C38.2251 52.4607 38.468 51.9714 38.543 51.4357C38.8644 49.1607 39.868 47 41.4501 45.1857C42.393 44.1071 42.8894 42.7214 42.8537 41.2857C42.7787 38.3536 40.4322 35.9107 37.5072 35.7286C36.5215 35.6679 35.5715 35.8464 34.693 36.2679C33.8037 36.6929 32.7358 36.3107 32.3144 35.4214C31.8894 34.5321 32.2715 33.4643 33.1608 33.0429C34.5751 32.3714 36.1537 32.0679 37.7322 32.1643C42.4894 32.4607 46.3072 36.4286 46.4251 41.1964C46.4822 43.5286 45.6715 45.7786 44.143 47.5357C43.018 48.825 42.3037 50.3464 42.0822 51.9357C41.8965 53.2464 41.3037 54.4357 40.368 55.375C39.2001 56.5429 37.6465 57.15 36.0751 57.15L36.0715 57.1429Z" fill="white"/>%0A</g>%0A<defs>%0A<clipPath id="clip0_2080_3066">%0A<rect width="200" height="100" fill="white"/>%0A</clipPath>%0A</defs>%0A</svg>%0A',Xr='data:image/svg+xml,<svg width="371" height="100" viewBox="0 0 371 100" fill="none" xmlns="http://www.w3.org/2000/svg">%0A<g clip-path="url(%23clip0_2255_7374)">%0A<path d="M237.151 26.0393V72.7214H216.65V26.0393H237.151ZM234.408 70.0464V28.7179H219.254V70.0464H234.408ZM261.495 76.3607H258.819V48.9679H247.575V75.4679H244.899V23.9821H247.575V46.2929H258.819V23.6393H261.495V76.3643V76.3607Z" fill="black"/>%0A<path d="M299.722 69.2571C302.076 68.775 304.031 68.1464 305.583 67.3679V70.1143C304.074 70.9393 302.144 71.5786 299.789 72.0357C297.435 72.4929 295.045 72.7214 292.623 72.7214H272.257V25.6964H275V69.975H292.623C294.998 69.975 297.364 69.7357 299.722 69.2536V69.2571ZM311.69 76.4321V23.6393H314.433V76.3643L311.69 76.4321Z" fill="black"/>%0A<path d="M340.556 47.9393L358.179 70.4572L356.053 72.1036L339.872 51.1643C338.409 57.3429 336.329 62.2643 333.632 65.925C330.935 69.5857 327.736 71.8536 324.033 72.7215V69.975C327.279 69.15 330.044 66.8643 332.33 63.1107C334.617 59.3572 336.354 54.5179 337.542 48.5893C338.73 42.6643 339.369 36.0393 339.461 28.7143H324.992V26.0357H356.602V28.7143H342.201C342.155 35.9 341.605 42.3072 340.556 47.9357V47.9393ZM369.22 76.3607H366.477V47.4572H352.418V44.7786H366.477V23.6357H369.22V76.3607Z" fill="black"/>%0A<path d="M92.8784 48.3536V24.2572H123.461V48.3536H92.8784ZM139.371 69.1536V76.3607H94.6621V60.6393H129.087V58.5107H94.5265V51.3036H138.825V67.025H104.54V69.1536H139.375H139.371ZM102.685 32.5643V39.9786H113.726V32.5643H102.685ZM144.719 40.3893H138.822V49.45H128.947V23.6357H138.822V30.8429H144.719V40.3857V40.3893Z" fill="black"/>%0A<path d="M181.886 47.8714V57.275C179.097 58.5571 174.73 59.1964 168.791 59.1964H168.174V76.3607H158.299V59.1964H146.096V49.7929H168.93C174.78 49.7929 179.1 49.1536 181.89 47.8714H181.886ZM148.971 34.2786V24.875H177.634V47.05H167.76V34.2821H148.971V34.2786ZM194.64 76.3607H184.765V23.6393H194.64V76.3643V76.3607Z" fill="black"/>%0A<path d="M48.1549 17.8571H26.7511C16.9002 17.8571 8.91455 25.852 8.91455 35.7143V57.1428C8.91455 67.0051 16.9002 75 26.7511 75H48.1549C58.0058 75 65.9915 67.0051 65.9915 57.1428V35.7143C65.9915 25.852 58.0058 17.8571 48.1549 17.8571Z" fill="%234DCDC0"/>%0A<path d="M36.6007 50.7393C27.579 60.6821 12.3823 61.6678 2.1655 53.1643C1.69818 52.775 1.64824 52.0678 2.05848 51.6178L18.1149 33.925L36.6007 50.7393Z" fill="%234DCDC0"/>%0A<path d="M55.2897 25H33.8859C24.0365 25 16.0493 32.9964 16.0493 42.8571V64.2857C16.0493 74.1464 24.0365 82.1429 33.8859 82.1429H49.978C50.9412 82.1429 51.7224 82.925 51.7224 83.8893C51.7224 84.9107 52.5964 85.7214 53.6131 85.6321C64.5469 84.675 73.1262 75.4821 73.1262 64.2857V42.8571C73.1262 32.9964 65.139 25 55.2897 25Z" fill="%234DCDC0"/>%0A<path d="M26.7512 25C20.8402 25 16.0493 29.7964 16.0493 35.7143V64.2857C16.0493 67.3786 16.8377 70.2893 18.2182 72.8286C20.751 74.2143 23.6584 75 26.7512 75H55.2897C61.2007 75 65.9916 70.2036 65.9916 64.2857V35.7143C65.9916 32.6214 65.2032 29.7107 63.8227 27.1714C61.2899 25.7857 58.3826 25 55.2897 25H26.7512Z" fill="%23499CDF"/>%0A<path d="M27.1079 40.7143C27.1079 39.5308 26.1496 38.5714 24.9675 38.5714C23.7854 38.5714 22.8271 39.5308 22.8271 40.7143V45C22.8271 46.1834 23.7854 47.1428 24.9675 47.1428C26.1496 47.1428 27.1079 46.1834 27.1079 45V40.7143Z" fill="white"/>%0A<path d="M37.8097 57.1429C36.768 57.1429 35.7228 56.875 34.7775 56.3286C33.9249 55.8357 33.6323 54.7429 34.1282 53.8893C34.6205 53.0357 35.7121 52.7429 36.5647 53.2393C37.5421 53.8036 38.78 53.6429 39.5755 52.8464C39.9608 52.4607 40.2033 51.9714 40.2782 51.4357C40.5993 49.1607 41.6017 47 43.182 45.1857C44.1238 44.1071 44.6197 42.7214 44.584 41.2857C44.5091 38.3536 42.1653 35.9107 39.2437 35.7286C38.2556 35.6679 37.3102 35.8464 36.4327 36.2679C35.5444 36.6929 34.4778 36.3107 34.0569 35.4214C33.6323 34.5321 34.014 33.4643 34.9023 33.0429C36.315 32.3714 37.8917 32.0679 39.4685 32.1643C44.2201 32.4607 48.0336 36.4286 48.1513 41.1964C48.2084 43.5286 47.3986 45.7786 45.8718 47.5357C44.7481 48.825 44.0346 50.3464 43.8134 51.9357C43.6279 53.2464 43.0358 54.4357 42.1011 55.375C40.9346 56.5429 39.3828 57.15 37.8132 57.15L37.8097 57.1429Z" fill="white"/>%0A</g>%0A<defs>%0A<clipPath id="clip0_2255_7374">%0A<rect width="371" height="100" fill="white"/>%0A</clipPath>%0A</defs>%0A</svg>%0A',tb='data:image/svg+xml,<svg width="100" height="100" viewBox="0 0 100 100" fill="none" xmlns="http://www.w3.org/2000/svg">%0A<g clip-path="url(%23clip0_2175_65214)">%0A<path d="M57.1427 17.8571H35.7141C25.8518 17.8571 17.8569 25.852 17.8569 35.7143V57.1428C17.8569 67.0051 25.8518 75 35.7141 75H57.1427C67.0049 75 74.9998 67.0051 74.9998 57.1428V35.7143C74.9998 25.852 67.0049 17.8571 57.1427 17.8571Z" fill="%234DCDC0"/>%0A<path d="M45.575 50.7393C36.5429 60.6821 21.3286 61.6678 11.1 53.1643C10.6322 52.775 10.5822 52.0678 10.9929 51.6178L27.0679 33.925L45.575 50.7393Z" fill="%234DCDC0"/>%0A<path d="M64.2857 25H42.8571C32.9964 25 25 32.9964 25 42.8571V64.2857C25 74.1464 32.9964 82.1429 42.8571 82.1429H58.9679C59.9321 82.1429 60.7143 82.925 60.7143 83.8893C60.7143 84.9107 61.5893 85.7214 62.6071 85.6321C73.5536 84.675 82.1429 75.4821 82.1429 64.2857V42.8571C82.1429 32.9964 74.1464 25 64.2857 25Z" fill="%234DCDC0"/>%0A<path d="M35.7143 25C29.7964 25 25 29.7964 25 35.7143V64.2857C25 67.3786 25.7893 70.2893 27.1714 72.8286C29.7071 74.2143 32.6179 75 35.7143 75H64.2857C70.2036 75 75 70.2036 75 64.2857V35.7143C75 32.6214 74.2107 29.7107 72.8286 27.1714C70.2929 25.7857 67.3821 25 64.2857 25H35.7143Z" fill="%23499CDF"/>%0A<path d="M36.0714 40.7143C36.0714 39.5308 35.112 38.5714 33.9285 38.5714C32.745 38.5714 31.7856 39.5308 31.7856 40.7143V45C31.7856 46.1834 32.745 47.1428 33.9285 47.1428C35.112 47.1428 36.0714 46.1834 36.0714 45V40.7143Z" fill="white"/>%0A<path d="M46.7859 57.1429C45.743 57.1429 44.6966 56.875 43.7502 56.3286C42.8966 55.8357 42.6037 54.7429 43.1002 53.8893C43.593 53.0357 44.6859 52.7429 45.5395 53.2393C46.518 53.8036 47.7573 53.6429 48.5537 52.8464C48.9395 52.4607 49.1823 51.9714 49.2573 51.4357C49.5787 49.1607 50.5823 47 52.1645 45.1857C53.1073 44.1071 53.6037 42.7214 53.568 41.2857C53.493 38.3536 51.1466 35.9107 48.2216 35.7286C47.2359 35.6679 46.2859 35.8464 45.4073 36.2679C44.5145 36.6929 43.4502 36.3107 43.0287 35.4214C42.6037 34.5321 42.9859 33.4643 43.8752 33.0429C45.2895 32.3714 46.868 32.0679 48.4466 32.1643C53.2002 32.4607 57.0216 36.4286 57.1395 41.1964C57.1966 43.5286 56.3859 45.7786 54.8573 47.5357C53.7323 48.825 53.018 50.3464 52.7966 51.9357C52.6109 53.2464 52.018 54.4357 51.0823 55.375C49.9145 56.5429 48.3609 57.15 46.7895 57.15L46.7859 57.1429Z" fill="white"/>%0A</g>%0A<defs>%0A<clipPath id="clip0_2175_65214">%0A<rect width="100" height="100" fill="white"/>%0A</clipPath>%0A</defs>%0A</svg>%0A';function ll({appMode:e}){const{t}=fe.useTranslation(),a=e==="manager",r=a?Xr:Zr,s=tb,i=en("(min-width: 768px) and (max-width: 1023px)");return n.jsx("div",{className:"brand-identity__root","aria-label":t("header.biArea","BI \uC601\uC5ED"),children:i?n.jsx("img",{src:s,alt:t("header.biSymbol","BI \uC2EC\uBCFC"),className:"brand-identity__image"}):n.jsx("img",{src:r,alt:a?t("header.logoManager","\uB9D0\uADC0\uB9E4\uB2C8\uC800 \uB85C\uACE0"):t("header.logoMalgwi","\uB9D0\uADC0 \uB85C\uACE0"),className:"brand-identity__image"})})}function cl({activeKey:e,onChange:t,items:a,malgwiItems:r,managerItems:s,unreadCount:i,onDebug:l,onNotification:c,onAccount:u,onSetting:d,onHelp:p,appMode:m,onAppModeChange:h}){const{t:g}=fe.useTranslation(),C=en("(max-width: 767px)"),b=o.useMemo(()=>(a??[]).filter(M=>!M.section&&(M.key||M.label)).map(M=>({key:M.key,label:typeof M.label=="string"?M.label:void 0,icon:M.icon,state:M.disabled?"disabled":void 0,badgeCount:M.badge})),[a]),_=o.useCallback(M=>{const I=a?.find($=>$.key===M);if(!I?.disabled){if(I?.href){rl(I.href)&&window.open(I.href,"_blank","noopener,noreferrer");return}t?.(M)}},[a,t]),f=o.useMemo(()=>{const M=[];return l&&M.push({key:"debug",icon:"terminal",label:g("nav.debug","\uB514\uBC84\uADF8"),onClick:l}),c&&M.push({key:"notifications",icon:"bell",label:g("nav.notifications","\uC54C\uB9BC"),badgeCount:i,onClick:c}),d&&M.push({key:"settings",icon:"settings",label:g("nav.settings","\uC124\uC815"),onClick:d}),p&&M.push({key:"help",icon:"message-circle-question-mark",label:g("nav.help","\uB3C4\uC6C0\uB9D0"),onClick:p}),u&&M.push({key:"account",icon:"user-round",label:g("nav.account","\uACC4\uC815"),onClick:u}),M},[g,l,c,d,p,u,i]),y=o.useCallback((M,I)=>({position:"fixed",top:M.bottom+8,right:Math.max(8,window.innerWidth-M.right),zIndex:ya(I)}),[]),x=o.useId(),{open:v,toggle:k,close:w,style:D,triggerRef:B,menuRef:A}=va({computeStyle:y,onScroll:"ignore",onResize:"reposition"}),N=o.useMemo(()=>[{items:f.map(M=>({label:M.label,icon:M.icon,badgeCount:M.badgeCount,selected:M.selected??(!!M.key&&M.key===e),closeOnSelect:!0,onClick:()=>{M.onClick?.(),w()}}))}],[f,e,w]);return n.jsxs("aside",{className:`header${m==="manager"?" header--manager":""}`,children:[n.jsxs("div",{className:"header__bi",children:[n.jsx(ll,{appMode:m}),n.jsxs("div",{className:"header__menu-button",ref:B,children:[n.jsx(ce,{htmlType:"button",size:48,type:"dot",shape:"pill",variant:"default",icon:"menu",ariaLabel:c&&i&&i>0?g("nav.badgeLabel",{label:g("header.menuOpen","\uBA54\uB274 \uC5F4\uAE30"),count:i,defaultValue:"{{label}}, {{count}}\uAC1C"}):g("header.menuOpen","\uBA54\uB274 \uC5F4\uAE30"),onClick:k,"aria-expanded":v,"aria-controls":v?x:void 0}),!!c&&!!i&&i>0&&n.jsx(pt,{type:"dot",number:Math.min(i,99),size:24,"aria-hidden":!0}),v&&Wt.createPortal(n.jsx("div",{id:x,role:"group","aria-label":g("header.utilMenu","\uC720\uD2F8\uB9AC\uD2F0 \uBA54\uB274"),className:"tooltip-content",style:D,ref:A,children:n.jsx(Wa,{columns:N,onClose:w})}),document.body)]})]}),n.jsx(il,{items:a,activeKey:e??void 0,onChange:t,unreadCount:i,onDebug:l,onNotification:c,onAccount:u,onSetting:d,onHelp:p,appMode:m,onAppModeChange:h}),C&&n.jsx(al,{items:b,activeKey:e??void 0,onChange:_,appMode:m,onAppModeChange:h})]})}const nb=cl,ab=()=>wt.t("passCard.planSuffix","\uC774\uC6A9\uAD8C");function ul(e){if(!(e==null||e==="")){if(typeof e=="string"&&/^\s*\d[\d,]*\s*$/.test(e)){const t=Number(e.replace(/[,\s]/g,""));if(Number.isFinite(t))return Kn(`${t.toLocaleString("ko-KR")}\uC6D0`)}return Kn(typeof e=="number"?`${e.toLocaleString("ko-KR")}\uC6D0`:e)}}function rb(e){const t=`${e.code??""} ${e.name??""}`.toLowerCase();return/manager|매니저/.test(t)?"manager":"speechear"}function ob(e){if(e.durationDays&&e.durationDays>0){const i=e.durationDays;return i%365===0?`${i/365}\uB144`:`${i}\uC77C`}const t=(e.code??"").match(/(\d+)(d|y)\b/i);if(t)return t[2].toLowerCase()==="y"?`${t[1]}\uB144`:`${t[1]}\uC77C`;const a=e.name??"",r=a.match(/(\d+\s*(?:년|개월|주|일))\s*(?:이용권)?\s*$/);if(r)return r[1].replace(/\s+/g,"");const s=a.match(/(\d+)\s*-?\s*(day|year)s?\b/i);return s?s[2].toLowerCase()==="year"?`${s[1]}\uB144`:`${s[1]}\uC77C`:a||ab()}function sb(e){const t=(e??"").match(/(\d+)(d|y)\b/i);if(!t)return null;const a=Number(t[1]);return t[2].toLowerCase()==="y"?a*365:a}function dl(e){return{type:e.type??rb(e),plan:ob(e),label:e.label,price:ul(e.price),originalPrice:ul(e.originalPrice),discountLabel:e.discountLabel}}var ib='data:image/svg+xml,<svg width="200" height="100" viewBox="0 0 200 100" fill="none" xmlns="http://www.w3.org/2000/svg">%0A<g clip-path="url(%23clip0_2255_7326)">%0A<path d="M96.4287 48.3536V24.2572H127.047V48.3536H96.4287ZM142.975 69.1536V76.3607H98.2144V60.6393H132.679V58.5107H98.0787V51.3036H142.429V67.025H108.104V69.1536H142.979H142.975ZM106.247 32.5643V39.9786H117.3V32.5643H106.247ZM148.329 40.3893H142.425V49.45H132.539V23.6357H142.425V30.8429H148.329V40.3857V40.3893Z" fill="%23FAFAFA"/>%0A<path d="M185.536 47.8714V57.275C182.743 58.5571 178.371 59.1964 172.425 59.1964H171.807V76.3607H161.921V59.1964H149.704V49.7929H172.564C178.421 49.7929 182.746 49.1536 185.539 47.8714H185.536ZM152.586 34.2786V24.875H181.282V47.05H171.396V34.2821H152.586V34.2786ZM198.307 76.3607H188.421V23.6393H198.307V76.3643V76.3607Z" fill="%23FAFAFA"/>%0A<path opacity="0.1" d="M24.9999 25C19.0821 25 14.2856 29.7964 14.2856 35.7143V64.2857C14.2856 67.3786 15.0749 70.2893 16.4571 72.8286C18.9928 74.2143 21.9035 75 24.9999 75H53.5714C59.4892 75 64.2856 70.2036 64.2856 64.2857V35.7143C64.2856 32.6214 63.4964 29.7107 62.1142 27.1714C59.5785 25.7857 56.6678 25 53.5714 25H24.9999Z" fill="%23FAFAFA"/>%0A<path d="M14.2859 64.2857V35.7143C14.2859 29.7964 19.0823 25 25.0002 25H53.5716C56.6645 25 59.5752 25.7893 62.1145 27.1714C59.0859 21.6214 53.1966 17.8571 46.4288 17.8571H25.0002C15.1395 17.8571 7.14304 25.8535 7.14304 35.7143V44.0643L0.278759 51.6214C-0.131955 52.0714 -0.0855263 52.7785 0.385902 53.1678C2.46447 54.8964 4.75019 56.225 7.14304 57.1714C7.15376 63.9285 10.9145 69.8035 16.4573 72.8285C15.0716 70.2928 14.2859 67.3821 14.2859 64.2857Z" fill="%23FAFAFA"/>%0A<path d="M25.357 40.7143C25.357 39.5308 24.3976 38.5714 23.2141 38.5714C22.0307 38.5714 21.0713 39.5308 21.0713 40.7143V45C21.0713 46.1834 22.0307 47.1428 23.2141 47.1428C24.3976 47.1428 25.357 46.1834 25.357 45V40.7143Z" fill="%23FAFAFA"/>%0A<path d="M36.0715 57.1428C35.0287 57.1428 33.9822 56.875 33.0358 56.3285C32.1822 55.8357 31.8894 54.7428 32.3858 53.8893C32.8787 53.0357 33.9715 52.7428 34.8251 53.2393C35.8037 53.8035 37.043 53.6428 37.8394 52.8464C38.2251 52.4607 38.468 51.9714 38.543 51.4357C38.8644 49.1607 39.868 47 41.4501 45.1857C42.393 44.1071 42.8894 42.7214 42.8537 41.2857C42.7787 38.3535 40.4322 35.9107 37.5072 35.7285C36.518 35.6678 35.5715 35.85 34.693 36.2678C33.8037 36.6893 32.7358 36.3107 32.3144 35.4214C31.8894 34.5321 32.2715 33.4643 33.1608 33.0428C34.5751 32.3714 36.1572 32.0643 37.7322 32.1643C42.4894 32.4607 46.3072 36.4285 46.4251 41.1964C46.4822 43.5285 45.6715 45.7785 44.143 47.5357C43.018 48.825 42.3037 50.3464 42.0822 51.9321C41.8965 53.2428 41.3037 54.4321 40.368 55.3714C39.2001 56.5393 37.6465 57.1464 36.0751 57.1464L36.0715 57.1428Z" fill="%23FAFAFA"/>%0A<path d="M62.1142 27.1714C63.4999 29.7072 64.2856 32.6179 64.2856 35.7143V64.2857C64.2856 70.2036 59.4892 75 53.5713 75H24.9999C21.907 75 18.9963 74.2107 16.457 72.8286C19.4856 78.3786 25.3749 82.1429 32.1427 82.1429H48.2535C49.2177 82.1429 49.9999 82.925 49.9999 83.8893C49.9999 84.9107 50.8749 85.7215 51.8927 85.6322C62.8392 84.675 71.4285 75.4822 71.4285 64.2857V42.8572C71.4285 36.0893 67.6642 30.2 62.1142 27.1714Z" fill="%23FAFAFA"/>%0A</g>%0A<defs>%0A<clipPath id="clip0_2255_7326">%0A<rect width="200" height="100" fill="white"/>%0A</clipPath>%0A</defs>%0A</svg>%0A',lb='data:image/svg+xml,<?xml version="1.0" encoding="UTF-8"?>%0A<svg id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" viewBox="0 0 200 100">%0A <!-- Generator: Adobe Illustrator 30.4.0, SVG Export Plug-In . SVG Version: 2.1.4 Build 226) -->%0A <defs>%0A <style>%0A .st0 {%0A fill: none;%0A }%0A%0A .st1 {%0A fill: %234dcdc0;%0A }%0A%0A .st2 {%0A fill: %23499cdf;%0A }%0A%0A .st3 {%0A fill: %23fff;%0A }%0A%0A .st4 {%0A clip-path: url(%23clippath);%0A }%0A </style>%0A <clipPath id="clippath">%0A <rect class="st0" width="200" height="100"/>%0A </clipPath>%0A </defs>%0A <g class="st4">%0A <g>%0A <path class="st3" d="M96.43,48.35v-24.1h30.62v24.1h-30.62ZM142.98,69.15v7.21h-44.76v-15.72h34.46v-2.13h-34.6v-7.21h44.35v15.72h-34.33v2.13h34.88,0ZM106.25,32.56v7.41h11.05v-7.41h-11.05ZM148.33,40.39h-5.9v9.06h-9.89v-25.81h9.89v7.21h5.9v9.54h0Z"/>%0A <path class="st3" d="M185.54,47.87v9.4c-2.79,1.28-7.16,1.92-13.11,1.92h-.62v17.16h-9.89v-17.16h-12.22v-9.4h22.86c5.86,0,10.18-.64,12.98-1.92h0ZM152.59,34.28v-9.4h28.7v22.17h-9.89v-12.77h-18.81ZM198.31,76.36h-9.89V23.64h9.89v52.73h0Z"/>%0A <path class="st1" d="M46.43,17.86h-21.43c-9.86,0-17.86,7.99-17.86,17.86v21.43c0,9.86,7.99,17.86,17.86,17.86h21.43c9.86,0,17.86-7.99,17.86-17.86v-21.43c0-9.86-7.99-17.86-17.86-17.86Z"/>%0A <path class="st1" d="M34.86,50.74c-9.03,9.94-24.25,10.93-34.48,2.42-.47-.39-.52-1.1-.11-1.55l16.07-17.69,18.51,16.81Z"/>%0A <path class="st1" d="M53.57,25h-21.43c-9.86,0-17.86,8-17.86,17.86v21.43c0,9.86,8,17.86,17.86,17.86h16.11c.96,0,1.75.78,1.75,1.75,0,1.02.88,1.83,1.89,1.74,10.95-.96,19.54-10.15,19.54-21.35v-21.43c0-9.86-8-17.86-17.86-17.86Z"/>%0A <path class="st2" d="M25,25c-5.92,0-10.71,4.8-10.71,10.71v28.57c0,3.09.79,6,2.17,8.54,2.54,1.39,5.45,2.17,8.54,2.17h28.57c5.92,0,10.71-4.8,10.71-10.71v-28.57c0-3.09-.79-6-2.17-8.54-2.54-1.39-5.45-2.17-8.54-2.17h-28.57Z"/>%0A <path class="st3" d="M25.36,40.71c0-1.18-.96-2.14-2.14-2.14s-2.14.96-2.14,2.14v4.29c0,1.18.96,2.14,2.14,2.14s2.14-.96,2.14-2.14v-4.29Z"/>%0A <path class="st3" d="M36.07,57.14c-1.04,0-2.09-.27-3.04-.81-.85-.49-1.15-1.59-.65-2.44.49-.85,1.59-1.15,2.44-.65.98.56,2.22.4,3.01-.39.39-.39.63-.88.7-1.41.32-2.27,1.33-4.44,2.91-6.25.94-1.08,1.44-2.46,1.4-3.9-.07-2.93-2.42-5.38-5.35-5.56-.99-.06-1.94.12-2.81.54-.89.43-1.96.04-2.38-.85-.42-.89-.04-1.96.85-2.38,1.41-.67,2.99-.97,4.57-.88,4.76.3,8.58,4.26,8.69,9.03.06,2.33-.75,4.58-2.28,6.34-1.12,1.29-1.84,2.81-2.06,4.4-.19,1.31-.78,2.5-1.71,3.44-1.17,1.17-2.72,1.78-4.29,1.78h0Z"/>%0A </g>%0A </g>%0A</svg>',cb='data:image/svg+xml,<svg width="200" height="100" viewBox="0 0 200 100" fill="none" xmlns="http://www.w3.org/2000/svg">%0A<g clip-path="url(%23clip0_2255_7325)">%0A<path d="M96.4287 48.3536V24.2572H127.047V48.3536H96.4287ZM142.975 69.1536V76.3607H98.2144V60.6393H132.679V58.5107H98.0787V51.3036H142.429V67.025H108.104V69.1536H142.979H142.975ZM106.247 32.5643V39.9786H117.3V32.5643H106.247ZM148.329 40.3893H142.425V49.45H132.539V23.6357H142.425V30.8429H148.329V40.3857V40.3893Z" fill="%23111111"/>%0A<path d="M185.536 47.8714V57.275C182.743 58.5571 178.371 59.1964 172.425 59.1964H171.807V76.3607H161.921V59.1964H149.704V49.7929H172.564C178.421 49.7929 182.746 49.1536 185.539 47.8714H185.536ZM152.586 34.2786V24.875H181.282V47.05H171.396V34.2821H152.586V34.2786ZM198.307 76.3607H188.421V23.6393H198.307V76.3643V76.3607Z" fill="%23111111"/>%0A<path opacity="0.1" d="M24.9999 25C19.0821 25 14.2856 29.7964 14.2856 35.7143V64.2857C14.2856 67.3786 15.0749 70.2893 16.4571 72.8286C18.9928 74.2143 21.9035 75 24.9999 75H53.5714C59.4892 75 64.2856 70.2036 64.2856 64.2857V35.7143C64.2856 32.6214 63.4964 29.7107 62.1142 27.1714C59.5785 25.7857 56.6678 25 53.5714 25H24.9999Z" fill="%23111111"/>%0A<path d="M14.2859 64.2857V35.7143C14.2859 29.7964 19.0823 25 25.0002 25H53.5716C56.6645 25 59.5752 25.7893 62.1145 27.1714C59.0859 21.6214 53.1966 17.8571 46.4288 17.8571H25.0002C15.1395 17.8571 7.14304 25.8535 7.14304 35.7143V44.0643L0.278759 51.6214C-0.131955 52.0714 -0.0855263 52.7785 0.385902 53.1678C2.46447 54.8964 4.75019 56.225 7.14304 57.1714C7.15376 63.9285 10.9145 69.8035 16.4573 72.8285C15.0716 70.2928 14.2859 67.3821 14.2859 64.2857Z" fill="%23111111"/>%0A<path d="M25.357 40.7143C25.357 39.5308 24.3976 38.5714 23.2141 38.5714C22.0307 38.5714 21.0713 39.5308 21.0713 40.7143V45C21.0713 46.1834 22.0307 47.1428 23.2141 47.1428C24.3976 47.1428 25.357 46.1834 25.357 45V40.7143Z" fill="%23111111"/>%0A<path d="M36.0715 57.1428C35.0287 57.1428 33.9822 56.875 33.0358 56.3285C32.1822 55.8357 31.8894 54.7428 32.3858 53.8893C32.8787 53.0357 33.9715 52.7428 34.8251 53.2393C35.8037 53.8035 37.043 53.6428 37.8394 52.8464C38.2251 52.4607 38.468 51.9714 38.543 51.4357C38.8644 49.1607 39.868 47 41.4501 45.1857C42.393 44.1071 42.8894 42.7214 42.8537 41.2857C42.7787 38.3535 40.4322 35.9107 37.5072 35.7285C36.518 35.6678 35.5715 35.85 34.693 36.2678C33.8037 36.6893 32.7358 36.3107 32.3144 35.4214C31.8894 34.5321 32.2715 33.4643 33.1608 33.0428C34.5751 32.3714 36.1572 32.0643 37.7322 32.1643C42.4894 32.4607 46.3072 36.4285 46.4251 41.1964C46.4822 43.5285 45.6715 45.7785 44.143 47.5357C43.018 48.825 42.3037 50.3464 42.0822 51.9321C41.8965 53.2428 41.3037 54.4321 40.368 55.3714C39.2001 56.5393 37.6465 57.1464 36.0751 57.1464L36.0715 57.1428Z" fill="%23111111"/>%0A<path d="M62.1142 27.1714C63.4999 29.7072 64.2856 32.6179 64.2856 35.7143V64.2857C64.2856 70.2036 59.4892 75 53.5713 75H24.9999C21.907 75 18.9963 74.2107 16.457 72.8286C19.4856 78.3786 25.3749 82.1429 32.1427 82.1429H48.2535C49.2177 82.1429 49.9999 82.925 49.9999 83.8893C49.9999 84.9107 50.8749 85.7215 51.8927 85.6322C62.8392 84.675 71.4285 75.4822 71.4285 64.2857V42.8572C71.4285 36.0893 67.6642 30.2 62.1142 27.1714Z" fill="%23111111"/>%0A</g>%0A<defs>%0A<clipPath id="clip0_2255_7325">%0A<rect width="200" height="100" fill="white"/>%0A</clipPath>%0A</defs>%0A</svg>%0A',ub='data:image/svg+xml,<svg width="371" height="100" viewBox="0 0 371 100" fill="none" xmlns="http://www.w3.org/2000/svg">%0A<g clip-path="url(%23clip0_2255_7395)">%0A<path d="M237.151 26.0393V72.7215H216.65V26.0393H237.151ZM234.408 70.0465V28.7179H219.254V70.0465H234.408ZM261.495 76.3608H258.819V48.9679H247.575V75.4679H244.899V23.9822H247.575V46.2929H258.819V23.6393H261.495V76.3643V76.3608Z" fill="%23FAFAFA"/>%0A<path d="M299.722 69.2572C302.076 68.7751 304.031 68.1465 305.583 67.3679V70.1143C304.074 70.9393 302.144 71.5786 299.79 72.0358C297.435 72.4929 295.045 72.7215 292.623 72.7215H272.257V25.6965H275.001V69.9751H292.623C294.999 69.9751 297.364 69.7358 299.722 69.2536V69.2572ZM311.69 76.4322V23.6393H314.434V76.3643L311.69 76.4322Z" fill="%23FAFAFA"/>%0A<path d="M340.557 47.9393L358.179 70.4572L356.053 72.1036L339.872 51.1643C338.409 57.3429 336.33 62.2643 333.633 65.925C330.936 69.5857 327.736 71.8536 324.033 72.7215V69.975C327.279 69.15 330.044 66.8643 332.331 63.1107C334.617 59.3572 336.355 54.5179 337.543 48.5893C338.731 42.6643 339.369 36.0393 339.462 28.7143H324.993V26.0357H356.603V28.7143H342.201C342.155 35.9 341.606 42.3072 340.557 47.9357V47.9393ZM369.22 76.3607H366.477V47.4572H352.418V44.7786H366.477V23.6357H369.22V76.3607Z" fill="%23FAFAFA"/>%0A<path d="M92.8784 48.3536V24.2572H123.461V48.3536H92.8784ZM139.371 69.1536V76.3607H94.6621V60.6393H129.087V58.5107H94.5265V51.3036H138.825V67.025H104.54V69.1536H139.375H139.371ZM102.685 32.5643V39.9786H113.726V32.5643H102.685ZM144.719 40.3893H138.822V49.45H128.947V23.6357H138.822V30.8429H144.719V40.3857V40.3893Z" fill="%23FAFAFA"/>%0A<path d="M181.886 47.8715V57.2751C179.097 58.5572 174.73 59.1965 168.791 59.1965H168.174V76.3608H158.299V59.1965H146.096V49.7929H168.93C174.78 49.7929 179.1 49.1536 181.89 47.8715H181.886ZM148.971 34.2786V24.8751H177.634V47.0501H167.76V34.2822H148.971V34.2786ZM194.64 76.3608H184.765V23.6393H194.64V76.3643V76.3608Z" fill="%23FAFAFA"/>%0A<g opacity="0.1">%0A<path d="M26.7512 25C20.8402 25 16.0493 29.7964 16.0493 35.7143V64.2857C16.0493 67.3786 16.8377 70.2893 18.2182 72.8286C20.751 74.2143 23.6584 75 26.7512 75H55.2897C61.2007 75 65.9916 70.2036 65.9916 64.2857V35.7143C65.9916 32.6214 65.2032 29.7107 63.8227 27.1714C61.2899 25.7857 58.3826 25 55.2897 25H26.7512Z" fill="%23FAFAFA"/>%0A</g>%0A<path d="M48.155 17.8571H26.7511C16.9018 17.8571 8.91459 25.8536 8.91459 35.7143V44.0643L2.05822 51.6179C1.64798 52.0679 1.69436 52.775 2.16524 53.1643C4.24141 54.8929 6.52449 56.2214 8.91459 57.1679C8.92529 63.925 12.6817 69.8 18.2181 72.825C16.834 70.2893 16.0492 67.3786 16.0492 64.2821V35.7107C16.0492 29.7929 20.8401 24.9964 26.7511 24.9964H55.2896C58.3789 24.9964 61.2862 25.7857 63.8226 27.1679C60.7975 21.6179 54.915 17.8536 48.155 17.8536V17.8571Z" fill="%23FAFAFA"/>%0A<path d="M63.8227 27.1714C65.2068 29.7072 65.9916 32.6179 65.9916 35.7143V64.2857C65.9916 70.2036 61.2008 75 55.2897 75H26.7513C23.662 75 20.7546 74.2107 18.2183 72.8286C21.2433 78.3786 27.1258 82.1429 33.8859 82.1429H49.978C50.9412 82.1429 51.7224 82.925 51.7224 83.8893C51.7224 84.9107 52.5964 85.7215 53.6131 85.6322C64.5469 84.675 73.1263 75.4822 73.1263 64.2857V42.8572C73.1263 36.0893 69.3663 30.2 63.8227 27.1714Z" fill="%23FAFAFA"/>%0A<path d="M27.1079 40.7143C27.1079 39.5308 26.1496 38.5714 24.9675 38.5714C23.7854 38.5714 22.8271 39.5308 22.8271 40.7143V45C22.8271 46.1834 23.7854 47.1428 24.9675 47.1428C26.1496 47.1428 27.1079 46.1834 27.1079 45V40.7143Z" fill="%23FAFAFA"/>%0A<path d="M37.8097 57.1429C36.768 57.1429 35.7228 56.875 34.7775 56.3286C33.9249 55.8357 33.6323 54.7429 34.1282 53.8893C34.6205 53.0357 35.7121 52.7429 36.5647 53.2393C37.5421 53.8036 38.78 53.6429 39.5755 52.8464C39.9608 52.4607 40.2033 51.9714 40.2782 51.4357C40.5993 49.1607 41.6017 47 43.182 45.1857C44.1238 44.1071 44.6197 42.7214 44.584 41.2857C44.5091 38.3536 42.1653 35.9107 39.2437 35.7286C38.2556 35.6679 37.3102 35.8464 36.4327 36.2679C35.5444 36.6929 34.4778 36.3107 34.0569 35.4214C33.6323 34.5321 34.014 33.4643 34.9023 33.0429C36.315 32.3714 37.8917 32.0679 39.4685 32.1643C44.2201 32.4607 48.0336 36.4286 48.1513 41.1964C48.2084 43.5286 47.3986 45.7786 45.8718 47.5357C44.7481 48.825 44.0346 50.3464 43.8134 51.9357C43.6279 53.2464 43.0358 54.4357 42.1011 55.375C40.9346 56.5429 39.3828 57.15 37.8132 57.15L37.8097 57.1429Z" fill="%23FAFAFA"/>%0A</g>%0A<defs>%0A<clipPath id="clip0_2255_7395">%0A<rect width="371" height="100" fill="white"/>%0A</clipPath>%0A</defs>%0A</svg>%0A',db='data:image/svg+xml,<?xml version="1.0" encoding="UTF-8"?>%0A<svg id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" viewBox="0 0 371 100">%0A <!-- Generator: Adobe Illustrator 30.4.0, SVG Export Plug-In . SVG Version: 2.1.4 Build 226) -->%0A <defs>%0A <style>%0A .st0 {%0A fill: none;%0A }%0A%0A .st1 {%0A fill: %234dcdc0;%0A }%0A%0A .st2 {%0A fill: %23499cdf;%0A }%0A%0A .st3 {%0A fill: %23fff;%0A }%0A%0A .st4 {%0A clip-path: url(%23clippath);%0A }%0A </style>%0A <clipPath id="clippath">%0A <rect class="st0" width="371" height="100"/>%0A </clipPath>%0A </defs>%0A <g class="st4">%0A <g>%0A <path class="st3" d="M237.15,26.04v46.68h-20.5V26.04h20.5ZM234.41,70.05V28.72h-15.15v41.33h15.15ZM261.49,76.36h-2.68v-27.39h-11.24v26.5h-2.68V23.98h2.68v22.31h11.24v-22.65h2.68v52.73h0Z"/>%0A <path class="st3" d="M299.72,69.26c2.35-.48,4.31-1.11,5.86-1.89v2.75c-1.51.82-3.44,1.46-5.79,1.92-2.35.46-4.74.69-7.17.69h-20.37V25.7h2.74v44.28h17.62c2.38,0,4.74-.24,7.1-.72h0ZM311.69,76.43V23.64h2.74v52.73l-2.74.07Z"/>%0A <path class="st3" d="M340.56,47.94l17.62,22.52-2.13,1.65-16.18-20.94c-1.46,6.18-3.54,11.1-6.24,14.76-2.7,3.66-5.9,5.93-9.6,6.8v-2.75c3.25-.82,6.01-3.11,8.3-6.86,2.29-3.75,4.02-8.59,5.21-14.52,1.19-5.92,1.83-12.55,1.92-19.87h-14.47v-2.68h31.61v2.68h-14.4c-.05,7.19-.6,13.59-1.64,19.22h0ZM369.22,76.36h-2.74v-28.9h-14.06v-2.68h14.06v-21.14h2.74v52.73Z"/>%0A <path class="st3" d="M92.88,48.35v-24.1h30.58v24.1h-30.58ZM139.37,69.15v7.21h-44.71v-15.72h34.42v-2.13h-34.56v-7.21h44.3v15.72h-34.28v2.13h34.83,0ZM102.68,32.56v7.41h11.04v-7.41h-11.04ZM144.72,40.39h-5.9v9.06h-9.88v-25.81h9.88v7.21h5.9v9.54h0Z"/>%0A <path class="st3" d="M181.89,47.87v9.4c-2.79,1.28-7.16,1.92-13.1,1.92h-.62v17.16h-9.88v-17.16h-12.2v-9.4h22.83c5.85,0,10.17-.64,12.96-1.92h0ZM148.97,34.28v-9.4h28.66v22.17h-9.87v-12.77h-18.79ZM194.64,76.36h-9.88V23.64h9.88v52.73h0Z"/>%0A <path class="st1" d="M48.15,17.86h-21.4c-9.85,0-17.84,7.99-17.84,17.86v21.43c0,9.86,7.99,17.86,17.84,17.86h21.4c9.85,0,17.84-7.99,17.84-17.86v-21.43c0-9.86-7.99-17.86-17.84-17.86Z"/>%0A <path class="st1" d="M36.6,50.74c-9.02,9.94-24.22,10.93-34.44,2.42-.47-.39-.52-1.1-.11-1.55l16.06-17.69,18.49,16.81Z"/>%0A <path class="st1" d="M55.29,25h-21.4c-9.85,0-17.84,8-17.84,17.86v21.43c0,9.86,7.99,17.86,17.84,17.86h16.09c.96,0,1.74.78,1.74,1.75,0,1.02.87,1.83,1.89,1.74,10.93-.96,19.51-10.15,19.51-21.35v-21.43c0-9.86-7.99-17.86-17.84-17.86Z"/>%0A <path class="st2" d="M26.75,25c-5.91,0-10.7,4.8-10.7,10.71v28.57c0,3.09.79,6,2.17,8.54,2.53,1.39,5.44,2.17,8.53,2.17h28.54c5.91,0,10.7-4.8,10.7-10.71v-28.57c0-3.09-.79-6-2.17-8.54-2.53-1.39-5.44-2.17-8.53-2.17h-28.54Z"/>%0A <path class="st3" d="M27.11,40.71c0-1.18-.96-2.14-2.14-2.14s-2.14.96-2.14,2.14v4.29c0,1.18.96,2.14,2.14,2.14s2.14-.96,2.14-2.14v-4.29Z"/>%0A <path class="st3" d="M37.81,57.14c-1.04,0-2.09-.27-3.03-.81-.85-.49-1.15-1.59-.65-2.44.49-.85,1.58-1.15,2.44-.65.98.56,2.22.4,3.01-.39.39-.39.63-.88.7-1.41.32-2.27,1.32-4.44,2.9-6.25.94-1.08,1.44-2.46,1.4-3.9-.07-2.93-2.42-5.38-5.34-5.56-.99-.06-1.93.12-2.81.54-.89.43-1.95.04-2.38-.85-.42-.89-.04-1.96.85-2.38,1.41-.67,2.99-.97,4.57-.88,4.75.3,8.57,4.26,8.68,9.03.06,2.33-.75,4.58-2.28,6.34-1.12,1.29-1.84,2.81-2.06,4.4-.19,1.31-.78,2.5-1.71,3.44-1.17,1.17-2.72,1.78-4.29,1.78h0Z"/>%0A </g>%0A </g>%0A</svg>',pb='data:image/svg+xml,<svg width="371" height="100" viewBox="0 0 371 100" fill="none" xmlns="http://www.w3.org/2000/svg">%0A<g clip-path="url(%23clip0_2255_7394)">%0A<path d="M237.151 26.0393V72.7215H216.65V26.0393H237.151ZM234.408 70.0465V28.7179H219.254V70.0465H234.408ZM261.495 76.3608H258.819V48.9679H247.575V75.4679H244.899V23.9822H247.575V46.2929H258.819V23.6393H261.495V76.3643V76.3608Z" fill="%23111111"/>%0A<path d="M299.722 69.2572C302.076 68.7751 304.031 68.1465 305.583 67.3679V70.1143C304.074 70.9393 302.144 71.5786 299.79 72.0358C297.435 72.4929 295.045 72.7215 292.623 72.7215H272.257V25.6965H275.001V69.9751H292.623C294.999 69.9751 297.364 69.7358 299.722 69.2536V69.2572ZM311.69 76.4322V23.6393H314.434V76.3643L311.69 76.4322Z" fill="%23111111"/>%0A<path d="M340.557 47.9393L358.179 70.4572L356.053 72.1036L339.872 51.1643C338.409 57.3429 336.33 62.2643 333.633 65.925C330.936 69.5857 327.736 71.8536 324.033 72.7215V69.975C327.279 69.15 330.044 66.8643 332.331 63.1107C334.617 59.3572 336.355 54.5179 337.543 48.5893C338.731 42.6643 339.369 36.0393 339.462 28.7143H324.993V26.0357H356.603V28.7143H342.201C342.155 35.9 341.606 42.3072 340.557 47.9357V47.9393ZM369.22 76.3607H366.477V47.4572H352.418V44.7786H366.477V23.6357H369.22V76.3607Z" fill="%23111111"/>%0A<path d="M92.8784 48.3536V24.2572H123.461V48.3536H92.8784ZM139.371 69.1536V76.3607H94.6621V60.6393H129.087V58.5107H94.5265V51.3036H138.825V67.025H104.54V69.1536H139.375H139.371ZM102.685 32.5643V39.9786H113.726V32.5643H102.685ZM144.719 40.3893H138.822V49.45H128.947V23.6357H138.822V30.8429H144.719V40.3857V40.3893Z" fill="%23111111"/>%0A<path d="M181.886 47.8715V57.2751C179.097 58.5572 174.73 59.1965 168.791 59.1965H168.174V76.3608H158.299V59.1965H146.096V49.7929H168.93C174.78 49.7929 179.1 49.1536 181.89 47.8715H181.886ZM148.971 34.2786V24.8751H177.634V47.0501H167.76V34.2822H148.971V34.2786ZM194.64 76.3608H184.765V23.6393H194.64V76.3643V76.3608Z" fill="%23111111"/>%0A<g opacity="0.1">%0A<path d="M26.7512 25C20.8402 25 16.0493 29.7964 16.0493 35.7143V64.2857C16.0493 67.3786 16.8377 70.2893 18.2182 72.8286C20.751 74.2143 23.6584 75 26.7512 75H55.2897C61.2007 75 65.9916 70.2036 65.9916 64.2857V35.7143C65.9916 32.6214 65.2032 29.7107 63.8227 27.1714C61.2899 25.7857 58.3826 25 55.2897 25H26.7512Z" fill="%23111111"/>%0A</g>%0A<path d="M48.155 17.8571H26.7511C16.9018 17.8571 8.91459 25.8536 8.91459 35.7143V44.0643L2.05822 51.6179C1.64798 52.0679 1.69436 52.775 2.16524 53.1643C4.24141 54.8929 6.52449 56.2214 8.91459 57.1679C8.92529 63.925 12.6817 69.8 18.2181 72.825C16.834 70.2893 16.0492 67.3786 16.0492 64.2821V35.7107C16.0492 29.7929 20.8401 24.9964 26.7511 24.9964H55.2896C58.3789 24.9964 61.2862 25.7857 63.8226 27.1679C60.7975 21.6179 54.915 17.8536 48.155 17.8536V17.8571Z" fill="%23111111"/>%0A<path d="M63.8227 27.1714C65.2068 29.7072 65.9916 32.6179 65.9916 35.7143V64.2857C65.9916 70.2036 61.2008 75 55.2897 75H26.7513C23.662 75 20.7546 74.2107 18.2183 72.8286C21.2433 78.3786 27.1258 82.1429 33.8859 82.1429H49.978C50.9412 82.1429 51.7224 82.925 51.7224 83.8893C51.7224 84.9107 52.5964 85.7215 53.6131 85.6322C64.5469 84.675 73.1263 75.4822 73.1263 64.2857V42.8572C73.1263 36.0893 69.3663 30.2 63.8227 27.1714Z" fill="%23111111"/>%0A<path d="M27.1079 40.7143C27.1079 39.5308 26.1496 38.5714 24.9675 38.5714C23.7854 38.5714 22.8271 39.5308 22.8271 40.7143V45C22.8271 46.1834 23.7854 47.1428 24.9675 47.1428C26.1496 47.1428 27.1079 46.1834 27.1079 45V40.7143Z" fill="%23111111"/>%0A<path d="M37.8097 57.1429C36.768 57.1429 35.7228 56.875 34.7775 56.3286C33.9249 55.8357 33.6323 54.7429 34.1282 53.8893C34.6205 53.0357 35.7121 52.7429 36.5647 53.2393C37.5421 53.8036 38.78 53.6429 39.5755 52.8464C39.9608 52.4607 40.2033 51.9714 40.2782 51.4357C40.5993 49.1607 41.6017 47 43.182 45.1857C44.1238 44.1071 44.6197 42.7214 44.584 41.2857C44.5091 38.3536 42.1653 35.9107 39.2437 35.7286C38.2556 35.6679 37.3102 35.8464 36.4327 36.2679C35.5444 36.6929 34.4778 36.3107 34.0569 35.4214C33.6323 34.5321 34.014 33.4643 34.9023 33.0429C36.315 32.3714 37.8917 32.0679 39.4685 32.1643C44.2201 32.4607 48.0336 36.4286 48.1513 41.1964C48.2084 43.5286 47.3986 45.7786 45.8718 47.5357C44.7481 48.825 44.0346 50.3464 43.8134 51.9357C43.6279 53.2464 43.0358 54.4357 42.1011 55.375C40.9346 56.5429 39.3828 57.15 37.8132 57.15L37.8097 57.1429Z" fill="%23111111"/>%0A</g>%0A<defs>%0A<clipPath id="clip0_2255_7394">%0A<rect width="371" height="100" fill="white"/>%0A</clipPath>%0A</defs>%0A</svg>%0A',pl='data:image/svg+xml,<svg width="100" height="100" viewBox="0 0 100 100" fill="none" xmlns="http://www.w3.org/2000/svg">%0A<g clip-path="url(%23clip0_2255_7305)">%0A<path d="M75.2535 24.7464C68.7892 18.2821 59.8606 14.2857 49.9999 14.2857C40.1392 14.2857 37.5214 24.5964 31.0606 31.0607C24.5964 37.525 14.2856 40.1893 14.2856 50C14.2856 59.8107 18.2821 68.7893 24.7464 75.2536C31.2106 81.7179 40.1392 85.7143 49.9999 85.7143C59.8606 85.7143 68.7892 81.7179 75.2535 75.2536C81.7178 68.7893 85.7142 59.8607 85.7142 50C85.7142 40.1393 81.7178 31.2107 75.2535 24.7464ZM62.6285 62.6286C59.3964 65.8607 54.9321 67.8571 49.9999 67.8571C45.0678 67.8571 40.6035 65.8571 37.3714 62.6286C34.1392 59.3964 32.1428 54.9321 32.1428 50C32.1428 45.0678 34.1428 40.6036 37.3714 37.3714C40.6035 34.1393 45.0678 32.1428 49.9999 32.1428C54.9321 32.1428 59.3964 34.1428 62.6285 37.3714C65.8606 40.6036 67.8571 45.0678 67.8571 50C67.8571 54.9321 65.8571 59.3964 62.6285 62.6286Z" fill="%23FAFAFA"/>%0A</g>%0A<defs>%0A<clipPath id="clip0_2255_7305">%0A<rect width="100" height="100" fill="white"/>%0A</clipPath>%0A</defs>%0A</svg>%0A';const Fn={text:"--pass-card-text",sub:"--pass-card-sub",copyright:"--pass-card-copyright"},Jr=new WeakMap;function mb(e){if(e)return Jr.get(e)}function Cn(e,t){e&&(e.style.setProperty(Fn.text,t.text),e.style.setProperty(Fn.sub,t.sub),t.copyrightColor&&e.style.setProperty(Fn.copyright,t.copyrightColor),Jr.set(e,t))}function gn(e){e&&(e.style.removeProperty(Fn.text),e.style.removeProperty(Fn.sub),e.style.removeProperty(Fn.copyright),Jr.delete(e))}const ml={text:"var(--color-pureBlack)",sub:"var(--color-lightGray)",logoBase:"Logo_speechear_kr",copyrightColor:"#1a1a1a"};function hl(e={}){const t=dt(ml,Cn,gn);return n.jsxs("div",{ref:t,className:"pass-card-bg pass-card-bg-two-circle","aria-hidden":"true",children:[n.jsx("div",{className:"pass-card-bg-two-circle__c1"}),n.jsx("div",{className:"pass-card-bg-two-circle__c3"}),n.jsx("span",{className:"pass-card-bg__symbol pass-card-bg-two-circle__symbol",style:{"--symbol-url":`url("${pl}")`}})]})}const fl="M75.2535 24.7464C68.7892 18.2821 59.8606 14.2857 49.9999 14.2857C40.1392 14.2857 37.5214 24.5964 31.0606 31.0607C24.5964 37.525 14.2856 40.1893 14.2856 50C14.2856 59.8107 18.2821 68.7893 24.7464 75.2536C31.2106 81.7178 40.1392 85.7143 49.9999 85.7143C59.8606 85.7143 68.7892 81.7178 75.2535 75.2536C81.7178 68.7893 85.7142 59.8607 85.7142 50C85.7142 40.1393 81.7178 31.2107 75.2535 24.7464Z";var xa='data:image/svg+xml,<svg width="100" height="100" viewBox="0 0 100 100" fill="none" xmlns="http://www.w3.org/2000/svg">%0A<g clip-path="url(%23clip0_2175_65181)">%0A<path d="M75.2535 24.7464C68.7892 18.2821 59.8606 14.2857 49.9999 14.2857C40.1392 14.2857 37.5214 24.5964 31.0606 31.0607C24.5964 37.525 14.2856 40.1893 14.2856 50C14.2856 59.8107 18.2821 68.7893 24.7464 75.2536C31.2106 81.7178 40.1392 85.7143 49.9999 85.7143C59.8606 85.7143 68.7892 81.7178 75.2535 75.2536C81.7178 68.7893 85.7142 59.8607 85.7142 50C85.7142 40.1393 81.7178 31.2107 75.2535 24.7464ZM62.6285 62.6286C59.3964 65.8607 54.9321 67.8571 49.9999 67.8571C45.0678 67.8571 40.6035 65.8571 37.3714 62.6286C34.1392 59.3964 32.1428 54.9321 32.1428 50C32.1428 45.0678 34.1428 40.6036 37.3714 37.3714C40.6035 34.1393 45.0678 32.1428 49.9999 32.1428C54.9321 32.1428 59.3964 34.1428 62.6285 37.3714C65.8606 40.6036 67.8571 45.0678 67.8571 50C67.8571 54.9321 65.8571 59.3964 62.6285 62.6286Z" fill="url(%23paint0_linear_2175_65181)"/>%0A</g>%0A<defs>%0A<linearGradient id="paint0_linear_2175_65181" x1="29.6392" y1="29.6393" x2="75.2535" y2="75.2536" gradientUnits="userSpaceOnUse">%0A<stop offset="0.2" stop-color="%23499CDF"/>%0A<stop offset="0.8" stop-color="%234DCDC0"/>%0A</linearGradient>%0A<clipPath id="clip0_2175_65181">%0A<rect width="100" height="100" fill="white"/>%0A</clipPath>%0A</defs>%0A</svg>%0A';const hb={text:"#1a1a1a",sub:"var(--color-lightGray)",logoBase:"Logo_speechear_kr",copyrightColor:"var(--color-main)"},fb=[{scale:1,opacity:.55},{scale:2,opacity:.4},{scale:3.1,opacity:.28},{scale:4.5,opacity:.18},{scale:6,opacity:.1}];function Cl(e={}){const t=dt(hb,Cn,gn),a="var(--color-main)",r=270,s=170;return n.jsxs("div",{ref:t,className:"pass-card-bg pass-card-bg-sound-move","aria-hidden":"true",children:[n.jsx("svg",{className:"pass-card-bg-sound-move__svg",viewBox:"0 0 300 189",preserveAspectRatio:"xMidYMid meet",xmlns:"http://www.w3.org/2000/svg",children:fb.map(({scale:i,opacity:l},c)=>n.jsx("g",{transform:`translate(${r} ${s}) scale(${i}) translate(-50 -50)`,opacity:l,children:n.jsx("path",{d:fl,fill:"none",stroke:a,strokeWidth:"1.5",vectorEffect:"non-scaling-stroke"})},c))}),n.jsx("span",{className:"pass-card-bg__symbol pass-card-bg-sound-move__symbol",style:{"--symbol-url":`url("${xa}")`}})]})}const Cb={text:"#ffffff",sub:"var(--color-lightGray)",logoBase:"Logo_speechear_kr",logoColor:"_white",copyrightColor:"#ffffff"},gb=[{scale:1,opacity:.55},{scale:2,opacity:.4},{scale:3.1,opacity:.28},{scale:4.5,opacity:.18},{scale:6,opacity:.1}];function bb(e={}){const t=dt(Cb,Cn,gn),a="#ffffff",r=270,s=170;return n.jsxs("div",{ref:t,className:"pass-card-bg pass-card-bg-sound-move-v1","aria-hidden":"true",children:[n.jsx("svg",{className:"pass-card-bg-sound-move-v1__svg",viewBox:"0 0 300 189",preserveAspectRatio:"xMidYMid meet",xmlns:"http://www.w3.org/2000/svg",children:gb.map(({scale:i,opacity:l},c)=>n.jsx("g",{transform:`translate(${r} ${s}) scale(${i}) translate(-50 -50)`,opacity:l,children:n.jsx("path",{d:fl,fill:"none",stroke:a,strokeWidth:"1.5",vectorEffect:"non-scaling-stroke"})},c))}),n.jsx("span",{className:"pass-card-bg__symbol pass-card-bg-sound-move-v1__symbol",style:{"--symbol-url":`url("${pl}")`}})]})}const yb={text:"#1a1a1a",sub:"var(--color-lightGray)",logoBase:"Logo_speechear_kr",copyrightColor:"var(--color-main)"};function vb(e={}){const t=dt(yb,Cn,gn);return n.jsxs("div",{ref:t,className:"pass-card-bg pass-card-bg-talk","aria-hidden":"true",children:[n.jsx("div",{className:"pass-card-bg-talk__shape pass-card-bg-talk__shape--left"}),n.jsx("div",{className:"pass-card-bg-talk__shape pass-card-bg-talk__shape--right"}),n.jsx("span",{className:"pass-card-bg__symbol pass-card-bg-talk__symbol",style:{"--symbol-url":`url("${xa}")`}})]})}const xb={Logo_speechear_kr:{"":Zr,_white:ib,_textWhite:lb,_black:cb},Logo_speechearManager_kr:{"":Xr,_white:ub,_textWhite:db,_black:pb}};function _b(e,t){if(e)return xb[e]?.[t??""]??void 0}const wb={speechear:Zr,manager:Xr},kb={speechear:"Logo_speechear_kr",manager:"Logo_speechearManager_kr"},gl=10;function bl(e,t){if(e<=0)return t("passCard.remainingSecond",{n:0});const a=Math.floor(e/86400);if(a>0)return t("passCard.remainingDay",{n:a});const r=Math.floor(e/3600);if(r>0)return t("passCard.remainingHour",{n:r});const s=Math.floor(e/60);return s>0?t("passCard.remainingMinute",{n:s}):t("passCard.remainingSecond",{n:Math.floor(e)})}function Ab(e,t,a){if(e==="manager"){const r=/년/.test(t)||/yr|year/i.test(t)||/1년|365/.test(t),s=a==="\uC624\uD508\uD2B9\uAC00"||a===wt.t("passCard.specialLabel");return r?n.jsx(vb,{}):s?n.jsx(bb,{}):n.jsx(Cl,{})}return n.jsx(hl,{})}function yl({product:e,showPrice:t=!1,plan:a,type:r,endDate:s,remainingSeconds:i,endInclusive:l=!1,state:c="active",bg:u,bgOnly:d=!1,textColor:p,subColor:m,copyrightColor:h,logoSrc:g,label:C,price:b,originalPrice:_,discountLabel:f,onUse:y,onRefund:x,onDelete:v}){const{t:k}=fe.useTranslation(),w=e?dl(e):void 0,D=r??w?.type??"speechear",B=a??w?.plan??k("passCard.planSuffix","\uC774\uC6A9\uAD8C"),A=C??w?.label,N=b??(t?w?.price:void 0),M=_??(t?w?.originalPrice:void 0),I=f??w?.discountLabel,$=o.useMemo(()=>{if(N)return null;const ie=e?.durationDays??sb(e?.code);if(!ie||ie<=0)return i!=null?{percent:null,remainingLabel:bl(i,k)}:null;const q=ie*86400;let se;if(i!=null)se=i;else if((c==="active"||c==="expired")&&s){const _e=new Date(s).getTime();if(Number.isNaN(_e))return null;const we=/^(\d{4})-(\d{2})-(\d{2})/.exec(String(s)),De=/^(\d{4})-(\d{2})-(\d{2})/.exec(Ca()),xe=Math.round(we&&De?(Date.UTC(+we[1],+we[2]-1,+we[3])-Date.UTC(+De[1],+De[2]-1,+De[3]))/864e5:(_e-Date.now())/864e5);se=Math.max(0,l?xe+1:xe)*86400}else c==="expired"?se=0:se=q;const me=Math.max(0,Math.min(100,Math.floor(Math.min(se,q)/q*100)));return c==="pending"&&me>=100?null:{percent:me,remainingLabel:bl(se,k)}},[N,c,s,i,l,e?.durationDays,e?.code,k]),V=o.useRef(null),[S,F]=o.useState({}),[z,Y]=o.useState(null),U=!!(y||x||v),G=o.useRef(!1),W=o.useRef(void 0),[Z,P]=o.useState(g);o.useLayoutEffect(()=>{P(g)},[g]),o.useLayoutEffect(()=>{const ie=V.current;ie&&(p!==void 0&&ie.style.setProperty("--pass-card-text",p),m!==void 0&&ie.style.setProperty("--pass-card-sub",m),h!==void 0&&ie.style.setProperty("--pass-card-copyright",h))},[p,m,h]),o.useLayoutEffect(()=>{const ie=V.current;if(!ie)return;const q=mb(ie);if(!g){const se=kb[D],me=c==="expired"?"_black":q?.logoColor??"",_e=_b(se,me);P(_e)}},[u,g,D,c]);const T=ie=>{const q=V.current;if(!q)return null;const{left:se,top:me,width:_e,height:we}=q.getBoundingClientRect(),De=(ie.clientX-se)/_e-.5;return{rotateX:-((ie.clientY-me)/we-.5)*gl,rotateY:De*gl}},O=(ie,q)=>{const se=q*-.7,me=ie*.7+10,_e=20+(Math.abs(ie)+Math.abs(q))*.4;return`${se}px ${me}px ${_e}px rgba(0, 0, 0, 0.18)`},R=o.useCallback(ie=>{if(Xn())return;G.current=!0,clearTimeout(W.current),W.current=setTimeout(()=>{G.current=!1},200);const q=T(ie);q&&F({transform:`perspective(800px) rotateX(${q.rotateX}deg) rotateY(${q.rotateY}deg) scale3d(1.03, 1.03, 1.03)`,boxShadow:O(q.rotateX,q.rotateY),transition:"transform 0.25s cubic-bezier(0.23, 1, 0.32, 1), box-shadow 0.25s cubic-bezier(0.23, 1, 0.32, 1)"})},[]),j=o.useCallback(ie=>{if(Xn())return;const q=T(ie);if(!q)return;const se=G.current?"transform 0.2s ease, box-shadow 0.2s ease":"none";F({transform:`perspective(800px) rotateX(${q.rotateX}deg) rotateY(${q.rotateY}deg) scale3d(1.03, 1.03, 1.03)`,boxShadow:O(q.rotateX,q.rotateY),transition:se})},[]),L=o.useCallback(()=>{clearTimeout(W.current),G.current=!1,F({transform:"perspective(800px) rotateX(0deg) rotateY(0deg) scale3d(1, 1, 1)",boxShadow:"0px 4px 16px rgba(0, 0, 0, 0.08)",transition:"transform 0.5s cubic-bezier(0.23, 1, 0.32, 1), box-shadow 0.5s cubic-bezier(0.23, 1, 0.32, 1)"})},[]),Q=o.useCallback(()=>Y(null),[]),J=o.useMemo(()=>{const ie=k("passCard.planSuffix","\uC774\uC6A9\uAD8C"),q=B.replace("\uC774\uC6A9\uAD8C","").replace(ie==="\uC774\uC6A9\uAD8C"?"":ie,"").trim(),se=q.match(/^(.*?)(일|년)$/);return se?n.jsxs(n.Fragment,{children:[n.jsx("span",{className:"h0 pass-card__plan-number",children:se[1]}),n.jsx("span",{className:"h5b pass-card__plan-unit",children:se[2]==="\uB144"?k("passCard.unitYear","\uB144"):k("passCard.unitDay","\uC77C")})]}):n.jsx("span",{className:"h0",children:q})},[B,k]),oe=o.useMemo(()=>{const ie=Kn(N);if(!ie)return null;const q=ie.match(/^([^\d]*)([\d.,]+)(.*)$/);if(!q)return n.jsx("span",{className:"h1",children:ie});const[,se,me,_e]=q;return n.jsxs(n.Fragment,{children:[se&&n.jsx("span",{className:"h5 pass-card__price-symbol",children:se}),n.jsx("span",{className:"h1 pass-card__price-amount",children:me}),_e.trim()&&n.jsx("span",{className:"h5 pass-card__price-symbol",children:_e.trim()})]})},[N]),ge=o.useCallback(()=>{U&&Y(ie=>{if(ie)return null;const q=V.current?.getBoundingClientRect();if(!q)return null;const se=50;return{left:q.left,right:q.right,width:q.width,height:q.height,x:q.x,y:q.y+se,top:q.top+se,bottom:q.bottom+se}})},[U]),Me=o.useCallback(ie=>{U&&(ie.key==="Enter"||ie.key===" ")&&(ie.preventDefault(),ge())},[U,ge]),Ne=[{items:[...y?[{label:k("passCard.menu.use","\uC0AC\uC6A9\uD558\uAE30"),icon:"play",onClick:()=>{y(),Y(null)},closeOnSelect:!0}]:[],...x?[{label:k("passCard.menu.refund","\uD658\uBD88\uD558\uAE30"),icon:"rotate-ccw",onClick:()=>{x(),Y(null)},closeOnSelect:!0}]:[],...v?[{label:k("passCard.menu.delete","\uC0AD\uC81C\uD558\uAE30"),icon:"trash-2",onClick:()=>{v(),Y(null)},closeOnSelect:!0}]:[]]}];return n.jsxs(n.Fragment,{children:[n.jsx("div",{className:"pass-card-frame",children:n.jsxs("div",{ref:V,className:`pass-card pass-card--${c}${U?" pass-card--clickable":""}`,style:S,onMouseEnter:R,onMouseMove:j,onMouseLeave:L,onPointerUp:ie=>{ie.pointerType==="touch"&&L()},onPointerCancel:ie=>{ie.pointerType==="touch"&&L()},onClick:ge,onKeyDown:U?Me:void 0,role:U?"button":void 0,tabIndex:U?0:void 0,"aria-haspopup":U?"menu":void 0,"aria-expanded":U?!!z:void 0,children:[u??Ab(D,B,A),!d&&n.jsxs(n.Fragment,{children:[n.jsx("div",{className:"pass-card__top",children:n.jsxs("div",{className:"pass-card__top-left",children:[n.jsx("img",{src:Z??wb[D],className:"pass-card__logo",alt:D==="manager"?k("header.logoManager","\uB9D0\uADC0\uB9E4\uB2C8\uC800 \uB85C\uACE0"):k("header.logoMalgwi","\uB9D0\uADC0 \uB85C\uACE0")}),n.jsxs("div",{className:"pass-card__plan",children:[n.jsx("div",{children:J}),n.jsx("span",{className:"h5b pass-card__plan-suffix",children:A?k("passCard.labeledPlan",{label:A}):k("passCard.planSuffix","\uC774\uC6A9\uAD8C")})]})]})}),N?n.jsxs("div",{className:"pass-card__price-area",children:[I&&n.jsx("span",{className:"pass-card__discount body-3",children:I}),n.jsxs("div",{className:"pass-card__price",children:[M&&n.jsx("span",{className:"pass-card__price-original body-3",children:Kn(M)}),oe]})]}):$?n.jsxs("div",{className:"pass-card__usage",children:[n.jsx("span",{className:"h5b pass-card__usage-remaining",children:$.remainingLabel}),$.percent!=null&&n.jsxs("span",{className:"pass-card__usage-percent",children:[n.jsx("span",{className:"h1 pass-card__usage-value",children:$.percent}),n.jsx("span",{className:"h5b pass-card__usage-symbol",children:"%"})]})]}):n.jsx("div",{className:"pass-card__copyright caption-2",children:"\xA9 IHAB Corp. All rights reserved."})]})]})}),z&&n.jsx(An,{anchorRect:z,onClose:Q,ariaLabel:k("tooltip.menu","\uBA54\uB274"),children:n.jsx(Wa,{columns:Ne,onClose:Q,size:"small"})})]})}const Bb={text:"#1a1a1a",sub:"var(--color-lightGray)",logoBase:"Logo_speechear_kr",copyrightColor:"#1a1a1a"};function Nb(e={}){const t=`passcard-sound-line-grad-${o.useId()}`,a=dt(Bb,Cn,gn);return n.jsxs("div",{ref:a,className:"pass-card-bg pass-card-bg-sound-line","aria-hidden":"true",children:[n.jsxs("svg",{className:"pass-card-bg-sound-line__svg",viewBox:"0 0 500 300",preserveAspectRatio:"xMidYMid slice",xmlns:"http://www.w3.org/2000/svg",children:[n.jsx("defs",{children:n.jsxs("linearGradient",{id:t,x1:"0",y1:"0",x2:"1",y2:"0",children:[n.jsx("stop",{offset:"20%",stopColor:"var(--color-main)"}),n.jsx("stop",{offset:"80%",stopColor:"var(--color-sub)"})]})}),n.jsx("g",{transform:"translate(25, 45)",children:n.jsx("path",{d:"M -30 150 C 40 80, 100 220, 160 150 S 280 80, 340 150 S 460 220, 510 150",fill:"none",stroke:`url(#${t})`,strokeWidth:"50",strokeLinecap:"round"})})]}),n.jsx("span",{className:"pass-card-bg__symbol pass-card-bg-sound-line__symbol",style:{"--symbol-url":`url("${xa}")`}})]})}const Db={text:"#1a1a1a",sub:"var(--color-lightGray)",logoBase:"Logo_speechear_kr",copyrightColor:"var(--color-main)"};function Sb(e={}){const t=dt(Db,Cn,gn);return n.jsxs("div",{ref:t,className:"pass-card-bg pass-card-bg-talk-v1","aria-hidden":"true",children:[n.jsx("div",{className:"pass-card-bg-talk-v1__shape pass-card-bg-talk-v1__shape--left"}),n.jsx("div",{className:"pass-card-bg-talk-v1__shape pass-card-bg-talk-v1__shape--right"}),n.jsx("span",{className:"pass-card-bg__symbol pass-card-bg-talk-v1__symbol",style:{"--symbol-url":`url("${xa}")`}})]})}function Eb(e,t){if(e){if(t==="manager_pro")return n.jsx(Sb,{});if(t==="manager_standard")return n.jsx(Nb,{});if(t==="manager_lite")return n.jsx(Cl,{})}}function Tb(e){const t=Kn(e);if(!t)return null;const a=t.match(/^([^\d]*)([\d.,]+)(.*)$/);if(!a)return t;const[,r,s,i]=a;return n.jsxs(n.Fragment,{children:[r&&n.jsx("span",{className:"payment-plan__pricing-symbol h4",children:r}),s,i.trim()&&n.jsx("span",{className:"payment-plan__pricing-symbol h4",children:i.trim()})]})}function jb(e){const{t}=fe.useTranslation(),a=t("payment.plan.tierFallback",{defaultValue:"\uC774\uC6A9\uAD8C"}),r=t("payment.plan.openPromo",{defaultValue:"\uC624\uD508 \uD2B9\uAC00"}),{plan:s,onSelect:i,period:l="monthly",ownedCodes:c}=e||{},u=v=>!!v&&!!c?.includes(v),d=v=>v.onceOnly??/오픈\s*특가/.test(v.label??""),p=(s.tiers||[]).some(v=>d(v)&&u(v.code)),m=v=>{const k=v.prices?v.prices[l]:v.price;return k?(s.tiers||[]).some(w=>!!w.badge&&w.originals?.[l]===k):!1},h=s.colorToken?`var(--color-${s.colorToken})`:"var(--color-gray)",g=t("payment.plan.freePrice","\uBB34\uB8CC"),C=t("payment.products.mgrEnterprise.tier.price","\uBB38\uC758"),b=v=>v.prices?v.prices[l]:v.price,_=(s.tiers||[]).length>0&&(s.tiers||[]).every(v=>{const k=b(v);return k==="\uBB34\uB8CC"||k===g||k==="0\uC6D0"||typeof k=="string"&&/\d/.test(k)&&!/[1-9]/.test(k)}),f=(s.tiers||[]).length>0&&(s.tiers||[]).every(v=>{const k=b(v);return k==="\uBB38\uC758"||k===C}),y=s.group==="org",x=y?"manager":"speechear";return n.jsxs("div",{className:"payment-plan__card",style:{borderColor:h,"--plan-color":h},children:[s.cardBadge&&n.jsx("div",{className:"payment-plan__card-badge",children:n.jsx(pt,{label:s.cardBadge,variant:"main",size:"medium",fill:"soft"})}),n.jsxs("div",{className:"payment-plan__title",children:[n.jsx("p",{className:"payment-plan__quote body-3b",style:{color:h},children:s.quote||"\xA0"}),n.jsx("h3",{className:"payment-plan__title-heading h1",children:s.tier??s.title}),n.jsx("p",{className:"payment-plan__subtitle body-3",children:s.subtitle})]}),n.jsxs("div",{className:"payment-plan__box",children:[n.jsx("span",{className:"payment-plan__box-title body-3b",children:t("payment.plan.recommendedFor","\uC774\uB7F0 \uBD84\uAED8 \uCD94\uCC9C\uD569\uB2C8\uB2E4.")}),n.jsx("ul",{className:"payment-plan__feature-list",children:(s.recommendedFor||[]).map((v,k)=>n.jsxs("li",{className:"payment-plan__feature-item body-3",children:[n.jsx(Ge,{icon:"check",size:18,className:"payment-plan__feature-check",wrapperStyle:{color:h}}),v]},k))})]}),n.jsxs("div",{className:"payment-plan__box",children:[n.jsx("span",{className:"payment-plan__box-title body-3b",children:t("payment.plan.features","\uD575\uC2EC \uAE30\uB2A5")}),n.jsx("ul",{className:"payment-plan__feature-list",children:(s.features||[]).map((v,k)=>n.jsxs("li",{className:"payment-plan__feature-item body-3",children:[n.jsx(Ge,{icon:"check",size:18,className:"payment-plan__feature-check",wrapperStyle:{color:h}}),v]},k))})]}),n.jsx("div",{className:"payment-plan__card-pricing",children:_?null:f?n.jsx(ce,{htmlType:"button",className:"payment-plan__contact-button",label:t("payment.plan.contact",{defaultValue:"\uBB38\uC758\uD558\uAE30"}),variant:"main",size:56,onClick:()=>s.tiers?.[0]&&i?.({...s.tiers[0],productId:s.id,productTitle:s.title})}):n.jsx(n.Fragment,{children:n.jsx("div",{className:"payment-plan__pricing-list",children:(s.tiers||[]).map(v=>{const k=v.label||a,w=d(v),D=w||v.openPromo===!0,B=k.replace(/^오픈\s*특가\s*/,"")||a,A=v.prices?v.prices[l]:v.price,N=v.badge?D?`${r}
837
- ${v.badge}`:v.badge:void 0;if(w&&u(v.code))return null;if(!v.badge&&!p)return m(v)?null:n.jsxs("div",{className:`payment-plan__pricing-row payment-plan__pricing-row--static${v.highlight?" payment-plan__pricing-row--highlight":""}`,children:[n.jsx("div",{className:"payment-plan__pricing-row-title",children:n.jsx("div",{className:"payment-plan__pricing-row-label h5b",children:v.label})}),n.jsx("div",{className:"payment-plan__pricing-row-price",children:n.jsx("span",{className:"payment-plan__pricing-current h1",children:Tb(A)})})]},v.id);const M=s.tier??(y?s.title:void 0),I=n.jsx(yl,{showPrice:!0,product:{type:x,code:v.code,name:B,label:M,price:A,originalPrice:v.originals?.[l]??void 0,discountLabel:N},bg:Eb(y,s.id)}),$=()=>i?.({...v,productId:s.id,productTitle:s.title,preview:I});return n.jsx("div",{className:"payment-plan__pricing-card",onClick:$,onKeyDown:i?V=>{V.target===V.currentTarget&&(V.key==="Enter"||V.key===" ")&&(V.preventDefault(),$())}:void 0,role:i?"button":void 0,tabIndex:i?0:void 0,children:I},v.id)})})})})]})}function Mb({variant:e="default"}){return n.jsxs("div",{className:`pass-card-bg pass-card-bg--${e}`,"aria-hidden":"true",children:[n.jsx("div",{className:"pass-card-bg__circle pass-card-bg__circle--1"}),n.jsx("div",{className:"pass-card-bg__circle pass-card-bg__circle--2"}),n.jsx("div",{className:"pass-card-bg__circle pass-card-bg__circle--3"})]})}var Qr='data:image/svg+xml,<svg width="264" height="100" viewBox="0 0 264 100" fill="none" xmlns="http://www.w3.org/2000/svg">%0A<g clip-path="url(%23clip0_2079_3030)">%0A<path d="M60.9019 24.7464C54.4446 18.2821 45.5257 14.2857 35.6757 14.2857C25.8256 14.2857 23.2106 24.5964 16.7569 31.0607C10.2996 37.5214 0 40.1857 0 50C0 59.8143 3.99211 68.7893 10.4494 75.2536C16.9067 81.7178 25.8256 85.7143 35.6757 85.7143C45.5257 85.7143 54.4446 81.7178 60.9019 75.2536C67.3592 68.7893 71.3513 59.8607 71.3513 50C71.3513 40.1393 67.3592 31.2107 60.9019 24.7464ZM48.2906 62.6286C45.0619 65.8607 40.6025 67.8571 35.6757 67.8571C30.7489 67.8571 26.2894 65.8571 23.0608 62.6286C19.8321 59.3964 17.8378 54.9321 17.8378 50C17.8378 45.0678 19.8357 40.6036 23.0608 37.3714C26.2894 34.1393 30.7489 32.1428 35.6757 32.1428C40.6025 32.1428 45.0619 34.1428 48.2906 37.3714C51.5192 40.6036 53.5135 45.0678 53.5135 50C53.5135 54.9321 51.5157 59.3964 48.2906 62.6286Z" fill="url(%23paint0_linear_2079_3030)"/>%0A<path d="M106.735 74.8322H93.6274V24.8322H106.735V74.8322Z" fill="%23111111"/>%0A<path d="M113.495 24.8322H126.602V44.5143H145.022V24.8322H158.197V74.8322H145.022V55.15H126.602V74.8322H113.495V24.8322Z" fill="%23111111"/>%0A<path d="M163.027 74.8322L179.652 24.8322H197.519L214.076 74.8322H199.934L196.969 65.025H180.205L177.241 74.8322H163.031H163.027ZM193.933 55.0786L188.76 38.2964H188.346L183.241 55.0786H193.933Z" fill="%23111111"/>%0A<path d="M218.906 24.8322H240.29C251.674 24.8322 257.675 29.7357 257.675 37.4C257.675 42.925 253.743 47.1393 248.085 48.3107V48.7929C254.364 49 259.605 53.6286 259.605 60.7393C259.605 68.8893 252.983 74.8286 242.081 74.8286H218.902V24.8322H218.906ZM244.157 40.1643C244.157 36.9857 241.674 35.1929 238.085 35.1929H232.013V45.1393H237.878C241.535 45.1393 244.157 43.3429 244.157 40.1679V40.1643ZM245.741 59.0857C245.741 55.425 243.119 53.3536 238.913 53.3536H232.013V64.2643H238.706C243.397 64.2643 245.741 62.4679 245.741 59.0857Z" fill="%23111111"/>%0A</g>%0A<defs>%0A<linearGradient id="paint0_linear_2079_3030" x1="15.337" y1="29.6393" x2="60.9512" y2="75.2042" gradientUnits="userSpaceOnUse">%0A<stop offset="0.2" stop-color="%23499CDF"/>%0A<stop offset="0.8" stop-color="%234DCDC0"/>%0A</linearGradient>%0A<clipPath id="clip0_2079_3030">%0A<rect width="264" height="100" fill="white"/>%0A</clipPath>%0A</defs>%0A</svg>%0A';const vl={text:"#1a1a1a",sub:"var(--color-lightGray)",logoBase:"Logo_speechear_kr",copyrightColor:"#c9c9c9"};function Lb(){const e=dt(vl,Cn,gn);return n.jsx("div",{ref:e,className:"pass-card-bg pass-card-bg-ihab","aria-hidden":"true",children:n.jsx("span",{className:"pass-card-bg__symbol pass-card-bg-ihab__symbol-top",style:{"--symbol-url":`url("${Qr}")`}})})}const xl={text:"#ffffff",sub:"var(--color-lightGray)",logoBase:"Logo_speechearManager_kr",logoColor:"_white",copyrightColor:"#ffffff"};function $b(e={}){const t=dt(xl,Cn,gn);return n.jsxs("div",{ref:t,className:"pass-card-bg pass-card-bg-left-color-grid","aria-hidden":"true",children:[n.jsx("div",{className:"pass-card-bg-left-color-grid__bar"}),n.jsx("div",{className:"pass-card-bg-left-color-grid__grid"}),n.jsx("span",{className:"pass-card-bg__symbol pass-card-bg-left-color-grid__symbol",style:{"--symbol-url":`url("${xa}")`}})]})}function _l({keys:e,anchor:t="top-right",scale:a,className:r=""}){const s=Array.isArray(e)?e:[e];return n.jsx("span",{className:Be("shortcut-badge",`shortcut-badge--${t}`,r),style:a===void 0?void 0:{"--shortcut-badge-scale":String(a)},children:s.map((i,l)=>n.jsxs("span",{className:"shortcut-badge__group",children:[l>0&&n.jsx("span",{className:"shortcut-badge__plus",children:"+"}),n.jsx("kbd",{className:"shortcut-badge__key",children:i})]},`${i}-${l}`))})}const _a=(e,t,a)=>e+(t-e)*a;function Rb({speakers:e,size:t=300,viewT:a=0,activeSpeakerId:r=null,playedIds:s,selectedId:i=null,answerId:l=null,showFeedback:c=!1,pulseSelected:u=!1,pulseSelectedDuration:d,pulseScale:p,clickable:m=!1,onSelectSpeaker:h,buttonSize:g=40,showIcon:C=!0,onCenterClick:b,centerLabel:_,centerDisabled:f=!1,centerAttention:y=!1,shortcutAnchor:x="top-right",shortcutScale:v,scaleShortcut:k=!1}){const{t:w}=fe.useTranslation(),D=Math.max(0,Math.min(1,a)),B=t/2,A=110/300,N=.18,M=q=>t*(A+(q-1)*N),I=q=>{const se=M(q.row??1),me=q.angleDeg*Math.PI/180;return{x:B+se*Math.cos(me),y:B+se*Math.sin(me)}},$=Math.max(...e.map(q=>q.row??1),1),V=t*.08,S=t*.1,F=t*.24,z=t-2*V,Y=t-S-F,U=t-F/2,G=o.useMemo(()=>[...new Set(e.map(q=>q.deg))].sort((q,se)=>q-se),[e]),W=G.length,Z=Math.max(68,W>1?z/(W-1):0),P=o.useMemo(()=>new Map(G.map((q,se)=>[q,se])),[G]),T=q=>{const se=P.get(q.deg)??0,me=B+(se-(W-1)/2)*Z,_e=$>1?Math.min(68,Y/($-1)):0,we=_e*($-1),De=S+(Y-we)/2,xe=$===1?S+Y*.4:De+($-(q.row??1))*_e;return{x:me,y:xe}},O=q=>{const se=I(q),me=T(q);return{x:_a(se.x,me.x,D),y:_a(se.y,me.y,D)}},R={x:B,y:_a(B,U,D)},j=Math.round(g*1.2),L=Math.round(Math.max(16,Math.min(80,g*.7))),Q=[],J=new Map;for(const q of e){const se=q.row??1;J.has(se)||J.set(se,[]),J.get(se).push(q)}for(const[q,se]of J.entries()){if(se.length<2)continue;const me=[...se].sort((be,Ye)=>be.deg-Ye.deg),_e=me.map(be=>O(be)),we=me.map(be=>be.deg),De=we[we.length-1]-we[0],xe=De/(we.length-1),Ae=360-De,Te=me.length>=3&&xe>0&&Ae<=xe*1.5,ae=Math.round(M(q)*1e3)/1e3,ee=(be,Ye,He,qe)=>{const Se=(Ye.angleDeg-be.angleDeg+540)%360-180;if(Se===0)return`L ${qe.x} ${qe.y}`;if(D===0)return`A ${ae} ${ae} 0 0 ${Se>0?1:0} ${qe.x} ${qe.y}`;const Ue=(be.angleDeg+Se/2)*Math.PI/180,$e={x:B+ae*Math.cos(Ue),y:B+ae*Math.sin(Ue)},Ie={x:(He.x+qe.x)/2,y:(He.y+qe.y)/2},Ve={x:_a($e.x,Ie.x,D),y:_a($e.y,Ie.y,D)},at={x:2*Ve.x-Ie.x,y:2*Ve.y-Ie.y};return`Q ${at.x} ${at.y} ${qe.x} ${qe.y}`},de=Te?[...me,me[0]]:me,te=Te?[..._e,_e[0]]:_e;let he=`M ${te[0].x} ${te[0].y}`;for(let be=1;be<te.length;be++)he+=" "+ee(de[be-1],de[be],te[be-1],te[be]);Q.push({key:`arc-${q}`,d:he})}const oe=o.useMemo(()=>new Set(s??[]),[s]),ge=q=>({idle:"",active:w("soundCompass.state.active","\uC18C\uB9AC \uB098\uB294 \uC911"),played:w("soundCompass.state.played","\uB4E4\uC74C"),correct:w("soundCompass.state.correct","\uC815\uB2F5"),wrong:w("soundCompass.state.wrong","\uC624\uB2F5")})[q],Me=q=>{if(r===q.id)return"active";if(c){if(q.id===l)return"correct";if(q.id===i&&i!==l)return"wrong"}return oe.has(q.id)?"played":"idle"},Ne=q=>r===q.id?"loop":c?q.id===l?"loop":null:u&&q.id===i?"once":null,ie=(q,se)=>{switch(q){case"played":case"correct":return n.jsx(Jo,{size:se});case"wrong":return n.jsx(ls,{size:se});default:return n.jsx(is,{size:se})}};return n.jsx("div",{className:"sound-compass",children:n.jsxs("div",{className:"sound-compass__compass-wrap",style:{width:t,height:t},children:[n.jsxs("svg",{width:t,height:t,viewBox:`0 0 ${t} ${t}`,className:"sound-compass__svg",children:[D===0&&e.map(q=>{const{x:se,y:me}=O(q);return n.jsx("line",{x1:R.x,y1:R.y,x2:se,y2:me,stroke:"#dde3ec",strokeWidth:"1"},q.id)}),Q.map(q=>n.jsx("path",{d:q.d,fill:"none",stroke:"#dde3ec",strokeWidth:"1"},q.key))]}),y&&!f&&n.jsx("div",{className:"sound-compass__pulse sound-compass__pulse--active sound-compass__pulse--center",style:{width:j,height:j,left:R.x-j/2,top:R.y-j/2}}),b?n.jsx("button",{type:"button",className:`sound-compass__center sound-compass__center--button${f?" sound-compass__center--disabled":""}`,style:{width:j,height:j,left:R.x,top:R.y},"aria-label":_,"aria-disabled":f||void 0,tabIndex:f?-1:0,onClick:f?void 0:b,children:n.jsx(hr,{size:L,color:"currentColor",strokeWidth:1.5})}):n.jsx("div",{className:"sound-compass__center",style:{width:j,height:j,left:R.x,top:R.y},children:n.jsx(hr,{size:L,color:"currentColor",strokeWidth:1.5})}),e.map((q,se)=>{const{x:me,y:_e}=O(q),we=Me(q),De=Ne(q),xe={...v!==void 0||k?{"--shortcut-badge-scale":String(v??Math.max(.75,Math.min(3,g/56)))}:null,pointerEvents:m?"auto":"none",cursor:m?"pointer":"default",zIndex:we!=="idle"?10:1},Ae=g,Te=Math.round(Math.max(10,Math.min(56,Ae*.38))),ae=Math.round(Math.max(7,Math.min(18,Ae*.2))),ee=Math.round(Math.max(10,Math.min(56,Ae*.4))),de=C==="answered"&&(we==="played"||we==="correct"||we==="wrong"),te=C===!0||de,he=!de;return n.jsxs("div",{className:"sound-compass__speaker-pos",style:{...xe,left:me-Ae/2,top:_e-Ae/2},children:[De&&n.jsx("div",{className:`sound-compass__pulse sound-compass__pulse--${we}`+(De==="once"?" sound-compass__pulse--once":""),style:{width:Ae,height:Ae,...De==="once"&&d!==void 0?{"--sc-pulse-duration-once":`${d}ms`}:null,...p!==void 0?{"--sc-pulse-scale":String(p)}:null}}),n.jsxs("button",{type:"button",tabIndex:m?0:-1,"aria-disabled":m?void 0:!0,onClick:m?()=>h?.(q.id):void 0,className:`sound-compass__speaker-btn sound-compass__speaker-btn--${we}`,style:{width:Ae,height:Ae},"aria-label":ge(we)?`${q.label}, ${ge(we)}`:q.label,"aria-pressed":i!=null?q.id===i:void 0,children:[te&&ie(we,Te),he&&n.jsx("span",{className:"sound-compass__speaker-number",style:{fontSize:C===!0?ae:ee},children:se+1})]}),q.shortcut&&n.jsx(_l,{keys:q.shortcut,anchor:x,className:"sound-compass__speaker-shortcut"})]},q.id)})]})})}function Pb({children:e,position:t="top-left",size:a=24,className:r=""}){return n.jsx("span",{className:Be("circle-badge","circle-badge--number",`circle-badge--${a}`,`circle-badge--${t}`,r),children:e})}function Ib({orientation:e="horizontal",label:t,className:a=""}){const r=Be("divider",`divider--${e}`,t&&e==="horizontal"?"divider--labeled":"",a);return e==="vertical"?n.jsx("div",{className:r,role:"separator","aria-orientation":"vertical"}):t?n.jsxs("div",{className:r,role:"separator","aria-orientation":"horizontal",children:[n.jsx("span",{className:"divider__line"}),n.jsx("span",{className:"divider__label caption-1",children:t}),n.jsx("span",{className:"divider__line"})]}):n.jsx("div",{className:r,role:"separator","aria-orientation":"horizontal"})}function wl({checked:e,onChange:t,name:a,value:r,disabled:s=!1,label:i,className:l=""}){const c=o.useId();return n.jsxs("label",{className:`radio${s?" radio--disabled":""} ${l}`.trim(),htmlFor:c,children:[n.jsx("input",{id:c,type:"radio",name:a,value:r,checked:e,disabled:s,onChange:u=>t?.(u.target.checked)}),n.jsx("span",{className:"radio__dot"}),i&&n.jsx("span",{className:"radio__label body-2",children:i})]})}function Fb({options:e,value:t,onChange:a,name:r,disabled:s=!1,direction:i="vertical",className:l="",ariaLabel:c}){const u=o.useId(),d=r??`radio-group-${u}`;return n.jsx("div",{className:`radio-group radio-group--${i} ${l}`.trim(),role:"radiogroup","aria-label":c,children:e.map(p=>n.jsx(wl,{name:d,value:p.value,checked:t===p.value,disabled:s||p.disabled,label:p.label,onChange:m=>{m&&a?.(p.value)}},p.value))})}const Ob={info:"info",success:"check-circle",warning:"alert-triangle",danger:"alert-circle"};function Hb({tone:e="info",title:t,message:a,children:r,dismissible:s=!1,onDismiss:i,live:l,className:c=""}){const{t:u}=fe.useTranslation(),[d,p]=o.useState(!1),m=o.useRef(null),h=o.useCallback(()=>{const y=m.current;y&&y.contains(document.activeElement)&&Oa(y),p(!0),i?.()},[i]);if(d)return null;const g=Be("alert",`alert--${e}`,c),C=l??(e==="danger"||e==="warning"?"assertive":"polite"),b=C==="assertive"?"alert":C==="polite"?"status":void 0,_=!!t,f=!!(a||r);return n.jsxs("div",{ref:m,className:g,role:b,children:[n.jsxs("div",{className:"alert__body",children:[n.jsxs("div",{className:"alert__header",children:[n.jsx(Ge,{icon:Ob[e],size:20,className:"alert__icon"}),_&&n.jsx("span",{className:"alert__title body-2",children:t}),!_&&f&&n.jsx("div",{className:"alert__message body-3",children:a||r})]}),_&&f&&n.jsx("div",{className:"alert__message alert__message--indented body-3",children:a||r})]}),s&&n.jsx("button",{type:"button",className:"alert__dismiss",onClick:h,"aria-label":u("common.close","\uB2EB\uAE30"),children:"\xD7"})]})}const Vb={ready:"search",guide:"info",error:"circle-alert"};function zb(e,t){const a=t.filter(Boolean);if(a.length===0)return e;const r=[];let s=0,i=0;for(const l of a){const c=e.indexOf(l,s);c<0||(c>s&&r.push(e.slice(s,c)),r.push(n.jsx("strong",{className:"search-summary__em body-2",children:l},i++)),s=c+l.length)}return s<e.length&&r.push(e.slice(s)),r}function Wb({status:e="guide",label:t,children:a,emphasis:r,icon:s,className:i=""}){const l=s===!1?null:s??Vb[e],c=Be("search-summary",`search-summary--${e}`,i),u=t??a,d=typeof u=="string"&&r&&r.length>0?zb(u,r):u;return n.jsxs("div",{className:c,role:"status","aria-live":"polite",children:[l!=null&&n.jsx(Ge,{icon:l,size:18,className:"search-summary__icon"}),n.jsx("span",{className:"search-summary__text body-2",children:d})]})}function wa({title:e,items:t}){const{t:a}=fe.useTranslation(),{anchorRect:r,openAt:s,close:i}=za(),l=o.useRef(null),c=Vr(!!r,(u,d)=>{u&&d?s(l.current?.querySelector("button")??d):i()},l);return n.jsxs("span",{ref:l,style:{display:"contents"},children:[n.jsx(ce,{htmlType:"button",size:24,type:"dot",icon:"info",variant:"transparent-gray",useBorder:!1,selected:!!r,ariaLabel:a("common.info","\uC124\uBA85"),onPointerEnter:u=>{Zn(u)||s(u.currentTarget)},onPointerLeave:u=>{Zn(u)||i()},onClick:u=>{c.touchPress(u.currentTarget)},onFocus:u=>{Xn()||s(u.currentTarget)},onBlur:i}),r&&n.jsx(Pn,{title:e,items:t,showIndex:t.length>1,anchorRect:r,onClose:i})]})}function qb({items:e=[],value:t,onChange:a,className:r="",size:s=40}){const i=o.useId(),{t:l}=fe.useTranslation(),c=o.useRef(null),u=e.find(b=>!b.disabled)?.key,d=e.some(b=>b.key===t)?t:u??e[0]?.key,p=e.find(b=>b.key===d&&!b.disabled)?.key??u,m=()=>Array.from(c.current?.querySelectorAll('[role="tab"]:not(:disabled)')??[]),h=(b,_=m())=>{if(_.length===0)return;const f=(b%_.length+_.length)%_.length;_[f]?.focus(),_[f]?.click()},g=b=>{if(!["ArrowRight","ArrowDown","ArrowLeft","ArrowUp","Home","End"].includes(b.key))return;b.preventDefault();const _=m(),f=_.indexOf(b.currentTarget);b.key==="ArrowRight"||b.key==="ArrowDown"?h(f+1,_):b.key==="ArrowLeft"||b.key==="ArrowUp"?h(f-1,_):b.key==="Home"?h(0,_):h(_.length-1,_)},C=e.find(b=>b.key===d);return n.jsxs("div",{className:`tabs ${r}`.trim(),children:[n.jsx("div",{ref:c,className:`tabs__list tabs__list--${s}`,role:"tablist","aria-label":l("tabs.ariaLabel","\uD0ED"),children:e.map(b=>n.jsx("button",{id:`tabs__tab-${i}-${b.key}`,type:"button",role:"tab","aria-selected":b.key===d,"aria-controls":`tabs__panel-${i}-${b.key}`,disabled:b.disabled,tabIndex:b.key===p?0:-1,className:`tabs__tab body-2${b.key===d?" tabs__tab--active":""}`,onClick:()=>{b.key!==t&&a?.(b.key)},onKeyDown:g,children:b.label},b.key))}),C&&n.jsx("div",{id:`tabs__panel-${i}-${C.key}`,role:"tabpanel","aria-labelledby":`tabs__tab-${i}-${C.key}`,tabIndex:0,className:"tabs__panel",children:C.panel},C.key)]})}const Ub={xs:12,sm:16,md:20,lg:28,xl:36};function Gb(e){const t=e.trim().split(/\s+/).filter(Boolean);return t.length===0?"":t.length===1?[...t[0]].slice(0,2).join("").toUpperCase():([...t[0]][0]+[...t[t.length-1]][0]).toUpperCase()}function Kb({src:e,name:t,size:a="md",shape:r="circle",className:s=""}){const{t:i}=fe.useTranslation(),[l,c]=o.useState(null),u=!!e&&l===e,d=t?Gb(t):"",p=!!e&&!u,m=!p&&!!d,h=t||i("avatar.ariaLabel","\uC0AC\uC6A9\uC790 \uC544\uBC14\uD0C0");return n.jsxs("span",{className:`avatar avatar--${a} avatar--${r} ${s}`.trim(),role:"img","aria-label":h,children:[p&&n.jsx("img",{className:"avatar__image",src:e,alt:h,onError:()=>c(e??null)}),!p&&m&&n.jsx("span",{className:"avatar__initials","aria-hidden":"true",children:d}),!p&&!m&&n.jsx(Ge,{icon:"user-round",size:Ub[a],className:"avatar__icon"})]})}function Yb(e,t){if(!t)return!0;const a=t.split(",").map(i=>i.trim()).filter(Boolean);if(a.length===0)return!0;const r=e.name.toLowerCase(),s=e.type.toLowerCase();return a.some(i=>{const l=i.toLowerCase();return l.startsWith(".")?r.endsWith(l):l.endsWith("/*")?s.startsWith(l.slice(0,-1)):s===l})}function Zb({onFilesSelected:e,accept:t,multiple:a=!1,disabled:r=!1,showFileList:s=!0,files:i,onRemove:l,className:c=""}){const{t:u}=fe.useTranslation(),d=o.useRef(null),[p,m]=o.useState(!1),[h,g]=o.useState([]),C=i??h,b=w=>{if(!w||w.length===0)return;const D=Array.from(w).filter(A=>Yb(A,t));if(D.length===0)return;const B=a?D:D.slice(0,1);if(i===void 0){const A=a?[...C,...B]:B;g(A),e?.(A)}else e?.(B)},_=w=>{w.preventDefault(),!r&&m(!0)},f=w=>{w.preventDefault(),m(!1)},y=w=>{w.preventDefault(),m(!1),!r&&b(w.dataTransfer.files)},x=w=>{const D=w.target;try{b(D.files)}finally{D.value=""}},v=()=>{r||d.current?.click()},k=w=>{if(!r&&(l?.(w),i===void 0)){const D=C.filter((B,A)=>A!==w);g(D),l||e?.(D)}};return n.jsxs("div",{className:`file-upload ${c}`.trim(),children:[n.jsxs("div",{className:Be("file-upload__dropzone",p&&"file-upload__dropzone--dragging",r&&"file-upload__dropzone--disabled"),role:"button",tabIndex:r?-1:0,"aria-disabled":r,onClick:v,onKeyDown:w=>{(w.key==="Enter"||w.key===" ")&&(w.preventDefault(),v())},onDragOver:_,onDragLeave:f,onDrop:y,children:[n.jsx(Ge,{icon:"upload",size:24,className:"file-upload__icon"}),n.jsx("span",{className:"file-upload__prompt body-2",children:u("fileUpload.dragPrompt","\uD30C\uC77C\uC744 \uC774\uACF3\uC5D0 \uB4DC\uB798\uADF8\uD558\uC5EC \uC5C5\uB85C\uB4DC")}),n.jsx("button",{type:"button",className:"file-upload__browse-button body-3",disabled:r,onClick:w=>{w.stopPropagation(),v()},children:u("fileUpload.browseButton","\uD30C\uC77C \uC120\uD0DD")}),n.jsx("input",{ref:d,type:"file",className:"file-upload__input",accept:t,multiple:a,disabled:r,onChange:x,tabIndex:-1})]}),s&&C.length>0&&n.jsx("ul",{className:"file-upload__list",children:C.map((w,D)=>n.jsxs("li",{className:"file-upload__list-item body-3",children:[n.jsx("span",{className:"file-upload__file-name body-3",children:w.name}),n.jsx("button",{type:"button",className:"file-upload__remove-button","aria-label":u("fileUpload.removeAriaLabel",{name:w.name}),disabled:r,onClick:()=>k(D),children:n.jsx(Ge,{icon:"x",size:14})})]},`${w.name}-${D}`))})]})}function Xb({items:e,className:t=""}){const{t:a}=fe.useTranslation();return n.jsx("nav",{className:`breadcrumb ${t}`.trim(),"aria-label":a("breadcrumb.ariaLabel","\uC774\uB3D9 \uACBD\uB85C"),children:n.jsx("ol",{className:"breadcrumb__list",children:e.map((r,s)=>{const i=s===e.length-1;return n.jsxs("li",{className:"breadcrumb__item",children:[i?n.jsx("span",{className:"breadcrumb__current body-3","aria-current":"page",children:r.label}):r.href?n.jsx("a",{className:"breadcrumb__link body-3",href:r.href,target:r.target,rel:r.rel??(r.target==="_blank"?"noopener noreferrer":void 0),onClick:r.onClick,children:r.label}):r.onClick?n.jsx("button",{type:"button",className:"breadcrumb__link body-3",onClick:r.onClick,children:r.label}):n.jsx("span",{className:"breadcrumb__text body-3",children:r.label}),!i&&n.jsx(Ge,{icon:"chevron-right",size:14,className:"breadcrumb__separator"})]},s)})})})}const Jb={small:14,medium:20,large:28};function Qb({value:e,onChange:t,max:a=5,readOnly:r=!1,size:s="medium",ariaLabel:i,className:l=""}){const{t:c}=fe.useTranslation(),u=r||!t,[d,p]=o.useState(null),m=u?e:Number.isFinite(e)?Math.round(e):0,h=d??m,g=Jb[s],C=w=>{w!==e&&t?.(w)},b=w=>{u||C(w)},_=w=>{u||Xn()||p(w)},f=o.useRef(null),y=w=>{const D=Math.min(a,Math.max(1,w));C(D),Array.from(f.current?.querySelectorAll("[data-star]")??[]).find(B=>B.dataset.star===String(D))?.focus()},x=w=>{if(!u){switch(w.key){case"ArrowRight":case"ArrowUp":y((m||0)+1);break;case"ArrowLeft":case"ArrowDown":y((m||1)-1);break;case"Home":y(1);break;case"End":y(a);break;default:return}w.preventDefault()}},v=m>=1&&m<=a?Math.round(m):1,k=()=>{u||p(null)};return n.jsx("div",{className:`rating rating--${s}${u?" rating--readOnly":""} ${l}`.trim(),ref:f,onKeyDown:x,role:u?"img":"radiogroup","aria-label":u?c("rating.valueLabel",{value:e,max:a}):i??c("rating.groupLabel","\uBCC4\uC810"),onMouseLeave:k,onPointerUp:w=>{w.pointerType==="touch"&&k()},onPointerCancel:w=>{w.pointerType==="touch"&&k()},children:Array.from({length:a},(w,D)=>{const B=D+1,A=Math.max(0,Math.min(1,h-D)),N=A>0&&A<1,M=n.jsxs("span",{className:"rating__star-wrap",children:[n.jsx(Ge,{icon:"star",size:g,className:"rating__star rating__star--empty"}),A>0&&n.jsx("span",{className:`rating__star-fill${N?" rating__star-fill--half":""}`,style:N?{width:`${A*100}%`}:void 0,children:n.jsx(Ge,{icon:"star",size:g,className:"rating__star rating__star--filled"})})]});return u?n.jsx("span",{className:"rating__item","aria-hidden":"true",children:M},B):n.jsx("button",{type:"button",className:"rating__item rating__item--interactive",role:"radio","aria-checked":m===B,"aria-label":c("rating.starLabel",{n:B}),"data-star":B,tabIndex:B===v?0:-1,onClick:()=>b(B),onMouseEnter:()=>_(B),children:M},B)})})}const e4=20,t4=["#499cdf","#4dcdc0","#2fae9e","#e6b94e","#d9534f","#e06b68","#bfc7d1"];function n4({value:e,onChange:t,palette:a=t4,size:r=40,className:s="",ariaLabel:i}){const{t:l}=fe.useTranslation();return n.jsx("div",{className:`color-picker ${s}`.trim(),role:"group","aria-label":i,children:a.map(c=>{const u=e?.toLowerCase()===c.toLowerCase();return n.jsx("button",{type:"button",className:`color-picker__swatch color-picker__swatch--${r}`,style:{backgroundColor:c},onClick:()=>t(c),"aria-pressed":u,"aria-label":u?`${c} ${l("colorPicker.selected","\uC120\uD0DD\uB428")}`:c,children:u&&n.jsx(Ge,{icon:"check",size:e4,className:"color-picker__check"})},c)})})}function a4({icon:e,count:t,title:a,className:r="",onClick:s,onMouseEnter:i,onMouseLeave:l}){const c=Be("count-tile",s&&"count-tile--clickable",r);return n.jsxs("div",{className:c,onClick:s,onKeyDown:s?u=>{u.key!=="Enter"&&u.key!==" "||(u.preventDefault(),u.currentTarget.click())}:void 0,onMouseEnter:i,onMouseLeave:l,role:s?"button":"img",tabIndex:s?0:void 0,"aria-label":a?`${a} ${t}`:String(t),children:[n.jsx(Ge,{icon:e,size:20,className:"count-tile__icon"}),n.jsx("span",{className:"count-tile__count h5","aria-hidden":"true",children:t})]})}let ka=0,kl="",eo="",Aa=0;function Al(){return Bl(!1)}function r4(){return Bl(!0)}function Bl(e){const t=typeof document<"u";ka===0&&t&&(kl=document.body.style.overflow,document.body.style.overflow="hidden"),e&&t&&(Aa===0&&(eo=document.body.style.paddingRight),Aa++,document.body.style.paddingRight="0px"),ka++;let a=!1;return()=>{a||(a=!0,ka=Math.max(0,ka-1),e&&t&&(Aa=Math.max(0,Aa-1),Aa===0&&(eo?document.body.style.paddingRight=eo:document.body.style.removeProperty("padding-right"))),ka===0&&t&&(document.body.style.overflow=kl))}}function o4(){return n.jsx("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round","aria-hidden":!0,children:n.jsx("path",{d:"M6 6l12 12M18 6 6 18"})})}function s4({open:e,onClose:t,ariaLabel:a,title:r,children:s,size:i="md",closeOnBackdrop:l=!0,closeOnEscape:c=!0,showClose:u=!0,className:d,contentClassName:p}){const{t:m}=fe.useTranslation(),h=o.useId(),g=o.useRef(null),C=o.useCallback(()=>t(),[t]);o.useEffect(()=>{if(!e)return;const y=document.activeElement,x=Al(),v=g.current;return Ir(v,y),v?.focus(),()=>{x();const k=document.activeElement;(!k||k===document.body||v&&v.contains(k))&&Fr(y)?.focus?.()}},[e]);const b=o.useRef(C),_=o.useRef(c);o.useEffect(()=>{b.current=C,_.current=c}),o.useEffect(()=>{if(e)return Rn(()=>{_.current&&b.current()})},[e]);const f=o.useRef(!1);return Rr(g,e),!e||typeof document>"u"?null:Wt.createPortal(n.jsx("div",{className:Be("dialog",d),onPointerDown:l?y=>{f.current=y.target===y.currentTarget}:void 0,onMouseDown:y=>{y.target===y.currentTarget&&y.preventDefault()},onClick:l?y=>{const x=f.current;f.current=!1,x&&y.target===y.currentTarget&&C()}:void 0,children:n.jsxs("div",{ref:g,role:"dialog","aria-modal":"true","aria-label":r?void 0:a,"aria-labelledby":r?h:void 0,tabIndex:-1,className:Be("dialog__surface",`dialog__surface--${i}`,p),onClick:y=>y.stopPropagation(),children:[r?n.jsx("div",{className:"dialog__header",children:n.jsx("h2",{id:h,className:"dialog__title h4b",children:r})}):null,u?n.jsx("button",{type:"button",className:"dialog__close","aria-label":m("common.close","\uB2EB\uAE30"),onClick:C,children:n.jsx(o4,{})}):null,n.jsx("div",{className:"dialog__body",children:s})]})}),document.body)}function i4({columns:e,rows:t,rowKey:a,title:r,toolbar:s,empty:i,loading:l,caption:c,className:u=""}){const{t:d}=fe.useTranslation(),p=!l&&t.length===0;return n.jsxs("div",{className:Be("board",u),children:[r||s?n.jsxs("div",{className:"board__head",children:[r?n.jsx("h2",{className:"board__title",children:r}):n.jsx("span",{}),s?n.jsx("div",{className:"board__toolbar",children:s}):null]}):null,n.jsxs("table",{className:"board__table",children:[c?n.jsx("caption",{className:"board__caption",children:c}):null,n.jsx("thead",{children:n.jsx("tr",{children:e.map(m=>n.jsx("th",{scope:"col",className:Be("board__th",`board__cell--${m.headerAlign??m.align??"left"}`),style:m.width?{width:m.width}:void 0,children:m.header},m.key))})}),n.jsx("tbody",{children:l?n.jsx("tr",{children:n.jsx("td",{className:"board__state",colSpan:e.length,children:l})}):p?n.jsx("tr",{children:n.jsx("td",{className:"board__state",colSpan:e.length,children:i??d("board.empty","\uB4F1\uB85D\uB41C \uD56D\uBAA9\uC774 \uC5C6\uC2B5\uB2C8\uB2E4.")})}):t.map((m,h)=>n.jsx("tr",{className:"board__row",children:e.map(g=>n.jsx("td",{className:Be("board__td",`board__cell--${g.align??"left"}`),children:g.render(m,h)},g.key))},a(m,h)))})]})]})}function l4({name:e,role:t,photo:a,media:r,credentials:s,size:i=190,className:l=""}){return n.jsxs("div",{className:Be("person-card",l),children:[n.jsx("div",{className:"person-card__photo",style:{width:i,height:i},children:r??(a?n.jsx("img",{src:a,alt:t?`${e} ${t}`:e}):null)}),n.jsx("h3",{className:"person-card__name",children:e}),t?n.jsx("p",{className:"person-card__role",children:t}):null,s?.length?n.jsx("ul",{className:"person-card__credentials",children:s.map(c=>n.jsx("li",{children:c},c))}):null]})}function c4({groups:e,className:t=""}){return n.jsx("div",{className:Be("timeline",t),children:e.map(a=>n.jsxs("section",{className:"timeline__group",children:[n.jsx("h3",{className:"timeline__title",children:a.title}),n.jsx("ul",{className:"timeline__rows",children:a.entries.map((r,s)=>n.jsxs("li",{className:"timeline__row",children:[r.label?n.jsx("span",{className:"timeline__label",children:r.label}):null,n.jsx("div",{className:"timeline__items",children:r.items.map((i,l)=>n.jsx("p",{children:i},l))})]},`${r.label??""}-${s}`))})]},a.title))})}function u4({title:e,kind:t,body:a,badge:r,badgeSrc:s,footer:i,width:l,className:c=""}){const u=r??(s?n.jsx("img",{src:s,alt:""}):null);return n.jsxs("div",{className:Be("publication-card",c),style:l?{width:l,flexShrink:0}:void 0,children:[u?n.jsx("div",{className:"publication-card__badge","aria-hidden":"true",children:u}):null,n.jsx("h3",{className:"publication-card__title",children:e}),t?n.jsx("p",{className:"publication-card__kind",children:t}):null,n.jsx("p",{className:"publication-card__body",children:a}),i?n.jsx("div",{className:"publication-card__footer",children:i}):null]})}function d4({logo:e,alt:t,onDone:a,durationMs:r=3e3}){const s=ga(a);return o.useEffect(()=>{const i=setTimeout(()=>s.current?.(),r);return()=>clearTimeout(i)},[r,s]),n.jsx("div",{className:"splash-logo",style:{"--splash-logo-duration":`${r}ms`},"aria-hidden":"true",children:n.jsx("img",{src:e,alt:t,className:"splash-logo__image"})})}function p4({eyebrow:e,eyebrowIndex:t,title:a,description:r,level:s=2,tone:i="dark",className:l=""}){const c=s===1?"h1":"h2";return n.jsxs("div",{className:Be("section-header",`section-header--${i}`,l),children:[e?n.jsxs("p",{className:"section-header__eyebrow",children:[t?n.jsxs(n.Fragment,{children:[n.jsx("span",{className:"section-header__index",children:t}),n.jsx("span",{"aria-hidden":!0,className:"section-header__rule"})]}):null,e]}):null,a?n.jsx(c,{className:"section-header__title",children:a}):null,r?n.jsx("div",{className:"section-header__description",children:r}):null]})}function m4({items:e,className:t=""}){return n.jsx("ul",{className:Be("company-meta",t),children:e.map((a,r)=>n.jsxs("li",{className:"company-meta__item",children:[r>0?n.jsx("span",{"aria-hidden":!0,className:"company-meta__divider",children:"|"}):null,a]},a))})}function Nl({value:e,onChange:t,suggestions:a,openOnFocus:r=!1}){const s=o.useId(),[i,l]=o.useState(!1),[c,u]=o.useState(-1),d=o.useRef(null),p=o.useMemo(()=>{if(!a.length)return[];const D=e??"";return D?a.filter(B=>B.toLowerCase().includes(D.toLowerCase())):r?a:[]},[a,e,r]),[m,h]=o.useState(!1),g=o.useRef([]),C=m&&p.length===0?g.current:p;o.useEffect(()=>{C.length&&(g.current=C)},[C]);const b=o.useCallback(()=>h(!0),[]),_=o.useCallback(()=>h(!1),[]);o.useEffect(()=>{i||u(-1)},[i]),o.useEffect(()=>()=>{d.current&&clearTimeout(d.current)},[]);const f=c<C.length?c:-1,y=o.useCallback(D=>{t?.(D),l(!1)},[t]),x=o.useCallback(()=>l(!0),[]),v=o.useCallback(()=>{l(!0),u(-1)},[]),k=o.useCallback(()=>{d.current=setTimeout(()=>l(!1),120)},[]),w=o.useCallback(D=>{D.nativeEvent.isComposing||D.keyCode===229||(D.key==="ArrowDown"?(D.preventDefault(),l(!0),u(B=>Math.min(C.length-1,(B<C.length?B:-1)+1))):D.key==="ArrowUp"?(D.preventDefault(),u(B=>Math.max(-1,(B<C.length?B:C.length)-1))):D.key==="Enter"?f>=0&&y(C[f]):D.key==="Escape"&&i&&(D.preventDefault(),l(!1)))},[C,f,i,y]);return{listId:s,open:i,activeIdx:f,filtered:C,handleFocus:x,handleBlur:k,handleInput:v,handleKeyDown:w,handleSelect:y,handleCompositionStart:b,handleCompositionEnd:_}}const Dl=typeof window<"u"?o.useLayoutEffect:o.useEffect;function On(e){const{value:t,defaultValue:a,name:r,inputRef:s,onChange:i,label:l,ariaLabel:c,required:u,placeholder:d,type:p="text",disabled:m=!1,readOnly:h=!1,error:g,helperText:C,maxLength:b,size:_=48,variant:f="input",fullWidth:y=!1,newline:x=!1,multiline:v=!1,rows:k=3,leftIcon:w,rightIcon:D,clearable:B=!1,list:A,showCount:N=!0,className:M="",onFocus:I,onBlur:$,onKeyDown:V,onEnter:S,inputMode:F,autoComplete:z,autoFocus:Y,suggestions:U,openOnFocus:G=!1}=e,W=h||m?void 0:U,{t:Z}=fe.useTranslation(),P=o.useId();!l&&!c&&jn(`TextField:unnamed:${P}`,"[ihab/TextField] \uC774\uB984\uC774 \uC5C6\uC2B5\uB2C8\uB2E4 \u2014 label \uC774\uB098 ariaLabel \uC911 \uD558\uB098\uB97C \uC8FC\uC138\uC694. placeholder \uB294 \uC774\uB984\uC744 \uB300\uC2E0\uD558\uC9C0 \uBABB\uD569\uB2C8\uB2E4.");const T=`tf-${P}`,O=`tf-helper-${P}`,R=o.useRef(null),j=Nl({value:t??"",onChange:i,suggestions:W??[],openOnFocus:G}),L=!!W&&j.open&&j.filtered.length>0,Q=o.useRef(null),[J,oe]=o.useState(null),ge=o.useCallback(()=>{const te=Q.current;if(!te||typeof window>"u")return;const he=te.getBoundingClientRect(),be=230,Ye=window.innerHeight-he.bottom<be+8&&he.top>be+8;oe({position:"fixed",left:he.left,width:he.width,...Ye?{bottom:window.innerHeight-he.top+8}:{top:he.bottom+8},zIndex:ya(te)})},[]);Dl(()=>{if(!L)return;ge();const te=he=>{const be=he.target;be&&be.nodeType===1&&be.closest?.(".text-field__suggestions")||ge()};return window.addEventListener("scroll",te,!0),window.addEventListener("resize",ge),()=>{window.removeEventListener("scroll",te,!0),window.removeEventListener("resize",ge)}},[L,ge]);const Me=o.useCallback(te=>{R.current=te,typeof s=="function"?s(te):s&&(s.current=te)},[s]),Ne=t!==void 0,ie=Ne&&p==="password",[q,se]=o.useState((a??"").length),me=Ne?(t??"").length:q,_e=o.useRef(t);Dl(()=>{_e.current=t}),o.useEffect(()=>{const te=R.current;if(!ie||!te)return;const he=t??"";te.value!==he&&(te.value=he)},[ie,t]),o.useEffect(()=>{if(!x||!R.current)return;const te=R.current;te.style.height="",te.scrollHeight>te.clientHeight&&(te.style.height=`${te.scrollHeight}px`)},[t,q,x]);const we=b!=null&&me>b,De=_===32?16:20,xe=Be("text-field",`text-field--s${_}`,f==="display"?"text-field--display":"",y?"text-field--full-width":"",m?"text-field--disabled":"",h?"text-field--readonly":"",g?"text-field--error":"",w?"text-field--has-left-icon":"",D||B?"text-field--has-right-icon":"",M),Ae={id:T,...ie?{}:Ne?{value:t}:{defaultValue:a},ref:Me,placeholder:d,name:r,disabled:m,readOnly:h,autoFocus:Y,maxLength:b,list:A,inputMode:F,autoComplete:z,"aria-label":!l&&c?c:void 0,"aria-required":u,"aria-invalid":!!g,"aria-describedby":C||g?O:void 0,role:W?"combobox":void 0,"aria-autocomplete":W?"list":void 0,"aria-haspopup":W?"listbox":void 0,"aria-expanded":W?j.open:void 0,"aria-controls":L?j.listId:void 0,"aria-activedescendant":L&&j.activeIdx>=0?`${j.listId}-option-${j.activeIdx}`:void 0,onChange:te=>{const he=te.target;Ne||se(he.value.length),i?.(he.value),W&&j.handleInput(),ie&&queueMicrotask(()=>{const be=_e.current??"";he.value!==be&&(he.value=be)})},onCompositionStart:W?j.handleCompositionStart:void 0,onCompositionEnd:W?j.handleCompositionEnd:void 0,onFocus:(te=>{I?.(te),W&&j.handleFocus()}),onBlur:(te=>{$?.(te),W&&j.handleBlur()}),onKeyDown:(te=>{W&&te.key==="Enter"&&!te.nativeEvent.isComposing&&j.activeIdx>=0?te.preventDefault():S&&te.key==="Enter"&&!te.nativeEvent.isComposing&&(te.preventDefault(),S()),V?.(te),W&&j.handleKeyDown(te)})},Te=B&&!m&&!h&&me>0,ae=()=>x?n.jsx("textarea",{...Ae,className:"text-field__input text-field__input--auto body-2",rows:1}):v?n.jsx("textarea",{...Ae,className:"text-field__input text-field__input--textarea body-2",rows:k}):n.jsx("input",{...Ae,type:p,className:"text-field__input body-2"}),ee=f==="display"&&!x&&!v&&!!d,de=()=>n.jsxs(n.Fragment,{children:[ae(),ee&&n.jsx("span",{className:"text-field__placeholder","aria-hidden":"true",children:d})]});return n.jsxs("div",{ref:Q,className:xe,children:[l&&n.jsxs("label",{htmlFor:T,className:"text-field__label caption-1",children:[l,u&&n.jsx("span",{className:"text-field__required",children:"*"})]}),n.jsxs("div",{className:"text-field__wrap",children:[w&&n.jsx("span",{className:"text-field__icon text-field__icon--left",children:n.jsx(Ge,{icon:w,label:"",className:"",svgClassName:"text-field__icon-svg",size:De})}),de(),b!=null&&N&&n.jsxs("span",{className:`text-field__count caption-2${we?" text-field__count--over":""}`,children:[me,"/",b]}),Te&&n.jsx(ce,{size:24,type:"dot",icon:"x",variant:"transparent-gray",useBorder:!1,className:"text-field__clear",ariaLabel:Z("textField.clearAriaLabel","\uC785\uB825\uAC12 \uC9C0\uC6B0\uAE30"),htmlType:"button",onMouseDown:te=>{te.preventDefault()},onClick:()=>{!Ne&&R.current&&(R.current.value="",se(0)),i?.("")},tabIndex:-1}),D&&!Te&&n.jsx("span",{className:"text-field__icon text-field__icon--right",children:n.jsx(Ge,{icon:D,label:"",className:"",svgClassName:"text-field__icon-svg",size:De})})]}),L&&(typeof document>"u"?null:Wt.createPortal(n.jsx("ul",{id:j.listId,className:"text-field__suggestions",role:"listbox",style:J??{position:"fixed",visibility:"hidden"},"data-tooltip-ignore":!0,children:j.filtered.map((te,he)=>n.jsx("li",{id:`${j.listId}-option-${he}`,role:"option","aria-selected":he===j.activeIdx,className:`text-field__suggestion body-2${he===j.activeIdx?" is-active":""}`,onMouseDown:be=>be.preventDefault(),onClick:()=>{j.handleSelect(te),R.current?.focus()},children:te},`${te}-${he}`))}),document.body)),(C||g)&&n.jsx("div",{className:"text-field__footer",children:n.jsx("span",{id:O,className:"text-field__helper caption-1",role:g?"alert":void 0,children:g||C})})]})}function tn({options:e,value:t,onChange:a,placeholder:r,disabled:s=!1,block:i=!1,size:l=48,error:c=!1,className:u="",ariaLabel:d,ariaDescribedBy:p}){const{t:m}=fe.useTranslation(),h=r??m("dropdown.placeholder","\uC120\uD0DD"),g=o.useId(),C=o.useId(),b=o.useRef(null),_=o.useCallback((S,F)=>{const z=window.innerHeight-S.bottom<260&&S.top>260;return{position:"fixed",left:S.left,minWidth:S.width,...z?{bottom:window.innerHeight-S.top+6}:{top:S.bottom+6},zIndex:ya(F)}},[]),{open:f,setOpen:y,toggle:x,style:v,triggerRef:k,menuRef:w}=va({computeStyle:_}),[D,B]=o.useState(-1),A=o.useCallback(()=>B(-1),[]),N=e.find(S=>S.value===t);o.useEffect(()=>{if(f){const S=e.findIndex(F=>F.value===t);B(S>=0?S:e.length?0:-1),requestAnimationFrame(()=>{const F=w.current;if(!F)return;const z=F.querySelectorAll(".dropdown__option")[S];z&&(F.scrollTop=Math.max(0,z.offsetTop-F.clientHeight/2+z.clientHeight/2))})}},[f]),o.useEffect(()=>{f&&B(S=>{if(S>=0&&S<e.length)return S;const F=e.findIndex(z=>z.value===t);return F>=0?F:e.length?0:-1})},[f,e.length]);const M=o.useCallback(()=>{s||x()},[s,x]),I=o.useCallback(S=>{S.disabled||s||(S.value!==t&&a?.(S.value),y(!1))},[a,y,s,t]);o.useEffect(()=>{s&&y(!1)},[s,y]);const $=o.useCallback(S=>{if(!s){if(!f){(S.key==="Enter"||S.key===" "||S.key==="ArrowDown")&&(S.preventDefault(),y(!0));return}if(S.key==="Escape"){S.preventDefault(),y(!1);return}S.key==="ArrowDown"?(S.preventDefault(),B(F=>{let z=F+1;for(;z<e.length&&e[z].disabled;)z++;return z<e.length?z:F})):S.key==="ArrowUp"?(S.preventDefault(),B(F=>{let z=F-1;for(;z>=0&&e[z].disabled;)z--;return z>=0?z:F})):(S.key==="Enter"||S.key===" ")&&(S.preventDefault(),e[D]?I(e[D]):y(!1))}},[s,f,e,D,I,y]),V=f?n.jsx("div",{ref:w,id:g,className:"dropdown__menu","data-tooltip-ignore":!0,role:"listbox",style:v,onMouseLeave:A,onMouseDown:S=>S.preventDefault(),children:e.map((S,F)=>n.jsxs("button",{id:`${g}-option-${F}`,type:"button",role:"option","aria-selected":S.value===t,className:Be("dropdown__option body-2",S.value===t?"dropdown__option--active":"",F===D?"dropdown__option--active":"",S.disabled?"dropdown__option--disabled":""),onMouseDown:z=>z.preventDefault(),onClick:()=>I(S),onMouseEnter:()=>B(F),disabled:S.disabled,children:[n.jsx("span",{className:"dropdown__option-check",children:S.value===t&&n.jsx("svg",{viewBox:"0 0 14 14",fill:"none",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round",children:n.jsx("polyline",{points:"2 7 5.5 10.5 12 3.5"})})}),S.label]},S.value))}):null;return n.jsxs("div",{ref:b,className:Be("dropdown",`dropdown--s${l}`,f?"dropdown--open":"",i?"dropdown--block":"",c?"dropdown--error":"",u),onKeyDown:$,children:[n.jsxs("button",{ref:k,type:"button",className:"dropdown__trigger","aria-haspopup":"listbox","aria-expanded":f,"aria-controls":f?g:void 0,"aria-activedescendant":f&&D>=0?`${g}-option-${D}`:void 0,"aria-label":d,"aria-describedby":[d&&N?C:"",p??""].filter(Boolean).join(" ")||void 0,"aria-invalid":c||void 0,disabled:s,onClick:M,onBlur:S=>{f&&!w.current?.contains(S.relatedTarget)&&y(!1)},children:[n.jsx("span",{id:C,className:`dropdown__trigger-label body-2${N?"":" dropdown__trigger-label--placeholder"}`,children:N?N.label:h}),n.jsx("svg",{className:"dropdown__chevron",viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:n.jsx("polyline",{points:"4 6 8 10 12 6"})})]}),typeof document<"u"&&Wt.createPortal(V,b.current?.closest(".ihabdevteam-core-scope")??document.body)]})}function Ua({page:e,totalPages:t,onChange:a,prevLabel:r,nextLabel:s,className:i=""}){const{t:l}=fe.useTranslation(),c=r??l("common.prevPage","\uC774\uC804 \uD398\uC774\uC9C0"),u=s??l("common.nextPage","\uB2E4\uC74C \uD398\uC774\uC9C0"),d=Math.max(1,t),p=()=>a(Math.max(1,Math.min(d,e-1))),m=()=>a(Math.min(d,e+1));return n.jsxs("div",{className:Be("pagination",i),children:[n.jsx(ce,{htmlType:"button",size:32,type:"dot",shape:"rounded",icon:"chevron-left",ariaLabel:c,disabled:e<=1,onClick:p}),n.jsxs("span",{className:"pagination__info body-3","aria-live":"polite","aria-atomic":"true",children:[Math.min(Math.max(1,e),d)," / ",d]}),n.jsx(ce,{htmlType:"button",size:32,type:"dot",shape:"rounded",icon:"chevron-right",ariaLabel:u,disabled:e>=t,onClick:m})]})}function Hn(e){const{t}=fe.useTranslation(),{options:a=[],value:r=a.find(f=>!f.disabled)?.key??a[0]?.key,onChange:s=f=>{},className:i="",size:l=48,shape:c="pill",useBG:u=!0,fullWidth:d=!1,ariaLabel:p}=e||{},m=o.useRef(null),h=a.filter(f=>!f.disabled),g=f=>{if(!h.length)return;const y=Math.max(0,h.findIndex(v=>v.key===r)),x=f==="first"?h[0]:f==="last"?h[h.length-1]:h[(y+f+h.length)%h.length];x&&(s(x.key),Array.from(m.current?.querySelectorAll("[data-segkey]")??[]).find(v=>v.dataset.segkey===x.key)?.focus())},C=f=>{switch(f.key){case"ArrowRight":case"ArrowDown":g(1);break;case"ArrowLeft":case"ArrowUp":g(-1);break;case"Home":g("first");break;case"End":g("last");break;default:return}f.preventDefault()},b=f=>{const y=x=>typeof x=="string"||typeof x=="number";if(!(!y(f.label)||f.count==null||f.count===!1||!y(f.count)))return`${f.label}, ${f.count}`},_=h.some(f=>f.key===r)?r:h[0]?.key;return n.jsx("div",{ref:m,onKeyDown:C,className:Be("segmented-control",`segmented-control--${c}`,`segmented-control--${l}`,d&&"segmented-control--full",!u&&"segmented-control--no-bg",i),role:"radiogroup","aria-label":p??t("segmentedControl.ariaLabel","\uC120\uD0DD \uD0ED"),children:a.map(f=>n.jsx(ce,{htmlType:"button",role:"radio","aria-checked":f.key===r,"data-segkey":f.key,tabIndex:f.key===_?0:-1,label:f.label,count:f.count,ariaLabel:b(f),disabled:f.disabled,className:f.key===r?"is-selected":"",onClick:()=>{f.disabled||s(f.key)},size:l,shape:c,useBorder:!1,useBG:!1},f.key))})}function to({count:e,search:t,segment:a,filters:r,pageSize:s,pagination:i,actions:l,className:c}){const{t:u}=fe.useTranslation(),d=e!=null&&n.jsxs("p",{className:"toolbar__count body-1",role:"status","aria-atomic":"true",children:[e.prefix??u("common.totalPrefix","\uCD1D "),n.jsx("span",{className:"toolbar__count-highlight",children:e.value}),e.unit,e.suffix]}),p=!!(t||r?.length||s||i||l);return n.jsxs("div",{className:Be("toolbar",c),children:[n.jsxs("div",{className:"toolbar__row",children:[d,a&&(Array.isArray(a)?a:[a]).map((m,h)=>n.jsx(Hn,{size:40,...m},m.ariaLabel??h))]}),p&&n.jsx("div",{className:"toolbar__row",children:n.jsxs("div",{className:"toolbar__row-end",children:[t&&n.jsx(On,{className:"toolbar__search",size:40,value:t.value,onChange:t.onChange,placeholder:t.placeholder??u("common.search","\uAC80\uC0C9"),ariaLabel:t.placeholder??u("common.search","\uAC80\uC0C9"),clearable:!0}),r?.map((m,h)=>n.jsx(tn,{size:40,options:m.options,value:m.value,onChange:m.onChange,ariaLabel:m.ariaLabel},h)),s&&n.jsx(tn,{size:40,options:s.options,value:s.value,onChange:s.onChange,ariaLabel:s.ariaLabel??u("common.pageSizeSelect","\uD398\uC774\uC9C0\uB2F9 \uD45C\uC2DC \uAC1C\uC218")}),i&&n.jsx(Ua,{page:i.page,totalPages:i.total,onChange:i.onChange,prevLabel:i.prevLabel,nextLabel:i.nextLabel}),l]})})]})}function Sl(e){return typeof e=="string"?e:typeof e=="number"?String(e):Array.isArray(e)?e.map(Sl).join(""):""}function h4(e){let t=e.replace(/\r\n/g,`
836
+ and aids recovery.`,site:{title:"Site",malgwi:"Malgwi",soundDirection:"Sound Direction System",vrSoundDirection:"VR Sound Direction System",hearingTest:"Hearing Test Pro"},sns:{title:"SNS",naverBlog:"Naver Blog",kakao:"KAKAO Talk Open Chat"},policy:{title:"Policy",terms:"Terms of Service",privacy:"Privacy Policy"},ceo:"CEO",address:"Address",support:"Support",ceoName:"Ji-hye Han",addressValue:"302, 3F, Haechan Bldg, 32 Siocheong-gil, Chuncheon, Gangwon, Korea"},UC={trainingPhone:{topic:"Gardening",prev:"Prev",next:"Next",speed:"Speed 3",noiseType:"Crowd noise",settings:"Settings",start:{caption:"Press the play (\u25B6) button below and listen carefully. After listening, check the sentence."},feedback:{caption:"Plant the well-grown seedlings in the garden bed and cover them carefully with plastic film."},done:{heardWell:"Heard clearly",listenAgain:"Listen again"}}},GC={timeHM:"{{hh}}:{{mm}}",timeH:"{{hh}}:{{mm}}"},KC={options:"Training Options",difficulty:"Difficulty",exclude:"Exclude",chosung:"Initial Consonant",excludeOptions:{none:"None",noImage:"No Image"}},YC={answer:"Answer",distractor:"Distractor"},ZC={phaseWordDownload:"Download Word Data",phaseImageCheck:"Check Images",phasePairAnalysis:"Analyze Word Pairs",downloadingCount:"Downloading {{n}} words",checkingPage:"Checking page {{page}} list",imageCount:"{{done}} / {{total}} items"},XC={clearAriaLabel:"Clear input"},JC={ariaLabel:"Select tab"},QC={ariaLabel:"Tabs"},eg={dragPrompt:"Drag and drop files here",browseButton:"Choose Files",removeAriaLabel:"Remove {{name}}"},tg={ariaLabel:"User avatar"},ng={relativeDay:{today:"Today",yesterday:"Yesterday",daysAgo:"{{n}}d ago"},reason:{notLoggedIn:"Login required."},list:{title:"Received Homework"},status:{expired:"Expired",done:"Done {{count}}\xD7 \xB7 {{date}}",notDone:"Not done"}},ag={weekly:{title:"Weekly Training",daily:"Daily Listening",crossword:"Crossword"},homework:{title:"Homework Progress",totalRate:"Overall rate",count:"Total",done:"Done",remaining:"Remaining"},today:{tooltipTotal:"Total",tooltipDone:"Done"},filter:{countSuffix:" sessions"},time:{countLabel:"{{n}} sessions",empty:"No training records"},daily:{title:"Today's Listening Record",empty:"No completed sessions"},crossword:{title:"Crossword Quiz",empty:"No completed levels"},visit:{title:"Linked Visit Records"},detail:"Details",trainingType:{LISTEN_IN_NOISE:"Sentence in Noise",SHORT_STORY:"Short Story",LONG_STORY:"Long Story",ORDERING_SENTENCE:"Sentence Ordering"}},rg={import:"Add to my trainings",publisher:"Publisher",time:{justNow:"just now",minutesAgo:"{{n}}m ago",hoursAgo:"{{n}}h ago",daysAgo:"{{n}}d ago",weeksAgo:"{{n}}w ago",monthsAgo:"{{n}}mo ago",yearsAgo:"{{n}}y ago"},badge:{shared:"Store"},publish:{descPlaceholder:"One-line description for the Training Store (optional)"}},og={manage:{unit:"item(s)"}},sg={cancelLabel:"Cancel"},ig={subtitle:"Select a topic to start listening practice."},lg={steps:"Step {{current}} of {{total}}"},cg={panelTitle:"Training misses",viewItems:"Items",viewTypes:"Types",colPending:"Left",colTrend:"Change",colRuns:"Runs",unitItem:" items",skippedOnly:"{{n}} older record(s) were excluded \u2014 they do not say what was answered.",summaryLabel:"Recorded",summaryValue:"{{items}} items \xB7 {{pending}} still missed",nextLabel:"Next to work on",nextCount:"{{count}}",nextCountCapped:"{{shown}} of {{total}}",picked:"\u2192 {{what}}",typeClear:"All caught up",typePending:"{{pending}} of {{total}} left",flat:"no change",runs:"{{count}} run(s)",avgDuration:"{{sec}}s avg"},ug={resetColumns:"Reset column widths"},dg={panelTitle:"Word table scores",viewWords:"Words",viewTables:"Tables",colLatest:"When",colTrend:"Change",unitTime:" times",summaryLabel:"Scored",summaryValue:"{{times}} times \xB7 {{words}} words",nextLabel:"Focus next",nextCount:"{{count}}",allClear:"All correct last time.",times:"{{count}}x",flat:"no change",recentLabel:"Recent scorings",nextCountCapped:"{{shown}} of {{total}}"},pg={ariaLabel:"Banner",dotAriaLabel:"Banner {{index}} of {{count}}"},mg={selectYearMonth:"Select year and month",chooseDate:"Choose a date"},hg={previewRegion:"Report preview \u2014 scrollable sideways"},fg={description:"Description",textbox:"Text",training:"Training guide",menu:"Menu"},Cg={devNone:"No acquisition data",place:{labial:"Bilabial",alveolar:"Alveolar",palatal:"Palatal",velar:"Velar",glottal:"Glottal"}},gg={clearSelection:"Clear selection"},bg={showResult:"Show {{type}} result"},yg={selected:"Selected",remove:"Remove",exclude:"Excluded",nthSelected:"Selection {{n}}"},vg={loading:"Loading"},xg={state:{active:"playing",played:"heard",correct:"correct",wrong:"wrong"}},_g={ariaLabel:"Breadcrumb"},wg={empty:"No items yet."},kg={main:"Main gradient",soft:"Soft",sub:"Sub color",deep:"Deep gradient",softSub:"Soft sub",warm:"Warm (accent)",dark:"Dark",radial:"Radial gradient",diagonal:"Diagonal pattern",dots:"Dot pattern",outline:"Outline",success:"Success / done",naver:"Naver blog notice",instagram:"Instagram notice"},Ag={common:uC,calendar:dC,passCard:pC,searchField:mC,rating:hC,colorPicker:fC,dropdown:CC,accordion:gC,header:bC,nav:yC,settings:vC,usage:xC,account:_C,help:wC,training:kC,trainingSettings:AC,customers:BC,payment:NC,coupons:DC,visits:SC,company:EC,trainingType:TC,myWordTraining:jC,myWordTable:MC,keyWords:LC,wordTable:$C,wordSearch:RC,wordPrint:PC,topic:IC,accessLinkManager:FC,login:OC,device:VC,manager:HC,wordPairs:zC,game:WC,footer:qC,landing:UC,date:GC,trainingSetPage:KC,wordTrainingPreview:YC,wordData:ZC,textField:XC,segmentedControl:JC,tabs:QC,fileUpload:eg,avatar:tg,myHomework:ng,trainingStatus:ag,store:rg,homework:og,inquiry:sg,trainingPlanRun:ig,progress:lg,trainingMiss:cg,table:ug,wordScore:dg,topBanner:pg,datePicker:mg,report:hg,tooltip:fg,phonemeProfile:Cg,bulkBar:gg,debug:bg,badge:yg,loader:vg,soundCompass:xg,breadcrumb:_g,board:wg,promoBannerBg:kg};const Bg=[{code:"ko",label:"\uD55C\uAD6D\uC5B4"},{code:"en",label:"English"}],zr="ko",Ng="ihab_display_language";function Ci(){if(typeof window>"u")return zr;try{const e=localStorage.getItem(Ng);if(e&&Bg.some(t=>t.code===e))return e}catch{}return zr}function gi(e){try{document.documentElement.lang=e}catch{}}wt.on("languageChanged",gi),gi(Ci()),wt.use(fe.initReactI18next).init({resources:{ko:{translation:cC},en:{translation:Ag}},lng:Ci(),fallbackLng:zr,interpolation:{escapeValue:!1},react:{useSuspense:!1}});function dt(e,t,a){const r=o.useRef(null);return o.useLayoutEffect(()=>{const s=r.current?.parentElement??null;return t(s,e),()=>a(s)},[e,t,a]),r}const ba={title:"--promo-banner-bg-title",description:"--promo-banner-bg-description"},Wr=new WeakMap;function qr(e){if(e)return Wr.get(e)}function Lt(e,t){e&&(e.style.setProperty(ba.title,t.title),e.style.setProperty(ba.description,t.description),Wr.set(e,t))}function $t(e){e&&(e.style.removeProperty(ba.title),e.style.removeProperty(ba.description),Wr.delete(e))}const bi={title:"#ffffff",description:"rgba(255, 255, 255, 0.85)",actionVariant:"default"};function yi(){const e=dt(bi,Lt,$t);return n.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-main","aria-hidden":"true"})}const vi={title:"var(--color-main)",description:"var(--color-gray)",actionVariant:"main"};function xi(){const e=dt(vi,Lt,$t);return n.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-soft","aria-hidden":"true"})}const _i={title:"#ffffff",description:"rgba(255, 255, 255, 0.85)",actionVariant:"main"};function wi(){const e=dt(_i,Lt,$t);return n.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-sub","aria-hidden":"true"})}const ki={title:"#ffffff",description:"rgba(255, 255, 255, 0.85)",actionVariant:"main"};function Ai(){const e=dt(ki,Lt,$t);return n.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-deep","aria-hidden":"true"})}const Bi={title:"var(--color-darkSub)",description:"var(--color-gray)",actionVariant:"main"};function Ni(){const e=dt(Bi,Lt,$t);return n.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-soft-sub","aria-hidden":"true"})}const Di={title:"var(--color-black)",description:"var(--color-darkGray)",actionVariant:"main"};function Si(){const e=dt(Di,Lt,$t);return n.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-warm","aria-hidden":"true"})}const Ei={title:"var(--color-white)",description:"var(--color-lightGray)",actionVariant:"main"};function Ti(){const e=dt(Ei,Lt,$t);return n.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-dark","aria-hidden":"true"})}const ji={title:"#ffffff",description:"rgba(255, 255, 255, 0.85)",actionVariant:"main"};function Mi(){const e=dt(ji,Lt,$t);return n.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-radial","aria-hidden":"true"})}const Li={title:"var(--color-darkMain)",description:"var(--color-gray)",actionVariant:"main"};function $i(){const e=dt(Li,Lt,$t);return n.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-diagonal","aria-hidden":"true"})}const Ri={title:"var(--color-darkSub)",description:"var(--color-gray)",actionVariant:"main"};function Pi(){const e=dt(Ri,Lt,$t);return n.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-dots","aria-hidden":"true"})}const Ii={title:"var(--color-black)",description:"var(--color-gray)",actionVariant:"main"};function Fi(){const e=dt(Ii,Lt,$t);return n.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-outline","aria-hidden":"true",children:n.jsx("span",{className:"promo-banner-bg-outline__dot"})})}const Oi={title:"#ffffff",description:"rgba(255, 255, 255, 0.85)",actionVariant:"main"};function Vi(){const e=dt(Oi,Lt,$t);return n.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-success","aria-hidden":"true"})}const Hi={title:"#ffffff",description:"rgba(255, 255, 255, 0.85)",actionVariant:"sub"};function zi(){const e=dt(Hi,Lt,$t);return n.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-naver","aria-hidden":"true"})}const Wi={title:"#ffffff",description:"rgba(255, 255, 255, 0.85)",actionVariant:"transparent-white"};function qi(){const e=dt(Wi,Lt,$t);return n.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-instagram","aria-hidden":"true"})}const Vt=(e,t,a)=>({key:e,get label(){return wt.t(`promoBannerBg.${e}`,t)},textTone:a}),Dg=[Vt("main","\uBA54\uC778 \uADF8\uB77C\uB514\uC5B8\uD2B8","light"),Vt("soft","\uC18C\uD504\uD2B8","dark"),Vt("sub","\uC11C\uBE0C \uCEEC\uB7EC","light"),Vt("deep","\uB525 \uADF8\uB77C\uB514\uC5B8\uD2B8","light"),Vt("softSub","\uC18C\uD504\uD2B8 \uC11C\uBE0C","dark"),Vt("warm","\uC6DC(\uAC15\uC870)","dark"),Vt("dark","\uB2E4\uD06C","light"),Vt("radial","\uBC29\uC0AC\uD615 \uADF8\uB77C\uB514\uC5B8\uD2B8","light"),Vt("diagonal","\uB300\uAC01\uC120 \uD328\uD134","dark"),Vt("dots","\uB3C4\uD2B8 \uD328\uD134","dark"),Vt("outline","\uC544\uC6C3\uB77C\uC778","dark"),Vt("success","\uC131\uACF5/\uC644\uB8CC","light"),Vt("naver","\uB124\uC774\uBC84 \uBE14\uB85C\uADF8 \uC548\uB0B4","light"),Vt("instagram","\uC778\uC2A4\uD0C0\uADF8\uB7A8 \uC548\uB0B4","light")],Ui={main:yi,soft:xi,sub:wi,deep:Ai,softSub:Ni,warm:Si,dark:Ti,radial:Mi,diagonal:$i,dots:Pi,outline:Fi,success:Vi,naver:zi,instagram:qi};function Gi({storageKey:e="fontScale",baseFont:t=20,minScale:a=.8,maxScale:r=1.4,step:s=.1,lineHeightRatio:i=1.4}={}){const l=x=>Math.max(a,Math.min(r,Number(x))),c=x=>{try{const v=localStorage.getItem(x),A=v?Number(v):1;return Number.isFinite(A)?l(A):l(1)}catch{return l(1)}},[u,d]=o.useState(()=>c(e)),[p,m]=o.useState(e);p!==e&&(m(e),d(c(e))),o.useEffect(()=>{try{localStorage.setItem(e,String(u))}catch{}},[e,u]);const h=x=>{d(typeof x=="function"?v=>l(x(v)):l(x))},g=()=>h(x=>+(x+s).toFixed(6)),C=()=>h(x=>+(x-s).toFixed(6)),b=u<r-Number.EPSILON,_=u>a+Number.EPSILON,f=Math.round(t*u),y=Math.round(f*i);return{scale:u,setScale:h,increase:g,decrease:C,canIncrease:b,canDecrease:_,fontSize:f,lineHeight:y}}function Ki(e,t){const a=ga(t);o.useEffect(()=>{const r=()=>a.current();try{window.addEventListener(e,r)}catch{}return()=>{try{window.removeEventListener(e,r)}catch{}}},[e,a])}const Ur=" \xB7 ",Yi=(()=>{if(typeof document>"u")return"";const e=document.title;return e.includes(Ur)?e.split(Ur).pop()??e:e})(),Sg=o.createContext(!1),In=[];let Zi=null;function Eg(e){const t=o.useContext(Sg);o.useEffect(()=>{if(t||typeof e!="string"||!e)return;In.length===0&&(Zi=document.title);const a={text:Yi?`${e}${Ur}${Yi}`:e};return In.push(a),document.title=a.text,()=>{const r=In.lastIndexOf(a);r>=0&&In.splice(r,1),document.title=In.length?In[In.length-1].text:Zi??document.title}},[e,t])}const Xi=[{value:"10",label:"10\uAC1C\uC529 \uBCF4\uAE30"},{value:"25",label:"25\uAC1C\uC529 \uBCF4\uAE30"},{value:"50",label:"50\uAC1C\uC529 \uBCF4\uAE30"},{value:"100",label:"100\uAC1C\uC529 \uBCF4\uAE30"}],Tg=(()=>{let e=null;return()=>(e||(e=new Intl.Collator("ko")),e)})();function Jn(e,t){return Tg().compare(e,t)}const Ha=new Map;function jg(e){const t=Ha.get(e);if(t)return t;const a=[],r=/-?\d+(?:\.\d+)?/g;let s=0;for(let i=r.exec(e);i;i=r.exec(e)){let l=i.index,c=i[0];c[0]==="-"&&l>0&&!/\s/.test(e[l-1])&&(l+=1,c=c.slice(1)),l>s&&a.push(e.slice(s,l)),a.push(Number(c)),s=i.index+i[0].length}return s<e.length&&a.push(e.slice(s)),Ha.size>5e3&&Ha.clear(),Ha.set(e,a),a}function Mg(e){if(!/^[\d\s-]+$/.test(e))return null;const t=e.replace(/\D/g,"");return t.length<9||t.length>11?null:t[0]==="0"||t[0]==="1"&&e!==t?t:null}function Lg(e,t){const a=d=>d==null||typeof d=="number"&&Number.isNaN(d)?"":String(d).trim(),r=a(e),s=a(t);if(r===s)return 0;const i=(d,p)=>{if(typeof d=="number"&&!Number.isNaN(d))return[d];const m=Mg(p);return m!==null?[m]:jg(p)},l=i(e,r),c=i(t,s),u=Math.min(l.length,c.length);for(let d=0;d<u;d++){const p=l[d],m=c[d];if(typeof p=="number"&&typeof m=="number"){if(p!==m)return p-m;continue}if(typeof p=="number")return-1;if(typeof m=="number")return 1;const h=Jn(p,m);if(h!==0)return h}return l.length!==c.length?l.length-c.length:Jn(r,s)}const Ji=e=>e==null||typeof e=="number"&&Number.isNaN(e)||typeof e=="string"&&e.trim()==="";function Gr(e,t,a){const r=Ji(e),s=Ji(t);if(r||s)return r===s?0:r?1:-1;const i=Lg(e,t);return a?i:-i}function $g(e,t,a){const{t:r}=fe.useTranslation(),[s,i]=o.useState(()=>{const C=a?.initialPageSize;return C&&Xi.some(b=>b.value===C)?C:"25"}),[l,c]=o.useState(1),[u,d]=o.useState(t);Object.is(u,t)||(d(t),l!==1&&c(1));const p=o.useMemo(()=>Xi.map(C=>({...C,label:r("visits.showN",{n:C.value})})),[r]),m=o.useCallback(C=>{i(C),c(1)},[]),h=Math.max(1,Math.ceil(e.length/Number(s)));(l>h||l<1||!Number.isFinite(l))&&c(Math.min(Math.max(1,Number.isFinite(l)?l:1),h));const g=Math.min(Math.max(1,Number.isFinite(l)?l:1),h);return{pageRows:o.useMemo(()=>e.slice((g-1)*Number(s),g*Number(s)),[e,g,s]),pageSizeProps:{options:p,value:s,onChange:m},paginationProps:{page:g,total:h,onChange:c},setPage:c}}function Rg(e){const[t,a]=o.useState(null),r=o.useRef(t),s=o.useRef(e?.onSortChange);s.current=e?.onSortChange;const i=o.useCallback(u=>{const d=r.current,p=d?.key===u?{key:u,asc:!d.asc}:{key:u,asc:!0};r.current=p,a(p),s.current?.(p)},[]),l=o.useCallback((u,d)=>({label:u,sortDir:t?.key===d?t.asc?"asc":"desc":null,onClick:()=>i(d)}),[t,i]),c=o.useCallback((u,d)=>{if(!t)return u;const{key:p,asc:m}=t;return[...u].sort((h,g)=>Gr(d(h,p),d(g,p),m))},[t]);return{\uC815\uB82C:t,\uCE78:l,sortRows:c}}const rn="\uC804\uCCB4",Pg=new Map;try{wt.store?.on?.("added",()=>Pg.clear())}catch{}Object.fromEntries(Object.entries(a2).map(([e,{nucleus:t}])=>[e,t]));const Ig={labial:e=>e("common.phonetics.place.labial",{defaultValue:"\uC591\uC21C\uC74C"}),alveolar:e=>e("common.phonetics.place.alveolar",{defaultValue:"\uCE58\uC870\uC74C"}),palatal:e=>e("common.phonetics.place.palatal",{defaultValue:"\uACBD\uAD6C\uAC1C\uC74C"}),velar:e=>e("common.phonetics.place.velar",{defaultValue:"\uC5F0\uAD6C\uAC1C\uC74C"}),glottal:e=>e("common.phonetics.place.glottal",{defaultValue:"\uC131\uBB38\uC74C"})},Fg={frontHigh:e=>e("common.phonetics.vowel.frontHigh",{defaultValue:"\uC804\uC124 \uACE0\uBAA8\uC74C"}),backHighUnrounded:e=>e("common.phonetics.vowel.backHighUnrounded",{defaultValue:"\uD6C4\uC124 \uACE0\uBAA8\uC74C \uD3C9\uC21C"}),backHighRounded:e=>e("common.phonetics.vowel.backHighRounded",{defaultValue:"\uD6C4\uC124 \uACE0\uBAA8\uC74C \uC6D0\uC21C"}),frontMid:e=>e("common.phonetics.vowel.frontMid",{defaultValue:"\uC804\uC124 \uC911\uBAA8\uC74C"}),backMidUnrounded:e=>e("common.phonetics.vowel.backMidUnrounded",{defaultValue:"\uD6C4\uC124 \uC911\uBAA8\uC74C \uD3C9\uC21C"}),backMidRounded:e=>e("common.phonetics.vowel.backMidRounded",{defaultValue:"\uD6C4\uC124 \uC911\uBAA8\uC74C \uC6D0\uC21C"}),low:e=>e("common.phonetics.vowel.low",{defaultValue:"\uC800\uBAA8\uC74C"})},Og={j:e=>e("common.phonetics.glide.j",{defaultValue:"j\uD65C\uC74C"}),w:e=>e("common.phonetics.glide.w",{defaultValue:"w\uD65C\uC74C"}),velar:e=>e("common.phonetics.glide.velar",{defaultValue:"\u0270\uD65C\uC74C"})};function Vg(e,t){if("place"in t)return Ig[t.place](e);const a=Fg[t.vowel](e);return t.glide?`${a} \xB7 ${Og[t.glide](e)}`:a}const Hg=(e,{defaultValue:t})=>t,Qi=(e,t)=>({jamos:e,phonetic:t,tooltip:Vg(Hg,t)}),fn=(e,t)=>t.map(a=>Qi([a],{place:e})),kt=(e,t,a)=>Qi([...e],a?{vowel:t,glide:a}:{vowel:t}),Kr={cho:[fn("labial",["\u3142","\u3143","\u314D","\u3141"]),fn("alveolar",["\u3137","\u3138","\u314C","\u3134","\u3139"]),fn("alveolar",["\u3145","\u3146"]),fn("palatal",["\u3148","\u3149","\u314A"]),fn("velar",["\u3131","\u3132","\u314B"]),fn("glottal",["\u314E"])],jung:[[kt("\u3163","frontHigh"),kt("\u315F","frontHigh","w"),kt("\u3162","frontHigh","velar")],[kt("\u3161","backHighUnrounded")],[kt("\u315C","backHighRounded"),kt("\u3160","backHighRounded","j")],[kt("\u3154\u3150","frontMid"),kt("\u3156\u3152","frontMid","j"),kt("\u3159\u315A\u315E","frontMid","w")],[kt("\u3153","backMidUnrounded"),kt("\u3155","backMidUnrounded","j"),kt("\u315D","backMidUnrounded","w")],[kt("\u3157","backMidRounded"),kt("\u315B","backMidRounded","j")],[kt("\u314F","low"),kt("\u3151","low","j"),kt("\u3158","low","w")]],jong:[fn("labial",["\u3142","\u3141"]),fn("alveolar",["\u3137","\u3134","\u3139"]),fn("velar",["\u3131","\u3147"])]},zg=e=>e===Wg?[]:Array.from(e),Wg="__NO_CODA__",Yr=e=>e.map(t=>t.map(({jamos:a,phonetic:r,tooltip:s})=>({v:a.join(""),phonetic:r,tooltip:s}))),el={cho:Yr(Kr.cho),jung:Yr(Kr.jung),jong:Yr(Kr.jong)};el.jung.flat().forEach(({v:e})=>{for(const t of zg(e));}),new Set(el.cho.flat().map(e=>e.v));function qg(e,t=!0){const a=ga(e);o.useEffect(()=>{if(t)return Rn(()=>{a.current?.()})},[t,a])}function za(){const[e,t]=o.useState(null),a=o.useCallback(i=>t(i.getBoundingClientRect()),[]),r=o.useCallback(()=>t(null),[]),s=o.useCallback(i=>{const l=i.getBoundingClientRect();t(c=>c?null:l)},[]);return{anchorRect:e,isOpen:e!=null,openAt:a,close:r,toggleAt:s}}function tl(e="warning"){const[t,a]=o.useState(""),[r,s]=o.useState(e),[i,l]=o.useState(0),c=o.useCallback((m,h)=>{s(h),a(m),l(g=>g+1)},[]),u=o.useCallback(m=>c(m,"warning"),[c]),d=o.useCallback(m=>c(m,"normal"),[c]),p=o.useCallback(()=>a(""),[]);return{toastMessage:t,toastType:r,toastKey:i,showToast:c,showWarning:u,showNormal:d,clearToast:p}}function ya(e){let t=0;if(e&&typeof window<"u"&&typeof window.getComputedStyle=="function")for(let a=e;a&&a!==document.body&&a!==document.documentElement;a=a.parentElement){const r=parseInt(window.getComputedStyle(a).zIndex,10);!Number.isNaN(r)&&r>t&&(t=r)}return t>0?`max(var(--z-menu, 1500), ${t+1})`:"var(--z-menu, 1500)"}function va({computeStyle:e,onScroll:t="close",onResize:a="close",ignoreOutsideClickSelector:r}){const[s,i]=o.useState(!1),[l,c]=o.useState({}),u=o.useRef(null),d=o.useRef(null),p=o.useCallback(()=>{u.current&&c(e(u.current.getBoundingClientRect(),u.current))},[e]);o.useEffect(()=>{if(!s)return;p();const g=y=>{const x=y.target;r&&x.closest?.(r)||u.current?.contains(x)||d.current?.contains(x)||i(!1)};document.addEventListener("mousedown",g),document.addEventListener("pointerdown",g);const C=y=>{d.current?.contains(y.target)||(t==="reposition"?p():t==="close"&&i(!1))};t!=="ignore"&&window.addEventListener("scroll",C,!0);const b=()=>{a==="reposition"?p():a==="close"&&i(!1)};let _=null;const f=()=>{b(),_&&clearTimeout(_),_=setTimeout(()=>{_=null,a==="reposition"&&p()},250)};return a!=="ignore"&&(window.addEventListener("resize",b),window.addEventListener("orientationchange",f)),()=>{document.removeEventListener("mousedown",g),document.removeEventListener("pointerdown",g),t!=="ignore"&&window.removeEventListener("scroll",C,!0),a!=="ignore"&&(window.removeEventListener("resize",b),window.removeEventListener("orientationchange",f)),_&&clearTimeout(_)}},[s,p,t,a,r]),o.useEffect(()=>{if(s)return Rn(()=>i(!1))},[s]);const m=o.useCallback(()=>i(g=>!g),[]),h=o.useCallback(()=>i(!1),[]);return{open:s,setOpen:i,toggle:m,close:h,style:l,triggerRef:u,menuRef:d}}function Ug(e,{mode:t="playback",autoStart:a=!1,onPlaySpeaker:r,onComplete:s,playMs:i=1100,feedbackMs:l=1500}={}){const[c,u]=o.useState([]),[d,p]=o.useState(0),[m,h]=o.useState("idle"),[g,C]=o.useState(null),[b,_]=o.useState([]),[f,y]=o.useState(null),[x,v]=o.useState(0),A=o.useRef(0),w=o.useCallback(Z=>{A.current=typeof Z=="function"?Z(A.current):Z,v(A.current)},[]),D=o.useRef(r),k=o.useRef(s);o.useEffect(()=>{D.current=r,k.current=s},[r,s]);const B=o.useRef([]),N=()=>{B.current.forEach(clearTimeout),B.current=[]},M=(Z,I)=>{B.current.push(setTimeout(I,Z))};o.useEffect(()=>()=>N(),[]);const P=c[d]?.id??null,$=o.useRef(null),W=o.useCallback(()=>{N(),h("playing"),_([]),y(null),w(0);let Z=0;e.forEach((I,T)=>{M(Z,()=>{p(T),C(I.id),D.current?.(I)}),M(Z+1e3,()=>{C(null),_(O=>[...O,I.id])}),Z+=1300}),M(Z,()=>{h("done"),k.current?.({score:0,total:e.length})})},[e,w]),S=o.useCallback((Z,I)=>{if(I>=Z.length){h("done"),k.current?.({score:A.current,total:Z.length});return}$.current=null,p(I),y(null),h("playing"),C(Z[I].id),D.current?.(Z[I]),M(i,()=>{C(null),h("waiting")})},[i]),F=o.useCallback(()=>{N();const Z=fa(e);u(Z),w(0),_([]),S(Z,0)},[e,S,w]),Y=o.useCallback(()=>{t==="playback"?(u(e),W()):F()},[t,e,W,F]),G=o.useCallback(()=>{N(),h("idle"),C(null),_([]),y(null),p(0),w(0),u([])},[w]),q=e.map(Z=>Z.id).join("|");o.useEffect(()=>(a?Y():G(),()=>N()),[t,q,a]);const H=o.useCallback(Z=>{m!=="waiting"||t==="playback"||$.current===d||($.current=d,y(Z),Z===c[d]?.id&&w(I=>I+1),t==="exam"?(h("playing"),M(400,()=>S(c,d+1))):(h("feedback"),M(l,()=>S(c,d+1))))},[m,t,c,d,S,l,w]),z=t==="playback"?e.length:c.length;return{bind:{activeSpeakerId:g,playedIds:b,selectedId:f,answerId:P,showFeedback:m==="feedback",clickable:m==="waiting",onSelectSpeaker:H},index:d,total:z,score:x,phase:m,done:m==="done",start:Y,reset:G}}function Gg({title:e,description:t,actionLabel:a,onAction:r,bg:s,color:i,size:l="medium",actionVariant:c,titleColor:u,descriptionColor:d,className:p=""}){const m=s??i??"main",h=o.useRef(null),[g,C]=o.useState("main"),b=en("(max-width: 767px)"),_=o.useRef({title:!1,description:!1});o.useLayoutEffect(()=>{const x=h.current;if(!x)return;const v=qr(x),A=(w,D,k)=>{if(k!==void 0)x.style.setProperty(D,k),_.current[w]=!0;else if(_.current[w]){const B=v?.[w];B?x.style.setProperty(D,B):x.style.removeProperty(D),_.current[w]=!1}};A("title","--promo-banner-bg-title",u),A("description","--promo-banner-bg-description",d)},[u,d,m]),o.useLayoutEffect(()=>{const x=h.current;if(!x)return;const v=qr(x);C(v?.actionVariant??"main")},[m]);const f=Be("promo-banner",`promo-banner--${l}`,p),y=Ui[m];return n.jsxs("div",{ref:h,className:f,role:"note",children:[n.jsx(y,{}),n.jsxs("div",{className:"promo-banner__text",children:[n.jsx("span",{className:`promo-banner__title ${l==="small"?"body-2":"h2"}`,children:e}),t&&n.jsx("span",{className:"promo-banner__description body-3",children:t})]}),a&&r&&n.jsx(ce,{htmlType:"button",size:40,variant:c??g,shape:"pill",useBorder:!0,onClick:r,ariaLabel:a,...b?{type:"dot",icon:"arrow-right"}:{rightIcon:"arrow-right",label:a,minWidth:140}})]})}function Kg({children:e,interval:t=5e3,dotTone:a,className:r="","aria-label":s}){const{t:i}=fe.useTranslation(),l=s??i("topBanner.ariaLabel","\uBC30\uB108"),c=o.Children.toArray(e),u=c.length,[d,p]=o.useState(0),[m,h]=o.useState(!1),[g,C]=o.useState(!1),[b,_]=o.useState(!1),f=o.useRef(null),y=o.useRef(null),x=o.useRef(null),v=Or(),A=m||g||b,w=u>0?Math.min(d,u-1):0;o.useEffect(()=>{if(u<2||t<=0||A||v)return;const k=window.setInterval(()=>p(B=>(Math.min(B,u-1)+1)%u),t);return()=>window.clearInterval(k)},[u,t,A,v]);const D=k=>{y.current!=null&&window.clearTimeout(y.current),y.current=window.setTimeout(()=>{y.current=null,_(!1)},k)};return o.useEffect(()=>()=>{y.current!=null&&window.clearTimeout(y.current)},[]),o.useEffect(()=>{if(!b)return;const k=B=>{B.pointerType==="touch"&&(x.current&&x.current.contains(B.target)||(y.current!=null&&(window.clearTimeout(y.current),y.current=null),_(!1)))};return document.addEventListener("pointerdown",k,!0),()=>document.removeEventListener("pointerdown",k,!0)},[b]),u===0?null:n.jsxs("section",{ref:x,className:Be("top-banner",r),"aria-label":l,"aria-roledescription":"carousel",onPointerEnter:k=>{f.current=k.pointerType},onPointerDown:k=>{f.current=k.pointerType,k.pointerType==="touch"&&(y.current!=null&&(window.clearTimeout(y.current),y.current=null),_(!0))},onPointerUp:k=>{k.pointerType==="touch"&&D(5e3)},onPointerCancel:k=>{k.pointerType==="touch"&&D(5e3)},onMouseEnter:()=>{f.current!=="touch"&&h(!0)},onMouseLeave:()=>h(!1),onFocus:k=>{let B=!0;try{B=k.target.matches(":focus-visible")}catch{B=!0}C(B)},onBlur:k=>{k.currentTarget.contains(k.relatedTarget)||C(!1)},children:[n.jsx("div",{className:"top-banner__viewport",children:n.jsx("div",{className:"top-banner__track",style:{transform:`translateX(-${w*100}%)`},children:c.map((k,B)=>n.jsx("div",{className:"top-banner__slide","aria-hidden":B!==w,...B!==w?{inert:!0}:{},children:k},B))})}),u>1&&n.jsx("div",{className:`top-banner__dots${(a?.[w]??"light")==="dark"?" top-banner__dots--dark":""}`,children:c.map((k,B)=>n.jsx("button",{type:"button",className:`top-banner__dot${B===w?" top-banner__dot--active":""}`,"aria-label":i("topBanner.dotAriaLabel",{count:u,index:B+1,defaultValue:`${u}\uAC1C \uC911 ${B+1}\uBC88\uC9F8 \uBC30\uB108`}),"aria-current":B===w,onClick:()=>p(B)},B))})]})}function Yg({title:e,body:t,open:a=!1,onToggle:r,avatar:s,titleClassName:i="body-2",bodyClassName:l="body-2",className:c=""}){const{t:u}=fe.useTranslation();return n.jsxs("div",{className:`accordion-item ${a?"accordion-item--open":""} ${c}`.trim(),role:"listitem",children:[n.jsxs("div",{className:"accordion-item__header",role:"button",tabIndex:0,"aria-expanded":a,"data-accordion-header":!0,onClick:r,onKeyDown:d=>{if(d.key==="Enter"||d.key===" ")d.preventDefault(),r?.();else if(d.key==="ArrowDown"||d.key==="ArrowUp"){d.preventDefault();const p=d.currentTarget.closest('[role="list"]');if(!p)return;const m=Array.from(p.querySelectorAll("[data-accordion-header]")),h=m.indexOf(d.currentTarget);(d.key==="ArrowDown"?m[h+1]:m[h-1])?.focus()}},children:[s&&n.jsx("div",{className:"accordion-item__avatar",children:s}),n.jsx("div",{className:`accordion-item__title ${i}`,children:e}),n.jsx("div",{className:"accordion-item__chevron",children:n.jsx(Ge,{icon:a?"chevron-up":"chevron-down",label:a?u("accordion.collapse","\uC811\uAE30"):u("accordion.expand","\uD3BC\uCE58\uAE30"),className:"accordion-item__chevron-icon",imgClassName:"accordion-item__chevron-image"})})]}),a&&n.jsx("div",{className:`accordion-item__body ${l}`,children:typeof t=="string"?n.jsx("p",{children:t}):t})]})}function Zg({items:e=[],defaultOpenIndex:t=0,size:a=72,className:r="",bodyClassName:s}){const[i,l]=o.useState({index:t}),c=(u,d)=>i.id!=null&&u.id!=null?u.id===i.id:i.id==null&&d===i.index;return n.jsx("div",{className:`accordion-group accordion-group--s${a} ${r}`.trim(),role:"list",children:e.map((u,d)=>n.jsx(Yg,{title:u.title,body:u.body,avatar:u.avatar,open:c(u,d),onToggle:()=>l(c(u,d)?{index:-1}:{index:d,id:u.id}),bodyClassName:s},u.id??d))})}function Xg(){return n.jsx("svg",{viewBox:"0 0 12 12",fill:"none",stroke:"currentColor",strokeWidth:2.2,strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:n.jsx("polyline",{points:"2,6 5,9 10,3"})})}function Jg(){return n.jsxs("svg",{viewBox:"0 0 12 12",fill:"none",stroke:"currentColor",strokeWidth:2.2,strokeLinecap:"round","aria-hidden":"true",children:[n.jsx("line",{x1:"3",y1:"3",x2:"9",y2:"9"}),n.jsx("line",{x1:"9",y1:"3",x2:"3",y2:"9"})]})}function Qg(){return n.jsx("svg",{viewBox:"0 0 12 12",fill:"none",stroke:"currentColor",strokeWidth:2.2,strokeLinecap:"round","aria-hidden":"true",children:n.jsx("line",{x1:"2.5",y1:"6",x2:"9.5",y2:"6"})})}function pt(e){const{t}=fe.useTranslation(),{type:a="bar",size:r,className:s="","aria-label":i,"aria-hidden":l}=e;if(a==="dot"){const{icon:A,number:w,position:D="top-right",onClick:k,animate:B=!1}=e,N=A??"check",M=w!==void 0?"number":N,P=typeof r=="number"?r:32,$=Be("circle-badge",`circle-badge--${M}`,`circle-badge--${D}`,`circle-badge--${P}`,B?"circle-badge--animate":"",k?"circle-badge--clickable":"",s),W=w!==void 0?t("badge.nthSelected",{n:w,defaultValue:"{{n}}\uBC88\uC9F8 \uC120\uD0DD"}):{check:t("badge.selected","\uC120\uD0DD\uB428"),remove:t("badge.remove","\uC81C\uAC70"),minus:t("badge.exclude","\uC81C\uC678")}[N];return n.jsxs("span",{className:$,onClick:k,onKeyDown:k?S=>{S.key!=="Enter"&&S.key!==" "||(S.preventDefault(),S.currentTarget.click())}:void 0,"aria-label":l?void 0:i??W,"aria-hidden":l||void 0,role:k?"button":l?void 0:"img",tabIndex:k?0:void 0,children:[w!==void 0&&w,w===void 0&&N==="check"&&n.jsx(Xg,{}),w===void 0&&N==="remove"&&n.jsx(Jg,{}),w===void 0&&N==="minus"&&n.jsx(Qg,{})]})}const{label:c,children:u,variant:d="default",fill:p="filled",minWidth:m,iconLeft:h,iconRight:g,color:C}=e,b=typeof r=="number"?"medium":r??"medium",_={small:"caption-2b",medium:"body-3b",large:"body-2b"}[b]??"body-2b",f={small:12,medium:14,large:16}[b]??14,y=Be("badge",`badge--${d}`,`badge--${b}`,p!=="filled"?`badge--${p}`:"",_,s),x=C?.startsWith("--")?`var(${C})`:C,v=m!==void 0||x?{...m!==void 0?{minWidth:typeof m=="number"?`${m}px`:m}:{},...x?{"--badge-color":x}:{}}:void 0;return n.jsxs("span",{className:y,style:v,"aria-label":l?void 0:i,role:i&&!l?"img":void 0,"aria-hidden":l||void 0,children:[h&&n.jsx(Ge,{icon:h,size:f,className:"badge__icon"}),c??u,g&&n.jsx(Ge,{icon:g,size:f,className:"badge__icon"})]})}function Wa({columns:e=[],onClose:t,className:a="",size:r="medium"}){const{t:s}=fe.useTranslation(),i=r==="small"?40:48,[l,c]=o.useState([]),u=o.useMemo(()=>{const _=[{title:null,columns:e}];let f=e;for(const y of l){const x=f?.[y.ci]?.items?.[y.ii];if(!x||!Array.isArray(x.children)||!x.children.length)break;f=[{title:null,items:x.children}],_.push({title:x.label||null,columns:f})}return _},[e,l]),d=u[u.length-1],p=u.length-1,m=o.useCallback(()=>c(_=>_.slice(0,Math.max(0,Math.min(_.length,p)-1))),[p]),h=o.useRef(null),g=o.useRef(null),C=u.length;o.useEffect(()=>{g.current||(g.current=document.activeElement);let _=0,f=0;const y=()=>{const x=h.current?.querySelector("button:not([disabled])");if(x&&x.offsetParent){x.focus({preventScroll:!0});return}f++<20&&(_=requestAnimationFrame(y))};return _=requestAnimationFrame(y),()=>cancelAnimationFrame(_)},[C]),o.useEffect(()=>()=>{g.current?.focus?.({preventScroll:!0})},[]);const b=o.useCallback((_,f,y)=>{if(_){if(Array.isArray(_.children)&&_.children.length){c(x=>[...x.slice(0,p),{ci:f,ii:y}]);return}try{typeof _.onClick=="function"&&_.onClick()}catch{}try{_&&_.closeOnSelect&&typeof t=="function"&&t()}catch{}}},[t,p]);return n.jsxs("div",{className:`tooltip-menu tooltip-menu--${r} ${a}`,children:[(u.length>1||d.title)&&n.jsxs("div",{className:"tooltip-menu__header",children:[u.length>1?n.jsx(ce,{htmlType:"button",size:i,type:"dot",icon:"chevron-left",ariaLabel:s("common.back","\uB4A4\uB85C"),onClick:m,variant:"transparent-gray",useBorder:!1}):null,n.jsx("div",{className:"tooltip-menu__title button-1",children:d.title})]}),n.jsx("div",{className:"tooltip-menu__columns",ref:h,children:d.columns&&d.columns.map((_,f)=>n.jsxs("div",{className:"tooltip-menu__column",children:[_.title?n.jsx("div",{className:"tooltip-menu__column-title body-3",children:_.title}):null,n.jsx("div",{className:"tooltip-menu__items",children:(_.items||[]).map((y,x)=>n.jsx(ce,{htmlType:"button",className:"tooltip-menu__item",size:i,type:y.label?"bar":"dot",icon:y.selected?"check":y.icon||"none",rightIcon:Array.isArray(y.children)&&y.children.length?"chevron-right":y.badgeCount?n.jsx(pt,{type:"dot",position:"inline",number:Math.min(y.badgeCount,99),size:24,"aria-hidden":!0}):void 0,label:y.label,ariaLabel:y.label&&y.badgeCount&&y.badgeCount>0?s("nav.badgeLabel",{label:y.label,count:y.badgeCount,defaultValue:"{{label}}, {{count}}\uAC1C"}):y.label,onClick:()=>b(y,f,x),selected:y.selected,disabled:y.disabled,showTooltipInfo:y.tooltip||!1,useBorder:!1,align:"left"},x))})]},f))})]})}const qa=52,Qn=10,nl=e=>e&&e>0?e:0;function al({items:e=[],activeKey:t,onChange:a,appMode:r,onAppModeChange:s,moreItems:i=[]}){const{t:l}=fe.useTranslation(),c=r==="manager"?"malgwi":"manager",u=r==="manager"?"arrow-left":"arrow-right",d=r==="manager"?l("nav.modeLabelMalgwi","\uB9D0\uADC0"):l("nav.modeLabelManager","\uB9D0\uADC0 \uB9E4\uB2C8\uC800"),p=o.useRef(null),[m,h]=o.useState(0),g=e.length;o.useEffect(()=>{const z=p.current;if(!z||(h(z.clientWidth),typeof ResizeObserver>"u"))return;const Z=new ResizeObserver(I=>h(I[0].contentRect.width));return Z.observe(z),()=>Z.disconnect()},[]);const C=qa+1,b=o.useRef(!1),_=m>0&&i.length===0&&b.current?m+C:m,f=g*(qa+Qn)-Qn<=_,y=m<=0?g:i.length>0?Math.floor((m+Qn)/(qa+Qn)):f?g:Math.floor((_-C+Qn)/(qa+Qn)),x=m>0&&y<g,v=x?y:g,A=e.slice(0,v),w=e.slice(v),D=x||i.length>0;o.useEffect(()=>{b.current=D});const k=o.useCallback((z,Z)=>({position:"fixed",bottom:window.innerHeight-z.top+8,right:window.innerWidth-z.right,zIndex:ya(Z)}),[]),B=o.useId(),{open:N,toggle:M,close:P,style:$,triggerRef:W,menuRef:S}=va({computeStyle:k,onScroll:"ignore",onResize:"reposition"}),F=o.useCallback((z,Z)=>Z>0?l("nav.badgeLabel",{label:z,count:Z,defaultValue:"{{label}}, {{count}}\uAC1C"}):z,[l]),Y=o.useCallback(()=>s?.(c),[s,c]),G=o.useMemo(()=>w.find(z=>!!z.key&&z.key===t)??i.find(z=>z.selected||z.key&&z.key===t),[w,t,i]),q=o.useMemo(()=>[{items:[...w.map(z=>({label:z.label,icon:z.icon,badgeCount:z.badgeCount,selected:!!z.key&&z.key===t,closeOnSelect:!0,disabled:z.state==="disabled",onClick:()=>{z.state!=="disabled"&&(z.key&&a&&a(z.key),P())}})),...i.map(z=>({label:z.label,icon:z.icon,badgeCount:z.badgeCount,selected:z.selected??(!!z.key&&z.key===t),closeOnSelect:!0,onClick:()=>{z.onClick?.(),P()}}))]}],[w,i,t,a,P]),H=[...w,...i].reduce((z,Z)=>z+nl(Z.badgeCount),0);return n.jsxs("nav",{className:"bottom-nav","aria-label":l("nav.bottomNav","\uD558\uB2E8 \uB124\uBE44\uAC8C\uC774\uC158"),children:[s&&n.jsxs(n.Fragment,{children:[n.jsx("div",{className:"bottom-nav__left",children:n.jsx(ce,{htmlType:"button",size:52,type:"dot",icon:u,ariaLabel:d,className:"bottom-nav-item",onClick:Y})}),n.jsx("div",{className:"bottom-nav__divider","aria-hidden":"true"})]}),n.jsx("div",{className:"bottom-nav__items",ref:p,children:A.map((z,Z)=>{const I=nl(z.badgeCount);return n.jsxs("span",{className:"bottom-nav__slot",children:[n.jsx(ce,{htmlType:"button",size:52,type:"dot",icon:z.icon,ariaLabel:F(z.label,I),selected:!!z.key&&z.key===t,disabled:z.state==="disabled",className:"bottom-nav-item",onClick:()=>z.key&&a?.(z.key)}),I>0&&n.jsx("span",{"aria-hidden":"true",children:n.jsx(pt,{type:"dot",position:"top-right",number:Math.min(I,99),size:24})})]},z.key??`__slot-${Z}`)})}),D&&n.jsxs(n.Fragment,{children:[n.jsx("div",{className:"bottom-nav__divider","aria-hidden":"true"}),n.jsx("div",{className:"bottom-nav__right",children:n.jsxs("div",{ref:W,className:"bottom-nav__slot",children:[n.jsx(ce,{htmlType:"button",size:52,type:"dot",icon:G?.icon??"ellipsis",ariaLabel:F(G?.label??l("nav.more","\uB354\uBCF4\uAE30"),H),selected:!!G,className:"bottom-nav-item",onClick:M,"aria-expanded":N,"aria-controls":N?B:void 0}),H>0&&n.jsx("span",{"aria-hidden":"true",children:n.jsx(pt,{type:"dot",position:"top-right",number:Math.min(H,99),size:24})}),N&&Wt.createPortal(n.jsx("div",{id:B,role:"group","aria-label":l("nav.moreMenu","\uB354\uBCF4\uAE30 \uBA54\uB274"),className:"tooltip-content",style:$,ref:S,children:n.jsx(Wa,{columns:q,onClose:P})}),document.body)]})})]})]})}function rl(e){if(typeof e!="string")return!1;let t="";for(const r of e){const s=r.charCodeAt(0);s<=32||s>=127&&s<=159||(t+=r)}if(!t)return!1;const a=/^([a-zA-Z][a-zA-Z0-9+.-]*):/.exec(t);return a?["http","https","mailto","tel"].includes(a[1].toLowerCase()):!0}function ol(e,t,a){return a&&a>0?e("nav.badgeLabel",{label:t,count:a,defaultValue:"{{label}}, {{count}}\uAC1C"}):t}function eb(e){const{t}=fe.useTranslation(),{activeKey:a,unreadCount:r,onDebug:s,onNotification:i,onSetting:l,onHelp:c,onAccount:u}=e||{},d="default";return s||i||l||c||u?n.jsxs("div",{className:"side-nav__footer",children:[s&&n.jsx(ce,{htmlType:"button",size:48,showTooltipInfo:!0,type:"dot",shape:"pill",variant:d,icon:"terminal",ariaLabel:t("nav.debug","\uB514\uBC84\uADF8"),onClick:s,selected:a==="debug"}),i&&n.jsxs("span",{className:"side-nav__notification-wrap",children:[n.jsx(ce,{htmlType:"button",size:48,showTooltipInfo:!0,type:"dot",shape:"pill",variant:d,icon:"bell",ariaLabel:ol(t,t("nav.notifications","\uC54C\uB9BC"),r),onClick:i,selected:a==="notifications"}),!!r&&r>0&&n.jsx(pt,{type:"dot",number:Math.min(r,99),size:24,"aria-hidden":!0})]}),l&&n.jsx(ce,{htmlType:"button",size:48,showTooltipInfo:!0,type:"dot",shape:"pill",variant:d,icon:"settings",ariaLabel:t("nav.settings","\uC124\uC815"),onClick:l,selected:a==="settings"}),c&&n.jsx(ce,{htmlType:"button",size:48,showTooltipInfo:!0,type:"dot",shape:"pill",variant:d,icon:"message-circle-question-mark",ariaLabel:t("nav.help","\uB3C4\uC6C0\uB9D0"),onClick:c,selected:a==="help"}),u&&n.jsx(ce,{htmlType:"button",size:48,showTooltipInfo:!0,type:"dot",shape:"pill",variant:d,icon:"user-round",ariaLabel:t("nav.account","\uACC4\uC815"),onClick:u,selected:a==="account"})]}):null}function sl(e){const{t}=fe.useTranslation(),{item:a,itemKey:r,label:s,icon:i,active:l,onClick:c,style:u,state:d,labelStyle:p}=e||{},m=a?.key??r??"",h=a?.label??s??"",g=a?.icon??i??"",C=a?.badge??0,b=n.jsx("span",{className:"side-nav__icon-wrap",children:n.jsx(Ge,{icon:g,label:typeof h=="string"?h:void 0,className:"side-nav__icon",maskClassName:"side-nav__icon-image",imgClassName:void 0,svgClassName:void 0})}),_=d==="disabled",f=`side-nav__item ${l?"active":""} ${d||""} ${_?"disabled":""} ${a?.child?"side-nav__item--child":""}`,y=o.useCallback(x=>{if(_)return;const v=x.detail>0;if(v)try{x.currentTarget.blur()}catch{}c?.(m,x.currentTarget,v)},[_,m,c]);return n.jsxs("button",{type:"button",className:f,onClick:y,"aria-label":typeof h=="string"?ol(t,h,C):void 0,"aria-current":l?"page":void 0,style:u,"aria-disabled":_,children:[b,n.jsx("span",{className:"side-nav__label button-1 f",style:p,children:h}),C>0&&n.jsx(pt,{type:"dot",position:"inline",number:Math.min(C,99),size:24,"aria-hidden":!0}),d==="loading"&&n.jsx("span",{className:"side-nav__spinner",role:"img","aria-label":t("loader.loading","\uBD88\uB7EC\uC624\uB294 \uC911\u2026")})]})}function il(e){const{t}=fe.useTranslation(),{items:a=[],activeKey:r,onChange:s,unreadCount:i,onDebug:l,onNotification:c,onAccount:u,onSetting:d,onHelp:p,appMode:m,onAppModeChange:h}=e||{},g=m==="manager",C=o.useCallback(()=>h?.(g?"malgwi":"manager"),[h,g]);return n.jsxs("nav",{"aria-label":t("nav.mainMenu","\uBA54\uC778 \uBA54\uB274"),className:"side-nav__menu",children:[n.jsxs("div",{className:"side-nav__menu-list",children:[(a||[]).filter(b=>!b.section&&(b.key||b.label)).map((b,_)=>n.jsxs(o.Fragment,{children:[b.divider&&n.jsx("div",{className:"side-nav__separator"}),n.jsx(sl,{item:b,active:!!b.key&&b.key===r,state:b.disabled?"disabled":void 0,onClick:(f,y,x)=>{if(b.disabled)return;if(b.href){if(rl(b.href)&&window.open(b.href,"_blank","noopener,noreferrer"),x)try{y?.blur()}catch{}return}s?.(b.key);try{const A=document.querySelector(".content-area");A?A.scrollTop=0:window.scrollTo({top:0})}catch{}if(!x)return;try{y?.blur()}catch{}if(typeof window<"u"&&window.matchMedia){if(!window.matchMedia("(min-width: 768px) and (max-width: 1023px)").matches)return}else return;const v=document.querySelector(".header");if(v){const A=typeof v.matches=="function";if(!(window.matchMedia("(hover: hover)").matches&&A&&v.matches(":hover"))){v.classList.add("header--force-collapsed");const w=()=>{v.classList.remove("header--force-collapsed"),v.removeEventListener("mouseenter",w)};v.addEventListener("mouseenter",w)}}}})]},b.key??`side-nav__item-${_}`)),h&&n.jsx("div",{className:"side-nav__separator side-nav__separator--short"}),h&&n.jsx(sl,{item:{key:"__mode-switch__",label:g?t("nav.goToMalgwi","\uB9D0\uADC0\uB85C \uC774\uB3D9"):t("nav.goToManager","\uB9D0\uADC0\uB9E4\uB2C8\uC800\uB85C \uC774\uB3D9"),icon:g?"arrow-left":"arrow-right"},onClick:C})]}),n.jsx(eb,{activeKey:r,unreadCount:i,onDebug:l,onNotification:c,onAccount:u,onSetting:d,onHelp:p})]})}var Zr='data:image/svg+xml,<svg width="200" height="100" viewBox="0 0 200 100" fill="none" xmlns="http://www.w3.org/2000/svg">%0A<g clip-path="url(%23clip0_2080_3066)">%0A<path d="M96.4287 48.3536V24.2572H127.047V48.3536H96.4287ZM142.975 69.1536V76.3607H98.2144V60.6393H132.679V58.5107H98.0787V51.3036H142.429V67.025H108.104V69.1536H142.979H142.975ZM106.247 32.5643V39.9786H117.3V32.5643H106.247ZM148.329 40.3893H142.425V49.45H132.539V23.6357H142.425V30.8429H148.329V40.3857V40.3893Z" fill="black"/>%0A<path d="M185.536 47.8714V57.275C182.743 58.5571 178.371 59.1964 172.425 59.1964H171.807V76.3607H161.921V59.1964H149.704V49.7929H172.564C178.421 49.7929 182.746 49.1536 185.539 47.8714H185.536ZM152.586 34.2786V24.875H181.282V47.05H171.396V34.2821H152.586V34.2786ZM198.307 76.3607H188.421V23.6393H198.307V76.3643V76.3607Z" fill="black"/>%0A<path d="M46.4288 17.8571H25.0002C15.138 17.8571 7.14307 25.852 7.14307 35.7143V57.1428C7.14307 67.0051 15.138 75 25.0002 75H46.4288C56.291 75 64.2859 67.0051 64.2859 57.1428V35.7143C64.2859 25.852 56.291 17.8571 46.4288 17.8571Z" fill="%234DCDC0"/>%0A<path d="M34.8607 50.7393C25.8285 60.6821 10.6142 61.6678 0.385667 53.1643C-0.0821902 52.775 -0.13219 52.0678 0.278524 51.6178L16.3535 33.925L34.8607 50.7393Z" fill="%234DCDC0"/>%0A<path d="M53.5714 25H32.1428C22.2821 25 14.2856 32.9964 14.2856 42.8571V64.2857C14.2856 74.1464 22.2821 82.1429 32.1428 82.1429H48.2535C49.2178 82.1429 49.9999 82.925 49.9999 83.8893C49.9999 84.9107 50.8749 85.7214 51.8928 85.6321C62.8392 84.675 71.4285 75.4821 71.4285 64.2857V42.8571C71.4285 32.9964 63.4321 25 53.5714 25Z" fill="%234DCDC0"/>%0A<path d="M24.9999 25C19.0821 25 14.2856 29.7964 14.2856 35.7143V64.2857C14.2856 67.3786 15.0749 70.2893 16.4571 72.8286C18.9928 74.2143 21.9035 75 24.9999 75H53.5714C59.4892 75 64.2856 70.2036 64.2856 64.2857V35.7143C64.2856 32.6214 63.4964 29.7107 62.1142 27.1714C59.5785 25.7857 56.6678 25 53.5714 25H24.9999Z" fill="%23499CDF"/>%0A<path d="M25.357 40.7143C25.357 39.5308 24.3976 38.5714 23.2141 38.5714C22.0307 38.5714 21.0713 39.5308 21.0713 40.7143V45C21.0713 46.1834 22.0307 47.1428 23.2141 47.1428C24.3976 47.1428 25.357 46.1834 25.357 45V40.7143Z" fill="white"/>%0A<path d="M36.0715 57.1429C35.0287 57.1429 33.9822 56.875 33.0358 56.3286C32.1822 55.8357 31.8894 54.7429 32.3858 53.8893C32.8787 53.0357 33.9715 52.7429 34.8251 53.2393C35.8037 53.8036 37.043 53.6429 37.8394 52.8464C38.2251 52.4607 38.468 51.9714 38.543 51.4357C38.8644 49.1607 39.868 47 41.4501 45.1857C42.393 44.1071 42.8894 42.7214 42.8537 41.2857C42.7787 38.3536 40.4322 35.9107 37.5072 35.7286C36.5215 35.6679 35.5715 35.8464 34.693 36.2679C33.8037 36.6929 32.7358 36.3107 32.3144 35.4214C31.8894 34.5321 32.2715 33.4643 33.1608 33.0429C34.5751 32.3714 36.1537 32.0679 37.7322 32.1643C42.4894 32.4607 46.3072 36.4286 46.4251 41.1964C46.4822 43.5286 45.6715 45.7786 44.143 47.5357C43.018 48.825 42.3037 50.3464 42.0822 51.9357C41.8965 53.2464 41.3037 54.4357 40.368 55.375C39.2001 56.5429 37.6465 57.15 36.0751 57.15L36.0715 57.1429Z" fill="white"/>%0A</g>%0A<defs>%0A<clipPath id="clip0_2080_3066">%0A<rect width="200" height="100" fill="white"/>%0A</clipPath>%0A</defs>%0A</svg>%0A',Xr='data:image/svg+xml,<svg width="371" height="100" viewBox="0 0 371 100" fill="none" xmlns="http://www.w3.org/2000/svg">%0A<g clip-path="url(%23clip0_2255_7374)">%0A<path d="M237.151 26.0393V72.7214H216.65V26.0393H237.151ZM234.408 70.0464V28.7179H219.254V70.0464H234.408ZM261.495 76.3607H258.819V48.9679H247.575V75.4679H244.899V23.9821H247.575V46.2929H258.819V23.6393H261.495V76.3643V76.3607Z" fill="black"/>%0A<path d="M299.722 69.2571C302.076 68.775 304.031 68.1464 305.583 67.3679V70.1143C304.074 70.9393 302.144 71.5786 299.789 72.0357C297.435 72.4929 295.045 72.7214 292.623 72.7214H272.257V25.6964H275V69.975H292.623C294.998 69.975 297.364 69.7357 299.722 69.2536V69.2571ZM311.69 76.4321V23.6393H314.433V76.3643L311.69 76.4321Z" fill="black"/>%0A<path d="M340.556 47.9393L358.179 70.4572L356.053 72.1036L339.872 51.1643C338.409 57.3429 336.329 62.2643 333.632 65.925C330.935 69.5857 327.736 71.8536 324.033 72.7215V69.975C327.279 69.15 330.044 66.8643 332.33 63.1107C334.617 59.3572 336.354 54.5179 337.542 48.5893C338.73 42.6643 339.369 36.0393 339.461 28.7143H324.992V26.0357H356.602V28.7143H342.201C342.155 35.9 341.605 42.3072 340.556 47.9357V47.9393ZM369.22 76.3607H366.477V47.4572H352.418V44.7786H366.477V23.6357H369.22V76.3607Z" fill="black"/>%0A<path d="M92.8784 48.3536V24.2572H123.461V48.3536H92.8784ZM139.371 69.1536V76.3607H94.6621V60.6393H129.087V58.5107H94.5265V51.3036H138.825V67.025H104.54V69.1536H139.375H139.371ZM102.685 32.5643V39.9786H113.726V32.5643H102.685ZM144.719 40.3893H138.822V49.45H128.947V23.6357H138.822V30.8429H144.719V40.3857V40.3893Z" fill="black"/>%0A<path d="M181.886 47.8714V57.275C179.097 58.5571 174.73 59.1964 168.791 59.1964H168.174V76.3607H158.299V59.1964H146.096V49.7929H168.93C174.78 49.7929 179.1 49.1536 181.89 47.8714H181.886ZM148.971 34.2786V24.875H177.634V47.05H167.76V34.2821H148.971V34.2786ZM194.64 76.3607H184.765V23.6393H194.64V76.3643V76.3607Z" fill="black"/>%0A<path d="M48.1549 17.8571H26.7511C16.9002 17.8571 8.91455 25.852 8.91455 35.7143V57.1428C8.91455 67.0051 16.9002 75 26.7511 75H48.1549C58.0058 75 65.9915 67.0051 65.9915 57.1428V35.7143C65.9915 25.852 58.0058 17.8571 48.1549 17.8571Z" fill="%234DCDC0"/>%0A<path d="M36.6007 50.7393C27.579 60.6821 12.3823 61.6678 2.1655 53.1643C1.69818 52.775 1.64824 52.0678 2.05848 51.6178L18.1149 33.925L36.6007 50.7393Z" fill="%234DCDC0"/>%0A<path d="M55.2897 25H33.8859C24.0365 25 16.0493 32.9964 16.0493 42.8571V64.2857C16.0493 74.1464 24.0365 82.1429 33.8859 82.1429H49.978C50.9412 82.1429 51.7224 82.925 51.7224 83.8893C51.7224 84.9107 52.5964 85.7214 53.6131 85.6321C64.5469 84.675 73.1262 75.4821 73.1262 64.2857V42.8571C73.1262 32.9964 65.139 25 55.2897 25Z" fill="%234DCDC0"/>%0A<path d="M26.7512 25C20.8402 25 16.0493 29.7964 16.0493 35.7143V64.2857C16.0493 67.3786 16.8377 70.2893 18.2182 72.8286C20.751 74.2143 23.6584 75 26.7512 75H55.2897C61.2007 75 65.9916 70.2036 65.9916 64.2857V35.7143C65.9916 32.6214 65.2032 29.7107 63.8227 27.1714C61.2899 25.7857 58.3826 25 55.2897 25H26.7512Z" fill="%23499CDF"/>%0A<path d="M27.1079 40.7143C27.1079 39.5308 26.1496 38.5714 24.9675 38.5714C23.7854 38.5714 22.8271 39.5308 22.8271 40.7143V45C22.8271 46.1834 23.7854 47.1428 24.9675 47.1428C26.1496 47.1428 27.1079 46.1834 27.1079 45V40.7143Z" fill="white"/>%0A<path d="M37.8097 57.1429C36.768 57.1429 35.7228 56.875 34.7775 56.3286C33.9249 55.8357 33.6323 54.7429 34.1282 53.8893C34.6205 53.0357 35.7121 52.7429 36.5647 53.2393C37.5421 53.8036 38.78 53.6429 39.5755 52.8464C39.9608 52.4607 40.2033 51.9714 40.2782 51.4357C40.5993 49.1607 41.6017 47 43.182 45.1857C44.1238 44.1071 44.6197 42.7214 44.584 41.2857C44.5091 38.3536 42.1653 35.9107 39.2437 35.7286C38.2556 35.6679 37.3102 35.8464 36.4327 36.2679C35.5444 36.6929 34.4778 36.3107 34.0569 35.4214C33.6323 34.5321 34.014 33.4643 34.9023 33.0429C36.315 32.3714 37.8917 32.0679 39.4685 32.1643C44.2201 32.4607 48.0336 36.4286 48.1513 41.1964C48.2084 43.5286 47.3986 45.7786 45.8718 47.5357C44.7481 48.825 44.0346 50.3464 43.8134 51.9357C43.6279 53.2464 43.0358 54.4357 42.1011 55.375C40.9346 56.5429 39.3828 57.15 37.8132 57.15L37.8097 57.1429Z" fill="white"/>%0A</g>%0A<defs>%0A<clipPath id="clip0_2255_7374">%0A<rect width="371" height="100" fill="white"/>%0A</clipPath>%0A</defs>%0A</svg>%0A',tb='data:image/svg+xml,<svg width="100" height="100" viewBox="0 0 100 100" fill="none" xmlns="http://www.w3.org/2000/svg">%0A<g clip-path="url(%23clip0_2175_65214)">%0A<path d="M57.1427 17.8571H35.7141C25.8518 17.8571 17.8569 25.852 17.8569 35.7143V57.1428C17.8569 67.0051 25.8518 75 35.7141 75H57.1427C67.0049 75 74.9998 67.0051 74.9998 57.1428V35.7143C74.9998 25.852 67.0049 17.8571 57.1427 17.8571Z" fill="%234DCDC0"/>%0A<path d="M45.575 50.7393C36.5429 60.6821 21.3286 61.6678 11.1 53.1643C10.6322 52.775 10.5822 52.0678 10.9929 51.6178L27.0679 33.925L45.575 50.7393Z" fill="%234DCDC0"/>%0A<path d="M64.2857 25H42.8571C32.9964 25 25 32.9964 25 42.8571V64.2857C25 74.1464 32.9964 82.1429 42.8571 82.1429H58.9679C59.9321 82.1429 60.7143 82.925 60.7143 83.8893C60.7143 84.9107 61.5893 85.7214 62.6071 85.6321C73.5536 84.675 82.1429 75.4821 82.1429 64.2857V42.8571C82.1429 32.9964 74.1464 25 64.2857 25Z" fill="%234DCDC0"/>%0A<path d="M35.7143 25C29.7964 25 25 29.7964 25 35.7143V64.2857C25 67.3786 25.7893 70.2893 27.1714 72.8286C29.7071 74.2143 32.6179 75 35.7143 75H64.2857C70.2036 75 75 70.2036 75 64.2857V35.7143C75 32.6214 74.2107 29.7107 72.8286 27.1714C70.2929 25.7857 67.3821 25 64.2857 25H35.7143Z" fill="%23499CDF"/>%0A<path d="M36.0714 40.7143C36.0714 39.5308 35.112 38.5714 33.9285 38.5714C32.745 38.5714 31.7856 39.5308 31.7856 40.7143V45C31.7856 46.1834 32.745 47.1428 33.9285 47.1428C35.112 47.1428 36.0714 46.1834 36.0714 45V40.7143Z" fill="white"/>%0A<path d="M46.7859 57.1429C45.743 57.1429 44.6966 56.875 43.7502 56.3286C42.8966 55.8357 42.6037 54.7429 43.1002 53.8893C43.593 53.0357 44.6859 52.7429 45.5395 53.2393C46.518 53.8036 47.7573 53.6429 48.5537 52.8464C48.9395 52.4607 49.1823 51.9714 49.2573 51.4357C49.5787 49.1607 50.5823 47 52.1645 45.1857C53.1073 44.1071 53.6037 42.7214 53.568 41.2857C53.493 38.3536 51.1466 35.9107 48.2216 35.7286C47.2359 35.6679 46.2859 35.8464 45.4073 36.2679C44.5145 36.6929 43.4502 36.3107 43.0287 35.4214C42.6037 34.5321 42.9859 33.4643 43.8752 33.0429C45.2895 32.3714 46.868 32.0679 48.4466 32.1643C53.2002 32.4607 57.0216 36.4286 57.1395 41.1964C57.1966 43.5286 56.3859 45.7786 54.8573 47.5357C53.7323 48.825 53.018 50.3464 52.7966 51.9357C52.6109 53.2464 52.018 54.4357 51.0823 55.375C49.9145 56.5429 48.3609 57.15 46.7895 57.15L46.7859 57.1429Z" fill="white"/>%0A</g>%0A<defs>%0A<clipPath id="clip0_2175_65214">%0A<rect width="100" height="100" fill="white"/>%0A</clipPath>%0A</defs>%0A</svg>%0A';function ll({appMode:e}){const{t}=fe.useTranslation(),a=e==="manager",r=a?Xr:Zr,s=tb,i=en("(min-width: 768px) and (max-width: 1023px)");return n.jsx("div",{className:"brand-identity__root","aria-label":t("header.biArea","BI \uC601\uC5ED"),children:i?n.jsx("img",{src:s,alt:t("header.biSymbol","BI \uC2EC\uBCFC"),className:"brand-identity__image"}):n.jsx("img",{src:r,alt:a?t("header.logoManager","\uB9D0\uADC0\uB9E4\uB2C8\uC800 \uB85C\uACE0"):t("header.logoMalgwi","\uB9D0\uADC0 \uB85C\uACE0"),className:"brand-identity__image"})})}function cl({activeKey:e,onChange:t,items:a,malgwiItems:r,managerItems:s,unreadCount:i,onDebug:l,onNotification:c,onAccount:u,onSetting:d,onHelp:p,appMode:m,onAppModeChange:h}){const{t:g}=fe.useTranslation(),C=en("(max-width: 767px)"),b=o.useMemo(()=>(a??[]).filter(M=>!M.section&&(M.key||M.label)).map(M=>({key:M.key,label:typeof M.label=="string"?M.label:void 0,icon:M.icon,state:M.disabled?"disabled":void 0,badgeCount:M.badge})),[a]),_=o.useCallback(M=>{const P=a?.find($=>$.key===M);if(!P?.disabled){if(P?.href){rl(P.href)&&window.open(P.href,"_blank","noopener,noreferrer");return}t?.(M)}},[a,t]),f=o.useMemo(()=>{const M=[];return l&&M.push({key:"debug",icon:"terminal",label:g("nav.debug","\uB514\uBC84\uADF8"),onClick:l}),c&&M.push({key:"notifications",icon:"bell",label:g("nav.notifications","\uC54C\uB9BC"),badgeCount:i,onClick:c}),d&&M.push({key:"settings",icon:"settings",label:g("nav.settings","\uC124\uC815"),onClick:d}),p&&M.push({key:"help",icon:"message-circle-question-mark",label:g("nav.help","\uB3C4\uC6C0\uB9D0"),onClick:p}),u&&M.push({key:"account",icon:"user-round",label:g("nav.account","\uACC4\uC815"),onClick:u}),M},[g,l,c,d,p,u,i]),y=o.useCallback((M,P)=>({position:"fixed",top:M.bottom+8,right:Math.max(8,window.innerWidth-M.right),zIndex:ya(P)}),[]),x=o.useId(),{open:v,toggle:A,close:w,style:D,triggerRef:k,menuRef:B}=va({computeStyle:y,onScroll:"ignore",onResize:"reposition"}),N=o.useMemo(()=>[{items:f.map(M=>({label:M.label,icon:M.icon,badgeCount:M.badgeCount,selected:M.selected??(!!M.key&&M.key===e),closeOnSelect:!0,onClick:()=>{M.onClick?.(),w()}}))}],[f,e,w]);return n.jsxs("aside",{className:`header${m==="manager"?" header--manager":""}`,children:[n.jsxs("div",{className:"header__bi",children:[n.jsx(ll,{appMode:m}),n.jsxs("div",{className:"header__menu-button",ref:k,children:[n.jsx(ce,{htmlType:"button",size:48,type:"dot",shape:"pill",variant:"default",icon:"menu",ariaLabel:c&&i&&i>0?g("nav.badgeLabel",{label:g("header.menuOpen","\uBA54\uB274 \uC5F4\uAE30"),count:i,defaultValue:"{{label}}, {{count}}\uAC1C"}):g("header.menuOpen","\uBA54\uB274 \uC5F4\uAE30"),onClick:A,"aria-expanded":v,"aria-controls":v?x:void 0}),!!c&&!!i&&i>0&&n.jsx(pt,{type:"dot",number:Math.min(i,99),size:24,"aria-hidden":!0}),v&&Wt.createPortal(n.jsx("div",{id:x,role:"group","aria-label":g("header.utilMenu","\uC720\uD2F8\uB9AC\uD2F0 \uBA54\uB274"),className:"tooltip-content",style:D,ref:B,children:n.jsx(Wa,{columns:N,onClose:w})}),document.body)]})]}),n.jsx(il,{items:a,activeKey:e??void 0,onChange:t,unreadCount:i,onDebug:l,onNotification:c,onAccount:u,onSetting:d,onHelp:p,appMode:m,onAppModeChange:h}),C&&n.jsx(al,{items:b,activeKey:e??void 0,onChange:_,appMode:m,onAppModeChange:h})]})}const nb=cl,ab=()=>wt.t("passCard.planSuffix","\uC774\uC6A9\uAD8C");function ul(e){if(!(e==null||e==="")){if(typeof e=="string"&&/^\s*\d[\d,]*\s*$/.test(e)){const t=Number(e.replace(/[,\s]/g,""));if(Number.isFinite(t))return Kn(`${t.toLocaleString("ko-KR")}\uC6D0`)}return Kn(typeof e=="number"?`${e.toLocaleString("ko-KR")}\uC6D0`:e)}}function rb(e){const t=`${e.code??""} ${e.name??""}`.toLowerCase();return/manager|매니저/.test(t)?"manager":"speechear"}function ob(e){if(e.durationDays&&e.durationDays>0){const i=e.durationDays;return i%365===0?`${i/365}\uB144`:`${i}\uC77C`}const t=(e.code??"").match(/(\d+)(d|y)\b/i);if(t)return t[2].toLowerCase()==="y"?`${t[1]}\uB144`:`${t[1]}\uC77C`;const a=e.name??"",r=a.match(/(\d+\s*(?:년|개월|주|일))\s*(?:이용권)?\s*$/);if(r)return r[1].replace(/\s+/g,"");const s=a.match(/(\d+)\s*-?\s*(day|year)s?\b/i);return s?s[2].toLowerCase()==="year"?`${s[1]}\uB144`:`${s[1]}\uC77C`:a||ab()}function sb(e){const t=(e??"").match(/(\d+)(d|y)\b/i);if(!t)return null;const a=Number(t[1]);return t[2].toLowerCase()==="y"?a*365:a}function dl(e){return{type:e.type??rb(e),plan:ob(e),label:e.label,price:ul(e.price),originalPrice:ul(e.originalPrice),discountLabel:e.discountLabel}}var ib='data:image/svg+xml,<svg width="200" height="100" viewBox="0 0 200 100" fill="none" xmlns="http://www.w3.org/2000/svg">%0A<g clip-path="url(%23clip0_2255_7326)">%0A<path d="M96.4287 48.3536V24.2572H127.047V48.3536H96.4287ZM142.975 69.1536V76.3607H98.2144V60.6393H132.679V58.5107H98.0787V51.3036H142.429V67.025H108.104V69.1536H142.979H142.975ZM106.247 32.5643V39.9786H117.3V32.5643H106.247ZM148.329 40.3893H142.425V49.45H132.539V23.6357H142.425V30.8429H148.329V40.3857V40.3893Z" fill="%23FAFAFA"/>%0A<path d="M185.536 47.8714V57.275C182.743 58.5571 178.371 59.1964 172.425 59.1964H171.807V76.3607H161.921V59.1964H149.704V49.7929H172.564C178.421 49.7929 182.746 49.1536 185.539 47.8714H185.536ZM152.586 34.2786V24.875H181.282V47.05H171.396V34.2821H152.586V34.2786ZM198.307 76.3607H188.421V23.6393H198.307V76.3643V76.3607Z" fill="%23FAFAFA"/>%0A<path opacity="0.1" d="M24.9999 25C19.0821 25 14.2856 29.7964 14.2856 35.7143V64.2857C14.2856 67.3786 15.0749 70.2893 16.4571 72.8286C18.9928 74.2143 21.9035 75 24.9999 75H53.5714C59.4892 75 64.2856 70.2036 64.2856 64.2857V35.7143C64.2856 32.6214 63.4964 29.7107 62.1142 27.1714C59.5785 25.7857 56.6678 25 53.5714 25H24.9999Z" fill="%23FAFAFA"/>%0A<path d="M14.2859 64.2857V35.7143C14.2859 29.7964 19.0823 25 25.0002 25H53.5716C56.6645 25 59.5752 25.7893 62.1145 27.1714C59.0859 21.6214 53.1966 17.8571 46.4288 17.8571H25.0002C15.1395 17.8571 7.14304 25.8535 7.14304 35.7143V44.0643L0.278759 51.6214C-0.131955 52.0714 -0.0855263 52.7785 0.385902 53.1678C2.46447 54.8964 4.75019 56.225 7.14304 57.1714C7.15376 63.9285 10.9145 69.8035 16.4573 72.8285C15.0716 70.2928 14.2859 67.3821 14.2859 64.2857Z" fill="%23FAFAFA"/>%0A<path d="M25.357 40.7143C25.357 39.5308 24.3976 38.5714 23.2141 38.5714C22.0307 38.5714 21.0713 39.5308 21.0713 40.7143V45C21.0713 46.1834 22.0307 47.1428 23.2141 47.1428C24.3976 47.1428 25.357 46.1834 25.357 45V40.7143Z" fill="%23FAFAFA"/>%0A<path d="M36.0715 57.1428C35.0287 57.1428 33.9822 56.875 33.0358 56.3285C32.1822 55.8357 31.8894 54.7428 32.3858 53.8893C32.8787 53.0357 33.9715 52.7428 34.8251 53.2393C35.8037 53.8035 37.043 53.6428 37.8394 52.8464C38.2251 52.4607 38.468 51.9714 38.543 51.4357C38.8644 49.1607 39.868 47 41.4501 45.1857C42.393 44.1071 42.8894 42.7214 42.8537 41.2857C42.7787 38.3535 40.4322 35.9107 37.5072 35.7285C36.518 35.6678 35.5715 35.85 34.693 36.2678C33.8037 36.6893 32.7358 36.3107 32.3144 35.4214C31.8894 34.5321 32.2715 33.4643 33.1608 33.0428C34.5751 32.3714 36.1572 32.0643 37.7322 32.1643C42.4894 32.4607 46.3072 36.4285 46.4251 41.1964C46.4822 43.5285 45.6715 45.7785 44.143 47.5357C43.018 48.825 42.3037 50.3464 42.0822 51.9321C41.8965 53.2428 41.3037 54.4321 40.368 55.3714C39.2001 56.5393 37.6465 57.1464 36.0751 57.1464L36.0715 57.1428Z" fill="%23FAFAFA"/>%0A<path d="M62.1142 27.1714C63.4999 29.7072 64.2856 32.6179 64.2856 35.7143V64.2857C64.2856 70.2036 59.4892 75 53.5713 75H24.9999C21.907 75 18.9963 74.2107 16.457 72.8286C19.4856 78.3786 25.3749 82.1429 32.1427 82.1429H48.2535C49.2177 82.1429 49.9999 82.925 49.9999 83.8893C49.9999 84.9107 50.8749 85.7215 51.8927 85.6322C62.8392 84.675 71.4285 75.4822 71.4285 64.2857V42.8572C71.4285 36.0893 67.6642 30.2 62.1142 27.1714Z" fill="%23FAFAFA"/>%0A</g>%0A<defs>%0A<clipPath id="clip0_2255_7326">%0A<rect width="200" height="100" fill="white"/>%0A</clipPath>%0A</defs>%0A</svg>%0A',lb='data:image/svg+xml,<?xml version="1.0" encoding="UTF-8"?>%0A<svg id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" viewBox="0 0 200 100">%0A <!-- Generator: Adobe Illustrator 30.4.0, SVG Export Plug-In . SVG Version: 2.1.4 Build 226) -->%0A <defs>%0A <style>%0A .st0 {%0A fill: none;%0A }%0A%0A .st1 {%0A fill: %234dcdc0;%0A }%0A%0A .st2 {%0A fill: %23499cdf;%0A }%0A%0A .st3 {%0A fill: %23fff;%0A }%0A%0A .st4 {%0A clip-path: url(%23clippath);%0A }%0A </style>%0A <clipPath id="clippath">%0A <rect class="st0" width="200" height="100"/>%0A </clipPath>%0A </defs>%0A <g class="st4">%0A <g>%0A <path class="st3" d="M96.43,48.35v-24.1h30.62v24.1h-30.62ZM142.98,69.15v7.21h-44.76v-15.72h34.46v-2.13h-34.6v-7.21h44.35v15.72h-34.33v2.13h34.88,0ZM106.25,32.56v7.41h11.05v-7.41h-11.05ZM148.33,40.39h-5.9v9.06h-9.89v-25.81h9.89v7.21h5.9v9.54h0Z"/>%0A <path class="st3" d="M185.54,47.87v9.4c-2.79,1.28-7.16,1.92-13.11,1.92h-.62v17.16h-9.89v-17.16h-12.22v-9.4h22.86c5.86,0,10.18-.64,12.98-1.92h0ZM152.59,34.28v-9.4h28.7v22.17h-9.89v-12.77h-18.81ZM198.31,76.36h-9.89V23.64h9.89v52.73h0Z"/>%0A <path class="st1" d="M46.43,17.86h-21.43c-9.86,0-17.86,7.99-17.86,17.86v21.43c0,9.86,7.99,17.86,17.86,17.86h21.43c9.86,0,17.86-7.99,17.86-17.86v-21.43c0-9.86-7.99-17.86-17.86-17.86Z"/>%0A <path class="st1" d="M34.86,50.74c-9.03,9.94-24.25,10.93-34.48,2.42-.47-.39-.52-1.1-.11-1.55l16.07-17.69,18.51,16.81Z"/>%0A <path class="st1" d="M53.57,25h-21.43c-9.86,0-17.86,8-17.86,17.86v21.43c0,9.86,8,17.86,17.86,17.86h16.11c.96,0,1.75.78,1.75,1.75,0,1.02.88,1.83,1.89,1.74,10.95-.96,19.54-10.15,19.54-21.35v-21.43c0-9.86-8-17.86-17.86-17.86Z"/>%0A <path class="st2" d="M25,25c-5.92,0-10.71,4.8-10.71,10.71v28.57c0,3.09.79,6,2.17,8.54,2.54,1.39,5.45,2.17,8.54,2.17h28.57c5.92,0,10.71-4.8,10.71-10.71v-28.57c0-3.09-.79-6-2.17-8.54-2.54-1.39-5.45-2.17-8.54-2.17h-28.57Z"/>%0A <path class="st3" d="M25.36,40.71c0-1.18-.96-2.14-2.14-2.14s-2.14.96-2.14,2.14v4.29c0,1.18.96,2.14,2.14,2.14s2.14-.96,2.14-2.14v-4.29Z"/>%0A <path class="st3" d="M36.07,57.14c-1.04,0-2.09-.27-3.04-.81-.85-.49-1.15-1.59-.65-2.44.49-.85,1.59-1.15,2.44-.65.98.56,2.22.4,3.01-.39.39-.39.63-.88.7-1.41.32-2.27,1.33-4.44,2.91-6.25.94-1.08,1.44-2.46,1.4-3.9-.07-2.93-2.42-5.38-5.35-5.56-.99-.06-1.94.12-2.81.54-.89.43-1.96.04-2.38-.85-.42-.89-.04-1.96.85-2.38,1.41-.67,2.99-.97,4.57-.88,4.76.3,8.58,4.26,8.69,9.03.06,2.33-.75,4.58-2.28,6.34-1.12,1.29-1.84,2.81-2.06,4.4-.19,1.31-.78,2.5-1.71,3.44-1.17,1.17-2.72,1.78-4.29,1.78h0Z"/>%0A </g>%0A </g>%0A</svg>',cb='data:image/svg+xml,<svg width="200" height="100" viewBox="0 0 200 100" fill="none" xmlns="http://www.w3.org/2000/svg">%0A<g clip-path="url(%23clip0_2255_7325)">%0A<path d="M96.4287 48.3536V24.2572H127.047V48.3536H96.4287ZM142.975 69.1536V76.3607H98.2144V60.6393H132.679V58.5107H98.0787V51.3036H142.429V67.025H108.104V69.1536H142.979H142.975ZM106.247 32.5643V39.9786H117.3V32.5643H106.247ZM148.329 40.3893H142.425V49.45H132.539V23.6357H142.425V30.8429H148.329V40.3857V40.3893Z" fill="%23111111"/>%0A<path d="M185.536 47.8714V57.275C182.743 58.5571 178.371 59.1964 172.425 59.1964H171.807V76.3607H161.921V59.1964H149.704V49.7929H172.564C178.421 49.7929 182.746 49.1536 185.539 47.8714H185.536ZM152.586 34.2786V24.875H181.282V47.05H171.396V34.2821H152.586V34.2786ZM198.307 76.3607H188.421V23.6393H198.307V76.3643V76.3607Z" fill="%23111111"/>%0A<path opacity="0.1" d="M24.9999 25C19.0821 25 14.2856 29.7964 14.2856 35.7143V64.2857C14.2856 67.3786 15.0749 70.2893 16.4571 72.8286C18.9928 74.2143 21.9035 75 24.9999 75H53.5714C59.4892 75 64.2856 70.2036 64.2856 64.2857V35.7143C64.2856 32.6214 63.4964 29.7107 62.1142 27.1714C59.5785 25.7857 56.6678 25 53.5714 25H24.9999Z" fill="%23111111"/>%0A<path d="M14.2859 64.2857V35.7143C14.2859 29.7964 19.0823 25 25.0002 25H53.5716C56.6645 25 59.5752 25.7893 62.1145 27.1714C59.0859 21.6214 53.1966 17.8571 46.4288 17.8571H25.0002C15.1395 17.8571 7.14304 25.8535 7.14304 35.7143V44.0643L0.278759 51.6214C-0.131955 52.0714 -0.0855263 52.7785 0.385902 53.1678C2.46447 54.8964 4.75019 56.225 7.14304 57.1714C7.15376 63.9285 10.9145 69.8035 16.4573 72.8285C15.0716 70.2928 14.2859 67.3821 14.2859 64.2857Z" fill="%23111111"/>%0A<path d="M25.357 40.7143C25.357 39.5308 24.3976 38.5714 23.2141 38.5714C22.0307 38.5714 21.0713 39.5308 21.0713 40.7143V45C21.0713 46.1834 22.0307 47.1428 23.2141 47.1428C24.3976 47.1428 25.357 46.1834 25.357 45V40.7143Z" fill="%23111111"/>%0A<path d="M36.0715 57.1428C35.0287 57.1428 33.9822 56.875 33.0358 56.3285C32.1822 55.8357 31.8894 54.7428 32.3858 53.8893C32.8787 53.0357 33.9715 52.7428 34.8251 53.2393C35.8037 53.8035 37.043 53.6428 37.8394 52.8464C38.2251 52.4607 38.468 51.9714 38.543 51.4357C38.8644 49.1607 39.868 47 41.4501 45.1857C42.393 44.1071 42.8894 42.7214 42.8537 41.2857C42.7787 38.3535 40.4322 35.9107 37.5072 35.7285C36.518 35.6678 35.5715 35.85 34.693 36.2678C33.8037 36.6893 32.7358 36.3107 32.3144 35.4214C31.8894 34.5321 32.2715 33.4643 33.1608 33.0428C34.5751 32.3714 36.1572 32.0643 37.7322 32.1643C42.4894 32.4607 46.3072 36.4285 46.4251 41.1964C46.4822 43.5285 45.6715 45.7785 44.143 47.5357C43.018 48.825 42.3037 50.3464 42.0822 51.9321C41.8965 53.2428 41.3037 54.4321 40.368 55.3714C39.2001 56.5393 37.6465 57.1464 36.0751 57.1464L36.0715 57.1428Z" fill="%23111111"/>%0A<path d="M62.1142 27.1714C63.4999 29.7072 64.2856 32.6179 64.2856 35.7143V64.2857C64.2856 70.2036 59.4892 75 53.5713 75H24.9999C21.907 75 18.9963 74.2107 16.457 72.8286C19.4856 78.3786 25.3749 82.1429 32.1427 82.1429H48.2535C49.2177 82.1429 49.9999 82.925 49.9999 83.8893C49.9999 84.9107 50.8749 85.7215 51.8927 85.6322C62.8392 84.675 71.4285 75.4822 71.4285 64.2857V42.8572C71.4285 36.0893 67.6642 30.2 62.1142 27.1714Z" fill="%23111111"/>%0A</g>%0A<defs>%0A<clipPath id="clip0_2255_7325">%0A<rect width="200" height="100" fill="white"/>%0A</clipPath>%0A</defs>%0A</svg>%0A',ub='data:image/svg+xml,<svg width="371" height="100" viewBox="0 0 371 100" fill="none" xmlns="http://www.w3.org/2000/svg">%0A<g clip-path="url(%23clip0_2255_7395)">%0A<path d="M237.151 26.0393V72.7215H216.65V26.0393H237.151ZM234.408 70.0465V28.7179H219.254V70.0465H234.408ZM261.495 76.3608H258.819V48.9679H247.575V75.4679H244.899V23.9822H247.575V46.2929H258.819V23.6393H261.495V76.3643V76.3608Z" fill="%23FAFAFA"/>%0A<path d="M299.722 69.2572C302.076 68.7751 304.031 68.1465 305.583 67.3679V70.1143C304.074 70.9393 302.144 71.5786 299.79 72.0358C297.435 72.4929 295.045 72.7215 292.623 72.7215H272.257V25.6965H275.001V69.9751H292.623C294.999 69.9751 297.364 69.7358 299.722 69.2536V69.2572ZM311.69 76.4322V23.6393H314.434V76.3643L311.69 76.4322Z" fill="%23FAFAFA"/>%0A<path d="M340.557 47.9393L358.179 70.4572L356.053 72.1036L339.872 51.1643C338.409 57.3429 336.33 62.2643 333.633 65.925C330.936 69.5857 327.736 71.8536 324.033 72.7215V69.975C327.279 69.15 330.044 66.8643 332.331 63.1107C334.617 59.3572 336.355 54.5179 337.543 48.5893C338.731 42.6643 339.369 36.0393 339.462 28.7143H324.993V26.0357H356.603V28.7143H342.201C342.155 35.9 341.606 42.3072 340.557 47.9357V47.9393ZM369.22 76.3607H366.477V47.4572H352.418V44.7786H366.477V23.6357H369.22V76.3607Z" fill="%23FAFAFA"/>%0A<path d="M92.8784 48.3536V24.2572H123.461V48.3536H92.8784ZM139.371 69.1536V76.3607H94.6621V60.6393H129.087V58.5107H94.5265V51.3036H138.825V67.025H104.54V69.1536H139.375H139.371ZM102.685 32.5643V39.9786H113.726V32.5643H102.685ZM144.719 40.3893H138.822V49.45H128.947V23.6357H138.822V30.8429H144.719V40.3857V40.3893Z" fill="%23FAFAFA"/>%0A<path d="M181.886 47.8715V57.2751C179.097 58.5572 174.73 59.1965 168.791 59.1965H168.174V76.3608H158.299V59.1965H146.096V49.7929H168.93C174.78 49.7929 179.1 49.1536 181.89 47.8715H181.886ZM148.971 34.2786V24.8751H177.634V47.0501H167.76V34.2822H148.971V34.2786ZM194.64 76.3608H184.765V23.6393H194.64V76.3643V76.3608Z" fill="%23FAFAFA"/>%0A<g opacity="0.1">%0A<path d="M26.7512 25C20.8402 25 16.0493 29.7964 16.0493 35.7143V64.2857C16.0493 67.3786 16.8377 70.2893 18.2182 72.8286C20.751 74.2143 23.6584 75 26.7512 75H55.2897C61.2007 75 65.9916 70.2036 65.9916 64.2857V35.7143C65.9916 32.6214 65.2032 29.7107 63.8227 27.1714C61.2899 25.7857 58.3826 25 55.2897 25H26.7512Z" fill="%23FAFAFA"/>%0A</g>%0A<path d="M48.155 17.8571H26.7511C16.9018 17.8571 8.91459 25.8536 8.91459 35.7143V44.0643L2.05822 51.6179C1.64798 52.0679 1.69436 52.775 2.16524 53.1643C4.24141 54.8929 6.52449 56.2214 8.91459 57.1679C8.92529 63.925 12.6817 69.8 18.2181 72.825C16.834 70.2893 16.0492 67.3786 16.0492 64.2821V35.7107C16.0492 29.7929 20.8401 24.9964 26.7511 24.9964H55.2896C58.3789 24.9964 61.2862 25.7857 63.8226 27.1679C60.7975 21.6179 54.915 17.8536 48.155 17.8536V17.8571Z" fill="%23FAFAFA"/>%0A<path d="M63.8227 27.1714C65.2068 29.7072 65.9916 32.6179 65.9916 35.7143V64.2857C65.9916 70.2036 61.2008 75 55.2897 75H26.7513C23.662 75 20.7546 74.2107 18.2183 72.8286C21.2433 78.3786 27.1258 82.1429 33.8859 82.1429H49.978C50.9412 82.1429 51.7224 82.925 51.7224 83.8893C51.7224 84.9107 52.5964 85.7215 53.6131 85.6322C64.5469 84.675 73.1263 75.4822 73.1263 64.2857V42.8572C73.1263 36.0893 69.3663 30.2 63.8227 27.1714Z" fill="%23FAFAFA"/>%0A<path d="M27.1079 40.7143C27.1079 39.5308 26.1496 38.5714 24.9675 38.5714C23.7854 38.5714 22.8271 39.5308 22.8271 40.7143V45C22.8271 46.1834 23.7854 47.1428 24.9675 47.1428C26.1496 47.1428 27.1079 46.1834 27.1079 45V40.7143Z" fill="%23FAFAFA"/>%0A<path d="M37.8097 57.1429C36.768 57.1429 35.7228 56.875 34.7775 56.3286C33.9249 55.8357 33.6323 54.7429 34.1282 53.8893C34.6205 53.0357 35.7121 52.7429 36.5647 53.2393C37.5421 53.8036 38.78 53.6429 39.5755 52.8464C39.9608 52.4607 40.2033 51.9714 40.2782 51.4357C40.5993 49.1607 41.6017 47 43.182 45.1857C44.1238 44.1071 44.6197 42.7214 44.584 41.2857C44.5091 38.3536 42.1653 35.9107 39.2437 35.7286C38.2556 35.6679 37.3102 35.8464 36.4327 36.2679C35.5444 36.6929 34.4778 36.3107 34.0569 35.4214C33.6323 34.5321 34.014 33.4643 34.9023 33.0429C36.315 32.3714 37.8917 32.0679 39.4685 32.1643C44.2201 32.4607 48.0336 36.4286 48.1513 41.1964C48.2084 43.5286 47.3986 45.7786 45.8718 47.5357C44.7481 48.825 44.0346 50.3464 43.8134 51.9357C43.6279 53.2464 43.0358 54.4357 42.1011 55.375C40.9346 56.5429 39.3828 57.15 37.8132 57.15L37.8097 57.1429Z" fill="%23FAFAFA"/>%0A</g>%0A<defs>%0A<clipPath id="clip0_2255_7395">%0A<rect width="371" height="100" fill="white"/>%0A</clipPath>%0A</defs>%0A</svg>%0A',db='data:image/svg+xml,<?xml version="1.0" encoding="UTF-8"?>%0A<svg id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" viewBox="0 0 371 100">%0A <!-- Generator: Adobe Illustrator 30.4.0, SVG Export Plug-In . SVG Version: 2.1.4 Build 226) -->%0A <defs>%0A <style>%0A .st0 {%0A fill: none;%0A }%0A%0A .st1 {%0A fill: %234dcdc0;%0A }%0A%0A .st2 {%0A fill: %23499cdf;%0A }%0A%0A .st3 {%0A fill: %23fff;%0A }%0A%0A .st4 {%0A clip-path: url(%23clippath);%0A }%0A </style>%0A <clipPath id="clippath">%0A <rect class="st0" width="371" height="100"/>%0A </clipPath>%0A </defs>%0A <g class="st4">%0A <g>%0A <path class="st3" d="M237.15,26.04v46.68h-20.5V26.04h20.5ZM234.41,70.05V28.72h-15.15v41.33h15.15ZM261.49,76.36h-2.68v-27.39h-11.24v26.5h-2.68V23.98h2.68v22.31h11.24v-22.65h2.68v52.73h0Z"/>%0A <path class="st3" d="M299.72,69.26c2.35-.48,4.31-1.11,5.86-1.89v2.75c-1.51.82-3.44,1.46-5.79,1.92-2.35.46-4.74.69-7.17.69h-20.37V25.7h2.74v44.28h17.62c2.38,0,4.74-.24,7.1-.72h0ZM311.69,76.43V23.64h2.74v52.73l-2.74.07Z"/>%0A <path class="st3" d="M340.56,47.94l17.62,22.52-2.13,1.65-16.18-20.94c-1.46,6.18-3.54,11.1-6.24,14.76-2.7,3.66-5.9,5.93-9.6,6.8v-2.75c3.25-.82,6.01-3.11,8.3-6.86,2.29-3.75,4.02-8.59,5.21-14.52,1.19-5.92,1.83-12.55,1.92-19.87h-14.47v-2.68h31.61v2.68h-14.4c-.05,7.19-.6,13.59-1.64,19.22h0ZM369.22,76.36h-2.74v-28.9h-14.06v-2.68h14.06v-21.14h2.74v52.73Z"/>%0A <path class="st3" d="M92.88,48.35v-24.1h30.58v24.1h-30.58ZM139.37,69.15v7.21h-44.71v-15.72h34.42v-2.13h-34.56v-7.21h44.3v15.72h-34.28v2.13h34.83,0ZM102.68,32.56v7.41h11.04v-7.41h-11.04ZM144.72,40.39h-5.9v9.06h-9.88v-25.81h9.88v7.21h5.9v9.54h0Z"/>%0A <path class="st3" d="M181.89,47.87v9.4c-2.79,1.28-7.16,1.92-13.1,1.92h-.62v17.16h-9.88v-17.16h-12.2v-9.4h22.83c5.85,0,10.17-.64,12.96-1.92h0ZM148.97,34.28v-9.4h28.66v22.17h-9.87v-12.77h-18.79ZM194.64,76.36h-9.88V23.64h9.88v52.73h0Z"/>%0A <path class="st1" d="M48.15,17.86h-21.4c-9.85,0-17.84,7.99-17.84,17.86v21.43c0,9.86,7.99,17.86,17.84,17.86h21.4c9.85,0,17.84-7.99,17.84-17.86v-21.43c0-9.86-7.99-17.86-17.84-17.86Z"/>%0A <path class="st1" d="M36.6,50.74c-9.02,9.94-24.22,10.93-34.44,2.42-.47-.39-.52-1.1-.11-1.55l16.06-17.69,18.49,16.81Z"/>%0A <path class="st1" d="M55.29,25h-21.4c-9.85,0-17.84,8-17.84,17.86v21.43c0,9.86,7.99,17.86,17.84,17.86h16.09c.96,0,1.74.78,1.74,1.75,0,1.02.87,1.83,1.89,1.74,10.93-.96,19.51-10.15,19.51-21.35v-21.43c0-9.86-7.99-17.86-17.84-17.86Z"/>%0A <path class="st2" d="M26.75,25c-5.91,0-10.7,4.8-10.7,10.71v28.57c0,3.09.79,6,2.17,8.54,2.53,1.39,5.44,2.17,8.53,2.17h28.54c5.91,0,10.7-4.8,10.7-10.71v-28.57c0-3.09-.79-6-2.17-8.54-2.53-1.39-5.44-2.17-8.53-2.17h-28.54Z"/>%0A <path class="st3" d="M27.11,40.71c0-1.18-.96-2.14-2.14-2.14s-2.14.96-2.14,2.14v4.29c0,1.18.96,2.14,2.14,2.14s2.14-.96,2.14-2.14v-4.29Z"/>%0A <path class="st3" d="M37.81,57.14c-1.04,0-2.09-.27-3.03-.81-.85-.49-1.15-1.59-.65-2.44.49-.85,1.58-1.15,2.44-.65.98.56,2.22.4,3.01-.39.39-.39.63-.88.7-1.41.32-2.27,1.32-4.44,2.9-6.25.94-1.08,1.44-2.46,1.4-3.9-.07-2.93-2.42-5.38-5.34-5.56-.99-.06-1.93.12-2.81.54-.89.43-1.95.04-2.38-.85-.42-.89-.04-1.96.85-2.38,1.41-.67,2.99-.97,4.57-.88,4.75.3,8.57,4.26,8.68,9.03.06,2.33-.75,4.58-2.28,6.34-1.12,1.29-1.84,2.81-2.06,4.4-.19,1.31-.78,2.5-1.71,3.44-1.17,1.17-2.72,1.78-4.29,1.78h0Z"/>%0A </g>%0A </g>%0A</svg>',pb='data:image/svg+xml,<svg width="371" height="100" viewBox="0 0 371 100" fill="none" xmlns="http://www.w3.org/2000/svg">%0A<g clip-path="url(%23clip0_2255_7394)">%0A<path d="M237.151 26.0393V72.7215H216.65V26.0393H237.151ZM234.408 70.0465V28.7179H219.254V70.0465H234.408ZM261.495 76.3608H258.819V48.9679H247.575V75.4679H244.899V23.9822H247.575V46.2929H258.819V23.6393H261.495V76.3643V76.3608Z" fill="%23111111"/>%0A<path d="M299.722 69.2572C302.076 68.7751 304.031 68.1465 305.583 67.3679V70.1143C304.074 70.9393 302.144 71.5786 299.79 72.0358C297.435 72.4929 295.045 72.7215 292.623 72.7215H272.257V25.6965H275.001V69.9751H292.623C294.999 69.9751 297.364 69.7358 299.722 69.2536V69.2572ZM311.69 76.4322V23.6393H314.434V76.3643L311.69 76.4322Z" fill="%23111111"/>%0A<path d="M340.557 47.9393L358.179 70.4572L356.053 72.1036L339.872 51.1643C338.409 57.3429 336.33 62.2643 333.633 65.925C330.936 69.5857 327.736 71.8536 324.033 72.7215V69.975C327.279 69.15 330.044 66.8643 332.331 63.1107C334.617 59.3572 336.355 54.5179 337.543 48.5893C338.731 42.6643 339.369 36.0393 339.462 28.7143H324.993V26.0357H356.603V28.7143H342.201C342.155 35.9 341.606 42.3072 340.557 47.9357V47.9393ZM369.22 76.3607H366.477V47.4572H352.418V44.7786H366.477V23.6357H369.22V76.3607Z" fill="%23111111"/>%0A<path d="M92.8784 48.3536V24.2572H123.461V48.3536H92.8784ZM139.371 69.1536V76.3607H94.6621V60.6393H129.087V58.5107H94.5265V51.3036H138.825V67.025H104.54V69.1536H139.375H139.371ZM102.685 32.5643V39.9786H113.726V32.5643H102.685ZM144.719 40.3893H138.822V49.45H128.947V23.6357H138.822V30.8429H144.719V40.3857V40.3893Z" fill="%23111111"/>%0A<path d="M181.886 47.8715V57.2751C179.097 58.5572 174.73 59.1965 168.791 59.1965H168.174V76.3608H158.299V59.1965H146.096V49.7929H168.93C174.78 49.7929 179.1 49.1536 181.89 47.8715H181.886ZM148.971 34.2786V24.8751H177.634V47.0501H167.76V34.2822H148.971V34.2786ZM194.64 76.3608H184.765V23.6393H194.64V76.3643V76.3608Z" fill="%23111111"/>%0A<g opacity="0.1">%0A<path d="M26.7512 25C20.8402 25 16.0493 29.7964 16.0493 35.7143V64.2857C16.0493 67.3786 16.8377 70.2893 18.2182 72.8286C20.751 74.2143 23.6584 75 26.7512 75H55.2897C61.2007 75 65.9916 70.2036 65.9916 64.2857V35.7143C65.9916 32.6214 65.2032 29.7107 63.8227 27.1714C61.2899 25.7857 58.3826 25 55.2897 25H26.7512Z" fill="%23111111"/>%0A</g>%0A<path d="M48.155 17.8571H26.7511C16.9018 17.8571 8.91459 25.8536 8.91459 35.7143V44.0643L2.05822 51.6179C1.64798 52.0679 1.69436 52.775 2.16524 53.1643C4.24141 54.8929 6.52449 56.2214 8.91459 57.1679C8.92529 63.925 12.6817 69.8 18.2181 72.825C16.834 70.2893 16.0492 67.3786 16.0492 64.2821V35.7107C16.0492 29.7929 20.8401 24.9964 26.7511 24.9964H55.2896C58.3789 24.9964 61.2862 25.7857 63.8226 27.1679C60.7975 21.6179 54.915 17.8536 48.155 17.8536V17.8571Z" fill="%23111111"/>%0A<path d="M63.8227 27.1714C65.2068 29.7072 65.9916 32.6179 65.9916 35.7143V64.2857C65.9916 70.2036 61.2008 75 55.2897 75H26.7513C23.662 75 20.7546 74.2107 18.2183 72.8286C21.2433 78.3786 27.1258 82.1429 33.8859 82.1429H49.978C50.9412 82.1429 51.7224 82.925 51.7224 83.8893C51.7224 84.9107 52.5964 85.7215 53.6131 85.6322C64.5469 84.675 73.1263 75.4822 73.1263 64.2857V42.8572C73.1263 36.0893 69.3663 30.2 63.8227 27.1714Z" fill="%23111111"/>%0A<path d="M27.1079 40.7143C27.1079 39.5308 26.1496 38.5714 24.9675 38.5714C23.7854 38.5714 22.8271 39.5308 22.8271 40.7143V45C22.8271 46.1834 23.7854 47.1428 24.9675 47.1428C26.1496 47.1428 27.1079 46.1834 27.1079 45V40.7143Z" fill="%23111111"/>%0A<path d="M37.8097 57.1429C36.768 57.1429 35.7228 56.875 34.7775 56.3286C33.9249 55.8357 33.6323 54.7429 34.1282 53.8893C34.6205 53.0357 35.7121 52.7429 36.5647 53.2393C37.5421 53.8036 38.78 53.6429 39.5755 52.8464C39.9608 52.4607 40.2033 51.9714 40.2782 51.4357C40.5993 49.1607 41.6017 47 43.182 45.1857C44.1238 44.1071 44.6197 42.7214 44.584 41.2857C44.5091 38.3536 42.1653 35.9107 39.2437 35.7286C38.2556 35.6679 37.3102 35.8464 36.4327 36.2679C35.5444 36.6929 34.4778 36.3107 34.0569 35.4214C33.6323 34.5321 34.014 33.4643 34.9023 33.0429C36.315 32.3714 37.8917 32.0679 39.4685 32.1643C44.2201 32.4607 48.0336 36.4286 48.1513 41.1964C48.2084 43.5286 47.3986 45.7786 45.8718 47.5357C44.7481 48.825 44.0346 50.3464 43.8134 51.9357C43.6279 53.2464 43.0358 54.4357 42.1011 55.375C40.9346 56.5429 39.3828 57.15 37.8132 57.15L37.8097 57.1429Z" fill="%23111111"/>%0A</g>%0A<defs>%0A<clipPath id="clip0_2255_7394">%0A<rect width="371" height="100" fill="white"/>%0A</clipPath>%0A</defs>%0A</svg>%0A',pl='data:image/svg+xml,<svg width="100" height="100" viewBox="0 0 100 100" fill="none" xmlns="http://www.w3.org/2000/svg">%0A<g clip-path="url(%23clip0_2255_7305)">%0A<path d="M75.2535 24.7464C68.7892 18.2821 59.8606 14.2857 49.9999 14.2857C40.1392 14.2857 37.5214 24.5964 31.0606 31.0607C24.5964 37.525 14.2856 40.1893 14.2856 50C14.2856 59.8107 18.2821 68.7893 24.7464 75.2536C31.2106 81.7179 40.1392 85.7143 49.9999 85.7143C59.8606 85.7143 68.7892 81.7179 75.2535 75.2536C81.7178 68.7893 85.7142 59.8607 85.7142 50C85.7142 40.1393 81.7178 31.2107 75.2535 24.7464ZM62.6285 62.6286C59.3964 65.8607 54.9321 67.8571 49.9999 67.8571C45.0678 67.8571 40.6035 65.8571 37.3714 62.6286C34.1392 59.3964 32.1428 54.9321 32.1428 50C32.1428 45.0678 34.1428 40.6036 37.3714 37.3714C40.6035 34.1393 45.0678 32.1428 49.9999 32.1428C54.9321 32.1428 59.3964 34.1428 62.6285 37.3714C65.8606 40.6036 67.8571 45.0678 67.8571 50C67.8571 54.9321 65.8571 59.3964 62.6285 62.6286Z" fill="%23FAFAFA"/>%0A</g>%0A<defs>%0A<clipPath id="clip0_2255_7305">%0A<rect width="100" height="100" fill="white"/>%0A</clipPath>%0A</defs>%0A</svg>%0A';const Fn={text:"--pass-card-text",sub:"--pass-card-sub",copyright:"--pass-card-copyright"},Jr=new WeakMap;function mb(e){if(e)return Jr.get(e)}function Cn(e,t){e&&(e.style.setProperty(Fn.text,t.text),e.style.setProperty(Fn.sub,t.sub),t.copyrightColor&&e.style.setProperty(Fn.copyright,t.copyrightColor),Jr.set(e,t))}function gn(e){e&&(e.style.removeProperty(Fn.text),e.style.removeProperty(Fn.sub),e.style.removeProperty(Fn.copyright),Jr.delete(e))}const ml={text:"var(--color-pureBlack)",sub:"var(--color-lightGray)",logoBase:"Logo_speechear_kr",copyrightColor:"#1a1a1a"};function hl(e={}){const t=dt(ml,Cn,gn);return n.jsxs("div",{ref:t,className:"pass-card-bg pass-card-bg-two-circle","aria-hidden":"true",children:[n.jsx("div",{className:"pass-card-bg-two-circle__c1"}),n.jsx("div",{className:"pass-card-bg-two-circle__c3"}),n.jsx("span",{className:"pass-card-bg__symbol pass-card-bg-two-circle__symbol",style:{"--symbol-url":`url("${pl}")`}})]})}const fl="M75.2535 24.7464C68.7892 18.2821 59.8606 14.2857 49.9999 14.2857C40.1392 14.2857 37.5214 24.5964 31.0606 31.0607C24.5964 37.525 14.2856 40.1893 14.2856 50C14.2856 59.8107 18.2821 68.7893 24.7464 75.2536C31.2106 81.7178 40.1392 85.7143 49.9999 85.7143C59.8606 85.7143 68.7892 81.7178 75.2535 75.2536C81.7178 68.7893 85.7142 59.8607 85.7142 50C85.7142 40.1393 81.7178 31.2107 75.2535 24.7464Z";var xa='data:image/svg+xml,<svg width="100" height="100" viewBox="0 0 100 100" fill="none" xmlns="http://www.w3.org/2000/svg">%0A<g clip-path="url(%23clip0_2175_65181)">%0A<path d="M75.2535 24.7464C68.7892 18.2821 59.8606 14.2857 49.9999 14.2857C40.1392 14.2857 37.5214 24.5964 31.0606 31.0607C24.5964 37.525 14.2856 40.1893 14.2856 50C14.2856 59.8107 18.2821 68.7893 24.7464 75.2536C31.2106 81.7178 40.1392 85.7143 49.9999 85.7143C59.8606 85.7143 68.7892 81.7178 75.2535 75.2536C81.7178 68.7893 85.7142 59.8607 85.7142 50C85.7142 40.1393 81.7178 31.2107 75.2535 24.7464ZM62.6285 62.6286C59.3964 65.8607 54.9321 67.8571 49.9999 67.8571C45.0678 67.8571 40.6035 65.8571 37.3714 62.6286C34.1392 59.3964 32.1428 54.9321 32.1428 50C32.1428 45.0678 34.1428 40.6036 37.3714 37.3714C40.6035 34.1393 45.0678 32.1428 49.9999 32.1428C54.9321 32.1428 59.3964 34.1428 62.6285 37.3714C65.8606 40.6036 67.8571 45.0678 67.8571 50C67.8571 54.9321 65.8571 59.3964 62.6285 62.6286Z" fill="url(%23paint0_linear_2175_65181)"/>%0A</g>%0A<defs>%0A<linearGradient id="paint0_linear_2175_65181" x1="29.6392" y1="29.6393" x2="75.2535" y2="75.2536" gradientUnits="userSpaceOnUse">%0A<stop offset="0.2" stop-color="%23499CDF"/>%0A<stop offset="0.8" stop-color="%234DCDC0"/>%0A</linearGradient>%0A<clipPath id="clip0_2175_65181">%0A<rect width="100" height="100" fill="white"/>%0A</clipPath>%0A</defs>%0A</svg>%0A';const hb={text:"#1a1a1a",sub:"var(--color-lightGray)",logoBase:"Logo_speechear_kr",copyrightColor:"var(--color-main)"},fb=[{scale:1,opacity:.55},{scale:2,opacity:.4},{scale:3.1,opacity:.28},{scale:4.5,opacity:.18},{scale:6,opacity:.1}];function Cl(e={}){const t=dt(hb,Cn,gn),a="var(--color-main)",r=270,s=170;return n.jsxs("div",{ref:t,className:"pass-card-bg pass-card-bg-sound-move","aria-hidden":"true",children:[n.jsx("svg",{className:"pass-card-bg-sound-move__svg",viewBox:"0 0 300 189",preserveAspectRatio:"xMidYMid meet",xmlns:"http://www.w3.org/2000/svg",children:fb.map(({scale:i,opacity:l},c)=>n.jsx("g",{transform:`translate(${r} ${s}) scale(${i}) translate(-50 -50)`,opacity:l,children:n.jsx("path",{d:fl,fill:"none",stroke:a,strokeWidth:"1.5",vectorEffect:"non-scaling-stroke"})},c))}),n.jsx("span",{className:"pass-card-bg__symbol pass-card-bg-sound-move__symbol",style:{"--symbol-url":`url("${xa}")`}})]})}const Cb={text:"#ffffff",sub:"var(--color-lightGray)",logoBase:"Logo_speechear_kr",logoColor:"_white",copyrightColor:"#ffffff"},gb=[{scale:1,opacity:.55},{scale:2,opacity:.4},{scale:3.1,opacity:.28},{scale:4.5,opacity:.18},{scale:6,opacity:.1}];function bb(e={}){const t=dt(Cb,Cn,gn),a="#ffffff",r=270,s=170;return n.jsxs("div",{ref:t,className:"pass-card-bg pass-card-bg-sound-move-v1","aria-hidden":"true",children:[n.jsx("svg",{className:"pass-card-bg-sound-move-v1__svg",viewBox:"0 0 300 189",preserveAspectRatio:"xMidYMid meet",xmlns:"http://www.w3.org/2000/svg",children:gb.map(({scale:i,opacity:l},c)=>n.jsx("g",{transform:`translate(${r} ${s}) scale(${i}) translate(-50 -50)`,opacity:l,children:n.jsx("path",{d:fl,fill:"none",stroke:a,strokeWidth:"1.5",vectorEffect:"non-scaling-stroke"})},c))}),n.jsx("span",{className:"pass-card-bg__symbol pass-card-bg-sound-move-v1__symbol",style:{"--symbol-url":`url("${pl}")`}})]})}const yb={text:"#1a1a1a",sub:"var(--color-lightGray)",logoBase:"Logo_speechear_kr",copyrightColor:"var(--color-main)"};function vb(e={}){const t=dt(yb,Cn,gn);return n.jsxs("div",{ref:t,className:"pass-card-bg pass-card-bg-talk","aria-hidden":"true",children:[n.jsx("div",{className:"pass-card-bg-talk__shape pass-card-bg-talk__shape--left"}),n.jsx("div",{className:"pass-card-bg-talk__shape pass-card-bg-talk__shape--right"}),n.jsx("span",{className:"pass-card-bg__symbol pass-card-bg-talk__symbol",style:{"--symbol-url":`url("${xa}")`}})]})}const xb={Logo_speechear_kr:{"":Zr,_white:ib,_textWhite:lb,_black:cb},Logo_speechearManager_kr:{"":Xr,_white:ub,_textWhite:db,_black:pb}};function _b(e,t){if(e)return xb[e]?.[t??""]??void 0}const wb={speechear:Zr,manager:Xr},kb={speechear:"Logo_speechear_kr",manager:"Logo_speechearManager_kr"},gl=10;function bl(e,t){if(e<=0)return t("passCard.remainingSecond",{n:0});const a=Math.floor(e/86400);if(a>0)return t("passCard.remainingDay",{n:a});const r=Math.floor(e/3600);if(r>0)return t("passCard.remainingHour",{n:r});const s=Math.floor(e/60);return s>0?t("passCard.remainingMinute",{n:s}):t("passCard.remainingSecond",{n:Math.floor(e)})}function Ab(e,t,a){if(e==="manager"){const r=/년/.test(t)||/yr|year/i.test(t)||/1년|365/.test(t),s=a==="\uC624\uD508\uD2B9\uAC00"||a===wt.t("passCard.specialLabel");return r?n.jsx(vb,{}):s?n.jsx(bb,{}):n.jsx(Cl,{})}return n.jsx(hl,{})}function yl({product:e,showPrice:t=!1,plan:a,type:r,endDate:s,remainingSeconds:i,endInclusive:l=!1,state:c="active",bg:u,bgOnly:d=!1,textColor:p,subColor:m,copyrightColor:h,logoSrc:g,label:C,price:b,originalPrice:_,discountLabel:f,onUse:y,onRefund:x,onDelete:v}){const{t:A}=fe.useTranslation(),w=e?dl(e):void 0,D=r??w?.type??"speechear",k=a??w?.plan??A("passCard.planSuffix","\uC774\uC6A9\uAD8C"),B=C??w?.label,N=b??(t?w?.price:void 0),M=_??(t?w?.originalPrice:void 0),P=f??w?.discountLabel,$=o.useMemo(()=>{if(N)return null;const ie=e?.durationDays??sb(e?.code);if(!ie||ie<=0)return i!=null?{percent:null,remainingLabel:bl(i,A)}:null;const U=ie*86400;let se;if(i!=null)se=i;else if((c==="active"||c==="expired")&&s){const _e=new Date(s).getTime();if(Number.isNaN(_e))return null;const we=/^(\d{4})-(\d{2})-(\d{2})/.exec(String(s)),De=/^(\d{4})-(\d{2})-(\d{2})/.exec(Ca()),xe=Math.round(we&&De?(Date.UTC(+we[1],+we[2]-1,+we[3])-Date.UTC(+De[1],+De[2]-1,+De[3]))/864e5:(_e-Date.now())/864e5);se=Math.max(0,l?xe+1:xe)*86400}else c==="expired"?se=0:se=U;const me=Math.max(0,Math.min(100,Math.floor(Math.min(se,U)/U*100)));return c==="pending"&&me>=100?null:{percent:me,remainingLabel:bl(se,A)}},[N,c,s,i,l,e?.durationDays,e?.code,A]),W=o.useRef(null),[S,F]=o.useState({}),[Y,G]=o.useState(null),q=!!(y||x||v),H=o.useRef(!1),z=o.useRef(void 0),[Z,I]=o.useState(g);o.useLayoutEffect(()=>{I(g)},[g]),o.useLayoutEffect(()=>{const ie=W.current;ie&&(p!==void 0&&ie.style.setProperty("--pass-card-text",p),m!==void 0&&ie.style.setProperty("--pass-card-sub",m),h!==void 0&&ie.style.setProperty("--pass-card-copyright",h))},[p,m,h]),o.useLayoutEffect(()=>{const ie=W.current;if(!ie)return;const U=mb(ie);if(!g){const se=kb[D],me=c==="expired"?"_black":U?.logoColor??"",_e=_b(se,me);I(_e)}},[u,g,D,c]);const T=ie=>{const U=W.current;if(!U)return null;const{left:se,top:me,width:_e,height:we}=U.getBoundingClientRect(),De=(ie.clientX-se)/_e-.5;return{rotateX:-((ie.clientY-me)/we-.5)*gl,rotateY:De*gl}},O=(ie,U)=>{const se=U*-.7,me=ie*.7+10,_e=20+(Math.abs(ie)+Math.abs(U))*.4;return`${se}px ${me}px ${_e}px rgba(0, 0, 0, 0.18)`},R=o.useCallback(ie=>{if(Xn())return;H.current=!0,clearTimeout(z.current),z.current=setTimeout(()=>{H.current=!1},200);const U=T(ie);U&&F({transform:`perspective(800px) rotateX(${U.rotateX}deg) rotateY(${U.rotateY}deg) scale3d(1.03, 1.03, 1.03)`,boxShadow:O(U.rotateX,U.rotateY),transition:"transform 0.25s cubic-bezier(0.23, 1, 0.32, 1), box-shadow 0.25s cubic-bezier(0.23, 1, 0.32, 1)"})},[]),j=o.useCallback(ie=>{if(Xn())return;const U=T(ie);if(!U)return;const se=H.current?"transform 0.2s ease, box-shadow 0.2s ease":"none";F({transform:`perspective(800px) rotateX(${U.rotateX}deg) rotateY(${U.rotateY}deg) scale3d(1.03, 1.03, 1.03)`,boxShadow:O(U.rotateX,U.rotateY),transition:se})},[]),L=o.useCallback(()=>{clearTimeout(z.current),H.current=!1,F({transform:"perspective(800px) rotateX(0deg) rotateY(0deg) scale3d(1, 1, 1)",boxShadow:"0px 4px 16px rgba(0, 0, 0, 0.08)",transition:"transform 0.5s cubic-bezier(0.23, 1, 0.32, 1), box-shadow 0.5s cubic-bezier(0.23, 1, 0.32, 1)"})},[]),Q=o.useCallback(()=>G(null),[]),J=o.useMemo(()=>{const ie=A("passCard.planSuffix","\uC774\uC6A9\uAD8C"),U=k.replace("\uC774\uC6A9\uAD8C","").replace(ie==="\uC774\uC6A9\uAD8C"?"":ie,"").trim(),se=U.match(/^(.*?)(일|년)$/);return se?n.jsxs(n.Fragment,{children:[n.jsx("span",{className:"h0 pass-card__plan-number",children:se[1]}),n.jsx("span",{className:"h5b pass-card__plan-unit",children:se[2]==="\uB144"?A("passCard.unitYear","\uB144"):A("passCard.unitDay","\uC77C")})]}):n.jsx("span",{className:"h0",children:U})},[k,A]),oe=o.useMemo(()=>{const ie=Kn(N);if(!ie)return null;const U=ie.match(/^([^\d]*)([\d.,]+)(.*)$/);if(!U)return n.jsx("span",{className:"h1",children:ie});const[,se,me,_e]=U;return n.jsxs(n.Fragment,{children:[se&&n.jsx("span",{className:"h5 pass-card__price-symbol",children:se}),n.jsx("span",{className:"h1 pass-card__price-amount",children:me}),_e.trim()&&n.jsx("span",{className:"h5 pass-card__price-symbol",children:_e.trim()})]})},[N]),ge=o.useCallback(()=>{q&&G(ie=>{if(ie)return null;const U=W.current?.getBoundingClientRect();if(!U)return null;const se=50;return{left:U.left,right:U.right,width:U.width,height:U.height,x:U.x,y:U.y+se,top:U.top+se,bottom:U.bottom+se}})},[q]),Me=o.useCallback(ie=>{q&&(ie.key==="Enter"||ie.key===" ")&&(ie.preventDefault(),ge())},[q,ge]),Ne=[{items:[...y?[{label:A("passCard.menu.use","\uC0AC\uC6A9\uD558\uAE30"),icon:"play",onClick:()=>{y(),G(null)},closeOnSelect:!0}]:[],...x?[{label:A("passCard.menu.refund","\uD658\uBD88\uD558\uAE30"),icon:"rotate-ccw",onClick:()=>{x(),G(null)},closeOnSelect:!0}]:[],...v?[{label:A("passCard.menu.delete","\uC0AD\uC81C\uD558\uAE30"),icon:"trash-2",onClick:()=>{v(),G(null)},closeOnSelect:!0}]:[]]}];return n.jsxs(n.Fragment,{children:[n.jsx("div",{className:"pass-card-frame",children:n.jsxs("div",{ref:W,className:`pass-card pass-card--${c}${q?" pass-card--clickable":""}`,style:S,onMouseEnter:R,onMouseMove:j,onMouseLeave:L,onPointerUp:ie=>{ie.pointerType==="touch"&&L()},onPointerCancel:ie=>{ie.pointerType==="touch"&&L()},onClick:ge,onKeyDown:q?Me:void 0,role:q?"button":void 0,tabIndex:q?0:void 0,"aria-haspopup":q?"menu":void 0,"aria-expanded":q?!!Y:void 0,children:[u??Ab(D,k,B),!d&&n.jsxs(n.Fragment,{children:[n.jsx("div",{className:"pass-card__top",children:n.jsxs("div",{className:"pass-card__top-left",children:[n.jsx("img",{src:Z??wb[D],className:"pass-card__logo",alt:D==="manager"?A("header.logoManager","\uB9D0\uADC0\uB9E4\uB2C8\uC800 \uB85C\uACE0"):A("header.logoMalgwi","\uB9D0\uADC0 \uB85C\uACE0")}),n.jsxs("div",{className:"pass-card__plan",children:[n.jsx("div",{children:J}),n.jsx("span",{className:"h5b pass-card__plan-suffix",children:B?A("passCard.labeledPlan",{label:B}):A("passCard.planSuffix","\uC774\uC6A9\uAD8C")})]})]})}),N?n.jsxs("div",{className:"pass-card__price-area",children:[P&&n.jsx("span",{className:"pass-card__discount body-3",children:P}),n.jsxs("div",{className:"pass-card__price",children:[M&&n.jsx("span",{className:"pass-card__price-original body-3",children:Kn(M)}),oe]})]}):$?n.jsxs("div",{className:"pass-card__usage",children:[n.jsx("span",{className:"h5b pass-card__usage-remaining",children:$.remainingLabel}),$.percent!=null&&n.jsxs("span",{className:"pass-card__usage-percent",children:[n.jsx("span",{className:"h1 pass-card__usage-value",children:$.percent}),n.jsx("span",{className:"h5b pass-card__usage-symbol",children:"%"})]})]}):n.jsx("div",{className:"pass-card__copyright caption-2",children:"\xA9 IHAB Corp. All rights reserved."})]})]})}),Y&&n.jsx(An,{anchorRect:Y,onClose:Q,ariaLabel:A("tooltip.menu","\uBA54\uB274"),children:n.jsx(Wa,{columns:Ne,onClose:Q,size:"small"})})]})}const Bb={text:"#1a1a1a",sub:"var(--color-lightGray)",logoBase:"Logo_speechear_kr",copyrightColor:"#1a1a1a"};function Nb(e={}){const t=`passcard-sound-line-grad-${o.useId()}`,a=dt(Bb,Cn,gn);return n.jsxs("div",{ref:a,className:"pass-card-bg pass-card-bg-sound-line","aria-hidden":"true",children:[n.jsxs("svg",{className:"pass-card-bg-sound-line__svg",viewBox:"0 0 500 300",preserveAspectRatio:"xMidYMid slice",xmlns:"http://www.w3.org/2000/svg",children:[n.jsx("defs",{children:n.jsxs("linearGradient",{id:t,x1:"0",y1:"0",x2:"1",y2:"0",children:[n.jsx("stop",{offset:"20%",stopColor:"var(--color-main)"}),n.jsx("stop",{offset:"80%",stopColor:"var(--color-sub)"})]})}),n.jsx("g",{transform:"translate(25, 45)",children:n.jsx("path",{d:"M -30 150 C 40 80, 100 220, 160 150 S 280 80, 340 150 S 460 220, 510 150",fill:"none",stroke:`url(#${t})`,strokeWidth:"50",strokeLinecap:"round"})})]}),n.jsx("span",{className:"pass-card-bg__symbol pass-card-bg-sound-line__symbol",style:{"--symbol-url":`url("${xa}")`}})]})}const Db={text:"#1a1a1a",sub:"var(--color-lightGray)",logoBase:"Logo_speechear_kr",copyrightColor:"var(--color-main)"};function Sb(e={}){const t=dt(Db,Cn,gn);return n.jsxs("div",{ref:t,className:"pass-card-bg pass-card-bg-talk-v1","aria-hidden":"true",children:[n.jsx("div",{className:"pass-card-bg-talk-v1__shape pass-card-bg-talk-v1__shape--left"}),n.jsx("div",{className:"pass-card-bg-talk-v1__shape pass-card-bg-talk-v1__shape--right"}),n.jsx("span",{className:"pass-card-bg__symbol pass-card-bg-talk-v1__symbol",style:{"--symbol-url":`url("${xa}")`}})]})}function Eb(e,t){if(e){if(t==="manager_pro")return n.jsx(Sb,{});if(t==="manager_standard")return n.jsx(Nb,{});if(t==="manager_lite")return n.jsx(Cl,{})}}function Tb(e){const t=Kn(e);if(!t)return null;const a=t.match(/^([^\d]*)([\d.,]+)(.*)$/);if(!a)return t;const[,r,s,i]=a;return n.jsxs(n.Fragment,{children:[r&&n.jsx("span",{className:"payment-plan__pricing-symbol h4",children:r}),s,i.trim()&&n.jsx("span",{className:"payment-plan__pricing-symbol h4",children:i.trim()})]})}function jb(e){const{t}=fe.useTranslation(),a=t("payment.plan.tierFallback",{defaultValue:"\uC774\uC6A9\uAD8C"}),r=t("payment.plan.openPromo",{defaultValue:"\uC624\uD508 \uD2B9\uAC00"}),{plan:s,onSelect:i,period:l="monthly",ownedCodes:c}=e||{},u=v=>!!v&&!!c?.includes(v),d=v=>v.onceOnly??/오픈\s*특가/.test(v.label??""),p=(s.tiers||[]).some(v=>d(v)&&u(v.code)),m=v=>{const A=v.prices?v.prices[l]:v.price;return A?(s.tiers||[]).some(w=>!!w.badge&&w.originals?.[l]===A):!1},h=s.colorToken?`var(--color-${s.colorToken})`:"var(--color-gray)",g=t("payment.plan.freePrice","\uBB34\uB8CC"),C=t("payment.products.mgrEnterprise.tier.price","\uBB38\uC758"),b=v=>v.prices?v.prices[l]:v.price,_=(s.tiers||[]).length>0&&(s.tiers||[]).every(v=>{const A=b(v);return A==="\uBB34\uB8CC"||A===g||A==="0\uC6D0"||typeof A=="string"&&/\d/.test(A)&&!/[1-9]/.test(A)}),f=(s.tiers||[]).length>0&&(s.tiers||[]).every(v=>{const A=b(v);return A==="\uBB38\uC758"||A===C}),y=s.group==="org",x=y?"manager":"speechear";return n.jsxs("div",{className:"payment-plan__card",style:{borderColor:h,"--plan-color":h},children:[s.cardBadge&&n.jsx("div",{className:"payment-plan__card-badge",children:n.jsx(pt,{label:s.cardBadge,variant:"main",size:"medium",fill:"soft"})}),n.jsxs("div",{className:"payment-plan__title",children:[n.jsx("p",{className:"payment-plan__quote body-3b",style:{color:h},children:s.quote||"\xA0"}),n.jsx("h3",{className:"payment-plan__title-heading h1",children:s.tier??s.title}),n.jsx("p",{className:"payment-plan__subtitle body-3",children:s.subtitle})]}),n.jsxs("div",{className:"payment-plan__box",children:[n.jsx("span",{className:"payment-plan__box-title body-3b",children:t("payment.plan.recommendedFor","\uC774\uB7F0 \uBD84\uAED8 \uCD94\uCC9C\uD569\uB2C8\uB2E4.")}),n.jsx("ul",{className:"payment-plan__feature-list",children:(s.recommendedFor||[]).map((v,A)=>n.jsxs("li",{className:"payment-plan__feature-item body-3",children:[n.jsx(Ge,{icon:"check",size:18,className:"payment-plan__feature-check",wrapperStyle:{color:h}}),v]},A))})]}),n.jsxs("div",{className:"payment-plan__box",children:[n.jsx("span",{className:"payment-plan__box-title body-3b",children:t("payment.plan.features","\uD575\uC2EC \uAE30\uB2A5")}),n.jsx("ul",{className:"payment-plan__feature-list",children:(s.features||[]).map((v,A)=>n.jsxs("li",{className:"payment-plan__feature-item body-3",children:[n.jsx(Ge,{icon:"check",size:18,className:"payment-plan__feature-check",wrapperStyle:{color:h}}),v]},A))})]}),n.jsx("div",{className:"payment-plan__card-pricing",children:_?null:f?n.jsx(ce,{htmlType:"button",className:"payment-plan__contact-button",label:t("payment.plan.contact",{defaultValue:"\uBB38\uC758\uD558\uAE30"}),variant:"main",size:56,onClick:()=>s.tiers?.[0]&&i?.({...s.tiers[0],productId:s.id,productTitle:s.title})}):n.jsx(n.Fragment,{children:n.jsx("div",{className:"payment-plan__pricing-list",children:(s.tiers||[]).map(v=>{const A=v.label||a,w=d(v),D=w||v.openPromo===!0,k=A.replace(/^오픈\s*특가\s*/,"")||a,B=v.prices?v.prices[l]:v.price,N=v.badge?D?`${r}
837
+ ${v.badge}`:v.badge:void 0;if(w&&u(v.code))return null;if(!v.badge&&!p)return m(v)?null:n.jsxs("div",{className:`payment-plan__pricing-row payment-plan__pricing-row--static${v.highlight?" payment-plan__pricing-row--highlight":""}`,children:[n.jsx("div",{className:"payment-plan__pricing-row-title",children:n.jsx("div",{className:"payment-plan__pricing-row-label h5b",children:v.label})}),n.jsx("div",{className:"payment-plan__pricing-row-price",children:n.jsx("span",{className:"payment-plan__pricing-current h1",children:Tb(B)})})]},v.id);const M=s.tier??(y?s.title:void 0),P=n.jsx(yl,{showPrice:!0,product:{type:x,code:v.code,name:k,label:M,price:B,originalPrice:v.originals?.[l]??void 0,discountLabel:N},bg:Eb(y,s.id)}),$=()=>i?.({...v,productId:s.id,productTitle:s.title,preview:P});return n.jsx("div",{className:"payment-plan__pricing-card",onClick:$,onKeyDown:i?W=>{W.target===W.currentTarget&&(W.key==="Enter"||W.key===" ")&&(W.preventDefault(),$())}:void 0,role:i?"button":void 0,tabIndex:i?0:void 0,children:P},v.id)})})})})]})}function Mb({variant:e="default"}){return n.jsxs("div",{className:`pass-card-bg pass-card-bg--${e}`,"aria-hidden":"true",children:[n.jsx("div",{className:"pass-card-bg__circle pass-card-bg__circle--1"}),n.jsx("div",{className:"pass-card-bg__circle pass-card-bg__circle--2"}),n.jsx("div",{className:"pass-card-bg__circle pass-card-bg__circle--3"})]})}var Qr='data:image/svg+xml,<svg width="264" height="100" viewBox="0 0 264 100" fill="none" xmlns="http://www.w3.org/2000/svg">%0A<g clip-path="url(%23clip0_2079_3030)">%0A<path d="M60.9019 24.7464C54.4446 18.2821 45.5257 14.2857 35.6757 14.2857C25.8256 14.2857 23.2106 24.5964 16.7569 31.0607C10.2996 37.5214 0 40.1857 0 50C0 59.8143 3.99211 68.7893 10.4494 75.2536C16.9067 81.7178 25.8256 85.7143 35.6757 85.7143C45.5257 85.7143 54.4446 81.7178 60.9019 75.2536C67.3592 68.7893 71.3513 59.8607 71.3513 50C71.3513 40.1393 67.3592 31.2107 60.9019 24.7464ZM48.2906 62.6286C45.0619 65.8607 40.6025 67.8571 35.6757 67.8571C30.7489 67.8571 26.2894 65.8571 23.0608 62.6286C19.8321 59.3964 17.8378 54.9321 17.8378 50C17.8378 45.0678 19.8357 40.6036 23.0608 37.3714C26.2894 34.1393 30.7489 32.1428 35.6757 32.1428C40.6025 32.1428 45.0619 34.1428 48.2906 37.3714C51.5192 40.6036 53.5135 45.0678 53.5135 50C53.5135 54.9321 51.5157 59.3964 48.2906 62.6286Z" fill="url(%23paint0_linear_2079_3030)"/>%0A<path d="M106.735 74.8322H93.6274V24.8322H106.735V74.8322Z" fill="%23111111"/>%0A<path d="M113.495 24.8322H126.602V44.5143H145.022V24.8322H158.197V74.8322H145.022V55.15H126.602V74.8322H113.495V24.8322Z" fill="%23111111"/>%0A<path d="M163.027 74.8322L179.652 24.8322H197.519L214.076 74.8322H199.934L196.969 65.025H180.205L177.241 74.8322H163.031H163.027ZM193.933 55.0786L188.76 38.2964H188.346L183.241 55.0786H193.933Z" fill="%23111111"/>%0A<path d="M218.906 24.8322H240.29C251.674 24.8322 257.675 29.7357 257.675 37.4C257.675 42.925 253.743 47.1393 248.085 48.3107V48.7929C254.364 49 259.605 53.6286 259.605 60.7393C259.605 68.8893 252.983 74.8286 242.081 74.8286H218.902V24.8322H218.906ZM244.157 40.1643C244.157 36.9857 241.674 35.1929 238.085 35.1929H232.013V45.1393H237.878C241.535 45.1393 244.157 43.3429 244.157 40.1679V40.1643ZM245.741 59.0857C245.741 55.425 243.119 53.3536 238.913 53.3536H232.013V64.2643H238.706C243.397 64.2643 245.741 62.4679 245.741 59.0857Z" fill="%23111111"/>%0A</g>%0A<defs>%0A<linearGradient id="paint0_linear_2079_3030" x1="15.337" y1="29.6393" x2="60.9512" y2="75.2042" gradientUnits="userSpaceOnUse">%0A<stop offset="0.2" stop-color="%23499CDF"/>%0A<stop offset="0.8" stop-color="%234DCDC0"/>%0A</linearGradient>%0A<clipPath id="clip0_2079_3030">%0A<rect width="264" height="100" fill="white"/>%0A</clipPath>%0A</defs>%0A</svg>%0A';const vl={text:"#1a1a1a",sub:"var(--color-lightGray)",logoBase:"Logo_speechear_kr",copyrightColor:"#c9c9c9"};function Lb(){const e=dt(vl,Cn,gn);return n.jsx("div",{ref:e,className:"pass-card-bg pass-card-bg-ihab","aria-hidden":"true",children:n.jsx("span",{className:"pass-card-bg__symbol pass-card-bg-ihab__symbol-top",style:{"--symbol-url":`url("${Qr}")`}})})}const xl={text:"#ffffff",sub:"var(--color-lightGray)",logoBase:"Logo_speechearManager_kr",logoColor:"_white",copyrightColor:"#ffffff"};function $b(e={}){const t=dt(xl,Cn,gn);return n.jsxs("div",{ref:t,className:"pass-card-bg pass-card-bg-left-color-grid","aria-hidden":"true",children:[n.jsx("div",{className:"pass-card-bg-left-color-grid__bar"}),n.jsx("div",{className:"pass-card-bg-left-color-grid__grid"}),n.jsx("span",{className:"pass-card-bg__symbol pass-card-bg-left-color-grid__symbol",style:{"--symbol-url":`url("${xa}")`}})]})}function _l({keys:e,anchor:t="top-right",scale:a,className:r=""}){const s=Array.isArray(e)?e:[e];return n.jsx("span",{className:Be("shortcut-badge",`shortcut-badge--${t}`,r),style:a===void 0?void 0:{"--shortcut-badge-scale":String(a)},children:s.map((i,l)=>n.jsxs("span",{className:"shortcut-badge__group",children:[l>0&&n.jsx("span",{className:"shortcut-badge__plus",children:"+"}),n.jsx("kbd",{className:"shortcut-badge__key",children:i})]},`${i}-${l}`))})}const _a=(e,t,a)=>e+(t-e)*a;function Rb({speakers:e,size:t=300,viewT:a=0,activeSpeakerId:r=null,playedIds:s,selectedId:i=null,answerId:l=null,showFeedback:c=!1,pulseSelected:u=!1,pulseSelectedDuration:d,pulseScale:p,clickable:m=!1,onSelectSpeaker:h,buttonSize:g=40,showIcon:C=!0,onCenterClick:b,centerLabel:_,centerDisabled:f=!1,centerAttention:y=!1,shortcutAnchor:x="top-right",shortcutScale:v,scaleShortcut:A=!1}){const{t:w}=fe.useTranslation(),D=Math.max(0,Math.min(1,a)),k=t/2,B=110/300,N=.18,M=U=>t*(B+(U-1)*N),P=U=>{const se=M(U.row??1),me=U.angleDeg*Math.PI/180;return{x:k+se*Math.cos(me),y:k+se*Math.sin(me)}},$=Math.max(...e.map(U=>U.row??1),1),W=t*.08,S=t*.1,F=t*.24,Y=t-2*W,G=t-S-F,q=t-F/2,H=o.useMemo(()=>[...new Set(e.map(U=>U.deg))].sort((U,se)=>U-se),[e]),z=H.length,Z=Math.max(68,z>1?Y/(z-1):0),I=o.useMemo(()=>new Map(H.map((U,se)=>[U,se])),[H]),T=U=>{const se=I.get(U.deg)??0,me=k+(se-(z-1)/2)*Z,_e=$>1?Math.min(68,G/($-1)):0,we=_e*($-1),De=S+(G-we)/2,xe=$===1?S+G*.4:De+($-(U.row??1))*_e;return{x:me,y:xe}},O=U=>{const se=P(U),me=T(U);return{x:_a(se.x,me.x,D),y:_a(se.y,me.y,D)}},R={x:k,y:_a(k,q,D)},j=Math.round(g*1.2),L=Math.round(Math.max(16,Math.min(80,g*.7))),Q=[],J=new Map;for(const U of e){const se=U.row??1;J.has(se)||J.set(se,[]),J.get(se).push(U)}for(const[U,se]of J.entries()){if(se.length<2)continue;const me=[...se].sort((be,Ye)=>be.deg-Ye.deg),_e=me.map(be=>O(be)),we=me.map(be=>be.deg),De=we[we.length-1]-we[0],xe=De/(we.length-1),Ae=360-De,Te=me.length>=3&&xe>0&&Ae<=xe*1.5,ae=Math.round(M(U)*1e3)/1e3,ee=(be,Ye,Ve,qe)=>{const Se=(Ye.angleDeg-be.angleDeg+540)%360-180;if(Se===0)return`L ${qe.x} ${qe.y}`;if(D===0)return`A ${ae} ${ae} 0 0 ${Se>0?1:0} ${qe.x} ${qe.y}`;const Ue=(be.angleDeg+Se/2)*Math.PI/180,$e={x:k+ae*Math.cos(Ue),y:k+ae*Math.sin(Ue)},Ie={x:(Ve.x+qe.x)/2,y:(Ve.y+qe.y)/2},He={x:_a($e.x,Ie.x,D),y:_a($e.y,Ie.y,D)},at={x:2*He.x-Ie.x,y:2*He.y-Ie.y};return`Q ${at.x} ${at.y} ${qe.x} ${qe.y}`},de=Te?[...me,me[0]]:me,te=Te?[..._e,_e[0]]:_e;let he=`M ${te[0].x} ${te[0].y}`;for(let be=1;be<te.length;be++)he+=" "+ee(de[be-1],de[be],te[be-1],te[be]);Q.push({key:`arc-${U}`,d:he})}const oe=o.useMemo(()=>new Set(s??[]),[s]),ge=U=>({idle:"",active:w("soundCompass.state.active","\uC18C\uB9AC \uB098\uB294 \uC911"),played:w("soundCompass.state.played","\uB4E4\uC74C"),correct:w("soundCompass.state.correct","\uC815\uB2F5"),wrong:w("soundCompass.state.wrong","\uC624\uB2F5")})[U],Me=U=>{if(r===U.id)return"active";if(c){if(U.id===l)return"correct";if(U.id===i&&i!==l)return"wrong"}return oe.has(U.id)?"played":"idle"},Ne=U=>r===U.id?"loop":c?U.id===l?"loop":null:u&&U.id===i?"once":null,ie=(U,se)=>{switch(U){case"played":case"correct":return n.jsx(Jo,{size:se});case"wrong":return n.jsx(ls,{size:se});default:return n.jsx(is,{size:se})}};return n.jsx("div",{className:"sound-compass",children:n.jsxs("div",{className:"sound-compass__compass-wrap",style:{width:t,height:t},children:[n.jsxs("svg",{width:t,height:t,viewBox:`0 0 ${t} ${t}`,className:"sound-compass__svg",children:[D===0&&e.map(U=>{const{x:se,y:me}=O(U);return n.jsx("line",{x1:R.x,y1:R.y,x2:se,y2:me,stroke:"#dde3ec",strokeWidth:"1"},U.id)}),Q.map(U=>n.jsx("path",{d:U.d,fill:"none",stroke:"#dde3ec",strokeWidth:"1"},U.key))]}),y&&!f&&n.jsx("div",{className:"sound-compass__pulse sound-compass__pulse--active sound-compass__pulse--center",style:{width:j,height:j,left:R.x-j/2,top:R.y-j/2}}),b?n.jsx("button",{type:"button",className:`sound-compass__center sound-compass__center--button${f?" sound-compass__center--disabled":""}`,style:{width:j,height:j,left:R.x,top:R.y},"aria-label":_,"aria-disabled":f||void 0,tabIndex:f?-1:0,onClick:f?void 0:b,children:n.jsx(hr,{size:L,color:"currentColor",strokeWidth:1.5})}):n.jsx("div",{className:"sound-compass__center",style:{width:j,height:j,left:R.x,top:R.y},children:n.jsx(hr,{size:L,color:"currentColor",strokeWidth:1.5})}),e.map((U,se)=>{const{x:me,y:_e}=O(U),we=Me(U),De=Ne(U),xe={...v!==void 0||A?{"--shortcut-badge-scale":String(v??Math.max(.75,Math.min(3,g/56)))}:null,pointerEvents:m?"auto":"none",cursor:m?"pointer":"default",zIndex:we!=="idle"?10:1},Ae=g,Te=Math.round(Math.max(10,Math.min(56,Ae*.38))),ae=Math.round(Math.max(7,Math.min(18,Ae*.2))),ee=Math.round(Math.max(10,Math.min(56,Ae*.4))),de=C==="answered"&&(we==="played"||we==="correct"||we==="wrong"),te=C===!0||de,he=!de;return n.jsxs("div",{className:"sound-compass__speaker-pos",style:{...xe,left:me-Ae/2,top:_e-Ae/2},children:[De&&n.jsx("div",{className:`sound-compass__pulse sound-compass__pulse--${we}`+(De==="once"?" sound-compass__pulse--once":""),style:{width:Ae,height:Ae,...De==="once"&&d!==void 0?{"--sc-pulse-duration-once":`${d}ms`}:null,...p!==void 0?{"--sc-pulse-scale":String(p)}:null}}),n.jsxs("button",{type:"button",tabIndex:m?0:-1,"aria-disabled":m?void 0:!0,onClick:m?()=>h?.(U.id):void 0,className:`sound-compass__speaker-btn sound-compass__speaker-btn--${we}`,style:{width:Ae,height:Ae},"aria-label":ge(we)?`${U.label}, ${ge(we)}`:U.label,"aria-pressed":i!=null?U.id===i:void 0,children:[te&&ie(we,Te),he&&n.jsx("span",{className:"sound-compass__speaker-number",style:{fontSize:C===!0?ae:ee},children:se+1})]}),U.shortcut&&n.jsx(_l,{keys:U.shortcut,anchor:x,className:"sound-compass__speaker-shortcut"})]},U.id)})]})})}function Pb({children:e,position:t="top-left",size:a=24,className:r=""}){return n.jsx("span",{className:Be("circle-badge","circle-badge--number",`circle-badge--${a}`,`circle-badge--${t}`,r),children:e})}function Ib({orientation:e="horizontal",label:t,className:a=""}){const r=Be("divider",`divider--${e}`,t&&e==="horizontal"?"divider--labeled":"",a);return e==="vertical"?n.jsx("div",{className:r,role:"separator","aria-orientation":"vertical"}):t?n.jsxs("div",{className:r,role:"separator","aria-orientation":"horizontal",children:[n.jsx("span",{className:"divider__line"}),n.jsx("span",{className:"divider__label caption-1",children:t}),n.jsx("span",{className:"divider__line"})]}):n.jsx("div",{className:r,role:"separator","aria-orientation":"horizontal"})}function wl({checked:e,onChange:t,name:a,value:r,disabled:s=!1,label:i,className:l=""}){const c=o.useId();return n.jsxs("label",{className:`radio${s?" radio--disabled":""} ${l}`.trim(),htmlFor:c,children:[n.jsx("input",{id:c,type:"radio",name:a,value:r,checked:e,disabled:s,onChange:u=>t?.(u.target.checked)}),n.jsx("span",{className:"radio__dot"}),i&&n.jsx("span",{className:"radio__label body-2",children:i})]})}function Fb({options:e,value:t,onChange:a,name:r,disabled:s=!1,direction:i="vertical",className:l="",ariaLabel:c}){const u=o.useId(),d=r??`radio-group-${u}`;return n.jsx("div",{className:`radio-group radio-group--${i} ${l}`.trim(),role:"radiogroup","aria-label":c,children:e.map(p=>n.jsx(wl,{name:d,value:p.value,checked:t===p.value,disabled:s||p.disabled,label:p.label,onChange:m=>{m&&a?.(p.value)}},p.value))})}const Ob={info:"info",success:"check-circle",warning:"alert-triangle",danger:"alert-circle"};function Vb({tone:e="info",title:t,message:a,children:r,dismissible:s=!1,onDismiss:i,live:l,className:c=""}){const{t:u}=fe.useTranslation(),[d,p]=o.useState(!1),m=o.useRef(null),h=o.useCallback(()=>{const y=m.current;y&&y.contains(document.activeElement)&&Oa(y),p(!0),i?.()},[i]);if(d)return null;const g=Be("alert",`alert--${e}`,c),C=l??(e==="danger"||e==="warning"?"assertive":"polite"),b=C==="assertive"?"alert":C==="polite"?"status":void 0,_=!!t,f=!!(a||r);return n.jsxs("div",{ref:m,className:g,role:b,children:[n.jsxs("div",{className:"alert__body",children:[n.jsxs("div",{className:"alert__header",children:[n.jsx(Ge,{icon:Ob[e],size:20,className:"alert__icon"}),_&&n.jsx("span",{className:"alert__title body-2",children:t}),!_&&f&&n.jsx("div",{className:"alert__message body-3",children:a||r})]}),_&&f&&n.jsx("div",{className:"alert__message alert__message--indented body-3",children:a||r})]}),s&&n.jsx("button",{type:"button",className:"alert__dismiss",onClick:h,"aria-label":u("common.close","\uB2EB\uAE30"),children:"\xD7"})]})}const Hb={ready:"search",guide:"info",error:"circle-alert"};function zb(e,t){const a=t.filter(Boolean);if(a.length===0)return e;const r=[];let s=0,i=0;for(const l of a){const c=e.indexOf(l,s);c<0||(c>s&&r.push(e.slice(s,c)),r.push(n.jsx("strong",{className:"search-summary__em body-2",children:l},i++)),s=c+l.length)}return s<e.length&&r.push(e.slice(s)),r}function Wb({status:e="guide",label:t,children:a,emphasis:r,icon:s,className:i=""}){const l=s===!1?null:s??Hb[e],c=Be("search-summary",`search-summary--${e}`,i),u=t??a,d=typeof u=="string"&&r&&r.length>0?zb(u,r):u;return n.jsxs("div",{className:c,role:"status","aria-live":"polite",children:[l!=null&&n.jsx(Ge,{icon:l,size:18,className:"search-summary__icon"}),n.jsx("span",{className:"search-summary__text body-2",children:d})]})}function wa({title:e,items:t}){const{t:a}=fe.useTranslation(),{anchorRect:r,openAt:s,close:i}=za(),l=o.useRef(null),c=Hr(!!r,(u,d)=>{u&&d?s(l.current?.querySelector("button")??d):i()},l);return n.jsxs("span",{ref:l,style:{display:"contents"},children:[n.jsx(ce,{htmlType:"button",size:24,type:"dot",icon:"info",variant:"transparent-gray",useBorder:!1,selected:!!r,ariaLabel:a("common.info","\uC124\uBA85"),onPointerEnter:u=>{Zn(u)||s(u.currentTarget)},onPointerLeave:u=>{Zn(u)||i()},onClick:u=>{c.touchPress(u.currentTarget)},onFocus:u=>{Xn()||s(u.currentTarget)},onBlur:i}),r&&n.jsx(Pn,{title:e,items:t,showIndex:t.length>1,anchorRect:r,onClose:i})]})}function qb({items:e=[],value:t,onChange:a,className:r="",size:s=40}){const i=o.useId(),{t:l}=fe.useTranslation(),c=o.useRef(null),u=e.find(b=>!b.disabled)?.key,d=e.some(b=>b.key===t)?t:u??e[0]?.key,p=e.find(b=>b.key===d&&!b.disabled)?.key??u,m=()=>Array.from(c.current?.querySelectorAll('[role="tab"]:not(:disabled)')??[]),h=(b,_=m())=>{if(_.length===0)return;const f=(b%_.length+_.length)%_.length;_[f]?.focus(),_[f]?.click()},g=b=>{if(!["ArrowRight","ArrowDown","ArrowLeft","ArrowUp","Home","End"].includes(b.key))return;b.preventDefault();const _=m(),f=_.indexOf(b.currentTarget);b.key==="ArrowRight"||b.key==="ArrowDown"?h(f+1,_):b.key==="ArrowLeft"||b.key==="ArrowUp"?h(f-1,_):b.key==="Home"?h(0,_):h(_.length-1,_)},C=e.find(b=>b.key===d);return n.jsxs("div",{className:`tabs ${r}`.trim(),children:[n.jsx("div",{ref:c,className:`tabs__list tabs__list--${s}`,role:"tablist","aria-label":l("tabs.ariaLabel","\uD0ED"),children:e.map(b=>n.jsx("button",{id:`tabs__tab-${i}-${b.key}`,type:"button",role:"tab","aria-selected":b.key===d,"aria-controls":`tabs__panel-${i}-${b.key}`,disabled:b.disabled,tabIndex:b.key===p?0:-1,className:`tabs__tab body-2${b.key===d?" tabs__tab--active":""}`,onClick:()=>{b.key!==t&&a?.(b.key)},onKeyDown:g,children:b.label},b.key))}),C&&n.jsx("div",{id:`tabs__panel-${i}-${C.key}`,role:"tabpanel","aria-labelledby":`tabs__tab-${i}-${C.key}`,tabIndex:0,className:"tabs__panel",children:C.panel},C.key)]})}const Ub={xs:12,sm:16,md:20,lg:28,xl:36};function Gb(e){const t=e.trim().split(/\s+/).filter(Boolean);return t.length===0?"":t.length===1?[...t[0]].slice(0,2).join("").toUpperCase():([...t[0]][0]+[...t[t.length-1]][0]).toUpperCase()}function Kb({src:e,name:t,size:a="md",shape:r="circle",className:s=""}){const{t:i}=fe.useTranslation(),[l,c]=o.useState(null),u=!!e&&l===e,d=t?Gb(t):"",p=!!e&&!u,m=!p&&!!d,h=t||i("avatar.ariaLabel","\uC0AC\uC6A9\uC790 \uC544\uBC14\uD0C0");return n.jsxs("span",{className:`avatar avatar--${a} avatar--${r} ${s}`.trim(),role:"img","aria-label":h,children:[p&&n.jsx("img",{className:"avatar__image",src:e,alt:h,onError:()=>c(e??null)}),!p&&m&&n.jsx("span",{className:"avatar__initials","aria-hidden":"true",children:d}),!p&&!m&&n.jsx(Ge,{icon:"user-round",size:Ub[a],className:"avatar__icon"})]})}function Yb(e,t){if(!t)return!0;const a=t.split(",").map(i=>i.trim()).filter(Boolean);if(a.length===0)return!0;const r=e.name.toLowerCase(),s=e.type.toLowerCase();return a.some(i=>{const l=i.toLowerCase();return l.startsWith(".")?r.endsWith(l):l.endsWith("/*")?s.startsWith(l.slice(0,-1)):s===l})}function Zb({onFilesSelected:e,accept:t,multiple:a=!1,disabled:r=!1,showFileList:s=!0,files:i,onRemove:l,className:c=""}){const{t:u}=fe.useTranslation(),d=o.useRef(null),[p,m]=o.useState(!1),[h,g]=o.useState([]),C=i??h,b=w=>{if(!w||w.length===0)return;const D=Array.from(w).filter(B=>Yb(B,t));if(D.length===0)return;const k=a?D:D.slice(0,1);if(i===void 0){const B=a?[...C,...k]:k;g(B),e?.(B)}else e?.(k)},_=w=>{w.preventDefault(),!r&&m(!0)},f=w=>{w.preventDefault(),m(!1)},y=w=>{w.preventDefault(),m(!1),!r&&b(w.dataTransfer.files)},x=w=>{const D=w.target;try{b(D.files)}finally{D.value=""}},v=()=>{r||d.current?.click()},A=w=>{if(!r&&(l?.(w),i===void 0)){const D=C.filter((k,B)=>B!==w);g(D),l||e?.(D)}};return n.jsxs("div",{className:`file-upload ${c}`.trim(),children:[n.jsxs("div",{className:Be("file-upload__dropzone",p&&"file-upload__dropzone--dragging",r&&"file-upload__dropzone--disabled"),role:"button",tabIndex:r?-1:0,"aria-disabled":r,onClick:v,onKeyDown:w=>{(w.key==="Enter"||w.key===" ")&&(w.preventDefault(),v())},onDragOver:_,onDragLeave:f,onDrop:y,children:[n.jsx(Ge,{icon:"upload",size:24,className:"file-upload__icon"}),n.jsx("span",{className:"file-upload__prompt body-2",children:u("fileUpload.dragPrompt","\uD30C\uC77C\uC744 \uC774\uACF3\uC5D0 \uB4DC\uB798\uADF8\uD558\uC5EC \uC5C5\uB85C\uB4DC")}),n.jsx("button",{type:"button",className:"file-upload__browse-button body-3",disabled:r,onClick:w=>{w.stopPropagation(),v()},children:u("fileUpload.browseButton","\uD30C\uC77C \uC120\uD0DD")}),n.jsx("input",{ref:d,type:"file",className:"file-upload__input",accept:t,multiple:a,disabled:r,onChange:x,tabIndex:-1})]}),s&&C.length>0&&n.jsx("ul",{className:"file-upload__list",children:C.map((w,D)=>n.jsxs("li",{className:"file-upload__list-item body-3",children:[n.jsx("span",{className:"file-upload__file-name body-3",children:w.name}),n.jsx("button",{type:"button",className:"file-upload__remove-button","aria-label":u("fileUpload.removeAriaLabel",{name:w.name}),disabled:r,onClick:()=>A(D),children:n.jsx(Ge,{icon:"x",size:14})})]},`${w.name}-${D}`))})]})}function Xb({items:e,className:t=""}){const{t:a}=fe.useTranslation();return n.jsx("nav",{className:`breadcrumb ${t}`.trim(),"aria-label":a("breadcrumb.ariaLabel","\uC774\uB3D9 \uACBD\uB85C"),children:n.jsx("ol",{className:"breadcrumb__list",children:e.map((r,s)=>{const i=s===e.length-1;return n.jsxs("li",{className:"breadcrumb__item",children:[i?n.jsx("span",{className:"breadcrumb__current body-3","aria-current":"page",children:r.label}):r.href?n.jsx("a",{className:"breadcrumb__link body-3",href:r.href,target:r.target,rel:r.rel??(r.target==="_blank"?"noopener noreferrer":void 0),onClick:r.onClick,children:r.label}):r.onClick?n.jsx("button",{type:"button",className:"breadcrumb__link body-3",onClick:r.onClick,children:r.label}):n.jsx("span",{className:"breadcrumb__text body-3",children:r.label}),!i&&n.jsx(Ge,{icon:"chevron-right",size:14,className:"breadcrumb__separator"})]},s)})})})}const Jb={small:14,medium:20,large:28};function Qb({value:e,onChange:t,max:a=5,readOnly:r=!1,size:s="medium",ariaLabel:i,className:l=""}){const{t:c}=fe.useTranslation(),u=r||!t,[d,p]=o.useState(null),m=u?e:Number.isFinite(e)?Math.round(e):0,h=d??m,g=Jb[s],C=w=>{w!==e&&t?.(w)},b=w=>{u||C(w)},_=w=>{u||Xn()||p(w)},f=o.useRef(null),y=w=>{const D=Math.min(a,Math.max(1,w));C(D),Array.from(f.current?.querySelectorAll("[data-star]")??[]).find(k=>k.dataset.star===String(D))?.focus()},x=w=>{if(!u){switch(w.key){case"ArrowRight":case"ArrowUp":y((m||0)+1);break;case"ArrowLeft":case"ArrowDown":y((m||1)-1);break;case"Home":y(1);break;case"End":y(a);break;default:return}w.preventDefault()}},v=m>=1&&m<=a?Math.round(m):1,A=()=>{u||p(null)};return n.jsx("div",{className:`rating rating--${s}${u?" rating--readOnly":""} ${l}`.trim(),ref:f,onKeyDown:x,role:u?"img":"radiogroup","aria-label":u?c("rating.valueLabel",{value:e,max:a}):i??c("rating.groupLabel","\uBCC4\uC810"),onMouseLeave:A,onPointerUp:w=>{w.pointerType==="touch"&&A()},onPointerCancel:w=>{w.pointerType==="touch"&&A()},children:Array.from({length:a},(w,D)=>{const k=D+1,B=Math.max(0,Math.min(1,h-D)),N=B>0&&B<1,M=n.jsxs("span",{className:"rating__star-wrap",children:[n.jsx(Ge,{icon:"star",size:g,className:"rating__star rating__star--empty"}),B>0&&n.jsx("span",{className:`rating__star-fill${N?" rating__star-fill--half":""}`,style:N?{width:`${B*100}%`}:void 0,children:n.jsx(Ge,{icon:"star",size:g,className:"rating__star rating__star--filled"})})]});return u?n.jsx("span",{className:"rating__item","aria-hidden":"true",children:M},k):n.jsx("button",{type:"button",className:"rating__item rating__item--interactive",role:"radio","aria-checked":m===k,"aria-label":c("rating.starLabel",{n:k}),"data-star":k,tabIndex:k===v?0:-1,onClick:()=>b(k),onMouseEnter:()=>_(k),children:M},k)})})}const e4=20,t4=["#499cdf","#4dcdc0","#2fae9e","#e6b94e","#d9534f","#e06b68","#bfc7d1"];function n4({value:e,onChange:t,palette:a=t4,size:r=40,className:s="",ariaLabel:i}){const{t:l}=fe.useTranslation();return n.jsx("div",{className:`color-picker ${s}`.trim(),role:"group","aria-label":i,children:a.map(c=>{const u=e?.toLowerCase()===c.toLowerCase();return n.jsx("button",{type:"button",className:`color-picker__swatch color-picker__swatch--${r}`,style:{backgroundColor:c},onClick:()=>t(c),"aria-pressed":u,"aria-label":u?`${c} ${l("colorPicker.selected","\uC120\uD0DD\uB428")}`:c,children:u&&n.jsx(Ge,{icon:"check",size:e4,className:"color-picker__check"})},c)})})}function a4({icon:e,count:t,title:a,className:r="",onClick:s,onMouseEnter:i,onMouseLeave:l}){const c=Be("count-tile",s&&"count-tile--clickable",r);return n.jsxs("div",{className:c,onClick:s,onKeyDown:s?u=>{u.key!=="Enter"&&u.key!==" "||(u.preventDefault(),u.currentTarget.click())}:void 0,onMouseEnter:i,onMouseLeave:l,role:s?"button":"img",tabIndex:s?0:void 0,"aria-label":a?`${a} ${t}`:String(t),children:[n.jsx(Ge,{icon:e,size:20,className:"count-tile__icon"}),n.jsx("span",{className:"count-tile__count h5","aria-hidden":"true",children:t})]})}let ka=0,kl="",eo="",Aa=0;function Al(){return Bl(!1)}function r4(){return Bl(!0)}function Bl(e){const t=typeof document<"u";ka===0&&t&&(kl=document.body.style.overflow,document.body.style.overflow="hidden"),e&&t&&(Aa===0&&(eo=document.body.style.paddingRight),Aa++,document.body.style.paddingRight="0px"),ka++;let a=!1;return()=>{a||(a=!0,ka=Math.max(0,ka-1),e&&t&&(Aa=Math.max(0,Aa-1),Aa===0&&(eo?document.body.style.paddingRight=eo:document.body.style.removeProperty("padding-right"))),ka===0&&t&&(document.body.style.overflow=kl))}}function o4(){return n.jsx("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round","aria-hidden":!0,children:n.jsx("path",{d:"M6 6l12 12M18 6 6 18"})})}function s4({open:e,onClose:t,ariaLabel:a,title:r,children:s,size:i="md",closeOnBackdrop:l=!0,closeOnEscape:c=!0,showClose:u=!0,className:d,contentClassName:p}){const{t:m}=fe.useTranslation(),h=o.useId(),g=o.useRef(null),C=o.useCallback(()=>t(),[t]);o.useEffect(()=>{if(!e)return;const y=document.activeElement,x=Al(),v=g.current;return Ir(v,y),v?.focus(),()=>{x();const A=document.activeElement;(!A||A===document.body||v&&v.contains(A))&&Fr(y)?.focus?.()}},[e]);const b=o.useRef(C),_=o.useRef(c);o.useEffect(()=>{b.current=C,_.current=c}),o.useEffect(()=>{if(e)return Rn(()=>{_.current&&b.current()})},[e]);const f=o.useRef(!1);return Rr(g,e),!e||typeof document>"u"?null:Wt.createPortal(n.jsx("div",{className:Be("dialog",d),onPointerDown:l?y=>{f.current=y.target===y.currentTarget}:void 0,onMouseDown:y=>{y.target===y.currentTarget&&y.preventDefault()},onClick:l?y=>{const x=f.current;f.current=!1,x&&y.target===y.currentTarget&&C()}:void 0,children:n.jsxs("div",{ref:g,role:"dialog","aria-modal":"true","aria-label":r?void 0:a,"aria-labelledby":r?h:void 0,tabIndex:-1,className:Be("dialog__surface",`dialog__surface--${i}`,p),onClick:y=>y.stopPropagation(),children:[r?n.jsx("div",{className:"dialog__header",children:n.jsx("h2",{id:h,className:"dialog__title h4b",children:r})}):null,u?n.jsx("button",{type:"button",className:"dialog__close","aria-label":m("common.close","\uB2EB\uAE30"),onClick:C,children:n.jsx(o4,{})}):null,n.jsx("div",{className:"dialog__body",children:s})]})}),document.body)}function i4({columns:e,rows:t,rowKey:a,title:r,toolbar:s,empty:i,loading:l,caption:c,className:u=""}){const{t:d}=fe.useTranslation(),p=!l&&t.length===0;return n.jsxs("div",{className:Be("board",u),children:[r||s?n.jsxs("div",{className:"board__head",children:[r?n.jsx("h2",{className:"board__title",children:r}):n.jsx("span",{}),s?n.jsx("div",{className:"board__toolbar",children:s}):null]}):null,n.jsxs("table",{className:"board__table",children:[c?n.jsx("caption",{className:"board__caption",children:c}):null,n.jsx("thead",{children:n.jsx("tr",{children:e.map(m=>n.jsx("th",{scope:"col",className:Be("board__th",`board__cell--${m.headerAlign??m.align??"left"}`),style:m.width?{width:m.width}:void 0,children:m.header},m.key))})}),n.jsx("tbody",{children:l?n.jsx("tr",{children:n.jsx("td",{className:"board__state",colSpan:e.length,children:l})}):p?n.jsx("tr",{children:n.jsx("td",{className:"board__state",colSpan:e.length,children:i??d("board.empty","\uB4F1\uB85D\uB41C \uD56D\uBAA9\uC774 \uC5C6\uC2B5\uB2C8\uB2E4.")})}):t.map((m,h)=>n.jsx("tr",{className:"board__row",children:e.map(g=>n.jsx("td",{className:Be("board__td",`board__cell--${g.align??"left"}`),children:g.render(m,h)},g.key))},a(m,h)))})]})]})}function l4({name:e,role:t,photo:a,media:r,credentials:s,size:i=190,className:l=""}){return n.jsxs("div",{className:Be("person-card",l),children:[n.jsx("div",{className:"person-card__photo",style:{width:i,height:i},children:r??(a?n.jsx("img",{src:a,alt:t?`${e} ${t}`:e}):null)}),n.jsx("h3",{className:"person-card__name",children:e}),t?n.jsx("p",{className:"person-card__role",children:t}):null,s?.length?n.jsx("ul",{className:"person-card__credentials",children:s.map(c=>n.jsx("li",{children:c},c))}):null]})}function c4({groups:e,className:t=""}){return n.jsx("div",{className:Be("timeline",t),children:e.map(a=>n.jsxs("section",{className:"timeline__group",children:[n.jsx("h3",{className:"timeline__title",children:a.title}),n.jsx("ul",{className:"timeline__rows",children:a.entries.map((r,s)=>n.jsxs("li",{className:"timeline__row",children:[r.label?n.jsx("span",{className:"timeline__label",children:r.label}):null,n.jsx("div",{className:"timeline__items",children:r.items.map((i,l)=>n.jsx("p",{children:i},l))})]},`${r.label??""}-${s}`))})]},a.title))})}function u4({title:e,kind:t,body:a,badge:r,badgeSrc:s,footer:i,width:l,className:c=""}){const u=r??(s?n.jsx("img",{src:s,alt:""}):null);return n.jsxs("div",{className:Be("publication-card",c),style:l?{width:l,flexShrink:0}:void 0,children:[u?n.jsx("div",{className:"publication-card__badge","aria-hidden":"true",children:u}):null,n.jsx("h3",{className:"publication-card__title",children:e}),t?n.jsx("p",{className:"publication-card__kind",children:t}):null,n.jsx("p",{className:"publication-card__body",children:a}),i?n.jsx("div",{className:"publication-card__footer",children:i}):null]})}function d4({logo:e,alt:t,onDone:a,durationMs:r=3e3}){const s=ga(a);return o.useEffect(()=>{const i=setTimeout(()=>s.current?.(),r);return()=>clearTimeout(i)},[r,s]),n.jsx("div",{className:"splash-logo",style:{"--splash-logo-duration":`${r}ms`},"aria-hidden":"true",children:n.jsx("img",{src:e,alt:t,className:"splash-logo__image"})})}function p4({eyebrow:e,eyebrowIndex:t,title:a,description:r,level:s=2,tone:i="dark",className:l=""}){const c=s===1?"h1":"h2";return n.jsxs("div",{className:Be("section-header",`section-header--${i}`,l),children:[e?n.jsxs("p",{className:"section-header__eyebrow",children:[t?n.jsxs(n.Fragment,{children:[n.jsx("span",{className:"section-header__index",children:t}),n.jsx("span",{"aria-hidden":!0,className:"section-header__rule"})]}):null,e]}):null,a?n.jsx(c,{className:"section-header__title",children:a}):null,r?n.jsx("div",{className:"section-header__description",children:r}):null]})}function m4({items:e,className:t=""}){return n.jsx("ul",{className:Be("company-meta",t),children:e.map((a,r)=>n.jsxs("li",{className:"company-meta__item",children:[r>0?n.jsx("span",{"aria-hidden":!0,className:"company-meta__divider",children:"|"}):null,a]},a))})}function Nl({value:e,onChange:t,suggestions:a,openOnFocus:r=!1}){const s=o.useId(),[i,l]=o.useState(!1),[c,u]=o.useState(-1),d=o.useRef(null),p=o.useMemo(()=>{if(!a.length)return[];const D=e??"";return D?a.filter(k=>k.toLowerCase().includes(D.toLowerCase())):r?a:[]},[a,e,r]),[m,h]=o.useState(!1),g=o.useRef([]),C=m&&p.length===0?g.current:p;o.useEffect(()=>{C.length&&(g.current=C)},[C]);const b=o.useCallback(()=>h(!0),[]),_=o.useCallback(()=>h(!1),[]);o.useEffect(()=>{i||u(-1)},[i]),o.useEffect(()=>()=>{d.current&&clearTimeout(d.current)},[]);const f=c<C.length?c:-1,y=o.useCallback(D=>{t?.(D),l(!1)},[t]),x=o.useCallback(()=>l(!0),[]),v=o.useCallback(()=>{l(!0),u(-1)},[]),A=o.useCallback(()=>{d.current=setTimeout(()=>l(!1),120)},[]),w=o.useCallback(D=>{D.nativeEvent.isComposing||D.keyCode===229||(D.key==="ArrowDown"?(D.preventDefault(),l(!0),u(k=>Math.min(C.length-1,(k<C.length?k:-1)+1))):D.key==="ArrowUp"?(D.preventDefault(),u(k=>Math.max(-1,(k<C.length?k:C.length)-1))):D.key==="Enter"?f>=0&&y(C[f]):D.key==="Escape"&&i&&(D.preventDefault(),l(!1)))},[C,f,i,y]);return{listId:s,open:i,activeIdx:f,filtered:C,handleFocus:x,handleBlur:A,handleInput:v,handleKeyDown:w,handleSelect:y,handleCompositionStart:b,handleCompositionEnd:_}}const Dl=typeof window<"u"?o.useLayoutEffect:o.useEffect;function On(e){const{value:t,defaultValue:a,name:r,inputRef:s,onChange:i,label:l,ariaLabel:c,required:u,placeholder:d,type:p="text",disabled:m=!1,readOnly:h=!1,error:g,helperText:C,maxLength:b,size:_=48,variant:f="input",fullWidth:y=!1,newline:x=!1,multiline:v=!1,rows:A=3,leftIcon:w,rightIcon:D,clearable:k=!1,list:B,showCount:N=!0,className:M="",onFocus:P,onBlur:$,onKeyDown:W,onEnter:S,inputMode:F,autoComplete:Y,autoFocus:G,suggestions:q,openOnFocus:H=!1}=e,z=h||m?void 0:q,{t:Z}=fe.useTranslation(),I=o.useId();!l&&!c&&jn(`TextField:unnamed:${I}`,"[ihab/TextField] \uC774\uB984\uC774 \uC5C6\uC2B5\uB2C8\uB2E4 \u2014 label \uC774\uB098 ariaLabel \uC911 \uD558\uB098\uB97C \uC8FC\uC138\uC694. placeholder \uB294 \uC774\uB984\uC744 \uB300\uC2E0\uD558\uC9C0 \uBABB\uD569\uB2C8\uB2E4.");const T=`tf-${I}`,O=`tf-helper-${I}`,R=o.useRef(null),j=Nl({value:t??"",onChange:i,suggestions:z??[],openOnFocus:H}),L=!!z&&j.open&&j.filtered.length>0,Q=o.useRef(null),[J,oe]=o.useState(null),ge=o.useCallback(()=>{const te=Q.current;if(!te||typeof window>"u")return;const he=te.getBoundingClientRect(),be=230,Ye=window.innerHeight-he.bottom<be+8&&he.top>be+8;oe({position:"fixed",left:he.left,width:he.width,...Ye?{bottom:window.innerHeight-he.top+8}:{top:he.bottom+8},zIndex:ya(te)})},[]);Dl(()=>{if(!L)return;ge();const te=he=>{const be=he.target;be&&be.nodeType===1&&be.closest?.(".text-field__suggestions")||ge()};return window.addEventListener("scroll",te,!0),window.addEventListener("resize",ge),()=>{window.removeEventListener("scroll",te,!0),window.removeEventListener("resize",ge)}},[L,ge]);const Me=o.useCallback(te=>{R.current=te,typeof s=="function"?s(te):s&&(s.current=te)},[s]),Ne=t!==void 0,ie=Ne&&p==="password",[U,se]=o.useState((a??"").length),me=Ne?(t??"").length:U,_e=o.useRef(t);Dl(()=>{_e.current=t}),o.useEffect(()=>{const te=R.current;if(!ie||!te)return;const he=t??"";te.value!==he&&(te.value=he)},[ie,t]),o.useEffect(()=>{if(!x||!R.current)return;const te=R.current;te.style.height="",te.scrollHeight>te.clientHeight&&(te.style.height=`${te.scrollHeight}px`)},[t,U,x]);const we=b!=null&&me>b,De=_===32?16:20,xe=Be("text-field",`text-field--s${_}`,f==="display"?"text-field--display":"",y?"text-field--full-width":"",m?"text-field--disabled":"",h?"text-field--readonly":"",g?"text-field--error":"",w?"text-field--has-left-icon":"",D||k?"text-field--has-right-icon":"",M),Ae={id:T,...ie?{}:Ne?{value:t}:{defaultValue:a},ref:Me,placeholder:d,name:r,disabled:m,readOnly:h,autoFocus:G,maxLength:b,list:B,inputMode:F,autoComplete:Y,"aria-label":!l&&c?c:void 0,"aria-required":u,"aria-invalid":!!g,"aria-describedby":C||g?O:void 0,role:z?"combobox":void 0,"aria-autocomplete":z?"list":void 0,"aria-haspopup":z?"listbox":void 0,"aria-expanded":z?j.open:void 0,"aria-controls":L?j.listId:void 0,"aria-activedescendant":L&&j.activeIdx>=0?`${j.listId}-option-${j.activeIdx}`:void 0,onChange:te=>{const he=te.target;Ne||se(he.value.length),i?.(he.value),z&&j.handleInput(),ie&&queueMicrotask(()=>{const be=_e.current??"";he.value!==be&&(he.value=be)})},onCompositionStart:z?j.handleCompositionStart:void 0,onCompositionEnd:z?j.handleCompositionEnd:void 0,onFocus:(te=>{P?.(te),z&&j.handleFocus()}),onBlur:(te=>{$?.(te),z&&j.handleBlur()}),onKeyDown:(te=>{z&&te.key==="Enter"&&!te.nativeEvent.isComposing&&j.activeIdx>=0?te.preventDefault():S&&te.key==="Enter"&&!te.nativeEvent.isComposing&&(te.preventDefault(),S()),W?.(te),z&&j.handleKeyDown(te)})},Te=k&&!m&&!h&&me>0,ae=()=>x?n.jsx("textarea",{...Ae,className:"text-field__input text-field__input--auto body-2",rows:1}):v?n.jsx("textarea",{...Ae,className:"text-field__input text-field__input--textarea body-2",rows:A}):n.jsx("input",{...Ae,type:p,className:"text-field__input body-2"}),ee=f==="display"&&!x&&!v&&!!d,de=()=>n.jsxs(n.Fragment,{children:[ae(),ee&&n.jsx("span",{className:"text-field__placeholder","aria-hidden":"true",children:d})]});return n.jsxs("div",{ref:Q,className:xe,children:[l&&n.jsxs("label",{htmlFor:T,className:"text-field__label caption-1",children:[l,u&&n.jsx("span",{className:"text-field__required",children:"*"})]}),n.jsxs("div",{className:"text-field__wrap",children:[w&&n.jsx("span",{className:"text-field__icon text-field__icon--left",children:n.jsx(Ge,{icon:w,label:"",className:"",svgClassName:"text-field__icon-svg",size:De})}),de(),b!=null&&N&&n.jsxs("span",{className:`text-field__count caption-2${we?" text-field__count--over":""}`,children:[me,"/",b]}),Te&&n.jsx(ce,{size:24,type:"dot",icon:"x",variant:"transparent-gray",useBorder:!1,className:"text-field__clear",ariaLabel:Z("textField.clearAriaLabel","\uC785\uB825\uAC12 \uC9C0\uC6B0\uAE30"),htmlType:"button",onMouseDown:te=>{te.preventDefault()},onClick:()=>{!Ne&&R.current&&(R.current.value="",se(0)),i?.("")},tabIndex:-1}),D&&!Te&&n.jsx("span",{className:"text-field__icon text-field__icon--right",children:n.jsx(Ge,{icon:D,label:"",className:"",svgClassName:"text-field__icon-svg",size:De})})]}),L&&(typeof document>"u"?null:Wt.createPortal(n.jsx("ul",{id:j.listId,className:"text-field__suggestions",role:"listbox",style:J??{position:"fixed",visibility:"hidden"},"data-tooltip-ignore":!0,children:j.filtered.map((te,he)=>n.jsx("li",{id:`${j.listId}-option-${he}`,role:"option","aria-selected":he===j.activeIdx,className:`text-field__suggestion body-2${he===j.activeIdx?" is-active":""}`,onMouseDown:be=>be.preventDefault(),onClick:()=>{j.handleSelect(te),R.current?.focus()},children:te},`${te}-${he}`))}),document.body)),(C||g)&&n.jsx("div",{className:"text-field__footer",children:n.jsx("span",{id:O,className:"text-field__helper caption-1",role:g?"alert":void 0,children:g||C})})]})}function tn({options:e,value:t,onChange:a,placeholder:r,disabled:s=!1,block:i=!1,size:l=48,error:c=!1,className:u="",ariaLabel:d,ariaDescribedBy:p}){const{t:m}=fe.useTranslation(),h=r??m("dropdown.placeholder","\uC120\uD0DD"),g=o.useId(),C=o.useId(),b=o.useRef(null),_=o.useCallback((S,F)=>{const Y=window.innerHeight-S.bottom<260&&S.top>260;return{position:"fixed",left:S.left,minWidth:S.width,...Y?{bottom:window.innerHeight-S.top+6}:{top:S.bottom+6},zIndex:ya(F)}},[]),{open:f,setOpen:y,toggle:x,style:v,triggerRef:A,menuRef:w}=va({computeStyle:_}),[D,k]=o.useState(-1),B=o.useCallback(()=>k(-1),[]),N=e.find(S=>S.value===t);o.useEffect(()=>{if(f){const S=e.findIndex(F=>F.value===t);k(S>=0?S:e.length?0:-1),requestAnimationFrame(()=>{const F=w.current;if(!F)return;const Y=F.querySelectorAll(".dropdown__option")[S];Y&&(F.scrollTop=Math.max(0,Y.offsetTop-F.clientHeight/2+Y.clientHeight/2))})}},[f]),o.useEffect(()=>{f&&k(S=>{if(S>=0&&S<e.length)return S;const F=e.findIndex(Y=>Y.value===t);return F>=0?F:e.length?0:-1})},[f,e.length]);const M=o.useCallback(()=>{s||x()},[s,x]),P=o.useCallback(S=>{S.disabled||s||(S.value!==t&&a?.(S.value),y(!1))},[a,y,s,t]);o.useEffect(()=>{s&&y(!1)},[s,y]);const $=o.useCallback(S=>{if(!s){if(!f){(S.key==="Enter"||S.key===" "||S.key==="ArrowDown")&&(S.preventDefault(),y(!0));return}if(S.key==="Escape"){S.preventDefault(),y(!1);return}S.key==="ArrowDown"?(S.preventDefault(),k(F=>{let Y=F+1;for(;Y<e.length&&e[Y].disabled;)Y++;return Y<e.length?Y:F})):S.key==="ArrowUp"?(S.preventDefault(),k(F=>{let Y=F-1;for(;Y>=0&&e[Y].disabled;)Y--;return Y>=0?Y:F})):(S.key==="Enter"||S.key===" ")&&(S.preventDefault(),e[D]?P(e[D]):y(!1))}},[s,f,e,D,P,y]),W=f?n.jsx("div",{ref:w,id:g,className:"dropdown__menu","data-tooltip-ignore":!0,role:"listbox",style:v,onMouseLeave:B,onMouseDown:S=>S.preventDefault(),children:e.map((S,F)=>n.jsxs("button",{id:`${g}-option-${F}`,type:"button",role:"option","aria-selected":S.value===t,className:Be("dropdown__option body-2",S.value===t?"dropdown__option--active":"",F===D?"dropdown__option--active":"",S.disabled?"dropdown__option--disabled":""),onMouseDown:Y=>Y.preventDefault(),onClick:()=>P(S),onMouseEnter:()=>k(F),disabled:S.disabled,children:[n.jsx("span",{className:"dropdown__option-check",children:S.value===t&&n.jsx("svg",{viewBox:"0 0 14 14",fill:"none",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round",children:n.jsx("polyline",{points:"2 7 5.5 10.5 12 3.5"})})}),S.label]},S.value))}):null;return n.jsxs("div",{ref:b,className:Be("dropdown",`dropdown--s${l}`,f?"dropdown--open":"",i?"dropdown--block":"",c?"dropdown--error":"",u),onKeyDown:$,children:[n.jsxs("button",{ref:A,type:"button",className:"dropdown__trigger","aria-haspopup":"listbox","aria-expanded":f,"aria-controls":f?g:void 0,"aria-activedescendant":f&&D>=0?`${g}-option-${D}`:void 0,"aria-label":d,"aria-describedby":[d&&N?C:"",p??""].filter(Boolean).join(" ")||void 0,"aria-invalid":c||void 0,disabled:s,onClick:M,onBlur:S=>{f&&!w.current?.contains(S.relatedTarget)&&y(!1)},children:[n.jsx("span",{id:C,className:`dropdown__trigger-label body-2${N?"":" dropdown__trigger-label--placeholder"}`,children:N?N.label:h}),n.jsx("svg",{className:"dropdown__chevron",viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:n.jsx("polyline",{points:"4 6 8 10 12 6"})})]}),typeof document<"u"&&Wt.createPortal(W,b.current?.closest(".ihabdevteam-core-scope")??document.body)]})}function Ua({page:e,totalPages:t,onChange:a,prevLabel:r,nextLabel:s,className:i=""}){const{t:l}=fe.useTranslation(),c=r??l("common.prevPage","\uC774\uC804 \uD398\uC774\uC9C0"),u=s??l("common.nextPage","\uB2E4\uC74C \uD398\uC774\uC9C0"),d=Math.max(1,t),p=()=>a(Math.max(1,Math.min(d,e-1))),m=()=>a(Math.min(d,e+1));return n.jsxs("div",{className:Be("pagination",i),children:[n.jsx(ce,{htmlType:"button",size:32,type:"dot",shape:"rounded",icon:"chevron-left",ariaLabel:c,disabled:e<=1,onClick:p}),n.jsxs("span",{className:"pagination__info body-3","aria-live":"polite","aria-atomic":"true",children:[Math.min(Math.max(1,e),d)," / ",d]}),n.jsx(ce,{htmlType:"button",size:32,type:"dot",shape:"rounded",icon:"chevron-right",ariaLabel:u,disabled:e>=t,onClick:m})]})}function Vn(e){const{t}=fe.useTranslation(),{options:a=[],value:r=a.find(f=>!f.disabled)?.key??a[0]?.key,onChange:s=f=>{},className:i="",size:l=48,shape:c="pill",useBG:u=!0,fullWidth:d=!1,ariaLabel:p}=e||{},m=o.useRef(null),h=a.filter(f=>!f.disabled),g=f=>{if(!h.length)return;const y=Math.max(0,h.findIndex(v=>v.key===r)),x=f==="first"?h[0]:f==="last"?h[h.length-1]:h[(y+f+h.length)%h.length];x&&(s(x.key),Array.from(m.current?.querySelectorAll("[data-segkey]")??[]).find(v=>v.dataset.segkey===x.key)?.focus())},C=f=>{switch(f.key){case"ArrowRight":case"ArrowDown":g(1);break;case"ArrowLeft":case"ArrowUp":g(-1);break;case"Home":g("first");break;case"End":g("last");break;default:return}f.preventDefault()},b=f=>{const y=x=>typeof x=="string"||typeof x=="number";if(!(!y(f.label)||f.count==null||f.count===!1||!y(f.count)))return`${f.label}, ${f.count}`},_=h.some(f=>f.key===r)?r:h[0]?.key;return n.jsx("div",{ref:m,onKeyDown:C,className:Be("segmented-control",`segmented-control--${c}`,`segmented-control--${l}`,d&&"segmented-control--full",!u&&"segmented-control--no-bg",i),role:"radiogroup","aria-label":p??t("segmentedControl.ariaLabel","\uC120\uD0DD \uD0ED"),children:a.map(f=>n.jsx(ce,{htmlType:"button",role:"radio","aria-checked":f.key===r,"data-segkey":f.key,tabIndex:f.key===_?0:-1,label:f.label,count:f.count,ariaLabel:b(f),disabled:f.disabled,className:f.key===r?"is-selected":"",onClick:()=>{f.disabled||s(f.key)},size:l,shape:c,useBorder:!1,useBG:!1},f.key))})}function to({count:e,search:t,segment:a,filters:r,pageSize:s,pagination:i,actions:l,className:c}){const{t:u}=fe.useTranslation(),d=e!=null&&n.jsxs("p",{className:"toolbar__count body-1",role:"status","aria-atomic":"true",children:[e.prefix??u("common.totalPrefix","\uCD1D "),n.jsx("span",{className:"toolbar__count-highlight",children:e.value}),e.unit,e.suffix]}),p=!!(t||r?.length||s||i||l);return n.jsxs("div",{className:Be("toolbar",c),children:[n.jsxs("div",{className:"toolbar__row",children:[d,a&&(Array.isArray(a)?a:[a]).map((m,h)=>n.jsx(Vn,{size:40,...m},m.ariaLabel??h))]}),p&&n.jsx("div",{className:"toolbar__row",children:n.jsxs("div",{className:"toolbar__row-end",children:[t&&n.jsx(On,{className:"toolbar__search",size:40,value:t.value,onChange:t.onChange,placeholder:t.placeholder??u("common.search","\uAC80\uC0C9"),ariaLabel:t.placeholder??u("common.search","\uAC80\uC0C9"),clearable:!0}),r?.map((m,h)=>n.jsx(tn,{size:40,options:m.options,value:m.value,onChange:m.onChange,ariaLabel:m.ariaLabel},h)),s&&n.jsx(tn,{size:40,options:s.options,value:s.value,onChange:s.onChange,ariaLabel:s.ariaLabel??u("common.pageSizeSelect","\uD398\uC774\uC9C0\uB2F9 \uD45C\uC2DC \uAC1C\uC218")}),i&&n.jsx(Ua,{page:i.page,totalPages:i.total,onChange:i.onChange,prevLabel:i.prevLabel,nextLabel:i.nextLabel}),l]})})]})}function Sl(e){return typeof e=="string"?e:typeof e=="number"?String(e):Array.isArray(e)?e.map(Sl).join(""):""}function h4(e){let t=e.replace(/\r\n/g,`
838
838
  `).replace(/\r/g,`
839
839
  `);t=t.replace(/^\n+/,"").replace(/\n+$/,"");const a=t.split(`
840
840
  `).map(i=>i.replace(/\t/g," ")),r=a.filter(i=>i.trim().length>0),s=r.length>0?Math.min(...r.map(i=>i.match(/^ */)?.[0].length??0)):0;return a.map(i=>i.slice(s)).join(`
841
841
  `)}const f4=new Set(["pnpm","npm","yarn","node","git","curl","docker","cat","ls","cd","rm","mv","cp","echo","export"]),C4=/^(?:const|let|var|function|return|if|else|for|while|switch|case|break|import|from|export|class|new|try|catch|finally|throw|await|async|null|true|false|this|typeof|instanceof)\b/;function g4(e,t){let a=e;const r=[],s=/^(?:sh|bash|zsh|shell|console)$/.test(t.toLowerCase()),i=(l,c)=>r.push({type:l,content:c});for(;a.length>0;){const l=a.match(/^\s+/);if(l){i("whitespace",l[0]),a=a.slice(l[0].length);continue}if(!s&&a.startsWith("//")){const C=a.indexOf(`
842
842
  `),b=C===-1?a:a.slice(0,C);i("comment",b),a=a.slice(b.length);continue}if(s&&a.startsWith("#")){const C=a.indexOf(`
843
- `),b=C===-1?a:a.slice(0,C);i("comment",b),a=a.slice(b.length);continue}const c=a.match(/^\/\*[\s\S]*?\*\//);if(c){i("comment",c[0]),a=a.slice(c[0].length);continue}const u=a.match(/^(`(?:\\.|[^`])*`|"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*')/);if(u){i("string",u[0]),a=a.slice(u[0].length);continue}const d=a.match(/^\d+(?:\.\d+)?/);if(d){i("number",d[0]),a=a.slice(d[0].length);continue}const p=a.match(C4);if(p){i("keyword",p[0]),a=a.slice(p[0].length);continue}const m=a.match(/^[A-Za-z_$][A-Za-z0-9_$-]*/);if(m){const C=m[0];i(s&&f4.has(C)?"command":"identifier",C),a=a.slice(C.length);continue}const h=a.match(/^[=+\-*/%<>!&|^~?:]+/);if(h){i("operator",h[0]),a=a.slice(h[0].length);continue}const g=a.match(/^[()[\]{};.,]/);if(g){i("punctuation",g[0]),a=a.slice(1);continue}i("other",a[0]),a=a.slice(1)}return r}function b4({children:e,language:t="bash",title:a="",showCopy:r=!0,size:s="default",className:i=""}){const{t:l}=fe.useTranslation(),[c,u]=o.useState(!1),d=h4(Sl(e)),p=o.useRef(null);o.useEffect(()=>()=>{p.current&&clearTimeout(p.current)},[]);const m=async()=>{try{if(!await g2(d))return;u(!0),p.current&&clearTimeout(p.current),p.current=setTimeout(()=>u(!1),2e3)}catch{}},h=g4(d,t),g=s==="small"?"caption-1":"body-3";return n.jsxs("div",{className:Be("code-box",s==="small"?"code-box--small":"",i),children:[(a||r)&&n.jsxs("div",{className:"code-box__header",role:"toolbar","aria-label":l("common.codeBlock","\uCF54\uB4DC \uBE14\uB85D"),children:[n.jsx("div",{className:"code-box__title caption-1",children:a}),r&&n.jsx(ce,{htmlType:"button",className:"code-box__copy",size:40,type:"dot",variant:"transparent-gray",useBorder:!1,icon:c?"check":"copy",onClick:m,ariaLabel:c?l("common.copied","\uBCF5\uC0AC\uB428"):l("common.copyCode","\uCF54\uB4DC \uBCF5\uC0AC")})]}),n.jsx("pre",{className:"code-box__inner","data-lang":t,children:n.jsx("code",{children:h.map((C,b)=>n.jsx("span",{className:`code-token ${C.type} ${g}`,children:C.content},b))})})]})}const y4={position:"absolute",width:1,height:1,margin:-1,padding:0,overflow:"hidden",clipPath:"inset(50%)",whiteSpace:"nowrap",border:0};function Ba(e){const{t}=fe.useTranslation(),{variant:a="spinner",size:r=24,progress:s=null,label:i}=e||{},l=i||t("loader.loading","Loading");if(a==="bar"){const u=s==null||!Number.isFinite(Number(s)),d=u?0:Math.max(0,Math.min(100,Number(s)));return n.jsx("div",{className:`loader-bar${u?" loader-bar--indeterminate":""}`,role:"progressbar","aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":u?void 0:d,"aria-label":l,children:n.jsx("div",{className:"loader-bar__inner",style:u?void 0:{width:`${d}%`}})})}const c=typeof r=="number"?`${r}px`:r;return n.jsxs("div",{className:"loader-spinner",style:{width:c,height:c},role:"status","aria-label":l,children:[n.jsx("span",{style:y4,children:l}),n.jsxs("svg",{className:"loader-spinner__svg",viewBox:"0 0 50 50",width:r,height:r,children:[n.jsx("circle",{className:"loader-spinner__bg",cx:"25",cy:"25",r:"20",fill:"none",strokeWidth:"4"}),n.jsx("circle",{className:"loader-spinner__fg",cx:"25",cy:"25",r:"20",fill:"none",strokeWidth:"4",strokeLinecap:"round"})]})]})}function El({checked:e,onChange:t,disabled:a=!1,label:r,ariaLabel:s,labelPosition:i="right",className:l="",id:c}){const u=r&&n.jsx("span",{className:"toggle__label body-3",children:r});return n.jsxs("label",{className:`toggle${a?" toggle--disabled":""} ${l}`.trim(),children:[i==="left"&&u,n.jsx("input",{id:c,type:"checkbox",role:"switch",checked:e,disabled:a,onChange:d=>t?.(d.target.checked),"aria-label":!r&&s?s:void 0}),n.jsx("span",{className:"toggle__slider"}),i==="right"&&u]})}function Tl({checked:e=!1,onChange:t,disabled:a,indeterminate:r,label:s,size:i="medium",className:l,title:c,ariaLabel:u}){const d=o.useRef(null),p=o.useId(),m=o.useRef(!!r);return m.current=!!r,o.useEffect(()=>{d.current&&(d.current.indeterminate=!!r)}),n.jsxs("label",{className:Be("checkbox",i==="small"&&"checkbox--small",i==="large"&&"checkbox--large",a&&"checkbox--disabled",l),htmlFor:p,title:c,children:[n.jsx("input",{ref:d,id:p,type:"checkbox",className:"checkbox__input",checked:e,onChange:h=>{t?.(h.target.checked),d.current&&(d.current.indeterminate=m.current)},disabled:a,"aria-label":!s&&u?u:void 0}),n.jsx("span",{className:"checkbox__box"}),s&&n.jsx("span",{className:"checkbox__label body-3",children:s})]})}function v4({count:e,actions:t,onClear:a,clearLabel:r,visible:s,content:i,max:l}){const{t:c}=fe.useTranslation(),u=s!==void 0?s:e>0,d=r??c("bulkBar.clearSelection","\uC120\uD0DD \uD574\uC81C"),p=o.useRef(null),m=o.useRef(null),h=o.useRef(null),g=o.useRef(u);o.useLayoutEffect(()=>{const y=m.current,x=g.current;if(g.current=u,u&&!x){const v=typeof document<"u"?document.activeElement:null;h.current=v&&v!==document.body&&!y?.contains(v)?v:null}else!u&&x&&y&&y.contains(document.activeElement)&&Oa(y,h.current)},[u]);const[C,b]=o.useState(!1),_=o.useRef(!1),f=o.useRef(null);return o.useEffect(()=>{const y=p.current;if(!y)return;const x=A=>{_.current=A,b(A)},v=()=>{const A=y.firstElementChild??y,N=Array.from(A.children);if(N.length<2){x(!1);return}const M=N[0].offsetTop,I=N.some(z=>z.offsetTop!==M);if(!_.current){f.current=y.clientWidth,I&&x(!0);return}if(I)return;const $=N[0],V=N[N.length-1],S=V.offsetLeft+V.offsetWidth-$.offsetLeft,F=f.current;(F==null||S<=F)&&x(!1)};if(v(),typeof ResizeObserver>"u")return;const k=new ResizeObserver(v);k.observe(y);const w=y.parentElement;let D=w?.clientWidth??0;const B=new ResizeObserver(()=>{const A=w?.clientWidth??0;A!==D&&(D=A,f.current=null,v())});return w&&B.observe(w),()=>{k.disconnect(),B.disconnect()}},[i,e]),n.jsxs("div",{ref:m,className:`bulk-bar ${u?"bulk-bar--visible":""}`,inert:!u||void 0,"aria-hidden":u?void 0:!0,children:[n.jsx("span",{ref:p,className:"bulk-bar__count body-2",role:"status",children:i??n.jsx("b",{children:c("common.selectedCount",{count:e})})}),l!==void 0&&n.jsx(pt,{size:"small",fill:"soft",variant:"main",label:`${e} / ${l}`}),n.jsxs("div",{className:`bulk-bar__actions${C?" bulk-bar__actions--stacked":""}`,children:[n.jsx(ce,{htmlType:"button",size:40,label:d,onClick:a}),t.map((y,x)=>n.jsx(ce,{htmlType:"button",size:40,variant:y.variant??"default",icon:y.icon,label:y.label,onClick:y.onClick},x))]})]})}function jl(e,t){const a=()=>{if(e){const[b,_]=e.split("-");return{y:+b,m:+_-1}}const[g,C]=Mr(t).split("-");return{y:+g,m:+C-1}},[r,s]=o.useState(()=>a().y),[i,l]=o.useState(()=>a().m),c=o.useRef(e);o.useEffect(()=>{if(e===c.current)return;c.current=e;const g=a();s(g.y),l(g.m)},[e]);const u=o.useRef({y:r,m:i});o.useEffect(()=>{u.current={y:r,m:i}},[r,i]);const d=o.useCallback(g=>{const C=u.current.y*12+u.current.m+g,b=Math.floor(C/12),_=C-b*12;u.current={y:b,m:_},s(b),l(_)},[]),p=o.useCallback(()=>d(-1),[d]),m=o.useCallback(()=>d(1),[d]),h=o.useCallback((g,C)=>{u.current={y:g,m:C},s(g),l(C)},[]);return{viewY:r,viewM:i,prevMonth:p,nextMonth:m,setViewYM:h}}function Ga(e,t){return new Date(e,t+1,0).getDate()}function x4(e,t){return new Date(e,t,1).getDay()}function Ka(e,t,a){return`${e}-${String(t+1).padStart(2,"0")}-${String(a).padStart(2,"0")}`}function _4(e){if(!e)return"";const[t,a,r]=e.split("-");return`${t}. ${a}. ${r}.`}function w4(e,t,a,r){const s=a?+a.split("-")[0]:e-10,i=r?+r.split("-")[0]:e+10,l=[];for(let c=s;c<=i;c++)for(let u=0;u<12;u++){const d=`${c}-${String(u+1).padStart(2,"0")}`;a&&d<a.slice(0,7)||r&&d>r.slice(0,7)||l.push({value:d,label:t(c,u+1)})}return l}function k4({value:e,onChange:t,size:a=48,min:r,max:s,disabled:i,placeholder:l,className:c,today:u}){const{t:d}=fe.useTranslation(),p=l??d("datePicker.chooseDate","\uB0A0\uC9DC \uC120\uD0DD"),m=o.useMemo(()=>d("calendar.dow",{returnObjects:!0}),[d]),h=Mr(u),{viewY:g,viewM:C,prevMonth:b,nextMonth:_,setViewYM:f}=jl(e,u),y=o.useId(),x=o.useCallback((T,O)=>{const R=window.innerHeight,j=window.innerWidth,L=typeof document<"u"?document.getElementById(y):null,Q=L?.offsetHeight||300,J=Math.max(T.width,L?.offsetWidth||0,260),oe=R-T.bottom<Q&&T.top>Q,ge=8,Me=(Ne,ie)=>Math.min(Math.max(ge,Ne),Math.max(ge,ie));return{position:"fixed",left:Me(T.left,j-J-ge),width:T.width,minWidth:260,...oe?{bottom:Me(R-T.top+6,R-Q-ge)}:{top:Me(T.bottom+6,R-Q-ge)},zIndex:ya(O)}},[y]),{open:v,setOpen:k,toggle:w,style:D,triggerRef:B,menuRef:A}=va({computeStyle:x,onScroll:"reposition",onResize:"reposition",ignoreOutsideClickSelector:".dropdown__menu"});o.useEffect(()=>{if(!v)return;const T=A.current;return(T?.querySelector(".date-picker__day--selected:not(:disabled)")??T?.querySelector(".date-picker__day--today:not(:disabled)")??T?.querySelector(".date-picker__day:not(:disabled)")??T?.querySelector(hn)??T)?.focus?.(),()=>{const O=document.activeElement;(!O||O===document.body)&&B.current?.focus?.()}},[v,A,B]);const[N,M]=o.useState(1),I=o.useRef(null),$=o.useRef(null);o.useEffect(()=>{if(!v)return;const T=e&&e.slice(0,7)===`${g}-${String(C+1).padStart(2,"0")}`?+e.slice(8):h.slice(0,7)===`${g}-${String(C+1).padStart(2,"0")}`?+h.slice(8):1;M(T)},[v]),o.useEffect(()=>{if($.current==null)return;const T=$.current;$.current=null,I.current?.querySelector(`[data-day="${T}"]`)?.focus()}),o.useEffect(()=>{M(T=>Math.min(T,Ga(g,C)))},[g,C]);const V=o.useCallback(T=>{let O=Ka(T.getFullYear(),T.getMonth(),T.getDate());r&&O<r&&(O=r),s&&O>s&&(O=s);const[R,j,L]=O.split("-").map(Number);(R!==g||j-1!==C)&&f(R,j-1),M(L),$.current=L},[r,s,g,C,f]),S=o.useCallback(T=>{const O=new Date(g,C,N),R=L=>{O.setDate(O.getDate()+L),V(O)},j=L=>{const Q=O.getFullYear()*12+O.getMonth()+L,J=Math.floor(Q/12),oe=Q-J*12;V(new Date(J,oe,Math.min(O.getDate(),Ga(J,oe))))};switch(T.key){case"ArrowLeft":R(-1);break;case"ArrowRight":R(1);break;case"ArrowUp":R(-7);break;case"ArrowDown":R(7);break;case"Home":R(-O.getDay());break;case"End":R(6-O.getDay());break;case"PageUp":T.shiftKey?j(-12):j(-1);break;case"PageDown":T.shiftKey?j(12):j(1);break;default:return}T.preventDefault()},[g,C,N,V]),F=o.useCallback(T=>{i||(t(Ka(g,C,T)),k(!1))},[g,C,t,k,i]);o.useEffect(()=>{i&&k(!1)},[i,k]);const z=T=>{const O=Ka(g,C,T);return!!(r&&O<r||s&&O>s)},Y=(()=>{const T=Ga(g,C);if(N>=1&&N<=T&&!z(N))return N;for(let O=1;O<=T;O++)if(!z(O))return O;return-1})(),U=[];for(let T=0;T<x4(g,C);T++)U.push(null);for(let T=1;T<=Ga(g,C);T++)U.push(T);const G=a===64?20:a===40?16:18,W=w4(g,(T,O)=>d("calendar.yearMonth",{year:T,month:O,defaultValue:"{{year}}\uB144 {{month}}\uC6D4"}),r,s),Z=`${g}-${String(C+1).padStart(2,"0")}`,P=v?Wt.createPortal(n.jsxs("div",{ref:A,id:y,className:"date-picker__dropdown",style:D,"data-tooltip-ignore":!0,role:"dialog","aria-label":d("datePicker.chooseDate","\uB0A0\uC9DC \uC120\uD0DD"),tabIndex:-1,children:[n.jsxs("div",{className:"date-picker__nav",children:[n.jsx("button",{type:"button",className:"date-picker__nav-btn",onClick:b,"aria-label":d("calendar.prevMonth","\uC774\uC804 \uB2EC"),children:n.jsx(Qo,{size:16,strokeWidth:2})}),n.jsx(tn,{className:"date-picker__nav-dropdown",ariaLabel:d("datePicker.selectYearMonth","\uC5F0\uC6D4 \uC120\uD0DD"),options:W,value:Z,onChange:T=>{const[O,R]=T.split("-");f(+O,+R-1)},block:!0,size:40}),n.jsx("button",{type:"button",className:"date-picker__nav-btn",onClick:_,"aria-label":d("calendar.nextMonth","\uB2E4\uC74C \uB2EC"),children:n.jsx(es,{size:16,strokeWidth:2})})]}),n.jsxs("div",{className:"date-picker__grid",ref:I,onKeyDown:S,children:[m.map(T=>n.jsx("div",{className:"date-picker__dow caption-1",children:T},T)),U.map((T,O)=>{if(T===null)return n.jsx("div",{},`e${O}`);const R=Ka(g,C,T),j=R===e,L=R===h,Q=z(T),J=O%7;return n.jsx("button",{type:"button",disabled:Q,"data-day":T,tabIndex:T===Y?0:-1,"aria-current":L?"date":void 0,onClick:()=>!Q&&F(T),className:Be("date-picker__day caption-1",j&&"date-picker__day--selected",L&&!j&&"date-picker__day--today",Q&&"date-picker__day--disabled",J===0&&"date-picker__day--sun",J===6&&"date-picker__day--sat"),children:T},T)})]})]}),document.body):null;return n.jsxs("div",{className:Be("date-picker",`date-picker--s${a}`,v&&"date-picker--open",c),children:[n.jsxs("button",{ref:B,type:"button",className:"date-picker__trigger body-2",onClick:()=>!i&&w(),disabled:i,"aria-haspopup":"true","aria-expanded":v,children:[n.jsx("span",{className:e?"date-picker__value":"date-picker__placeholder",children:e?_4(e):p}),n.jsx(cs,{size:G,className:"date-picker__icon",strokeWidth:1.5})]}),P]})}function no({items:e,className:t}){return n.jsx("div",{className:t?`manager-bar-chart-legend ${t}`:"manager-bar-chart-legend",children:e.map((a,r)=>n.jsxs("span",{className:"manager-bar-chart-legend-item",children:[n.jsx("span",{className:"manager-bar-chart-legend-dot",style:{background:a.color}}),a.label]},r))})}function Ya({label:e,children:t}){return e?n.jsxs("div",{className:"barchart-total barchart-total--stacked",children:[n.jsx("span",{className:"barchart-total__label body-3",children:e}),n.jsx("span",{className:"barchart-total__value",children:t})]}):n.jsx("div",{className:"barchart-total",children:t})}function ao({title:e,titleClassName:t="h3",headRight:a,subRow:r,className:s,inGrid:i=!1,children:l}){return n.jsxs("section",{className:["manager-section",i&&"manager-section--grid",s].filter(Boolean).join(" "),children:[n.jsxs("div",{className:"manager-section__head",children:[n.jsx("div",{className:t,children:e}),a]}),r&&n.jsx("div",{className:"barchart-sub-row",children:r}),l]})}function bn(e,t){const a=new Date(e,t,1).getDay();return 1+(8-(a===0?7:a))%7}function A4(){const e=Gn();let t=e.getFullYear(),a=e.getMonth(),r=e.getDate();if(r<bn(t,a)){const l=new Date(t,a,0);t=l.getFullYear(),a=l.getMonth(),r=l.getDate()}const s=Math.floor((r-bn(t,a))/7),i=`${t}\uB144 ${a+1}\uC6D4`;return{monthKey:i,value:`${i}#${s}`}}function B4(e){const t=Gn(),a=`${t.getFullYear()}\uB144 ${t.getMonth()+1}\uC6D4`,r=(u,d)=>`${u}\uB144 ${d+1}\uC6D4`,s=new Map;s.set(a,[]);for(const u of e){if(isNaN(u.date.getTime()))continue;const d=r(u.date.getFullYear(),u.date.getMonth());s.has(d)||s.set(d,[]),s.get(d).push(u)}for(const[u,d]of[...s.entries()]){const p=u.match(/^(\d+)년 (\d+)월$/);if(!p)continue;const m=Number(p[1]),h=Number(p[2])-1,g=bn(m,h);if(!(u===a&&t.getDate()<g)&&!d.some(_=>_.date.getDate()<g))continue;const C=new Date(m,h,0),b=r(C.getFullYear(),C.getMonth());s.has(b)||s.set(b,[])}const i=new Map;for(const[u,d]of s){const p=u.match(/^(\d+)년 (\d+)월$/);if(!p)continue;const m=Number(p[1]),h=Number(p[2])-1,g=new Date(m,h+1,0).getDate(),C=d.reduce((y,x)=>Math.max(y,x.parts?.length??0),0),b=new Array(g+1).fill(0),_=new Array(g+1).fill(0),f=Array.from({length:g+1},()=>new Array(C).fill(0));for(const y of d){const x=y.date.getDate();if(b[x]+=y.a,_[x]+=y.b,y.parts)for(let v=0;v<C;v++)f[x][v]+=y.parts[v]??0}i.set(u,{year:m,month:h,daysInMonth:g,partsLen:C,dayA:b,dayB:_,dayParts:f})}const l=(u,d,p)=>new Date(u,d,p).getTime()>new Date(t.getFullYear(),t.getMonth(),t.getDate()).getTime(),c={};for(const[u,d]of i){const{year:p,month:m,daysInMonth:h,dayA:g,dayB:C,dayParts:b}=d,_=p===t.getFullYear()&&m===t.getMonth(),f=t.getDate(),y=i.get(r(m===11?p+1:p,(m+1)%12)),x=d.partsLen,v=[];for(let w=1;w<=h;w++){const D=_&&w>f;v.push({label:String(w),a:D&&g[w]===0&&C[w]===0?-1:g[w],b:C[w],...x?{parts:b[w]}:{}})}const k=[];for(let w=bn(p,m);w<=h;w+=7){const D=Math.max(0,w+6-h),B=D&&y?Math.max(x,y.partsLen):x;let A=0,N=0;const M=new Array(B).fill(0);for(let $=w;$<=Math.min(w+6,h);$++){A+=g[$],N+=C[$];for(let V=0;V<x;V++)M[V]+=b[$][V]}if(D&&y)for(let $=1;$<=D&&!l(y.year,y.month,$);$++){A+=y.dayA[$],N+=y.dayB[$];for(let V=0;V<y.partsLen;V++)M[V]+=y.dayParts[$][V]}const I=D?`${(m+1)%12+1}/${D}`:`${w+6}`;k.push({label:`${k.length+1}\uC8FC`,sublabel:`[${w}\uC77C~${I}\uC77C]`,a:A,b:N,...B?{parts:M}:{}})}c[u]={weekly:k,daily:v}}return c}function Ml(){const e=Gn(),t=e.getFullYear(),a=e.getMonth()+1,r=[];for(let s=2024;s<=t;s++){const i=s===t?a:12;for(let l=1;l<=i;l++){const c=`${s}\uB144 ${l}\uC6D4`;r.push({value:c,label:c,year:s,month:l})}}return r.reverse()}Ml();function N4(){return Ml()}const Ll=["\uCCAB\uC9F8","\uB458\uC9F8","\uC14B\uC9F8","\uB137\uC9F8","\uB2E4\uC12F\uC9F8","\uC5EC\uC12F\uC9F8","\uC77C\uACF1\uC9F8"];function $l(e){const{t,i18n:a}=fe.useTranslation(),[r,s]=o.useState("week"),i=o.useMemo(()=>N4().filter(A=>A.value in e),[e]),l=o.useMemo(()=>{const A=[];for(const N of i){const M=new Date(N.year,N.month,0).getDate(),I=bn(N.year,N.month-1),$=Math.ceil((M-I+1)/7);for(let V=$-1;V>=0;V--)A.push({value:`${N.value}#${V}`,monthKey:N.value,year:N.year,month:N.month,week:V})}return A},[i]),c=o.useCallback(A=>{const N=t("calendar.yearMonth",{year:A.year,month:A.month});return a.language?.startsWith("ko")?`${N} ${Ll[A.week]??`${A.week+1}`}\uC8FC`:`${N} Week ${A.week+1}`},[t,a.language]),u=o.useMemo(()=>i.map(A=>({value:A.value,label:t("calendar.yearMonth",{year:A.year,month:A.month})})),[t,i]),d=o.useMemo(()=>l.map(A=>({value:A.value,label:c(A)})),[l,c]),p=o.useMemo(()=>A4(),[e]),m=o.useMemo(()=>i.find(A=>A.value===p.monthKey)?.value??i[0]?.value??"",[i,p]),h=o.useMemo(()=>l.find(A=>A.value===p.value)?.value??l[0]?.value??"",[l,p]),[g,C]=o.useState(""),[b,_]=o.useState("");o.useEffect(()=>{i.find(A=>A.value===g)||C(m)},[i,g,m]),o.useEffect(()=>{l.find(A=>A.value===b)||_(h)},[l,b,h]);const f=r==="month"?u:d,y=r==="month"?g:b,x=r==="month"?C:_,v=o.useMemo(()=>{const A=t("calendar.dow",{returnObjects:!0});return Array.isArray(A)?A:["\uC77C","\uC6D4","\uD654","\uC218","\uBAA9","\uAE08","\uD1A0"]},[t]),k=f.findIndex(A=>A.value===y),w=o.useCallback(()=>{const A=f.findIndex(N=>N.value===y);A<f.length-1&&x(f[A+1].value)},[f,y,x]),D=o.useCallback(()=>{const A=f.findIndex(N=>N.value===y);A>0&&x(f[A-1].value)},[f,y,x]),B=o.useMemo(()=>[{key:"week",label:t("manager.chart.periodWeek","\uC8FC")},{key:"month",label:t("manager.chart.periodMonth","\uC6D4")}],[t]);return{period:r,setPeriod:s,range:y,setRange:x,activeOptions:f,activeIdx:k,handlePrev:w,handleNext:D,periodOptions:B,monthRange:g,weekRange:b,weekRanges:l,DOW:v}}const nn=e=>typeof e=="number"&&Number.isFinite(e)?e:0;function D4({data:e,colorA:t,colorB:a,labelA:r,labelB:s,barWidth:i=10,height:l=140,maxOverride:c,tightMax:u,seriesColors:d,seriesLabels:p,rateLabels:m}){const h=!a,g=!!(d&&d.length>0),C=o.useMemo(()=>g?Math.max(0,...e.filter(B=>B.a!==-1).map(B=>(B.parts??[]).reduce((A,N)=>A+Math.max(0,nn(N)),0))):Math.max(0,...e.filter(B=>B.a!==-1).flatMap(B=>h?[nn(B.a)]:[nn(B.a),nn(B.b)])),[e,h,g]),b=o.useMemo(()=>c??(u?C>0?C:10:Math.ceil(C/10)*10||10),[C,c,u]),_=l,f=g||h?1:2,y={"--bar-width":`${o.useMemo(()=>{const B=Math.max(1,e.length);return Math.max(2,Math.min(i,Math.round(120/(B*f)+6)))},[e.length,f,i])}px`},x=o.useMemo(()=>{const B=Math.round(b/2);return B!==b?[b,B,0]:[b,0]},[b]),[v,k]=o.useState(null),w=o.useCallback(()=>k(null),[]),D=v!=null;return o.useEffect(()=>{if(!D)return;const B=()=>k(null),A=N=>{const M=N.target;M&&typeof M.closest=="function"&&M.closest(".manager-bar-chart-col")||k(null)};return window.addEventListener("scroll",B,!0),document.addEventListener("pointerdown",A,!0),()=>{window.removeEventListener("scroll",B,!0),document.removeEventListener("pointerdown",A,!0)}},[D]),n.jsxs("div",{className:"manager-bar-chart-wrap",children:[n.jsx("div",{className:"manager-bar-chart-inner",children:n.jsx("div",{className:"manager-bar-chart-scroll",children:n.jsxs("div",{className:"manager-bar-chart-area",children:[n.jsxs("div",{className:"manager-bar-chart-plot",style:{height:_},children:[x.slice(0,-1).map((B,A)=>n.jsx("div",{className:"manager-bar-chart-gridline",style:{top:(1-B/b)*_},children:n.jsx("span",{className:"manager-bar-chart-gridline__label caption-1",children:B})},A)),e.map((B,A)=>{const N=B.a===-1,M=S=>Math.min(_,Math.max(0,nn(S)/b*_)),I=N?0:M(B.a),$=N?0:M(B.b),V=(B.parts??[]).map(nn);return n.jsx("div",{className:"manager-bar-chart-col",style:{cursor:N?"default":"pointer"},onMouseEnter:N?void 0:S=>{const F=S.currentTarget.getBoundingClientRect(),z=[B.label,B.sublabel].filter(Boolean).join(" ");let Y;if(g){const U=(p??[]).map((W,Z)=>({text:`${W}: ${V[Z]??0}`,color:(d??[])[Z]})),G=U.filter((W,Z)=>(V[Z]??0)>0);Y=G.length?G:U}else m&&!h?Y=[{text:`${r} ${nn(B.a)}%`,color:t},{text:`${s} ${nn(B.b)}%`,color:a}]:m&&B.rawB!==void 0?Y=[{text:`${m.total} ${B.rawB}`},{text:`${m.done} ${B.rawA??0}`,color:t}]:h?Y=[{text:`${r}: ${nn(B.a)}`,color:t}]:Y=[{text:`${r}: ${nn(B.a)}`,color:t},{text:`${s}: ${nn(B.b)}`,color:a}];k({rect:{left:F.left,top:F.top,right:F.right,bottom:F.bottom,width:F.width,height:F.height},title:z,items:Y})},onMouseLeave:w,children:!N&&(g?n.jsx("div",{className:"manager-bar-chart-stack",style:y,children:(()=>{const S=V.reduce((z,Y,U)=>Y>0?U:z,-1);let F=_;return V.map((z,Y)=>{if(z<=0)return null;const U=Math.min(F,z/b*_);return F-=U,n.jsx("div",{className:"manager-bar-chart-stack-segment",style:{height:U,background:(d??[])[Y],borderRadius:Y===S?"6px 6px 0 0":void 0}},Y)})})()}):n.jsxs(n.Fragment,{children:[n.jsx("div",{className:"manager-bar-chart-bar",style:{...y,height:I,background:t}}),!h&&n.jsx("div",{className:"manager-bar-chart-bar",style:{...y,height:$,background:a}})]}))},A)})]}),n.jsx("div",{className:"manager-bar-chart-x-axis",children:e.map((B,A)=>{const N=B.a===-1;return n.jsxs("span",{className:`manager-bar-chart-x-axis__label${N?" manager-bar-chart-x-axis__label--future":""}`,children:[n.jsxs("span",{className:"caption-1 manager-bar-chart-x-axis__main",children:[B.isToday&&n.jsx("span",{className:"manager-bar-chart-x-axis__today-dot",style:{background:t}}),B.label]}),B.sublabel&&n.jsx("span",{className:"caption-1",children:B.sublabel})]},A)})})]})})}),v&&n.jsx(Pn,{anchorRect:v.rect,title:v.title,items:v.items,showIndex:!1,closeOnOutsideClick:!1})]})}function Rl({control:e}){const{t}=fe.useTranslation(),{activeOptions:a,activeIdx:r,range:s,setRange:i,handlePrev:l,handleNext:c,periodOptions:u,period:d,setPeriod:p}=e,m=d==="week"?t("calendar.prevWeek","\uC774\uC804 \uC8FC"):t("calendar.prevMonth","\uC774\uC804 \uB2EC"),h=d==="week"?t("calendar.nextWeek","\uB2E4\uC74C \uC8FC"):t("calendar.nextMonth","\uB2E4\uC74C \uB2EC");return n.jsxs("div",{className:"manager-section-controls",children:[n.jsx(ce,{htmlType:"button",size:32,type:"dot",icon:"chevron-left",ariaLabel:m,showTooltipInfo:m,disabled:r===a.length-1,onClick:l}),n.jsx(tn,{value:s,onChange:i,options:a,size:40,className:"month-dropdown",ariaLabel:t("calendar.rangeSelect","\uAE30\uAC04 \uC120\uD0DD")}),n.jsx(ce,{htmlType:"button",size:32,type:"dot",icon:"chevron-right",ariaLabel:h,showTooltipInfo:h,disabled:r<=0,onClick:c}),n.jsx(Hn,{ariaLabel:t("calendar.periodSelect","\uAE30\uAC04 \uB2E8\uC704"),options:u,value:d,onChange:g=>p(g),size:32})]})}function Pl(e,t,a){const r=new Date(a.getFullYear(),a.getMonth(),a.getDate());return Array.from({length:7},(s,i)=>{const l=new Date(t);l.setDate(t.getDate()+i);const c=(e[`${l.getFullYear()}\uB144 ${l.getMonth()+1}\uC6D4`]?.daily??[])[l.getDate()-1],u=c?.a===-1||l>r;return{dt:l,entry:c,isFuture:u}})}function S4(e,t,a,r){const{period:s,monthRange:i,weekRange:l,weekRanges:c,DOW:u}=t,d=r?.startsWith("ko"),p=Gn(),m=p.getFullYear(),h=p.getMonth()+1,g=p.getDate();if(s==="month"){const _=e[i]??{weekly:[],daily:[]},f=i.match(/^(\d+)년 (\d+)월$/),y=f?Number(f[1]):null,x=f?Number(f[2]):null,v=y&&x?bn(y,x-1):1;return _.weekly.map((k,w)=>{const D=w+1;let B=k.label,A=!1,N=!1;if(y&&x){const M=v+w*7,I=new Date(y,x-1,M+6),$=I.getMonth()+1,V=I.getDate(),S=$===x?`${V}`:`${$}/${V}`;B=a("manager.chart.weekRange",{start:M,end:S});const F=new Date(m,h-1,g).getTime();A=F>=new Date(y,x-1,M).getTime()&&F<=I.getTime(),N=y>m||y===m&&(x>h||x===h&&M>g)}return{...k,label:B,sublabel:d?`${Ll[D-1]??D}\uC8FC`:`Week ${D}`,isToday:A,a:N?-1:k.a,b:N?0:k.b}})}const C=c.find(_=>_.value===l);if(!C)return[];const b=new Date(C.year,C.month-1,bn(C.year,C.month-1)+C.week*7);return Pl(e,b,p).map(({dt:_,entry:f,isFuture:y})=>{const x=_.getMonth()+1,v=_.getDate(),k=_.getFullYear();return{label:x===C.month&&k===C.year?`${v}`:`${x}/${v}`,sublabel:u[_.getDay()]??"",a:y?-1:f&&f.a>0?f.a:0,b:y?0:f&&f.b>0?f.b:0,isToday:k===m&&x===h&&v===g,...f?.parts?{parts:y?f.parts.map(()=>0):f.parts}:{}}})}const E4={small:{height:100,barWidth:16},medium:{height:140,barWidth:20},large:{height:180,barWidth:24}};function T4({size:e="medium",barWidth:t,titleKey:a,data:r,colorA:s,colorB:i,labelAKey:l,labelBKey:c,showTotal:u=!1,totalUnitKey:d,totalLabelKey:p,control:m,hideControls:h=!1,rate:g=!1,tightMax:C=!1,avgMode:b=!1,totalFormat:_,series:f,loading:y=!1,onDetail:x,inGrid:v=!1}){const{t:k,i18n:w}=fe.useTranslation(),D=E4[e],B=$l(r),A=m??B,N=o.useMemo(()=>S4(r,A,k,w.language),[r,A,k,w.language]),M=o.useMemo(()=>{if(!g)return N;const S=A.period==="month"?A.monthRange.match(/^(\d+)년 (\d+)월$/):null,F=Gn();return N.map((z,Y)=>{let U=z.a===-1?-1:z.b>0?Math.round(z.a/z.b*100):0;if(S&&z.a!==-1){const G=Number(S[1]),W=Number(S[2])-1,Z=Pl(r,new Date(G,W,bn(G,W)+Y*7),F).filter(P=>!P.isFuture);U=Z.length?Math.round(Z.reduce((P,{entry:T})=>P+(T&&T.b>0?T.a/T.b*100:0),0)/Z.length):0}return{...z,a:U,b:z.a===-1?0:c&&z.parts&&z.parts[1]>0?Math.round(z.parts[0]/z.parts[1]*100):0,rawA:z.a===-1?-1:z.a,rawB:z.b}})},[N,g,c,A.period,A.monthRange,r]),I=o.useMemo(()=>{if(g||b){const S=(A.period==="week"?N:r[A.monthRange]?.daily??[]).filter(z=>z.a!==-1);if(S.length===0)return 0;const F=g?S.reduce((z,Y)=>z+(Y.b>0?Y.a/Y.b*100:0),0):S.reduce((z,Y)=>z+(Y.a>0?Y.a:0),0);return Math.round(F/S.length)}return(A.period==="month"?r[A.monthRange]?.daily??[]:M).reduce((S,F)=>S+(F.a>0?F.a:0)+(c&&F.b>0?F.b:0),0)},[M,N,g,b,c,A.period,A.monthRange,r]),$=f&&f.length>0?f.map(S=>({color:S.color,label:S.label})):[{color:s,label:k(l)},...c?[{color:i,label:k(c)}]:[]],V=e==="small";return n.jsx(ao,{className:V?"manager-section--compact":e==="large"?"manager-section--full":void 0,inGrid:v,title:k(a),titleClassName:V?"h5 chart-section-title--small":void 0,headRight:V?void 0:n.jsxs(n.Fragment,{children:[!h&&n.jsx(Rl,{control:A}),x&&n.jsx("span",{className:"manager-bar-chart-detail-btn",children:n.jsx(ce,{htmlType:"button",size:32,type:"dot",icon:"list",ariaLabel:k("trainingStatus.detail","\uC0C1\uC138\uBCF4\uAE30"),onClick:x})})]}),subRow:n.jsxs(n.Fragment,{children:[u?g||b||p&&_?n.jsx(Ya,{label:V?void 0:`${k(A.period==="week"?"manager.chart.weeklyPrefix":"manager.chart.monthlyPrefix")} ${k(p??l)}`,children:_?(_(I).match(/(\d+|[^\d]+)/g)??[]).map((S,F)=>/\d/.test(S)?n.jsx("span",{className:"barchart-total__num h0",children:S},F):n.jsx("span",{className:"barchart-total__unit h5",children:S},F)):n.jsxs(n.Fragment,{children:[n.jsx("span",{className:"barchart-total__num h0",children:I}),d&&n.jsx("span",{className:"barchart-total__unit h5",children:k(d)})]})}):n.jsxs(Ya,{children:[n.jsx("span",{className:"barchart-total__num h0",children:I}),n.jsx("span",{className:"barchart-total__unit h5",children:k(l)}),d&&n.jsx("span",{className:"barchart-total__unit h5",children:k(d)})]}):n.jsx("span",{}),n.jsx(no,{items:$,className:"caption-1"})]}),children:y?n.jsx("div",{className:"manager-bar-chart-loading",children:n.jsx(Ba,{size:32})}):n.jsx(D4,{data:M,colorA:s,colorB:c?i:void 0,labelA:k(l),labelB:c?k(c):void 0,barWidth:t??D.barWidth,height:D.height,maxOverride:g?100:void 0,tightMax:C,seriesColors:f?.map(S=>S.color),seriesLabels:f?.map(S=>S.label),rateLabels:g?{total:k("trainingStatus.today.tooltipTotal","\uC804\uCCB4"),done:k("trainingStatus.today.tooltipDone","\uC644\uB8CC")}:void 0})})}const Il=(e,t,a)=>{const r=new Date(Date.UTC(e,t,a));return`${r.getUTCFullYear()}-${String(r.getUTCMonth()+1).padStart(2,"0")}-${String(r.getUTCDate()).padStart(2,"0")}`},Fl=(e,t,a,r)=>({from:ti(e,t,a),to:new Date(ti(e,t,a+r).getTime()-1),fromYmd:Il(e,t,a),toYmd:Il(e,t,a+r-1)});function j4(e,t=0){if(e.period==="month"){const s=e.monthRange.match(/^(\d+)년 (\d+)월$/),i=Gn(),l=s?Number(s[1]):i.getFullYear(),c=(s?Number(s[2]):i.getMonth()+1)-1+t,u=new Date(Date.UTC(l,c+1,0)).getUTCDate();return Fl(l,c,1,u)}const a=e.weekRanges.find(s=>s.value===e.weekRange);if(!a){const s=new Date,i=Ca();return{from:s,to:s,fromYmd:i,toYmd:i}}const r=bn(a.year,a.month-1);return Fl(a.year,a.month-1,r+(a.week+t)*7,7)}const Ol={small:{diameter:96,strokeWidth:16},medium:{diameter:120,strokeWidth:18},large:{diameter:160,strokeWidth:22}};function Hl(e){return!Number.isFinite(e)||e<=0?0:e>=1?100:Math.min(99,Math.max(1,Math.round(e*100)))}function Vl({done:e,total:t,segments:a,color:r="var(--color-main)",size:s="medium",strokeWidth:i,label:l="%",hideCenter:c=!1,hideLabel:u=!1}){const d=typeof s=="number"?s:Ol[s].diameter,p=i??(typeof s=="number"?12:Ol[s].strokeWidth),m=d/2,h=(d-p)/2,g=2*Math.PI*h;if(a&&a.length>0){const f=a.reduce((y,x)=>{const v=y.length>0?y[y.length-1].acc:0,k=Number.isFinite(x.ratio)?x.ratio:0,w=Math.max(0,Math.min(k,1-v));return y.push({color:x.color,rotate:-90+v*360,dash:g*w,acc:v+w}),y},[]);return n.jsx("div",{className:"ring-chart",style:{width:d,height:d},children:n.jsxs("svg",{width:d,height:d,viewBox:`0 0 ${d} ${d}`,"aria-hidden":"true",children:[n.jsx("circle",{cx:m,cy:m,r:h,fill:"none",stroke:"var(--color-whiteLine)",strokeWidth:p}),f.map((y,x)=>y.dash>0&&n.jsx("circle",{cx:m,cy:m,r:h,fill:"none",stroke:y.color,strokeWidth:p,strokeDasharray:`${y.dash} ${g}`,strokeLinecap:"round",transform:`rotate(${y.rotate} ${m} ${m})`},x))]})})}const C=(t??0)>0?Math.min((e??0)/t,1):0,b=g*C,_=g-b;return n.jsxs("div",{className:"ring-chart",style:{width:d,height:d},children:[n.jsxs("svg",{width:d,height:d,viewBox:`0 0 ${d} ${d}`,"aria-hidden":"true",children:[n.jsx("circle",{cx:m,cy:m,r:h,fill:"none",stroke:"var(--color-whiteLine)",strokeWidth:p}),C>0&&n.jsx("circle",{cx:m,cy:m,r:h,fill:"none",stroke:r,strokeWidth:p,strokeDasharray:`${b} ${_}`,strokeLinecap:C<.02||C>.98?"butt":"round",transform:`rotate(-90 ${m} ${m})`})]}),!c&&n.jsxs("div",{className:`ring-chart__center${u?"":` ${d<=96?"ring-chart__center--small":s==="medium"?"ring-chart__center--medium":"ring-chart__center--large"}`}`,children:[n.jsx("span",{className:`ring-chart__pct ${d<=96?"h2":"h1"}`,children:Hl(C)}),!u&&n.jsx("span",{className:`ring-chart__label ${d<=96?"caption-2":"caption-1"}${d<=96||s==="medium"?" ring-chart__label--tight":""}`,children:l})]})]})}function M4({titleKey:e,headRight:t,icon:a,showTotal:r,totalLabelKey:s,legend:i,loading:l,className:c,inGrid:u=!1,...d}){const{t:p}=fe.useTranslation();if(!e)return n.jsx(Vl,{...d});const m=(d.total??0)>0?Hl(Math.min((d.done??0)/d.total,1)):0,h=d.size==="small",g=d.size==="large",C=[c,h?"manager-section--compact":g?"manager-section--full":""].filter(Boolean).join(" ")||void 0,b=a&&n.jsx("span",{className:"chart-section-icon",children:n.jsx(Ge,{icon:a,className:"chart-section-icon-inner"})});return n.jsx(ao,{className:C,inGrid:u,title:p(e),titleClassName:h?"h5 chart-section-title--small":void 0,headRight:b||(h?void 0:t),subRow:(r||i)&&n.jsxs(n.Fragment,{children:[r?n.jsxs(Ya,{label:!h&&s?p(s):void 0,children:[n.jsx("span",{className:"barchart-total__num h0",children:m}),n.jsx("span",{className:"barchart-total__unit h5",children:"%"})]}):n.jsx("span",{}),i&&n.jsx(no,{items:i})]}),children:l?n.jsx("div",{className:"manager-bar-chart-loading",children:n.jsx(Ba,{size:32})}):n.jsx("div",{className:"ring-chart-section-body ring-chart-section-body--offset",children:n.jsx(Vl,{...d,hideCenter:d.hideCenter??h})})})}function L4({label:e,value:t,change:a,changeType:r,icon:s,tooltip:i,onClick:l}){const c=o.useRef(null),{anchorRect:u,openAt:d,close:p}=za(),m=o.useCallback(()=>{i&&c.current&&d(c.current)},[i,d]),h=r??(a===void 0?void 0:a>0?"up":a<0?"down":"neutral"),g=a===void 0?void 0:a>0?`+${a}`:`${a}`,C=o.useCallback(b=>{l&&(b.key==="Enter"||b.key===" ")&&(b.preventDefault(),l())},[l]);return n.jsxs("div",{ref:c,className:`manager-stat-card${l?" manager-stat-card--clickable":""}`,onClick:l,onKeyDown:l?C:void 0,onPointerEnter:m,onPointerLeave:p,onFocus:m,onBlur:p,role:l?"button":void 0,tabIndex:l?0:void 0,"aria-label":l?[e,t,g].filter(b=>b!==void 0&&b!=="").join(" "):void 0,children:[i&&u&&n.jsx(Bn,{anchorRect:{left:u.left,top:u.top+21,right:u.right,bottom:u.bottom,width:u.width,height:u.height},text:i}),n.jsxs("div",{className:"manager-stat-card__label-row",children:[n.jsx("span",{className:"manager-stat-card__label h5",children:e}),s&&n.jsx("span",{className:"manager-stat-card__icon",children:n.jsx(Ge,{icon:s,className:"manager-stat-card__icon-inner"})})]}),n.jsx("div",{className:"manager-stat-card__content",children:n.jsxs("div",{className:"manager-stat-card__left",children:[n.jsx("div",{className:"manager-stat-card__value h2",children:t}),g&&n.jsx("div",{className:`manager-stat-card__change manager-stat-card__change--${h??"neutral"} caption-1`,children:g})]})})]})}function zl({value:e,onChange:t,min:a=0,max:r=100,step:s=1,orientation:i="horizontal",size:l=24,disabled:c=!1,ariaLabel:u,length:d,className:p,label:m,formatValue:h,labelPos:g,labelAlign:C="right",showMinMax:b=!1,minLabel:_,maxLabel:f,showBgTick:y=!1,showFillTick:x=!1,tickStep:v,tickShape:k="dot"}){t&&!u&&jn("Slider:unnamed","[ihab/Slider] \uC774\uB984\uC774 \uC5C6\uC2B5\uB2C8\uB2E4 \u2014 ariaLabel \uC744 \uC8FC\uC138\uC694. label prop \uC740 \uAC12 \uD45C\uAE30 \uBC29\uC2DD\uC774\uC9C0 \uC774\uB984\uC774 \uC544\uB2D9\uB2C8\uB2E4.");const w=Math.min(r,Math.max(a,e)),D=r>a?(w-a)/(r-a):0,B=i==="vertical",A=!t,N=T=>t?.(Number(T.target.value)),M=typeof d=="number"?`${d}px`:d,I={"--slider-ratio":String(D),"--slider-thumb":`${l}px`,...M?B?{height:M}:{width:M}:{}},$=v??s,V=(y||x)&&$>0&&r>a?Math.floor((r-a)/$+1e-6):0;if(V>0&&V<=100){const T=k!=="dash",O=J=>T?`radial-gradient(circle, ${J} 0.5px, transparent 1px)`:B?`linear-gradient(to bottom, transparent calc(50% - 2px), ${J} calc(50% - 2px), ${J} calc(50% + 2px), transparent calc(50% + 2px))`:`linear-gradient(to right, transparent calc(50% - 2px), ${J} calc(50% - 2px), ${J} calc(50% + 2px), transparent calc(50% + 2px))`,R=T?"2px":"4px",j=[],L=[],Q=[];for(let J=0;J<=V;J++){const oe=J*$/(r-a);if(oe>1+1e-6)break;const ge=`${((B?1-oe:oe)*100).toFixed(4)}%`,Me=oe<=D+1e-6;if(Me?!x:!y)continue;const Ne=Me?"var(--slider-tick-color-on-fill, var(--color-deepWhite))":"var(--slider-tick-color, var(--color-lightGray))";j.push(O(Ne)),L.push(B?`${R} var(--slider-thumb)`:`var(--slider-thumb) ${R}`),Q.push(B?`center ${ge}`:`${ge} center`)}j.push(B?"linear-gradient(to top, var(--slider-fill-color) var(--slider-fill), var(--color-darkWhite) var(--slider-fill))":"linear-gradient(to right, var(--slider-fill-color) var(--slider-fill), var(--color-darkWhite) var(--slider-fill))"),L.push("100% 100%"),Q.push("0 0"),I.backgroundImage=j.join(", "),I.backgroundSize=L.join(", "),I.backgroundPosition=Q.join(", "),I.backgroundRepeat="no-repeat"}const S=h?h(w):m==="percent"?`${Math.round(r>a?(w-a)/(r-a)*100:0)}%`:m==="count"?`${w} / ${r}`:w===a&&_?_:w===r&&f?f:void 0,F=n.jsx("input",{type:"range",className:Be("slider",`slider--${i}`,A&&"slider--static",!m&&!b&&p),min:a,max:r,step:s,value:w,disabled:c,readOnly:A,tabIndex:A?-1:void 0,"aria-label":u,"aria-valuetext":S,"aria-orientation":i,onChange:N,style:I});if(!m&&!b)return F;const z=n.jsx("span",{className:"slider-wrap__minmax caption-1",children:_??a}),Y=n.jsx("span",{className:"slider-wrap__minmax caption-1",children:f??r}),U=b?n.jsxs("div",{className:Be("slider-track-group",`slider-track-group--${i}`,!m&&p),children:[B?Y:z,F,B?z:Y]}):F;if(!m)return U;const G=g??(B?"bottom":"right"),W=`${Math.round(r>a?(w-a)/(r-a)*100:0)}%`,Z=h?h(w):m==="percent"?W:m==="count"?`${w} / ${r}`:String(w),P=n.jsx("span",{className:"slider-wrap__value body-3b",children:Z});return n.jsxs("div",{className:Be("slider-wrap",`slider-wrap--${i}`,`slider-wrap--label-${G}`,`slider-wrap--align-${C}`,p),children:[U,P]})}const $4=.86,R4=250,ro=(e,t,a,r)=>Math.round(Math.min(r,Math.max(a,e-t))),oo=(e,t,a,r)=>{const s=ro(e,t,a,r);return`${s<0?"-":"+"}${Math.abs(s)} dB`};function so({analyser:e,audioElement:t,orientation:a="horizontal",length:r,label:s,labelPos:i,labelAlign:l="right",floorDb:c=-60,refDb:u=-35,displayMin:d=-5,displayMax:p=25,className:m,ariaLabel:h}){const g=o.useRef(null),C=o.useRef(null),b=o.useRef(null),_=o.useRef(null),[f,y]=o.useState(null);o.useEffect(()=>{const w=F=>{const z=oo(F,u,d,p);b.current&&(b.current.textContent=z);const Y=g.current;Y&&(Y.setAttribute("aria-valuenow",String(ro(F,u,d,p))),Y.setAttribute("aria-valuetext",z))},D=e??z0(t)??(f&&f.el===t?f.node:null),B=C.current;if(!D||!B){B?.style.setProperty("--meter-level","0"),w(c);let F=!1;return!e&&t&&La(t).then(z=>{!F&&z&&y({el:t,node:z})}),()=>{F=!0}}Dr();const A=new Float32Array(D.fftSize);let N=0,M=0,I=0,$=0,V=null;const S=F=>{const z=W0(D,A);N=z>N?z:N*$4;const Y=N>1e-5?20*Math.log10(N):-1/0,U=Math.max(c,Y),G=U-u,W=Math.min(1,Math.max(0,(G-d)/(p-d)));if(B.style.setProperty("--meter-level",W.toFixed(3)),M+=U,I+=1,F-$>=R4){const Z=M/I;V=V==null?Z:V*.6+Z*.4,w(V),M=0,I=0,$=F}_.current=requestAnimationFrame(S)};return _.current=requestAnimationFrame(S),()=>{_.current!=null&&cancelAnimationFrame(_.current),_.current=null}},[e,t,f,c,u,d,p]);const x=typeof r=="number"?`${r}px`:r,v=n.jsx("div",{className:"audio-meter__track",style:x?a==="vertical"?{height:x}:{width:x}:{},children:n.jsx("div",{ref:C,className:"audio-meter__fill"})}),k=i??(a==="vertical"?"bottom":"right");return n.jsxs("div",{ref:g,className:Be("audio-meter",`audio-meter--${a}`,s&&`audio-meter--label-${k}`,s&&`audio-meter--align-${l}`,m),role:"meter","aria-label":h,"aria-valuemin":d,"aria-valuemax":p,"aria-valuenow":ro(c,u,d,p),"aria-valuetext":oo(c,u,d,p),children:[v,s&&n.jsx("span",{ref:b,className:"audio-meter__value caption-2",children:oo(c,u,d,p)})]})}const Wl=260;function ql({message:e,position:t,duration:a,onClose:r}){const[s,i]=o.useState(!1),[l,c]=o.useState(!1),u=o.useRef(l),d=o.useRef(s);o.useEffect(()=>{u.current=l},[l]),o.useEffect(()=>{d.current=s},[s]);const p=o.useRef(null),m=o.useRef(""),h=o.useRef(r);o.useEffect(()=>{h.current=r});const g=a,C=o.useRef(null),b=o.useRef(0),_=o.useRef(0),f=o.useRef(!1),y=o.useRef(null),x=o.useRef(null),v=o.useRef(null),k=o.useRef(null),w=o.useRef(()=>{});w.current=A=>{A<0||(b.current=Date.now(),_.current=A,C.current=setTimeout(()=>{C.current=null,i(!1),y.current=setTimeout(()=>{c(!1);try{h.current()}catch{}},Wl)},A))};const D=o.useCallback(()=>{f.current||!C.current||(f.current=!0,clearTimeout(C.current),C.current=null,_.current=Math.max(0,_.current-(Date.now()-b.current)))},[]),B=o.useCallback(()=>{f.current&&(f.current=!1,w.current(_.current))},[]);return o.useEffect(()=>{if(e!==m.current&&(C.current&&(clearTimeout(C.current),C.current=null),y.current&&(clearTimeout(y.current),y.current=null)),e){if(d.current)return g>0&&!C.current&&(f.current?_.current=g:w.current(g)),m.current=e,()=>{C.current&&(clearTimeout(C.current),C.current=null),y.current&&(clearTimeout(y.current),y.current=null)};const A=()=>{const N=p.current;if(N)try{N.classList.remove("is-visible"),N.style.transition="none",t==="top"?N.style.transform="translateX(-50%) translateY(-16px)":N.style.transform="translateX(-50%) translateY(16px)",N.style.opacity="0",N.offsetWidth,N.style.transition="",N.classList.add("is-visible"),k.current&&clearTimeout(k.current),k.current=setTimeout(()=>{k.current=null;try{N.style.opacity="",N.style.transform="",N.style.transition=""}catch{}},60)}catch{}};u.current?(A(),i(!0)):(c(!0),x.current=requestAnimationFrame(()=>{v.current=requestAnimationFrame(()=>{A(),i(!0)})})),g>0&&(f.current=!1,w.current(g))}else i(!1),y.current=setTimeout(()=>c(!1),Wl);return m.current=e,()=>{C.current&&clearTimeout(C.current),y.current&&clearTimeout(y.current),x.current&&cancelAnimationFrame(x.current),v.current&&cancelAnimationFrame(v.current),k.current&&clearTimeout(k.current),C.current=null,y.current=null,x.current=null,v.current=null,k.current=null}},[e,g,t]),{mounted:l,showing:s,popupRef:p,pause:D,resume:B}}function ea({message:e="",position:t="top",type:a="normal",onClose:r=()=>{},duration:s=2e3}){const{mounted:i,showing:l,popupRef:c,pause:u,resume:d}=ql({message:e,position:t,duration:s,onClose:r}),p=o.useRef(null),[m,h]=o.useState(!1);if(o.useEffect(()=>{l?h(!0):i||h(!1)},[l,i]),!i)return null;const g=a==="notice"||a==="warning"?a:"normal",C=n.jsx("div",{ref:c,className:`toast toast--${t} ${l?"is-visible":""}`,role:"status","aria-live":"polite",onPointerEnter:b=>{p.current=b.pointerType},onMouseEnter:()=>{p.current!=="touch"&&u()},onMouseLeave:d,onFocusCapture:u,onBlurCapture:d,children:n.jsx("div",{className:`toast__inner toast__inner--${g} body-2`,"aria-hidden":m||l?void 0:!0,children:e})});return typeof document<"u"?Wt.createPortal(C,document.body):C}const P4=24;function I4({value:e,max:t=100,size:a=8,color:r,trackColor:s,label:i,formatValue:l,labelPos:c,labelAlign:u="right",ariaLabel:d,className:p}){const m=Number.isFinite(t)&&t>0?t:1,h=Math.max(0,Math.min(Number.isFinite(e)?e:0,m)),g=h/m*100,C=Number.isFinite(t)&&t>0?t:0,b=c??(a>=P4?"inside":"bottom"),_=b==="center"?"inside":b,f=_==="inside"&&(u==="left"?g>=15:u==="center"?g>=50:g>=85),y={};return r&&(y["--progress-bar-fill"]=r),s&&(y["--progress-bar-track"]=s),n.jsxs("div",{className:Be("progress-bar",`progress-bar--${a}`,`progress-bar--label-${_}`,i&&`progress-bar--align-${u}`,i&&f&&"progress-bar--label-on-fill",p),style:y,children:[n.jsx("div",{className:"progress-bar__track",role:"progressbar","aria-valuenow":h,"aria-valuemin":0,"aria-valuemax":C,"aria-valuetext":i?l?l(h):i==="percent"?void 0:i==="raw"?String(h):`${h} / ${C}`:void 0,"aria-label":d,children:n.jsx("div",{className:"progress-bar__fill",style:{width:`${g}%`}})}),i&&n.jsx("span",{className:"progress-bar__label caption-1b",children:l?l(h):i==="percent"?`${Math.round(g)}%`:i==="raw"?String(h):`${h} / ${C}`})]})}const Ul={position:"absolute",width:1,height:1,margin:-1,padding:0,overflow:"hidden",clipPath:"inset(50%)",whiteSpace:"nowrap",border:0},F4="rgba(255, 255, 255, 0.16)";function Gl({max:e,index:t,inactiveBg:a,inactiveColor:r,transparent:s,variant:i="numbered",announce:l=!1,ariaLabel:c}){const{t:u}=fe.useTranslation(),d=en("(max-width: 767px)");if(!Number.isInteger(e)||e<=0)return null;const p=Number.isInteger(t)?Math.max(0,Math.min(t,e-1)):0,m=c??u("progress.steps",{current:p+1,total:e,defaultValue:"\uC9C4\uD589 \uB2E8\uACC4 {{current}} / {{total}}"}),h={};if(a&&(h["--pi-inactive-bg"]=a),r&&(h["--pi-inactive-color"]=r),s&&(a||(h["--pi-inactive-bg"]=F4),r||(h["--pi-inactive-color"]="var(--color-white)")),i==="dot")return n.jsxs("div",{className:"progress-indicator progress-indicator--dot",style:h,role:l?"status":"img","aria-label":l?void 0:m,children:[l&&n.jsx("span",{style:Ul,children:m}),Array.from({length:e}).map((C,b)=>n.jsx("span",{"aria-hidden":"true",className:`progress-indicator-dot--dot${b<p?" done":b===p?" active":""}`},b))]});const g=l?n.jsx("span",{role:"status",style:Ul,children:m}):null;return d?n.jsxs(n.Fragment,{children:[n.jsx("div",{className:"progress-indicator progress-indicator--mobile",style:h,role:"list","aria-label":m,children:n.jsxs("span",{role:"listitem",className:"progress-indicator-dot active body-3",children:[p+1," / ",e]})}),g]}):n.jsxs(n.Fragment,{children:[g,n.jsx("div",{className:"progress-indicator",style:h,role:"list","aria-label":m,children:Array.from({length:e}).map((C,b)=>n.jsx("span",{role:"listitem","aria-current":b===p?"step":void 0,className:`progress-indicator-dot ${b<p?" done":b===p?" active":""} body-3`,children:b+1},b))})]})}function O4(e){if(!e)return[];const t=[];let a=0,r="";for(const s of e.trim()){if(s==="("?a++:s===")"&&a--,/\s/.test(s)&&a===0){r&&(t.push(r),r="");continue}r+=s}return r&&t.push(r),t}function H4({children:e,className:t,style:a}){return n.jsx("div",{className:t?`table-cell ${t}`:"table-cell",style:a,children:e})}function io({variant:e="default",children:t,className:a,draggable:r,onClick:s,onMouseEnter:i,onMouseLeave:l,onDragStart:c,onDragEnd:u,expandedContent:d}){const p=o.useCallback(m=>{s&&m.target===m.currentTarget&&(m.key==="Enter"||m.key===" ")&&(m.preventDefault(),s())},[s]);return e==="loading"?n.jsx("div",{className:"table-row-wrap",children:n.jsx("div",{className:"table-row table-row--loading",children:n.jsx(Ba,{size:28})})}):e==="empty"?n.jsx("div",{className:"table-row-wrap",children:n.jsx("div",{className:"table-row table-row--empty body-3",children:t})}):n.jsxs("div",{className:"table-row-wrap",children:[n.jsx("div",{className:a?`table-row ${a}`:"table-row",draggable:r,onClick:s,onKeyDown:s?p:void 0,onMouseEnter:i,onMouseLeave:l,onDragStart:c,onDragEnd:u,role:s?"button":void 0,tabIndex:s?0:void 0,children:t}),d&&n.jsx("div",{className:"table-row-expand",children:d})]})}function V4({dir:e}){return n.jsx(e==="asc"?ds:us,{className:"table-field__sort-arrow",size:16,strokeWidth:2})}function z4({children:e,onClick:t,className:a,sortDir:r,ariaSort:s,onResizeStart:i}){const l=n.jsxs(n.Fragment,{children:[e,r&&n.jsx(V4,{dir:r})]});return n.jsxs("div",{onClick:t,role:"columnheader","aria-sort":s,className:Be("table-field body-3",a,r?"table-field--sorted":"",i?"table-field--resizable":""),children:[t?n.jsx("button",{type:"button",className:"table-field__button",children:l}):l,i&&n.jsx("span",{className:"table-field__resizer",onPointerDown:i,onClick:c=>c.stopPropagation(),"aria-hidden":"true"})]})}function lo({fields:e=[],headerGroups:t,items:a=[],renderRow:r,onRowClick:s,isRowClickable:i,onRowMouseEnter:l,onRowMouseLeave:c,onRowDragStart:u,onRowDragEnd:d,draggingId:p,gridTemplateColumns:m,mobileGridTemplateColumns:h,resizable:g=!1,resizeMode:C="grow",resizeStorageKey:b,size:_="small",title:f,icon:y,count:x,collapsed:v=!1,onToggleCollapse:k,headerActions:w,empty:D,loading:B,dragOver:A=!1,onDragOver:N,onDragLeave:M,onDrop:I,renderExpandedRow:$,expandedId:V}){const{t:S}=fe.useTranslation(),F=en("(max-width: 767px)"),z=h&&F?h:null,Y=g&&!z,U=48,G=b?`table-cols:${b}`:null,W=o.useRef(null),Z=o.useRef(()=>!1),P=o.useRef([]),T=o.useRef(null),O=ae=>{if(!ae||typeof window>"u")return null;try{const ee=JSON.parse(window.localStorage.getItem(ae)??"null");return Array.isArray(ee)&&ee.length>0&&ee.every(de=>typeof de=="number"&&Number.isFinite(de)&&de>0)?ee:null}catch{return null}},[R,j]=o.useState(()=>O(G)),[L,Q]=o.useState(G);L!==G&&(Q(G),j(O(G)));const J=o.useRef(R);o.useEffect(()=>{J.current=R},[R]);const oe=o.useCallback(ae=>{const ee=T.current;if(!ee)return;const de=J.current;if(de){const te=[...de];if(ee.next!=null&&ee.startWNext!=null){const he=ae.clientX-ee.startX,be=Math.max(U-ee.startW,Math.min(ee.startWNext-U,he));te[ee.index]=ee.startW+be,te[ee.next]=ee.startWNext-be}else te[ee.index]=Math.max(U,ee.startW+(ae.clientX-ee.startX));J.current=te,j(te)}},[]),ge=o.useCallback(()=>{if(T.current=null,window.removeEventListener("pointermove",oe),window.removeEventListener("pointerup",ge),window.removeEventListener("pointercancel",ge),document.body.style.cursor="",document.body.style.userSelect="",G&&J.current)try{window.localStorage.setItem(G,JSON.stringify(J.current))}catch{}},[oe,G]),Me=o.useCallback((ae,ee)=>{ee.preventDefault(),ee.stopPropagation();const de=W.current;if(!de)return;const te=Array.from(de.children).map(be=>be.getBoundingClientRect().width),he=C==="fit"?e.findIndex((be,Ye)=>Ye>ae&&be.resizable!==!1):-1;T.current=he>=0?{index:ae,startX:ee.clientX,startW:te[ae],next:he,startWNext:te[he]}:{index:ae,startX:ee.clientX,startW:te[ae]},J.current=te,j(te),window.addEventListener("pointermove",oe),window.addEventListener("pointerup",ge),window.addEventListener("pointercancel",ge),document.body.style.cursor="col-resize",document.body.style.userSelect="none"},[oe,ge,C,e]),Ne=o.useCallback(()=>{const ae=W.current,ee=ae?.closest(".table-wrap");if(!ae||!ee)return;const de=ee.style.getPropertyValue("--table-grid-cols");ee.style.setProperty("--table-grid-cols",e.map(($e,Ie)=>Z.current(Ie)?P.current[Ie]:"max-content").join(" "));const te=Array.from(ee.querySelectorAll(".table-row")).filter($e=>!$e.classList.contains("table-row--loading")&&!$e.classList.contains("table-row--empty")),he=e.map(($e,Ie)=>{let Ve=ae.children[Ie]?.getBoundingClientRect().width??0;for(const ot of te){const We=ot.children[Ie];We&&(Ve=Math.max(Ve,We.getBoundingClientRect().width))}const at=Z.current(Ie)?parseFloat(P.current[Ie]):NaN;return Number.isFinite(at)?at:Math.max(U,Math.ceil(Ve))}),be=window.getComputedStyle(ae),Ye=ae.clientWidth-(parseFloat(be.paddingLeft)||0)-(parseFloat(be.paddingRight)||0);de?ee.style.setProperty("--table-grid-cols",de):ee.style.removeProperty("--table-grid-cols");let He=he;const qe=he.reduce(($e,Ie,Ve)=>$e+(Z.current(Ve)?Ie:0),0),Se=he.reduce(($e,Ie,Ve)=>$e+(Z.current(Ve)?0:Ie),0),Ue=Ye-qe;if(Ye>0&&Se>0&&Ue>0){const $e=Ue/Se;He=he.map((Ve,at)=>Z.current(at)?Ve:Math.max(U,Math.round(Ve*$e)));const Ie=Math.round(Ue-He.reduce((Ve,at,ot)=>Ve+(Z.current(ot)?0:at),0));if(Ie!==0){let Ve=-1;He.forEach((at,ot)=>{!Z.current(ot)&&(Ve<0||at>He[Ve])&&(Ve=ot)}),Ve>=0&&(He[Ve]=Math.max(U,He[Ve]+Ie))}}if(j(He),G)try{window.localStorage.setItem(G,JSON.stringify(He))}catch{}},[e,C,G]);o.useEffect(()=>()=>{T.current&&(window.removeEventListener("pointermove",oe),window.removeEventListener("pointerup",ge),window.removeEventListener("pointercancel",ge),document.body.style.cursor="",document.body.style.userSelect="")},[oe,ge]);const ie=O4(m),q=ie.filter(ae=>/\b(auto|min-content|max-content)\b|fit-content\(/.test(ae));q.length>0&&jn(`table-content-track:${m}`,`[ihabdevteam-core] Table \uC758 gridTemplateColumns \uC5D0 \uB0B4\uC6A9\uC73C\uB85C \uD06C\uAE30\uAC00 \uC815\uD574\uC9C0\uB294 \uD2B8\uB799(${q.join(", ")})\uC774 \uC788\uC2B5\uB2C8\uB2E4. \uBA38\uB9AC\uC640 \uBAB8\uD1B5\uC740 \uC11C\uB85C \uB2E4\uB978 \uACA9\uC790\uB77C \uADF8 \uD2B8\uB799\uC774 \uAC01\uC790 \uB2E4\uB974\uAC8C \uD480\uB824 \uC5F4\uC774 \uC5B4\uAE0B\uB0A9\uB2C8\uB2E4. px \uC774\uB098 fr \uC744 \uC4F0\uC138\uC694. (\uBC1B\uC740 \uAC12: ${m})`);const se=e.findIndex(ae=>!!ae.sortDir);e.filter(ae=>!!ae.sortDir).length>1&&jn("table-multi-sort","[ihabdevteam-core] Table \uC758 fields \uC5D0 sortDir \uC774 \uB458 \uC774\uC0C1 \uC788\uC2B5\uB2C8\uB2E4. aria-sort \uB294 \uD45C \uD558\uB098\uC5D0 \uD55C \uCE78\uB9CC \uAC00\uC9C8 \uC218 \uC788\uC5B4 \uCCAB \uCE78\uB9CC \uBC29\uD5A5\uC73C\uB85C \uC54C\uB9AC\uACE0 \uB098\uBA38\uC9C0\uB294 none \uC73C\uB85C \uB461\uB2C8\uB2E4.");const me=ae=>ae===se?e[ae].sortDir==="asc"?"ascending":"descending":e[ae].onClick?"none":void 0,_e=ae=>/^\d+(\.\d+)?px$/.test(ie[ae]??"");Z.current=_e,P.current=ie;const we=ae=>C==="fit"&&!_e(ae)?"fr":"px",De=R&&R.length===e.length&&(C==="fit"||a.length>0),xe=z??(De?e.map((ae,ee)=>ae.resizable===!1&&ie[ee]?ie[ee]:`${R[ee]}${we(ee)}`).join(" "):m),Ae=xe?{"--table-grid-cols":xe}:void 0,Te=f!==void 0;return n.jsx("div",{className:`table-wrap table-wrap--${_}${Y?" table-wrap--resizable":""}${A?" table-wrap--dragover":""}${v?" table-wrap--collapsed":""}`,style:Ae,onDragOver:N,onDragLeave:M,onDrop:I,children:n.jsxs("div",{className:"table body-2",children:[Te&&n.jsxs("div",{className:"table-header",onClick:k,role:k?"button":void 0,tabIndex:k?0:void 0,"aria-expanded":k?!v:void 0,onKeyDown:k?ae=>{ae.target===ae.currentTarget&&(ae.key==="Enter"||ae.key===" ")&&(ae.preventDefault(),k())}:void 0,children:[k&&n.jsx(ce,{htmlType:"button",size:40,type:"dot",variant:"transparent-gray",useBorder:!1,icon:v?"chevron-right":"chevron-down",ariaLabel:v?S("common.expand","\uD3BC\uCE58\uAE30"):S("common.collapse","\uC811\uAE30"),className:"table-header__chevron"}),y&&n.jsx(Ge,{icon:y,label:typeof f=="string"?f:void 0,className:"table-header__icon"}),n.jsx("span",{className:"table-header__title h5b",children:f}),x!==void 0&&n.jsx("span",{className:"table-header__count body-3b",children:x}),w&&n.jsx("span",{className:"table-header__actions",onClick:ae=>ae.stopPropagation(),children:w})]}),!v&&n.jsxs(n.Fragment,{children:[t&&t.length>0&&n.jsx("div",{className:"table-fields table-fields--groups",children:t.map((ae,ee)=>n.jsx("div",{className:Be("table-field body-3",ae.className),style:{gridColumn:`span ${ae.span}`},children:ae.label},ee))}),n.jsxs("div",{className:Be("table-fields-strip",Y&&"table-fields-strip--resizable"),children:[n.jsx("div",{className:"table-fields",ref:W,children:e.map((ae,ee)=>n.jsx(z4,{onClick:ae.onClick,className:ae.className,sortDir:ae.sortDir,ariaSort:me(ee),onResizeStart:Y&&ee<e.length-1&&ae.resizable!==!1&&(C!=="fit"||e.some((de,te)=>te>ee&&de.resizable!==!1))?de=>Me(ee,de):void 0,children:ae.label},ee))}),Y&&n.jsx(ce,{htmlType:"button",size:40,type:"dot",variant:"transparent-gray",useBorder:!1,icon:"chevrons-left-right-ellipsis",ariaLabel:S("table.resetColumns","\uCE78 \uB108\uBE44 \uCD08\uAE30\uD654"),showTooltipInfo:S("table.resetColumns","\uCE78 \uB108\uBE44 \uCD08\uAE30\uD654"),className:"table-fields__reset",onClick:Ne})]}),n.jsx("div",{className:"table-body",children:B?n.jsx(io,{variant:"loading"}):a.length===0&&D?n.jsx(io,{variant:"empty",children:D}):a.map((ae,ee)=>{const de=p!=null&&ae.id===p,te=!!s&&(i?i(ae):!0),he=V!=null&&ae.id!=null&&(V instanceof Set?V.has(ae.id)||[...V].some(be=>String(be)===String(ae.id)):String(ae.id)===String(V));return n.jsx(io,{className:`${te?" table-row--clickable":""}${u?" table-row--draggable":""}${de?" table-row--dragging":""}`.trim(),draggable:!!u,onClick:te?()=>s(ae):void 0,onMouseEnter:l?be=>l(ae,be):void 0,onMouseLeave:c?be=>c(ae,be):void 0,onDragStart:u?be=>u(ae,be):void 0,onDragEnd:d?be=>d(ae,be):void 0,expandedContent:he&&$?$(ae):void 0,children:r(ae).map((be,Ye)=>n.jsx(H4,{className:be.className,style:be.style,children:be.content},Ye))},ae.id!=null?`${typeof ae.id}:${ae.id}`:`__idx:${ee}`)})})]})]})})}function Kl(e){switch(e){case"\uBCF4\uCCAD\uAE30":return"main";case"\uC778\uACF5\uC640\uC6B0":return"sub";default:return"default"}}const ta=e=>e==null?"":String(e).trim();function co(e,t,a){const r=[ta(e),ta(t),ta(a)];for(;r.length>0&&r[r.length-1]==="";)r.pop();return r.join(".")}function W4(e,t,a){const r=ta(e);return r?`${r}-${ta(t).padStart(2,"0")}-${ta(a).padStart(2,"0")}`:""}const q4={\uBCF4\uCCAD\uAE30:"hearingAid",\uC778\uACF5\uC640\uC6B0:"cochlearImplant"};function U4(e,t){const a=q4[e];return a?t(`device.type.${a}`,{defaultValue:e}):e}function Yl(e,t){return t!=="wornAt"?String(e[t]??""):W4(e.wornYear,e.wornMonth,e.wornDay)}function G4({rows:e,onSelect:t,onDelete:a,onWear:r,onRelease:s,onAdd:i}){const{t:l}=fe.useTranslation(),c=C=>C==="\uC88C"?l("device.direction.left","\uC88C"):l("device.direction.right","\uC6B0"),{\uC815\uB82C:u,\uCE78:d}=Rg(),p=o.useMemo(()=>{if(!u)return e;const{key:C,asc:b}=u;return[...e].sort((_,f)=>{if(C==="worn"){const y=Number(f.worn)-Number(_.worn);return b?y:-y}return Gr(Yl(_,C),Yl(f,C),b)})},[e,u]),{pageRows:m,pageSizeProps:h,paginationProps:g}=$g(p,u);return n.jsxs("div",{className:"dlp-side-table",children:[n.jsx(to,{count:{value:e.length,unit:l("customers.device.unit","\uAC1C")},pageSize:h,pagination:g,actions:i&&n.jsx(ce,{htmlType:"button",size:40,type:"bar",variant:"main",icon:"plus",label:l("customers.device.addButton","\uAE30\uAE30 \uCD94\uAC00"),onClick:i})}),n.jsx(lo,{resizable:!0,resizeMode:"fit",resizeStorageKey:"customer-device-history-v2",fields:[{...d(l("customers.device.wearingNow","\uCC29\uC6A9"),"worn"),resizable:!1},d(l("device.direction.label","\uBC29\uD5A5"),"side"),d(l("device.deviceType","\uC885\uB958"),"device"),d(l("device.brand","\uBE0C\uB79C\uB4DC"),"brand"),d(l("device.fitType","\uCC29\uC6A9\uD615\uD0DC"),"fitType"),d(l("device.productName","\uC81C\uD488\uBA85"),"productName"),d(l("device.wornDate","\uCC29\uC6A9\uC77C"),"wornAt"),...a?[{label:"",resizable:!1}]:[]],items:m.map((C,b)=>({id:C.id??`${C.side}-${b}`,row:C})),gridTemplateColumns:`56px 110px 110px minmax(120px, 1fr) 100px minmax(120px, 1fr) 110px${a?" 80px":""}`,renderRow:({row:C})=>[{content:n.jsx("span",{className:"dlp-worn-check",onClick:b=>b.stopPropagation(),children:n.jsx(Tl,{checked:C.worn,disabled:C.worn?!s:!r,ariaLabel:C.worn?l("customers.device.unwear","\uCC29\uC6A9 \uD574\uC81C"):l("customers.device.wear","\uCC29\uC6A9"),onChange:b=>{b?r?.(C):s?.(C)}})})},{content:n.jsx("span",{children:c(C.side)})},{content:C.device?n.jsx(pt,{size:"small",variant:Kl(C.device),fill:"soft",label:U4(C.device,l)}):n.jsx("span",{})},{content:n.jsx("span",{children:C.brand})},{content:n.jsx("span",{children:C.fitType||"-"})},{content:n.jsx("span",{children:C.productName||"-"})},{content:n.jsx("span",{className:"dlp-date",children:co(C.wornYear,C.wornMonth,C.wornDay)||"-"})},...a?[{content:n.jsx("span",{className:"dlp-row-actions",children:n.jsx(ce,{htmlType:"button",size:28,type:"bar",variant:"transparent-gray",label:l("common.delete","\uC0AD\uC81C"),onClick:b=>{b?.stopPropagation(),a(C)}})})}]:[]],onRowClick:({row:C})=>t(C),empty:l("customers.device.historyEmpty","\uB4F1\uB85D\uB41C \uAE30\uAE30 \uC774\uB825\uC774 \uC5C6\uC2B5\uB2C8\uB2E4.")})]})}function Zl(e,t){return e?{role:t?.role??"button",tabIndex:0,...t?.selected===void 0?{}:{"aria-selected":t.selected},onKeyDown:a=>{a.target===a.currentTarget&&(a.key!=="Enter"&&a.key!==" "||(a.preventDefault(),e(a)))}}:{}}function K4(e,t){return new Date(e,t+1,0).getDate()}function Y4(e,t){return new Date(e,t,1).getDay()}function Z4({visits:e=[],onVisitClick:t,onVisitMove:a,onDayClick:r,today:s}){const{t:i}=fe.useTranslation(),l=o.useMemo(()=>i("calendar.dow",{returnObjects:!0}),[i]),c=Mr(s),[u,d]=o.useState(()=>Number(c.slice(0,4))),[p,m]=o.useState(()=>Number(c.slice(5,7))-1),[h,g]=o.useState(null),C=o.useRef(null),b=o.useMemo(()=>{const k={};return e.forEach(w=>{k[w.date]||(k[w.date]=[]),k[w.date].push(w)}),k},[e]),_=o.useMemo(()=>{const k=K4(u,p),w=Y4(u,p),D=[];for(let B=0;B<w;B++)D.push(null);for(let B=1;B<=k;B++)D.push(B);for(;D.length<35;)D.push(null);return D},[u,p]),f=o.useCallback(()=>{p===0?(d(k=>k-1),m(11)):m(k=>k-1)},[p]),y=o.useCallback(()=>{p===11?(d(k=>k+1),m(0)):m(k=>k+1)},[p]),x=k=>`${u}-${String(p+1).padStart(2,"0")}-${String(k).padStart(2,"0")}`,v=k=>x(k)===c;return n.jsxs("div",{children:[n.jsxs("div",{className:"calendar-nav",children:[n.jsx("button",{type:"button",className:"calendar-nav__button",onClick:f,"aria-label":i("calendar.prevMonth","\uC774\uC804 \uB2EC"),children:n.jsx(Ge,{icon:"chevron-left",label:"",className:"",svgClassName:"calendar-nav__button-icon",size:18})}),n.jsx("span",{className:"calendar-nav__title h5","aria-live":"polite",children:i("calendar.yearMonth",{year:u,month:p+1})}),n.jsx("button",{type:"button",className:"calendar-nav__button",onClick:y,"aria-label":i("calendar.nextMonth","\uB2E4\uC74C \uB2EC"),children:n.jsx(Ge,{icon:"chevron-right",label:"",className:"",svgClassName:"calendar-nav__button-icon",size:18})}),n.jsxs("div",{className:"calendar-nav__legend",children:[n.jsx("span",{className:"calendar-nav__legend-dot calendar-nav__legend-dot--main"}),n.jsx("span",{className:"caption-1",children:i("calendar.legend.visited","\uBC29\uBB38")}),n.jsx("span",{className:"calendar-nav__legend-dot calendar-nav__legend-dot--sub"}),n.jsx("span",{className:"caption-1",children:i("calendar.legend.scheduled","\uC608\uC57D")}),n.jsx("span",{className:"calendar-nav__legend-dot calendar-nav__legend-dot--disabled"}),n.jsx("span",{className:"caption-1",children:i("calendar.legend.noVisit","\uBBF8\uBC29\uBB38")})]})]}),n.jsxs("div",{className:"calendar-grid",children:[l.map(k=>n.jsx("div",{className:"calendar-day-header body-3",children:k},k)),_.map((k,w)=>{if(k===null)return n.jsx("div",{className:"calendar-cell empty"},`empty-${w}`);const D=k,B=x(D),A=b[B]??[],N=h===B;return n.jsxs("div",{className:`calendar-cell${v(D)?" today":""}${N?" drag-over":""}${r?" calendar-cell--clickable":""}`,role:r?"button":void 0,tabIndex:r?0:void 0,"aria-label":r?i("calendar.addOnDate",{date:B}):void 0,"aria-current":v(D)?"date":void 0,onClick:r?()=>r(B):void 0,onKeyDown:r?M=>{M.target===M.currentTarget&&(M.key!=="Enter"&&M.key!==" "||(M.preventDefault(),r(B)))}:void 0,onDragOver:a?M=>{M.preventDefault(),g(B)}:void 0,onDragLeave:a?M=>{M.currentTarget.contains(M.relatedTarget)||g(null)}:void 0,onDrop:a?M=>{M.preventDefault(),C.current!=null&&(a(C.current,B),C.current=null),g(null)}:void 0,children:[n.jsx("div",{className:"calendar-cell__number body-3",children:D}),n.jsx("div",{className:"calendar-cell__badges",children:A.map((M,I)=>n.jsxs("div",{draggable:!!a,className:`calendar-visit-badge${M.status==="noVisit"?" calendar-visit-badge--no-visit":M.status==="scheduled"?" calendar-visit-badge--scheduled":""}${t?" calendar-visit-badge--clickable":""}${a?" calendar-visit-badge--draggable":""}`,onDragStart:a?$=>{C.current=M.id,$.dataTransfer.effectAllowed="move"}:void 0,onDragEnd:a?()=>{C.current=null,g(null)}:void 0,onClick:t?$=>{$.stopPropagation(),t(M)}:void 0,...Zl(t?()=>t(M):void 0),"aria-label":[M.time?ri(M.time,i):null,M.customer,i(M.status==="noVisit"?"calendar.legend.noVisit":M.status==="scheduled"?"calendar.legend.scheduled":"calendar.legend.visited")].filter(Boolean).join(" "),children:[M.time&&n.jsx("span",{className:"calendar-visit-badge__time body-3",children:ri(M.time,i)}),n.jsx("span",{className:"calendar-visit-badge__name body-3",children:M.customer}),M.status==="noVisit"&&n.jsx("span",{className:"calendar-visit-badge__no-visit caption-1",children:i("calendar.legend.noVisit","\uBBF8\uBC29\uBB38")})]},M.id??I))})]},D)})]})]})}const X4={page:"h3",pagePopup:"h4",popup:"h5"};function na({type:e="page",title:t,headingLevel:a,icon:r,action:s,disc:i,children:l,className:c,style:u}){const d=X4[e],p=t||i||s||r,m=a?`h${a}`:"div";return n.jsxs("div",{className:Be("section",`section--${e}`,c),style:u,children:[p&&n.jsxs("div",{className:"section__header",children:[n.jsxs("div",{className:"section__title-row",children:[r&&n.jsx(Ge,{icon:r,label:typeof t=="string"?t:void 0,className:"section__icon"}),n.jsxs("div",{className:"section__title-group",children:[t&&n.jsx(m,{className:`section__title ${d}`,children:t}),i&&n.jsx("div",{className:"section__disc body-3",children:i})]})]}),s&&n.jsx("div",{className:"section__action",children:s})]}),l]})}function Xl({icon:e,label:t,tooltip:a,wrapperStyle:r,color:s,bgColor:i,useHover:l=!0,iconSize:c="medium"}){const u=c==="small",d=Be("category-icon",u?"category-icon--small":""),p=u?16:20,m=o.useRef(null),[h,g]=o.useState(!1),C=o.useMemo(()=>{const w=r&&typeof r=="object"?{...r}:{};return!s&&!i?w:{...w,...s?{color:s,"--t-item-fg":s}:{},...i?{"--t-item-bg":i}:{}}},[r,s,i]),b=a||t,[_,f]=o.useState(null);o.useLayoutEffect(()=>{h&&f(m.current?.getBoundingClientRect()??null)},[h]),o.useEffect(()=>{if(!l&&h)try{g(!1)}catch{}},[l,h]),o.useEffect(()=>{if(!h)return;const w=D=>{const B=m.current;if(!B)return;const A=D.target;A&&!B.contains(A)&&g(!1)};return document.addEventListener("pointerdown",w,!0),()=>document.removeEventListener("pointerdown",w,!0)},[h]);const y=o.useCallback(()=>{l&&g(!0)},[l]),x=o.useCallback(()=>{l&&g(!1)},[l]),v=o.useCallback(()=>g(!1),[]),k=o.useCallback(w=>{if(w.key==="Escape"){g(!1);return}(w.key==="Enter"||w.key===" ")&&(w.preventDefault(),g(D=>!D))},[]);return n.jsxs("span",{ref:m,className:"category-icon__wrap",onPointerEnter:y,onPointerLeave:x,onFocus:y,onBlur:x,onKeyDown:k,role:"button",tabIndex:0,"aria-label":typeof b=="string"?b:void 0,"aria-haspopup":!!b,"aria-expanded":h,"data-tooltip-ignore":!0,children:[n.jsx(Ge,{icon:e,label:t,className:d,imgClassName:"category-icon__image",maskClassName:"category-icon__mask",svgClassName:"category-icon__svg",wrapperStyle:C,size:p}),h&&b&&n.jsx(Bn,{anchorRect:_,text:typeof b=="string"?b:void 0,offset:8,onClose:v,className:"category-icon__tooltip",ariaLabel:typeof b=="string"?b:void 0})]})}let Nn=null;function Za(e){if(Nn&&Nn!==e)try{Nn()}catch{}return Nn=e,()=>{Nn===e&&(Nn=null)}}function Xa(e){if(Nn===e){Nn=null;try{e()}catch{}}}function J4(e,t){if(!e)return{previewCodes:[],previewBucket:null};const a=e,r=l=>l.map(c=>c?.contextCode||c?.context_code).filter(Boolean).map(String);if(t==="LISTEN_IN_NOISE"){const l=a.sentences||a.items||[],c=Array.isArray(l)&&l.length>0?r(l):[];return c.length===0&&(a.contextCode||a.context_code)&&c.push(String(a.contextCode||a.context_code)),{previewCodes:c,previewBucket:"LIN_D"}}if(t==="SHORT_STORY"){const l=a.items||a.sentences||[],c=Array.isArray(l)&&l.length>0?r(l):[];return c.length===0&&(a.contextCode||a.context_code)&&c.push(String(a.contextCode||a.context_code)),{previewCodes:c,previewBucket:"SHORT_S"}}if(t==="LONG_STORY"){const l=a.items||a.sentences||[],c=Array.isArray(l)&&l.length>0?r(l):[];return c.length===0&&(a.contextCode||a.context_code)&&c.push(String(a.contextCode||a.context_code)),{previewCodes:c,previewBucket:"LONG"}}if(t==="ORDERING_SENTENCE"){const l=a.sentences||a.items||[],c=Array.isArray(l)&&l.length>0?r(l):[];return c.length===0&&(a.contextCode||a.context_code)&&c.push(String(a.contextCode||a.context_code)),{previewCodes:c,previewBucket:"LIN_D"}}const s=a.sentences||a.items||[],i=r(Array.isArray(s)?s:[]);return i.length===0&&(a.contextCode||a.context_code)&&i.push(String(a.contextCode||a.context_code)),{previewCodes:i,previewBucket:null}}function Q4(e,t){const[a,r]=o.useState(!1),[s,i]=o.useState(-1),[l,c]=o.useState({key:"",urls:[]}),u=o.useRef(null),d=o.useRef(!1),p=o.useRef(null),m=o.useRef(null),[h,g]=o.useState(!1),C=o.useRef([]),{previewCodes:b,previewBucket:_}=J4(e,t),f=`${b.join(",")}|${_??""}`,y=o.useMemo(()=>l.key===f?l.urls:[],[l,f]);o.useEffect(()=>{if(!b.length)return;let v=!1;return(async()=>{const k=[],w=[];for(const D of b)try{const B=Rs(D,_);if(!B){k.push("");continue}let A=null;try{A=await Ps(B)}catch{}if(!A)try{const N=await Is(B);N&&(A=URL.createObjectURL(N),w.push(A))}catch{}k.push(A??"")}catch{k.push("")}v?w.forEach(D=>{try{URL.revokeObjectURL(D)}catch{}}):(C.current.forEach(D=>{try{URL.revokeObjectURL(D)}catch{}}),C.current=w,c({key:f,urls:k}))})(),()=>{v=!0}},[b.join(","),_]),o.useEffect(()=>()=>{C.current.forEach(v=>{try{URL.revokeObjectURL(v)}catch{}}),C.current=[]},[]);const x=o.useCallback(async v=>{if(v.stopPropagation(),v.preventDefault(),d.current){p.current&&Xa(p.current),d.current=!1;try{u.current?.pause()}catch{}r(!1),i(-1);return}if(!y.filter(Boolean).length)return;let k=null;const w=()=>{d.current=!1;try{u.current?.pause()}catch{}k?.()};p.current=w;const D=Za(w);d.current=!0,r(!0);for(let B=0;B<y.length&&d.current;B++){const A=y[B];if(A){i(B);try{await new Promise((N,M)=>{k=N;const I=new Audio(A);u.current=I,I.onended=()=>N(),I.onerror=()=>M(),I.play().catch(M)})}catch{break}}}D(),p.current===w&&(p.current=null,d.current=!1,r(!1),i(-1))},[y]);return o.useEffect(()=>()=>{p.current&&Xa(p.current),d.current=!1;try{u.current?.pause()}catch{}u.current=null},[]),{playing:a,playingIndex:s,previewUrls:y,previewHover:h,setPreviewHover:g,previewBtnRef:m,handlePreview:x}}const ey=e=>{if(!e)return[];const t=typeof e.context=="string"&&e.context.trim()||typeof e.sentence=="string"&&e.sentence.trim()||typeof e.text=="string"&&e.text.trim()||"";if(t)return[String(t)];const a=e.sentences||e.items||e.questions||[];return Array.isArray(a)&&a.length>0?a.map(r=>{if(typeof r=="string")return r;if(r&&typeof r=="object"){const s=r;return s.sentence||s.text||s.context||s.question||s.title||""}return""}).filter(r=>typeof r=="string"&&r.trim().length>0).map(r=>r.trim()):[]};function uo(e){const{index:t,type:a,trainingData:r,ariaLabel:s,depth:i,renderPopup:l,completed:c,completedIds:u,selectedIds:d,tooltipText:p,useDescriptionTooltip:m=!1,onRemove:h,hideCheckBadge:g=!1,showTypeLabel:C=!1,onComplete:b,onSelect:_,onMore:f,countLabelOverride:y,size:x="square"}=e||{},{t:v}=fe.useTranslation(),[k,w]=o.useState(!1),D=o.useRef(null),[B,A]=o.useState(!1);o.useEffect(()=>{D.current?.matches(":hover")&&A(!0)},[]);const{playing:N,playingIndex:M,previewUrls:I,previewHover:$,setPreviewHover:V,previewBtnRef:S,handlePreview:F}=Q4(r,a?.key),z=o.useCallback(()=>{_?_():w(!0)},[_]),Y=o.useCallback(()=>w(!1),[]),U=o.useCallback(()=>A(!0),[]),G=o.useCallback(()=>A(!1),[]),W=o.useCallback(()=>V(!0),[V]),Z=o.useCallback(()=>V(!1),[V]),[P,T]=o.useState(null);o.useLayoutEffect(()=>{$&&T(S.current?.getBoundingClientRect()??null)},[$,S]);const[O,R]=o.useState(null);o.useLayoutEffect(()=>{B&&!k&&m&&R(D.current?.getBoundingClientRect()??null)},[B,k,m]);const j=o.useCallback(Se=>{Se.target===Se.currentTarget&&(Se.key==="Enter"||Se.key===" ")&&(Se.preventDefault(),z())},[z]),L=r||null,Q=o.useMemo(()=>{if(!m)return null;const Se=p?(Array.isArray(p)?p:[p]).filter(Boolean):null,Ue=Se&&Se.length>0?Se:ey(L);return Ue&&Ue.length>0?Ue:null},[m,p,L]),J=o.useCallback(Se=>{Se.stopPropagation(),h?.()},[h]),oe=o.useCallback(Se=>Se.stopPropagation(),[]),ge=o.useCallback(Se=>{typeof b=="function"&&b(Se)},[b]),Me=c||(u&&r?.id!=null?u.has(String(r.id)):!1),Ne=!Me&&(d!=null&&r?.id!=null?d.has(String(r.id)):!1);Ki("speechear.popup.close",Y);const ie=oi(),q=`${a?.label||""} ${t+1}`,se=L?.title||L?.name||q;let me=a?.icon,_e,we="",De="";try{const Se=L?.category_0||L?.category_main_code||L?.category_main,Ue=L?.category_1||L?.category_sub_code||L?.category_sub,$e=ie.find(Ie=>Ie.key===Se);$e?.icon&&(me=$e.icon),!_e&&$e?.color&&(_e={"--t-item-fg":$e.color}),!_e&&L?.iconColor&&(_e={"--t-item-fg":L.iconColor}),we=$e?v(`topic.${$e.key}`,{defaultValue:$e.label||""}):"";try{const Ie=$e?.subs?.find(Ve=>Ve.key===Ue);De=Ie?v(`topic.sub.${Ie.key}`,{defaultValue:Ie.label||""}):""}catch{}}catch{}const xe=De?`${we} / ${De}`:we||a?.label||se,Ae=Se=>v("training.countQuestions",{n:Se}),Te=Se=>v("training.countSentences",{n:Se});let ae="";try{if(L)if(a?.key==="LISTEN_IN_NOISE"){let Se=0;Array.isArray(L.items)&&L.items.length>0?Se=L.items.length:Array.isArray(L.sentences)&&L.sentences.length>0?Se=L.sentences.length:L.sentences&&(Se=1),ae=Te(Se)}else if(a?.key==="SHORT_STORY"){let Se=1;Array.isArray(r?.items)?Se=r.items.length:Array.isArray(r?.raw&&r.raw?.items)?Se=r.raw.items.length:Array.isArray(L?.questions)?Se=L.questions.length:Array.isArray(L?.sentences)&&(Se=L.sentences.length),ae=Ae(Se)}else if(a?.key==="LONG_STORY"){let Se=1;if(Array.isArray(L.items)&&L.items.length>0){const Ue=L.items.reduce(($e,Ie)=>{const Ve=Ie.questionItems;return Array.isArray(Ve)?$e+Ve.length:Array.isArray(Ie.questions)?$e+Ie.questions.length:$e},0);Se=Ue>0?Ue:L.items.length}else Array.isArray(L.questions)&&L.questions.length>0?Se=L.questions.length:Array.isArray(L.sentences)&&L.sentences.length>0&&(Se=L.sentences.length);ae=Ae(Se)}else if(a?.key==="ORDERING_SENTENCE"){let Se=1;Array.isArray(L.items)&&L.items.length>0?Se=L.items.length:Array.isArray(L.sentences)&&L.sentences.length>0&&(Se=L.sentences.length),ae=Te(Se)}else Array.isArray(L.items)&&(ae=L.items.length>0?Ae(L.items.length):"")}catch{}const ee=x==="row",de=x==="list"||ee,te=x==="compact",he=x==="small",be=he&&a?.key?w2().find(Se=>Se.key===a.key):void 0,Ye=be?si[be.key]:void 0,He=be?Ye?v(`trainingType.${Ye}.title`,{defaultValue:be.label}):be.label??"":"",qe=!!C&&!!a?.label&&a.label!==String(se)||he&&!!He&&He!==String(se);return n.jsxs(n.Fragment,{children:[n.jsxs("div",{ref:D,className:`training-block-button${de?" training-block-button--list":""}${ee?" training-block-button--row":""}${te?" training-block-button--compact":""}${he?" training-block-button--small":""}${Me?" training-block-button--completed":""}${Ne?" training-block-button--selected":""}${qe&&!he?" training-block-button--withType":""}${he&&!qe?" training-block-button--no-type-label":""}`,onClick:z,onPointerEnter:U,onPointerLeave:G,role:"button",tabIndex:0,onKeyDown:j,"aria-label":typeof s=="string"?s:typeof se=="string"?se:void 0,title:!m&&p&&(Array.isArray(p)?p.filter(Boolean).join(`
844
- `):p)||void 0,children:[n.jsxs("div",{className:"training-block-button__left",children:[C&&a?.label&&a.label!==String(se)&&n.jsx("span",{className:"training-block-button__type-label caption-1",children:a.label}),he&&He&&He!==String(se)&&n.jsx("span",{className:"training-block-button__type-label caption-2",children:He}),n.jsx(Xl,{icon:me,label:se,tooltip:xe,wrapperStyle:_e,iconSize:he||te?"small":"medium"}),!g&&(Me||Ne)&&!(h&&B)&&n.jsx(pt,{className:h?"training-block-button__check--removable":void 0,type:"dot",icon:"check",position:"top-left",size:"medium","aria-label":Me?v("training.completed","\uD6C8\uB828 \uC644\uB8CC"):v("training.selected","\uC120\uD0DD\uB428")}),h&&n.jsx(pt,{className:`training-block-button__remove${B?" is-hover":""}`,type:"dot",icon:"remove",position:"top-left",size:"medium","aria-label":v("common.remove","\uC81C\uAC70"),onClick:J}),n.jsx("div",{className:`training-block-button__title ${te?"body-3":he?"body-3b":"h3"}`,children:String(se)}),n.jsxs("div",{className:"training-block-button__description",children:[(()=>{const Se=y!==void 0?y:ae;return Se?n.jsx("div",{className:`training-block-button__count ${he?"caption-2":"caption-1"}`,children:Se}):null})(),n.jsx("div",{className:"training-block-button__chevron",children:n.jsx(Ge,{icon:"chevron-right",label:v("training.next","\uB2E4\uC74C"),className:"training-block-button__chevron-icon",imgClassName:"training-block-button__chevron-icon-image",maskClassName:"training-block-button__chevron-icon-mask",svgClassName:"training-block-button__chevron-icon-svg",size:he?12:20})})]}),(de&&!ee||he)&&I.length>0&&n.jsx("div",{ref:S,className:"training-block-button__preview","data-tooltip-ignore":!0,onClick:oe,onPointerEnter:W,onPointerLeave:Z,children:n.jsx(ce,{htmlType:"button",size:he?28:32,type:"dot",icon:N?"pause":"play",variant:he?"transparent-lightGray":"default",useBorder:!1,selected:N,ariaLabel:N?v("training.stop","\uC815\uC9C0"):v("training.preview","\uBBF8\uB9AC \uB4E3\uAE30"),onClick:F})})]}),f&&n.jsx("div",{className:"training-block-button__more","data-tooltip-ignore":!0,onClick:Se=>{Se.stopPropagation(),f(Se)},children:n.jsx(ce,{htmlType:"button",size:40,type:"dot",icon:"more-horizontal",variant:"transparent-lightGray",useBorder:!1,ariaLabel:v("common.more","\uB354\uBCF4\uAE30")})})]}),$&&n.jsx(Bn,{anchorRect:P,text:N?v("training.stop","\uC815\uC9C0"):v("training.preview","\uBBF8\uB9AC \uB4E3\uAE30"),offset:8,onClose:Z}),B&&!k&&m&&(Q?n.jsx(Pn,{anchorRect:O,items:Q,activeIndex:M,onClose:G}):L?.subTitle?n.jsx(Bn,{anchorRect:O,text:L.subTitle,offset:8,onClose:G}):null),k&&l&&l({trainingData:L,typeKey:a?.key??"",onClose:Y,onComplete:ge,popupTitle:String(se),popupSubTitle:a?.subTitle,depth:i!=null?String(i):void 0,popupIcon:me,popupIconTooltip:String(xe),popupWrapperStyle:_e})]})}let po=null,Jl=!1;function Ql(){if(Jl||typeof document>"u")return;Jl=!0,document.addEventListener("keydown",t=>{t.metaKey||t.ctrlKey||t.altKey||(po="keyboard")},!0);const e=()=>{po="pointer"};document.addEventListener("pointerdown",e,!0),document.addEventListener("mousedown",e,!0),document.addEventListener("touchstart",e,{capture:!0,passive:!0})}Ql();function Ja(){return Ql(),po==="keyboard"}const Qa=20;function ty(e){const{t}=fe.useTranslation(),{type:a,trainingDatas:r,depth:s,renderPopup:i,completedIds:l,selectedIds:c,onItemComplete:u,size:d,useDescriptionTooltip:p,onRemove:m,onMore:h,sectionType:g="page"}=e||{},[,C]=o.useState(0),b=typeof r<"u"?Array.isArray(r)?r:[]:[],_=b.length,[f,y]=o.useState(Math.min(_,Qa)),x=o.useMemo(()=>Array.isArray(s)?[...s,a?.label].filter(Boolean).join(" \xB7 "):[s||"",a?.label].filter(Boolean).join(" \xB7 "),[s,a?.label]);o.useEffect(()=>{y(Math.min(_,Qa))},[_]),Ki("speechear.data.updated",()=>C(D=>D+1));const v=o.useRef(null),k=o.useRef(null);function w(){const D=document.activeElement;k.current=Ja()&&D&&D.closest?.(".training-block__more")?f:null,y(B=>Math.min(_,B+Qa))}return o.useEffect(()=>{const D=k.current;if(D==null)return;k.current=null;const B=document.activeElement;B&&B!==document.body||v.current?.querySelectorAll(".training-block-button")[D]?.focus()},[f]),n.jsxs(na,{type:g,title:a?.label,icon:a?.icon,disc:a?.desc,className:"training-block",children:[n.jsx("div",{className:"training-list",ref:v,children:(b||[]).slice(0,f).map((D,B)=>{const A=D;return n.jsx(uo,{index:B,type:a,trainingData:A,depth:x,renderPopup:i,completedIds:l,selectedIds:c,size:d,useDescriptionTooltip:p,onRemove:typeof m=="function"&&c!=null&&A?.id!=null&&c.has(String(A.id))?()=>m(A):void 0,onComplete:typeof u=="function"&&A?.id!=null?()=>u(String(A.id)):void 0,onMore:typeof h=="function"?N=>h(A,N):void 0},A?.id!=null?`${a?.key||"t"}-${String(A.id)}`:`${a?.key||"t"}-${B}`)})}),_>Qa&&f<_&&n.jsx("div",{className:"training-block__more",children:n.jsx(ce,{htmlType:"button",size:48,type:"bar",icon:"plus",onClick:w,ariaLabel:t("common.loadMore","\uB354\uBCF4\uAE30"),label:t("common.loadMore","\uB354\uBCF4\uAE30"),variant:"main"})})]})}function mo(e){const t=o.useRef(null),[a,r]=o.useState(!!e),[s,i]=o.useState(!1);o.useEffect(()=>{i(!1);const u=t.current;r(!!e&&!(u?.complete&&u.naturalWidth>0))},[e]);const l=o.useCallback(()=>r(!1),[]),c=o.useCallback(()=>{r(!1),i(!0)},[]);return{imgRef:t,loading:a,failed:s,hasImage:!!e&&!s,onLoad:l,onError:c}}var ny='data:image/svg+xml,<svg width="100" height="100" viewBox="0 0 100 100" fill="none" xmlns="http://www.w3.org/2000/svg">%0A<g clip-path="url(%23clip0_2256_7437)">%0A<g opacity="0.1">%0A<path d="M35.7143 25C29.7964 25 25 29.7964 25 35.7143V64.2857C25 67.3786 25.7893 70.2893 27.1714 72.8286C29.7071 74.2143 32.6179 75 35.7143 75H64.2857C70.2036 75 75 70.2036 75 64.2857V35.7143C75 32.6214 74.2107 29.7107 72.8286 27.1714C70.2929 25.7857 67.3821 25 64.2857 25H35.7143Z" fill="%23111111"/>%0A</g>%0A<path d="M57.1426 17.8571H35.7141C25.8533 17.8571 17.8569 25.8536 17.8569 35.7143V44.0643L10.9926 51.6179C10.5819 52.0679 10.6283 52.775 11.0998 53.1643C13.1783 54.8929 15.4641 56.2214 17.8569 57.1679C17.8676 63.925 21.6283 69.8 27.1712 72.825C25.7855 70.2893 24.9998 67.3786 24.9998 64.2821V35.7107C24.9998 29.7929 29.7962 24.9964 35.7141 24.9964H64.2855C67.3783 24.9964 70.2891 25.7857 72.8283 27.1679C69.7998 21.6179 63.9105 17.8536 57.1426 17.8536V17.8571Z" fill="%23111111"/>%0A<path d="M72.8285 27.1714C74.2142 29.7072 75 32.6179 75 35.7143V64.2857C75 70.2036 70.2035 75 64.2857 75H35.7142C32.6214 75 29.7107 74.2107 27.1714 72.8286C30.2 78.3786 36.0892 82.1429 42.8571 82.1429H58.9678C59.9321 82.1429 60.7142 82.925 60.7142 83.8893C60.7142 84.9107 61.5892 85.7215 62.6071 85.6322C73.5535 84.675 82.1428 75.4822 82.1428 64.2857V42.8572C82.1428 36.0893 78.3785 30.2 72.8285 27.1714Z" fill="%23111111"/>%0A<path d="M36.0714 40.7143C36.0714 39.5308 35.112 38.5714 33.9285 38.5714C32.745 38.5714 31.7856 39.5308 31.7856 40.7143V45C31.7856 46.1834 32.745 47.1428 33.9285 47.1428C35.112 47.1428 36.0714 46.1834 36.0714 45V40.7143Z" fill="%23111111"/>%0A<path d="M46.7859 57.1429C45.743 57.1429 44.6966 56.875 43.7502 56.3286C42.8966 55.8357 42.6037 54.7429 43.1002 53.8893C43.593 53.0357 44.6859 52.7429 45.5395 53.2393C46.518 53.8036 47.7573 53.6429 48.5537 52.8464C48.9395 52.4607 49.1823 51.9714 49.2573 51.4357C49.5787 49.1607 50.5823 47 52.1645 45.1857C53.1073 44.1071 53.6037 42.7214 53.568 41.2857C53.493 38.3536 51.1466 35.9107 48.2216 35.7286C47.2323 35.6679 46.2859 35.8464 45.4073 36.2679C44.518 36.6929 43.4502 36.3107 43.0287 35.4214C42.6037 34.5321 42.9859 33.4643 43.8752 33.0429C45.2895 32.3714 46.868 32.0679 48.4466 32.1643C53.2037 32.4607 57.0216 36.4286 57.1395 41.1964C57.1966 43.5286 56.3859 45.7786 54.8573 47.5357C53.7323 48.825 53.018 50.3464 52.7966 51.9357C52.6109 53.2464 52.018 54.4357 51.0823 55.375C49.9145 56.5429 48.3609 57.15 46.7895 57.15L46.7859 57.1429Z" fill="%23111111"/>%0A</g>%0A<defs>%0A<clipPath id="clip0_2256_7437">%0A<rect width="100" height="100" fill="white"/>%0A</clipPath>%0A</defs>%0A</svg>%0A';const ay=ny,ho=o.forwardRef(function({item:e,disabled:t=!1,onPlayDone:a,selectable:r=!1,selected:s=!1,onSelect:i,flipDelay:l=0,hideLabel:c=!1,hideAudio:u=!1,orderRank:d=null},p){const{t:m}=fe.useTranslation(),h=e.word||e.title||"",g=t||!h,C=e.audio??e.sound??e.audioKey,b=e.subLabel||e.pronunciation||"",_=e.colloquialLabel||"",[f,y]=o.useState({label:h,subLabel:b,colloquialLabel:_,homonum:e.homonum});h&&(f.label!==h||f.subLabel!==b||f.colloquialLabel!==_||!Object.is(f.homonum,e.homonum))&&y({label:h,subLabel:b,colloquialLabel:_,homonum:e.homonum});const x=o.useRef(null),v=en("(max-width: 767px)"),[k,w]=o.useState(!1),D=`${typeof C=="string"?C:C?.src??""}\0${h}`,[B,A]=o.useState({for:"",url:""}),N=B.for===D?B.url:"",M=Zs(),I=e.textOnly??(!e.image&&!!f.label&&!!M&&M.entries.length>0&&!M.byWord.has(f.label)),$=I?"":Un()?.(f.label,f.homonum)??e.image??"",{imgRef:V,loading:S,hasImage:F,onLoad:z,onError:Y}=mo($);o.useEffect(()=>{let j=!1;return(async()=>{if(C){if(typeof C=="string"){if(C.startsWith("http")||C.includes("/")){A({for:D,url:C});return}}else if(typeof C=="object"&&!Array.isArray(C)){const Q=C.src;if(Q){A({for:D,url:Q});return}}}const L=Ar();if(L&&h)try{const Q=await Promise.resolve(L(h));!j&&Q&&A({for:D,url:Q})}catch{}})(),()=>{j=!0}},[C,h,D]);const U=o.useRef(!0),G=o.useRef(null);o.useEffect(()=>(U.current=!0,()=>{U.current=!1,G.current&&Xa(G.current),G.current=null;try{x.current?.pause()}catch{}x.current=null}),[]);const W=o.useCallback(()=>new Promise(j=>{if(typeof window<"u"&&window.speechSynthesis&&h){w(!0),window.speechSynthesis.cancel();const L=new SpeechSynthesisUtterance(h);L.lang="ko-KR",L.onend=()=>{w(!1);try{a?.()}catch{}j()},L.onerror=()=>{w(!1),j()},window.speechSynthesis.speak(L)}else j()}),[h,a]),Z=o.useCallback(j=>new Promise(L=>{let Q=!1;const J=()=>{Q||(Q=!0,w(!1),L(!1))};try{const oe=new Audio(j);x.current=oe,oe.onended=()=>{if(!Q){Q=!0,w(!1);try{a?.()}catch{}L(!0)}},oe.onerror=J,oe.play().catch(J)}catch{J()}}),[a]),P=o.useCallback(async()=>{if(t||!U.current)return;const j=()=>{G.current===j&&(G.current=null);try{x.current?.pause()}catch{}try{window.speechSynthesis?.cancel()}catch{}w(!1)},L=Za(j);G.current=j;try{window.speechSynthesis?.cancel()}catch{}try{if(N&&(w(!0),await Z(N)))return;const Q=F0();if(Q&&h)try{const J=await Promise.resolve(Q(h));if(!U.current||G.current!==j||J&&(w(!0),await Z(J)))return}catch{}if(!U.current||G.current!==j)return;await W()}finally{L(),G.current===j&&(G.current=null)}},[t,N,h,Z,W]);o.useImperativeHandle(p,()=>({play:()=>P()}),[P]);const T=j=>j.stopPropagation(),O=o.useCallback(j=>{if(j.stopPropagation(),!t){if(k){try{x.current?.pause()}catch{}try{window.speechSynthesis?.cancel()}catch{}w(!1);return}P()}},[t,k,P]),R=Be("training-word-card",t?"training-word-card--disabled":"",g?"training-word-card--flipped":"",r?"training-word-card--selectable":"",s?"training-word-card--selected":"");return n.jsx("div",{className:R,onClick:r&&!t?i:void 0,role:r?"button":void 0,"aria-pressed":r?s:void 0,tabIndex:r&&!t?0:void 0,"aria-disabled":r&&t?!0:void 0,onKeyDown:r&&!t?j=>{j.target===j.currentTarget&&(j.key==="Enter"||j.key===" "||j.key==="Spacebar")&&(j.preventDefault(),i?.())}:void 0,children:n.jsxs("div",{className:"training-word-card__flipper",style:{transitionDelay:g?"0ms":`${l}ms`},children:[n.jsxs("div",{className:"training-word-card__front",children:[s&&n.jsx("div",{className:"training-word-card__selected-badge",onClick:T,children:n.jsx(pt,{type:"dot",size:40,position:"inline",animate:!0,icon:d!=null?void 0:"check",number:d??void 0,"aria-label":d!=null?m("training.nthSelected",{n:d}):m("training.selected","\uC120\uD0DD\uB428")})}),n.jsx("div",{className:"training-word-card__image-wrap",children:I?n.jsx("div",{className:"training-word-card__text-face",children:f.label}):F?n.jsxs(n.Fragment,{children:[S&&n.jsx("div",{className:"training-word-card__spinner"}),n.jsx("img",{ref:V,className:"training-word-card__image",src:$,alt:f.label||m("common.image","\uC774\uBBF8\uC9C0"),style:{opacity:S?0:1},onLoad:z,onError:Y})]}):n.jsx("div",{className:"training-word-card__placeholder"})}),!c&&n.jsxs("div",{className:"training-word-card__body",children:[!I&&n.jsx("div",{className:"training-word-card__word",children:f.label}),f.subLabel&&n.jsxs("div",{className:"training-word-card__pronunciation",children:["[",f.subLabel,"]"]}),f.colloquialLabel&&n.jsxs("div",{className:"training-word-card__colloquial caption-1",children:["[",f.colloquialLabel,"]"]})]}),!u&&n.jsx("div",{className:"training-word-card__bottom",onClick:r?T:void 0,children:n.jsx(ce,{htmlType:"button",size:v?40:48,type:v?"dot":"bar",icon:k?"pause":"play",label:v?void 0:m("training.playSound","\uC18C\uB9AC \uB4E3\uAE30"),selected:k,onClick:O,disabled:t,ariaLabel:m("training.playSound","\uC18C\uB9AC \uB4E3\uAE30")})})]}),n.jsx("div",{className:"training-word-card__back","aria-hidden":"true",children:n.jsx("img",{src:ay,className:"training-word-card__disabled-symbol",alt:"",draggable:!1})})]})})}),ry=260;function Dn(e){const{t}=fe.useTranslation(),{title:a,subtitle:r,headerActions:s,children:i,buttons:l,footer:c,footerClassName:u="",onClose:d,closeDisabled:p=!1,beforeClose:m,closeOnBackdrop:h=!0,className:g="",ariaLabel:C,useTitle:b=!0,inline:_=!1,size:f,layer:y="modal",height:x,fillBody:v=!1,resetScrollKey:k}=e||{},[w,D]=o.useState(!1),B=o.useRef(!1),A=o.useRef(null),N=o.useId(),M=o.useRef(null);o.useEffect(()=>{},[_,a,C,g]),o.useEffect(()=>{k!==void 0&&M.current&&(M.current.scrollTop=0)},[k]);const[I,$]=o.useState(!1);o.useEffect(()=>{const j=M.current;if(!j)return;const L=()=>$(j.scrollHeight>j.clientHeight+1);if(L(),typeof ResizeObserver>"u")return;const Q=new ResizeObserver(L);Q.observe(j);const J=j.firstElementChild;return J&&Q.observe(J),()=>Q.disconnect()},[i,k]),o.useEffect(()=>{if(!_)return Al()},[_]),o.useEffect(()=>{if(_)return;const j=document.activeElement,L=A.current;return Ir(L,j),L&&!L.contains(document.activeElement)&&(L.querySelector(hn)??L).focus(),()=>{const Q=document.activeElement;(!Q||Q===document.body||L&&L.contains(Q))&&Fr(j)?.focus?.()}},[_]),Rr(A,!_);const V=o.useRef(!0),S=Or(),F=o.useRef(null);o.useEffect(()=>(V.current=!0,()=>{V.current=!1,F.current&&(clearTimeout(F.current),F.current=null)}),[]);const z=o.useCallback(()=>{!V.current||!B.current||(B.current=!1,D(!1))},[]),Y=o.useCallback((j,L=!1)=>{if(L&&!V.current||B.current)return;B.current=!0,D(!0);const Q=setTimeout(()=>{F.current===Q&&(F.current=null);let J;try{J=j?j():void 0}catch{z();return}J&&typeof J.then=="function"&&J.then(()=>{setTimeout(z,120)},z)},S?0:ry);L&&(F.current=Q)},[z,S]),U=o.useCallback(()=>{p||m&&m()===!1||Y(d,!0)},[Y,d,p,m]),G=o.useRef(U);o.useEffect(()=>{G.current=U});const W=!_&&!!d;o.useEffect(()=>{if(W)return Rn(()=>G.current())},[W]);const Z=W&&h,P=o.useRef(!1),T=j=>{P.current=j.target===j.currentTarget},O=j=>{const L=P.current;P.current=!1,L&&j.target===j.currentTarget&&U()},R=n.jsx("div",{className:`popup ${_?"popup--inline":""} ${y==="belowPagePopup"?"popup--below-page-popup":""} ${w?"popup--closing":""} ${g}`,onPointerDown:Z?T:void 0,onClick:Z?O:void 0,onMouseDown:_?void 0:j=>{j.target===j.currentTarget&&j.preventDefault()},children:n.jsxs("div",{ref:A,className:`popup-panel${f?` popup-panel--${f}`:""}${x!=null?" popup-panel--has-height":""}${v?" popup-panel--fill-body":""}`,style:x!=null?{"--popup-height":typeof x=="number"?`${x}px`:x}:void 0,tabIndex:-1,role:_?void 0:"dialog","aria-modal":_?void 0:!0,"aria-labelledby":!_&&b&&a?N:void 0,"aria-label":!_&&!(b&&a)?C??(typeof a=="string"?a:void 0):void 0,children:[!b&&(s||d)?n.jsxs("div",{className:"popup-close-float",children:[s,d&&n.jsx(ce,{htmlType:"button",size:40,type:"dot",icon:"x",variant:"transparent-gray",useBorder:!1,onClick:U,disabled:p,ariaLabel:t("common.close","\uB2EB\uAE30")})]}):a||s||d?n.jsxs("div",{className:`popup-header${r?" popup-header--with-subtitle":""}`,children:[n.jsxs("div",{className:"popup-header-main",children:[n.jsx("span",{id:N,className:"popup-title popup-title--left h2",children:a}),r&&n.jsx("span",{className:"popup-subtitle body-3",children:r})]}),n.jsxs("div",{className:"popup-header-actions",children:[s,d&&n.jsx(ce,{htmlType:"button",size:40,type:"dot",icon:"x",variant:"transparent-gray",useBorder:!1,onClick:U,disabled:p,ariaLabel:t("common.close","\uB2EB\uAE30")})]})]}):null,n.jsx("div",{className:"popup-content",ref:M,tabIndex:I?0:void 0,children:n.jsx("div",{className:"popup-content__inner",children:typeof i=="function"?i({animateThen:Y,closeWithAnimation:U}):i})}),l?.length?n.jsx("div",{className:"popup-footer popup-footer--buttons",children:l.map((j,L)=>n.jsx(ce,{htmlType:"button",size:48,variant:j.variant??"default",label:j.label,disabled:j.disabled,onClick:()=>j.onClick?.({animateThen:Y,closeWithAnimation:U})},L))}):c?n.jsx("div",{className:`popup-footer${u?` ${u}`:""}`,children:typeof c=="function"?c({animateThen:Y,closeWithAnimation:U}):c}):null]})});return _||typeof document>"u"?R:Wt.createPortal(R,document.body)}function er(e){return String(e)}const ec=["o","triangle","x"];function tc(e,t){return e===t?null:t}const nc={o:"circle",triangle:"triangle",x:"x"},ac={o:"main",triangle:"warn",x:"danger"};function oy(e){let t=0,a=0,r=0;for(const i of Object.values(e))i==="o"?t++:i==="triangle"?a++:i==="x"&&r++;const s=t+a+r;return{marked:s,o:t,triangle:a,x:r,rate:s===0?null:(t+a*.5)/s}}function fo(e){const t={};for(const[a,r]of Object.entries(e))(r==="o"||r==="triangle"||r==="x")&&(t[a]=r);return t}function rc(e){const t=[];let a=0;for(const r of e)t.push(a),a+=r;return t}function sy(e,t){return!t&&e>0}const aa={landscape:{width:1123,height:794,printSize:"A4 landscape",printW:"297mm",printH:"210mm"},portrait:{width:794,height:1123,printSize:"A4 portrait",printW:"210mm",printH:"297mm"}};function iy(e="landscape"){jn("print-word-table-deprecated","[printWordTable] @deprecated \u2014 WordTablePopup renderButtons \uC758 print(\uB610\uB294 useWordTablePrint().print)\uB97C \uC4F0\uC138\uC694. \uC804\uC5ED \uC778\uC1C4\uB294 \uD654\uBA74\uC758 \uBAA8\uB4E0 \uB2E8\uC5B4\uD45C\uB97C \uD568\uAED8 \uCC0D\uC2B5\uB2C8\uB2E4.");const{printSize:t,printW:a,printH:r}=aa[e],s=document.createElement("style");s.textContent=`@page { size: ${t}; margin: 0; } .word-table { width: ${a} !important; height: ${r} !important; }`,document.head.appendChild(s);const i=()=>{document.head.removeChild(s),window.removeEventListener("afterprint",i)};window.addEventListener("afterprint",i),window.print()}function oc(e,t){if(e.length===0)return[[]];const a=Math.max(1,Math.floor(t)),r=[];for(let s=0;s<e.length;s+=a)r.push(e.slice(s,s+a));return r}const ly={landscape:{1:{cols:1,rows:1},2:{cols:2,rows:1},3:{cols:3,rows:1},4:{cols:2,rows:2},5:{cols:3,rows:2},6:{cols:3,rows:2},7:{cols:4,rows:2},8:{cols:4,rows:2},9:{cols:5,rows:2},10:{cols:5,rows:2},11:{cols:4,rows:3},12:{cols:4,rows:3}},portrait:{1:{cols:1,rows:1},2:{cols:1,rows:2},3:{cols:1,rows:3},4:{cols:1,rows:4},5:{cols:1,rows:5},6:{cols:2,rows:3},7:{cols:2,rows:4},8:{cols:2,rows:4},9:{cols:2,rows:5},10:{cols:2,rows:5},11:{cols:3,rows:4},12:{cols:3,rows:4}}};function cy(e,t){const a=ly[e][t];if(a)return a;const r=Math.max(1,Math.ceil(t)),s=Math.max(1,Math.ceil(Math.sqrt(r*.707)));let i,l;return e==="landscape"?(l=s,i=Math.ceil(r/l)):(i=s,l=Math.ceil(r/i)),(e==="landscape"?i<l:l<i)&&([i,l]=[l,i]),{cols:i,rows:l}}const uy={\uD45C\uC2DC:"word-table-block__content--cut-show",\uC810\uC120:"",\uCF54\uB108:"word-table-block__content--cut-corner",\uBBF8\uD45C\uC2DC:""},sc={\uBA85:"\uBA85\uC0AC",\uB3D9:"\uB3D9\uC0AC",\uD615:"\uD615\uC6A9\uC0AC",\uBD80:"\uBD80\uC0AC",\uC218:"\uC218\uC0AC",\uAD00:"\uAD00\uD615\uC0AC",\uAC10:"\uAC10\uD0C4\uC0AC",\uC870:"\uC870\uC0AC",\uC811:"\uC811\uC0AC",\uC758:"\uC758\uC874\uBA85\uC0AC",\uB300:"\uB300\uBA85\uC0AC",\uBCF4\uB3D9:"\uBCF4\uC870\uB3D9\uC0AC",\uBCF4\uD615:"\uBCF4\uC870\uD615\uC6A9\uC0AC"},ic={\uACE0\uC720:"\uACE0\uC720\uC5B4",\uD55C\uC790:"\uD55C\uC790\uC5B4",\uC678\uB798:"\uC678\uB798\uC5B4",\uD63C\uC885:"\uD63C\uC885\uC5B4"};function Co(e,t){return e?e.split("/").map(a=>t[a]??a).join("/"):""}function lc(e,t,a,r){if(r!=="\uC810\uC120")return{};const s=e%t,i=Math.floor(e/t),l=s<t-1,c=i<a-1;if(!l&&!c)return{};const u="#ddd",d=g=>`repeating-linear-gradient(to ${g}, ${u} 0, ${u} 5px, transparent 5px, transparent 10px)`,p=[],m=[],h=[];return l&&(p.push(d("bottom")),m.push("1px 100%"),h.push("right center")),c&&(p.push(d("right")),m.push("100% 1px"),h.push("center bottom")),{backgroundImage:p.join(", "),backgroundSize:m.join(", "),backgroundPosition:h.join(", "),backgroundRepeat:"no-repeat",printColorAdjust:"exact",WebkitPrintColorAdjust:"exact"}}const dy=280,py=240,my=280,hy=400,fy=120,Cy=280;function cc(e,t){const a=o.useRef(null),[r,s]=o.useState(1),[i,l]=o.useState(0),c=o.useCallback((u,d)=>{const p=u/e,m=t?d/t:1/0,h=Math.min(1,p,m);s(h),l(Math.max(0,(u-e*h)/2))},[e,t]);return o.useEffect(()=>{const u=a.current;if(!u)return;const d=t?u.parentElement??u:u;if(c(d.clientWidth,d.clientHeight),typeof ResizeObserver>"u")return;const p=new ResizeObserver(([m])=>c(m.contentRect.width,m.contentRect.height));return p.observe(d),()=>p.disconnect()},[c,t]),{scalerRef:a,scale:r,offset:i}}const gy={position:"absolute",width:1,height:1,margin:-1,padding:0,overflow:"hidden",clipPath:"inset(50%)",whiteSpace:"nowrap",border:0},by=400,uc=8;function dc({label:e,subLabel:t,colloquialLabel:a,homonum:r,showWord:s=!0,showImage:i=!0,showPronunciation:l=!0,showColloquial:c=!0,buttonSize:u=40,wordInfo:d}){const{t:p}=fe.useTranslation(),m=o.useRef(null),h=o.useRef(null),g=o.useRef(null),[C,b]=o.useState(1),[_,f]=o.useState(!1),[y,x]=o.useState({for:"",url:""}),[v,k]=o.useState(null),w=t&&t.length>0?t:H0()?.(e,r)??"",D=Un()?.(e,r)??"",{imgRef:B,loading:A,failed:N,onLoad:M,onError:I}=mo(D),$=o.useCallback(()=>k(h.current?.getBoundingClientRect()??null),[]),V=o.useCallback(()=>k(null),[]),S=Vr(!!v,O=>{O?$():V()},h),F=o.useMemo(()=>{if(!d)return null;const O=[];return d.grade&&O.push(p("wordTable.info.grade",{n:d.grade,defaultValue:"\uB09C\uC774\uB3C4: {{n}}\uB4F1\uAE09"})),d.syllables&&O.push(p("wordTable.info.syllables",{n:d.syllables,defaultValue:"\uC74C\uC808 \uC218: {{n}}\uC74C\uC808"})),d.pos&&O.push(p("wordTable.info.pos",{v:Co(d.pos,yy(p)),defaultValue:"\uD488\uC0AC: {{v}}"})),d.wordType&&O.push(p("wordTable.info.wordType",{v:Co(d.wordType,vy(p)),defaultValue:"\uC720\uD615: {{v}}"})),O.length?O:null},[d,p]),z=w||e,Y=y.for===z?y.url:"";o.useEffect(()=>{const O=Ar(),R=w||e;if(!O||!R)return;let j=!1;return Promise.resolve(O(R)).then(L=>{!j&&L&&x({for:R,url:L})}),()=>{j=!0}},[w,e]);const U=o.useRef(null),G=o.useRef(null);o.useEffect(()=>()=>{g.current?.pause(),G.current?.()},[]);const W=o.useCallback(async O=>{if(O.stopPropagation(),_){U.current?.();return}if(Y){f(!0);try{const R=new Audio(Y);g.current=R;const j=()=>{f(!1),G.current?.()},L=()=>{R.pause(),j()};U.current=L;const Q=Za(L);G.current=Q,R.onended=j,R.onerror=j,await R.play()}catch{f(!1),G.current?.()}}},[_,Y]),Z=i&&!!D&&!N,P=Z&&s?dy:Z?my:py,T=Z&&s?hy:Z?Cy:fy;return o.useEffect(()=>{const O=m.current;if(!O||typeof ResizeObserver>"u")return;const R=new ResizeObserver(([j])=>{const{width:L,height:Q}=j.contentRect;b(Math.min(L/P,Q/T))});return R.observe(O),()=>R.disconnect()},[P,T]),n.jsxs("div",{ref:m,className:"word-table-cell",children:[n.jsxs("div",{className:"word-table-cell__inner",style:{transform:`scale(${C})`},children:[Z&&n.jsxs("div",{className:"word-table-cell__image-wrap",children:[A&&n.jsx("div",{className:"word-table-cell__spinner"}),n.jsx("img",{ref:B,className:"word-table-cell__image",src:D,alt:e,draggable:!1,style:{opacity:A?0:1},onLoad:M,onError:I})]}),s&&n.jsx("span",{className:"word-table-cell__word h0",children:e}),l&&w&&n.jsxs("span",{className:"word-table-cell__sub h3",children:["[",w,"]"]}),c&&a&&n.jsxs("span",{className:"word-table-cell__colloquial h5",children:["[",a,"]"]})]}),n.jsxs("div",{className:"word-table-cell__play-button","data-audio-src":Y,children:[n.jsx("span",{"data-play-state":"play",style:{display:_?"none":void 0},children:n.jsx(ce,{htmlType:"button",size:u,type:"dot",icon:"play",variant:"transparent-lightGray",useBorder:!1,showTooltipInfo:p("common.play","\uC7AC\uC0DD"),onClick:W})}),n.jsx("span",{"data-play-state":"pause",style:{display:_?void 0:"none"},children:n.jsx(ce,{htmlType:"button",size:u,type:"dot",icon:"pause",useBorder:!1,selected:!0,showTooltipInfo:p("common.pause","\uBA48\uCDA4"),onClick:W})})]}),d&&n.jsxs("div",{ref:h,className:"word-table-cell__info-button",onPointerEnter:O=>{Zn(O)||$()},onPointerLeave:O=>{Zn(O)||V()},onFocus:()=>{Xn()||$()},onBlur:V,children:[n.jsx(ce,{htmlType:"button",size:u,type:"dot",icon:"info",variant:"transparent-lightGray",useBorder:!1,showTooltipInfo:!1,ariaLabel:p("wordTable.wordInfo","{{word}} \uB0B1\uB9D0 \uC815\uBCF4",{word:e}),onClick:O=>{O.stopPropagation(),S.touchPress()}}),v&&F&&n.jsx(Pn,{anchorRect:v,items:F,showIndex:!1})]})]})}const pc={\uBA85:"noun",\uB3D9:"verb",\uD615:"adjective",\uBD80:"adverb",\uC218:"numeral",\uAD00:"determiner",\uAC10:"interjection",\uC870:"particle",\uC811:"affix",\uC758:"dependentNoun",\uB300:"pronoun",\uBCF4\uB3D9:"auxVerb",\uBCF4\uD615:"auxAdjective"},mc={\uACE0\uC720:"native",\uD55C\uC790:"sino",\uC678\uB798:"foreign",\uD63C\uC885:"mixed"};function yy(e){return Object.fromEntries(Object.entries(sc).map(([t,a])=>[t,pc[t]?e(`wordTable.pos.${pc[t]}`,{defaultValue:a}):a]))}function vy(e){return Object.fromEntries(Object.entries(ic).map(([t,a])=>[t,mc[t]?e(`wordSearch.filter.type.${mc[t]}`,{defaultValue:a}):a]))}function ra({title:e,titleIcon:t,disc:a,className:r,orientation:s="landscape",contentTypes:i=["\uC774\uBBF8\uC9C0","\uB2E8\uC5B4","\uD45C\uC900 \uBC1C\uC74C"],cutLine:l="\uD45C\uC2DC",showOutline:c=!0,showDivLine:u=!0,items:d,editCells:p,count:m,activeCell:h=null,onActivateCell:g,onRemoveCell:C,onRemoveItem:b,onReorder:_,showFillerAdd:f=!1,contentRef:y,buttonSize:x=40,pageNumber:v,pageNumberPosition:k="right",fitHeight:w=!1,scoring:D=!1,marks:B,onMarkClick:A,scoreIndexOffset:N=0}){const M=o.useCallback((ee,de)=>{A?.(N+ee,de)},[A,N]),I=(ee,de)=>{const te=B?.[er(N+ee)]??null;return n.jsx("div",{className:Be("word-table-cell__score",te?"word-table-cell__score--marked":""),children:ec.map(he=>n.jsx("span",{className:Be("word-table-cell__score-slot",te===he?"word-table-cell__score-slot--on":""),children:n.jsx(ce,{htmlType:"button",size:x,type:"dot",icon:nc[he],variant:te===he?ac[he]:"default",selected:te===he,useBorder:!1,showTooltipInfo:!1,ariaLabel:$(`wordTable.scoring.${he}`,{word:de,defaultValue:`${de} ${he}`}),onClick:be=>{be.stopPropagation(),M(ee,he)}})},he))})},{t:$}=fe.useTranslation(),V=p!==void 0,S=e!=null||!!t||!!a,F=o.useRef(null),[z,Y]=o.useState(null),U=d?.length??0,[G,W]=o.useState(null),[Z,P]=o.useState(""),T=o.useRef(null),O=o.useRef(null),R=o.useRef(null),j=o.useRef(null),L=o.useCallback(ee=>{O.current=ee,typeof y=="function"?y(ee):y&&(y.current=ee)},[y]),Q=o.useCallback((ee,de)=>{T.current=de,_?.(ee,de),P($("wordTable.reorder.moved",{n:de+1,total:U,defaultValue:"{{total}}\uCE78 \uAC00\uC6B4\uB370 {{n}}\uBC88\uC9F8\uB85C \uC62E\uAE40"}))},[_,$,U]);o.useEffect(()=>{const ee=T.current;ee!=null&&(T.current=null,O.current?.querySelectorAll(".word-table-block__card:not(.word-table-block__card--filler)")?.[ee]?.querySelector(".word-table-block__card-handle button")?.focus())}),o.useEffect(()=>()=>{j.current?.()},[]);const J=o.useCallback((ee,de)=>{if(!_||!ee.altKey||ee.ctrlKey||ee.metaKey)return;const te=ee.key==="ArrowRight";if(!te&&ee.key!=="ArrowLeft")return;ee.preventDefault();const he=de+(te?1:-1);he<0||he>=U||Q(de,he)},[_,U,Q]),oe=o.useCallback((ee,de)=>{if(!_||ee.pointerType==="mouse")return;const te=ee.target.closest?.("button");if(te&&!te.closest(".word-table-block__card-handle"))return;j.current?.();const he={x:ee.clientX,y:ee.clientY};let be=!1;const Ye=$e=>{be&&$e.cancelable&&$e.preventDefault()},He=$e=>{if(!be){(Math.abs($e.clientX-he.x)>uc||Math.abs($e.clientY-he.y)>uc)&&Ue();return}const Ie=document.elementFromPoint?.($e.clientX,$e.clientY)?.closest?.("[data-wordtable-cell]"),Ve=Ie?Number(Ie.dataset.wordtableCell):NaN,at=Number.isInteger(Ve)?Ve:null;R.current=at,Y(at)},qe=()=>{const $e=R.current,Ie=be;Ue(),Ie&&$e!=null&&$e!==de&&Q(de,$e)},Se=setTimeout(()=>{be=!0,W(de),R.current=de,Y(de),window.addEventListener("touchmove",Ye,{passive:!1})},by);function Ue(){clearTimeout(Se),window.removeEventListener("pointermove",He),window.removeEventListener("pointerup",qe),window.removeEventListener("pointercancel",qe),window.removeEventListener("touchmove",Ye),be=!1,R.current=null,j.current=null,W(null),Y(null)}j.current=Ue,window.addEventListener("pointermove",He),window.addEventListener("pointerup",qe),window.addEventListener("pointercancel",qe)},[_,Q]),{width:ge,height:Me}=aa[s],{scalerRef:Ne,scale:ie,offset:q}=cc(ge,w?Me:void 0),se=V?p?.length??0:d?.length??0,me=Math.max(m??se,1),{cols:_e,rows:we}=cy(s,me),De={word:i.length===0||i.includes("\uB2E8\uC5B4"),image:i.length===0||i.includes("\uC774\uBBF8\uC9C0"),pron:i.length===0||i.includes("\uD45C\uC900 \uBC1C\uC74C"),colloq:i.length===0||i.includes("\uAD6C\uC5B4\uCCB4 \uBC1C\uC74C")},xe=V?(p??[]).some(ee=>ee!==null&&ee.length>1):(d??[]).some(ee=>(ee.words??[]).length>1),Ae=Be("word-table-block__content",uy[l],c&&"word-table-block__content--outline",u&&xe&&"word-table-block__content--div-line"),Te={transform:`scale(${1/ie})`,transformOrigin:"center center"},ae=n.jsxs("div",{ref:Ne,className:"word-table__scaler",style:{height:Me*ie},children:[n.jsx("div",{className:Be("word-table",!S&&r),style:{width:ge,height:Me,transform:`scale(${ie})`,transformOrigin:"top left",marginLeft:q},children:n.jsxs("div",{ref:L,className:Ae,style:{gridTemplateColumns:`repeat(${_e}, 1fr)`,gridTemplateRows:`repeat(${we}, 1fr)`},children:[V?n.jsx(n.Fragment,{children:(p??[]).map((ee,de)=>n.jsx("div",{className:Be("word-table-block__edit-cell",ee?"word-table-block__edit-cell--filled":"word-table-block__edit-cell--empty",h===de?"word-table-block__edit-cell--active":""),style:lc(de,_e,we,l),children:ee?n.jsxs(n.Fragment,{children:[ee.map((te,he)=>n.jsxs(o.Fragment,{children:[he>0&&n.jsx("div",{className:"word-table-block__pair-divider"}),n.jsx(dc,{label:te.word,subLabel:te.pronunciation,colloquialLabel:te.colloquialPronunciation,homonum:te.homonum,showWord:De.word,showImage:De.image,showPronunciation:De.pron,showColloquial:De.colloq,buttonSize:x})]},he)),D&&I(de,ee.map(te=>te.word).join(" / ")),C&&n.jsx("div",{className:"word-table-block__card-close",children:n.jsx(ce,{htmlType:"button",size:x,type:"dot",icon:"x",variant:"transparent-lightGray",useBorder:!1,showTooltipInfo:ee.length>1?$("wordPrint.removePair","\uB300\uB9BD\uC30D \uBE7C\uAE30"):$("wordPrint.removeWord","\uB2E8\uC5B4 \uBE7C\uAE30"),ariaLabel:ee.length>1?$("wordPrint.removePair","\uB300\uB9BD\uC30D \uBE7C\uAE30"):$("wordPrint.removeWord","\uB2E8\uC5B4 \uBE7C\uAE30"),onClick:()=>C(de)})})]}):g&&n.jsx("div",{style:Te,children:n.jsx(ce,{htmlType:"button",size:"48",type:"bar",icon:"plus",label:$("wordTable.addWord","\uCD94\uAC00\uD558\uAE30"),onClick:()=>g(de)})})},de))}):n.jsxs(n.Fragment,{children:[(d??[]).map((ee,de)=>n.jsxs("div",{"data-wordtable-cell":_?de:void 0,className:`word-table-block__card${_?" word-table-block__card--draggable":""}${z===de?" word-table-block__card--drag-over":""}${G===de?" word-table-block__card--dragging":""}`,style:lc(de,_e,we,l),draggable:!!_,onPointerDown:_?te=>oe(te,de):void 0,onKeyDown:_?te=>J(te,de):void 0,onDragStart:_?()=>{F.current=de}:void 0,onDragOver:_?te=>{te.preventDefault(),Y(de)}:void 0,onDragLeave:_?()=>Y(null):void 0,onDrop:_?te=>{te.preventDefault(),F.current!==null&&F.current!==de&&_(F.current,de),F.current=null,Y(null)}:void 0,onDragEnd:_?()=>{F.current=null,Y(null)}:void 0,children:[(ee.words??[]).map((te,he)=>n.jsxs(o.Fragment,{children:[he>0&&n.jsx("div",{className:"word-table-block__pair-divider"}),n.jsx(dc,{label:te.label,subLabel:te.subLabel,colloquialLabel:te.colloquialLabel,homonum:te.homonum,showWord:De.word,showImage:De.image,showPronunciation:De.pron,showColloquial:De.colloq,buttonSize:x,wordInfo:te.grade||te.syllables!=null||te.pos||te.wordType?{grade:te.grade,syllables:te.syllables,pos:te.pos,wordType:te.wordType}:void 0})]},he)),D&&I(de,(ee.words??[]).map(te=>te.label).join(" / ")),_&&n.jsx("div",{className:"word-table-block__card-handle",children:n.jsx(ce,{htmlType:"button",size:x,type:"dot",icon:"grip-vertical",variant:"transparent-lightGray",useBorder:!1,showTooltipInfo:$("wordTable.reorder.hint","Alt + \u2190 \u2192 \uB85C \uC21C\uC11C \uBC14\uAFB8\uAE30"),ariaLabel:$("wordTable.reorder.handle",{word:(ee.words??[]).map(te=>te.label).join(" / "),defaultValue:"{{word}} \uC21C\uC11C \uBC14\uAFB8\uAE30 (Alt + \uD654\uC0B4\uD45C)"})})}),b&&n.jsx("div",{className:"word-table-block__card-close",children:n.jsx(ce,{htmlType:"button",size:x,type:"dot",icon:"x",variant:"transparent-lightGray",useBorder:!1,showTooltipInfo:(ee.words??[]).length>1?$("wordPrint.removePair","\uB300\uB9BD\uC30D \uBE7C\uAE30"):$("wordPrint.removeWord","\uB2E8\uC5B4 \uBE7C\uAE30"),ariaLabel:(ee.words??[]).length>1?$("wordPrint.removePair","\uB300\uB9BD\uC30D \uBE7C\uAE30"):$("wordPrint.removeWord","\uB2E8\uC5B4 \uBE7C\uAE30"),onClick:()=>b(ee.id)})})]},ee.id)),Array.from({length:Math.max(0,_e*we-(d?.length??0))}).map((ee,de)=>{const te=(d?.length??0)+de<me;return n.jsx("div",{className:"word-table-block__card word-table-block__card--filler",children:f&&g&&te&&n.jsx("div",{style:Te,children:n.jsx(ce,{htmlType:"button",size:x,type:"bar",icon:"plus",label:$("wordTable.addWord","\uCD94\uAC00\uD558\uAE30"),onClick:()=>g((d?.length??0)+de)})})},`filler-${de}`)})]}),v&&k!=="none"&&n.jsx("span",{className:`word-table__page-number body-3 word-table__page-number--${k}`,children:$("wordTable.filter.pageIndicator",{current:v.current,total:v.total})})]})}),_&&n.jsx("span",{role:"status",style:gy,children:Z})]});return S?n.jsx(na,{type:"page",icon:t,title:e,disc:a,className:Be("word-table-block",r),children:ae}):ae}function yn({title:e,headerAction:t,collapsible:a=!1,defaultCollapsed:r=!1,collapsed:s,onCollapsedChange:i,footer:l,sections:c,selected:u={},onSelect:d,align:p,sectionAlign:m,className:h}){const g=(p??(m==="vertical"?"newline":"inline"))==="inline",{t:C}=fe.useTranslation(),[b,_]=o.useState(r),f=s??b,y=()=>{const v=!f;_(v),i?.(v)},x=e||t||a;return n.jsxs("div",{className:Be("filter-panel",a?"filter-panel--collapsible":"",f?"filter-panel--collapsed":"",h),children:[x&&n.jsxs("div",{className:"filter-panel__header",children:[n.jsxs("div",{className:"filter-panel__title-row",children:[a&&n.jsx(ce,{htmlType:"button",size:40,type:"dot",variant:"transparent-gray",useBorder:!1,icon:f?"chevron-down":"chevron-up",ariaLabel:f?C("common.expand","\uD3BC\uCE58\uAE30"):C("common.collapse","\uC811\uAE30"),"aria-expanded":!f,onClick:y}),e&&n.jsx("span",{className:"filter-panel__title h4",children:e})]}),n.jsx("div",{className:"filter-panel__header-actions",children:!f&&t})]}),!f&&n.jsxs(n.Fragment,{children:[n.jsx("div",{className:Be("filter-panel__sections",g?"filter-panel__sections--row":""),children:c.map(v=>{const k=u[v.label],w=k===void 0||(Array.isArray(k)?k.length===0:!1),D=(v.items??[]).filter(A=>A!=null);v.allOption&&D.some(A=>(typeof A=="string"?A:A.value)===rn)&&jn(`filter-panel-all-value:${v.label}`,`[FilterPanel] '${v.label}' \uC808\uC5D0 allOption \uACFC \uAC12 '${rn}' \uC778 \uBCF4\uAE30\uAC00 \uD568\uAED8 \uC788\uB2E4 \u2014 \uB450 \uC120\uD0DD\uC774 \uAD6C\uBCC4\uB418\uC9C0 \uC54A\uB294\uB2E4. \uBCF4\uAE30 \uAC12\uC744 \uBC14\uAFD4\uB77C.`);const B=A=>{const N=typeof A=="string"?A:A.value,M=typeof A!="string"&&!!A.disabled,I=typeof A!="string"?A.labels:void 0,$=typeof A!="string"?A.displayLabel:void 0,V=typeof A!="string"?A.tooltip:void 0,S=typeof A!="string"?A.descriptionTooltip:void 0,F=typeof A!="string"?A.shape:void 0,z=Array.isArray(k)?k.includes(N):k===N;return n.jsx(ce,{htmlType:"button",size:"keyboard",label:I??$??N,type:v.itemType??(I?"bar":N.length===1?"dot":void 0),selected:z,disabled:M,shape:F,showTooltipInfo:!!V,tooltipInfoText:V,tooltipDescription:S,onClick:()=>d?.(N,v.label)},N)};return n.jsxs(o.Fragment,{children:[v.groupLabel&&n.jsxs("div",{className:"filter-panel__group-label-row",children:[n.jsx("div",{className:"filter-panel__group-label body-2",children:v.groupLabel}),v.groupAction]}),n.jsxs("div",{className:Be("filter-panel__section",v.layout==="row"?"filter-panel__section--row":"",v.block?"filter-panel__section--block":""),children:[n.jsxs("div",{className:"filter-panel__section-label-row",children:[n.jsx("span",{className:"filter-panel__section-label body-3",children:v.displayLabel??v.label}),v.labelAction??(v.labelInfo?n.jsx(wa,{...v.labelInfo}):null)]}),v.type==="note"?n.jsx("div",{className:"filter-panel__note body-3",children:v.content}):v.type==="input"?n.jsx(On,{className:"filter-panel__textfield",placeholder:v.placeholder,ariaLabel:v.displayLabel??v.label,value:u[v.label]??"",onChange:A=>d?.(A,v.label),error:v.error}):!v.multiple&&v.display==="segmented"?n.jsx(Hn,{ariaLabel:v.displayLabel??v.label,options:[...v.allOption?[{key:rn,label:v.allLabel??C("common.all","\uC804\uCCB4"),disabled:v.allOptionDisabled}]:[],...D.map(A=>{const N=typeof A=="string"?A:A.value,M=typeof A!="string"?A.displayLabel:void 0,I=typeof A!="string"?A.disabled:void 0;return{key:N,label:M??N,disabled:I}})],value:w&&v.allOption?rn:u[v.label]??"",onChange:A=>d?.(A,v.label),size:32}):!v.multiple&&v.display==="dropdown"?n.jsx(tn,{className:"filter-panel__dropdown",size:40,options:[...v.allOption?[{value:rn,label:v.allLabel??C("common.all","\uC804\uCCB4"),disabled:v.allOptionDisabled}]:[],...D.map(A=>{const N=typeof A=="string"?A:A.value,M=typeof A!="string"?A.displayLabel:void 0,I=typeof A!="string"?A.disabled:void 0;return{value:N,label:M??N,disabled:I}})],value:w&&v.allOption?rn:u[v.label],onChange:A=>d?.(A,v.label)}):n.jsxs("div",{className:v.groups?"filter-panel__item-groups":"filter-panel__items",children:[v.allOption&&!v.groups&&n.jsx(ce,{htmlType:"button",size:"keyboard",label:v.allLabel??C("common.all","\uC804\uCCB4"),selected:w,disabled:v.allOptionDisabled,onClick:()=>d?.(rn,v.label)}),v.groups?v.groups.map((A,N)=>n.jsxs("div",{className:"filter-panel__item-group",children:[N===0&&v.allOption&&n.jsx(ce,{htmlType:"button",size:"keyboard",label:v.allLabel??C("common.all","\uC804\uCCB4"),selected:w,disabled:v.allOptionDisabled,onClick:()=>d?.(rn,v.label)}),A.filter(M=>M!=null).map(B)]},N)):D.map(B)]})]})]},v.label)})}),l!=null&&l!==!1&&n.jsx("div",{className:"filter-panel__footer body-3",children:l})]})]})}const xy=[1,2,3,4,5,6,7,8,9,10,11,12],hc=[8,4,2,1];function fc(e,t){return{label:e("wordTable.filter.composition","\uAD6C\uC131"),items:[{value:"\uC774\uBBF8\uC9C0",disabled:!t.hasImage,displayLabel:e("wordTable.filter.image","\uC774\uBBF8\uC9C0")},{value:"\uB2E8\uC5B4",displayLabel:e("wordTable.filter.word","\uB2E8\uC5B4")},{value:"\uD45C\uC900 \uBC1C\uC74C",displayLabel:e("wordTable.filter.standardPron","\uD45C\uC900 \uBC1C\uC74C")},{value:"\uAD6C\uC5B4\uCCB4 \uBC1C\uC74C",disabled:!t.hasColloquial,displayLabel:e("wordTable.filter.colloquialPron","\uAD6C\uC5B4\uCCB4 \uBC1C\uC74C")}],multiple:!0,allOption:!0}}function Cc(e){return{label:e("wordTable.filter.paperOrientation","\uC6A9\uC9C0 \uBC29\uD5A5"),items:[{value:"\uAC00\uB85C",displayLabel:e("wordTable.filter.landscape","\uAC00\uB85C")},{value:"\uC138\uB85C",displayLabel:e("wordTable.filter.portrait","\uC138\uB85C")}],display:"segmented"}}function gc(e){return{label:e("wordTable.filter.border","\uC678\uACFD\uC120"),items:[{value:"\uD45C\uC2DC",displayLabel:e("wordTable.filter.show","\uD45C\uC2DC")},{value:"\uBBF8\uD45C\uC2DC",displayLabel:e("wordTable.filter.hide","\uBBF8\uD45C\uC2DC")}],display:"segmented"}}function bc(e){return{label:e("wordTable.filter.cutLine","\uC808\uCDE8\uC120"),items:[{value:"\uD45C\uC2DC",displayLabel:e("wordTable.filter.show","\uD45C\uC2DC")},{value:"\uC810\uC120",displayLabel:e("wordTable.filter.dotted","\uC810\uC120")},{value:"\uCF54\uB108",displayLabel:e("wordTable.filter.corner","\uCF54\uB108")},{value:"\uBBF8\uD45C\uC2DC",displayLabel:e("wordTable.filter.hide","\uBBF8\uD45C\uC2DC")}],display:"segmented"}}function yc(e){return{label:e("wordPrint.divLine","\uB300\uB9BD\uC120"),items:[{value:"\uD45C\uC2DC",displayLabel:e("wordTable.filter.show","\uD45C\uC2DC")},{value:"\uBBF8\uD45C\uC2DC",displayLabel:e("wordTable.filter.hide","\uBBF8\uD45C\uC2DC")}],display:"segmented"}}function vc(e,t){return{label:e(t.hasPairs?"wordTable.filter.itemsPerPagePair":"wordTable.filter.itemsPerPageWord"),items:[t.itemCount,...hc.filter(a=>a<t.itemCount)].map(a=>({value:`${a}\uAC1C`,displayLabel:e("wordTable.filter.itemsPerPageOption",{count:a})})),display:"segmented"}}function xc(e,t){return e===t||!hc.includes(e)?Number.POSITIVE_INFINITY:e}function _c(e){return{label:e("wordTable.filter.pageNumber","\uD398\uC774\uC9C0 \uBC88\uD638"),items:[{value:"\uC67C\uCABD",displayLabel:e("wordTable.filter.pageNumberLeft","\uC67C\uCABD")},{value:"\uC911\uC559",displayLabel:e("wordTable.filter.pageNumberCenter","\uC911\uC559")},{value:"\uC624\uB978\uCABD",displayLabel:e("wordTable.filter.pageNumberRight","\uC624\uB978\uCABD")},{value:"\uBBF8\uD45C\uC2DC",displayLabel:e("wordTable.filter.hide","\uBBF8\uD45C\uC2DC")}],display:"segmented"}}const wc={left:"\uC67C\uCABD",center:"\uC911\uC559",right:"\uC624\uB978\uCABD",none:"\uBBF8\uD45C\uC2DC"};function kc(e){return e==="\uC67C\uCABD"?"left":e==="\uC911\uC559"?"center":e==="\uC624\uB978\uCABD"?"right":"none"}function Ac(e,t){return{[e("wordTable.filter.composition","\uAD6C\uC131")]:t.contentTypes,[e("wordTable.filter.paperOrientation","\uC6A9\uC9C0 \uBC29\uD5A5")]:t.orientation==="landscape"?"\uAC00\uB85C":"\uC138\uB85C",[e("wordTable.filter.border","\uC678\uACFD\uC120")]:t.showOutline?"\uD45C\uC2DC":"\uBBF8\uD45C\uC2DC",[e("wordTable.filter.cutLine","\uC808\uCDE8\uC120")]:t.cutLine,[e("wordPrint.divLine","\uB300\uB9BD\uC120")]:t.showDivLine?"\uD45C\uC2DC":"\uBBF8\uD45C\uC2DC"}}function Bc(e,t,a,r){return a===e("wordTable.filter.composition","\uAD6C\uC131")?t===rn?(r.setContentTypes(()=>[]),!0):(r.setContentTypes(s=>s.includes(t)?s.filter(i=>i!==t):[...s,t]),!0):a===e("wordTable.filter.paperOrientation","\uC6A9\uC9C0 \uBC29\uD5A5")?(r.setOrientation(t==="\uAC00\uB85C"?"landscape":"portrait"),!0):a===e("wordTable.filter.border","\uC678\uACFD\uC120")?(r.setShowOutline(t==="\uD45C\uC2DC"),!0):a===e("wordTable.filter.cutLine","\uC808\uCDE8\uC120")?(r.setCutLine(t),!0):a===e("wordPrint.divLine","\uB300\uB9BD\uC120")?(r.setShowDivLine(t==="\uD45C\uC2DC"),!0):!1}function _y(e){return"sections"in e}function go(e){const{t}=fe.useTranslation(),{title:a,className:r}=e;if(_y(e))return n.jsx(yn,{className:r,title:a??t("wordTable.filterTitle","\uD45C \uC124\uC815"),sections:e.sections,selected:e.selected,onSelect:e.onSelect,align:"inline"});const{hasImage:s,hasColloquial:i,contentTypes:l,orientation:c,showOutline:u,cutLine:d,showDivLine:p,setters:m,showCutLine:h=!1,showDivLine2:g=!1,middleSections:C=[],extraSelected:b={},onExtraSelect:_}=e,f=[fc(t,{hasImage:s,hasColloquial:i}),Cc(t),...C,gc(t),...h?[bc(t)]:[],...g?[yc(t)]:[]],y={...Ac(t,{contentTypes:l,orientation:c,showOutline:u,cutLine:d,showDivLine:p}),...b},x=(v,k)=>{Bc(t,v,k,m)||_?.(v,k)};return n.jsx(yn,{className:r,title:a??t("wordTable.filterTitle","\uD45C \uC124\uC815"),sections:f,selected:y,onSelect:x,sectionAlign:"horizontal"})}function Nc(e){return e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function bo(e){return e.replace(/[\\/:*?"<>|]/g,"_").trim()}let tr=null,oa=null;function wy(e,t,a,r="",s=""){if(e.length===0||oa&&oa.iframe.isConnected&&Date.now()-oa.at<1e4)return;const i=r?bo(r):"";tr?.();let l=null;if(i){const d=document.title;document.title=i,l=()=>{document.title=d,window.removeEventListener("afterprint",l),tr===l&&(tr=null)},tr=l,window.addEventListener("afterprint",l)}const c=document.createElement("iframe");c.style.cssText="position:fixed;left:-10000px;top:0;width:1200px;height:900px;border:0;",document.body.appendChild(c);const u=c.contentDocument;if(!u){c.remove();return}oa={iframe:c,at:Date.now()},u.open(),u.write(yo(e,t,a,!0,i,s)),u.close(),c.contentWindow?.addEventListener("afterprint",()=>{l?.(),setTimeout(()=>{c.remove(),oa?.iframe===c&&(oa=null)},0)})}function yo(e,t,a,r=!1,s="",i=""){s=s?bo(s):"";const l=Array.from(document.styleSheets).flatMap(p=>{try{return Array.from(p.cssRules).map(m=>m.cssText)}catch{return[]}}).join(`
843
+ `),b=C===-1?a:a.slice(0,C);i("comment",b),a=a.slice(b.length);continue}const c=a.match(/^\/\*[\s\S]*?\*\//);if(c){i("comment",c[0]),a=a.slice(c[0].length);continue}const u=a.match(/^(`(?:\\.|[^`])*`|"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*')/);if(u){i("string",u[0]),a=a.slice(u[0].length);continue}const d=a.match(/^\d+(?:\.\d+)?/);if(d){i("number",d[0]),a=a.slice(d[0].length);continue}const p=a.match(C4);if(p){i("keyword",p[0]),a=a.slice(p[0].length);continue}const m=a.match(/^[A-Za-z_$][A-Za-z0-9_$-]*/);if(m){const C=m[0];i(s&&f4.has(C)?"command":"identifier",C),a=a.slice(C.length);continue}const h=a.match(/^[=+\-*/%<>!&|^~?:]+/);if(h){i("operator",h[0]),a=a.slice(h[0].length);continue}const g=a.match(/^[()[\]{};.,]/);if(g){i("punctuation",g[0]),a=a.slice(1);continue}i("other",a[0]),a=a.slice(1)}return r}function b4({children:e,language:t="bash",title:a="",showCopy:r=!0,size:s="default",className:i=""}){const{t:l}=fe.useTranslation(),[c,u]=o.useState(!1),d=h4(Sl(e)),p=o.useRef(null);o.useEffect(()=>()=>{p.current&&clearTimeout(p.current)},[]);const m=async()=>{try{if(!await g2(d))return;u(!0),p.current&&clearTimeout(p.current),p.current=setTimeout(()=>u(!1),2e3)}catch{}},h=g4(d,t),g=s==="small"?"caption-1":"body-3";return n.jsxs("div",{className:Be("code-box",s==="small"?"code-box--small":"",i),children:[(a||r)&&n.jsxs("div",{className:"code-box__header",role:"toolbar","aria-label":l("common.codeBlock","\uCF54\uB4DC \uBE14\uB85D"),children:[n.jsx("div",{className:"code-box__title caption-1",children:a}),r&&n.jsx(ce,{htmlType:"button",className:"code-box__copy",size:40,type:"dot",variant:"transparent-gray",useBorder:!1,icon:c?"check":"copy",onClick:m,ariaLabel:c?l("common.copied","\uBCF5\uC0AC\uB428"):l("common.copyCode","\uCF54\uB4DC \uBCF5\uC0AC")})]}),n.jsx("pre",{className:"code-box__inner","data-lang":t,children:n.jsx("code",{children:h.map((C,b)=>n.jsx("span",{className:`code-token ${C.type} ${g}`,children:C.content},b))})})]})}const y4={position:"absolute",width:1,height:1,margin:-1,padding:0,overflow:"hidden",clipPath:"inset(50%)",whiteSpace:"nowrap",border:0};function Ba(e){const{t}=fe.useTranslation(),{variant:a="spinner",size:r=24,progress:s=null,label:i}=e||{},l=i||t("loader.loading","Loading");if(a==="bar"){const u=s==null||!Number.isFinite(Number(s)),d=u?0:Math.max(0,Math.min(100,Number(s)));return n.jsx("div",{className:`loader-bar${u?" loader-bar--indeterminate":""}`,role:"progressbar","aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":u?void 0:d,"aria-label":l,children:n.jsx("div",{className:"loader-bar__inner",style:u?void 0:{width:`${d}%`}})})}const c=typeof r=="number"?`${r}px`:r;return n.jsxs("div",{className:"loader-spinner",style:{width:c,height:c},role:"status","aria-label":l,children:[n.jsx("span",{style:y4,children:l}),n.jsxs("svg",{className:"loader-spinner__svg",viewBox:"0 0 50 50",width:r,height:r,children:[n.jsx("circle",{className:"loader-spinner__bg",cx:"25",cy:"25",r:"20",fill:"none",strokeWidth:"4"}),n.jsx("circle",{className:"loader-spinner__fg",cx:"25",cy:"25",r:"20",fill:"none",strokeWidth:"4",strokeLinecap:"round"})]})]})}function El({checked:e,onChange:t,disabled:a=!1,label:r,ariaLabel:s,labelPosition:i="right",className:l="",id:c}){const u=r&&n.jsx("span",{className:"toggle__label body-3",children:r});return n.jsxs("label",{className:`toggle${a?" toggle--disabled":""} ${l}`.trim(),children:[i==="left"&&u,n.jsx("input",{id:c,type:"checkbox",role:"switch",checked:e,disabled:a,onChange:d=>t?.(d.target.checked),"aria-label":!r&&s?s:void 0}),n.jsx("span",{className:"toggle__slider"}),i==="right"&&u]})}function Tl({checked:e=!1,onChange:t,disabled:a,indeterminate:r,label:s,size:i="medium",className:l,title:c,ariaLabel:u}){const d=o.useRef(null),p=o.useId(),m=o.useRef(!!r);return m.current=!!r,o.useEffect(()=>{d.current&&(d.current.indeterminate=!!r)}),n.jsxs("label",{className:Be("checkbox",i==="small"&&"checkbox--small",i==="large"&&"checkbox--large",a&&"checkbox--disabled",l),htmlFor:p,title:c,children:[n.jsx("input",{ref:d,id:p,type:"checkbox",className:"checkbox__input",checked:e,onChange:h=>{t?.(h.target.checked),d.current&&(d.current.indeterminate=m.current)},disabled:a,"aria-label":!s&&u?u:void 0}),n.jsx("span",{className:"checkbox__box"}),s&&n.jsx("span",{className:"checkbox__label body-3",children:s})]})}function v4({count:e,actions:t,onClear:a,clearLabel:r,visible:s,content:i,max:l}){const{t:c}=fe.useTranslation(),u=s!==void 0?s:e>0,d=r??c("bulkBar.clearSelection","\uC120\uD0DD \uD574\uC81C"),p=o.useRef(null),m=o.useRef(null),h=o.useRef(null),g=o.useRef(u);o.useLayoutEffect(()=>{const y=m.current,x=g.current;if(g.current=u,u&&!x){const v=typeof document<"u"?document.activeElement:null;h.current=v&&v!==document.body&&!y?.contains(v)?v:null}else!u&&x&&y&&y.contains(document.activeElement)&&Oa(y,h.current)},[u]);const[C,b]=o.useState(!1),_=o.useRef(!1),f=o.useRef(null);return o.useEffect(()=>{const y=p.current;if(!y)return;const x=B=>{_.current=B,b(B)},v=()=>{const B=y.firstElementChild??y,N=Array.from(B.children);if(N.length<2){x(!1);return}const M=N[0].offsetTop,P=N.some(Y=>Y.offsetTop!==M);if(!_.current){f.current=y.clientWidth,P&&x(!0);return}if(P)return;const $=N[0],W=N[N.length-1],S=W.offsetLeft+W.offsetWidth-$.offsetLeft,F=f.current;(F==null||S<=F)&&x(!1)};if(v(),typeof ResizeObserver>"u")return;const A=new ResizeObserver(v);A.observe(y);const w=y.parentElement;let D=w?.clientWidth??0;const k=new ResizeObserver(()=>{const B=w?.clientWidth??0;B!==D&&(D=B,f.current=null,v())});return w&&k.observe(w),()=>{A.disconnect(),k.disconnect()}},[i,e]),n.jsxs("div",{ref:m,className:`bulk-bar ${u?"bulk-bar--visible":""}`,inert:!u||void 0,"aria-hidden":u?void 0:!0,children:[n.jsx("span",{ref:p,className:"bulk-bar__count body-2",role:"status",children:i??n.jsx("b",{children:c("common.selectedCount",{count:e})})}),l!==void 0&&n.jsx(pt,{size:"small",fill:"soft",variant:"main",label:`${e} / ${l}`}),n.jsxs("div",{className:`bulk-bar__actions${C?" bulk-bar__actions--stacked":""}`,children:[n.jsx(ce,{htmlType:"button",size:40,label:d,onClick:a}),t.map((y,x)=>n.jsx(ce,{htmlType:"button",size:40,variant:y.variant??"default",icon:y.icon,label:y.label,onClick:y.onClick},x))]})]})}function jl(e,t){const a=()=>{if(e){const[b,_]=e.split("-");return{y:+b,m:+_-1}}const[g,C]=Mr(t).split("-");return{y:+g,m:+C-1}},[r,s]=o.useState(()=>a().y),[i,l]=o.useState(()=>a().m),c=o.useRef(e);o.useEffect(()=>{if(e===c.current)return;c.current=e;const g=a();s(g.y),l(g.m)},[e]);const u=o.useRef({y:r,m:i});o.useEffect(()=>{u.current={y:r,m:i}},[r,i]);const d=o.useCallback(g=>{const C=u.current.y*12+u.current.m+g,b=Math.floor(C/12),_=C-b*12;u.current={y:b,m:_},s(b),l(_)},[]),p=o.useCallback(()=>d(-1),[d]),m=o.useCallback(()=>d(1),[d]),h=o.useCallback((g,C)=>{u.current={y:g,m:C},s(g),l(C)},[]);return{viewY:r,viewM:i,prevMonth:p,nextMonth:m,setViewYM:h}}function Ga(e,t){return new Date(e,t+1,0).getDate()}function x4(e,t){return new Date(e,t,1).getDay()}function Ka(e,t,a){return`${e}-${String(t+1).padStart(2,"0")}-${String(a).padStart(2,"0")}`}function _4(e){if(!e)return"";const[t,a,r]=e.split("-");return`${t}. ${a}. ${r}.`}function w4(e,t,a,r){const s=a?+a.split("-")[0]:e-10,i=r?+r.split("-")[0]:e+10,l=[];for(let c=s;c<=i;c++)for(let u=0;u<12;u++){const d=`${c}-${String(u+1).padStart(2,"0")}`;a&&d<a.slice(0,7)||r&&d>r.slice(0,7)||l.push({value:d,label:t(c,u+1)})}return l}function k4({value:e,onChange:t,size:a=48,min:r,max:s,disabled:i,placeholder:l,className:c,today:u}){const{t:d}=fe.useTranslation(),p=l??d("datePicker.chooseDate","\uB0A0\uC9DC \uC120\uD0DD"),m=o.useMemo(()=>d("calendar.dow",{returnObjects:!0}),[d]),h=Mr(u),{viewY:g,viewM:C,prevMonth:b,nextMonth:_,setViewYM:f}=jl(e,u),y=o.useId(),x=o.useCallback((T,O)=>{const R=window.innerHeight,j=window.innerWidth,L=typeof document<"u"?document.getElementById(y):null,Q=L?.offsetHeight||300,J=Math.max(T.width,L?.offsetWidth||0,260),oe=R-T.bottom<Q&&T.top>Q,ge=8,Me=(Ne,ie)=>Math.min(Math.max(ge,Ne),Math.max(ge,ie));return{position:"fixed",left:Me(T.left,j-J-ge),width:T.width,minWidth:260,...oe?{bottom:Me(R-T.top+6,R-Q-ge)}:{top:Me(T.bottom+6,R-Q-ge)},zIndex:ya(O)}},[y]),{open:v,setOpen:A,toggle:w,style:D,triggerRef:k,menuRef:B}=va({computeStyle:x,onScroll:"reposition",onResize:"reposition",ignoreOutsideClickSelector:".dropdown__menu"});o.useEffect(()=>{if(!v)return;const T=B.current;return(T?.querySelector(".date-picker__day--selected:not(:disabled)")??T?.querySelector(".date-picker__day--today:not(:disabled)")??T?.querySelector(".date-picker__day:not(:disabled)")??T?.querySelector(hn)??T)?.focus?.(),()=>{const O=document.activeElement;(!O||O===document.body)&&k.current?.focus?.()}},[v,B,k]);const[N,M]=o.useState(1),P=o.useRef(null),$=o.useRef(null);o.useEffect(()=>{if(!v)return;const T=e&&e.slice(0,7)===`${g}-${String(C+1).padStart(2,"0")}`?+e.slice(8):h.slice(0,7)===`${g}-${String(C+1).padStart(2,"0")}`?+h.slice(8):1;M(T)},[v]),o.useEffect(()=>{if($.current==null)return;const T=$.current;$.current=null,P.current?.querySelector(`[data-day="${T}"]`)?.focus()}),o.useEffect(()=>{M(T=>Math.min(T,Ga(g,C)))},[g,C]);const W=o.useCallback(T=>{let O=Ka(T.getFullYear(),T.getMonth(),T.getDate());r&&O<r&&(O=r),s&&O>s&&(O=s);const[R,j,L]=O.split("-").map(Number);(R!==g||j-1!==C)&&f(R,j-1),M(L),$.current=L},[r,s,g,C,f]),S=o.useCallback(T=>{const O=new Date(g,C,N),R=L=>{O.setDate(O.getDate()+L),W(O)},j=L=>{const Q=O.getFullYear()*12+O.getMonth()+L,J=Math.floor(Q/12),oe=Q-J*12;W(new Date(J,oe,Math.min(O.getDate(),Ga(J,oe))))};switch(T.key){case"ArrowLeft":R(-1);break;case"ArrowRight":R(1);break;case"ArrowUp":R(-7);break;case"ArrowDown":R(7);break;case"Home":R(-O.getDay());break;case"End":R(6-O.getDay());break;case"PageUp":T.shiftKey?j(-12):j(-1);break;case"PageDown":T.shiftKey?j(12):j(1);break;default:return}T.preventDefault()},[g,C,N,W]),F=o.useCallback(T=>{i||(t(Ka(g,C,T)),A(!1))},[g,C,t,A,i]);o.useEffect(()=>{i&&A(!1)},[i,A]);const Y=T=>{const O=Ka(g,C,T);return!!(r&&O<r||s&&O>s)},G=(()=>{const T=Ga(g,C);if(N>=1&&N<=T&&!Y(N))return N;for(let O=1;O<=T;O++)if(!Y(O))return O;return-1})(),q=[];for(let T=0;T<x4(g,C);T++)q.push(null);for(let T=1;T<=Ga(g,C);T++)q.push(T);const H=a===64?20:a===40?16:18,z=w4(g,(T,O)=>d("calendar.yearMonth",{year:T,month:O,defaultValue:"{{year}}\uB144 {{month}}\uC6D4"}),r,s),Z=`${g}-${String(C+1).padStart(2,"0")}`,I=v?Wt.createPortal(n.jsxs("div",{ref:B,id:y,className:"date-picker__dropdown",style:D,"data-tooltip-ignore":!0,role:"dialog","aria-label":d("datePicker.chooseDate","\uB0A0\uC9DC \uC120\uD0DD"),tabIndex:-1,children:[n.jsxs("div",{className:"date-picker__nav",children:[n.jsx("button",{type:"button",className:"date-picker__nav-btn",onClick:b,"aria-label":d("calendar.prevMonth","\uC774\uC804 \uB2EC"),children:n.jsx(Qo,{size:16,strokeWidth:2})}),n.jsx(tn,{className:"date-picker__nav-dropdown",ariaLabel:d("datePicker.selectYearMonth","\uC5F0\uC6D4 \uC120\uD0DD"),options:z,value:Z,onChange:T=>{const[O,R]=T.split("-");f(+O,+R-1)},block:!0,size:40}),n.jsx("button",{type:"button",className:"date-picker__nav-btn",onClick:_,"aria-label":d("calendar.nextMonth","\uB2E4\uC74C \uB2EC"),children:n.jsx(es,{size:16,strokeWidth:2})})]}),n.jsxs("div",{className:"date-picker__grid",ref:P,onKeyDown:S,children:[m.map(T=>n.jsx("div",{className:"date-picker__dow caption-1",children:T},T)),q.map((T,O)=>{if(T===null)return n.jsx("div",{},`e${O}`);const R=Ka(g,C,T),j=R===e,L=R===h,Q=Y(T),J=O%7;return n.jsx("button",{type:"button",disabled:Q,"data-day":T,tabIndex:T===G?0:-1,"aria-current":L?"date":void 0,onClick:()=>!Q&&F(T),className:Be("date-picker__day caption-1",j&&"date-picker__day--selected",L&&!j&&"date-picker__day--today",Q&&"date-picker__day--disabled",J===0&&"date-picker__day--sun",J===6&&"date-picker__day--sat"),children:T},T)})]})]}),document.body):null;return n.jsxs("div",{className:Be("date-picker",`date-picker--s${a}`,v&&"date-picker--open",c),children:[n.jsxs("button",{ref:k,type:"button",className:"date-picker__trigger body-2",onClick:()=>!i&&w(),disabled:i,"aria-haspopup":"true","aria-expanded":v,children:[n.jsx("span",{className:e?"date-picker__value":"date-picker__placeholder",children:e?_4(e):p}),n.jsx(cs,{size:H,className:"date-picker__icon",strokeWidth:1.5})]}),I]})}function no({items:e,className:t}){return n.jsx("div",{className:t?`manager-bar-chart-legend ${t}`:"manager-bar-chart-legend",children:e.map((a,r)=>n.jsxs("span",{className:"manager-bar-chart-legend-item",children:[n.jsx("span",{className:"manager-bar-chart-legend-dot",style:{background:a.color}}),a.label]},r))})}function Ya({label:e,children:t}){return e?n.jsxs("div",{className:"barchart-total barchart-total--stacked",children:[n.jsx("span",{className:"barchart-total__label body-3",children:e}),n.jsx("span",{className:"barchart-total__value",children:t})]}):n.jsx("div",{className:"barchart-total",children:t})}function ao({title:e,titleClassName:t="h3",headRight:a,subRow:r,className:s,inGrid:i=!1,children:l}){return n.jsxs("section",{className:["manager-section",i&&"manager-section--grid",s].filter(Boolean).join(" "),children:[n.jsxs("div",{className:"manager-section__head",children:[n.jsx("div",{className:t,children:e}),a]}),r&&n.jsx("div",{className:"barchart-sub-row",children:r}),l]})}function bn(e,t){const a=new Date(e,t,1).getDay();return 1+(8-(a===0?7:a))%7}function A4(){const e=Gn();let t=e.getFullYear(),a=e.getMonth(),r=e.getDate();if(r<bn(t,a)){const l=new Date(t,a,0);t=l.getFullYear(),a=l.getMonth(),r=l.getDate()}const s=Math.floor((r-bn(t,a))/7),i=`${t}\uB144 ${a+1}\uC6D4`;return{monthKey:i,value:`${i}#${s}`}}function B4(e){const t=Gn(),a=`${t.getFullYear()}\uB144 ${t.getMonth()+1}\uC6D4`,r=(u,d)=>`${u}\uB144 ${d+1}\uC6D4`,s=new Map;s.set(a,[]);for(const u of e){if(isNaN(u.date.getTime()))continue;const d=r(u.date.getFullYear(),u.date.getMonth());s.has(d)||s.set(d,[]),s.get(d).push(u)}for(const[u,d]of[...s.entries()]){const p=u.match(/^(\d+)년 (\d+)월$/);if(!p)continue;const m=Number(p[1]),h=Number(p[2])-1,g=bn(m,h);if(!(u===a&&t.getDate()<g)&&!d.some(_=>_.date.getDate()<g))continue;const C=new Date(m,h,0),b=r(C.getFullYear(),C.getMonth());s.has(b)||s.set(b,[])}const i=new Map;for(const[u,d]of s){const p=u.match(/^(\d+)년 (\d+)월$/);if(!p)continue;const m=Number(p[1]),h=Number(p[2])-1,g=new Date(m,h+1,0).getDate(),C=d.reduce((y,x)=>Math.max(y,x.parts?.length??0),0),b=new Array(g+1).fill(0),_=new Array(g+1).fill(0),f=Array.from({length:g+1},()=>new Array(C).fill(0));for(const y of d){const x=y.date.getDate();if(b[x]+=y.a,_[x]+=y.b,y.parts)for(let v=0;v<C;v++)f[x][v]+=y.parts[v]??0}i.set(u,{year:m,month:h,daysInMonth:g,partsLen:C,dayA:b,dayB:_,dayParts:f})}const l=(u,d,p)=>new Date(u,d,p).getTime()>new Date(t.getFullYear(),t.getMonth(),t.getDate()).getTime(),c={};for(const[u,d]of i){const{year:p,month:m,daysInMonth:h,dayA:g,dayB:C,dayParts:b}=d,_=p===t.getFullYear()&&m===t.getMonth(),f=t.getDate(),y=i.get(r(m===11?p+1:p,(m+1)%12)),x=d.partsLen,v=[];for(let w=1;w<=h;w++){const D=_&&w>f;v.push({label:String(w),a:D&&g[w]===0&&C[w]===0?-1:g[w],b:C[w],...x?{parts:b[w]}:{}})}const A=[];for(let w=bn(p,m);w<=h;w+=7){const D=Math.max(0,w+6-h),k=D&&y?Math.max(x,y.partsLen):x;let B=0,N=0;const M=new Array(k).fill(0);for(let $=w;$<=Math.min(w+6,h);$++){B+=g[$],N+=C[$];for(let W=0;W<x;W++)M[W]+=b[$][W]}if(D&&y)for(let $=1;$<=D&&!l(y.year,y.month,$);$++){B+=y.dayA[$],N+=y.dayB[$];for(let W=0;W<y.partsLen;W++)M[W]+=y.dayParts[$][W]}const P=D?`${(m+1)%12+1}/${D}`:`${w+6}`;A.push({label:`${A.length+1}\uC8FC`,sublabel:`[${w}\uC77C~${P}\uC77C]`,a:B,b:N,...k?{parts:M}:{}})}c[u]={weekly:A,daily:v}}return c}function Ml(){const e=Gn(),t=e.getFullYear(),a=e.getMonth()+1,r=[];for(let s=2024;s<=t;s++){const i=s===t?a:12;for(let l=1;l<=i;l++){const c=`${s}\uB144 ${l}\uC6D4`;r.push({value:c,label:c,year:s,month:l})}}return r.reverse()}Ml();function N4(){return Ml()}const Ll=["\uCCAB\uC9F8","\uB458\uC9F8","\uC14B\uC9F8","\uB137\uC9F8","\uB2E4\uC12F\uC9F8","\uC5EC\uC12F\uC9F8","\uC77C\uACF1\uC9F8"];function $l(e){const{t,i18n:a}=fe.useTranslation(),[r,s]=o.useState("week"),i=o.useMemo(()=>N4().filter(B=>B.value in e),[e]),l=o.useMemo(()=>{const B=[];for(const N of i){const M=new Date(N.year,N.month,0).getDate(),P=bn(N.year,N.month-1),$=Math.ceil((M-P+1)/7);for(let W=$-1;W>=0;W--)B.push({value:`${N.value}#${W}`,monthKey:N.value,year:N.year,month:N.month,week:W})}return B},[i]),c=o.useCallback(B=>{const N=t("calendar.yearMonth",{year:B.year,month:B.month});return a.language?.startsWith("ko")?`${N} ${Ll[B.week]??`${B.week+1}`}\uC8FC`:`${N} Week ${B.week+1}`},[t,a.language]),u=o.useMemo(()=>i.map(B=>({value:B.value,label:t("calendar.yearMonth",{year:B.year,month:B.month})})),[t,i]),d=o.useMemo(()=>l.map(B=>({value:B.value,label:c(B)})),[l,c]),p=o.useMemo(()=>A4(),[e]),m=o.useMemo(()=>i.find(B=>B.value===p.monthKey)?.value??i[0]?.value??"",[i,p]),h=o.useMemo(()=>l.find(B=>B.value===p.value)?.value??l[0]?.value??"",[l,p]),[g,C]=o.useState(""),[b,_]=o.useState("");o.useEffect(()=>{i.find(B=>B.value===g)||C(m)},[i,g,m]),o.useEffect(()=>{l.find(B=>B.value===b)||_(h)},[l,b,h]);const f=r==="month"?u:d,y=r==="month"?g:b,x=r==="month"?C:_,v=o.useMemo(()=>{const B=t("calendar.dow",{returnObjects:!0});return Array.isArray(B)?B:["\uC77C","\uC6D4","\uD654","\uC218","\uBAA9","\uAE08","\uD1A0"]},[t]),A=f.findIndex(B=>B.value===y),w=o.useCallback(()=>{const B=f.findIndex(N=>N.value===y);B<f.length-1&&x(f[B+1].value)},[f,y,x]),D=o.useCallback(()=>{const B=f.findIndex(N=>N.value===y);B>0&&x(f[B-1].value)},[f,y,x]),k=o.useMemo(()=>[{key:"week",label:t("manager.chart.periodWeek","\uC8FC")},{key:"month",label:t("manager.chart.periodMonth","\uC6D4")}],[t]);return{period:r,setPeriod:s,range:y,setRange:x,activeOptions:f,activeIdx:A,handlePrev:w,handleNext:D,periodOptions:k,monthRange:g,weekRange:b,weekRanges:l,DOW:v}}const nn=e=>typeof e=="number"&&Number.isFinite(e)?e:0;function D4({data:e,colorA:t,colorB:a,labelA:r,labelB:s,barWidth:i=10,height:l=140,maxOverride:c,tightMax:u,seriesColors:d,seriesLabels:p,rateLabels:m}){const h=!a,g=!!(d&&d.length>0),C=o.useMemo(()=>g?Math.max(0,...e.filter(k=>k.a!==-1).map(k=>(k.parts??[]).reduce((B,N)=>B+Math.max(0,nn(N)),0))):Math.max(0,...e.filter(k=>k.a!==-1).flatMap(k=>h?[nn(k.a)]:[nn(k.a),nn(k.b)])),[e,h,g]),b=o.useMemo(()=>c??(u?C>0?C:10:Math.ceil(C/10)*10||10),[C,c,u]),_=l,f=g||h?1:2,y={"--bar-width":`${o.useMemo(()=>{const k=Math.max(1,e.length);return Math.max(2,Math.min(i,Math.round(120/(k*f)+6)))},[e.length,f,i])}px`},x=o.useMemo(()=>{const k=Math.round(b/2);return k!==b?[b,k,0]:[b,0]},[b]),[v,A]=o.useState(null),w=o.useCallback(()=>A(null),[]),D=v!=null;return o.useEffect(()=>{if(!D)return;const k=()=>A(null),B=N=>{const M=N.target;M&&typeof M.closest=="function"&&M.closest(".manager-bar-chart-col")||A(null)};return window.addEventListener("scroll",k,!0),document.addEventListener("pointerdown",B,!0),()=>{window.removeEventListener("scroll",k,!0),document.removeEventListener("pointerdown",B,!0)}},[D]),n.jsxs("div",{className:"manager-bar-chart-wrap",children:[n.jsx("div",{className:"manager-bar-chart-inner",children:n.jsx("div",{className:"manager-bar-chart-scroll",children:n.jsxs("div",{className:"manager-bar-chart-area",children:[n.jsxs("div",{className:"manager-bar-chart-plot",style:{height:_},children:[x.slice(0,-1).map((k,B)=>n.jsx("div",{className:"manager-bar-chart-gridline",style:{top:(1-k/b)*_},children:n.jsx("span",{className:"manager-bar-chart-gridline__label caption-1",children:k})},B)),e.map((k,B)=>{const N=k.a===-1,M=S=>Math.min(_,Math.max(0,nn(S)/b*_)),P=N?0:M(k.a),$=N?0:M(k.b),W=(k.parts??[]).map(nn);return n.jsx("div",{className:"manager-bar-chart-col",style:{cursor:N?"default":"pointer"},onMouseEnter:N?void 0:S=>{const F=S.currentTarget.getBoundingClientRect(),Y=[k.label,k.sublabel].filter(Boolean).join(" ");let G;if(g){const q=(p??[]).map((z,Z)=>({text:`${z}: ${W[Z]??0}`,color:(d??[])[Z]})),H=q.filter((z,Z)=>(W[Z]??0)>0);G=H.length?H:q}else m&&!h?G=[{text:`${r} ${nn(k.a)}%`,color:t},{text:`${s} ${nn(k.b)}%`,color:a}]:m&&k.rawB!==void 0?G=[{text:`${m.total} ${k.rawB}`},{text:`${m.done} ${k.rawA??0}`,color:t}]:h?G=[{text:`${r}: ${nn(k.a)}`,color:t}]:G=[{text:`${r}: ${nn(k.a)}`,color:t},{text:`${s}: ${nn(k.b)}`,color:a}];A({rect:{left:F.left,top:F.top,right:F.right,bottom:F.bottom,width:F.width,height:F.height},title:Y,items:G})},onMouseLeave:w,children:!N&&(g?n.jsx("div",{className:"manager-bar-chart-stack",style:y,children:(()=>{const S=W.reduce((Y,G,q)=>G>0?q:Y,-1);let F=_;return W.map((Y,G)=>{if(Y<=0)return null;const q=Math.min(F,Y/b*_);return F-=q,n.jsx("div",{className:"manager-bar-chart-stack-segment",style:{height:q,background:(d??[])[G],borderRadius:G===S?"6px 6px 0 0":void 0}},G)})})()}):n.jsxs(n.Fragment,{children:[n.jsx("div",{className:"manager-bar-chart-bar",style:{...y,height:P,background:t}}),!h&&n.jsx("div",{className:"manager-bar-chart-bar",style:{...y,height:$,background:a}})]}))},B)})]}),n.jsx("div",{className:"manager-bar-chart-x-axis",children:e.map((k,B)=>{const N=k.a===-1;return n.jsxs("span",{className:`manager-bar-chart-x-axis__label${N?" manager-bar-chart-x-axis__label--future":""}`,children:[n.jsxs("span",{className:"caption-1 manager-bar-chart-x-axis__main",children:[k.isToday&&n.jsx("span",{className:"manager-bar-chart-x-axis__today-dot",style:{background:t}}),k.label]}),k.sublabel&&n.jsx("span",{className:"caption-1",children:k.sublabel})]},B)})})]})})}),v&&n.jsx(Pn,{anchorRect:v.rect,title:v.title,items:v.items,showIndex:!1,closeOnOutsideClick:!1})]})}function Rl({control:e}){const{t}=fe.useTranslation(),{activeOptions:a,activeIdx:r,range:s,setRange:i,handlePrev:l,handleNext:c,periodOptions:u,period:d,setPeriod:p}=e,m=d==="week"?t("calendar.prevWeek","\uC774\uC804 \uC8FC"):t("calendar.prevMonth","\uC774\uC804 \uB2EC"),h=d==="week"?t("calendar.nextWeek","\uB2E4\uC74C \uC8FC"):t("calendar.nextMonth","\uB2E4\uC74C \uB2EC");return n.jsxs("div",{className:"manager-section-controls",children:[n.jsx(ce,{htmlType:"button",size:32,type:"dot",icon:"chevron-left",ariaLabel:m,showTooltipInfo:m,disabled:r===a.length-1,onClick:l}),n.jsx(tn,{value:s,onChange:i,options:a,size:40,className:"month-dropdown",ariaLabel:t("calendar.rangeSelect","\uAE30\uAC04 \uC120\uD0DD")}),n.jsx(ce,{htmlType:"button",size:32,type:"dot",icon:"chevron-right",ariaLabel:h,showTooltipInfo:h,disabled:r<=0,onClick:c}),n.jsx(Vn,{ariaLabel:t("calendar.periodSelect","\uAE30\uAC04 \uB2E8\uC704"),options:u,value:d,onChange:g=>p(g),size:32})]})}function Pl(e,t,a){const r=new Date(a.getFullYear(),a.getMonth(),a.getDate());return Array.from({length:7},(s,i)=>{const l=new Date(t);l.setDate(t.getDate()+i);const c=(e[`${l.getFullYear()}\uB144 ${l.getMonth()+1}\uC6D4`]?.daily??[])[l.getDate()-1],u=c?.a===-1||l>r;return{dt:l,entry:c,isFuture:u}})}function S4(e,t,a,r){const{period:s,monthRange:i,weekRange:l,weekRanges:c,DOW:u}=t,d=r?.startsWith("ko"),p=Gn(),m=p.getFullYear(),h=p.getMonth()+1,g=p.getDate();if(s==="month"){const _=e[i]??{weekly:[],daily:[]},f=i.match(/^(\d+)년 (\d+)월$/),y=f?Number(f[1]):null,x=f?Number(f[2]):null,v=y&&x?bn(y,x-1):1;return _.weekly.map((A,w)=>{const D=w+1;let k=A.label,B=!1,N=!1;if(y&&x){const M=v+w*7,P=new Date(y,x-1,M+6),$=P.getMonth()+1,W=P.getDate(),S=$===x?`${W}`:`${$}/${W}`;k=a("manager.chart.weekRange",{start:M,end:S});const F=new Date(m,h-1,g).getTime();B=F>=new Date(y,x-1,M).getTime()&&F<=P.getTime(),N=y>m||y===m&&(x>h||x===h&&M>g)}return{...A,label:k,sublabel:d?`${Ll[D-1]??D}\uC8FC`:`Week ${D}`,isToday:B,a:N?-1:A.a,b:N?0:A.b}})}const C=c.find(_=>_.value===l);if(!C)return[];const b=new Date(C.year,C.month-1,bn(C.year,C.month-1)+C.week*7);return Pl(e,b,p).map(({dt:_,entry:f,isFuture:y})=>{const x=_.getMonth()+1,v=_.getDate(),A=_.getFullYear();return{label:x===C.month&&A===C.year?`${v}`:`${x}/${v}`,sublabel:u[_.getDay()]??"",a:y?-1:f&&f.a>0?f.a:0,b:y?0:f&&f.b>0?f.b:0,isToday:A===m&&x===h&&v===g,...f?.parts?{parts:y?f.parts.map(()=>0):f.parts}:{}}})}const E4={small:{height:100,barWidth:16},medium:{height:140,barWidth:20},large:{height:180,barWidth:24}};function T4({size:e="medium",barWidth:t,titleKey:a,data:r,colorA:s,colorB:i,labelAKey:l,labelBKey:c,showTotal:u=!1,totalUnitKey:d,totalLabelKey:p,control:m,hideControls:h=!1,rate:g=!1,tightMax:C=!1,avgMode:b=!1,totalFormat:_,series:f,loading:y=!1,onDetail:x,headExtra:v,className:A,inGrid:w=!1}){const{t:D,i18n:k}=fe.useTranslation(),B=E4[e],N=$l(r),M=m??N,P=o.useMemo(()=>S4(r,M,D,k.language),[r,M,D,k.language]),$=o.useMemo(()=>{if(!g)return P;const G=M.period==="month"?M.monthRange.match(/^(\d+)년 (\d+)월$/):null,q=Gn();return P.map((H,z)=>{let Z=H.a===-1?-1:H.b>0?Math.round(H.a/H.b*100):0;if(G&&H.a!==-1){const I=Number(G[1]),T=Number(G[2])-1,O=Pl(r,new Date(I,T,bn(I,T)+z*7),q).filter(R=>!R.isFuture);Z=O.length?Math.round(O.reduce((R,{entry:j})=>R+(j&&j.b>0?j.a/j.b*100:0),0)/O.length):0}return{...H,a:Z,b:H.a===-1?0:c&&H.parts&&H.parts[1]>0?Math.round(H.parts[0]/H.parts[1]*100):0,rawA:H.a===-1?-1:H.a,rawB:H.b}})},[P,g,c,M.period,M.monthRange,r]),W=o.useMemo(()=>{if(g||b){const G=(M.period==="week"?P:r[M.monthRange]?.daily??[]).filter(H=>H.a!==-1);if(G.length===0)return 0;const q=g?G.reduce((H,z)=>H+(z.b>0?z.a/z.b*100:0),0):G.reduce((H,z)=>H+(z.a>0?z.a:0),0);return Math.round(q/G.length)}return(M.period==="month"?r[M.monthRange]?.daily??[]:$).reduce((G,q)=>G+(q.a>0?q.a:0)+(c&&q.b>0?q.b:0),0)},[$,P,g,b,c,M.period,M.monthRange,r]),S=f&&f.length>0?f.map(G=>({color:G.color,label:G.label})):[{color:s,label:D(l)},...c?[{color:i,label:D(c)}]:[]],F=e==="small",Y=[F?"manager-section--compact":e==="large"?"manager-section--full":void 0,A].filter(Boolean).join(" ")||void 0;return n.jsx(ao,{className:Y,inGrid:w,title:D(a),titleClassName:F?"h5 chart-section-title--small":void 0,headRight:F?v??void 0:n.jsxs(n.Fragment,{children:[!h&&n.jsx(Rl,{control:M}),v,x&&n.jsx("span",{className:"manager-bar-chart-detail-btn",children:n.jsx(ce,{htmlType:"button",size:32,type:"dot",icon:"list",ariaLabel:D("trainingStatus.detail","\uC0C1\uC138\uBCF4\uAE30"),onClick:x})})]}),subRow:n.jsxs(n.Fragment,{children:[u?g||b||p&&_?n.jsx(Ya,{label:F?void 0:`${D(M.period==="week"?"manager.chart.weeklyPrefix":"manager.chart.monthlyPrefix")} ${D(p??l)}`,children:_?(_(W).match(/(\d+|[^\d]+)/g)??[]).map((G,q)=>/\d/.test(G)?n.jsx("span",{className:"barchart-total__num h0",children:G},q):n.jsx("span",{className:"barchart-total__unit h5",children:G},q)):n.jsxs(n.Fragment,{children:[n.jsx("span",{className:"barchart-total__num h0",children:W}),d&&n.jsx("span",{className:"barchart-total__unit h5",children:D(d)})]})}):n.jsxs(Ya,{children:[n.jsx("span",{className:"barchart-total__num h0",children:W}),n.jsx("span",{className:"barchart-total__unit h5",children:D(l)}),d&&n.jsx("span",{className:"barchart-total__unit h5",children:D(d)})]}):n.jsx("span",{}),n.jsx(no,{items:S,className:"caption-1"})]}),children:y?n.jsx("div",{className:"manager-bar-chart-loading",children:n.jsx(Ba,{size:32})}):n.jsx(D4,{data:$,colorA:s,colorB:c?i:void 0,labelA:D(l),labelB:c?D(c):void 0,barWidth:t??B.barWidth,height:B.height,maxOverride:g?100:void 0,tightMax:C,seriesColors:f?.map(G=>G.color),seriesLabels:f?.map(G=>G.label),rateLabels:g?{total:D("trainingStatus.today.tooltipTotal","\uC804\uCCB4"),done:D("trainingStatus.today.tooltipDone","\uC644\uB8CC")}:void 0})})}const Il=(e,t,a)=>{const r=new Date(Date.UTC(e,t,a));return`${r.getUTCFullYear()}-${String(r.getUTCMonth()+1).padStart(2,"0")}-${String(r.getUTCDate()).padStart(2,"0")}`},Fl=(e,t,a,r)=>({from:ti(e,t,a),to:new Date(ti(e,t,a+r).getTime()-1),fromYmd:Il(e,t,a),toYmd:Il(e,t,a+r-1)});function j4(e,t=0){if(e.period==="month"){const s=e.monthRange.match(/^(\d+)년 (\d+)월$/),i=Gn(),l=s?Number(s[1]):i.getFullYear(),c=(s?Number(s[2]):i.getMonth()+1)-1+t,u=new Date(Date.UTC(l,c+1,0)).getUTCDate();return Fl(l,c,1,u)}const a=e.weekRanges.find(s=>s.value===e.weekRange);if(!a){const s=new Date,i=Ca();return{from:s,to:s,fromYmd:i,toYmd:i}}const r=bn(a.year,a.month-1);return Fl(a.year,a.month-1,r+(a.week+t)*7,7)}const Ol={small:{diameter:96,strokeWidth:16},medium:{diameter:120,strokeWidth:18},large:{diameter:160,strokeWidth:22}};function Vl(e){return!Number.isFinite(e)||e<=0?0:e>=1?100:Math.min(99,Math.max(1,Math.round(e*100)))}function Hl({done:e,total:t,segments:a,color:r="var(--color-main)",size:s="medium",strokeWidth:i,label:l="%",hideCenter:c=!1,hideLabel:u=!1}){const d=typeof s=="number"?s:Ol[s].diameter,p=i??(typeof s=="number"?12:Ol[s].strokeWidth),m=d/2,h=(d-p)/2,g=2*Math.PI*h;if(a&&a.length>0){const f=a.reduce((y,x)=>{const v=y.length>0?y[y.length-1].acc:0,A=Number.isFinite(x.ratio)?x.ratio:0,w=Math.max(0,Math.min(A,1-v));return y.push({color:x.color,rotate:-90+v*360,dash:g*w,acc:v+w}),y},[]);return n.jsx("div",{className:"ring-chart",style:{width:d,height:d},children:n.jsxs("svg",{width:d,height:d,viewBox:`0 0 ${d} ${d}`,"aria-hidden":"true",children:[n.jsx("circle",{cx:m,cy:m,r:h,fill:"none",stroke:"var(--color-whiteLine)",strokeWidth:p}),f.map((y,x)=>y.dash>0&&n.jsx("circle",{cx:m,cy:m,r:h,fill:"none",stroke:y.color,strokeWidth:p,strokeDasharray:`${y.dash} ${g}`,strokeLinecap:"round",transform:`rotate(${y.rotate} ${m} ${m})`},x))]})})}const C=(t??0)>0?Math.min((e??0)/t,1):0,b=g*C,_=g-b;return n.jsxs("div",{className:"ring-chart",style:{width:d,height:d},children:[n.jsxs("svg",{width:d,height:d,viewBox:`0 0 ${d} ${d}`,"aria-hidden":"true",children:[n.jsx("circle",{cx:m,cy:m,r:h,fill:"none",stroke:"var(--color-whiteLine)",strokeWidth:p}),C>0&&n.jsx("circle",{cx:m,cy:m,r:h,fill:"none",stroke:r,strokeWidth:p,strokeDasharray:`${b} ${_}`,strokeLinecap:C<.02||C>.98?"butt":"round",transform:`rotate(-90 ${m} ${m})`})]}),!c&&n.jsxs("div",{className:`ring-chart__center${u?"":` ${d<=96?"ring-chart__center--small":s==="medium"?"ring-chart__center--medium":"ring-chart__center--large"}`}`,children:[n.jsx("span",{className:`ring-chart__pct ${d<=96?"h2":"h1"}`,children:Vl(C)}),!u&&n.jsx("span",{className:`ring-chart__label ${d<=96?"caption-2":"caption-1"}${d<=96||s==="medium"?" ring-chart__label--tight":""}`,children:l})]})]})}function M4({titleKey:e,headRight:t,icon:a,showTotal:r,totalLabelKey:s,legend:i,loading:l,className:c,inGrid:u=!1,...d}){const{t:p}=fe.useTranslation();if(!e)return n.jsx(Hl,{...d});const m=(d.total??0)>0?Vl(Math.min((d.done??0)/d.total,1)):0,h=d.size==="small",g=d.size==="large",C=[c,h?"manager-section--compact":g?"manager-section--full":""].filter(Boolean).join(" ")||void 0,b=a&&n.jsx("span",{className:"chart-section-icon",children:n.jsx(Ge,{icon:a,className:"chart-section-icon-inner"})});return n.jsx(ao,{className:C,inGrid:u,title:p(e),titleClassName:h?"h5 chart-section-title--small":void 0,headRight:b||(h?void 0:t),subRow:(r||i)&&n.jsxs(n.Fragment,{children:[r?n.jsxs(Ya,{label:!h&&s?p(s):void 0,children:[n.jsx("span",{className:"barchart-total__num h0",children:m}),n.jsx("span",{className:"barchart-total__unit h5",children:"%"})]}):n.jsx("span",{}),i&&n.jsx(no,{items:i})]}),children:l?n.jsx("div",{className:"manager-bar-chart-loading",children:n.jsx(Ba,{size:32})}):n.jsx("div",{className:"ring-chart-section-body ring-chart-section-body--offset",children:n.jsx(Hl,{...d,hideCenter:d.hideCenter??h})})})}function L4({label:e,value:t,change:a,changeType:r,icon:s,tooltip:i,onClick:l}){const c=o.useRef(null),{anchorRect:u,openAt:d,close:p}=za(),m=o.useCallback(()=>{i&&c.current&&d(c.current)},[i,d]),h=r??(a===void 0?void 0:a>0?"up":a<0?"down":"neutral"),g=a===void 0?void 0:a>0?`+${a}`:`${a}`,C=o.useCallback(b=>{l&&(b.key==="Enter"||b.key===" ")&&(b.preventDefault(),l())},[l]);return n.jsxs("div",{ref:c,className:`manager-stat-card${l?" manager-stat-card--clickable":""}`,onClick:l,onKeyDown:l?C:void 0,onPointerEnter:m,onPointerLeave:p,onFocus:m,onBlur:p,role:l?"button":void 0,tabIndex:l?0:void 0,"aria-label":l?[e,t,g].filter(b=>b!==void 0&&b!=="").join(" "):void 0,children:[i&&u&&n.jsx(Bn,{anchorRect:{left:u.left,top:u.top+21,right:u.right,bottom:u.bottom,width:u.width,height:u.height},text:i}),n.jsxs("div",{className:"manager-stat-card__label-row",children:[n.jsx("span",{className:"manager-stat-card__label h5",children:e}),s&&n.jsx("span",{className:"manager-stat-card__icon",children:n.jsx(Ge,{icon:s,className:"manager-stat-card__icon-inner"})})]}),n.jsx("div",{className:"manager-stat-card__content",children:n.jsxs("div",{className:"manager-stat-card__left",children:[n.jsx("div",{className:"manager-stat-card__value h2",children:t}),g&&n.jsx("div",{className:`manager-stat-card__change manager-stat-card__change--${h??"neutral"} caption-1`,children:g})]})})]})}function zl({value:e,onChange:t,min:a=0,max:r=100,step:s=1,orientation:i="horizontal",size:l=24,disabled:c=!1,ariaLabel:u,length:d,className:p,label:m,formatValue:h,labelPos:g,labelAlign:C="right",showMinMax:b=!1,minLabel:_,maxLabel:f,showBgTick:y=!1,showFillTick:x=!1,tickStep:v,tickShape:A="dot"}){t&&!u&&jn("Slider:unnamed","[ihab/Slider] \uC774\uB984\uC774 \uC5C6\uC2B5\uB2C8\uB2E4 \u2014 ariaLabel \uC744 \uC8FC\uC138\uC694. label prop \uC740 \uAC12 \uD45C\uAE30 \uBC29\uC2DD\uC774\uC9C0 \uC774\uB984\uC774 \uC544\uB2D9\uB2C8\uB2E4.");const w=Math.min(r,Math.max(a,e)),D=r>a?(w-a)/(r-a):0,k=i==="vertical",B=!t,N=T=>t?.(Number(T.target.value)),M=typeof d=="number"?`${d}px`:d,P={"--slider-ratio":String(D),"--slider-thumb":`${l}px`,...M?k?{height:M}:{width:M}:{}},$=v??s,W=(y||x)&&$>0&&r>a?Math.floor((r-a)/$+1e-6):0;if(W>0&&W<=100){const T=A!=="dash",O=J=>T?`radial-gradient(circle, ${J} 0.5px, transparent 1px)`:k?`linear-gradient(to bottom, transparent calc(50% - 2px), ${J} calc(50% - 2px), ${J} calc(50% + 2px), transparent calc(50% + 2px))`:`linear-gradient(to right, transparent calc(50% - 2px), ${J} calc(50% - 2px), ${J} calc(50% + 2px), transparent calc(50% + 2px))`,R=T?"2px":"4px",j=[],L=[],Q=[];for(let J=0;J<=W;J++){const oe=J*$/(r-a);if(oe>1+1e-6)break;const ge=`${((k?1-oe:oe)*100).toFixed(4)}%`,Me=oe<=D+1e-6;if(Me?!x:!y)continue;const Ne=Me?"var(--slider-tick-color-on-fill, var(--color-deepWhite))":"var(--slider-tick-color, var(--color-lightGray))";j.push(O(Ne)),L.push(k?`${R} var(--slider-thumb)`:`var(--slider-thumb) ${R}`),Q.push(k?`center ${ge}`:`${ge} center`)}j.push(k?"linear-gradient(to top, var(--slider-fill-color) var(--slider-fill), var(--color-darkWhite) var(--slider-fill))":"linear-gradient(to right, var(--slider-fill-color) var(--slider-fill), var(--color-darkWhite) var(--slider-fill))"),L.push("100% 100%"),Q.push("0 0"),P.backgroundImage=j.join(", "),P.backgroundSize=L.join(", "),P.backgroundPosition=Q.join(", "),P.backgroundRepeat="no-repeat"}const S=h?h(w):m==="percent"?`${Math.round(r>a?(w-a)/(r-a)*100:0)}%`:m==="count"?`${w} / ${r}`:w===a&&_?_:w===r&&f?f:void 0,F=n.jsx("input",{type:"range",className:Be("slider",`slider--${i}`,B&&"slider--static",!m&&!b&&p),min:a,max:r,step:s,value:w,disabled:c,readOnly:B,tabIndex:B?-1:void 0,"aria-label":u,"aria-valuetext":S,"aria-orientation":i,onChange:N,style:P});if(!m&&!b)return F;const Y=n.jsx("span",{className:"slider-wrap__minmax caption-1",children:_??a}),G=n.jsx("span",{className:"slider-wrap__minmax caption-1",children:f??r}),q=b?n.jsxs("div",{className:Be("slider-track-group",`slider-track-group--${i}`,!m&&p),children:[k?G:Y,F,k?Y:G]}):F;if(!m)return q;const H=g??(k?"bottom":"right"),z=`${Math.round(r>a?(w-a)/(r-a)*100:0)}%`,Z=h?h(w):m==="percent"?z:m==="count"?`${w} / ${r}`:String(w),I=n.jsx("span",{className:"slider-wrap__value body-3b",children:Z});return n.jsxs("div",{className:Be("slider-wrap",`slider-wrap--${i}`,`slider-wrap--label-${H}`,`slider-wrap--align-${C}`,p),children:[q,I]})}const $4=.86,R4=250,ro=(e,t,a,r)=>Math.round(Math.min(r,Math.max(a,e-t))),oo=(e,t,a,r)=>{const s=ro(e,t,a,r);return`${s<0?"-":"+"}${Math.abs(s)} dB`};function so({analyser:e,audioElement:t,orientation:a="horizontal",length:r,label:s,labelPos:i,labelAlign:l="right",floorDb:c=-60,refDb:u=-35,displayMin:d=-5,displayMax:p=25,className:m,ariaLabel:h}){const g=o.useRef(null),C=o.useRef(null),b=o.useRef(null),_=o.useRef(null),[f,y]=o.useState(null);o.useEffect(()=>{const w=F=>{const Y=oo(F,u,d,p);b.current&&(b.current.textContent=Y);const G=g.current;G&&(G.setAttribute("aria-valuenow",String(ro(F,u,d,p))),G.setAttribute("aria-valuetext",Y))},D=e??z0(t)??(f&&f.el===t?f.node:null),k=C.current;if(!D||!k){k?.style.setProperty("--meter-level","0"),w(c);let F=!1;return!e&&t&&La(t).then(Y=>{!F&&Y&&y({el:t,node:Y})}),()=>{F=!0}}Dr();const B=new Float32Array(D.fftSize);let N=0,M=0,P=0,$=0,W=null;const S=F=>{const Y=W0(D,B);N=Y>N?Y:N*$4;const G=N>1e-5?20*Math.log10(N):-1/0,q=Math.max(c,G),H=q-u,z=Math.min(1,Math.max(0,(H-d)/(p-d)));if(k.style.setProperty("--meter-level",z.toFixed(3)),M+=q,P+=1,F-$>=R4){const Z=M/P;W=W==null?Z:W*.6+Z*.4,w(W),M=0,P=0,$=F}_.current=requestAnimationFrame(S)};return _.current=requestAnimationFrame(S),()=>{_.current!=null&&cancelAnimationFrame(_.current),_.current=null}},[e,t,f,c,u,d,p]);const x=typeof r=="number"?`${r}px`:r,v=n.jsx("div",{className:"audio-meter__track",style:x?a==="vertical"?{height:x}:{width:x}:{},children:n.jsx("div",{ref:C,className:"audio-meter__fill"})}),A=i??(a==="vertical"?"bottom":"right");return n.jsxs("div",{ref:g,className:Be("audio-meter",`audio-meter--${a}`,s&&`audio-meter--label-${A}`,s&&`audio-meter--align-${l}`,m),role:"meter","aria-label":h,"aria-valuemin":d,"aria-valuemax":p,"aria-valuenow":ro(c,u,d,p),"aria-valuetext":oo(c,u,d,p),children:[v,s&&n.jsx("span",{ref:b,className:"audio-meter__value caption-2",children:oo(c,u,d,p)})]})}const Wl=260;function ql({message:e,position:t,duration:a,onClose:r}){const[s,i]=o.useState(!1),[l,c]=o.useState(!1),u=o.useRef(l),d=o.useRef(s);o.useEffect(()=>{u.current=l},[l]),o.useEffect(()=>{d.current=s},[s]);const p=o.useRef(null),m=o.useRef(""),h=o.useRef(r);o.useEffect(()=>{h.current=r});const g=a,C=o.useRef(null),b=o.useRef(0),_=o.useRef(0),f=o.useRef(!1),y=o.useRef(null),x=o.useRef(null),v=o.useRef(null),A=o.useRef(null),w=o.useRef(()=>{});w.current=B=>{B<0||(b.current=Date.now(),_.current=B,C.current=setTimeout(()=>{C.current=null,i(!1),y.current=setTimeout(()=>{c(!1);try{h.current()}catch{}},Wl)},B))};const D=o.useCallback(()=>{f.current||!C.current||(f.current=!0,clearTimeout(C.current),C.current=null,_.current=Math.max(0,_.current-(Date.now()-b.current)))},[]),k=o.useCallback(()=>{f.current&&(f.current=!1,w.current(_.current))},[]);return o.useEffect(()=>{if(e!==m.current&&(C.current&&(clearTimeout(C.current),C.current=null),y.current&&(clearTimeout(y.current),y.current=null)),e){if(d.current)return g>0&&!C.current&&(f.current?_.current=g:w.current(g)),m.current=e,()=>{C.current&&(clearTimeout(C.current),C.current=null),y.current&&(clearTimeout(y.current),y.current=null)};const B=()=>{const N=p.current;if(N)try{N.classList.remove("is-visible"),N.style.transition="none",t==="top"?N.style.transform="translateX(-50%) translateY(-16px)":N.style.transform="translateX(-50%) translateY(16px)",N.style.opacity="0",N.offsetWidth,N.style.transition="",N.classList.add("is-visible"),A.current&&clearTimeout(A.current),A.current=setTimeout(()=>{A.current=null;try{N.style.opacity="",N.style.transform="",N.style.transition=""}catch{}},60)}catch{}};u.current?(B(),i(!0)):(c(!0),x.current=requestAnimationFrame(()=>{v.current=requestAnimationFrame(()=>{B(),i(!0)})})),g>0&&(f.current=!1,w.current(g))}else i(!1),y.current=setTimeout(()=>c(!1),Wl);return m.current=e,()=>{C.current&&clearTimeout(C.current),y.current&&clearTimeout(y.current),x.current&&cancelAnimationFrame(x.current),v.current&&cancelAnimationFrame(v.current),A.current&&clearTimeout(A.current),C.current=null,y.current=null,x.current=null,v.current=null,A.current=null}},[e,g,t]),{mounted:l,showing:s,popupRef:p,pause:D,resume:k}}function ea({message:e="",position:t="top",type:a="normal",onClose:r=()=>{},duration:s=2e3}){const{mounted:i,showing:l,popupRef:c,pause:u,resume:d}=ql({message:e,position:t,duration:s,onClose:r}),p=o.useRef(null),[m,h]=o.useState(!1);if(o.useEffect(()=>{l?h(!0):i||h(!1)},[l,i]),!i)return null;const g=a==="notice"||a==="warning"?a:"normal",C=n.jsx("div",{ref:c,className:`toast toast--${t} ${l?"is-visible":""}`,role:"status","aria-live":"polite",onPointerEnter:b=>{p.current=b.pointerType},onMouseEnter:()=>{p.current!=="touch"&&u()},onMouseLeave:d,onFocusCapture:u,onBlurCapture:d,children:n.jsx("div",{className:`toast__inner toast__inner--${g} body-2`,"aria-hidden":m||l?void 0:!0,children:e})});return typeof document<"u"?Wt.createPortal(C,document.body):C}const P4=24;function I4({value:e,max:t=100,size:a=8,color:r,trackColor:s,label:i,formatValue:l,labelPos:c,labelAlign:u="right",ariaLabel:d,className:p}){const m=Number.isFinite(t)&&t>0?t:1,h=Math.max(0,Math.min(Number.isFinite(e)?e:0,m)),g=h/m*100,C=Number.isFinite(t)&&t>0?t:0,b=c??(a>=P4?"inside":"bottom"),_=b==="center"?"inside":b,f=_==="inside"&&(u==="left"?g>=15:u==="center"?g>=50:g>=85),y={};return r&&(y["--progress-bar-fill"]=r),s&&(y["--progress-bar-track"]=s),n.jsxs("div",{className:Be("progress-bar",`progress-bar--${a}`,`progress-bar--label-${_}`,i&&`progress-bar--align-${u}`,i&&f&&"progress-bar--label-on-fill",p),style:y,children:[n.jsx("div",{className:"progress-bar__track",role:"progressbar","aria-valuenow":h,"aria-valuemin":0,"aria-valuemax":C,"aria-valuetext":i?l?l(h):i==="percent"?void 0:i==="raw"?String(h):`${h} / ${C}`:void 0,"aria-label":d,children:n.jsx("div",{className:"progress-bar__fill",style:{width:`${g}%`}})}),i&&n.jsx("span",{className:"progress-bar__label caption-1b",children:l?l(h):i==="percent"?`${Math.round(g)}%`:i==="raw"?String(h):`${h} / ${C}`})]})}const Ul={position:"absolute",width:1,height:1,margin:-1,padding:0,overflow:"hidden",clipPath:"inset(50%)",whiteSpace:"nowrap",border:0},F4="rgba(255, 255, 255, 0.16)";function Gl({max:e,index:t,inactiveBg:a,inactiveColor:r,transparent:s,variant:i="numbered",announce:l=!1,ariaLabel:c}){const{t:u}=fe.useTranslation(),d=en("(max-width: 767px)");if(!Number.isInteger(e)||e<=0)return null;const p=Number.isInteger(t)?Math.max(0,Math.min(t,e-1)):0,m=c??u("progress.steps",{current:p+1,total:e,defaultValue:"\uC9C4\uD589 \uB2E8\uACC4 {{current}} / {{total}}"}),h={};if(a&&(h["--pi-inactive-bg"]=a),r&&(h["--pi-inactive-color"]=r),s&&(a||(h["--pi-inactive-bg"]=F4),r||(h["--pi-inactive-color"]="var(--color-white)")),i==="dot")return n.jsxs("div",{className:"progress-indicator progress-indicator--dot",style:h,role:l?"status":"img","aria-label":l?void 0:m,children:[l&&n.jsx("span",{style:Ul,children:m}),Array.from({length:e}).map((C,b)=>n.jsx("span",{"aria-hidden":"true",className:`progress-indicator-dot--dot${b<p?" done":b===p?" active":""}`},b))]});const g=l?n.jsx("span",{role:"status",style:Ul,children:m}):null;return d?n.jsxs(n.Fragment,{children:[n.jsx("div",{className:"progress-indicator progress-indicator--mobile",style:h,role:"list","aria-label":m,children:n.jsxs("span",{role:"listitem",className:"progress-indicator-dot active body-3",children:[p+1," / ",e]})}),g]}):n.jsxs(n.Fragment,{children:[g,n.jsx("div",{className:"progress-indicator",style:h,role:"list","aria-label":m,children:Array.from({length:e}).map((C,b)=>n.jsx("span",{role:"listitem","aria-current":b===p?"step":void 0,className:`progress-indicator-dot ${b<p?" done":b===p?" active":""} body-3`,children:b+1},b))})]})}function O4(e){if(!e)return[];const t=[];let a=0,r="";for(const s of e.trim()){if(s==="("?a++:s===")"&&a--,/\s/.test(s)&&a===0){r&&(t.push(r),r="");continue}r+=s}return r&&t.push(r),t}function V4({children:e,className:t,style:a}){return n.jsx("div",{className:t?`table-cell ${t}`:"table-cell",style:a,children:e})}function io({variant:e="default",children:t,className:a,draggable:r,onClick:s,onMouseEnter:i,onMouseLeave:l,onDragStart:c,onDragEnd:u,expandedContent:d}){const p=o.useCallback(m=>{s&&m.target===m.currentTarget&&(m.key==="Enter"||m.key===" ")&&(m.preventDefault(),s())},[s]);return e==="loading"?n.jsx("div",{className:"table-row-wrap",children:n.jsx("div",{className:"table-row table-row--loading",children:n.jsx(Ba,{size:28})})}):e==="empty"?n.jsx("div",{className:"table-row-wrap",children:n.jsx("div",{className:"table-row table-row--empty body-3",children:t})}):n.jsxs("div",{className:"table-row-wrap",children:[n.jsx("div",{className:a?`table-row ${a}`:"table-row",draggable:r,onClick:s,onKeyDown:s?p:void 0,onMouseEnter:i,onMouseLeave:l,onDragStart:c,onDragEnd:u,role:s?"button":void 0,tabIndex:s?0:void 0,children:t}),d&&n.jsx("div",{className:"table-row-expand",children:d})]})}function H4({dir:e}){return n.jsx(e==="asc"?ds:us,{className:"table-field__sort-arrow",size:16,strokeWidth:2})}function z4({children:e,onClick:t,className:a,sortDir:r,ariaSort:s,onResizeStart:i}){const l=n.jsxs(n.Fragment,{children:[e,r&&n.jsx(H4,{dir:r})]});return n.jsxs("div",{onClick:t,role:"columnheader","aria-sort":s,className:Be("table-field body-3",a,r?"table-field--sorted":"",i?"table-field--resizable":""),children:[t?n.jsx("button",{type:"button",className:"table-field__button",children:l}):l,i&&n.jsx("span",{className:"table-field__resizer",onPointerDown:i,onClick:c=>c.stopPropagation(),"aria-hidden":"true"})]})}function lo({fields:e=[],headerGroups:t,items:a=[],renderRow:r,onRowClick:s,isRowClickable:i,onRowMouseEnter:l,onRowMouseLeave:c,onRowDragStart:u,onRowDragEnd:d,draggingId:p,gridTemplateColumns:m,mobileGridTemplateColumns:h,resizable:g=!1,resizeMode:C="grow",resizeStorageKey:b,size:_="small",title:f,icon:y,count:x,collapsed:v=!1,onToggleCollapse:A,headerActions:w,empty:D,loading:k,dragOver:B=!1,onDragOver:N,onDragLeave:M,onDrop:P,renderExpandedRow:$,expandedId:W}){const{t:S}=fe.useTranslation(),F=en("(max-width: 767px)"),Y=h&&F?h:null,G=g&&!Y,q=48,H=b?`table-cols:${b}`:null,z=o.useRef(null),Z=o.useRef(()=>!1),I=o.useRef([]),T=o.useRef(null),O=ae=>{if(!ae||typeof window>"u")return null;try{const ee=JSON.parse(window.localStorage.getItem(ae)??"null");return Array.isArray(ee)&&ee.length>0&&ee.every(de=>typeof de=="number"&&Number.isFinite(de)&&de>0)?ee:null}catch{return null}},[R,j]=o.useState(()=>O(H)),[L,Q]=o.useState(H);L!==H&&(Q(H),j(O(H)));const J=o.useRef(R);o.useEffect(()=>{J.current=R},[R]);const oe=o.useCallback(ae=>{const ee=T.current;if(!ee)return;const de=J.current;if(de){const te=[...de];if(ee.next!=null&&ee.startWNext!=null){const he=ae.clientX-ee.startX,be=Math.max(q-ee.startW,Math.min(ee.startWNext-q,he));te[ee.index]=ee.startW+be,te[ee.next]=ee.startWNext-be}else te[ee.index]=Math.max(q,ee.startW+(ae.clientX-ee.startX));J.current=te,j(te)}},[]),ge=o.useCallback(()=>{if(T.current=null,window.removeEventListener("pointermove",oe),window.removeEventListener("pointerup",ge),window.removeEventListener("pointercancel",ge),document.body.style.cursor="",document.body.style.userSelect="",H&&J.current)try{window.localStorage.setItem(H,JSON.stringify(J.current))}catch{}},[oe,H]),Me=o.useCallback((ae,ee)=>{ee.preventDefault(),ee.stopPropagation();const de=z.current;if(!de)return;const te=Array.from(de.children).map(be=>be.getBoundingClientRect().width),he=C==="fit"?e.findIndex((be,Ye)=>Ye>ae&&be.resizable!==!1):-1;T.current=he>=0?{index:ae,startX:ee.clientX,startW:te[ae],next:he,startWNext:te[he]}:{index:ae,startX:ee.clientX,startW:te[ae]},J.current=te,j(te),window.addEventListener("pointermove",oe),window.addEventListener("pointerup",ge),window.addEventListener("pointercancel",ge),document.body.style.cursor="col-resize",document.body.style.userSelect="none"},[oe,ge,C,e]),Ne=o.useCallback(()=>{const ae=z.current,ee=ae?.closest(".table-wrap");if(!ae||!ee)return;const de=ee.style.getPropertyValue("--table-grid-cols");ee.style.setProperty("--table-grid-cols",e.map(($e,Ie)=>Z.current(Ie)?I.current[Ie]:"max-content").join(" "));const te=Array.from(ee.querySelectorAll(".table-row")).filter($e=>!$e.classList.contains("table-row--loading")&&!$e.classList.contains("table-row--empty")),he=e.map(($e,Ie)=>{let He=ae.children[Ie]?.getBoundingClientRect().width??0;for(const ot of te){const We=ot.children[Ie];We&&(He=Math.max(He,We.getBoundingClientRect().width))}const at=Z.current(Ie)?parseFloat(I.current[Ie]):NaN;return Number.isFinite(at)?at:Math.max(q,Math.ceil(He))}),be=window.getComputedStyle(ae),Ye=ae.clientWidth-(parseFloat(be.paddingLeft)||0)-(parseFloat(be.paddingRight)||0);de?ee.style.setProperty("--table-grid-cols",de):ee.style.removeProperty("--table-grid-cols");let Ve=he;const qe=he.reduce(($e,Ie,He)=>$e+(Z.current(He)?Ie:0),0),Se=he.reduce(($e,Ie,He)=>$e+(Z.current(He)?0:Ie),0),Ue=Ye-qe;if(Ye>0&&Se>0&&Ue>0){const $e=Ue/Se;Ve=he.map((He,at)=>Z.current(at)?He:Math.max(q,Math.round(He*$e)));const Ie=Math.round(Ue-Ve.reduce((He,at,ot)=>He+(Z.current(ot)?0:at),0));if(Ie!==0){let He=-1;Ve.forEach((at,ot)=>{!Z.current(ot)&&(He<0||at>Ve[He])&&(He=ot)}),He>=0&&(Ve[He]=Math.max(q,Ve[He]+Ie))}}if(j(Ve),H)try{window.localStorage.setItem(H,JSON.stringify(Ve))}catch{}},[e,C,H]);o.useEffect(()=>()=>{T.current&&(window.removeEventListener("pointermove",oe),window.removeEventListener("pointerup",ge),window.removeEventListener("pointercancel",ge),document.body.style.cursor="",document.body.style.userSelect="")},[oe,ge]);const ie=O4(m),U=ie.filter(ae=>/\b(auto|min-content|max-content)\b|fit-content\(/.test(ae));U.length>0&&jn(`table-content-track:${m}`,`[ihabdevteam-core] Table \uC758 gridTemplateColumns \uC5D0 \uB0B4\uC6A9\uC73C\uB85C \uD06C\uAE30\uAC00 \uC815\uD574\uC9C0\uB294 \uD2B8\uB799(${U.join(", ")})\uC774 \uC788\uC2B5\uB2C8\uB2E4. \uBA38\uB9AC\uC640 \uBAB8\uD1B5\uC740 \uC11C\uB85C \uB2E4\uB978 \uACA9\uC790\uB77C \uADF8 \uD2B8\uB799\uC774 \uAC01\uC790 \uB2E4\uB974\uAC8C \uD480\uB824 \uC5F4\uC774 \uC5B4\uAE0B\uB0A9\uB2C8\uB2E4. px \uC774\uB098 fr \uC744 \uC4F0\uC138\uC694. (\uBC1B\uC740 \uAC12: ${m})`);const se=e.findIndex(ae=>!!ae.sortDir);e.filter(ae=>!!ae.sortDir).length>1&&jn("table-multi-sort","[ihabdevteam-core] Table \uC758 fields \uC5D0 sortDir \uC774 \uB458 \uC774\uC0C1 \uC788\uC2B5\uB2C8\uB2E4. aria-sort \uB294 \uD45C \uD558\uB098\uC5D0 \uD55C \uCE78\uB9CC \uAC00\uC9C8 \uC218 \uC788\uC5B4 \uCCAB \uCE78\uB9CC \uBC29\uD5A5\uC73C\uB85C \uC54C\uB9AC\uACE0 \uB098\uBA38\uC9C0\uB294 none \uC73C\uB85C \uB461\uB2C8\uB2E4.");const me=ae=>ae===se?e[ae].sortDir==="asc"?"ascending":"descending":e[ae].onClick?"none":void 0,_e=ae=>/^\d+(\.\d+)?px$/.test(ie[ae]??"");Z.current=_e,I.current=ie;const we=ae=>C==="fit"&&!_e(ae)?"fr":"px",De=R&&R.length===e.length&&(C==="fit"||a.length>0),xe=Y??(De?e.map((ae,ee)=>ae.resizable===!1&&ie[ee]?ie[ee]:`${R[ee]}${we(ee)}`).join(" "):m),Ae=xe?{"--table-grid-cols":xe}:void 0,Te=f!==void 0;return n.jsx("div",{className:`table-wrap table-wrap--${_}${G?" table-wrap--resizable":""}${B?" table-wrap--dragover":""}${v?" table-wrap--collapsed":""}`,style:Ae,onDragOver:N,onDragLeave:M,onDrop:P,children:n.jsxs("div",{className:"table body-2",children:[Te&&n.jsxs("div",{className:"table-header",onClick:A,role:A?"button":void 0,tabIndex:A?0:void 0,"aria-expanded":A?!v:void 0,onKeyDown:A?ae=>{ae.target===ae.currentTarget&&(ae.key==="Enter"||ae.key===" ")&&(ae.preventDefault(),A())}:void 0,children:[A&&n.jsx(ce,{htmlType:"button",size:40,type:"dot",variant:"transparent-gray",useBorder:!1,icon:v?"chevron-right":"chevron-down",ariaLabel:v?S("common.expand","\uD3BC\uCE58\uAE30"):S("common.collapse","\uC811\uAE30"),className:"table-header__chevron"}),y&&n.jsx(Ge,{icon:y,label:typeof f=="string"?f:void 0,className:"table-header__icon"}),n.jsx("span",{className:"table-header__title h5b",children:f}),x!==void 0&&n.jsx("span",{className:"table-header__count body-3b",children:x}),w&&n.jsx("span",{className:"table-header__actions",onClick:ae=>ae.stopPropagation(),children:w})]}),!v&&n.jsxs(n.Fragment,{children:[t&&t.length>0&&n.jsx("div",{className:"table-fields table-fields--groups",children:t.map((ae,ee)=>n.jsx("div",{className:Be("table-field body-3",ae.className),style:{gridColumn:`span ${ae.span}`},children:ae.label},ee))}),n.jsxs("div",{className:Be("table-fields-strip",G&&"table-fields-strip--resizable"),children:[n.jsx("div",{className:"table-fields",ref:z,children:e.map((ae,ee)=>n.jsx(z4,{onClick:ae.onClick,className:ae.className,sortDir:ae.sortDir,ariaSort:me(ee),onResizeStart:G&&ee<e.length-1&&ae.resizable!==!1&&(C!=="fit"||e.some((de,te)=>te>ee&&de.resizable!==!1))?de=>Me(ee,de):void 0,children:ae.label},ee))}),G&&n.jsx(ce,{htmlType:"button",size:40,type:"dot",variant:"transparent-gray",useBorder:!1,icon:"chevrons-left-right-ellipsis",ariaLabel:S("table.resetColumns","\uCE78 \uB108\uBE44 \uCD08\uAE30\uD654"),showTooltipInfo:S("table.resetColumns","\uCE78 \uB108\uBE44 \uCD08\uAE30\uD654"),className:"table-fields__reset",onClick:Ne})]}),n.jsx("div",{className:"table-body",children:k?n.jsx(io,{variant:"loading"}):a.length===0&&D?n.jsx(io,{variant:"empty",children:D}):a.map((ae,ee)=>{const de=p!=null&&ae.id===p,te=!!s&&(i?i(ae):!0),he=W!=null&&ae.id!=null&&(W instanceof Set?W.has(ae.id)||[...W].some(be=>String(be)===String(ae.id)):String(ae.id)===String(W));return n.jsx(io,{className:`${te?" table-row--clickable":""}${u?" table-row--draggable":""}${de?" table-row--dragging":""}`.trim(),draggable:!!u,onClick:te?()=>s(ae):void 0,onMouseEnter:l?be=>l(ae,be):void 0,onMouseLeave:c?be=>c(ae,be):void 0,onDragStart:u?be=>u(ae,be):void 0,onDragEnd:d?be=>d(ae,be):void 0,expandedContent:he&&$?$(ae):void 0,children:r(ae).map((be,Ye)=>n.jsx(V4,{className:be.className,style:be.style,children:be.content},Ye))},ae.id!=null?`${typeof ae.id}:${ae.id}`:`__idx:${ee}`)})})]})]})})}function Kl(e){switch(e){case"\uBCF4\uCCAD\uAE30":return"main";case"\uC778\uACF5\uC640\uC6B0":return"sub";default:return"default"}}const ta=e=>e==null?"":String(e).trim();function co(e,t,a){const r=[ta(e),ta(t),ta(a)];for(;r.length>0&&r[r.length-1]==="";)r.pop();return r.join(".")}function W4(e,t,a){const r=ta(e);return r?`${r}-${ta(t).padStart(2,"0")}-${ta(a).padStart(2,"0")}`:""}const q4={\uBCF4\uCCAD\uAE30:"hearingAid",\uC778\uACF5\uC640\uC6B0:"cochlearImplant"};function U4(e,t){const a=q4[e];return a?t(`device.type.${a}`,{defaultValue:e}):e}function Yl(e,t){return t!=="wornAt"?String(e[t]??""):W4(e.wornYear,e.wornMonth,e.wornDay)}function G4({rows:e,onSelect:t,onDelete:a,onWear:r,onRelease:s,onAdd:i}){const{t:l}=fe.useTranslation(),c=C=>C==="\uC88C"?l("device.direction.left","\uC88C"):l("device.direction.right","\uC6B0"),{\uC815\uB82C:u,\uCE78:d}=Rg(),p=o.useMemo(()=>{if(!u)return e;const{key:C,asc:b}=u;return[...e].sort((_,f)=>{if(C==="worn"){const y=Number(f.worn)-Number(_.worn);return b?y:-y}return Gr(Yl(_,C),Yl(f,C),b)})},[e,u]),{pageRows:m,pageSizeProps:h,paginationProps:g}=$g(p,u);return n.jsxs("div",{className:"dlp-side-table",children:[n.jsx(to,{count:{value:e.length,unit:l("customers.device.unit","\uAC1C")},pageSize:h,pagination:g,actions:i&&n.jsx(ce,{htmlType:"button",size:40,type:"bar",variant:"main",icon:"plus",label:l("customers.device.addButton","\uAE30\uAE30 \uCD94\uAC00"),onClick:i})}),n.jsx(lo,{resizable:!0,resizeMode:"fit",resizeStorageKey:"customer-device-history-v2",fields:[{...d(l("customers.device.wearingNow","\uCC29\uC6A9"),"worn"),resizable:!1},d(l("device.direction.label","\uBC29\uD5A5"),"side"),d(l("device.deviceType","\uC885\uB958"),"device"),d(l("device.brand","\uBE0C\uB79C\uB4DC"),"brand"),d(l("device.fitType","\uCC29\uC6A9\uD615\uD0DC"),"fitType"),d(l("device.productName","\uC81C\uD488\uBA85"),"productName"),d(l("device.wornDate","\uCC29\uC6A9\uC77C"),"wornAt"),...a?[{label:"",resizable:!1}]:[]],items:m.map((C,b)=>({id:C.id??`${C.side}-${b}`,row:C})),gridTemplateColumns:`56px 110px 110px minmax(120px, 1fr) 100px minmax(120px, 1fr) 110px${a?" 80px":""}`,renderRow:({row:C})=>[{content:n.jsx("span",{className:"dlp-worn-check",onClick:b=>b.stopPropagation(),children:n.jsx(Tl,{checked:C.worn,disabled:C.worn?!s:!r,ariaLabel:C.worn?l("customers.device.unwear","\uCC29\uC6A9 \uD574\uC81C"):l("customers.device.wear","\uCC29\uC6A9"),onChange:b=>{b?r?.(C):s?.(C)}})})},{content:n.jsx("span",{children:c(C.side)})},{content:C.device?n.jsx(pt,{size:"small",variant:Kl(C.device),fill:"soft",label:U4(C.device,l)}):n.jsx("span",{})},{content:n.jsx("span",{children:C.brand})},{content:n.jsx("span",{children:C.fitType||"-"})},{content:n.jsx("span",{children:C.productName||"-"})},{content:n.jsx("span",{className:"dlp-date",children:co(C.wornYear,C.wornMonth,C.wornDay)||"-"})},...a?[{content:n.jsx("span",{className:"dlp-row-actions",children:n.jsx(ce,{htmlType:"button",size:28,type:"bar",variant:"transparent-gray",label:l("common.delete","\uC0AD\uC81C"),onClick:b=>{b?.stopPropagation(),a(C)}})})}]:[]],onRowClick:({row:C})=>t(C),empty:l("customers.device.historyEmpty","\uB4F1\uB85D\uB41C \uAE30\uAE30 \uC774\uB825\uC774 \uC5C6\uC2B5\uB2C8\uB2E4.")})]})}function Zl(e,t){return e?{role:t?.role??"button",tabIndex:0,...t?.selected===void 0?{}:{"aria-selected":t.selected},onKeyDown:a=>{a.target===a.currentTarget&&(a.key!=="Enter"&&a.key!==" "||(a.preventDefault(),e(a)))}}:{}}function K4(e,t){return new Date(e,t+1,0).getDate()}function Y4(e,t){return new Date(e,t,1).getDay()}function Z4({visits:e=[],onVisitClick:t,onVisitMove:a,onDayClick:r,today:s}){const{t:i}=fe.useTranslation(),l=o.useMemo(()=>i("calendar.dow",{returnObjects:!0}),[i]),c=Mr(s),[u,d]=o.useState(()=>Number(c.slice(0,4))),[p,m]=o.useState(()=>Number(c.slice(5,7))-1),[h,g]=o.useState(null),C=o.useRef(null),b=o.useMemo(()=>{const A={};return e.forEach(w=>{A[w.date]||(A[w.date]=[]),A[w.date].push(w)}),A},[e]),_=o.useMemo(()=>{const A=K4(u,p),w=Y4(u,p),D=[];for(let k=0;k<w;k++)D.push(null);for(let k=1;k<=A;k++)D.push(k);for(;D.length<35;)D.push(null);return D},[u,p]),f=o.useCallback(()=>{p===0?(d(A=>A-1),m(11)):m(A=>A-1)},[p]),y=o.useCallback(()=>{p===11?(d(A=>A+1),m(0)):m(A=>A+1)},[p]),x=A=>`${u}-${String(p+1).padStart(2,"0")}-${String(A).padStart(2,"0")}`,v=A=>x(A)===c;return n.jsxs("div",{children:[n.jsxs("div",{className:"calendar-nav",children:[n.jsx("button",{type:"button",className:"calendar-nav__button",onClick:f,"aria-label":i("calendar.prevMonth","\uC774\uC804 \uB2EC"),children:n.jsx(Ge,{icon:"chevron-left",label:"",className:"",svgClassName:"calendar-nav__button-icon",size:18})}),n.jsx("span",{className:"calendar-nav__title h5","aria-live":"polite",children:i("calendar.yearMonth",{year:u,month:p+1})}),n.jsx("button",{type:"button",className:"calendar-nav__button",onClick:y,"aria-label":i("calendar.nextMonth","\uB2E4\uC74C \uB2EC"),children:n.jsx(Ge,{icon:"chevron-right",label:"",className:"",svgClassName:"calendar-nav__button-icon",size:18})}),n.jsxs("div",{className:"calendar-nav__legend",children:[n.jsx("span",{className:"calendar-nav__legend-dot calendar-nav__legend-dot--main"}),n.jsx("span",{className:"caption-1",children:i("calendar.legend.visited","\uBC29\uBB38")}),n.jsx("span",{className:"calendar-nav__legend-dot calendar-nav__legend-dot--sub"}),n.jsx("span",{className:"caption-1",children:i("calendar.legend.scheduled","\uC608\uC57D")}),n.jsx("span",{className:"calendar-nav__legend-dot calendar-nav__legend-dot--disabled"}),n.jsx("span",{className:"caption-1",children:i("calendar.legend.noVisit","\uBBF8\uBC29\uBB38")})]})]}),n.jsxs("div",{className:"calendar-grid",children:[l.map(A=>n.jsx("div",{className:"calendar-day-header body-3",children:A},A)),_.map((A,w)=>{if(A===null)return n.jsx("div",{className:"calendar-cell empty"},`empty-${w}`);const D=A,k=x(D),B=b[k]??[],N=h===k;return n.jsxs("div",{className:`calendar-cell${v(D)?" today":""}${N?" drag-over":""}${r?" calendar-cell--clickable":""}`,role:r?"button":void 0,tabIndex:r?0:void 0,"aria-label":r?i("calendar.addOnDate",{date:k}):void 0,"aria-current":v(D)?"date":void 0,onClick:r?()=>r(k):void 0,onKeyDown:r?M=>{M.target===M.currentTarget&&(M.key!=="Enter"&&M.key!==" "||(M.preventDefault(),r(k)))}:void 0,onDragOver:a?M=>{M.preventDefault(),g(k)}:void 0,onDragLeave:a?M=>{M.currentTarget.contains(M.relatedTarget)||g(null)}:void 0,onDrop:a?M=>{M.preventDefault(),C.current!=null&&(a(C.current,k),C.current=null),g(null)}:void 0,children:[n.jsx("div",{className:"calendar-cell__number body-3",children:D}),n.jsx("div",{className:"calendar-cell__badges",children:B.map((M,P)=>n.jsxs("div",{draggable:!!a,className:`calendar-visit-badge${M.status==="noVisit"?" calendar-visit-badge--no-visit":M.status==="scheduled"?" calendar-visit-badge--scheduled":""}${t?" calendar-visit-badge--clickable":""}${a?" calendar-visit-badge--draggable":""}`,onDragStart:a?$=>{C.current=M.id,$.dataTransfer.effectAllowed="move"}:void 0,onDragEnd:a?()=>{C.current=null,g(null)}:void 0,onClick:t?$=>{$.stopPropagation(),t(M)}:void 0,...Zl(t?()=>t(M):void 0),"aria-label":[M.time?ri(M.time,i):null,M.customer,i(M.status==="noVisit"?"calendar.legend.noVisit":M.status==="scheduled"?"calendar.legend.scheduled":"calendar.legend.visited")].filter(Boolean).join(" "),children:[M.time&&n.jsx("span",{className:"calendar-visit-badge__time body-3",children:ri(M.time,i)}),n.jsx("span",{className:"calendar-visit-badge__name body-3",children:M.customer}),M.status==="noVisit"&&n.jsx("span",{className:"calendar-visit-badge__no-visit caption-1",children:i("calendar.legend.noVisit","\uBBF8\uBC29\uBB38")})]},M.id??P))})]},D)})]})]})}const X4={page:"h3",pagePopup:"h4",popup:"h5"};function na({type:e="page",title:t,headingLevel:a,icon:r,action:s,disc:i,children:l,className:c,style:u}){const d=X4[e],p=t||i||s||r,m=a?`h${a}`:"div";return n.jsxs("div",{className:Be("section",`section--${e}`,c),style:u,children:[p&&n.jsxs("div",{className:"section__header",children:[n.jsxs("div",{className:"section__title-row",children:[r&&n.jsx(Ge,{icon:r,label:typeof t=="string"?t:void 0,className:"section__icon"}),n.jsxs("div",{className:"section__title-group",children:[t&&n.jsx(m,{className:`section__title ${d}`,children:t}),i&&n.jsx("div",{className:"section__disc body-3",children:i})]})]}),s&&n.jsx("div",{className:"section__action",children:s})]}),l]})}function Xl({icon:e,label:t,tooltip:a,wrapperStyle:r,color:s,bgColor:i,useHover:l=!0,iconSize:c="medium"}){const u=c==="small",d=Be("category-icon",u?"category-icon--small":""),p=u?16:20,m=o.useRef(null),[h,g]=o.useState(!1),C=o.useMemo(()=>{const w=r&&typeof r=="object"?{...r}:{};return!s&&!i?w:{...w,...s?{color:s,"--t-item-fg":s}:{},...i?{"--t-item-bg":i}:{}}},[r,s,i]),b=a||t,[_,f]=o.useState(null);o.useLayoutEffect(()=>{h&&f(m.current?.getBoundingClientRect()??null)},[h]),o.useEffect(()=>{if(!l&&h)try{g(!1)}catch{}},[l,h]),o.useEffect(()=>{if(!h)return;const w=D=>{const k=m.current;if(!k)return;const B=D.target;B&&!k.contains(B)&&g(!1)};return document.addEventListener("pointerdown",w,!0),()=>document.removeEventListener("pointerdown",w,!0)},[h]);const y=o.useCallback(()=>{l&&g(!0)},[l]),x=o.useCallback(()=>{l&&g(!1)},[l]),v=o.useCallback(()=>g(!1),[]),A=o.useCallback(w=>{if(w.key==="Escape"){g(!1);return}(w.key==="Enter"||w.key===" ")&&(w.preventDefault(),g(D=>!D))},[]);return n.jsxs("span",{ref:m,className:"category-icon__wrap",onPointerEnter:y,onPointerLeave:x,onFocus:y,onBlur:x,onKeyDown:A,role:"button",tabIndex:0,"aria-label":typeof b=="string"?b:void 0,"aria-haspopup":!!b,"aria-expanded":h,"data-tooltip-ignore":!0,children:[n.jsx(Ge,{icon:e,label:t,className:d,imgClassName:"category-icon__image",maskClassName:"category-icon__mask",svgClassName:"category-icon__svg",wrapperStyle:C,size:p}),h&&b&&n.jsx(Bn,{anchorRect:_,text:typeof b=="string"?b:void 0,offset:8,onClose:v,className:"category-icon__tooltip",ariaLabel:typeof b=="string"?b:void 0})]})}let Nn=null;function Za(e){if(Nn&&Nn!==e)try{Nn()}catch{}return Nn=e,()=>{Nn===e&&(Nn=null)}}function Xa(e){if(Nn===e){Nn=null;try{e()}catch{}}}function J4(e,t){if(!e)return{previewCodes:[],previewBucket:null};const a=e,r=l=>l.map(c=>c?.contextCode||c?.context_code).filter(Boolean).map(String);if(t==="LISTEN_IN_NOISE"){const l=a.sentences||a.items||[],c=Array.isArray(l)&&l.length>0?r(l):[];return c.length===0&&(a.contextCode||a.context_code)&&c.push(String(a.contextCode||a.context_code)),{previewCodes:c,previewBucket:"LIN_D"}}if(t==="SHORT_STORY"){const l=a.items||a.sentences||[],c=Array.isArray(l)&&l.length>0?r(l):[];return c.length===0&&(a.contextCode||a.context_code)&&c.push(String(a.contextCode||a.context_code)),{previewCodes:c,previewBucket:"SHORT_S"}}if(t==="LONG_STORY"){const l=a.items||a.sentences||[],c=Array.isArray(l)&&l.length>0?r(l):[];return c.length===0&&(a.contextCode||a.context_code)&&c.push(String(a.contextCode||a.context_code)),{previewCodes:c,previewBucket:"LONG"}}if(t==="ORDERING_SENTENCE"){const l=a.sentences||a.items||[],c=Array.isArray(l)&&l.length>0?r(l):[];return c.length===0&&(a.contextCode||a.context_code)&&c.push(String(a.contextCode||a.context_code)),{previewCodes:c,previewBucket:"LIN_D"}}const s=a.sentences||a.items||[],i=r(Array.isArray(s)?s:[]);return i.length===0&&(a.contextCode||a.context_code)&&i.push(String(a.contextCode||a.context_code)),{previewCodes:i,previewBucket:null}}function Q4(e,t){const[a,r]=o.useState(!1),[s,i]=o.useState(-1),[l,c]=o.useState({key:"",urls:[]}),u=o.useRef(null),d=o.useRef(!1),p=o.useRef(null),m=o.useRef(null),[h,g]=o.useState(!1),C=o.useRef([]),{previewCodes:b,previewBucket:_}=J4(e,t),f=`${b.join(",")}|${_??""}`,y=o.useMemo(()=>l.key===f?l.urls:[],[l,f]);o.useEffect(()=>{if(!b.length)return;let v=!1;return(async()=>{const A=[],w=[];for(const D of b)try{const k=Rs(D,_);if(!k){A.push("");continue}let B=null;try{B=await Ps(k)}catch{}if(!B)try{const N=await Is(k);N&&(B=URL.createObjectURL(N),w.push(B))}catch{}A.push(B??"")}catch{A.push("")}v?w.forEach(D=>{try{URL.revokeObjectURL(D)}catch{}}):(C.current.forEach(D=>{try{URL.revokeObjectURL(D)}catch{}}),C.current=w,c({key:f,urls:A}))})(),()=>{v=!0}},[b.join(","),_]),o.useEffect(()=>()=>{C.current.forEach(v=>{try{URL.revokeObjectURL(v)}catch{}}),C.current=[]},[]);const x=o.useCallback(async v=>{if(v.stopPropagation(),v.preventDefault(),d.current){p.current&&Xa(p.current),d.current=!1;try{u.current?.pause()}catch{}r(!1),i(-1);return}if(!y.filter(Boolean).length)return;let A=null;const w=()=>{d.current=!1;try{u.current?.pause()}catch{}A?.()};p.current=w;const D=Za(w);d.current=!0,r(!0);for(let k=0;k<y.length&&d.current;k++){const B=y[k];if(B){i(k);try{await new Promise((N,M)=>{A=N;const P=new Audio(B);u.current=P,P.onended=()=>N(),P.onerror=()=>M(),P.play().catch(M)})}catch{break}}}D(),p.current===w&&(p.current=null,d.current=!1,r(!1),i(-1))},[y]);return o.useEffect(()=>()=>{p.current&&Xa(p.current),d.current=!1;try{u.current?.pause()}catch{}u.current=null},[]),{playing:a,playingIndex:s,previewUrls:y,previewHover:h,setPreviewHover:g,previewBtnRef:m,handlePreview:x}}const ey=e=>{if(!e)return[];const t=typeof e.context=="string"&&e.context.trim()||typeof e.sentence=="string"&&e.sentence.trim()||typeof e.text=="string"&&e.text.trim()||"";if(t)return[String(t)];const a=e.sentences||e.items||e.questions||[];return Array.isArray(a)&&a.length>0?a.map(r=>{if(typeof r=="string")return r;if(r&&typeof r=="object"){const s=r;return s.sentence||s.text||s.context||s.question||s.title||""}return""}).filter(r=>typeof r=="string"&&r.trim().length>0).map(r=>r.trim()):[]};function uo(e){const{index:t,type:a,trainingData:r,ariaLabel:s,depth:i,renderPopup:l,completed:c,completedIds:u,selectedIds:d,tooltipText:p,useDescriptionTooltip:m=!1,onRemove:h,hideCheckBadge:g=!1,showTypeLabel:C=!1,onComplete:b,onSelect:_,onMore:f,countLabelOverride:y,size:x="square"}=e||{},{t:v}=fe.useTranslation(),[A,w]=o.useState(!1),D=o.useRef(null),[k,B]=o.useState(!1);o.useEffect(()=>{D.current?.matches(":hover")&&B(!0)},[]);const{playing:N,playingIndex:M,previewUrls:P,previewHover:$,setPreviewHover:W,previewBtnRef:S,handlePreview:F}=Q4(r,a?.key),Y=o.useCallback(()=>{_?_():w(!0)},[_]),G=o.useCallback(()=>w(!1),[]),q=o.useCallback(()=>B(!0),[]),H=o.useCallback(()=>B(!1),[]),z=o.useCallback(()=>W(!0),[W]),Z=o.useCallback(()=>W(!1),[W]),[I,T]=o.useState(null);o.useLayoutEffect(()=>{$&&T(S.current?.getBoundingClientRect()??null)},[$,S]);const[O,R]=o.useState(null);o.useLayoutEffect(()=>{k&&!A&&m&&R(D.current?.getBoundingClientRect()??null)},[k,A,m]);const j=o.useCallback(Se=>{Se.target===Se.currentTarget&&(Se.key==="Enter"||Se.key===" ")&&(Se.preventDefault(),Y())},[Y]),L=r||null,Q=o.useMemo(()=>{if(!m)return null;const Se=p?(Array.isArray(p)?p:[p]).filter(Boolean):null,Ue=Se&&Se.length>0?Se:ey(L);return Ue&&Ue.length>0?Ue:null},[m,p,L]),J=o.useCallback(Se=>{Se.stopPropagation(),h?.()},[h]),oe=o.useCallback(Se=>Se.stopPropagation(),[]),ge=o.useCallback(Se=>{typeof b=="function"&&b(Se)},[b]),Me=c||(u&&r?.id!=null?u.has(String(r.id)):!1),Ne=!Me&&(d!=null&&r?.id!=null?d.has(String(r.id)):!1);Ki("speechear.popup.close",G);const ie=oi(),U=`${a?.label||""} ${t+1}`,se=L?.title||L?.name||U;let me=a?.icon,_e,we="",De="";try{const Se=L?.category_0||L?.category_main_code||L?.category_main,Ue=L?.category_1||L?.category_sub_code||L?.category_sub,$e=ie.find(Ie=>Ie.key===Se);$e?.icon&&(me=$e.icon),!_e&&$e?.color&&(_e={"--t-item-fg":$e.color}),!_e&&L?.iconColor&&(_e={"--t-item-fg":L.iconColor}),we=$e?v(`topic.${$e.key}`,{defaultValue:$e.label||""}):"";try{const Ie=$e?.subs?.find(He=>He.key===Ue);De=Ie?v(`topic.sub.${Ie.key}`,{defaultValue:Ie.label||""}):""}catch{}}catch{}const xe=De?`${we} / ${De}`:we||a?.label||se,Ae=Se=>v("training.countQuestions",{n:Se}),Te=Se=>v("training.countSentences",{n:Se});let ae="";try{if(L)if(a?.key==="LISTEN_IN_NOISE"){let Se=0;Array.isArray(L.items)&&L.items.length>0?Se=L.items.length:Array.isArray(L.sentences)&&L.sentences.length>0?Se=L.sentences.length:L.sentences&&(Se=1),ae=Te(Se)}else if(a?.key==="SHORT_STORY"){let Se=1;Array.isArray(r?.items)?Se=r.items.length:Array.isArray(r?.raw&&r.raw?.items)?Se=r.raw.items.length:Array.isArray(L?.questions)?Se=L.questions.length:Array.isArray(L?.sentences)&&(Se=L.sentences.length),ae=Ae(Se)}else if(a?.key==="LONG_STORY"){let Se=1;if(Array.isArray(L.items)&&L.items.length>0){const Ue=L.items.reduce(($e,Ie)=>{const He=Ie.questionItems;return Array.isArray(He)?$e+He.length:Array.isArray(Ie.questions)?$e+Ie.questions.length:$e},0);Se=Ue>0?Ue:L.items.length}else Array.isArray(L.questions)&&L.questions.length>0?Se=L.questions.length:Array.isArray(L.sentences)&&L.sentences.length>0&&(Se=L.sentences.length);ae=Ae(Se)}else if(a?.key==="ORDERING_SENTENCE"){let Se=1;Array.isArray(L.items)&&L.items.length>0?Se=L.items.length:Array.isArray(L.sentences)&&L.sentences.length>0&&(Se=L.sentences.length),ae=Te(Se)}else Array.isArray(L.items)&&(ae=L.items.length>0?Ae(L.items.length):"")}catch{}const ee=x==="row",de=x==="list"||ee,te=x==="compact",he=x==="small",be=he&&a?.key?w2().find(Se=>Se.key===a.key):void 0,Ye=be?si[be.key]:void 0,Ve=be?Ye?v(`trainingType.${Ye}.title`,{defaultValue:be.label}):be.label??"":"",qe=!!C&&!!a?.label&&a.label!==String(se)||he&&!!Ve&&Ve!==String(se);return n.jsxs(n.Fragment,{children:[n.jsxs("div",{ref:D,className:`training-block-button${de?" training-block-button--list":""}${ee?" training-block-button--row":""}${te?" training-block-button--compact":""}${he?" training-block-button--small":""}${Me?" training-block-button--completed":""}${Ne?" training-block-button--selected":""}${qe&&!he?" training-block-button--withType":""}${he&&!qe?" training-block-button--no-type-label":""}`,onClick:Y,onPointerEnter:q,onPointerLeave:H,role:"button",tabIndex:0,onKeyDown:j,"aria-label":typeof s=="string"?s:typeof se=="string"?se:void 0,title:!m&&p&&(Array.isArray(p)?p.filter(Boolean).join(`
844
+ `):p)||void 0,children:[n.jsxs("div",{className:"training-block-button__left",children:[C&&a?.label&&a.label!==String(se)&&n.jsx("span",{className:"training-block-button__type-label caption-1",children:a.label}),he&&Ve&&Ve!==String(se)&&n.jsx("span",{className:"training-block-button__type-label caption-2",children:Ve}),n.jsx(Xl,{icon:me,label:se,tooltip:xe,wrapperStyle:_e,iconSize:he||te?"small":"medium"}),!g&&(Me||Ne)&&!(h&&k)&&n.jsx(pt,{className:h?"training-block-button__check--removable":void 0,type:"dot",icon:"check",position:"top-left",size:"medium","aria-label":Me?v("training.completed","\uD6C8\uB828 \uC644\uB8CC"):v("training.selected","\uC120\uD0DD\uB428")}),h&&n.jsx(pt,{className:`training-block-button__remove${k?" is-hover":""}`,type:"dot",icon:"remove",position:"top-left",size:"medium","aria-label":v("common.remove","\uC81C\uAC70"),onClick:J}),n.jsx("div",{className:`training-block-button__title ${te?"body-3":he?"body-3b":"h3"}`,children:String(se)}),n.jsxs("div",{className:"training-block-button__description",children:[(()=>{const Se=y!==void 0?y:ae;return Se?n.jsx("div",{className:`training-block-button__count ${he?"caption-2":"caption-1"}`,children:Se}):null})(),n.jsx("div",{className:"training-block-button__chevron",children:n.jsx(Ge,{icon:"chevron-right",label:v("training.next","\uB2E4\uC74C"),className:"training-block-button__chevron-icon",imgClassName:"training-block-button__chevron-icon-image",maskClassName:"training-block-button__chevron-icon-mask",svgClassName:"training-block-button__chevron-icon-svg",size:he?12:20})})]}),(de&&!ee||he)&&P.length>0&&n.jsx("div",{ref:S,className:"training-block-button__preview","data-tooltip-ignore":!0,onClick:oe,onPointerEnter:z,onPointerLeave:Z,children:n.jsx(ce,{htmlType:"button",size:he?28:32,type:"dot",icon:N?"pause":"play",variant:he?"transparent-lightGray":"default",useBorder:!1,selected:N,ariaLabel:N?v("training.stop","\uC815\uC9C0"):v("training.preview","\uBBF8\uB9AC \uB4E3\uAE30"),onClick:F})})]}),f&&n.jsx("div",{className:"training-block-button__more","data-tooltip-ignore":!0,onClick:Se=>{Se.stopPropagation(),f(Se)},children:n.jsx(ce,{htmlType:"button",size:40,type:"dot",icon:"more-horizontal",variant:"transparent-lightGray",useBorder:!1,ariaLabel:v("common.more","\uB354\uBCF4\uAE30")})})]}),$&&n.jsx(Bn,{anchorRect:I,text:N?v("training.stop","\uC815\uC9C0"):v("training.preview","\uBBF8\uB9AC \uB4E3\uAE30"),offset:8,onClose:Z}),k&&!A&&m&&(Q?n.jsx(Pn,{anchorRect:O,items:Q,activeIndex:M,onClose:H}):L?.subTitle?n.jsx(Bn,{anchorRect:O,text:L.subTitle,offset:8,onClose:H}):null),A&&l&&l({trainingData:L,typeKey:a?.key??"",onClose:G,onComplete:ge,popupTitle:String(se),popupSubTitle:a?.subTitle,depth:i!=null?String(i):void 0,popupIcon:me,popupIconTooltip:String(xe),popupWrapperStyle:_e})]})}let po=null,Jl=!1;function Ql(){if(Jl||typeof document>"u")return;Jl=!0,document.addEventListener("keydown",t=>{t.metaKey||t.ctrlKey||t.altKey||(po="keyboard")},!0);const e=()=>{po="pointer"};document.addEventListener("pointerdown",e,!0),document.addEventListener("mousedown",e,!0),document.addEventListener("touchstart",e,{capture:!0,passive:!0})}Ql();function Ja(){return Ql(),po==="keyboard"}const Qa=20;function ty(e){const{t}=fe.useTranslation(),{type:a,trainingDatas:r,depth:s,renderPopup:i,completedIds:l,selectedIds:c,onItemComplete:u,size:d,useDescriptionTooltip:p,onRemove:m,onMore:h,sectionType:g="page"}=e||{},[,C]=o.useState(0),b=typeof r<"u"?Array.isArray(r)?r:[]:[],_=b.length,[f,y]=o.useState(Math.min(_,Qa)),x=o.useMemo(()=>Array.isArray(s)?[...s,a?.label].filter(Boolean).join(" \xB7 "):[s||"",a?.label].filter(Boolean).join(" \xB7 "),[s,a?.label]);o.useEffect(()=>{y(Math.min(_,Qa))},[_]),Ki("speechear.data.updated",()=>C(D=>D+1));const v=o.useRef(null),A=o.useRef(null);function w(){const D=document.activeElement;A.current=Ja()&&D&&D.closest?.(".training-block__more")?f:null,y(k=>Math.min(_,k+Qa))}return o.useEffect(()=>{const D=A.current;if(D==null)return;A.current=null;const k=document.activeElement;k&&k!==document.body||v.current?.querySelectorAll(".training-block-button")[D]?.focus()},[f]),n.jsxs(na,{type:g,title:a?.label,icon:a?.icon,disc:a?.desc,className:"training-block",children:[n.jsx("div",{className:"training-list",ref:v,children:(b||[]).slice(0,f).map((D,k)=>{const B=D;return n.jsx(uo,{index:k,type:a,trainingData:B,depth:x,renderPopup:i,completedIds:l,selectedIds:c,size:d,useDescriptionTooltip:p,onRemove:typeof m=="function"&&c!=null&&B?.id!=null&&c.has(String(B.id))?()=>m(B):void 0,onComplete:typeof u=="function"&&B?.id!=null?()=>u(String(B.id)):void 0,onMore:typeof h=="function"?N=>h(B,N):void 0},B?.id!=null?`${a?.key||"t"}-${String(B.id)}`:`${a?.key||"t"}-${k}`)})}),_>Qa&&f<_&&n.jsx("div",{className:"training-block__more",children:n.jsx(ce,{htmlType:"button",size:48,type:"bar",icon:"plus",onClick:w,ariaLabel:t("common.loadMore","\uB354\uBCF4\uAE30"),label:t("common.loadMore","\uB354\uBCF4\uAE30"),variant:"main"})})]})}function mo(e){const t=o.useRef(null),[a,r]=o.useState(!!e),[s,i]=o.useState(!1);o.useEffect(()=>{i(!1);const u=t.current;r(!!e&&!(u?.complete&&u.naturalWidth>0))},[e]);const l=o.useCallback(()=>r(!1),[]),c=o.useCallback(()=>{r(!1),i(!0)},[]);return{imgRef:t,loading:a,failed:s,hasImage:!!e&&!s,onLoad:l,onError:c}}var ny='data:image/svg+xml,<svg width="100" height="100" viewBox="0 0 100 100" fill="none" xmlns="http://www.w3.org/2000/svg">%0A<g clip-path="url(%23clip0_2256_7437)">%0A<g opacity="0.1">%0A<path d="M35.7143 25C29.7964 25 25 29.7964 25 35.7143V64.2857C25 67.3786 25.7893 70.2893 27.1714 72.8286C29.7071 74.2143 32.6179 75 35.7143 75H64.2857C70.2036 75 75 70.2036 75 64.2857V35.7143C75 32.6214 74.2107 29.7107 72.8286 27.1714C70.2929 25.7857 67.3821 25 64.2857 25H35.7143Z" fill="%23111111"/>%0A</g>%0A<path d="M57.1426 17.8571H35.7141C25.8533 17.8571 17.8569 25.8536 17.8569 35.7143V44.0643L10.9926 51.6179C10.5819 52.0679 10.6283 52.775 11.0998 53.1643C13.1783 54.8929 15.4641 56.2214 17.8569 57.1679C17.8676 63.925 21.6283 69.8 27.1712 72.825C25.7855 70.2893 24.9998 67.3786 24.9998 64.2821V35.7107C24.9998 29.7929 29.7962 24.9964 35.7141 24.9964H64.2855C67.3783 24.9964 70.2891 25.7857 72.8283 27.1679C69.7998 21.6179 63.9105 17.8536 57.1426 17.8536V17.8571Z" fill="%23111111"/>%0A<path d="M72.8285 27.1714C74.2142 29.7072 75 32.6179 75 35.7143V64.2857C75 70.2036 70.2035 75 64.2857 75H35.7142C32.6214 75 29.7107 74.2107 27.1714 72.8286C30.2 78.3786 36.0892 82.1429 42.8571 82.1429H58.9678C59.9321 82.1429 60.7142 82.925 60.7142 83.8893C60.7142 84.9107 61.5892 85.7215 62.6071 85.6322C73.5535 84.675 82.1428 75.4822 82.1428 64.2857V42.8572C82.1428 36.0893 78.3785 30.2 72.8285 27.1714Z" fill="%23111111"/>%0A<path d="M36.0714 40.7143C36.0714 39.5308 35.112 38.5714 33.9285 38.5714C32.745 38.5714 31.7856 39.5308 31.7856 40.7143V45C31.7856 46.1834 32.745 47.1428 33.9285 47.1428C35.112 47.1428 36.0714 46.1834 36.0714 45V40.7143Z" fill="%23111111"/>%0A<path d="M46.7859 57.1429C45.743 57.1429 44.6966 56.875 43.7502 56.3286C42.8966 55.8357 42.6037 54.7429 43.1002 53.8893C43.593 53.0357 44.6859 52.7429 45.5395 53.2393C46.518 53.8036 47.7573 53.6429 48.5537 52.8464C48.9395 52.4607 49.1823 51.9714 49.2573 51.4357C49.5787 49.1607 50.5823 47 52.1645 45.1857C53.1073 44.1071 53.6037 42.7214 53.568 41.2857C53.493 38.3536 51.1466 35.9107 48.2216 35.7286C47.2323 35.6679 46.2859 35.8464 45.4073 36.2679C44.518 36.6929 43.4502 36.3107 43.0287 35.4214C42.6037 34.5321 42.9859 33.4643 43.8752 33.0429C45.2895 32.3714 46.868 32.0679 48.4466 32.1643C53.2037 32.4607 57.0216 36.4286 57.1395 41.1964C57.1966 43.5286 56.3859 45.7786 54.8573 47.5357C53.7323 48.825 53.018 50.3464 52.7966 51.9357C52.6109 53.2464 52.018 54.4357 51.0823 55.375C49.9145 56.5429 48.3609 57.15 46.7895 57.15L46.7859 57.1429Z" fill="%23111111"/>%0A</g>%0A<defs>%0A<clipPath id="clip0_2256_7437">%0A<rect width="100" height="100" fill="white"/>%0A</clipPath>%0A</defs>%0A</svg>%0A';const ay=ny,ho=o.forwardRef(function({item:e,disabled:t=!1,onPlayDone:a,selectable:r=!1,selected:s=!1,onSelect:i,flipDelay:l=0,hideLabel:c=!1,hideAudio:u=!1,orderRank:d=null},p){const{t:m}=fe.useTranslation(),h=e.word||e.title||"",g=t||!h,C=e.audio??e.sound??e.audioKey,b=e.subLabel||e.pronunciation||"",_=e.colloquialLabel||"",[f,y]=o.useState({label:h,subLabel:b,colloquialLabel:_,homonum:e.homonum});h&&(f.label!==h||f.subLabel!==b||f.colloquialLabel!==_||!Object.is(f.homonum,e.homonum))&&y({label:h,subLabel:b,colloquialLabel:_,homonum:e.homonum});const x=o.useRef(null),v=en("(max-width: 767px)"),[A,w]=o.useState(!1),D=`${typeof C=="string"?C:C?.src??""}\0${h}`,[k,B]=o.useState({for:"",url:""}),N=k.for===D?k.url:"",M=Zs(),P=e.textOnly??(!e.image&&!!f.label&&!!M&&M.entries.length>0&&!M.byWord.has(f.label)),$=P?"":Un()?.(f.label,f.homonum)??e.image??"",{imgRef:W,loading:S,hasImage:F,onLoad:Y,onError:G}=mo($);o.useEffect(()=>{let j=!1;return(async()=>{if(C){if(typeof C=="string"){if(C.startsWith("http")||C.includes("/")){B({for:D,url:C});return}}else if(typeof C=="object"&&!Array.isArray(C)){const Q=C.src;if(Q){B({for:D,url:Q});return}}}const L=Ar();if(L&&h)try{const Q=await Promise.resolve(L(h));!j&&Q&&B({for:D,url:Q})}catch{}})(),()=>{j=!0}},[C,h,D]);const q=o.useRef(!0),H=o.useRef(null);o.useEffect(()=>(q.current=!0,()=>{q.current=!1,H.current&&Xa(H.current),H.current=null;try{x.current?.pause()}catch{}x.current=null}),[]);const z=o.useCallback(()=>new Promise(j=>{if(typeof window<"u"&&window.speechSynthesis&&h){w(!0),window.speechSynthesis.cancel();const L=new SpeechSynthesisUtterance(h);L.lang="ko-KR",L.onend=()=>{w(!1);try{a?.()}catch{}j()},L.onerror=()=>{w(!1),j()},window.speechSynthesis.speak(L)}else j()}),[h,a]),Z=o.useCallback(j=>new Promise(L=>{let Q=!1;const J=()=>{Q||(Q=!0,w(!1),L(!1))};try{const oe=new Audio(j);x.current=oe,oe.onended=()=>{if(!Q){Q=!0,w(!1);try{a?.()}catch{}L(!0)}},oe.onerror=J,oe.play().catch(J)}catch{J()}}),[a]),I=o.useCallback(async()=>{if(t||!q.current)return;const j=()=>{H.current===j&&(H.current=null);try{x.current?.pause()}catch{}try{window.speechSynthesis?.cancel()}catch{}w(!1)},L=Za(j);H.current=j;try{window.speechSynthesis?.cancel()}catch{}try{if(N&&(w(!0),await Z(N)))return;const Q=F0();if(Q&&h)try{const J=await Promise.resolve(Q(h));if(!q.current||H.current!==j||J&&(w(!0),await Z(J)))return}catch{}if(!q.current||H.current!==j)return;await z()}finally{L(),H.current===j&&(H.current=null)}},[t,N,h,Z,z]);o.useImperativeHandle(p,()=>({play:()=>I()}),[I]);const T=j=>j.stopPropagation(),O=o.useCallback(j=>{if(j.stopPropagation(),!t){if(A){try{x.current?.pause()}catch{}try{window.speechSynthesis?.cancel()}catch{}w(!1);return}I()}},[t,A,I]),R=Be("training-word-card",t?"training-word-card--disabled":"",g?"training-word-card--flipped":"",r?"training-word-card--selectable":"",s?"training-word-card--selected":"");return n.jsx("div",{className:R,onClick:r&&!t?i:void 0,role:r?"button":void 0,"aria-pressed":r?s:void 0,tabIndex:r&&!t?0:void 0,"aria-disabled":r&&t?!0:void 0,onKeyDown:r&&!t?j=>{j.target===j.currentTarget&&(j.key==="Enter"||j.key===" "||j.key==="Spacebar")&&(j.preventDefault(),i?.())}:void 0,children:n.jsxs("div",{className:"training-word-card__flipper",style:{transitionDelay:g?"0ms":`${l}ms`},children:[n.jsxs("div",{className:"training-word-card__front",children:[s&&n.jsx("div",{className:"training-word-card__selected-badge",onClick:T,children:n.jsx(pt,{type:"dot",size:40,position:"inline",animate:!0,icon:d!=null?void 0:"check",number:d??void 0,"aria-label":d!=null?m("training.nthSelected",{n:d}):m("training.selected","\uC120\uD0DD\uB428")})}),n.jsx("div",{className:"training-word-card__image-wrap",children:P?n.jsx("div",{className:"training-word-card__text-face",children:f.label}):F?n.jsxs(n.Fragment,{children:[S&&n.jsx("div",{className:"training-word-card__spinner"}),n.jsx("img",{ref:W,className:"training-word-card__image",src:$,alt:f.label||m("common.image","\uC774\uBBF8\uC9C0"),style:{opacity:S?0:1},onLoad:Y,onError:G})]}):n.jsx("div",{className:"training-word-card__placeholder"})}),!c&&n.jsxs("div",{className:"training-word-card__body",children:[!P&&n.jsx("div",{className:"training-word-card__word",children:f.label}),f.subLabel&&n.jsxs("div",{className:"training-word-card__pronunciation",children:["[",f.subLabel,"]"]}),f.colloquialLabel&&n.jsxs("div",{className:"training-word-card__colloquial caption-1",children:["[",f.colloquialLabel,"]"]})]}),!u&&n.jsx("div",{className:"training-word-card__bottom",onClick:r?T:void 0,children:n.jsx(ce,{htmlType:"button",size:v?40:48,type:v?"dot":"bar",icon:A?"pause":"play",label:v?void 0:m("training.playSound","\uC18C\uB9AC \uB4E3\uAE30"),selected:A,onClick:O,disabled:t,ariaLabel:m("training.playSound","\uC18C\uB9AC \uB4E3\uAE30")})})]}),n.jsx("div",{className:"training-word-card__back","aria-hidden":"true",children:n.jsx("img",{src:ay,className:"training-word-card__disabled-symbol",alt:"",draggable:!1})})]})})}),ry=260;function Dn(e){const{t}=fe.useTranslation(),{title:a,subtitle:r,headerActions:s,children:i,buttons:l,footer:c,footerClassName:u="",onClose:d,closeDisabled:p=!1,beforeClose:m,closeOnBackdrop:h=!0,className:g="",ariaLabel:C,useTitle:b=!0,inline:_=!1,size:f,layer:y="modal",height:x,fillBody:v=!1,resetScrollKey:A}=e||{},[w,D]=o.useState(!1),k=o.useRef(!1),B=o.useRef(null),N=o.useId(),M=o.useRef(null);o.useEffect(()=>{},[_,a,C,g]),o.useEffect(()=>{A!==void 0&&M.current&&(M.current.scrollTop=0)},[A]);const[P,$]=o.useState(!1);o.useEffect(()=>{const j=M.current;if(!j)return;const L=()=>$(j.scrollHeight>j.clientHeight+1);if(L(),typeof ResizeObserver>"u")return;const Q=new ResizeObserver(L);Q.observe(j);const J=j.firstElementChild;return J&&Q.observe(J),()=>Q.disconnect()},[i,A]),o.useEffect(()=>{if(!_)return Al()},[_]),o.useEffect(()=>{if(_)return;const j=document.activeElement,L=B.current;return Ir(L,j),L&&!L.contains(document.activeElement)&&(L.querySelector(hn)??L).focus(),()=>{const Q=document.activeElement;(!Q||Q===document.body||L&&L.contains(Q))&&Fr(j)?.focus?.()}},[_]),Rr(B,!_);const W=o.useRef(!0),S=Or(),F=o.useRef(null);o.useEffect(()=>(W.current=!0,()=>{W.current=!1,F.current&&(clearTimeout(F.current),F.current=null)}),[]);const Y=o.useCallback(()=>{!W.current||!k.current||(k.current=!1,D(!1))},[]),G=o.useCallback((j,L=!1)=>{if(L&&!W.current||k.current)return;k.current=!0,D(!0);const Q=setTimeout(()=>{F.current===Q&&(F.current=null);let J;try{J=j?j():void 0}catch{Y();return}J&&typeof J.then=="function"&&J.then(()=>{setTimeout(Y,120)},Y)},S?0:ry);L&&(F.current=Q)},[Y,S]),q=o.useCallback(()=>{p||m&&m()===!1||G(d,!0)},[G,d,p,m]),H=o.useRef(q);o.useEffect(()=>{H.current=q});const z=!_&&!!d;o.useEffect(()=>{if(z)return Rn(()=>H.current())},[z]);const Z=z&&h,I=o.useRef(!1),T=j=>{I.current=j.target===j.currentTarget},O=j=>{const L=I.current;I.current=!1,L&&j.target===j.currentTarget&&q()},R=n.jsx("div",{className:`popup ${_?"popup--inline":""} ${y==="belowPagePopup"?"popup--below-page-popup":""} ${w?"popup--closing":""} ${g}`,onPointerDown:Z?T:void 0,onClick:Z?O:void 0,onMouseDown:_?void 0:j=>{j.target===j.currentTarget&&j.preventDefault()},children:n.jsxs("div",{ref:B,className:`popup-panel${f?` popup-panel--${f}`:""}${x!=null?" popup-panel--has-height":""}${v?" popup-panel--fill-body":""}`,style:x!=null?{"--popup-height":typeof x=="number"?`${x}px`:x}:void 0,tabIndex:-1,role:_?void 0:"dialog","aria-modal":_?void 0:!0,"aria-labelledby":!_&&b&&a?N:void 0,"aria-label":!_&&!(b&&a)?C??(typeof a=="string"?a:void 0):void 0,children:[!b&&(s||d)?n.jsxs("div",{className:"popup-close-float",children:[s,d&&n.jsx(ce,{htmlType:"button",size:40,type:"dot",icon:"x",variant:"transparent-gray",useBorder:!1,onClick:q,disabled:p,ariaLabel:t("common.close","\uB2EB\uAE30")})]}):a||s||d?n.jsxs("div",{className:`popup-header${r?" popup-header--with-subtitle":""}`,children:[n.jsxs("div",{className:"popup-header-main",children:[n.jsx("span",{id:N,className:"popup-title popup-title--left h2",children:a}),r&&n.jsx("span",{className:"popup-subtitle body-3",children:r})]}),n.jsxs("div",{className:"popup-header-actions",children:[s,d&&n.jsx(ce,{htmlType:"button",size:40,type:"dot",icon:"x",variant:"transparent-gray",useBorder:!1,onClick:q,disabled:p,ariaLabel:t("common.close","\uB2EB\uAE30")})]})]}):null,n.jsx("div",{className:"popup-content",ref:M,tabIndex:P?0:void 0,children:n.jsx("div",{className:"popup-content__inner",children:typeof i=="function"?i({animateThen:G,closeWithAnimation:q}):i})}),l?.length?n.jsx("div",{className:"popup-footer popup-footer--buttons",children:l.map((j,L)=>n.jsx(ce,{htmlType:"button",size:48,variant:j.variant??"default",label:j.label,disabled:j.disabled,onClick:()=>j.onClick?.({animateThen:G,closeWithAnimation:q})},L))}):c?n.jsx("div",{className:`popup-footer${u?` ${u}`:""}`,children:typeof c=="function"?c({animateThen:G,closeWithAnimation:q}):c}):null]})});return _||typeof document>"u"?R:Wt.createPortal(R,document.body)}function er(e){return String(e)}const ec=["o","triangle","x"];function tc(e,t){return e===t?null:t}const nc={o:"circle",triangle:"triangle",x:"x"},ac={o:"main",triangle:"warn",x:"danger"};function oy(e){let t=0,a=0,r=0;for(const i of Object.values(e))i==="o"?t++:i==="triangle"?a++:i==="x"&&r++;const s=t+a+r;return{marked:s,o:t,triangle:a,x:r,rate:s===0?null:(t+a*.5)/s}}function fo(e){const t={};for(const[a,r]of Object.entries(e))(r==="o"||r==="triangle"||r==="x")&&(t[a]=r);return t}function rc(e){const t=[];let a=0;for(const r of e)t.push(a),a+=r;return t}function sy(e,t){return!t&&e>0}const aa={landscape:{width:1123,height:794,printSize:"A4 landscape",printW:"297mm",printH:"210mm"},portrait:{width:794,height:1123,printSize:"A4 portrait",printW:"210mm",printH:"297mm"}};function iy(e="landscape"){jn("print-word-table-deprecated","[printWordTable] @deprecated \u2014 WordTablePopup renderButtons \uC758 print(\uB610\uB294 useWordTablePrint().print)\uB97C \uC4F0\uC138\uC694. \uC804\uC5ED \uC778\uC1C4\uB294 \uD654\uBA74\uC758 \uBAA8\uB4E0 \uB2E8\uC5B4\uD45C\uB97C \uD568\uAED8 \uCC0D\uC2B5\uB2C8\uB2E4.");const{printSize:t,printW:a,printH:r}=aa[e],s=document.createElement("style");s.textContent=`@page { size: ${t}; margin: 0; } .word-table { width: ${a} !important; height: ${r} !important; }`,document.head.appendChild(s);const i=()=>{document.head.removeChild(s),window.removeEventListener("afterprint",i)};window.addEventListener("afterprint",i),window.print()}function oc(e,t){if(e.length===0)return[[]];const a=Math.max(1,Math.floor(t)),r=[];for(let s=0;s<e.length;s+=a)r.push(e.slice(s,s+a));return r}const ly={landscape:{1:{cols:1,rows:1},2:{cols:2,rows:1},3:{cols:3,rows:1},4:{cols:2,rows:2},5:{cols:3,rows:2},6:{cols:3,rows:2},7:{cols:4,rows:2},8:{cols:4,rows:2},9:{cols:5,rows:2},10:{cols:5,rows:2},11:{cols:4,rows:3},12:{cols:4,rows:3}},portrait:{1:{cols:1,rows:1},2:{cols:1,rows:2},3:{cols:1,rows:3},4:{cols:1,rows:4},5:{cols:1,rows:5},6:{cols:2,rows:3},7:{cols:2,rows:4},8:{cols:2,rows:4},9:{cols:2,rows:5},10:{cols:2,rows:5},11:{cols:3,rows:4},12:{cols:3,rows:4}}};function cy(e,t){const a=ly[e][t];if(a)return a;const r=Math.max(1,Math.ceil(t)),s=Math.max(1,Math.ceil(Math.sqrt(r*.707)));let i,l;return e==="landscape"?(l=s,i=Math.ceil(r/l)):(i=s,l=Math.ceil(r/i)),(e==="landscape"?i<l:l<i)&&([i,l]=[l,i]),{cols:i,rows:l}}const uy={\uD45C\uC2DC:"word-table-block__content--cut-show",\uC810\uC120:"",\uCF54\uB108:"word-table-block__content--cut-corner",\uBBF8\uD45C\uC2DC:""},sc={\uBA85:"\uBA85\uC0AC",\uB3D9:"\uB3D9\uC0AC",\uD615:"\uD615\uC6A9\uC0AC",\uBD80:"\uBD80\uC0AC",\uC218:"\uC218\uC0AC",\uAD00:"\uAD00\uD615\uC0AC",\uAC10:"\uAC10\uD0C4\uC0AC",\uC870:"\uC870\uC0AC",\uC811:"\uC811\uC0AC",\uC758:"\uC758\uC874\uBA85\uC0AC",\uB300:"\uB300\uBA85\uC0AC",\uBCF4\uB3D9:"\uBCF4\uC870\uB3D9\uC0AC",\uBCF4\uD615:"\uBCF4\uC870\uD615\uC6A9\uC0AC"},ic={\uACE0\uC720:"\uACE0\uC720\uC5B4",\uD55C\uC790:"\uD55C\uC790\uC5B4",\uC678\uB798:"\uC678\uB798\uC5B4",\uD63C\uC885:"\uD63C\uC885\uC5B4"};function Co(e,t){return e?e.split("/").map(a=>t[a]??a).join("/"):""}function lc(e,t,a,r){if(r!=="\uC810\uC120")return{};const s=e%t,i=Math.floor(e/t),l=s<t-1,c=i<a-1;if(!l&&!c)return{};const u="#ddd",d=g=>`repeating-linear-gradient(to ${g}, ${u} 0, ${u} 5px, transparent 5px, transparent 10px)`,p=[],m=[],h=[];return l&&(p.push(d("bottom")),m.push("1px 100%"),h.push("right center")),c&&(p.push(d("right")),m.push("100% 1px"),h.push("center bottom")),{backgroundImage:p.join(", "),backgroundSize:m.join(", "),backgroundPosition:h.join(", "),backgroundRepeat:"no-repeat",printColorAdjust:"exact",WebkitPrintColorAdjust:"exact"}}const dy=280,py=240,my=280,hy=400,fy=120,Cy=280;function cc(e,t){const a=o.useRef(null),[r,s]=o.useState(1),[i,l]=o.useState(0),c=o.useCallback((u,d)=>{const p=u/e,m=t?d/t:1/0,h=Math.min(1,p,m);s(h),l(Math.max(0,(u-e*h)/2))},[e,t]);return o.useEffect(()=>{const u=a.current;if(!u)return;const d=t?u.parentElement??u:u;if(c(d.clientWidth,d.clientHeight),typeof ResizeObserver>"u")return;const p=new ResizeObserver(([m])=>c(m.contentRect.width,m.contentRect.height));return p.observe(d),()=>p.disconnect()},[c,t]),{scalerRef:a,scale:r,offset:i}}const gy={position:"absolute",width:1,height:1,margin:-1,padding:0,overflow:"hidden",clipPath:"inset(50%)",whiteSpace:"nowrap",border:0},by=400,uc=8;function dc({label:e,subLabel:t,colloquialLabel:a,homonum:r,showWord:s=!0,showImage:i=!0,showPronunciation:l=!0,showColloquial:c=!0,buttonSize:u=40,wordInfo:d}){const{t:p}=fe.useTranslation(),m=o.useRef(null),h=o.useRef(null),g=o.useRef(null),[C,b]=o.useState(1),[_,f]=o.useState(!1),[y,x]=o.useState({for:"",url:""}),[v,A]=o.useState(null),w=t&&t.length>0?t:V0()?.(e,r)??"",D=Un()?.(e,r)??"",{imgRef:k,loading:B,failed:N,onLoad:M,onError:P}=mo(D),$=o.useCallback(()=>A(h.current?.getBoundingClientRect()??null),[]),W=o.useCallback(()=>A(null),[]),S=Hr(!!v,O=>{O?$():W()},h),F=o.useMemo(()=>{if(!d)return null;const O=[];return d.grade&&O.push(p("wordTable.info.grade",{n:d.grade,defaultValue:"\uB09C\uC774\uB3C4: {{n}}\uB4F1\uAE09"})),d.syllables&&O.push(p("wordTable.info.syllables",{n:d.syllables,defaultValue:"\uC74C\uC808 \uC218: {{n}}\uC74C\uC808"})),d.pos&&O.push(p("wordTable.info.pos",{v:Co(d.pos,yy(p)),defaultValue:"\uD488\uC0AC: {{v}}"})),d.wordType&&O.push(p("wordTable.info.wordType",{v:Co(d.wordType,vy(p)),defaultValue:"\uC720\uD615: {{v}}"})),O.length?O:null},[d,p]),Y=w||e,G=y.for===Y?y.url:"";o.useEffect(()=>{const O=Ar(),R=w||e;if(!O||!R)return;let j=!1;return Promise.resolve(O(R)).then(L=>{!j&&L&&x({for:R,url:L})}),()=>{j=!0}},[w,e]);const q=o.useRef(null),H=o.useRef(null);o.useEffect(()=>()=>{g.current?.pause(),H.current?.()},[]);const z=o.useCallback(async O=>{if(O.stopPropagation(),_){q.current?.();return}if(G){f(!0);try{const R=new Audio(G);g.current=R;const j=()=>{f(!1),H.current?.()},L=()=>{R.pause(),j()};q.current=L;const Q=Za(L);H.current=Q,R.onended=j,R.onerror=j,await R.play()}catch{f(!1),H.current?.()}}},[_,G]),Z=i&&!!D&&!N,I=Z&&s?dy:Z?my:py,T=Z&&s?hy:Z?Cy:fy;return o.useEffect(()=>{const O=m.current;if(!O||typeof ResizeObserver>"u")return;const R=new ResizeObserver(([j])=>{const{width:L,height:Q}=j.contentRect;b(Math.min(L/I,Q/T))});return R.observe(O),()=>R.disconnect()},[I,T]),n.jsxs("div",{ref:m,className:"word-table-cell",children:[n.jsxs("div",{className:"word-table-cell__inner",style:{transform:`scale(${C})`},children:[Z&&n.jsxs("div",{className:"word-table-cell__image-wrap",children:[B&&n.jsx("div",{className:"word-table-cell__spinner"}),n.jsx("img",{ref:k,className:"word-table-cell__image",src:D,alt:e,draggable:!1,style:{opacity:B?0:1},onLoad:M,onError:P})]}),s&&n.jsx("span",{className:"word-table-cell__word h0",children:e}),l&&w&&n.jsxs("span",{className:"word-table-cell__sub h3",children:["[",w,"]"]}),c&&a&&n.jsxs("span",{className:"word-table-cell__colloquial h5",children:["[",a,"]"]})]}),n.jsxs("div",{className:"word-table-cell__play-button","data-audio-src":G,children:[n.jsx("span",{"data-play-state":"play",style:{display:_?"none":void 0},children:n.jsx(ce,{htmlType:"button",size:u,type:"dot",icon:"play",variant:"transparent-lightGray",useBorder:!1,showTooltipInfo:p("common.play","\uC7AC\uC0DD"),onClick:z})}),n.jsx("span",{"data-play-state":"pause",style:{display:_?void 0:"none"},children:n.jsx(ce,{htmlType:"button",size:u,type:"dot",icon:"pause",useBorder:!1,selected:!0,showTooltipInfo:p("common.pause","\uBA48\uCDA4"),onClick:z})})]}),d&&n.jsxs("div",{ref:h,className:"word-table-cell__info-button",onPointerEnter:O=>{Zn(O)||$()},onPointerLeave:O=>{Zn(O)||W()},onFocus:()=>{Xn()||$()},onBlur:W,children:[n.jsx(ce,{htmlType:"button",size:u,type:"dot",icon:"info",variant:"transparent-lightGray",useBorder:!1,showTooltipInfo:!1,ariaLabel:p("wordTable.wordInfo","{{word}} \uB0B1\uB9D0 \uC815\uBCF4",{word:e}),onClick:O=>{O.stopPropagation(),S.touchPress()}}),v&&F&&n.jsx(Pn,{anchorRect:v,items:F,showIndex:!1})]})]})}const pc={\uBA85:"noun",\uB3D9:"verb",\uD615:"adjective",\uBD80:"adverb",\uC218:"numeral",\uAD00:"determiner",\uAC10:"interjection",\uC870:"particle",\uC811:"affix",\uC758:"dependentNoun",\uB300:"pronoun",\uBCF4\uB3D9:"auxVerb",\uBCF4\uD615:"auxAdjective"},mc={\uACE0\uC720:"native",\uD55C\uC790:"sino",\uC678\uB798:"foreign",\uD63C\uC885:"mixed"};function yy(e){return Object.fromEntries(Object.entries(sc).map(([t,a])=>[t,pc[t]?e(`wordTable.pos.${pc[t]}`,{defaultValue:a}):a]))}function vy(e){return Object.fromEntries(Object.entries(ic).map(([t,a])=>[t,mc[t]?e(`wordSearch.filter.type.${mc[t]}`,{defaultValue:a}):a]))}function ra({title:e,titleIcon:t,disc:a,className:r,orientation:s="landscape",contentTypes:i=["\uC774\uBBF8\uC9C0","\uB2E8\uC5B4","\uD45C\uC900 \uBC1C\uC74C"],cutLine:l="\uD45C\uC2DC",showOutline:c=!0,showDivLine:u=!0,items:d,editCells:p,count:m,activeCell:h=null,onActivateCell:g,onRemoveCell:C,onRemoveItem:b,onReorder:_,showFillerAdd:f=!1,contentRef:y,buttonSize:x=40,pageNumber:v,pageNumberPosition:A="right",fitHeight:w=!1,scoring:D=!1,marks:k,onMarkClick:B,scoreIndexOffset:N=0}){const M=o.useCallback((ee,de)=>{B?.(N+ee,de)},[B,N]),P=(ee,de)=>{const te=k?.[er(N+ee)]??null;return n.jsx("div",{className:Be("word-table-cell__score",te?"word-table-cell__score--marked":""),children:ec.map(he=>n.jsx("span",{className:Be("word-table-cell__score-slot",te===he?"word-table-cell__score-slot--on":""),children:n.jsx(ce,{htmlType:"button",size:x,type:"dot",icon:nc[he],variant:te===he?ac[he]:"default",selected:te===he,useBorder:!1,showTooltipInfo:!1,ariaLabel:$(`wordTable.scoring.${he}`,{word:de,defaultValue:`${de} ${he}`}),onClick:be=>{be.stopPropagation(),M(ee,he)}})},he))})},{t:$}=fe.useTranslation(),W=p!==void 0,S=e!=null||!!t||!!a,F=o.useRef(null),[Y,G]=o.useState(null),q=d?.length??0,[H,z]=o.useState(null),[Z,I]=o.useState(""),T=o.useRef(null),O=o.useRef(null),R=o.useRef(null),j=o.useRef(null),L=o.useCallback(ee=>{O.current=ee,typeof y=="function"?y(ee):y&&(y.current=ee)},[y]),Q=o.useCallback((ee,de)=>{T.current=de,_?.(ee,de),I($("wordTable.reorder.moved",{n:de+1,total:q,defaultValue:"{{total}}\uCE78 \uAC00\uC6B4\uB370 {{n}}\uBC88\uC9F8\uB85C \uC62E\uAE40"}))},[_,$,q]);o.useEffect(()=>{const ee=T.current;ee!=null&&(T.current=null,O.current?.querySelectorAll(".word-table-block__card:not(.word-table-block__card--filler)")?.[ee]?.querySelector(".word-table-block__card-handle button")?.focus())}),o.useEffect(()=>()=>{j.current?.()},[]);const J=o.useCallback((ee,de)=>{if(!_||!ee.altKey||ee.ctrlKey||ee.metaKey)return;const te=ee.key==="ArrowRight";if(!te&&ee.key!=="ArrowLeft")return;ee.preventDefault();const he=de+(te?1:-1);he<0||he>=q||Q(de,he)},[_,q,Q]),oe=o.useCallback((ee,de)=>{if(!_||ee.pointerType==="mouse")return;const te=ee.target.closest?.("button");if(te&&!te.closest(".word-table-block__card-handle"))return;j.current?.();const he={x:ee.clientX,y:ee.clientY};let be=!1;const Ye=$e=>{be&&$e.cancelable&&$e.preventDefault()},Ve=$e=>{if(!be){(Math.abs($e.clientX-he.x)>uc||Math.abs($e.clientY-he.y)>uc)&&Ue();return}const Ie=document.elementFromPoint?.($e.clientX,$e.clientY)?.closest?.("[data-wordtable-cell]"),He=Ie?Number(Ie.dataset.wordtableCell):NaN,at=Number.isInteger(He)?He:null;R.current=at,G(at)},qe=()=>{const $e=R.current,Ie=be;Ue(),Ie&&$e!=null&&$e!==de&&Q(de,$e)},Se=setTimeout(()=>{be=!0,z(de),R.current=de,G(de),window.addEventListener("touchmove",Ye,{passive:!1})},by);function Ue(){clearTimeout(Se),window.removeEventListener("pointermove",Ve),window.removeEventListener("pointerup",qe),window.removeEventListener("pointercancel",qe),window.removeEventListener("touchmove",Ye),be=!1,R.current=null,j.current=null,z(null),G(null)}j.current=Ue,window.addEventListener("pointermove",Ve),window.addEventListener("pointerup",qe),window.addEventListener("pointercancel",qe)},[_,Q]),{width:ge,height:Me}=aa[s],{scalerRef:Ne,scale:ie,offset:U}=cc(ge,w?Me:void 0),se=W?p?.length??0:d?.length??0,me=Math.max(m??se,1),{cols:_e,rows:we}=cy(s,me),De={word:i.length===0||i.includes("\uB2E8\uC5B4"),image:i.length===0||i.includes("\uC774\uBBF8\uC9C0"),pron:i.length===0||i.includes("\uD45C\uC900 \uBC1C\uC74C"),colloq:i.length===0||i.includes("\uAD6C\uC5B4\uCCB4 \uBC1C\uC74C")},xe=W?(p??[]).some(ee=>ee!==null&&ee.length>1):(d??[]).some(ee=>(ee.words??[]).length>1),Ae=Be("word-table-block__content",uy[l],c&&"word-table-block__content--outline",u&&xe&&"word-table-block__content--div-line"),Te={transform:`scale(${1/ie})`,transformOrigin:"center center"},ae=n.jsxs("div",{ref:Ne,className:"word-table__scaler",style:{height:Me*ie},children:[n.jsx("div",{className:Be("word-table",!S&&r),style:{width:ge,height:Me,transform:`scale(${ie})`,transformOrigin:"top left",marginLeft:U},children:n.jsxs("div",{ref:L,className:Ae,style:{gridTemplateColumns:`repeat(${_e}, 1fr)`,gridTemplateRows:`repeat(${we}, 1fr)`},children:[W?n.jsx(n.Fragment,{children:(p??[]).map((ee,de)=>n.jsx("div",{className:Be("word-table-block__edit-cell",ee?"word-table-block__edit-cell--filled":"word-table-block__edit-cell--empty",h===de?"word-table-block__edit-cell--active":""),style:lc(de,_e,we,l),children:ee?n.jsxs(n.Fragment,{children:[ee.map((te,he)=>n.jsxs(o.Fragment,{children:[he>0&&n.jsx("div",{className:"word-table-block__pair-divider"}),n.jsx(dc,{label:te.word,subLabel:te.pronunciation,colloquialLabel:te.colloquialPronunciation,homonum:te.homonum,showWord:De.word,showImage:De.image,showPronunciation:De.pron,showColloquial:De.colloq,buttonSize:x})]},he)),D&&P(de,ee.map(te=>te.word).join(" / ")),C&&n.jsx("div",{className:"word-table-block__card-close",children:n.jsx(ce,{htmlType:"button",size:x,type:"dot",icon:"x",variant:"transparent-lightGray",useBorder:!1,showTooltipInfo:ee.length>1?$("wordPrint.removePair","\uB300\uB9BD\uC30D \uBE7C\uAE30"):$("wordPrint.removeWord","\uB2E8\uC5B4 \uBE7C\uAE30"),ariaLabel:ee.length>1?$("wordPrint.removePair","\uB300\uB9BD\uC30D \uBE7C\uAE30"):$("wordPrint.removeWord","\uB2E8\uC5B4 \uBE7C\uAE30"),onClick:()=>C(de)})})]}):g&&n.jsx("div",{style:Te,children:n.jsx(ce,{htmlType:"button",size:"48",type:"bar",icon:"plus",label:$("wordTable.addWord","\uCD94\uAC00\uD558\uAE30"),onClick:()=>g(de)})})},de))}):n.jsxs(n.Fragment,{children:[(d??[]).map((ee,de)=>n.jsxs("div",{"data-wordtable-cell":_?de:void 0,className:`word-table-block__card${_?" word-table-block__card--draggable":""}${Y===de?" word-table-block__card--drag-over":""}${H===de?" word-table-block__card--dragging":""}`,style:lc(de,_e,we,l),draggable:!!_,onPointerDown:_?te=>oe(te,de):void 0,onKeyDown:_?te=>J(te,de):void 0,onDragStart:_?()=>{F.current=de}:void 0,onDragOver:_?te=>{te.preventDefault(),G(de)}:void 0,onDragLeave:_?()=>G(null):void 0,onDrop:_?te=>{te.preventDefault(),F.current!==null&&F.current!==de&&_(F.current,de),F.current=null,G(null)}:void 0,onDragEnd:_?()=>{F.current=null,G(null)}:void 0,children:[(ee.words??[]).map((te,he)=>n.jsxs(o.Fragment,{children:[he>0&&n.jsx("div",{className:"word-table-block__pair-divider"}),n.jsx(dc,{label:te.label,subLabel:te.subLabel,colloquialLabel:te.colloquialLabel,homonum:te.homonum,showWord:De.word,showImage:De.image,showPronunciation:De.pron,showColloquial:De.colloq,buttonSize:x,wordInfo:te.grade||te.syllables!=null||te.pos||te.wordType?{grade:te.grade,syllables:te.syllables,pos:te.pos,wordType:te.wordType}:void 0})]},he)),D&&P(de,(ee.words??[]).map(te=>te.label).join(" / ")),_&&n.jsx("div",{className:"word-table-block__card-handle",children:n.jsx(ce,{htmlType:"button",size:x,type:"dot",icon:"grip-vertical",variant:"transparent-lightGray",useBorder:!1,showTooltipInfo:$("wordTable.reorder.hint","Alt + \u2190 \u2192 \uB85C \uC21C\uC11C \uBC14\uAFB8\uAE30"),ariaLabel:$("wordTable.reorder.handle",{word:(ee.words??[]).map(te=>te.label).join(" / "),defaultValue:"{{word}} \uC21C\uC11C \uBC14\uAFB8\uAE30 (Alt + \uD654\uC0B4\uD45C)"})})}),b&&n.jsx("div",{className:"word-table-block__card-close",children:n.jsx(ce,{htmlType:"button",size:x,type:"dot",icon:"x",variant:"transparent-lightGray",useBorder:!1,showTooltipInfo:(ee.words??[]).length>1?$("wordPrint.removePair","\uB300\uB9BD\uC30D \uBE7C\uAE30"):$("wordPrint.removeWord","\uB2E8\uC5B4 \uBE7C\uAE30"),ariaLabel:(ee.words??[]).length>1?$("wordPrint.removePair","\uB300\uB9BD\uC30D \uBE7C\uAE30"):$("wordPrint.removeWord","\uB2E8\uC5B4 \uBE7C\uAE30"),onClick:()=>b(ee.id)})})]},ee.id)),Array.from({length:Math.max(0,_e*we-(d?.length??0))}).map((ee,de)=>{const te=(d?.length??0)+de<me;return n.jsx("div",{className:"word-table-block__card word-table-block__card--filler",children:f&&g&&te&&n.jsx("div",{style:Te,children:n.jsx(ce,{htmlType:"button",size:x,type:"bar",icon:"plus",label:$("wordTable.addWord","\uCD94\uAC00\uD558\uAE30"),onClick:()=>g((d?.length??0)+de)})})},`filler-${de}`)})]}),v&&A!=="none"&&n.jsx("span",{className:`word-table__page-number body-3 word-table__page-number--${A}`,children:$("wordTable.filter.pageIndicator",{current:v.current,total:v.total})})]})}),_&&n.jsx("span",{role:"status",style:gy,children:Z})]});return S?n.jsx(na,{type:"page",icon:t,title:e,disc:a,className:Be("word-table-block",r),children:ae}):ae}function yn({title:e,headerAction:t,collapsible:a=!1,defaultCollapsed:r=!1,collapsed:s,onCollapsedChange:i,footer:l,sections:c,selected:u={},onSelect:d,align:p,sectionAlign:m,className:h}){const g=(p??(m==="vertical"?"newline":"inline"))==="inline",{t:C}=fe.useTranslation(),[b,_]=o.useState(r),f=s??b,y=()=>{const v=!f;_(v),i?.(v)},x=e||t||a;return n.jsxs("div",{className:Be("filter-panel",a?"filter-panel--collapsible":"",f?"filter-panel--collapsed":"",h),children:[x&&n.jsxs("div",{className:"filter-panel__header",children:[n.jsxs("div",{className:"filter-panel__title-row",children:[a&&n.jsx(ce,{htmlType:"button",size:40,type:"dot",variant:"transparent-gray",useBorder:!1,icon:f?"chevron-down":"chevron-up",ariaLabel:f?C("common.expand","\uD3BC\uCE58\uAE30"):C("common.collapse","\uC811\uAE30"),"aria-expanded":!f,onClick:y}),e&&n.jsx("span",{className:"filter-panel__title h4",children:e})]}),n.jsx("div",{className:"filter-panel__header-actions",children:!f&&t})]}),!f&&n.jsxs(n.Fragment,{children:[n.jsx("div",{className:Be("filter-panel__sections",g?"filter-panel__sections--row":""),children:c.map(v=>{const A=u[v.label],w=A===void 0||(Array.isArray(A)?A.length===0:!1),D=(v.items??[]).filter(B=>B!=null);v.allOption&&D.some(B=>(typeof B=="string"?B:B.value)===rn)&&jn(`filter-panel-all-value:${v.label}`,`[FilterPanel] '${v.label}' \uC808\uC5D0 allOption \uACFC \uAC12 '${rn}' \uC778 \uBCF4\uAE30\uAC00 \uD568\uAED8 \uC788\uB2E4 \u2014 \uB450 \uC120\uD0DD\uC774 \uAD6C\uBCC4\uB418\uC9C0 \uC54A\uB294\uB2E4. \uBCF4\uAE30 \uAC12\uC744 \uBC14\uAFD4\uB77C.`);const k=B=>{const N=typeof B=="string"?B:B.value,M=typeof B!="string"&&!!B.disabled,P=typeof B!="string"?B.labels:void 0,$=typeof B!="string"?B.displayLabel:void 0,W=typeof B!="string"?B.tooltip:void 0,S=typeof B!="string"?B.descriptionTooltip:void 0,F=typeof B!="string"?B.shape:void 0,Y=Array.isArray(A)?A.includes(N):A===N;return n.jsx(ce,{htmlType:"button",size:"keyboard",label:P??$??N,type:v.itemType??(P?"bar":N.length===1?"dot":void 0),selected:Y,disabled:M,shape:F,showTooltipInfo:!!W,tooltipInfoText:W,tooltipDescription:S,onClick:()=>d?.(N,v.label)},N)};return n.jsxs(o.Fragment,{children:[v.groupLabel&&n.jsxs("div",{className:"filter-panel__group-label-row",children:[n.jsx("div",{className:"filter-panel__group-label body-2",children:v.groupLabel}),v.groupAction]}),n.jsxs("div",{className:Be("filter-panel__section",v.layout==="row"?"filter-panel__section--row":"",v.block?"filter-panel__section--block":""),children:[n.jsxs("div",{className:"filter-panel__section-label-row",children:[n.jsx("span",{className:"filter-panel__section-label body-3",children:v.displayLabel??v.label}),v.labelAction??(v.labelInfo?n.jsx(wa,{...v.labelInfo}):null)]}),v.type==="note"?n.jsx("div",{className:"filter-panel__note body-3",children:v.content}):v.type==="input"?n.jsx(On,{className:"filter-panel__textfield",placeholder:v.placeholder,ariaLabel:v.displayLabel??v.label,value:u[v.label]??"",onChange:B=>d?.(B,v.label),error:v.error}):!v.multiple&&v.display==="segmented"?n.jsx(Vn,{ariaLabel:v.displayLabel??v.label,options:[...v.allOption?[{key:rn,label:v.allLabel??C("common.all","\uC804\uCCB4"),disabled:v.allOptionDisabled}]:[],...D.map(B=>{const N=typeof B=="string"?B:B.value,M=typeof B!="string"?B.displayLabel:void 0,P=typeof B!="string"?B.disabled:void 0;return{key:N,label:M??N,disabled:P}})],value:w&&v.allOption?rn:u[v.label]??"",onChange:B=>d?.(B,v.label),size:32}):!v.multiple&&v.display==="dropdown"?n.jsx(tn,{className:"filter-panel__dropdown",size:40,options:[...v.allOption?[{value:rn,label:v.allLabel??C("common.all","\uC804\uCCB4"),disabled:v.allOptionDisabled}]:[],...D.map(B=>{const N=typeof B=="string"?B:B.value,M=typeof B!="string"?B.displayLabel:void 0,P=typeof B!="string"?B.disabled:void 0;return{value:N,label:M??N,disabled:P}})],value:w&&v.allOption?rn:u[v.label],onChange:B=>d?.(B,v.label)}):n.jsxs("div",{className:v.groups?"filter-panel__item-groups":"filter-panel__items",children:[v.allOption&&!v.groups&&n.jsx(ce,{htmlType:"button",size:"keyboard",label:v.allLabel??C("common.all","\uC804\uCCB4"),selected:w,disabled:v.allOptionDisabled,onClick:()=>d?.(rn,v.label)}),v.groups?v.groups.map((B,N)=>n.jsxs("div",{className:"filter-panel__item-group",children:[N===0&&v.allOption&&n.jsx(ce,{htmlType:"button",size:"keyboard",label:v.allLabel??C("common.all","\uC804\uCCB4"),selected:w,disabled:v.allOptionDisabled,onClick:()=>d?.(rn,v.label)}),B.filter(M=>M!=null).map(k)]},N)):D.map(k)]})]})]},v.label)})}),l!=null&&l!==!1&&n.jsx("div",{className:"filter-panel__footer body-3",children:l})]})]})}const xy=[1,2,3,4,5,6,7,8,9,10,11,12],hc=[8,4,2,1];function fc(e,t){return{label:e("wordTable.filter.composition","\uAD6C\uC131"),items:[{value:"\uC774\uBBF8\uC9C0",disabled:!t.hasImage,displayLabel:e("wordTable.filter.image","\uC774\uBBF8\uC9C0")},{value:"\uB2E8\uC5B4",displayLabel:e("wordTable.filter.word","\uB2E8\uC5B4")},{value:"\uD45C\uC900 \uBC1C\uC74C",displayLabel:e("wordTable.filter.standardPron","\uD45C\uC900 \uBC1C\uC74C")},{value:"\uAD6C\uC5B4\uCCB4 \uBC1C\uC74C",disabled:!t.hasColloquial,displayLabel:e("wordTable.filter.colloquialPron","\uAD6C\uC5B4\uCCB4 \uBC1C\uC74C")}],multiple:!0,allOption:!0}}function Cc(e){return{label:e("wordTable.filter.paperOrientation","\uC6A9\uC9C0 \uBC29\uD5A5"),items:[{value:"\uAC00\uB85C",displayLabel:e("wordTable.filter.landscape","\uAC00\uB85C")},{value:"\uC138\uB85C",displayLabel:e("wordTable.filter.portrait","\uC138\uB85C")}],display:"segmented"}}function gc(e){return{label:e("wordTable.filter.border","\uC678\uACFD\uC120"),items:[{value:"\uD45C\uC2DC",displayLabel:e("wordTable.filter.show","\uD45C\uC2DC")},{value:"\uBBF8\uD45C\uC2DC",displayLabel:e("wordTable.filter.hide","\uBBF8\uD45C\uC2DC")}],display:"segmented"}}function bc(e){return{label:e("wordTable.filter.cutLine","\uC808\uCDE8\uC120"),items:[{value:"\uD45C\uC2DC",displayLabel:e("wordTable.filter.show","\uD45C\uC2DC")},{value:"\uC810\uC120",displayLabel:e("wordTable.filter.dotted","\uC810\uC120")},{value:"\uCF54\uB108",displayLabel:e("wordTable.filter.corner","\uCF54\uB108")},{value:"\uBBF8\uD45C\uC2DC",displayLabel:e("wordTable.filter.hide","\uBBF8\uD45C\uC2DC")}],display:"segmented"}}function yc(e){return{label:e("wordPrint.divLine","\uB300\uB9BD\uC120"),items:[{value:"\uD45C\uC2DC",displayLabel:e("wordTable.filter.show","\uD45C\uC2DC")},{value:"\uBBF8\uD45C\uC2DC",displayLabel:e("wordTable.filter.hide","\uBBF8\uD45C\uC2DC")}],display:"segmented"}}function vc(e,t){return{label:e(t.hasPairs?"wordTable.filter.itemsPerPagePair":"wordTable.filter.itemsPerPageWord"),items:[t.itemCount,...hc.filter(a=>a<t.itemCount)].map(a=>({value:`${a}\uAC1C`,displayLabel:e("wordTable.filter.itemsPerPageOption",{count:a})})),display:"segmented"}}function xc(e,t){return e===t||!hc.includes(e)?Number.POSITIVE_INFINITY:e}function _c(e){return{label:e("wordTable.filter.pageNumber","\uD398\uC774\uC9C0 \uBC88\uD638"),items:[{value:"\uC67C\uCABD",displayLabel:e("wordTable.filter.pageNumberLeft","\uC67C\uCABD")},{value:"\uC911\uC559",displayLabel:e("wordTable.filter.pageNumberCenter","\uC911\uC559")},{value:"\uC624\uB978\uCABD",displayLabel:e("wordTable.filter.pageNumberRight","\uC624\uB978\uCABD")},{value:"\uBBF8\uD45C\uC2DC",displayLabel:e("wordTable.filter.hide","\uBBF8\uD45C\uC2DC")}],display:"segmented"}}const wc={left:"\uC67C\uCABD",center:"\uC911\uC559",right:"\uC624\uB978\uCABD",none:"\uBBF8\uD45C\uC2DC"};function kc(e){return e==="\uC67C\uCABD"?"left":e==="\uC911\uC559"?"center":e==="\uC624\uB978\uCABD"?"right":"none"}function Ac(e,t){return{[e("wordTable.filter.composition","\uAD6C\uC131")]:t.contentTypes,[e("wordTable.filter.paperOrientation","\uC6A9\uC9C0 \uBC29\uD5A5")]:t.orientation==="landscape"?"\uAC00\uB85C":"\uC138\uB85C",[e("wordTable.filter.border","\uC678\uACFD\uC120")]:t.showOutline?"\uD45C\uC2DC":"\uBBF8\uD45C\uC2DC",[e("wordTable.filter.cutLine","\uC808\uCDE8\uC120")]:t.cutLine,[e("wordPrint.divLine","\uB300\uB9BD\uC120")]:t.showDivLine?"\uD45C\uC2DC":"\uBBF8\uD45C\uC2DC"}}function Bc(e,t,a,r){return a===e("wordTable.filter.composition","\uAD6C\uC131")?t===rn?(r.setContentTypes(()=>[]),!0):(r.setContentTypes(s=>s.includes(t)?s.filter(i=>i!==t):[...s,t]),!0):a===e("wordTable.filter.paperOrientation","\uC6A9\uC9C0 \uBC29\uD5A5")?(r.setOrientation(t==="\uAC00\uB85C"?"landscape":"portrait"),!0):a===e("wordTable.filter.border","\uC678\uACFD\uC120")?(r.setShowOutline(t==="\uD45C\uC2DC"),!0):a===e("wordTable.filter.cutLine","\uC808\uCDE8\uC120")?(r.setCutLine(t),!0):a===e("wordPrint.divLine","\uB300\uB9BD\uC120")?(r.setShowDivLine(t==="\uD45C\uC2DC"),!0):!1}function _y(e){return"sections"in e}function go(e){const{t}=fe.useTranslation(),{title:a,className:r}=e;if(_y(e))return n.jsx(yn,{className:r,title:a??t("wordTable.filterTitle","\uD45C \uC124\uC815"),sections:e.sections,selected:e.selected,onSelect:e.onSelect,align:"inline"});const{hasImage:s,hasColloquial:i,contentTypes:l,orientation:c,showOutline:u,cutLine:d,showDivLine:p,setters:m,showCutLine:h=!1,showDivLine2:g=!1,middleSections:C=[],extraSelected:b={},onExtraSelect:_}=e,f=[fc(t,{hasImage:s,hasColloquial:i}),Cc(t),...C,gc(t),...h?[bc(t)]:[],...g?[yc(t)]:[]],y={...Ac(t,{contentTypes:l,orientation:c,showOutline:u,cutLine:d,showDivLine:p}),...b},x=(v,A)=>{Bc(t,v,A,m)||_?.(v,A)};return n.jsx(yn,{className:r,title:a??t("wordTable.filterTitle","\uD45C \uC124\uC815"),sections:f,selected:y,onSelect:x,sectionAlign:"horizontal"})}function Nc(e){return e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function bo(e){return e.replace(/[\\/:*?"<>|]/g,"_").trim()}let tr=null,oa=null;function wy(e,t,a,r="",s=""){if(e.length===0||oa&&oa.iframe.isConnected&&Date.now()-oa.at<1e4)return;const i=r?bo(r):"";tr?.();let l=null;if(i){const d=document.title;document.title=i,l=()=>{document.title=d,window.removeEventListener("afterprint",l),tr===l&&(tr=null)},tr=l,window.addEventListener("afterprint",l)}const c=document.createElement("iframe");c.style.cssText="position:fixed;left:-10000px;top:0;width:1200px;height:900px;border:0;",document.body.appendChild(c);const u=c.contentDocument;if(!u){c.remove();return}oa={iframe:c,at:Date.now()},u.open(),u.write(yo(e,t,a,!0,i,s)),u.close(),c.contentWindow?.addEventListener("afterprint",()=>{l?.(),setTimeout(()=>{c.remove(),oa?.iframe===c&&(oa=null)},0)})}function yo(e,t,a,r=!1,s="",i=""){s=s?bo(s):"";const l=Array.from(document.styleSheets).flatMap(p=>{try{return Array.from(p.cssRules).map(m=>m.cssText)}catch{return[]}}).join(`
845
845
  `),c="light",u=i?`<div class="paper-head">${Nc(i)}</div>`:"",d=e.map(p=>{const m=p.cloneNode(!0);return m.querySelectorAll('[data-play-state="play"]').forEach(h=>h.style.display=""),m.querySelectorAll('[data-play-state="pause"]').forEach(h=>h.style.display="none"),m.querySelectorAll(".word-table-cell__score-slot:not(.word-table-cell__score-slot--on)").forEach(h=>h.remove()),m.querySelectorAll(".word-table-cell__spinner").forEach(h=>h.remove()),m.querySelectorAll("img").forEach(h=>{h.style.opacity==="0"&&(h.setAttribute("onload","this.style.opacity=''"),h.setAttribute("onerror","this.style.visibility='hidden'"))}),`<div class="paper-wrap">${u}${m.outerHTML}</div>`}).join(`
846
846
  `);return`<!DOCTYPE html>
847
847
  <html data-theme="${c}">
@@ -985,10 +985,10 @@ ${v.badge}`:v.badge:void 0;if(w&&u(v.code))return null;if(!v.badge&&!p)return m(
985
985
  `:""}
986
986
  <\/script>
987
987
  </body>
988
- </html>`}const ky=1e3;function vo({getElements:e,paperW:t,paperH:a,fileName:r="",onPopupBlocked:s,header:i=""}){const{t:l}=fe.useTranslation(),c=o.useCallback(()=>{wy(e(),t,a,r,i)},[e,t,a,r,i]),u=o.useCallback(()=>{const p=e();if(p.length===0)return;const m=window.open("","_blank");if(!m){s?.();return}m.document.write(yo(p,t,a,!1,r,i)),m.document.close()},[e,t,a,r,s,i]),d=o.useCallback(()=>{const p=e();if(p.length===0)return;const m=yo(p,t,a,!1,r,i),h=new Blob([m],{type:"text/html;charset=utf-8"}),g=URL.createObjectURL(h),C=(r?bo(r):"")||l("wordTable.printFileNameSingle","\uB2E8\uC5B4\uD45C"),b=Object.assign(document.createElement("a"),{href:g,download:`${C}.html`});document.body.appendChild(b),b.click(),document.body.removeChild(b),setTimeout(()=>URL.revokeObjectURL(g),ky)},[e,t,a,r,i,l]);return{print:c,openNewWindow:u,downloadHtml:d}}function Dc(e){const{t}=fe.useTranslation(),[a,r]=o.useState("landscape"),[s,i]=o.useState(["\uC774\uBBF8\uC9C0","\uB2E8\uC5B4","\uD45C\uC900 \uBC1C\uC74C"]),[l,c]=o.useState("\uD45C\uC2DC"),[u,d]=o.useState(!0),[p,m]=o.useState(!0),[h,g]=o.useState(8),[C,b]=o.useState("right"),_=e.length,f=e.some(I=>(I.words??[]).length>1),y=e.some(I=>(I.words??[]).some($=>!!$.colloquialLabel)),x=Math.min(h,Math.max(_,1)),v=o.useMemo(()=>oc(e,x),[e,x]),k=v.length>1,w=x,[D,B]=o.useState(!1);o.useEffect(()=>{let I=!1;if(!Un()){B(!1);return}return Promise.all(e.flatMap($=>($.words??[]).map(V=>qs(V.label,V.homonum)))).then($=>{I||B($.some(Boolean))},()=>{}),()=>{I=!0}},[e]);const A=o.useMemo(()=>[fc(t,{hasImage:D,hasColloquial:y}),Cc(t),..._>0?[vc(t,{hasPairs:f,itemCount:_})]:[],...k?[_c(t)]:[],gc(t),...w>1?[bc(t)]:[],...f?[yc(t)]:[]],[t,D,y,_,f,k,w]),N={...Ac(t,{contentTypes:s,orientation:a,showOutline:u,cutLine:l,showDivLine:p}),..._>0?{[t(f?"wordTable.filter.itemsPerPagePair":"wordTable.filter.itemsPerPageWord")]:`${x}\uAC1C`}:{},...k?{[t("wordTable.filter.pageNumber","\uD398\uC774\uC9C0 \uBC88\uD638")]:wc[C]}:{}},M=o.useCallback((I,$)=>{Bc(t,I,$,{setContentTypes:i,setOrientation:r,setShowOutline:d,setCutLine:c,setShowDivLine:m})||($===t("wordTable.filter.itemsPerPagePair","\uD398\uC774\uC9C0\uB2F9 \uB300\uB9BD\uC30D \uC218")||$===t("wordTable.filter.itemsPerPageWord","\uD398\uC774\uC9C0\uB2F9 \uB2E8\uC5B4 \uC218")?g(xc(parseInt(I),_)):$===t("wordTable.filter.pageNumber","\uD398\uC774\uC9C0 \uBC88\uD638")&&b(kc(I)))},[t,_]);return{settings:{orientation:a,contentTypes:s,cutLine:l,showOutline:u,showDivLine:p,count:w},filterSections:A,filterSelected:N,handleSelect:M,pages:v,isPaginated:k,pageNumberPosition:C}}function Ay({items:e,words:t,title:a,subtitle:r,emptyText:s,buttons:i,renderButtons:l,renderFooter:c,footerClassName:u,printFileName:d,showSettings:p,autoPrint:m,className:h,onClose:g,scoring:C=!1,onScoreChange:b,printHeader:_,beforeClose:f}){const{t:y}=fe.useTranslation(),x=o.useMemo(()=>Array.isArray(e)?e:(Array.isArray(t)?t:[]).filter(oe=>typeof oe=="string"&&oe.length>0).map((oe,ge)=>({id:`${oe}-${ge}`,words:[{label:oe}]})),[e,t]),{settings:v,filterSections:k,filterSelected:w,handleSelect:D,pages:B,isPaginated:A,pageNumberPosition:N}=Dc(x),M=o.useMemo(()=>rc(B.map(oe=>oe.length)),[B]),[I,$]=o.useState({}),V=o.useCallback((oe,ge)=>{$(Me=>({...Me,[er(oe)]:tc(Me[er(oe)]??null,ge)}))},[]),S=o.useRef(b);o.useEffect(()=>{S.current=b});const F=o.useRef(I);o.useEffect(()=>{F.current!==I&&(F.current=I,S.current?.(fo(I)))},[I]);const z=o.useMemo(()=>fo(I),[I]),Y=o.useRef(null),{toastMessage:U,toastKey:G,showWarning:W,clearToast:Z}=tl("warning"),P=o.useRef([]),T=o.useCallback(()=>A?P.current.filter(oe=>oe!==null):Y.current?[Y.current]:[],[A]),{print:O,openNewWindow:R}=vo({getElements:T,paperW:aa[v.orientation].width,paperH:aa[v.orientation].height,fileName:d??"",header:_??"",onPopupBlocked:()=>W(y("wordTable.popupBlocked","\uD31D\uC5C5\uC774 \uCC28\uB2E8\uB418\uC5C8\uC2B5\uB2C8\uB2E4. \uBE0C\uB77C\uC6B0\uC800 \uC124\uC815\uC5D0\uC11C \uD31D\uC5C5\uC744 \uD5C8\uC6A9\uD574 \uC8FC\uC138\uC694."))}),j=o.useMemo(()=>c?void 0:l?l({print:O,openNewWindow:R}):d?[{label:y("wordTable.openNewWindow","\uC0C8 \uCC3D\uC73C\uB85C \uBCF4\uAE30"),variant:"default",onClick:()=>R()},{label:y("wordTable.print","\uC778\uC1C4\uD558\uAE30"),variant:"default",onClick:()=>O()},...i??[]]:i,[c,l,d,i,y,O,R]),L=o.useMemo(()=>c?c({print:O,openNewWindow:R}):void 0,[c,O,R]),Q=o.useRef(!1),J=o.useRef(O);return o.useEffect(()=>{J.current=O},[O]),o.useEffect(()=>{if(!m||Q.current)return;const oe=window.setTimeout(()=>{Q.current=!0,J.current()},100);return()=>window.clearTimeout(oe)},[m]),n.jsxs(Dn,{title:a??y("keyWords.title","\uC8FC\uC694 \uB2E8\uC5B4"),subtitle:r,size:"large",className:Be("word-table-popup",h),buttons:j,footer:L,footerClassName:u,beforeClose:f,onClose:g,children:[x.length>0?n.jsxs("div",{className:"word-table-popup__body",children:[p&&n.jsx(go,{sections:k,selected:w,onSelect:D}),A?n.jsx("div",{className:"word-table-popup__pages",children:B.map((oe,ge)=>n.jsx(ra,{items:oe,orientation:v.orientation,contentTypes:v.contentTypes,cutLine:v.cutLine,showOutline:v.showOutline,showDivLine:v.showDivLine,count:v.count,contentRef:Me=>{P.current[ge]=Me},pageNumber:{current:ge+1,total:B.length},pageNumberPosition:N,scoring:C,scoreIndexOffset:M[ge],marks:z,onMarkClick:V},ge))}):n.jsx("div",{className:"word-table-popup__table",children:n.jsx(ra,{items:x,orientation:v.orientation,contentTypes:v.contentTypes,cutLine:v.cutLine,showOutline:v.showOutline,showDivLine:v.showDivLine,count:v.count,contentRef:Y,fitHeight:!0,scoring:C,marks:z,onMarkClick:V})})]}):n.jsx("p",{className:"word-table-popup__empty body-3",children:s??y("keyWords.empty","\uCD94\uCD9C\uB41C \uC8FC\uC694 \uB2E8\uC5B4\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.")}),n.jsx(ea,{message:U,position:"top",onClose:Z},G)]})}const By=new Set(["x","triangle"]);function Ny(e,t){const a=[];for(let r=0;r<e.length;r++){const s=t[String(r)];s&&By.has(s)&&a.push(e[r])}return a}const Dy=/\s*(?:(\d+)차\s*)?복습\s*\d{2}\.\d{2}$/;function Sc(e){const t=e.name.trim(),a=e.reviewRound;if(typeof a=="number"&&Number.isFinite(a)&&a>=0){const i=Math.floor(a);if(i===0)return{\uBC14\uD0D5:t,\uD68C\uCC28:1};const l=(i===1?/\s*복습\s*\d{2}\.\d{2}$/:new RegExp(`(?:^|\\s)${i}\uCC28\\s*\uBCF5\uC2B5\\s*\\d{2}\\.\\d{2}$`)).exec(t);return{\uBC14\uD0D5:l?t.slice(0,l.index).trim():t,\uD68C\uCC28:i+1}}let r=t,s=1;for(;;){const i=Dy.exec(r);if(!i)break;s=Math.max(s,(i[1]?Number(i[1]):1)+1),r=r.slice(0,i.index).trim()}return{\uBC14\uD0D5:r,\uD68C\uCC28:s}}function Sy(e,t){const[,a,r]=Lr(t).split("-"),s=`${a}.${r}`,{\uBC14\uD0D5:i,\uD68C\uCC28:l}=Sc(typeof e=="string"?{name:e}:e),c=l>=2?`${l}\uCC28 `:"";return`${i||"\uB2E8\uC5B4\uD45C"} ${c}\uBCF5\uC2B5 ${s}`}function Ey(e){return{reviewOf:e.reviewOf??e.id??void 0,reviewRound:Sc(e).\uD68C\uCC28}}function Ty(e,t){const a={};for(const[r,s]of Object.entries(t)){if(s!=="o"&&s!=="triangle"&&s!=="x")continue;const i=Number(r),l=e[i];l&&(a[r]=l)}return a}function jy(e){return e.map(t=>t.label).join(" / ")}function My(e){return e.map(t=>t.homonum!=null?`${t.label}#${t.homonum}`:t.label).join(" / ")}function Ec(e){return e.split(" / ").map(t=>t.replace(/#\d+$/,"")).join(" / ")}function Ly(e,t,a){const r=ai(a);return[e.trim(),r,t.trim()].filter(Boolean).join(" \xB7 ")}function Tc(e,t,a){return a===0?0:(e+t*.5)/a}function $y(e){const t=new Map,a=[...e].sort((s,i)=>s.scoredAt.localeCompare(i.scoredAt));for(const s of a)for(const[i,l]of Object.entries(s.marks)){const c=s.labels?.[i];if(!c)continue;const u=t.get(c)??{o:0,triangle:0,x:0,latest:l,latestAt:s.scoredAt};if(l==="o")u.o++;else if(l==="triangle")u.triangle++;else if(l==="x")u.x++;else continue;u.latest=l,u.latestAt=s.scoredAt,t.set(c,u)}const r=[];for(const[s,i]of t){const l=i.o+i.triangle+i.x;r.push({label:Ec(s),key:s,tried:l,o:i.o,triangle:i.triangle,x:i.x,rate:Tc(i.o,i.triangle,l),latest:i.latest,latestAt:i.latestAt})}return r.sort((s,i)=>s.rate-i.rate||i.tried-s.tried||Jn(s.label,i.label)||Jn(s.key??s.label,i.key??i.label)),r}function Ry(e){const t=new Map;for(const r of e){const s=r.tableId??`name:${r.tableName}`,i=t.get(s)??{tableName:r.tableName,tableId:r.tableId,rows:[]};i.rows.push(r),t.set(s,i)}const a=[];for(const r of t.values()){const s=c=>Object.values(c.marks).filter(u=>u==="o"||u==="triangle"||u==="x").length,i=r.rows.filter(c=>s(c)>0).sort((c,u)=>c.scoredAt.localeCompare(u.scoredAt));if(i.length===0)continue;const l=i.map(c=>{const u=Object.values(c.marks),d=u.filter(m=>m==="o").length,p=u.filter(m=>m==="triangle").length;return Tc(d,p,s(c))});a.push({tableName:r.tableName,tableId:r.tableId,rates:l,times:i.map(c=>c.scoredAt),delta:l.length>=2?l[l.length-1]-l[0]:null})}return a.sort((r,s)=>(s.times[s.times.length-1]??"").localeCompare(r.times[r.times.length-1]??"")),a}function Py(e,t=8){return e.filter(a=>a.latest!=="o").slice(0,t)}function Iy(e,t){if(e==null||t==null||e===""||t==="")return 0;if(typeof e=="number"&&typeof t=="number")return e-t;const a=String(e),r=String(t);return+(a>r)-+(a<r)}function Fy(e){const t=new Map;let a=0,r=0;const s=e.map((l,c)=>({r:l,\uC790\uB9AC:c})).sort((l,c)=>l.r.answeredAt.localeCompare(c.r.answeredAt)||Iy(l.r.id,c.r.id)||l.\uC790\uB9AC-c.\uC790\uB9AC).map(l=>l.r);for(const l of s){if(l.isCorrect==null)continue;const c=l.itemTitle?.trim();if(!c){r++;continue}a++;const u=l.itemId?.trim()||c,d=`${l.trainingType}|${u}`,p=t.get(d)??{trainingType:l.trainingType,itemId:u,title:c,tried:0,wrong:0,latestCorrect:l.isCorrect,latestAt:l.answeredAt,lastSelected:l.selected,setIds:[]};if(p.tried++,l.isCorrect||p.wrong++,p.title=c,p.latestCorrect=l.isCorrect,p.latestAt=l.answeredAt,p.lastSelected=l.selected,l.setId){const m=p.setIds.indexOf(l.setId);m>0&&p.setIds.splice(m,1),m!==0&&p.setIds.unshift(l.setId)}t.set(d,p)}const i=[...t.entries()].map(([l,c])=>({key:l,trainingType:c.trainingType,itemId:c.itemId,title:c.title,tried:c.tried,wrong:c.wrong,rate:c.tried===0?0:(c.tried-c.wrong)/c.tried,latestCorrect:c.latestCorrect,latestAt:c.latestAt,lastSelected:c.lastSelected,setIds:c.setIds}));return i.sort((l,c)=>l.rate-c.rate||c.tried-l.tried||Jn(l.title,c.title)),{items:i,counted:a,skippedNoTitle:r}}function Oy(e,t=8){return e.filter(a=>!a.latestCorrect).slice(0,t)}function Hy(e){const t=new Map;for(const r of e){const s=t.get(r.trainingType)??[];s.push(r),t.set(r.trainingType,s)}const a=[...t.entries()].map(([r,s])=>({trainingType:r,items:s,pending:s.filter(i=>!i.latestCorrect).length}));return a.sort((r,s)=>s.pending-r.pending||r.trainingType.localeCompare(s.trainingType)),a}const xo=["LISTEN_IN_NOISE","SHORT_STORY","LONG_STORY","ORDERING_SENTENCE"];function Vy(e){const t=new Map;let a=0;for(const i of e){if(i.latestCorrect)continue;const l=i.setIds[0];if(!l){a++;continue}const c=`${i.trainingType}|${l}`,u=t.get(c)??{setId:l,trainingType:i.trainingType,pending:0};u.pending++,t.set(c,u)}const r=(i,l)=>l.pending-i.pending||i.trainingType.localeCompare(l.trainingType)||i.setId.localeCompare(l.setId),s=[...t.values()];return{sentence:s.filter(i=>xo.includes(i.trainingType)).sort(r),word:s.filter(i=>!xo.includes(i.trainingType)).sort(r),noSet:a}}function zy(e,t,a=5){const r=new Set(t);if(r.size===0)return[];const s=[];for(const i of e){const l=new Set,c=[];for(const u of i.cellLabels)r.has(u)&&!l.has(u)&&(l.add(u),c.push(u));c.length!==0&&s.push({id:i.id,name:i.name,kind:i.kind,covered:c,totalCells:i.cellLabels.length})}return s.sort((i,l)=>l.covered.length-i.covered.length||i.totalCells-l.totalCells||Jn(i.name,l.name)),s.slice(0,Math.max(0,a))}function Wy(e,t){const a=new Set(e.flatMap(r=>r.covered));return t.filter(r=>!a.has(r))}function qy(e,t){const a=new Map;for(const s of e)for(const i of s.cells){const l=s.labelOf(i);a.has(l)||a.set(l,i)}const r=[];for(const s of t){const i=a.get(s);i!==void 0&&r.push(i)}return r}function _o(e,t,a){return typeof e=="string"&&e?e:t.replace(/\{\{(\w+)\}\}/g,(r,s)=>String(a[s]))}function Uy(e,t){const a=Number.isFinite(e)?Math.round(e):0;if(!a||a<=0)return"-";const r=Math.floor(a/60),s=a%60;return t?t(r,s):r>0&&s>0?_o(wt.t("customers.duration.minSec",{m:r,s,defaultValue:"{{m}}\uBD84 {{s}}\uCD08"}),"{{m}}\uBD84 {{s}}\uCD08",{m:r,s}):r>0?_o(wt.t("customers.duration.min",{m:r,defaultValue:"{{m}}\uBD84"}),"{{m}}\uBD84",{m:r}):_o(wt.t("customers.duration.sec",{s,defaultValue:"{{s}}\uCD08"}),"{{s}}\uCD08",{s})}function Gy(e,t){const a=[],r=new Set;for(const s of e){const i=t(s);r.has(i)||(r.add(i),a.push({key:i,value:s,pinned:!1}))}return a}function Ky(e,t){return e.map(a=>a.key===t?{...a,pinned:!a.pinned}:a)}function Yy(e,t){return e.filter(a=>a.key!==t)}function Zy(e,t,a){const r=e.filter(d=>d.pinned),s=new Set(r.map(d=>d.key)),i=e.length-r.length,l=[],c=new Set(s);for(const d of t){if(l.length>=i)break;const p=a(d);c.has(p)||(c.add(p),l.push({key:p,value:d,pinned:!1}))}const u=[...l];return e.map(d=>d.pinned?d:u.shift()).filter(d=>d!==void 0)}function Xy(e){return e.map(t=>t.value)}function Jy(e){const{category:t={},isSelected:a=!1,onClick:r}=e||{},s=t?.key?` icon-grid-menu__button--${t.key}`:"",i=o.useId();return n.jsxs("div",{className:`icon-grid-menu__button-wrapper${s}`,children:[n.jsx("button",{className:`icon-grid-menu__button${a?" icon-grid-menu__button--selected":""}`,"data-key":t?.key,type:"button",onClick:a?void 0:r,"aria-pressed":a,"aria-labelledby":i,children:n.jsx(Ge,{icon:t.icon,label:t.label,className:"icon-grid-menu__button-icon",imgClassName:"icon-grid-menu__button-icon-image",maskClassName:"icon-grid-menu__button-icon-mask",svgClassName:"icon-grid-menu__button-icon-svg"})}),n.jsx("span",{id:i,className:"icon-grid-menu__button-label button-1",children:t.label})]})}function Qy(e){const{categories:t=[],selected:a,onSelect:r,size:s="medium"}=e||{},i=a!==void 0,[l,c]=o.useState(()=>i?null:(t&&t[0]?.key)??null),u=i?a:l,d=o.useRef(r);o.useEffect(()=>{d.current=r});const p=o.useRef(!1),m=(t&&t[0]?.key)??null;o.useEffect(()=>{if(i||p.current||!m)return;p.current=!0;const g=l??m;l==null&&c(g),d.current?.(g)},[i,m]);const h=o.useCallback(g=>{const C=u===g?null:g;p.current=!0,i||c(C),r?.(C)},[u,i,r]);return n.jsx("div",{className:`icon-grid-menu icon-grid-menu--${s}`,children:(t||[]).map(g=>n.jsx(Jy,{category:g,isSelected:u===g.key,onClick:()=>h(g.key)},g.key))})}function e5({subs:e=[],selected:t,onSelect:a,size:r="medium"}){const s=r==="small"?32:40;return n.jsx("div",{className:`choice-chips choice-chips--${r}`,children:n.jsx("div",{className:"choice-chips__list",children:e.map(i=>n.jsx(ce,{htmlType:"button",size:s,type:"bar",label:i.label,selected:t===i.key,className:"choice-chips__button",onClick:()=>a?.(i.key)},i.key))})})}function t5({onTermsClick:e,onPrivacyClick:t,contact:a}={}){const r=a?.email??"support@ihab.co.kr",s=a?.tel??"031-380-3724",{t:i}=fe.useTranslation();return n.jsx("footer",{className:"site-footer",children:n.jsxs("div",{className:"safearea",children:[n.jsxs("div",{className:"site-footer__top",children:[n.jsx("div",{className:"site-footer__brand",children:n.jsx("div",{className:"site-footer__lead h3",children:i("footer.lead",`\uC544\uC774\uD574\uBE0C\uB294 \uC18C\uB9AC\uB97C \uD1B5\uD574
988
+ </html>`}const ky=1e3;function vo({getElements:e,paperW:t,paperH:a,fileName:r="",onPopupBlocked:s,header:i=""}){const{t:l}=fe.useTranslation(),c=o.useCallback(()=>{wy(e(),t,a,r,i)},[e,t,a,r,i]),u=o.useCallback(()=>{const p=e();if(p.length===0)return;const m=window.open("","_blank");if(!m){s?.();return}m.document.write(yo(p,t,a,!1,r,i)),m.document.close()},[e,t,a,r,s,i]),d=o.useCallback(()=>{const p=e();if(p.length===0)return;const m=yo(p,t,a,!1,r,i),h=new Blob([m],{type:"text/html;charset=utf-8"}),g=URL.createObjectURL(h),C=(r?bo(r):"")||l("wordTable.printFileNameSingle","\uB2E8\uC5B4\uD45C"),b=Object.assign(document.createElement("a"),{href:g,download:`${C}.html`});document.body.appendChild(b),b.click(),document.body.removeChild(b),setTimeout(()=>URL.revokeObjectURL(g),ky)},[e,t,a,r,i,l]);return{print:c,openNewWindow:u,downloadHtml:d}}function Dc(e){const{t}=fe.useTranslation(),[a,r]=o.useState("landscape"),[s,i]=o.useState(["\uC774\uBBF8\uC9C0","\uB2E8\uC5B4","\uD45C\uC900 \uBC1C\uC74C"]),[l,c]=o.useState("\uD45C\uC2DC"),[u,d]=o.useState(!0),[p,m]=o.useState(!0),[h,g]=o.useState(8),[C,b]=o.useState("right"),_=e.length,f=e.some(P=>(P.words??[]).length>1),y=e.some(P=>(P.words??[]).some($=>!!$.colloquialLabel)),x=Math.min(h,Math.max(_,1)),v=o.useMemo(()=>oc(e,x),[e,x]),A=v.length>1,w=x,[D,k]=o.useState(!1);o.useEffect(()=>{let P=!1;if(!Un()){k(!1);return}return Promise.all(e.flatMap($=>($.words??[]).map(W=>qs(W.label,W.homonum)))).then($=>{P||k($.some(Boolean))},()=>{}),()=>{P=!0}},[e]);const B=o.useMemo(()=>[fc(t,{hasImage:D,hasColloquial:y}),Cc(t),..._>0?[vc(t,{hasPairs:f,itemCount:_})]:[],...A?[_c(t)]:[],gc(t),...w>1?[bc(t)]:[],...f?[yc(t)]:[]],[t,D,y,_,f,A,w]),N={...Ac(t,{contentTypes:s,orientation:a,showOutline:u,cutLine:l,showDivLine:p}),..._>0?{[t(f?"wordTable.filter.itemsPerPagePair":"wordTable.filter.itemsPerPageWord")]:`${x}\uAC1C`}:{},...A?{[t("wordTable.filter.pageNumber","\uD398\uC774\uC9C0 \uBC88\uD638")]:wc[C]}:{}},M=o.useCallback((P,$)=>{Bc(t,P,$,{setContentTypes:i,setOrientation:r,setShowOutline:d,setCutLine:c,setShowDivLine:m})||($===t("wordTable.filter.itemsPerPagePair","\uD398\uC774\uC9C0\uB2F9 \uB300\uB9BD\uC30D \uC218")||$===t("wordTable.filter.itemsPerPageWord","\uD398\uC774\uC9C0\uB2F9 \uB2E8\uC5B4 \uC218")?g(xc(parseInt(P),_)):$===t("wordTable.filter.pageNumber","\uD398\uC774\uC9C0 \uBC88\uD638")&&b(kc(P)))},[t,_]);return{settings:{orientation:a,contentTypes:s,cutLine:l,showOutline:u,showDivLine:p,count:w},filterSections:B,filterSelected:N,handleSelect:M,pages:v,isPaginated:A,pageNumberPosition:C}}function Ay({items:e,words:t,title:a,subtitle:r,emptyText:s,buttons:i,renderButtons:l,renderFooter:c,footerClassName:u,printFileName:d,showSettings:p,autoPrint:m,className:h,onClose:g,scoring:C=!1,onScoreChange:b,printHeader:_,beforeClose:f}){const{t:y}=fe.useTranslation(),x=o.useMemo(()=>Array.isArray(e)?e:(Array.isArray(t)?t:[]).filter(oe=>typeof oe=="string"&&oe.length>0).map((oe,ge)=>({id:`${oe}-${ge}`,words:[{label:oe}]})),[e,t]),{settings:v,filterSections:A,filterSelected:w,handleSelect:D,pages:k,isPaginated:B,pageNumberPosition:N}=Dc(x),M=o.useMemo(()=>rc(k.map(oe=>oe.length)),[k]),[P,$]=o.useState({}),W=o.useCallback((oe,ge)=>{$(Me=>({...Me,[er(oe)]:tc(Me[er(oe)]??null,ge)}))},[]),S=o.useRef(b);o.useEffect(()=>{S.current=b});const F=o.useRef(P);o.useEffect(()=>{F.current!==P&&(F.current=P,S.current?.(fo(P)))},[P]);const Y=o.useMemo(()=>fo(P),[P]),G=o.useRef(null),{toastMessage:q,toastKey:H,showWarning:z,clearToast:Z}=tl("warning"),I=o.useRef([]),T=o.useCallback(()=>B?I.current.filter(oe=>oe!==null):G.current?[G.current]:[],[B]),{print:O,openNewWindow:R}=vo({getElements:T,paperW:aa[v.orientation].width,paperH:aa[v.orientation].height,fileName:d??"",header:_??"",onPopupBlocked:()=>z(y("wordTable.popupBlocked","\uD31D\uC5C5\uC774 \uCC28\uB2E8\uB418\uC5C8\uC2B5\uB2C8\uB2E4. \uBE0C\uB77C\uC6B0\uC800 \uC124\uC815\uC5D0\uC11C \uD31D\uC5C5\uC744 \uD5C8\uC6A9\uD574 \uC8FC\uC138\uC694."))}),j=o.useMemo(()=>c?void 0:l?l({print:O,openNewWindow:R}):d?[{label:y("wordTable.openNewWindow","\uC0C8 \uCC3D\uC73C\uB85C \uBCF4\uAE30"),variant:"default",onClick:()=>R()},{label:y("wordTable.print","\uC778\uC1C4\uD558\uAE30"),variant:"default",onClick:()=>O()},...i??[]]:i,[c,l,d,i,y,O,R]),L=o.useMemo(()=>c?c({print:O,openNewWindow:R}):void 0,[c,O,R]),Q=o.useRef(!1),J=o.useRef(O);return o.useEffect(()=>{J.current=O},[O]),o.useEffect(()=>{if(!m||Q.current)return;const oe=window.setTimeout(()=>{Q.current=!0,J.current()},100);return()=>window.clearTimeout(oe)},[m]),n.jsxs(Dn,{title:a??y("keyWords.title","\uC8FC\uC694 \uB2E8\uC5B4"),subtitle:r,size:"large",className:Be("word-table-popup",h),buttons:j,footer:L,footerClassName:u,beforeClose:f,onClose:g,children:[x.length>0?n.jsxs("div",{className:"word-table-popup__body",children:[p&&n.jsx(go,{sections:A,selected:w,onSelect:D}),B?n.jsx("div",{className:"word-table-popup__pages",children:k.map((oe,ge)=>n.jsx(ra,{items:oe,orientation:v.orientation,contentTypes:v.contentTypes,cutLine:v.cutLine,showOutline:v.showOutline,showDivLine:v.showDivLine,count:v.count,contentRef:Me=>{I.current[ge]=Me},pageNumber:{current:ge+1,total:k.length},pageNumberPosition:N,scoring:C,scoreIndexOffset:M[ge],marks:Y,onMarkClick:W},ge))}):n.jsx("div",{className:"word-table-popup__table",children:n.jsx(ra,{items:x,orientation:v.orientation,contentTypes:v.contentTypes,cutLine:v.cutLine,showOutline:v.showOutline,showDivLine:v.showDivLine,count:v.count,contentRef:G,fitHeight:!0,scoring:C,marks:Y,onMarkClick:W})})]}):n.jsx("p",{className:"word-table-popup__empty body-3",children:s??y("keyWords.empty","\uCD94\uCD9C\uB41C \uC8FC\uC694 \uB2E8\uC5B4\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.")}),n.jsx(ea,{message:q,position:"top",onClose:Z},H)]})}const By=new Set(["x","triangle"]);function Ny(e,t){const a=[];for(let r=0;r<e.length;r++){const s=t[String(r)];s&&By.has(s)&&a.push(e[r])}return a}const Dy=/\s*(?:(\d+)차\s*)?복습\s*\d{2}\.\d{2}$/;function Sc(e){const t=e.name.trim(),a=e.reviewRound;if(typeof a=="number"&&Number.isFinite(a)&&a>=0){const i=Math.floor(a);if(i===0)return{\uBC14\uD0D5:t,\uD68C\uCC28:1};const l=(i===1?/\s*복습\s*\d{2}\.\d{2}$/:new RegExp(`(?:^|\\s)${i}\uCC28\\s*\uBCF5\uC2B5\\s*\\d{2}\\.\\d{2}$`)).exec(t);return{\uBC14\uD0D5:l?t.slice(0,l.index).trim():t,\uD68C\uCC28:i+1}}let r=t,s=1;for(;;){const i=Dy.exec(r);if(!i)break;s=Math.max(s,(i[1]?Number(i[1]):1)+1),r=r.slice(0,i.index).trim()}return{\uBC14\uD0D5:r,\uD68C\uCC28:s}}function Sy(e,t){const[,a,r]=Lr(t).split("-"),s=`${a}.${r}`,{\uBC14\uD0D5:i,\uD68C\uCC28:l}=Sc(typeof e=="string"?{name:e}:e),c=l>=2?`${l}\uCC28 `:"";return`${i||"\uB2E8\uC5B4\uD45C"} ${c}\uBCF5\uC2B5 ${s}`}function Ey(e){return{reviewOf:e.reviewOf??e.id??void 0,reviewRound:Sc(e).\uD68C\uCC28}}function Ty(e,t){const a={};for(const[r,s]of Object.entries(t)){if(s!=="o"&&s!=="triangle"&&s!=="x")continue;const i=Number(r),l=e[i];l&&(a[r]=l)}return a}function jy(e){return e.map(t=>t.label).join(" / ")}function My(e){return e.map(t=>t.homonum!=null?`${t.label}#${t.homonum}`:t.label).join(" / ")}function Ec(e){return e.split(" / ").map(t=>t.replace(/#\d+$/,"")).join(" / ")}function Ly(e,t,a){const r=ai(a);return[e.trim(),r,t.trim()].filter(Boolean).join(" \xB7 ")}function Tc(e,t,a){return a===0?0:(e+t*.5)/a}function $y(e){const t=new Map,a=[...e].sort((s,i)=>s.scoredAt.localeCompare(i.scoredAt));for(const s of a)for(const[i,l]of Object.entries(s.marks)){const c=s.labels?.[i];if(!c)continue;const u=t.get(c)??{o:0,triangle:0,x:0,latest:l,latestAt:s.scoredAt};if(l==="o")u.o++;else if(l==="triangle")u.triangle++;else if(l==="x")u.x++;else continue;u.latest=l,u.latestAt=s.scoredAt,t.set(c,u)}const r=[];for(const[s,i]of t){const l=i.o+i.triangle+i.x;r.push({label:Ec(s),key:s,tried:l,o:i.o,triangle:i.triangle,x:i.x,rate:Tc(i.o,i.triangle,l),latest:i.latest,latestAt:i.latestAt})}return r.sort((s,i)=>s.rate-i.rate||i.tried-s.tried||Jn(s.label,i.label)||Jn(s.key??s.label,i.key??i.label)),r}function Ry(e){const t=new Map;for(const r of e){const s=r.tableId??`name:${r.tableName}`,i=t.get(s)??{tableName:r.tableName,tableId:r.tableId,rows:[]};i.rows.push(r),t.set(s,i)}const a=[];for(const r of t.values()){const s=c=>Object.values(c.marks).filter(u=>u==="o"||u==="triangle"||u==="x").length,i=r.rows.filter(c=>s(c)>0).sort((c,u)=>c.scoredAt.localeCompare(u.scoredAt));if(i.length===0)continue;const l=i.map(c=>{const u=Object.values(c.marks),d=u.filter(m=>m==="o").length,p=u.filter(m=>m==="triangle").length;return Tc(d,p,s(c))});a.push({tableName:r.tableName,tableId:r.tableId,rates:l,times:i.map(c=>c.scoredAt),delta:l.length>=2?l[l.length-1]-l[0]:null})}return a.sort((r,s)=>(s.times[s.times.length-1]??"").localeCompare(r.times[r.times.length-1]??"")),a}function Py(e,t=8){return e.filter(a=>a.latest!=="o").slice(0,t)}function Iy(e,t){if(e==null||t==null||e===""||t==="")return 0;if(typeof e=="number"&&typeof t=="number")return e-t;const a=String(e),r=String(t);return+(a>r)-+(a<r)}function Fy(e){const t=new Map;let a=0,r=0;const s=e.map((l,c)=>({r:l,\uC790\uB9AC:c})).sort((l,c)=>l.r.answeredAt.localeCompare(c.r.answeredAt)||Iy(l.r.id,c.r.id)||l.\uC790\uB9AC-c.\uC790\uB9AC).map(l=>l.r);for(const l of s){if(l.isCorrect==null)continue;const c=l.itemTitle?.trim();if(!c){r++;continue}a++;const u=l.itemId?.trim()||c,d=`${l.trainingType}|${u}`,p=t.get(d)??{trainingType:l.trainingType,itemId:u,title:c,tried:0,wrong:0,latestCorrect:l.isCorrect,latestAt:l.answeredAt,lastSelected:l.selected,setIds:[]};if(p.tried++,l.isCorrect||p.wrong++,p.title=c,p.latestCorrect=l.isCorrect,p.latestAt=l.answeredAt,p.lastSelected=l.selected,l.setId){const m=p.setIds.indexOf(l.setId);m>0&&p.setIds.splice(m,1),m!==0&&p.setIds.unshift(l.setId)}t.set(d,p)}const i=[...t.entries()].map(([l,c])=>({key:l,trainingType:c.trainingType,itemId:c.itemId,title:c.title,tried:c.tried,wrong:c.wrong,rate:c.tried===0?0:(c.tried-c.wrong)/c.tried,latestCorrect:c.latestCorrect,latestAt:c.latestAt,lastSelected:c.lastSelected,setIds:c.setIds}));return i.sort((l,c)=>l.rate-c.rate||c.tried-l.tried||Jn(l.title,c.title)),{items:i,counted:a,skippedNoTitle:r}}function Oy(e,t=8){return e.filter(a=>!a.latestCorrect).slice(0,t)}function Vy(e){const t=new Map;for(const r of e){const s=t.get(r.trainingType)??[];s.push(r),t.set(r.trainingType,s)}const a=[...t.entries()].map(([r,s])=>({trainingType:r,items:s,pending:s.filter(i=>!i.latestCorrect).length}));return a.sort((r,s)=>s.pending-r.pending||r.trainingType.localeCompare(s.trainingType)),a}const xo=["LISTEN_IN_NOISE","SHORT_STORY","LONG_STORY","ORDERING_SENTENCE"];function Hy(e){const t=new Map;let a=0;for(const i of e){if(i.latestCorrect)continue;const l=i.setIds[0];if(!l){a++;continue}const c=`${i.trainingType}|${l}`,u=t.get(c)??{setId:l,trainingType:i.trainingType,pending:0};u.pending++,t.set(c,u)}const r=(i,l)=>l.pending-i.pending||i.trainingType.localeCompare(l.trainingType)||i.setId.localeCompare(l.setId),s=[...t.values()];return{sentence:s.filter(i=>xo.includes(i.trainingType)).sort(r),word:s.filter(i=>!xo.includes(i.trainingType)).sort(r),noSet:a}}function zy(e,t,a=5){const r=new Set(t);if(r.size===0)return[];const s=[];for(const i of e){const l=new Set,c=[];for(const u of i.cellLabels)r.has(u)&&!l.has(u)&&(l.add(u),c.push(u));c.length!==0&&s.push({id:i.id,name:i.name,kind:i.kind,covered:c,totalCells:i.cellLabels.length})}return s.sort((i,l)=>l.covered.length-i.covered.length||i.totalCells-l.totalCells||Jn(i.name,l.name)),s.slice(0,Math.max(0,a))}function Wy(e,t){const a=new Set(e.flatMap(r=>r.covered));return t.filter(r=>!a.has(r))}function qy(e,t){const a=new Map;for(const s of e)for(const i of s.cells){const l=s.labelOf(i);a.has(l)||a.set(l,i)}const r=[];for(const s of t){const i=a.get(s);i!==void 0&&r.push(i)}return r}function _o(e,t,a){return typeof e=="string"&&e?e:t.replace(/\{\{(\w+)\}\}/g,(r,s)=>String(a[s]))}function Uy(e,t){const a=Number.isFinite(e)?Math.round(e):0;if(!a||a<=0)return"-";const r=Math.floor(a/60),s=a%60;return t?t(r,s):r>0&&s>0?_o(wt.t("customers.duration.minSec",{m:r,s,defaultValue:"{{m}}\uBD84 {{s}}\uCD08"}),"{{m}}\uBD84 {{s}}\uCD08",{m:r,s}):r>0?_o(wt.t("customers.duration.min",{m:r,defaultValue:"{{m}}\uBD84"}),"{{m}}\uBD84",{m:r}):_o(wt.t("customers.duration.sec",{s,defaultValue:"{{s}}\uCD08"}),"{{s}}\uCD08",{s})}function Gy(e,t){const a=[],r=new Set;for(const s of e){const i=t(s);r.has(i)||(r.add(i),a.push({key:i,value:s,pinned:!1}))}return a}function Ky(e,t){return e.map(a=>a.key===t?{...a,pinned:!a.pinned}:a)}function Yy(e,t){return e.filter(a=>a.key!==t)}function Zy(e,t,a){const r=e.filter(d=>d.pinned),s=new Set(r.map(d=>d.key)),i=e.length-r.length,l=[],c=new Set(s);for(const d of t){if(l.length>=i)break;const p=a(d);c.has(p)||(c.add(p),l.push({key:p,value:d,pinned:!1}))}const u=[...l];return e.map(d=>d.pinned?d:u.shift()).filter(d=>d!==void 0)}function Xy(e){return e.map(t=>t.value)}function Jy(e){const{category:t={},isSelected:a=!1,onClick:r}=e||{},s=t?.key?` icon-grid-menu__button--${t.key}`:"",i=o.useId();return n.jsxs("div",{className:`icon-grid-menu__button-wrapper${s}`,children:[n.jsx("button",{className:`icon-grid-menu__button${a?" icon-grid-menu__button--selected":""}`,"data-key":t?.key,type:"button",onClick:a?void 0:r,"aria-pressed":a,"aria-labelledby":i,children:n.jsx(Ge,{icon:t.icon,label:t.label,className:"icon-grid-menu__button-icon",imgClassName:"icon-grid-menu__button-icon-image",maskClassName:"icon-grid-menu__button-icon-mask",svgClassName:"icon-grid-menu__button-icon-svg"})}),n.jsx("span",{id:i,className:"icon-grid-menu__button-label button-1",children:t.label})]})}function Qy(e){const{categories:t=[],selected:a,onSelect:r,size:s="medium"}=e||{},i=a!==void 0,[l,c]=o.useState(()=>i?null:(t&&t[0]?.key)??null),u=i?a:l,d=o.useRef(r);o.useEffect(()=>{d.current=r});const p=o.useRef(!1),m=(t&&t[0]?.key)??null;o.useEffect(()=>{if(i||p.current||!m)return;p.current=!0;const g=l??m;l==null&&c(g),d.current?.(g)},[i,m]);const h=o.useCallback(g=>{const C=u===g?null:g;p.current=!0,i||c(C),r?.(C)},[u,i,r]);return n.jsx("div",{className:`icon-grid-menu icon-grid-menu--${s}`,children:(t||[]).map(g=>n.jsx(Jy,{category:g,isSelected:u===g.key,onClick:()=>h(g.key)},g.key))})}function e5({subs:e=[],selected:t,onSelect:a,size:r="medium"}){const s=r==="small"?32:40;return n.jsx("div",{className:`choice-chips choice-chips--${r}`,children:n.jsx("div",{className:"choice-chips__list",children:e.map(i=>n.jsx(ce,{htmlType:"button",size:s,type:"bar",label:i.label,selected:t===i.key,className:"choice-chips__button",onClick:()=>a?.(i.key)},i.key))})})}function t5({onTermsClick:e,onPrivacyClick:t,contact:a}={}){const r=a?.email??"support@ihab.co.kr",s=a?.tel??"031-380-3724",{t:i}=fe.useTranslation();return n.jsx("footer",{className:"site-footer",children:n.jsxs("div",{className:"safearea",children:[n.jsxs("div",{className:"site-footer__top",children:[n.jsx("div",{className:"site-footer__brand",children:n.jsx("div",{className:"site-footer__lead h3",children:i("footer.lead",`\uC544\uC774\uD574\uBE0C\uB294 \uC18C\uB9AC\uB97C \uD1B5\uD574
989
989
  \uC2E0\uB8B0\uB97C \uC313\uACE0
990
990
  \uD68C\uBCF5\uC744 \uB3D5\uC2B5\uB2C8\uB2E4.`).split(`
991
- `).map((l,c,u)=>n.jsxs(o.Fragment,{children:[l,c<u.length-1&&n.jsx("br",{})]},c))})}),n.jsxs("div",{className:"site-footer__links",children:[n.jsxs("div",{className:"site-footer__column",children:[n.jsx("div",{className:"site-footer__column-title footer-title",children:i("footer.site.title","\uC0AC\uC774\uD2B8")}),n.jsxs("ul",{children:[n.jsx("li",{children:n.jsx("a",{className:"footer-link",href:"https://www.ihab.co.kr/",target:"_blank",rel:"noopener noreferrer",children:"IHAB"})}),n.jsx("li",{children:n.jsx("a",{className:"footer-link",href:"https://speechear.ihab.co.kr/",target:"_blank",rel:"noopener noreferrer",children:i("footer.site.malgwi","\uB9D0\uADC0")})}),n.jsx("li",{children:n.jsx("a",{className:"footer-link",href:"https://ihab-offcial-web.vercel.app/product/sound-localization",target:"_blank",rel:"noopener noreferrer",children:i("footer.site.soundDirection","\uC18C\uB9AC\uBC29\uD5A5\uC131\uC2DC\uC2A4\uD15C")})}),n.jsx("li",{children:n.jsx("a",{className:"footer-link",href:"https://ihab-offcial-web.vercel.app/product/vr-sound-localization",target:"_blank",rel:"noopener noreferrer",children:i("footer.site.vrSoundDirection","VR\uC18C\uB9AC\uBC29\uD5A5\uC131\uC2DC\uC2A4\uD15C")})}),n.jsx("li",{children:n.jsx("a",{className:"footer-link",href:"https://ihab-offcial-web.vercel.app/product/hearing-test-pro",target:"_blank",rel:"noopener noreferrer",children:i("footer.site.hearingTest","\uCCAD\uB825\uD14C\uC2A4\uD2B8 \uD504\uB85C")})})]})]}),n.jsxs("div",{className:"site-footer__column",children:[n.jsx("div",{className:"site-footer__column-title footer-title",children:i("footer.sns.title","SNS")}),n.jsxs("ul",{children:[n.jsx("li",{children:n.jsx("a",{className:"footer-link",href:"https://blog.naver.com/ihab_official",target:"_blank",rel:"noopener noreferrer",children:i("footer.sns.naverBlog","\uB124\uC774\uBC84 \uBE14\uB85C\uADF8")})}),n.jsx("li",{children:n.jsx("a",{className:"footer-link",href:"https://www.instagram.com/ihab.official.yt/",target:"_blank",rel:"noopener noreferrer",children:"Instagram"})}),n.jsx("li",{children:n.jsx("a",{className:"footer-link",href:"https://www.youtube.com/@%EC%95%84%EC%9D%B4%ED%95%B4%EB%B8%8C-%EA%B3%B5%EC%8B%9D%EC%B1%84%EB%84%90",target:"_blank",rel:"noopener noreferrer",children:"Youtube"})})]})]}),n.jsxs("div",{className:"site-footer__column",children:[n.jsx("div",{className:"site-footer__column-title footer-title",children:i("footer.policy.title","\uC815\uCC45")}),n.jsxs("ul",{children:[n.jsx("li",{children:n.jsx("a",{className:"footer-link",href:"#",onClick:l=>{e&&(l.preventDefault(),e())},children:i("footer.policy.terms","\uC774\uC6A9\uC57D\uAD00")})}),n.jsx("li",{children:n.jsx("a",{className:"footer-link",href:"#",onClick:l=>{t&&(l.preventDefault(),t())},children:i("footer.policy.privacy","\uAC1C\uC778\uC815\uBCF4 \uCC98\uB9AC\uBC29\uCE68")})})]})]})]})]}),n.jsx("hr",{className:"site-footer__rule"}),n.jsxs("div",{className:"site-footer__bottom",children:[n.jsx("div",{className:"site-footer__brand",children:n.jsx("img",{src:Qr,alt:"IHAB",className:"site-footer__logo"})}),n.jsxs("div",{className:"site-footer__meta",children:[n.jsxs("div",{children:[n.jsx("span",{className:"footer-title",children:i("footer.ceo","\uB300\uD45C")}),n.jsx("span",{className:"footer-meta caption-1",children:i("footer.ceoName","\uD55C\uC9C0\uD61C")})]}),n.jsxs("div",{children:[n.jsx("span",{className:"footer-title",children:i("footer.address","\uC8FC\uC18C")}),n.jsx("span",{className:"footer-meta caption-1",children:i("footer.addressValue","\uAC15\uC6D0\uB3C4 \uCD98\uCC9C\uC2DC \uC2DC\uCCAD\uAE38 32 \uD574\uCC2C\uBE4C\uB529 3\uCE35 302\uD638")})]}),n.jsxs("div",{children:[n.jsx("span",{className:"footer-title",children:i("footer.support","\uACE0\uAC1D\uC13C\uD130")}),n.jsxs("span",{className:"footer-meta caption-1",children:[r," \xA0 ",s]})]})]})]}),n.jsx("div",{className:"site-footer__copyright footer-copyright caption-1",children:"\xA9 IHAB, Inc. All rights reserved."})]})})}function n5({logo:e,logoAlt:t="",logoHref:a,links:r=[],actions:s,className:i,containerClassName:l,renderLink:c,menuLabel:u}){const{t:d}=fe.useTranslation(),p=u??{open:d("header.menuOpen","\uBA54\uB274 \uC5F4\uAE30"),close:d("header.menuClose","\uBA54\uB274 \uB2EB\uAE30")},[m,h]=o.useState(!1),g=o.useId(),C=o.useRef(null);o.useEffect(()=>{if(!m)return;const f=Rn(()=>{const v=document.getElementById(g);v&&v.contains(document.activeElement)&&C.current?.focus(),h(!1)}),y=typeof window<"u"&&window.matchMedia?window.matchMedia("(min-width: 961px)"):null,x=v=>{v.matches&&h(!1)};return y&&(y.matches&&h(!1),y.addEventListener?.("change",x)),()=>{f(),y?.removeEventListener?.("change",x)}},[m,g]);const b=l?`${l} landing-header__inner`:"landing-header__inner",_=(f,y)=>c?c(f,{onClick:y}):n.jsx("a",{href:f.href,onClick:y,"aria-current":f.current?"page":void 0,children:f.label});return n.jsxs("header",{className:i?`landing-header ${i}`:"landing-header",children:[n.jsxs("div",{className:b,children:[e!=null&&(()=>{const f=typeof e=="string"?n.jsx("img",{src:e,alt:t,className:"landing-header__logo"}):e;return a?n.jsx("a",{href:a,className:"landing-header__brand",children:f}):n.jsx("div",{className:"landing-header__brand",children:f})})(),r.length>0&&n.jsx("nav",{className:"landing-header__links",children:r.map((f,y)=>n.jsx("span",{children:_(f)},`${y}:${f.href}`))}),n.jsxs("div",{className:"landing-header__actions",children:[s,r.length>0&&n.jsx("button",{ref:C,type:"button",onClick:()=>h(f=>!f),"aria-expanded":m,"aria-controls":g,"aria-label":m?p.close:p.open,className:m?"landing-header__toggle landing-header__toggle--open":"landing-header__toggle",children:n.jsxs("span",{className:"landing-header__burger",children:[n.jsx("span",{}),n.jsx("span",{}),n.jsx("span",{})]})})]})]}),r.length>0&&n.jsx("nav",{id:g,hidden:!m,className:"landing-header__drawer",children:n.jsx("div",{className:l??void 0,children:r.map((f,y)=>n.jsx("span",{className:"landing-header__drawer-item",children:_(f,()=>h(!1))},`${y}:${f.href}`))})})]})}function a5({children:e,action:t,onClick:a,className:r}){const s=a?"bottom-sticky__inner bottom-sticky__inner--clickable":"bottom-sticky__inner";return n.jsx("div",{className:r?`bottom-sticky ${r}`:"bottom-sticky",children:n.jsxs("div",{className:s,onClick:a,...Zl(a),children:[n.jsx("div",{className:"bottom-sticky__content",children:e}),t]})})}const sa=9,r5=e=>Math.round(Math.min(sa,Math.max(0,e))/sa*100),o5=e=>e/100*sa,Na=2,jc=.1,s5=e=>Math.min(Na,Math.max(0,e)),i5=.1,l5=e=>Math.round(e*1e6)/1e6;function Da(e){const{noiseRatio:t}=e;if(typeof t=="number"&&Number.isFinite(t))return s5(t);const a=Math.min(sa,Math.max(0,Number(e.level)||0))/sa,r=Number(e.mainVolume);return r>0?a>0?l5(Math.min(Na,Math.max(i5,a/r))):0:1}const Mc=e=>Math.min(1,Math.max(0,Number(e.mainVolume)||0));function Lc(e){return Mc(e)}function wo(e){return Mc(e)*Da(e)}function ko(e,t=Fs()){const a=Number.isFinite(t)&&t>0?t:1;return Math.min(1,wo(e)/a)}function Sa(e,t){const a={...e,...t??{}};return t&&"level"in t&&typeof t.noiseRatio!="number"&&(a.noiseRatio=Da({level:a.level,mainVolume:a.mainVolume})),a}const Ea={enabled:!0,type:"defaultNoise",level:4.5,noiseRatio:1,speed:1,mainVolume:1,mainSpeed:1},Ao=o.createContext(null);function nr(){return o.useContext(Ao)}const Bo=e=>`${P0()}/${e}`,$c=e=>Array.from({length:10},(t,a)=>Bo(`${e}-${String(a+1).padStart(2,"0")}.mp3`)),ar={get defaultNoise(){return Bo("noise1.mp3")},get street(){return $c("noise2")},get restaurant(){return $c("noise3")},get buzz(){return Bo("noise4.mp3")}};function c5(e){const t=Math.floor(Math.random()*10);switch(e){case"defaultNoise":return ar.defaultNoise;case"street":return ar.street[t];case"restaurant":return ar.restaurant[t];case"buzz":return ar.buzz;default:return null}}function u5({noisePlayer:e,audioRef:t,playbackStateRef:a}){const r=o.useRef(e?.registerAnalyser);r.current=e?.registerAnalyser;const s=o.useRef(null),[i,l]=o.useState(null),c=o.useRef(null),u=o.useRef(null),d=o.useRef(null),p=o.useRef(null),m=o.useRef(0),h=o.useRef(null),g=o.useCallback(()=>{p.current!==null&&(cancelAnimationFrame(p.current),p.current=null),h.current!==null&&(clearTimeout(h.current),h.current=null)},[]),C=o.useCallback((x,v=250)=>{const k=s.current;if(!k)return;const w=u.current;if(w){u.current=null;try{k.pause()}catch{}k.src=w,k.load()}if(!k.src)return;m.current+=1,g();try{Dr(),La(k).then(N=>{if(s.current===k)try{r.current?.("noise",N)}catch{}})}catch{}const D=k.paused?0:$a(k);k.paused&&kn(k,0),k.play().catch(()=>{});const B=performance.now(),A=()=>{const N=Math.min(1,(performance.now()-B)/v);try{kn(k,D+(x-D)*N)}catch{}N<1?p.current=requestAnimationFrame(A):p.current=null};p.current=requestAnimationFrame(A)},[g]),b=o.useCallback((x=250,v)=>{const k=s.current;if(!k||k.paused){v?.();return}const w=++m.current;g();const D=performance.now(),B=$a(k),A=()=>{const N=Math.min(1,(performance.now()-D)/x);try{kn(k,B*(1-N))}catch{}if(N<1)p.current=requestAnimationFrame(A);else{p.current=null,h.current!==null&&(clearTimeout(h.current),h.current=null);try{k.pause()}catch{}v?.()}};p.current=requestAnimationFrame(A),h.current=setTimeout(()=>{if(h.current=null,m.current===w){p.current!==null&&(cancelAnimationFrame(p.current),p.current=null);try{k.paused||(kn(k,0),k.pause(),v?.())}catch{}}},x+150)},[g]);o.useEffect(()=>{const x=document.createElement("audio");return x.loop=!0,x.crossOrigin="anonymous",s.current=x,()=>{g();try{x.pause(),x.src=""}catch{}s.current=null,c.current=null,u.current=null}},[g]);const _=e?ko(e.settings):0,f=!!e?.settings.enabled&&_>0;o.useEffect(()=>{if(!f)return;let x=0;const v=setInterval(()=>{const k=s.current;if(!k||k.paused){x=0;return}const w=t.current;if(w&&!w.paused&&!w.ended||a.current==="playing"){x=0;return}x+=1,x>=2&&(x=0,b())},400);return()=>clearInterval(v)},[b,f,t,a]),o.useEffect(()=>{const x=()=>{const v=s.current;if(document.hidden){if(v&&!v.paused){g();try{v.pause()}catch{}}return}if(!v||!v.paused)return;const k=t.current,w=!!k&&!k.paused&&!k.ended||a.current==="playing",D=d.current;w&&D?.enabled&&D.volume>0&&C(D.volume)};return document.addEventListener("visibilitychange",x),()=>document.removeEventListener("visibilitychange",x)},[g,C,t,a]),o.useEffect(()=>{d.current=e?{enabled:e.settings.enabled,volume:_,type:e.settings.type}:null},[e,e?.settings.enabled,_,e?.settings.type]);const y=o.useRef(null);return o.useEffect(()=>()=>{y.current?.(),y.current=null},[]),o.useEffect(()=>{const x=e?.settings,v=s.current;if(!v)return;const k=x?ko(x):0;if(!x||!x.enabled||k===0){b();return}if(c.current!==x.type){const w=c5(x.type);w&&(c.current=x.type,l(w),u.current=w,b(150,()=>{if(u.current!==w)return;u.current=null,v.src=w,v.load();const D=t.current;if(D&&!D.paused){y.current?.();const B=()=>{v.removeEventListener("canplay",B),y.current===A&&(y.current=null);const N=t.current,M=d.current;N&&!N.paused&&!N.ended&&M?.enabled&&M.volume>0&&C(M.volume)},A=()=>v.removeEventListener("canplay",B);y.current=A,v.addEventListener("canplay",B)}}))}else{const w=t.current,D=!!w&&!w.paused&&!w.ended||a.current==="playing";if(D&&u.current)C(k);else if(D&&v.paused&&v.src)C(k);else if(!v.paused)if(!D)b();else{g();const B=$a(v),A=performance.now(),N=()=>{const M=Math.min(1,(performance.now()-A)/150);try{kn(v,B+(k-B)*M)}catch{}M<1?p.current=requestAnimationFrame(N):p.current=null};p.current=requestAnimationFrame(N)}}},[e?.settings,e?.settings.enabled,_,e?.settings.type,g,C,b,t,a,d]),o.useEffect(()=>{const x=s.current;if(x)try{x.playbackRate=Math.min(1.25,Math.max(.75,e?.settings.speed??1))}catch{}},[e?.settings.speed]),{noiseAudioRef:s,activeNoiseUrl:i,noiseSettingsRef:d,cancelNoiseFade:g,fadeInNoise:C,fadeOutNoise:b}}function d5({ttsText:e,playbackRate:t,mainVolume:a,fillRef:r,waveProgressRef:s,setProgress:i,setPlaybackState:l,setStateLocal:c,fadeInNoise:u,fadeOutNoise:d,noiseSettingsRef:p,onDoneRef:m,handleEndRef:h}){const g=o.useRef(null),C=o.useRef(0),b=o.useRef(null),_=o.useRef(0),f=o.useRef(!1);o.useEffect(()=>()=>{_.current++;try{if(b.current&&(cancelAnimationFrame(b.current),b.current=null),f.current&&window.speechSynthesis){try{window.speechSynthesis.cancel()}catch{}f.current=!1}}catch{}},[]);const y=(k,w=1)=>{try{const D=(k||"").trim().split(/\s+/).filter(Boolean).length||Math.max(1,(k||"").length);return Math.max(700,Math.round(D*300/Math.max(.25,w)))}catch{return 1200}},x=o.useCallback(k=>{if(typeof window>"u"||!window.speechSynthesis){try{typeof m.current=="function"&&m.current(!1)}catch{}return}const w=window.speechSynthesis,D=++_.current;try{try{w.cancel()}catch{}const B=k??e,A=Array.isArray(B)?B.filter(S=>!!S):[B||""];A.length===0&&A.push("");const N=Math.max(.3,Math.min(3,t));C.current=A.reduce((S,F)=>S+y(F,N||1),0),g.current=performance.now(),i(0),l("playing"),c("playMode");const M=p.current;M?.enabled&&(M?.volume??0)>0&&u(M.volume);const I=()=>{try{const S=g.current||performance.now(),F=performance.now()-S,z=C.current||1200,Y=Math.min(1,F/z);try{r.current&&(r.current.style.left=`${Y*100}%`),s.current&&s.current.style.setProperty("--progress",String(Y))}catch{}Y<1&&(b.current=requestAnimationFrame(I))}catch{}},$=()=>{if(D===_.current)try{b.current&&(cancelAnimationFrame(b.current),b.current=null),i(1),l("stopped");try{h.current?.()}catch{try{typeof m.current=="function"&&m.current(!0)}catch{}}}catch{}},V=S=>{const F=new SpeechSynthesisUtterance(A[S]);try{F.rate=N}catch{}try{F.volume=Math.max(0,Math.min(1,a))}catch{}F.onend=()=>{if(D===_.current){if(S<A.length-1){try{V(S+1)}catch{$()}return}$()}},F.onerror=()=>{$()},F.onstart=()=>{if(!(S>0))try{b.current&&(cancelAnimationFrame(b.current),b.current=null),b.current=requestAnimationFrame(I)}catch{}},f.current=!0,w.speak(F)};try{V(0)}catch{try{typeof m.current=="function"&&m.current(!0)}catch{}}}catch{try{typeof m.current=="function"&&m.current(!0)}catch{}}},[e,t,a,u,r,s,i,l,c,p,m,h]),v=o.useCallback(()=>{_.current++;try{if(window.speechSynthesis)try{window.speechSynthesis.cancel()}catch{}b.current&&(cancelAnimationFrame(b.current),b.current=null),d(),g.current=null}catch{}l("stopped"),c("active"),i(0)},[d,l,c,i]);return{startTTS:x,stopTTS:v}}async function p5(e,t,a){let r=null;try{const s=window.AudioContext||window.webkitAudioContext;r=new s;const i=await r.decodeAudioData(e.slice(0)),l=i.numberOfChannels>0?i.getChannelData(0):null;if(!l)return null;const c=a&&a>0?Math.min(l.length,Math.floor(a*i.sampleRate)):l.length,u=Math.max(t,c),d=Math.floor(u/t)||1;return new Array(t).fill(0).map((p,m)=>{const h=m*d,g=Math.min(h+d,u);let C=0;for(let b=h;b<g;b++){const _=Math.abs(l[b]);_>C&&(C=_)}return C})}catch{return null}finally{try{r?.close?.()}catch{}}}async function Rc(e,t,a){try{const r=await fetch(e);if(r.ok===!1)return null;const s=await r.arrayBuffer();return await p5(s,t,a)}catch(r){try{const s=Ys(r)}catch{}return null}}const Pc=45,m5=74,h5=2;function Ta(e){const t=Math.min(2,Math.max(0,Number(e)||0));return t<=1?t*45:45+(t-1)*29}function No(e){return Ta(e)/45}const Ic=4;function f5(e){const{src:t,segments:a,progress:r=0,waveProgressRef:s,noiseSrc:i,noiseRatio:l=0,noiseSpeed:c=1,totalDuration:u=0,mainVolume:d=1,onReadyChange:p,showSoundWaveForm:m=!0}=e,h=o.useRef(null),g=o.useRef(null),[C,b]=o.useState(null),[_,f]=o.useState(!1),[y,x]=o.useState(null),[v,k]=o.useState(2),[w,D]=o.useState(0),[B,A]=o.useState(null),[N,M]=o.useState(!1),[I,$]=o.useState(!1),V=3,S=3,F=1,z=300,Y=o.useRef(0),U=o.useCallback(()=>{const ie=h.current,q=g&&g.current?g.current:ie?ie.closest(".audio-player__wave"):null,se=q?q.getBoundingClientRect():ie?ie.getBoundingClientRect():null,me=se?se.width:0,_e=se?Math.max(100,se.width):320,we=se?se.height:0,De=Math.max(F,Math.min(z,Math.floor((_e+S)/(V+S)))),xe=De*V,Ae=Math.max(0,De-1),Te=Math.max(0,Ae>0?(_e-xe)/Ae:S);return{bars:De,gap:Te,height:we,width:me}},[]),G=o.useRef(void 0),W=o.useRef(null),Z=o.useCallback(async(ie,q,{quiet:se=!1}={})=>{const me=++Y.current,_e=()=>Y.current===me;try{if(se||f(!1),G.current=ie,!ie){_e()&&b(null);return}let we=q;if(!we)try{for(let Ae=0;Ae<4&&!(h.current||g.current);Ae++)await new Promise(Te=>requestAnimationFrame(Te));await new Promise(Ae=>requestAnimationFrame(Ae));const xe=U();xe.height>0&&D(xe.height),we=xe.bars,k(xe.gap)}catch{we=120}W.current=we;const De=await Rc(ie,we);if(!_e())return;if(!De){b(null),f(!1);return}b(De),x(we),f(!0)}catch{if(!_e())return;b(null),f(!1)}},[f,b,D,k,x,U]);o.useEffect(()=>{const ie=g.current;if(!ie||typeof ResizeObserver>"u")return;let q=null;const se=new ResizeObserver(()=>{q!==null&&cancelAnimationFrame(q),q=requestAnimationFrame(()=>{q=null;try{const me=U();if(me.width<=0||(me.height>0&&D(me.height),W.current===null||me.bars===W.current))return;const _e=G.current;k(me.gap),_e?Z(_e,me.bars,{quiet:!0}).catch(()=>{}):W.current=me.bars}catch{}})});return se.observe(ie),()=>{se.disconnect(),q!==null&&cancelAnimationFrame(q)}},[U,Z]),o.useEffect(()=>{const ie=a&&a[0]&&a[0].src||t||a&&a.length===1&&a[0]&&a[0].src;Z(typeof ie=="string"?ie:void 0).catch(()=>{}),$(!1)},[t,a,Z]),o.useEffect(()=>{let ie=!1;if(M(!1),!i||!y){A(null);return}const q=u>0?u*(c||1):void 0;return Rc(i,y,q).then(se=>{ie||(A(se),se||M(!0))}).catch(()=>{ie||(A(null),M(!0))}),()=>{ie=!0}},[i,y,u,c]);const P=Math.max(0,Math.min(1,d)),T=o.useMemo(()=>C&&C.length&&Math.max(...C)||1,[C]),O=y||40,R=o.useMemo(()=>Array.from({length:O}).map((ie,q)=>{const se=C&&C[q]!=null?C[q]:null,me=se==null?null:Math.min(1,se/T*P),_e=me!=null&&w>0&&Ta(me)<=Ic,we=me==null?.15:_e?0:No(me),De=O>1?q/(O-1):0;return n.jsx("div",{className:_e?"audio-player__bar audio-player__bar--hidden":"audio-player__bar",style:{"--val":we,"--i":q,"--mix":De}},q)}),[O,C,T,P,w]),j={"--progress":String(Math.max(0,Math.min(1,r)))},L=i?Math.max(1,l):1,Q={"--bar-gap":`${v}px`,"--wave-h":`${Ta(L)}px`,"--wave-h1":`${Pc}px`},J=P*Math.max(0,l)/Fs(),oe=_&&(i?!!B||N:!0);o.useEffect(()=>{oe&&$(!0)},[oe]);const ge=I?_:oe;o.useEffect(()=>{p?.(ge)},[ge,p]);const Me=y||40,Ne=o.useMemo(()=>Array.from({length:Me}).map((ie,q)=>{const se=B&&B[q]!=null?B[q]:null,me=se==null?0:se/T*J,_e=w>0&&Ta(me)<=Ic,we=_e?0:No(me),De=Me>1?q/(Me-1):0;return n.jsx("div",{className:_e?"audio-player__bar audio-player__bar--hidden":"audio-player__bar",style:{"--val":we,"--i":q,"--mix":De}},q)}),[Me,B,T,J,w]);return n.jsxs("div",{className:"audio-player__wave",ref:g,style:Q,children:[i&&n.jsx("div",{className:`audio-player__wave-noise ${oe?"is-ready":""}`,"aria-hidden":"true",children:Ne}),m&&n.jsxs(n.Fragment,{children:[n.jsx("div",{className:`audio-player__wave-inner audio-player__wave-unplayed ${ge?"is-ready":""}`,ref:h,children:R}),n.jsx("div",{className:`audio-player__wave-inner audio-player__wave-played ${ge?"is-ready":""}`,ref:s,style:j,children:R})]})]})}const C5={idle:"\uB300\uAE30",resolving:"\uB9AC\uC18C\uC2A4 \uB9E4\uD551 \uC911\u2026",checking_exists:"\uD30C\uC77C \uC874\uC7AC \uD655\uC778\u2026",getting_signed_url:"\uC11C\uBA85 URL \uC870\uD68C\u2026",downloading:"\uB2E4\uC6B4\uB85C\uB4DC \uC911\u2026",measuring_duration:"\uC624\uB514\uC624 \uAE38\uC774 \uCE21\uC815\u2026",ready:"\uC900\uBE44 \uC644\uB8CC",error:"\uC624\uB958 \uBC1C\uC0DD"};function Do(e,t){return new Promise((a,r)=>{const s=document.createElement("audio");let i=!1;const l=()=>{try{s.src=""}catch{}},c=()=>{if(i)return;i=!0;const d=isFinite(s.duration)&&s.duration||0;l(),a(d)},u=d=>{i||(i=!0,l(),t.rejectOnError?r(new Error(d)):a(0))};s.addEventListener("loadedmetadata",c),s.addEventListener("error",()=>u("audio load failed")),setTimeout(()=>u("audio load timeout"),t.timeoutMs),s.src=e})}const g5=2e3;function Fc(e,t=g5){return new Promise(a=>{let r=!1;const s=()=>{r||(r=!0,a())};e.addEventListener("canplay",s,{once:!0}),e.addEventListener("error",s,{once:!0}),setTimeout(s,t)})}function b5({showSoundWaveForm:e,showNoiseWaveForm:t,timeoutMs:a=2500}){const r=o.useRef(!1),s=o.useRef([]),i=o.useCallback(u=>{if(r.current=u,!u||!s.current.length)return;const d=s.current;s.current=[];for(const p of d)p(!0)},[]),l=o.useCallback(()=>{r.current=!1},[]),c=o.useCallback(()=>!e&&!t||r.current?Promise.resolve(!0):new Promise(u=>{const d=m=>{clearTimeout(p),s.current=s.current.filter(h=>h!==d),u(m)},p=setTimeout(()=>d(!0),a);s.current.push(d)}),[e,t,a]);return o.useEffect(()=>()=>{const u=s.current;s.current=[];for(const d of u)d(!1)},[]),{onReadyChange:i,waitForReady:c,markNotReady:l}}function y5(){const e=o.useRef([]),t=o.useCallback(s=>(e.current.push(s),s),[]),a=o.useCallback(s=>{const i=new Set([...s].filter(Boolean));e.current=e.current.filter(l=>{if(i.has(l))return!0;try{URL.revokeObjectURL(l)}catch{}return!1})},[]),r=o.useCallback(()=>{a([])},[a]);return o.useEffect(()=>()=>{for(const s of e.current)try{URL.revokeObjectURL(s)}catch{}e.current=[]},[]),{track:t,keepOnly:a,revokeAll:r}}function v5({offsetY:e=8}={}){const t=o.useRef(null),[a,r]=o.useState(null),s=o.useCallback(()=>r(null),[]),i=o.useCallback(()=>{try{const l=t.current?.getBoundingClientRect();if(!l)return;r({left:l.left,right:l.right,width:l.width,height:l.height,x:l.x,top:l.top+e,bottom:l.bottom+e,y:l.y+e,toJSON:l.toJSON.bind(l)})}catch{}},[e]);return o.useEffect(()=>{if(a)return document.addEventListener("mousedown",s),()=>document.removeEventListener("mousedown",s)},[a,s]),{ref:t,rect:a,show:i,hide:s}}function x5({currentTime:e,sources:t,index:a,audioDuration:r}){const s=a||0,i=Array.isArray(t)&&t.length>0?t[s]:void 0,l=i?i.duration||r||0:r||0;if(!(l>0))return 0;const c=Number.isFinite(e)?e:0;return Math.max(0,Math.min(1,c/l))}function _5(e,t){if(!Array.isArray(e))return null;const a=t||0;return a<e.length-1?a+1:null}function w5({ended:e,completedByEnd:t}){return!!e||!!t}function k5(e){return e.map((t,a)=>({src:t.src,label:String(a+1),color:void 0,duration:t.duration||0}))}function A5(e){return e.reduce((t,a)=>t+(a.duration||0),0)}function B5(e,t,a){const r=Array.isArray(e)?e:e?[e]:[],s=[];for(const i of r)if(i){if(typeof i=="object"&&i!==null&&"src"in i&&i.src){const l=i;s.push({code:l.code??null,src:l.src});continue}if(typeof i=="string"&&(i.startsWith("http")||i.includes("/"))){s.push({code:null,src:i});continue}if(typeof i=="string"||typeof i=="number"){const l=String(i),c=a(l,t);c&&s.push({code:l,resolvedPath:c})}}return s}function N5(e){if(!e)return 0;const t=e.duration;if(Number.isFinite(t)&&t>0)return t;if(t===0)return 0;try{const a=e.seekable;if(a&&a.length>0){const r=a.end(a.length-1);if(Number.isFinite(r)&&r>0)return r}}catch{}return null}function D5({audioRef:e,fillRef:t,waveProgressRef:a,sourcesRef:r,currentIndexRef:s}){const i=o.useRef(null),l=o.useCallback(()=>{i.current!==null&&(cancelAnimationFrame(i.current),i.current=null)},[]),c=o.useCallback(()=>{if(i.current!==null)return;const d=()=>{try{const p=e.current,m=Array.isArray(r.current)?r.current[s.current||0]:void 0,h=m&&Number.isFinite(m.duration)&&(m.duration??0)>0?0:N5(p),g=t.current;if(h===null)try{g&&g.style.visibility!=="hidden"&&(g.style.visibility="hidden")}catch{}else{const C=x5({currentTime:p&&typeof p.currentTime=="number"?p.currentTime:0,sources:r.current,index:s.current,audioDuration:h});try{g&&(g.style.visibility&&(g.style.visibility=""),g.style.left=`${C*100}%`)}catch{}try{a.current?.style.setProperty("--progress",String(C))}catch{}}}catch{}i.current=requestAnimationFrame(d)};i.current=requestAnimationFrame(d)},[e,t,a,r,s]),u=o.useCallback(d=>{l();try{t.current&&(t.current.style.visibility="",t.current.style.left=`${d*100}%`)}catch{}try{a.current?.style.setProperty("--progress",String(d))}catch{}},[l,t,a]);return o.useEffect(()=>l,[l]),{start:c,stop:l,settleTo:u}}function So({btnLabel:e,soundSrc:t,bucketPath:a,onDone:r,disabled:s=!1,ttsText:i=null,className:l,showSoundWaveForm:c=!0,showNoiseWaveForm:u=!0}){const{t:d}=fe.useTranslation(),p=e,m=nr(),h=o.useRef(m?.registerAnalyser);o.useEffect(()=>{h.current=m?.registerAnalyser});const g=o.useRef(null),C=o.useRef(null),b=o.useRef(null),_=y5(),f=o.useRef(null),y=o.useRef(!1),x=o.useRef(0),v=o.useRef(null),{ref:k,rect:w,show:D,hide:B}=v5();o.useEffect(()=>()=>{h.current?.("main",null),h.current?.("noise",null)},[]);const[A,N]=o.useState(!1),[M,I]=o.useState("idle"),[$,V]=o.useState("stopped"),S=o.useRef("stopped");o.useEffect(()=>{S.current=$},[$]);const[F,z]=o.useState(0),[Y,U]=o.useState("active"),G=o.useRef(!1);o.useEffect(()=>{if(Y!=="playMode"||!G.current)return;G.current=!1;const H=typeof document<"u"?document.activeElement:null;if(H&&H!==document.body)return;const re=b.current?.querySelectorAll("button")[1];try{re?.focus()}catch{}},[Y]);const[W,Z]=o.useState(null),[P,T]=o.useState(null),[O,R]=o.useState(0),[j,L]=o.useState(!1),[Q,J]=o.useState(0),oe=m?.playbackRate??1,ge=m?.mainVolume??1,Me=m?wo(m.settings):0,Ne=m?Lc(m.settings):ge,[ie,q]=o.useState("idle"),[se,me]=o.useState(""),[_e]=o.useState("top"),we=o.useRef(null),De=o.useRef(0),xe=o.useRef(null),{start:Ae,stop:Te,settleTo:ae}=D5({audioRef:g,fillRef:C,waveProgressRef:xe,sourcesRef:we,currentIndexRef:De}),{onReadyChange:ee,waitForReady:de,markNotReady:te}=b5({showSoundWaveForm:c,showNoiseWaveForm:u}),he=o.useRef(null),be=o.useRef(s),Ye=o.useRef(r),He=o.useRef(null),qe=o.useRef(!1),[Se,Ue]=o.useState(!1),$e=o.useCallback(H=>{qe.current=H,Ue(H)},[]),Ie=o.useRef(null),{activeNoiseUrl:Ve,noiseSettingsRef:at,fadeInNoise:ot,fadeOutNoise:We}=u5({noisePlayer:m,audioRef:g,playbackStateRef:S}),{startTTS:Xe,stopTTS:Ct}=d5({ttsText:i,playbackRate:oe,mainVolume:Ne,fillRef:C,waveProgressRef:xe,setProgress:z,setPlaybackState:V,setStateLocal:U,fadeInNoise:ot,fadeOutNoise:We,noiseSettingsRef:at,onDoneRef:Ye,handleEndRef:Ie});o.useEffect(()=>{bt.current=Ct});const At=H=>{if(typeof window>"u"||!window.speechSynthesis){try{me(d("training.ttsUnavailable","\uC774 \uAE30\uAE30\uC5D0\uC11C\uB294 \uC74C\uC131\uC744 \uB4E4\uB824\uC904 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4."))}catch{}Xe(H);return}Nt("tts"),Xe(H)},Et=Array.isArray(t)?t.filter(Boolean):t?[t]:[],ut=(!Et||Et.length===0)&&!!i,Qe=Array.isArray(W)&&W.length>0?W:Array.isArray(P)&&P.length>0?P:null,Ze=Math.max(Array.isArray(Qe)?Qe.length:0,Et.length),Oe=o.useRef(!0);o.useEffect(()=>(Oe.current=!0,()=>{Oe.current=!1}),[]);const rt=o.useRef(0),et=()=>{rt.current+=1,x.current+=1},bt=o.useRef(null),ze=o.useRef(null),it=o.useRef(null),Bt=o.useRef(null);Bt.current||(Bt.current=()=>{it.current=null;const H=g.current;if(ze.current==="audio"&&H&&!H.paused){rt.current+=1,x.current+=1;try{H.pause()}catch{}Oe.current&&V("paused")}else if(ze.current==="tts")try{bt.current?.()}catch{}});const Nt=H=>{ze.current=H,it.current=Za(Bt.current)},Le=()=>{it.current?.(),it.current=null};o.useEffect(()=>()=>{Bt.current&&Xa(Bt.current)},[]);const Ke=o.useCallback(async(H,re=3,le=50)=>{const ye=rt.current;for(let ve=0;ve<re;ve++){if(!Oe.current||ye!==rt.current)return!1;try{return Nt("audio"),await H.play(),!0}catch(je){if((je instanceof Error||typeof je=="object"&&je&&"name"in je?je.name:void 0)==="AbortError"){if(ye!==rt.current)return!1;await new Promise(nt=>setTimeout(nt,le));continue}try{me(d("training.audioFetchError","\uC0AC\uC6B4\uB4DC \uC18C\uC2A4\uB97C \uAC00\uC838\uC624\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4."))}catch{}return!1}}try{me(d("training.audioFetchError","\uC0AC\uC6B4\uB4DC \uC18C\uC2A4\uB97C \uAC00\uC838\uC624\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4."))}catch{}return!1},[d]),Dt=o.useCallback(()=>{const H=g.current;if(!H)return;const re=()=>{V("playing"),U("playMode"),L(!0),Ae();try{Dr(),La(H).then(je=>{if(Oe.current)try{h.current?.("main",je)}catch{}})}catch{}const ve=at.current;ve?.enabled&&(ve?.volume??0)>0&&ot(ve.volume)},le=()=>{w5({ended:!!H?.ended,completedByEnd:qe.current})||(V("paused"),Te(),We())},ye=()=>{try{const ve=we.current,je=_5(ve,De.current);if(je!==null){De.current=je,R(je),L(!0);const nt=ve?.[je]&&ve[je].src;if(nt&&H){H.src=nt,H.load(),Ke(H).catch(()=>{});return}}}catch{}V("stopped"),z(1);try{if(H)try{H.currentTime=0}catch{}}catch{}Te(),L(!1),We();try{!be.current&&Ie.current&&Ie.current()}catch{}};return H.addEventListener("play",re),H.addEventListener("pause",le),H.addEventListener("ended",ye),()=>{try{H.removeEventListener("play",re),H.removeEventListener("pause",le),H.removeEventListener("ended",ye),Te()}catch{}}},[ot,We,Ke,at,Ae,Te]);o.useEffect(()=>Dt(),[Dt]),o.useEffect(()=>{be.current=s},[s]),o.useEffect(()=>{Ye.current=r},[r]),o.useEffect(()=>{if(s||Y!=="active")return;const H=v.current;if(!H)return;let re=null;const le=requestAnimationFrame(()=>{try{const ye=H.getTotalLength();if(!ye)return;const ve=ye*.2;H.style.strokeDasharray=`${ye-ve} ${ve}`;const je="triFlow_"+Math.random().toString(36).slice(2);re=document.createElement("style"),re.textContent=`@keyframes ${je}{from{stroke-dashoffset:0}to{stroke-dashoffset:-${ye}}}`,document.head.appendChild(re),H.style.animation=`${je} 2.4s linear infinite`}catch{}});return()=>{cancelAnimationFrame(le),re?.remove()}},[Y,s]),o.useEffect(()=>{we.current=W},[W]),o.useEffect(()=>{De.current=O},[O]),o.useEffect(()=>{const H=b.current,re=f.current;if(!H||!re)return;let le=null;const ye=32,ve=60,je=()=>{try{const ht=Array.from(H.querySelectorAll(":scope > .button"));let lt=0;ht.forEach(pn=>{if(pn===re)return;const ur=pn.getBoundingClientRect();lt+=ur.width});const _t=H.getBoundingClientRect().width,zt=Math.max(0,Math.floor(_t-lt-8)),Rt=Ze;if(!Rt||zt<=0){Array.from(re.children).forEach(pn=>{try{pn.style.width=""}catch{}});return}let dn=Math.floor(zt/Rt);dn>ve&&(dn=ve),dn<ye&&(dn=Math.max(ye,Math.floor(zt/Rt))),Array.from(re.querySelectorAll(".button")).forEach(pn=>{try{pn.style.width=`${dn}px`}catch{}})}catch{}},nt=requestAnimationFrame(je);try{le=new ResizeObserver(()=>{requestAnimationFrame(je)}),le.observe(H),le.observe(re),window.addEventListener("resize",je)}catch{}return()=>{try{cancelAnimationFrame(nt)}catch{}try{le&&(le.disconnect(),le=null)}catch{}try{window.removeEventListener("resize",je)}catch{}}},[W,P,Ze]),o.useEffect(()=>()=>{try{he.current&&(clearTimeout(he.current),he.current=null),He.current&&(clearTimeout(He.current),He.current=null)}catch{}},[]);const vt=(H,re)=>{Z(H),J(re),te(),T(k5(H)),we.current=H},Tt=async(H,re)=>{$e(!1),y.current=!1,H.src=re,H.load(),await Fc(H),await de()!==!1&&(N(!1),await Ke(H),U("playMode"),R(0),L(!0))},on=async(H,re=!1)=>{const le=g.current;N(!0),I("measuring_duration");try{const ye=await Do(H,{timeoutMs:1e4,rejectOnError:!0});vt([{src:H,objectUrl:null,duration:ye}],ye),I("ready"),re&&le&&await Tt(le,H)}finally{y.current=!1,N(!1)}},tt=async(H,re=!1)=>{const le=g.current;N(!0),I("measuring_duration");try{const ye=await Promise.all(H.map(je=>Do(je,{timeoutMs:1e4})));if(!Oe.current)return;const ve=H.map((je,nt)=>({src:je,objectUrl:null,duration:ye[nt]||0}));vt(ve,A5(ve)),I("ready"),re&&le&&ve.length>0&&await Tt(le,ve[0].src)}finally{y.current=!1,N(!1)}},Gt=async(H=!1,re=!0)=>{const le=g.current,ye=t?Array.isArray(t)?t:[t]:[];if(!ye||ye.length===0||!ye.some(Boolean))return!1;if(y.current)return null;y.current=!0,re&&N(!0),I("resolving");try{const ve=B5(t,a,Rs),je=[];let nt=0;for(const ht of ve){let lt=ht.src??null,_t=null;if(!lt&&ht.resolvedPath){try{I("getting_signed_url"),lt=await Ps(ht.resolvedPath)}catch{lt=null}if(!Oe.current)return!1;if(!lt)try{I("downloading");const Rt=await Is(ht.resolvedPath);if(!Oe.current)return!1;if(Rt){const dn=Rt instanceof Blob?Rt:new Blob([Rt]);_t=_.track(URL.createObjectURL(dn)),lt=_t}}catch{I("error");try{me(d("training.audioFetchError","\uC0AC\uC6B4\uB4DC \uC18C\uC2A4\uB97C \uAC00\uC838\uC624\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4.")),U("active")}catch{}}}if(!lt)continue;let zt=0;try{I("measuring_duration"),zt=await Do(lt,{timeoutMs:3e3})}catch{zt=0}if(!Oe.current){if(_t)try{URL.revokeObjectURL(_t)}catch{}for(const Rt of je)if(Rt.objectUrl)try{URL.revokeObjectURL(Rt.objectUrl)}catch{}return!1}nt+=zt||0,je.push({...ht,src:lt,objectUrl:_t,duration:zt})}if(vt(je,nt),je.length>0&&H&&le){const ht=je[0];$e(!1);try{_.keepOnly(je.map(lt=>lt.objectUrl))}catch{}if(I("ready"),y.current=!1,ht.src&&le)try{if(le.src=ht.src,le.load(),await Fc(le),await de()===!1)return!1;re&&N(!1),le&&await Ke(le)}catch{re&&N(!1)}else re&&N(!1);U("playMode"),R(0),L(!0)}return je.length>0}finally{y.current=!1,re&&N(!1),I(ve=>ve==="ready"?"ready":"idle")}},vn=async()=>{const H=g.current;if(!(!H&&!ut)){if(ut){const re=window.speechSynthesis;if(Y==="active"){const le=Ar(),ye=Array.isArray(i)?i.filter(Boolean):i?[i]:[];if(le&&ye.length>0){U("load"),N(!0),I("resolving"),y.current=!0;try{const ve=await Promise.all(ye.map(je=>Promise.resolve(le(je))));ve.length>1?await tt(ve,!0):await on(ve[0],!0)}catch{y.current=!1,N(!1),U("active"),At(ye.length>0?ye:void 0)}return}At(ye.length>0?ye:void 0);return}if(Y==="playMode"){const le=!!re&&(re.speaking||re.paused)&&!(H&&(H.currentSrc||H.getAttribute("src")));if(H&&!le){if(H.paused){if(qe.current){await xt();return}await Ke(H),V("playing")}else et(),H.pause(),V("paused");return}try{if(re&&re.paused)try{Nt("tts"),re.resume(),V("playing")}catch{}else try{re.pause(),V("paused")}catch{}}catch{}}return}if(Y==="active"){if(s&&Array.isArray(we.current)&&we.current.length>0){const le=we.current[0];try{if(le.src&&H)try{H.src=le.src,H.load(),H&&await Ke(H)}catch{}U("playMode"),R(0),L(!0);return}catch{}}U("load");let re;try{re=await Gt(!0)}catch{re=!1}if(re===!1&&Oe.current){try{me(d("training.audioFetchError","\uC0AC\uC6B4\uB4DC \uC18C\uC2A4\uB97C \uAC00\uC838\uC624\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4."))}catch{}U("active")}return}if(Y!=="load"&&(Y==="playMode"||Y==="active"))try{if(H&&H.paused){if(qe.current){await xt();return}H&&await Ke(H),V("playing")}else H&&(et(),H.pause(),V("paused"))}catch(re){(re instanceof Error||typeof re=="object"&&re&&"name"in re)&&re.name}}},xt=async()=>{const H=g.current;if(H)try{const re=we.current;if(Array.isArray(re)&&re.length>1){await Kt(0);return}$e(!1);try{H.currentTime=0}catch{}H&&await Ke(H),V("playing"),U("playMode")}catch{}},Vt=()=>{if(et(),Le(),ut){Ct();return}const H=g.current;try{if(H){try{H.pause()}catch{}try{H.currentTime=0}catch{}}}catch{}We(),V("stopped"),U("active"),z(0),L(!1)},Xt=async(H,{sameSegment:re=!1}={})=>{const le=++x.current,ye=g.current,ve=we.current?.[H]?.src;try{if($e(!1),R(H),L(!0),De.current=H,!ve||!ye||(re||te(),ye.src=ve,ye.load(),!re&&await de()===!1)||le!==x.current||(await Ke(ye),le!==x.current))return;V("playing"),U("playMode")}catch{}},an=async()=>{const H=we.current,re=De.current||0;if(!H||re<=0){await xt();return}await Xt(re-1)},sn=async()=>{const H=we.current,re=De.current||0;if(!H||re>=H.length-1){Vt();return}await Xt(re+1)},Jt=()=>{if(qe.current)return;const H=200,re=340;$e(!0),et(),Le();try{z(1)}catch{}ae(1);try{q("hold")}catch{}try{const le=g.current,ye=ut&&!!le?.src;if(!ut||ye){if(le){le.pause();try{le.currentTime=0}catch{}}}else Ct();We()}catch{}try{V("stopped")}catch{}if(L(!1),!be.current)try{He.current&&(clearTimeout(He.current),He.current=null),He.current=setTimeout(()=>{try{q("out")}catch{}He.current=setTimeout(()=>{try{typeof Ye.current=="function"&&Ye.current(!0)}catch{}try{q("idle")}catch{}He.current=null},re)},H)}catch{}};o.useEffect(()=>{Ie.current=Jt});const xn=o.useCallback(()=>me(""),[]),Kt=async H=>{(we.current||[])[H]&&await Xt(H,{sameSegment:H===De.current})},mt=$==="playing",ln=o.useMemo(()=>{if(!P||P.length<=1)return P;const H=P[O];return H?[H]:P},[P,O]),Yt=s===!0;o.useEffect(()=>{try{const H=g.current;H&&typeof H.playbackRate=="number"&&(H.playbackRate=oe||1)}catch{}},[oe]);const jt=o.useRef({raf:null,timer:null});o.useEffect(()=>{const H=g.current;if(!H)return;const re=Math.max(0,Math.min(1,Ne)),le=jt.current,ye=()=>{le.raf!==null&&(cancelAnimationFrame(le.raf),le.raf=null),le.timer!==null&&(clearTimeout(le.timer),le.timer=null)};ye();const ve=$a(H);if(H.paused||Math.abs(ve-re)<.001||typeof requestAnimationFrame!="function"){try{kn(H,re)}catch{}return}const je=performance.now(),nt=()=>{const ht=Math.min(1,(performance.now()-je)/150);try{kn(H,ve+(re-ve)*ht)}catch{}le.raf=ht<1?requestAnimationFrame(nt):null};return le.raf=requestAnimationFrame(nt),le.timer=setTimeout(()=>{ye();try{kn(H,re)}catch{}},200),ye},[Ne]);const cn=ie==="hold",Zt=ie==="out",un=Y==="playMode"&&!A&&!Se||cn||Zt,ke=$!=="stopped"||cn||Zt,Pe=$==="paused",ne=Math.max(0,Math.min(100,(F||0)*100)),pe=Be("audio-player__fill",un?"is-visible":"",ke?"is-expanded":"",Pe?"is-paused":"",Zt?"is-out":"");return n.jsxs("div",{className:`audio-player ${Yt?"is-disabled":""}${l?` ${l}`:""}`,role:"group","aria-label":typeof p=="string"?p:void 0,children:[n.jsxs("div",{className:`audio-player__panel ${mt?"is-playing":""} ${A?"is-loading":""} ${Y!=="default"?"is-revealed":""}`,children:[A?n.jsxs("div",{className:"audio-player__loading",role:"status","aria-live":"polite",children:[n.jsx("span",{className:"audio-player__loading-spinner","aria-hidden":"true"}),n.jsx("span",{className:"audio-player__loading-text",children:d(`training.audioStatus.${M}`,{defaultValue:C5[M]})})]}):null,Y==="active"?n.jsx("button",{className:"audio-player__button",type:"button",disabled:Yt,onClick:()=>{G.current=Ja(),B(),vn()},"aria-label":typeof p=="string"?p:d("training.listen","\uB4E3\uAE30"),onMouseEnter:D,onMouseLeave:B,onFocus:D,onBlur:B,children:n.jsx("span",{ref:k,className:"audio-player__button-triangle-wrap",children:n.jsx("svg",{className:"audio-player__button-triangle",viewBox:"0 0 24 24","aria-hidden":"true",children:n.jsx("path",{ref:v,d:"M13.2 7.7 L16.5 9.85 Q20.2 12 16.5 14.15 L10 18.3 Q7 19.7 7 16.3 L7 7.7 Q7 4.3 10 5.7 L13.2 7.7"})})})}):null,w&&n.jsx(Bn,{anchorRect:w,text:typeof p=="string"&&p?p:d("training.listenLabel","\uBB38\uC7A5 \uB4E3\uAE30"),offset:8}),n.jsxs("div",{className:`audio-player__play ${Y==="playMode"||mt?"is-visible":""}`,inert:!(Y==="playMode"||mt)||void 0,children:[n.jsxs("div",{ref:b,className:"audio-player__buttons",children:[n.jsx(ce,{htmlType:"button",size:32,showTooltipInfo:!0,type:"dot",shape:"pill",useBorder:!1,icon:"skip-back",onClick:an,ariaLabel:d("training.prev","\uC774\uC804"),width:"60px",variant:"transparent-white","aria-hidden":"true",tabIndex:-1,disabled:Y!=="playMode"}),n.jsx(ce,{htmlType:"button",size:32,showTooltipInfo:!0,type:"dot",shape:"pill",useBorder:!1,icon:mt?"pause":"play",onClick:vn,ariaLabel:d("common.playPause","\uC7AC\uC0DD / \uBA48\uCDA4"),"aria-pressed":mt,width:"60px",variant:"transparent-white",disabled:Y!=="playMode"}),n.jsx(ce,{htmlType:"button",size:32,showTooltipInfo:!0,type:"dot",shape:"pill",useBorder:!1,icon:"square",onClick:Vt,ariaLabel:d("training.stop","\uC815\uC9C0"),width:"60px",variant:"transparent-white","aria-hidden":"true",tabIndex:-1,disabled:Y!=="playMode"}),Ze>1?n.jsx("div",{ref:f,className:"audio-player__source-buttons",children:Array.from({length:Ze}).map((H,re)=>n.jsx(ce,{htmlType:"button",size:32,type:"dot",shape:"pill",useBorder:!1,label:String(re+1),onClick:()=>{try{Kt(re)}catch{}},ariaLabel:d("training.sourcePlay",{n:re+1}),variant:"transparent-white",selected:j&&O===re,disabled:Y!=="playMode"||!(Array.isArray(W)&&W[re]),showTooltipInfo:!0},re))}):null,!Array.isArray(W)||W.length<=1?n.jsx(ce,{htmlType:"button",size:32,showTooltipInfo:!0,type:"dot",shape:"pill",useBorder:!1,icon:"repeat",onClick:xt,ariaLabel:d("common.replay","\uB2E4\uC2DC\uB4E3\uAE30"),width:"60px",variant:"transparent-white",disabled:Y!=="playMode"}):null,n.jsx(ce,{htmlType:"button",size:32,showTooltipInfo:!0,type:"dot",shape:"pill",useBorder:!1,icon:"skip-forward",onClick:sn,ariaLabel:d("training.next","\uB2E4\uC74C"),width:"60px",variant:"transparent-white","aria-hidden":!0,tabIndex:-1,disabled:Y!=="playMode"}),n.jsx(ce,{htmlType:"button",size:32,showTooltipInfo:!0,type:"dot",shape:"pill",useBorder:!1,icon:"check",onClick:Jt,ariaLabel:d("common.done","\uC644\uB8CC"),width:"60px",variant:"transparent-white",disabled:Y!=="playMode"})]}),n.jsxs("div",{className:"audio-player__slider",children:[n.jsx("div",{className:pe,ref:C,style:{left:`${ne}%`},"aria-hidden":"true"}),(c||u)&&n.jsx(f5,{segments:ln,progress:F,totalDuration:Q,waveProgressRef:xe,showSoundWaveForm:c,noiseSrc:u&&m?.settings.enabled&&Me>0?Ve:null,noiseRatio:m?Da(m.settings):0,noiseSpeed:m?.settings.speed??1,mainVolume:ge,onReadyChange:ee})]})]}),n.jsx("audio",{ref:g,crossOrigin:"anonymous",preload:"auto"})]}),!c&&n.jsxs("p",{className:"audio-player__no-waveform caption-1",children:[n.jsx(Ge,{icon:"triangle-alert",size:14}),d("training.noSoundWaveform","\uC18C\uB9AC \uBE44\uAD50 \uBB38\uC81C\uB294 \uC6E8\uC774\uBE0C\uD3FC\uC744 \uD45C\uD604\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.")]}),n.jsx(ea,{message:se,position:_e,onClose:xn})]})}function rr(e){const{t}=fe.useTranslation(),{text:a,label:r,anchorRect:s=null,onClose:i,closeOnOutsideClick:l=!0,isMobilePopup:c=!1}=e||{},[u,d]=o.useState(()=>{try{return localStorage.getItem("tooltip-theme")||"light"}catch{return"light"}});o.useEffect(()=>{try{localStorage.setItem("tooltip-theme",u)}catch{}},[u]);const{increase:p,decrease:m,canIncrease:h,canDecrease:g,fontSize:C,lineHeight:b}=Gi({storageKey:"tooltip-fontScale"}),_=o.useCallback(()=>d(k=>k==="dark"?"light":"dark"),[]),f=o.useCallback(k=>{try{k.stopPropagation()}catch{}try{typeof i=="function"&&i()}catch{}},[i]),y=Array.isArray(a)?a:typeof a>"u"||a===null?[]:[a],x={fontSize:`${C}px`,lineHeight:`${b}px`,"--tt-line-height":`${b}px`,"--tt-marker-size":"28px"},v=n.jsxs("div",{className:`tooltip-textbox__root ${u==="dark"?"is-dark":""}`,children:[n.jsxs("div",{className:"tooltip-textbox__box",children:[r&&n.jsx("div",{className:"tooltip-textbox__label body-2b",children:r}),n.jsx("div",{className:"tooltip-textbox__text body-1",style:x,children:y.map((k,w)=>n.jsxs("div",{className:"tooltip-textbox__line",children:[y.length>1?n.jsx("div",{className:"tooltip-textbox__marker",children:n.jsx("span",{className:"tooltip-textbox__line-number button-1",children:w+1})}):null,n.jsx("span",{className:"tooltip-textbox__line-text",children:k})]},w))})]}),n.jsxs("div",{className:"tooltip-textbox__buttons",children:[n.jsx(ce,{htmlType:"button",size:32,showTooltipInfo:!0,type:"dot",useBorder:!1,width:48,icon:"minus",onClick:m,ariaLabel:t("training.fontSizeDecrease","\uAE00\uC790 \uD06C\uAE30 \uAC10\uC18C"),variant:u==="dark"?"transparent-white":"transparent-gray",disabled:!g}),n.jsx(ce,{htmlType:"button",size:32,showTooltipInfo:!0,type:"dot",useBorder:!1,width:48,icon:"plus",onClick:p,ariaLabel:t("training.fontSizeIncrease","\uAE00\uC790 \uD06C\uAE30 \uC99D\uAC00"),variant:u==="dark"?"transparent-white":"transparent-gray",disabled:!h}),n.jsx(ce,{htmlType:"button",size:32,showTooltipInfo:!0,type:"dot",useBorder:!1,width:48,icon:u==="dark"?"moon":"sun-medium",onClick:_,ariaLabel:t("training.toggleBackground","\uBC30\uACBD \uC804\uD658"),variant:u==="dark"?"transparent-white":"transparent-gray"}),n.jsx(ce,{htmlType:"button",size:32,showTooltipInfo:!0,type:"dot",useBorder:!1,width:48,icon:"x",onClick:f,ariaLabel:t("common.close","\uB2EB\uAE30"),variant:u==="dark"?"transparent-white":"transparent-gray"})]})]});return s?n.jsx(An,{anchorRect:s,className:`tooltip-textbox ${u==="dark"?"is-dark":""}`,onClose:i,closeOnOutsideClick:l,isMobilePopup:c,ariaLabel:r||t("tooltip.textbox","\uBCF8\uBB38"),children:v}):n.jsx("div",{className:`tooltip-textbox ${u==="dark"?"is-dark":""}`,children:v})}function Oc({state:e="disabled"}){const{t}=fe.useTranslation();return n.jsxs("div",{className:`ts-bullet ts-bullet--${e}`,"aria-hidden":!0,children:[n.jsx("div",{className:"bullet__dot",children:n.jsx(Ge,{icon:"chevron-right",label:t("training.next","\uB2E4\uC74C"),className:"bullet__icon",imgClassName:"bullet__icon-img",maskClassName:"bullet__icon-mask",svgClassName:"bullet__icon-svg",wrapperStyle:{},size:20})}),n.jsx("div",{className:"ts-bullet__line"})]})}function Hc(e,t,a){const r=o.useRef(t),s=o.useRef(a);o.useEffect(()=>{r.current=t,s.current=a}),o.useEffect(()=>{if(!e||typeof document>"u")return;let i=null,l=10;const c=()=>{i=null;const u=r.current(),d=u?Array.from(u.querySelectorAll(hn)).find(p=>!p.closest('[aria-hidden="true"]')):void 0;if(d){try{d.focus()}catch{}if(document.activeElement===d)return}--l>0&&(i=requestAnimationFrame(c))};return i=requestAnimationFrame(c),()=>{i!==null&&cancelAnimationFrame(i);const u=document.activeElement;if(!u||u===document.body||!document.contains(u)||u.closest(".tooltip-content")){const d=s.current();if(d)try{d.focus()}catch{}}}},[e])}function Vc({title:e,children:t,className:a="",state:r="disabled",usePreviewTextBtn:s=!1,onPreviewTextBtn:i,previewText:l=null,useFaded:c,usePlayAllBtn:u=!1,onPlayAll:d,playAllActive:p=!1}){const{t:m}=fe.useTranslation(),h=en("(max-width: 767px)"),g=`training-step__title h4 ${c&&r==="disabled"?"training-step__title--faded":""} ${a}`.trim(),C=`training-step__title-row training-step__title-row--${r}`.trim(),b=o.useRef(null),[_,f]=o.useState(!1),[y,x]=o.useState(null),[v,k]=o.useState(null);Hc(_&&!!y,()=>{if(typeof document>"u")return null;const N=Array.from(document.querySelectorAll(".tooltip-content"));for(let M=N.length-1;M>=0;M--)if(N[M].querySelector(".tooltip-textbox__root"))return N[M];return null},()=>b.current?.querySelector("button")??null);const w=o.useRef(i);o.useEffect(()=>{w.current=i});const D=o.useMemo(()=>l==null?"":typeof l=="string"||typeof l=="number"?String(l):Array.isArray(l)&&l.every(N=>typeof N=="string"||typeof N=="number")?l.join(""):"",[l]),B=o.useCallback(()=>{f(!1),x(null),k(null)},[]);o.useEffect(()=>{if(!_)return;let N;try{typeof w.current=="function"&&(N=w.current())}catch{}if(N===!1){B();return}k(typeof N<"u"&&N!==null?N:null)},[D]);const A=o.useCallback(()=>{let N;try{typeof i=="function"&&(N=i())}catch{}if(N!==!1){if(k(typeof N<"u"&&N!==null?N:l),!b.current){f(M=>!M);return}if(_)f(!1),x(null),k(null);else{const M=b.current.getBoundingClientRect();x(M),f(!0)}}},[i,l,_]);return n.jsxs("div",{className:C,children:[n.jsx("p",{className:g,children:n.jsx("span",{className:"training-step__title-text",children:e??t})}),s||u?n.jsxs("div",{className:"title-controls",children:[n.jsxs("div",{className:"title-buttons",children:[u&&n.jsx(ce,{htmlType:"button",size:32,type:h?"dot":"bar",icon:"play-circle",label:h?void 0:m("training.playAll","\uBAA8\uB450 \uB4E3\uAE30"),ariaLabel:m("training.playAll","\uBAA8\uB450 \uB4E3\uAE30"),selected:p,onClick:d,variant:r==="disabled"?"disabled":"default",disabled:r==="disabled"||p,onDisabledClick:p&&r!=="disabled"?()=>{}:void 0}),s&&n.jsx("div",{ref:b,children:n.jsx(ce,{htmlType:"button",size:32,type:h?"dot":"bar",icon:"eye",label:h?void 0:m("training.sentencePreview","\uBB38\uC7A5 \uBBF8\uB9AC\uBCF4\uAE30"),ariaLabel:m("training.sentencePreview","\uBB38\uC7A5 \uBBF8\uB9AC\uBCF4\uAE30"),onClick:A,className:_?"is-selected":void 0,"aria-expanded":_,"aria-haspopup":"dialog",variant:r==="disabled"?"disabled":"default",disabled:!l&&typeof i!="function"})})]}),_&&n.jsx(rr,{text:v??l,label:m("training.sentencePreview","\uBB38\uC7A5 \uBBF8\uB9AC\uBCF4\uAE30"),anchorRect:y,onClose:B,closeOnOutsideClick:!1,isMobilePopup:!0})]}):null]})}function Eo(e,t){return typeof t!="number"||typeof e!="number"?"disabled":e<t?"done":e===t?"active":"disabled"}function Vn({index:e,stepIndex:t,isLast:a=!1,title:r="",titleProps:s={},children:i,className:l="",onDone:c=void 0,useTitleFaded:u=void 0}){const{t:d}=fe.useTranslation(),[p,m]=o.useState(()=>Eo(e,t));o.useEffect(()=>{const k=Eo(e,t);if(k!==p){const w=setTimeout(()=>m(k),0);return()=>clearTimeout(w)}},[e,t,p]);const h=o.useCallback((...k)=>{Eo(e,t)==="done"||p==="done"||typeof c=="function"&&c(...k)},[e,t,p,c]),[g,C]=o.useState(!1),[b,_]=o.useState({text:"",label:"\uBB38\uC7A5 \uB4E3\uAE30",anchorRect:null,backdrop:!1,alignX:null,alignY:null}),f=o.useCallback(k=>{if(!k)return null;try{const w=k;if(typeof k=="object"&&(w.currentTarget||w.target)&&(w.nativeEvent||w.type)){const A=w.currentTarget??w.target;if(A&&typeof A.getBoundingClientRect=="function")return A.getBoundingClientRect()}if(k instanceof DOMRect)return k;const D=k;if(D&&typeof D.getBoundingClientRect=="function")return D.getBoundingClientRect();const B=k?.current;return B&&typeof B.getBoundingClientRect=="function"?B.getBoundingClientRect():null}catch{return null}},[]),y=o.useCallback((k,{text:w="",label:D="\uBB38\uC7A5 \uB4E3\uAE30",backdrop:B=!1,alignX:A="center",alignY:N="top"}={})=>{const M=f(k);_({text:w,label:D,anchorRect:M,backdrop:B,alignX:A,alignY:N}),C(!0)},[f]),x=o.useCallback(()=>{C(!1),_(k=>({...k,anchorRect:null}))},[]),v=o.Children.map(i,k=>{if(o.isValidElement(k)){const w=k;if(typeof w.type=="string")return w;const D=w.props??{},B=typeof D.onDone=="function"?D.onDone:h,A=typeof D.disabled=="boolean";let N=p==="disabled";return A&&(N=!!D.disabled),o.cloneElement(w,{onDone:B,disabled:N,showTooltip:y,hideTooltip:x})}return k});return n.jsxs("div",{className:`training-step training-step--${p} ${a?"training-step--last":""} ${l}`,"aria-current":p==="active",children:[n.jsx(Oc,{state:p}),n.jsxs("div",{className:"training-step__content",children:[n.jsx(Vc,{state:p,title:r,...s,useFaded:u}),v]}),g?n.jsx(An,{anchorRect:b.anchorRect,backdrop:b.backdrop,onClose:x,ariaLabel:d("tooltip.textbox","\uBCF8\uBB38"),children:n.jsx(rr,{text:b.text,onClose:x})}):null]})}function zc({context:e,state:t="disabled",theme:a="light"}){const{t:r}=fe.useTranslation(),[s,i]=o.useState("disabled"),[l,c]=o.useState(()=>{try{return localStorage.getItem("tooltip-theme")||a}catch{return a}});o.useEffect(()=>{try{localStorage.setItem("tooltip-theme",l)}catch{}},[l]);const u=()=>c($=>$==="dark"?"light":"dark"),{increase:d,decrease:p,canIncrease:m,canDecrease:h,fontSize:g,lineHeight:C}=Gi({storageKey:"textbox_fontScale"}),[b,_]=o.useState(""),f=o.useRef(null),y=o.useRef(!1),x=o.useCallback(()=>{y.current=Ja()&&!!f.current&&f.current.contains(document.activeElement),i("active")},[]),v=o.useCallback(()=>_(""),[]),k=$=>{try{_($)}catch{}},w=typeof navigator<"u"&&/Mobi|Android/i.test(navigator.userAgent||"");o.useEffect(()=>{if(t!=="disabled"){const $=setTimeout(()=>i(t),0);return()=>clearTimeout($)}},[t]);const D=o.useMemo(()=>e&&typeof e=="object"?String(e.sentence??e.text??""):typeof e=="string"?e:"",[e]),[B,A]=o.useState(D);B!==D&&(A(D),i("disabled"));const N=t==="disabled"?s:t,M=N==="disabled"?"training-text-box--disabled":N==="active"?"training-text-box--active":N==="done"?"training-text-box--done":"",I=o.useMemo(()=>({fontSize:`${g}px`,lineHeight:`${C}px`}),[g,C]);return o.useEffect(()=>{if(N==="disabled"||!y.current)return;y.current=!1;const $=document.activeElement;$&&$!==document.body||f.current?.querySelector(".training-text-box__buttons button")?.focus()},[N]),n.jsxs("div",{ref:f,className:`training-text-box ${M} ${N!=="disabled"&&l==="dark"?"is-dark":""}`,children:[N==="disabled"&&n.jsx("div",{className:"training-text-box__preview",children:n.jsx(ce,{htmlType:"button",size:48,type:"bar",onClick:x,icon:"eye",ariaLabel:r("training.sentencePreview","\uBB38\uC7A5 \uBBF8\uB9AC\uBCF4\uAE30"),label:r("training.sentencePreview","\uBB38\uC7A5 \uBBF8\uB9AC\uBCF4\uAE30"),useBorder:!1})}),n.jsx("div",{className:"training-text-box__area","aria-hidden":N==="disabled",children:n.jsx("span",{className:"training-text-box__inner h3",style:I,children:D})}),N!=="disabled"&&n.jsxs("div",{className:"training-text-box__buttons","aria-hidden":N==="disabled",children:[n.jsx(ce,{htmlType:"button",size:32,type:"dot",onClick:p,onDisabledClick:()=>k(r("training.fontSizeMin","\uAE00\uC528 \uD06C\uAE30\uAC00 \uCD5C\uC18C\uC785\uB2C8\uB2E4.")),ariaLabel:r("training.fontSizeDecrease","\uAE00\uC790 \uD06C\uAE30 \uAC10\uC18C"),icon:"minus",variant:l==="dark"?"transparent-white":"transparent-gray",disabled:!h,useBorder:!1,showTooltipInfo:!0,...!w&&{width:"60px"}}),n.jsx(ce,{htmlType:"button",size:32,type:"dot",onClick:d,onDisabledClick:()=>k(r("training.fontSizeMax","\uAE00\uC528 \uD06C\uAE30\uAC00 \uCD5C\uB300\uC785\uB2C8\uB2E4.")),ariaLabel:r("training.fontSizeIncrease","\uAE00\uC790 \uD06C\uAE30 \uC99D\uAC00"),icon:"plus",variant:l==="dark"?"transparent-white":"transparent-gray",disabled:!m,useBorder:!1,showTooltipInfo:!0,...!w&&{width:"60px"}}),n.jsx(ce,{htmlType:"button",size:32,showTooltipInfo:!0,type:"dot",useBorder:!1,width:48,icon:l==="dark"?"moon":"sun-medium",onClick:u,ariaLabel:r("training.toggleBackground","\uBC30\uACBD \uC804\uD658"),variant:l==="dark"?"transparent-white":"transparent-gray"})]}),n.jsx(ea,{message:b,position:"top",onClose:v})]})}function To({index:e,stepIndex:t,isLast:a=!1,title:r,useTitleFaded:s,onDone:i,onChange:l,answer:c,wrongAnswers:u,choices:d,multiSelect:p=!1,correctCount:m=0,useDisabledCovered:h=!1,choiceIcons:g,shuffleChoices:C=!0}){const{t:b}=fe.useTranslation(),_=r??b("training.selectConfirm","\uBB38\uC81C\uB97C \uBCF4\uACE0 \uD574\uB2F9\uD558\uB294 \uB0B4\uC6A9\uC744 \uC120\uD0DD\uD558\uC138\uC694."),f=typeof e=="number"?e:-1,y=typeof t!="number"?"disabled":f<t?"done":f===t?"active":"disabled",x=Array.isArray(d)&&d.length?d:typeof c<"u"?[c].concat(Array.isArray(u)?u:[]):void 0,v=u?u.join("||"):"",k=d?d.join("||"):"",[w,D]=o.useState(()=>Array.isArray(x)?C?fa(x):x.slice():void 0);o.useEffect(()=>{Array.isArray(x)&&x.length?D(C?fa(x):x.slice()):D(void 0)},[c,v,k,C]);const[B,A]=o.useState(null),[N,M]=o.useState(()=>new Set);o.useEffect(()=>{A(null),M(new Set)},[k,c,v]);const I=o.useRef(void 0);o.useEffect(()=>{const S=I.current;typeof S=="number"&&typeof t=="number"&&typeof e=="number"&&S>=e&&t<e&&(A(null),M(new Set)),I.current=t},[t,e]);const $=o.useCallback(S=>{if(y!=="active")return;const F=w?.[S];if(F==null)return;const z=F,Y=y==="active"||y==="done";if(p){const U=new Set(N),G=U.has(z);G?U.delete(z):U.add(z),M(U),typeof l=="function"&&l({selectedValues:[...U],__ts:Date.now()}),Y&&(typeof m=="number"&&m>0?U.size>=m:!G)&&typeof i=="function"&&y==="active"&&i({selectedValues:[...U],__ts:Date.now()})}else A(z),typeof l=="function"&&l({selectedIndex:S,selectedValue:z,__ts:Date.now()}),Y&&typeof i=="function"&&y==="active"&&i({selectedIndex:S,selectedValue:z,__ts:Date.now()})},[w,y,p,l,i,m,N]),V=`training-step__buttons${Array.isArray(w)&&w.length>3?" training-step__buttons--wrap-3":""}`;return n.jsx(Vn,{index:e,stepIndex:t,isLast:a,title:_,useTitleFaded:s,children:n.jsx("div",{className:V,children:Array.isArray(w)&&w.length>0?w.map((S,F)=>n.jsx(ce,{htmlType:"button",size:56,type:"bar",onClick:()=>$(F),ariaLabel:String(S),label:S,useLabel:!0,icon:g?g[String(S)]:void 0,variant:"default",disabled:y==="disabled",selected:p?N.has(S):B===S,useDisabledCovered:h,minWidth:0},String(S))):null})})}function jo({index:e,stepIndex:t,isLast:a=!1,title:r,onDone:s,onChange:i,context:l,demoSelected:c}){const{t:u}=fe.useTranslation(),d=r??u("training.confirmTitle","\uBB38\uC7A5\uC744 \uD655\uC778\uD558\uACE0 \uC798 \uB4E4\uB838\uB294\uC9C0 \uC120\uD0DD\uD558\uC138\uC694."),p=typeof e=="number"?e:-1,m=typeof t!="number"?"disabled":p<t?"done":p===t?"active":"disabled",h=l&&typeof l=="object"?l.sentence||"":typeof l=="string"?l:"",g=l&&typeof l=="object"?l.choices:void 0,[C,b]=o.useState(c??null),_=`${String(h)}\0${JSON.stringify(g??null)}`,[f,y]=o.useState(_);f!==_&&(y(_),c==null&&b(null));const[x,v]=o.useState(c);Object.is(x,c)||(v(c),b(c??null));const k=o.useRef(void 0);o.useEffect(()=>{const A=k.current;typeof A=="number"&&typeof t=="number"&&typeof e=="number"&&A>=e&&t<e&&c==null&&b(null),k.current=t},[t,e,c]);const w=o.useCallback(A=>{const N=typeof A=="object"&&A!==null?Object.assign({},A,{__ts:Date.now()}):{value:A,__ts:Date.now()};typeof i=="function"&&i(N),m==="active"&&typeof s=="function"&&s(N)},[i,m,s]),D=o.useCallback(()=>{m==="active"&&(b(!1),w(!1))},[w,m]),B=o.useCallback(()=>{m==="active"&&(b(!0),w(!0))},[w,m]);return n.jsxs(Vn,{index:e,stepIndex:t,isLast:a,title:d,onDone:s,useTitleFaded:!1,children:[n.jsx(zc,{context:l,state:m}),n.jsx("div",{className:"training-step__buttons",children:Array.isArray(g)&&g.length>0?g.slice(0,6).map((A,N)=>n.jsx(ce,{htmlType:"button",size:56,type:"bar",onClick:()=>{m==="active"&&(b(N),w&&w(N))},disabled:m==="disabled",ariaLabel:String(A),label:A,variant:m,selected:C===N},N)):n.jsxs(n.Fragment,{children:[n.jsx(ce,{htmlType:"button",size:56,type:"bar",onClick:D,disabled:m==="disabled",icon:"x",ariaLabel:u("training.notHeard","\uC548 \uB4E4\uB838\uC5B4\uC694."),label:u("training.notHeard","\uC548 \uB4E4\uB838\uC5B4\uC694."),variant:"default",selected:C===!1}),n.jsx(ce,{htmlType:"button",size:56,type:"bar",onClick:B,disabled:m==="disabled",icon:"circle",ariaLabel:u("training.heardWell","\uC798 \uB4E4\uB838\uC5B4\uC694."),label:u("training.heardWell","\uC798 \uB4E4\uB838\uC5B4\uC694."),variant:"default",selected:C===!0})]})})]})}function Mo({index:e,stepIndex:t,isLast:a=!1,title:r,onDone:s,btnLabel:i,soundSrc:l,bucketPath:c,usePreviewTextBtn:u,previewText:d=null,onPreviewTextBtn:p,disabled:m,_pageIndex:h,showSoundWaveForm:g,showNoiseWaveForm:C}){const{t:b}=fe.useTranslation(),_=r??b("training.listenTitle","\uC81C\uC2DC\uD558\uB294 \uBB38\uC7A5\uC744 \uB4E4\uC5B4\uC8FC\uC138\uC694."),f=m??(typeof t=="number"&&typeof e=="number"?e>t:!1);return n.jsx(Vn,{index:e,stepIndex:t,isLast:a,title:_,onDone:s,titleProps:{usePreviewTextBtn:u,previewText:d,onPreviewTextBtn:p},children:n.jsx(So,{soundSrc:l,ttsText:l?null:d??_,bucketPath:c,btnLabel:i||b("training.listenButton","\uBB38\uC7A5 \uB4E3\uAE30"),disabled:f,className:"training-step__listen-sticky",showSoundWaveForm:g,showNoiseWaveForm:C},`audio-p${h??0}-s${e}`)})}const S5=[];function Lo({index:e,stepIndex:t,isLast:a=!1,title:r,onDone:s,onChange:i,context:l=S5}){const{t:c}=fe.useTranslation(),u=r??c("training.orderListDefault","\uBB38\uC7A5\uC744 \uB4E4\uC740 \uC21C\uC11C\uB300\uB85C \uBC30\uCE58\uD558\uC138\uC694."),d=P=>typeof P=="string"?P:P&&(P.context||P.sentence||P.question||"")||"",[p,m]=o.useState(Array.isArray(l)?l:[]),[h,g]=o.useState(()=>(p||[]).map((P,T)=>({id:T,text:d(P)}))),C=o.useMemo(()=>typeof t!="number"||typeof e!="number"?"disabled":e<t?"done":e===t?"active":"disabled",[t,e]),b=C!=="disabled",_=o.useRef(void 0);o.useEffect(()=>{if(_.current===l)return;_.current=l;const P=Array.isArray(l)?l:[];m(P);const T=(O=>{const R=(O||[]).map((J,oe)=>({id:oe,text:d(J)}));if(R.length<=1)return R;const j=(J,oe)=>{if(J.length!==oe.length)return!1;for(let ge=0;ge<J.length;ge++)if(J[ge].text!==oe[ge].text)return!1;return!0};let L=fa(R),Q=0;for(;j(L,R)&&Q<20;)L=fa(R),Q+=1;return L})(P);g(T);try{if(typeof i=="function"){const O=T.filter((R,j)=>R.text===d(P[j])).length;i({shuffled:T,score:O,total:(P||[]).length,initial:!0,__ts:Date.now()})}if(typeof s=="function"&&C==="active"){const O=T.filter((R,j)=>R.text===d(P[j])).length;s({shuffled:T,score:O,total:(P||[]).length,initial:!0,__ts:Date.now()})}}catch{}},[l]);const f=(P,T)=>{const O=[...h],R=P+T;if(R<0||R>=O.length)return;const j=O[R];O[R]=O[P],O[P]=j,F(O);try{if(typeof s=="function"&&C==="active"){const L=O.filter((Q,J)=>Q.text===d(p[J])).length;s({shuffled:O,score:L,total:(p||[]).length,__ts:Date.now()})}}catch{}},[y,x]=o.useState(null),v=o.useRef(null),k=o.useRef(null),w=o.useRef(null),D=o.useRef(null),B=o.useRef(null),A=o.useRef({x:0,y:0}),N=o.useRef(null),M=o.useRef({dx:0,dy:0}),I=()=>{if(N.current!==null)return;const P=()=>{if(!v.current){N.current=null;return}N.current=requestAnimationFrame(P);const T=A.current,O=M.current||{dx:0,dy:0};v.current&&(v.current.style.transform=`translate3d(${T.x-O.dx}px, ${T.y-O.dy}px, 0)`)};N.current=requestAnimationFrame(P)},$=o.useRef(new Map),V=o.useRef(new Map),S=()=>{const P=new Map;return $.current.forEach((T,O)=>{T&&T.getBoundingClientRect&&P.set(O,T.getBoundingClientRect())}),P},F=P=>{const T=S();g(P);try{if(typeof i=="function"){const O=P.filter((R,j)=>R.text===d(p[j])).length;i({shuffled:P,score:O,total:(p||[]).length,__ts:Date.now()})}}catch{}requestAnimationFrame(()=>{const O=S();P.forEach(R=>{const j=T.get(R.id),L=O.get(R.id),Q=$.current.get(R.id);if(!Q||!j||!L)return;const J=j.top-L.top;J&&(Q.style.transition="none",Q.style.transform=`translateY(${J}px)`,requestAnimationFrame(()=>{Q.style.transition="transform 420ms cubic-bezier(.22,.9,.39,1)",Q.style.transform="";const oe=()=>{Q.style.transition="",Q.removeEventListener("transitionend",oe)};Q.addEventListener("transitionend",oe)}))})})},z=(P,T)=>{try{try{T.dataTransfer?.setData("text/plain",String(P))}catch{}try{T.dataTransfer&&(T.dataTransfer.effectAllowed="move")}catch{}try{const O=document.createElement("div");O.style.cssText="position:absolute;top:-9999px;left:-9999px;width:1px;height:1px;opacity:0;pointer-events:none;",document.body.appendChild(O),T.dataTransfer?.setDragImage(O,0,0),requestAnimationFrame(()=>{try{document.body.removeChild(O)}catch{}})}catch{}}catch{}x(P);try{const O=h[P],R=document.createElement("div");R.className="order-list__dragging-object order-list__dragging-object--visible",R.textContent=O&&O.text?O.text:"",document.body.appendChild(R),v.current=R;const j=$.current.get(O.id);let L=T.clientX||0,Q=T.clientY||0;try{if(j&&j.getBoundingClientRect){const ie=j.getBoundingClientRect();L=ie.left+ie.width/2,Q=ie.top+ie.height/2}}catch{}const J=R.getBoundingClientRect(),oe=J.width/2,ge=J.height/2;M.current={dx:oe,dy:ge},R.style.transition="none",A.current={x:L,y:Q},R.style.transform=`translate3d(${L-oe}px, ${Q-ge}px, 0)`,requestAnimationFrame(()=>{try{R.style.transition=""}catch{}I()});const Me=ie=>{const q=ie;A.current={x:q.clientX,y:q.clientY},I()};w.current=Me,document.addEventListener("mousemove",Me);const Ne=ie=>{const q=ie;A.current={x:q.clientX,y:q.clientY},I()};k.current=Ne,document.addEventListener("dragover",Ne);try{T.dataTransfer?.setData("text/plain",String(P));try{T.dataTransfer?.setData("application/json",JSON.stringify({idx:P}))}catch{}}catch{}}catch{}},Y=(P,T)=>{T.preventDefault();try{T.dataTransfer&&(T.dataTransfer.dropEffect="move")}catch{}try{B.current!==null&&(clearTimeout(B.current),B.current=null);const O=T.currentTarget&&T.currentTarget.closest?T.currentTarget.closest(".order-list__item"):null;if(O&&D.current!==O){if(D.current)try{D.current.classList.remove("drag-over")}catch{}try{O.classList.add("drag-over")}catch{}D.current=O}}catch{}},U=(P,T)=>{T.preventDefault();const O=T.dataTransfer?.getData("text/plain")||"",R=O?parseInt(O,10):y,j=P;if(typeof R!="number"||isNaN(R)||R===j){x(null),Z(),G();return}const L=c2(h,R,j);F(L),x(null),G();try{if(typeof s=="function"&&C==="active"){const Q=L.filter((J,oe)=>J.text===d(p[oe])).length;s({shuffled:L,score:Q,total:(p||[]).length,__ts:Date.now()})}}catch{}try{requestAnimationFrame(()=>{const Q=document.querySelectorAll(".order-list .order-list__item")[j];if(!Q)return;const J=Q.querySelector(".order-list__slot")||Q;try{J.classList.add("pulse"),J.offsetHeight,J.classList.add("to-dark");const oe=()=>{J.classList.remove("pulse","to-dark"),J.removeEventListener("transitionend",oe)};J.addEventListener("transitionend",oe)}catch{}})}catch{}Z()},G=()=>{if(v.current){try{document.body.removeChild(v.current)}catch{}v.current=null}k.current&&(document.removeEventListener("dragover",k.current),k.current=null),w.current&&(document.removeEventListener("mousemove",w.current),w.current=null),N.current!==null&&(cancelAnimationFrame(N.current),N.current=null)},W=()=>{x(null),Z(),G()};o.useEffect(()=>()=>G(),[]);const Z=()=>{try{if(B.current!==null&&(clearTimeout(B.current),B.current=null),D.current){try{D.current.classList.remove("drag-over")}catch{}D.current=null}document.querySelectorAll(".order-list .order-list__item").forEach(P=>P.classList.remove("drag-over"))}catch{}};return o.useEffect(()=>{try{const P=Math.max(1,(h||[]).length);h.forEach((T,O)=>{const R=V.current.get(T.id);if(!R)return;let j=50;P>1&&(j=Math.round(O/(P-1)*100));try{R.style.setProperty("--marker-pos",j+"%")}catch{}})}catch{}},[h]),o.useEffect(()=>()=>{G(),B.current!==null&&(clearTimeout(B.current),B.current=null)},[]),n.jsx(Vn,{index:e,stepIndex:t,isLast:a,title:u,children:n.jsx("div",{className:"order-list",children:h.map((P,T)=>{const O=Math.max(1,(h||[]).length),R=O>1?Math.round(T/(O-1)*100):50;return n.jsx("div",{className:"order-list__item",children:n.jsxs("div",{className:"order-list__slot","data-disabled":C==="disabled","aria-disabled":C==="disabled",children:[C!=="disabled"?n.jsx("div",{className:"order-list__marker caption-1",style:{"--marker-pos":R+"%"},ref:j=>{const L=V.current;j?L.set(P.id,j):L.delete(P.id)},children:n.jsx("span",{className:"order-list__slot-number button-1",children:T+1})}):null,n.jsxs("div",{ref:j=>{const L=$.current;j?L.set(P.id,j):L.delete(P.id)},className:`order-list__draggable ${y===T?"dragging":""}`,"data-disabled":C==="disabled","aria-disabled":C==="disabled",tabIndex:C==="disabled"?-1:0,draggable:b,onDragStart:b?j=>z(T,j):void 0,onDragEnter:b?j=>Y(T,j):void 0,onDragOver:b?j=>Y(T,j):void 0,onDragLeave:b?()=>{try{B.current!==null&&clearTimeout(B.current),B.current=setTimeout(()=>{try{const j=document.querySelectorAll(".order-list .order-list__item");j&&j[T]&&(j[T].classList.remove("drag-over"),D.current===j[T]&&(D.current=null))}catch{}},80)}catch{}}:void 0,onDrop:b?j=>U(T,j):void 0,onDragEnd:b?W:void 0,children:[n.jsx("span",{className:"order-list__item-text body-2",children:P.text}),b?n.jsxs("span",{className:"order-list__item-buttons",children:[n.jsx(ce,{htmlType:"button",size:32,type:"dot",onClick:()=>f(T,-1),ariaLabel:c("training.up"),icon:"chevron-up",variant:"transparent-gray",width:48,useFaded:"true",disabled:T===0,useBorder:!1,useDisabledInvisible:!0}),n.jsx(ce,{htmlType:"button",size:32,type:"dot",onClick:()=>f(T,1),ariaLabel:c("training.down"),icon:"chevron-down",variant:"transparent-gray",width:48,useFaded:"true",disabled:T===h.length-1,useBorder:!1,useDisabledInvisible:!0})]}):null]})]})},P.id)})})})}const E5=8e3;function T5(e,t){return new Promise(a=>{let r=!1;const s=()=>{r||(r=!0,a())};e.then(s,s),setTimeout(s,t)})}function Wc({index:e,stepIndex:t,isLast:a=!1,title:r,onDone:s,onChange:i,context:l=[],selectable:c=!1,hideLabel:u=!1,hideAudio:d=!1,maxCards:p}){const{t:m}=fe.useTranslation(),h=r??m("training.cardInstructions","\uB0B1\uB9D0 \uCE74\uB4DC\uB97C \uBCF4\uACE0 \uC18C\uB9AC\uB97C \uB4E3\uACE0 \uD655\uC778\uD558\uC138\uC694."),g=o.useMemo(()=>Array.isArray(l)?l:l&&l.items||[],[l]),C=p??3,b=(g||[]).slice(0,C);(g||[]).length>C&&console.warn(`TrainingStepCard: ${g.length} items passed but only ${C} shown`);const _=typeof e=="number"?e:-1,f=typeof t!="number"?"disabled":_<t?"done":_===t?"active":"disabled",[y,x]=o.useState(null),v=o.useRef([]),[k,w]=o.useState(!1),D=o.useRef(null),B=o.useRef(!0);o.useEffect(()=>(B.current=!0,()=>{B.current=!1}),[]);const A=o.useMemo(()=>g.map(V=>V?.id??V?.word??"").join("|"),[g]);o.useEffect(()=>{x(null)},[A]);const N=o.useRef(void 0);o.useEffect(()=>{const V=N.current;typeof V=="number"&&typeof t=="number"&&typeof e=="number"&&V>=e&&t<e&&x(null),N.current=t},[t,e]);const M=o.useCallback((V,S)=>{if(c)return;const F={item:V,index:S,__ts:Date.now()};try{typeof i=="function"&&i(F)}catch{}if(f==="active"&&typeof s=="function")try{s(F)}catch{}},[c,i,f,s]),I=o.useCallback(async()=>{if(k||f==="disabled")return;w(!0);let V=!1;const S=new Promise(F=>{D.current=()=>{V=!0,F()}});try{for(let F=0;F<b.length&&!(!B.current||V);F++){const z=v.current[F];z&&await Promise.race([T5(z.play(),E5),S])}}finally{D.current=null,w(!1)}},[k,f,b.length]),$=o.useCallback((V,S)=>{if(f!=="active")return;x(S);const F={selectedValue:V.word||V.title||"",selectedIndex:S,item:V,__ts:Date.now()};try{typeof i=="function"&&i(F)}catch{}if(f==="active"&&typeof s=="function")try{s(F)}catch{}},[i,f,s]);return n.jsx(Vn,{index:e,stepIndex:t,isLast:a,title:h,onDone:s,titleProps:{usePlayAllBtn:!d&&b.length>0,onPlayAll:I,playAllActive:k},children:n.jsx("div",{className:"training-step__cards",onClickCapture:V=>{const S=D.current;if(!S)return;const F=V.target;F&&typeof F.closest=="function"&&F.closest(".training-word-card__bottom")&&S()},children:b.length===0?n.jsx("div",{className:"training-step__empty",children:m("training.noCards","\uCE74\uB4DC\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.")}):b.map((V,S)=>n.jsx(ho,{ref:F=>{v.current[S]=F},item:V,disabled:f==="disabled",onPlayDone:()=>M(V,S),selectable:c,selected:c&&y===S,onSelect:c?()=>$(V,S):void 0,flipDelay:S*120,hideLabel:u,hideAudio:d},V&&V.id||S))})})}const j5=160,M5={\uBCF4\uCCAD\uAE30:"hearingAid",\uC778\uACF5\uC640\uC6B0:"cochlearImplant"};function L5(e,t){const a=M5[e];return a?t(`device.type.${a}`,{defaultValue:e}):e}const qc=()=>{};function Sn(e){const t=o.useId();if(!("variant"in e)){const{label:f,sub:y,onClick:x,children:v,align:k="horizontal",icon:w}=e,D=B=>{x&&B.target===B.currentTarget&&(B.key==="Enter"||B.key===" ")&&(B.preventDefault(),x())};return n.jsxs("div",{className:Be("panel-row",k==="vertical"?"panel-row--vertical":"",x?"panel-row--clickable":""),onClick:x,onKeyDown:x?D:void 0,role:x?"button":void 0,tabIndex:x?0:void 0,children:[w!=null&&n.jsx("div",{className:"panel-row__icon",children:w}),f!=null&&n.jsxs("div",{className:"panel-row__left",children:[n.jsx("div",{className:"panel-row__label body-3",children:f}),y&&n.jsx("div",{className:"panel-row__sub caption-1",children:y})]}),n.jsx("div",{className:"panel-row__right",children:v})]})}if(e.variant==="description")return n.jsx("div",{className:"panel-row panel-row--block",children:n.jsx("p",{className:"panel-row__description body-3",children:e.children})});if(e.variant==="empty")return n.jsx("div",{className:"panel-row panel-row--empty body-3",children:e.children});if(e.variant==="loading")return n.jsx("div",{className:"panel-row panel-row--loading",children:n.jsx(Ba,{size:28})});if(e.variant==="custom"&&!e.label)return n.jsx("div",{className:"panel-row panel-row--block",children:e.children});const{variant:a,label:r,sub:s,onClick:i,required:l,error:c,align:u="horizontal",useFullWidth:d=!1,icon:p}=e,m=a==="button"?void 0:i;let h=null;const g=a==="toggle"?`panel-toggle-${t}`:void 0,C=c?`panel-error-${t}`:void 0;if(a==="toggle"){const f=e;h=n.jsx(El,{checked:f.checked,onChange:f.onChange,id:g})}else if(a==="segmented"){const f=e;h=n.jsx(Hn,{options:f.options,value:f.value,onChange:f.onChange,size:f.size??40,ariaLabel:r})}else if(a==="dropdown"){const f=e,y=f.dropdowns?.length?n.jsx("div",{className:`panel-row__dropdown-group${d?" panel-row__dropdown-group--full":""}`,children:f.dropdowns.map((x,v)=>n.jsx("div",{className:d?"panel-row__dropdown-item--full":void 0,children:n.jsx(tn,{options:x.options,value:x.value,onChange:x.onChange,placeholder:x.placeholder,block:d,error:!!c,ariaDescribedBy:C,ariaLabel:x.ariaLabel??([r,x.placeholder].filter(Boolean).join(" ")||void 0)})},v))}):n.jsx(tn,{options:f.options??[],value:f.value??"",onChange:f.onChange??qc,block:d,error:!!c,ariaLabel:r,ariaDescribedBy:C});h=c?n.jsxs("div",{className:`panel-row__dropdown-error-wrap${d?" panel-row__dropdown-error-wrap--full":""}`,children:[y,n.jsx("span",{id:C,className:"caption-1 panel-row__error",role:"alert",children:c})]}):y}else if(a==="button"){const f=e;f.buttons?.length?h=n.jsx("div",{className:"panel-row__button-group",children:f.buttons.map((y,x)=>n.jsx(ce,{htmlType:"button",size:y.btnSize??40,variant:y.btnVariant??"default",disabled:y.disabled,onClick:y.onClick,children:y.label},x))}):h=n.jsx(ce,{htmlType:"button",size:f.btnSize??40,variant:f.btnVariant??"default",disabled:f.disabled,onClick:f.onClick,children:f.buttonLabel})}else if(a==="text"){const f=e;h=n.jsx("span",{className:`panel-row__text body-2${d?" panel-row__text--full":""}`,style:f.valueColor?{color:f.valueColor}:void 0,children:f.value})}else if(a==="input"){const f=e;h=n.jsxs("div",{className:`panel-row__input-wrap${d?" panel-row__input-wrap--full":""}`,children:[n.jsx(On,{value:f.value,onChange:f.onChange??qc,onKeyDown:f.onKeyDown,onEnter:f.onEnter,placeholder:f.placeholder,inputMode:f.inputMode,readOnly:f.readOnly,disabled:f.disabled,type:f.type,autoComplete:f.autoComplete,maxLength:f.maxLength,showCount:f.showCount,multiline:f.multiline,rows:f.rows,fullWidth:d,error:c,ariaLabel:r,required:l}),f.helperText&&n.jsx("div",{className:"panel-row__helper caption-1",children:f.helperText})]})}else a==="custom"&&(h=e.children);c&&a!=="input"&&a!=="dropdown"&&(h=n.jsxs("div",{className:`panel-row__dropdown-error-wrap${d?" panel-row__dropdown-error-wrap--full":""}`,children:[h,n.jsx("span",{id:C,className:"caption-1 panel-row__error",role:"alert",children:c})]}));const b=a==="input"||a==="dropdown"||(a==="text"||a==="custom")&&d,_=f=>{m&&f.target===f.currentTarget&&(f.key==="Enter"||f.key===" ")&&(f.preventDefault(),m())};return n.jsxs("div",{className:Be("panel-row",u==="vertical"?"panel-row--vertical":"",b?"panel-row--label-fixed":"",a==="text"?"panel-row--text":"",m?"panel-row--clickable":""),onClick:m,onKeyDown:m?_:void 0,role:m?"button":void 0,tabIndex:m?0:void 0,children:[p!=null&&n.jsx("div",{className:"panel-row__icon",children:p}),n.jsxs("div",{className:"panel-row__left",children:[g?n.jsxs("label",{htmlFor:g,className:"panel-row__label body-3",children:[r,l&&n.jsx("span",{className:"required-mark",children:"*"})]}):n.jsxs("div",{className:"panel-row__label body-3",children:[r,l&&n.jsx("span",{className:"required-mark",children:"*"})]}),s&&n.jsx("div",{className:"panel-row__sub caption-1",children:s})]}),n.jsx("div",{className:"panel-row__right",children:h})]})}function Uc(e){const t=e.productName||e.brand,a=[e.brand,e.fitType].filter(r=>!!r&&r!==t);return[...new Set(a)].join(" \xB7 ")}function $5({devices:e,onRelease:t,emptyLabel:a}){const{t:r}=fe.useTranslation();return n.jsx("div",{className:"panel-row panel-row--device",children:["\uC88C","\uC6B0"].map(s=>{const i=e[s],l=s==="\uC88C"?r("device.direction.left","\uC88C"):r("device.direction.right","\uC6B0");return n.jsxs("div",{className:"panel-row__device-column",children:[n.jsxs("div",{className:"panel-row__device-head",children:[n.jsx("span",{className:"panel-row__device-side body-2b",children:l}),i&&t&&n.jsx(ce,{htmlType:"button",size:32,type:"dot",icon:"x",ariaLabel:`${l} ${r("customers.device.unwear","\uCC29\uC6A9 \uD574\uC81C")}`,showTooltipInfo:r("customers.device.unwear","\uCC29\uC6A9 \uD574\uC81C"),onClick:()=>t(s)})]}),i?n.jsxs("div",{className:"panel-row__device-info",children:[n.jsxs("span",{className:"panel-row__device-kind",children:[i.device&&n.jsx(pt,{size:"small",variant:Kl(i.device),fill:"soft",label:L5(i.device,r)}),Uc(i)&&n.jsx("span",{className:"panel-row__device-detail body-3",children:Uc(i)})]}),n.jsx("span",{className:"panel-row__device-name body-2b",children:i.productName||i.brand}),co(i.wornYear,i.wornMonth,i.wornDay)&&n.jsx("span",{className:"panel-row__device-date caption-1",children:r("customers.device.wornSince",{date:co(i.wornYear,i.wornMonth,i.wornDay)})})]}):n.jsx("span",{className:"panel-row__device-empty body-3",children:a??r("customers.device.notRegistered","\uBBF8\uB4F1\uB85D")})]},s)})})}function or({title:e,icon:t,disc:a,actions:r,size:s="medium",minHeight:i,maxWidth:l,className:c,scrollable:u,scrollbarGutter:d="auto",compactRows:p=!1,useBorder:m=!0,useBg:h=!0,useRowBorder:g=!0,labelWidth:C,form:b=!1,loading:_,empty:f,children:y}){const x=Be("panel",`panel--${s}`,b?"panel--form":"",i!==void 0?"panel--fill":"",m?"":"panel--no-border",h?"":"panel--no-bg",g?"":"panel--no-row-border",p?"panel--compact-rows":"",c),v={};return i!==void 0&&(v.minHeight=i),l!==void 0&&(v.maxWidth=typeof l=="number"?`${l}px`:l),C!==void 0&&(v["--panel-label-width"]=typeof C=="number"?`${C}px`:C),n.jsxs("div",{className:x,style:Object.keys(v).length?v:void 0,children:[(e!=null||a!=null)&&n.jsxs("div",{className:Be("panel__header",a!=null?"panel__header--with-disc":""),children:[t&&n.jsx(Ge,{icon:t,label:typeof e=="string"?e:void 0,className:"panel__icon"}),n.jsxs("div",{className:"panel__title-group",children:[e!=null&&n.jsx("h2",{className:`panel__title ${a!=null?"body-3b":"h5b"}`,children:e}),a!=null&&n.jsx("p",{className:"panel__disc caption-1",children:a})]}),r&&n.jsx("div",{className:"panel__actions",children:r})]}),_?n.jsx(Sn,{variant:"loading"}):f!=null&&o.Children.toArray(y).length===0?n.jsx(Sn,{variant:"empty",children:f}):u?n.jsx("div",{className:Be("panel__body--scroll",d==="stable"&&"panel__body--gutter-stable"),children:y}):y]})}function R5({cols:e=2,children:t}){return n.jsx("div",{className:"panel-grid",style:{"--panel-grid-cols":e},children:t})}function P5(e){return[{label:e("training.noise.level.none","\uC5C6\uC74C"),value:0},{label:e("training.noise.level.weak","\uC57D\uD568"),value:1},{label:e("training.noise.level.medium","\uBCF4\uD1B5"),value:2},{label:e("training.noise.level.strong","\uAC15\uD568"),value:3},{label:e("training.noise.level.veryStrong","\uB9E4\uC6B0 \uAC15\uD568"),value:4}]}function Gc(e){return[{label:e("training.noise.type.default","\uAE30\uBCF8"),value:"defaultNoise",icon:"party-popper"},{label:e("training.noise.type.street","\uAE38\uAC70\uB9AC"),value:"street",icon:"car"},{label:e("training.noise.type.buzz","\uC640\uAE00\uC640\uAE00"),value:"buzz",icon:"message-square-more"},{label:e("training.noise.type.restaurant","\uC2DD\uB2F9"),value:"restaurant",icon:"coffee"}]}P5(wt.t.bind(wt)),Gc(wt.t.bind(wt));const $o="none",I5=.5,F5=1.5,O5=.25;function Ro({title:e,valueLabel:t,value:a,min:r,max:s,step:i,tickStep:l,size:c,onChange:u}){return n.jsxs(Sn,{variant:"custom",label:e,useFullWidth:!0,children:[n.jsx(zl,{value:a,onChange:u,min:r,max:s,step:i,size:c,showBgTick:!0,tickStep:l,ariaLabel:e,className:"noise-settings__slider-input"}),n.jsx("div",{className:"noise-settings__value button-1",children:t})]})}function Kc({anchorRect:e,onClose:t}){const{t:a}=fe.useTranslation(),r=en("(max-width: 767px)")?40:24,s=nr(),i=Da(s?.settings??Ea),l=s?.settings.type??"defaultNoise",c=s?.settings.enabled??!0,u=s?.playbackRate??1,d=s?.mainVolume??1,p=Math.round(d*100),m=o.useCallback(b=>{try{s?.setMainVolume(Math.max(0,Math.min(1,b/100)))}catch{}},[s]),h=o.useCallback(b=>{try{s?.setPlaybackRate(b)}catch{}},[s]),g=o.useCallback(b=>{const _=Math.min(Na,Math.max(0,Math.round(b*10)/10));try{s?.setSettings({noiseRatio:_})}catch{}},[s]),C=o.useCallback(b=>{try{b===$o?s?.setSettings({enabled:!1}):s?.setSettings({type:b,enabled:!0})}catch{}},[s]);return n.jsx(An,{anchorRect:e,offset:12,onClose:t,ariaLabel:a("training.trainingSettingsTitle","\uD6C8\uB828 \uC124\uC815"),isMobilePopup:!1,closeOnOutsideClick:!1,header:n.jsxs("div",{className:"noise-settings__header",children:[n.jsx("span",{children:a("training.trainingSettingsTitle","\uD6C8\uB828 \uC124\uC815")}),n.jsx(ce,{htmlType:"button",size:40,type:"dot",icon:"x",variant:"transparent-gray",useBorder:!1,ariaLabel:a("common.close","\uB2EB\uAE30"),onClick:t})]}),children:n.jsxs(or,{className:"noise-settings",useBorder:!1,labelWidth:72,children:[n.jsx(Ro,{title:a("training.playVolumeTitle","\uC804\uCCB4 \uC18C\uB9AC"),valueLabel:`${p}%`,value:p,min:0,max:100,step:10,size:r,onChange:m}),n.jsx(Ro,{title:a("training.playSpeedTitle","\uC7AC\uC0DD \uC18D\uB3C4"),valueLabel:`${u.toFixed(2)}x`,value:u,min:I5,max:F5,step:O5,size:r,onChange:h}),n.jsx(Sn,{variant:"custom",label:a("training.noiseTypeTitle","\uC18C\uC74C \uC885\uB958"),useFullWidth:!0,children:n.jsx(Hn,{ariaLabel:a("training.noiseTypeTitle","\uC18C\uC74C \uC885\uB958"),size:40,shape:"rounded",options:[{key:$o,label:a("training.noise.type.none","\uC5C6\uC74C")},...Gc(a).map(b=>({key:b.value,label:b.label}))],value:c?l:$o,onChange:C})}),n.jsx(Ro,{title:a("training.noiseRatioTitle","\uC18C\uC74C \uBE44\uC728"),valueLabel:a("training.noiseRatioValue","{{ratio}}\uBC30",{ratio:i.toFixed(1)}),value:i,min:0,max:Na,step:jc,size:r,onChange:g})]})})}function Yc({useNoiseSettingBtn:e=!1,onSettings:t,onNext:a,onResult:r,stepIndex:s=0,stepCount:i=0,pageIndex:l=0,pageCount:c=1}){const{t:u}=fe.useTranslation(),[d,p]=o.useState(!1),[m,h]=o.useState(null),[g,C]=o.useState(!1),b=o.useRef(null),_=o.useRef(null),f=nr(),y=c>0,x=y&&l<c-1,v=!y||l>=c-1,k=s===Math.max(0,i);o.useEffect(()=>{e||(p(!1),h(null))},[e]);const w=o.useCallback(()=>{p(!1),h(null)},[]),D=o.useCallback(()=>{if(d){p(!1),h(null);return}const N=b?.current?.getBoundingClientRect();N&&h(N),t?.(),p(!0)},[d,t]),B=o.useCallback(()=>{if(d){p(!1),h(null);return}const N=_?.current?.getBoundingClientRect();N&&h(N),t?.(),p(!0)},[d,t]),A=o.useCallback(()=>C(N=>!N),[]);return Hc(e&&d,()=>typeof document<"u"?document.querySelector(".noise-settings__header")?.closest(".tooltip-content")??null:null,()=>[b.current,_.current].map(N=>N?.querySelector("button")??null).find(N=>!!N&&N.getClientRects().length>0)??b.current?.querySelector("button")??null),n.jsxs("div",{className:"pp-bottom",children:[n.jsxs("div",{className:"pp-bottom__left",children:[e?n.jsxs(n.Fragment,{children:[n.jsx("div",{className:"pp-bottom__settings--desktop",children:n.jsx("div",{ref:b,className:"pp-bottom__tooltip-trigger","data-tooltip-ignore":!0,children:n.jsx(ce,{htmlType:"button",size:56,type:"bar",icon:"settings",onClick:D,className:d?"is-selected":void 0,"aria-expanded":d,"aria-haspopup":"dialog",ariaLabel:u("training.trainingSettingsTitle","\uD6C8\uB828 \uC124\uC815"),label:u("training.trainingSettingsTitle","\uD6C8\uB828 \uC124\uC815"),minWidth:140})})}),n.jsx("div",{className:"pp-bottom__settings--mobile",children:n.jsx("div",{ref:_,className:"pp-bottom__tooltip-trigger","data-tooltip-ignore":!0,children:n.jsx(ce,{htmlType:"button",size:56,type:"dot",icon:"settings",onClick:B,className:d?"is-selected":void 0,"aria-expanded":d,"aria-haspopup":"dialog",ariaLabel:u("training.settings","\uC124\uC815"),minWidth:52})})})]}):null,e&&n.jsx(ce,{htmlType:"button",size:40,type:"dot",shape:"pill",icon:"audio-lines",onClick:A,selected:g,ariaLabel:u("training.meter.toggle","\uC624\uB514\uC624 \uBBF8\uD130 \uD45C\uC2DC")}),e&&g&&n.jsxs("div",{className:"pp-bottom__meters",children:[n.jsxs("div",{className:"pp-bottom__meter",children:[n.jsx("span",{className:"pp-bottom__meter-label caption-1",children:u("training.meter.sentence","\uC7AC\uC0DD")}),n.jsx(so,{analyser:f?.mainAnalyser??null,orientation:"horizontal",length:112,label:"db",labelPos:"left",ariaLabel:u("training.meter.sentence","\uC7AC\uC0DD")})]}),n.jsxs("div",{className:"pp-bottom__meter",children:[n.jsx("span",{className:"pp-bottom__meter-label caption-1",children:u("training.meter.noise","\uC18C\uC74C")}),n.jsx(so,{analyser:f?.noiseAnalyser??null,orientation:"horizontal",length:112,label:"db",labelPos:"left",ariaLabel:u("training.meter.noise","\uC18C\uC74C")})]})]})]}),n.jsxs("div",{className:"pp-bottom__right",children:[v&&n.jsx(ce,{htmlType:"button",size:56,type:"bar",icon:"check",onClick:typeof r=="function"?r:a,ariaLabel:u("training.viewResult","\uACB0\uACFC\uBCF4\uAE30"),label:u("training.viewResult","\uACB0\uACFC\uBCF4\uAE30"),variant:"main",disabled:!k}),x&&n.jsx(ce,{htmlType:"button",size:56,type:"bar",rightIcon:"chevron-right",align:"right",onClick:a,ariaLabel:u("training.nextQuestion","\uB2E4\uC74C \uBB38\uC81C"),label:u("training.nextQuestion","\uB2E4\uC74C \uBB38\uC81C"),variant:"main",disabled:!k})]}),e&&d&&n.jsx(Kc,{anchorRect:m,onClose:w})]})}function Zc({title:e,subtitle:t,desc:a,depth:r,icon:s,wrapperStyle:i,iconTooltip:l,pageIndex:c,pageCount:u,progressMax:d,progressIndex:p,onBack:m,onClose:h}){const{t:g}=fe.useTranslation(),C=en("(max-width: 767px)"),b=Number.isInteger(p)?p:c||0,_=Number.isInteger(d)?d:u||0,f=m||h,y=Array.isArray(r)?C?r[r.length-1]:r.join(" / "):r,x=typeof e=="string"?e.trim():e,v=typeof t=="string"?t.trim():t,k=!!(x||v),w=k?x||v:g("common.emptyTrainingName","\uD6C8\uB828 \uC774\uB984\uC774 \uBE44\uC5B4 \uC788\uC2B5\uB2C8\uB2E4."),D=y||(x?t:void 0),B=C&&typeof D=="string"&&(D.includes(" \xB7 ")||D.includes(" / "))?D.split(/\s[·/]\s/).pop():D,A=o.useMemo(()=>{const N=i&&typeof i=="object"?{...i}:{};return!("width"in N)&&!("height"in N)&&(N.width="40px",N.height="40px"),N},[i]);return n.jsxs("header",{className:"pp-title training-popup-title",children:[n.jsxs("div",{className:"pp-title__left",children:[f?n.jsx(ce,{htmlType:"button",size:48,type:"dot",icon:"chevron-left",ariaLabel:g("common.back","\uB4A4\uB85C"),onClick:f,useBorder:!1,iconSize:"large",iconColor:"--color-black",variant:"transparent-gray"}):null,n.jsx("div",{children:s?n.jsx(Xl,{icon:s,label:e,tooltip:l,wrapperStyle:A}):null}),n.jsxs("div",{className:"pp-title__text",children:[B?n.jsx("span",{className:"pp-title__depth caption-1",children:B}):null,n.jsx("span",{className:`pp-title__title h2${k?"":" pp-title__title--empty"}`,children:w}),a?n.jsx("span",{className:"pp-title__description caption-1",children:a}):null]})]}),n.jsx(Gl,{max:Math.max(0,_??0),index:Math.max(0,b??0)})]})}function H5(){typeof window<"u"&&window.dispatchEvent(new CustomEvent("speechear.popup.close"))}function V5(e){return!e&&e!==0?[]:Array.isArray(e)?e.flatMap(t=>typeof t=="string"?t.split("|").map(a=>a.trim()).filter(Boolean):t||t===0?[String(t)]:[]):typeof e=="string"?e.split("|").map(t=>t.trim()).filter(Boolean):[String(e)]}const Xc=(e,t)=>{if(!t)return t;const a=typeof wt?.t=="function"?wt.t(e,{defaultValue:t}):void 0;return typeof a=="string"&&a?a:t};function Jc(e,t,a){const r=e,s=r?.title||r?.name||(Array.isArray(t)?t[t.length-1]:void 0)||a||"\uD6C8\uB828",i=oi().find(c=>c.key===(r?.category_0||r?.category_main_code)),l=i?.subs?.find(c=>c.key===(r?.category_1||r?.category_sub_code));return{title:s,label:r?.title||s,depth:t,icon:i?.icon,wrapperStyle:i?.color?{"--t-item-fg":i.color}:void 0,iconTooltip:[i?Xc(`topic.${i.key}`,i.label):void 0,l?Xc(`topic.sub.${l.key}`,l.label):void 0].filter(Boolean).join(" / ")||void 0}}function Po(e){return e&&typeof e=="object"&&typeof e.__ts=="number"?e.__ts:0}function z5(e){const t=e;return Array.isArray(t?.items)?t.items:Array.isArray(e)?e:e?[e]:[]}function W5({idPrefix:e,trainingData:t,depth:a,fallbackTitle:r="\uD6C8\uB828",pages:s=[],emptyMessage:i,buildResults:l,metaPatch:c}){const u=Jc(t,a,r),d=typeof c=="function"?c(u)||{}:c||{},p=t?.id||t?.title||s.length;return{id:`${e}:${p}`,meta:{...u,...d},pages:s,emptyMessage:i,buildResults:l}}function q5(e){if(typeof e=="string")return e;if(e&&typeof e=="object"){const t=e;return t.context||t.sentence||t.question||""||""}return""}function U5(e){if(e&&typeof e=="object"){const t=e;if(Array.isArray(t.selectedValues))return t.selectedValues;if(t.selectedValue!==void 0)return t.selectedValue;if(t.selectedIndex!==void 0)return t.selectedIndex;if(t.value!==void 0)return t.value}return e}function G5(e,t=[]){if(Array.isArray(e))return e.join(", ");if(typeof e=="number"&&Array.isArray(t))return String(t[e]??"");if(typeof e=="string")return e}function Qc(e,t){if(!(!e||typeof e!="object"))return e[`step-${t}`]}function K5(e,t,a,r){return Qc(e,t*a+r)}function Y5({payload:e,selected:t,choices:a=[],correctAnswers:r=[]}){if(e&&typeof e=="object"){const s=e;if(Array.isArray(s.selectedValues))return r.every(i=>s.selectedValues.includes(i))&&s.selectedValues.every(i=>r.includes(i));if(typeof s.correct=="boolean")return s.correct}if(r.length){if(typeof t=="number"&&Array.isArray(a)&&a.length)return r.some(s=>String(s)===String(a[t]));if(typeof t<"u")return r.some(s=>String(s)===String(t))}}function Z5(e){return e?Array.isArray(e.items)?e.items.map(t=>{const a=t;return typeof t=="string"?{sentence:t}:{sentence:a.context||a.sentence||"",contextCode:a.contextCode||a.context_code}}):Array.isArray(e.sentences)?e.sentences.map(t=>{const a=t;return typeof t=="string"?{sentence:t}:{sentence:a.sentence||a.context||"",contextCode:a.contextCode}}):Array.isArray(e.contexts)?e.contexts:e.contextCode?[{contextCode:e.contextCode}]:[]:[]}const eu=o.createContext(null);function X5(){const e=o.useContext(eu);if(!e)throw new Error("useTrainingPagePopupContext must be used inside TrainingPagePopup");return e}function J5({index:e,stepIndex:t,isLast:a=!1,title:r,choices:s=[],onDone:i,onChange:l}){const{t:c}=fe.useTranslation(),u=typeof e=="number"?e:-1,d=typeof t!="number"?"disabled":u<t?"done":u===t?"active":"disabled",[p,m]=o.useState(()=>s.map(()=>null)),h=JSON.stringify(s),g=s.length;o.useEffect(()=>{m(Array.from({length:g},()=>null))},[h]);const C=o.useRef(void 0);o.useEffect(()=>{const y=C.current;typeof y=="number"&&typeof t=="number"&&typeof e=="number"&&y>=e&&t<e&&m(Array.from({length:g},()=>null)),C.current=t},[t,e,g]);const b=o.useMemo(()=>p.filter(y=>y!==null).length+1,[p]),_=o.useCallback(y=>{if(d!=="active")return;const x=p;let v;if(x[y]!=null){const w=x[y];v=x.map(D=>D!==null&&D>=w?null:D)}else v=[...x],v[y]=b;m(v);const k={selectedOrder:v,words:s,__ts:Date.now()};try{typeof l=="function"&&l(k)}catch{}if(x[y]==null&&v.length>0&&v.every(w=>w!==null))try{typeof i=="function"&&i(k)}catch{}},[d,p,b,l,i,s]),f=r??c("training.selectInOrder","\uB4E4\uC740 \uC21C\uC11C\uB300\uB85C \uCE74\uB4DC\uB97C \uC120\uD0DD\uD558\uC138\uC694.");return n.jsx(Vn,{index:e,stepIndex:t,isLast:a,title:f,onDone:i,children:n.jsx("div",{className:"training-step__cards",children:s.map((y,x)=>n.jsx(ho,{item:{word:y},disabled:d==="disabled",selectable:!0,selected:p[x]!==null,orderRank:p[x],onSelect:()=>_(x),flipDelay:x*120,hideLabel:!1,hideAudio:!0},`${y}-${x}`))})})}function sr(e){return null}sr.__isTrainingPage=!0;function ia(e,t){const a=X5();return{ctx:a,index:e,stepIndex:a.currentStepIndex,isLast:typeof e=="number"&&typeof t=="number"?e===t-1:!1,onDone:r=>a.handleStepDone(r,e),onChange:r=>a.handleStepChange(r,e)}}function tu({_stepIndex:e,_totalSteps:t,...a}){const{index:r,stepIndex:s,isLast:i,onDone:l}=ia(e,t);return n.jsx(Mo,{...a,index:r,stepIndex:s,isLast:i,onDone:l})}function nu({_stepIndex:e,_totalSteps:t,...a}){const{index:r,stepIndex:s,isLast:i,onDone:l,onChange:c}=ia(e,t);return n.jsx(To,{...a,index:r,stepIndex:s,isLast:i,onDone:l,onChange:c})}function au({_stepIndex:e,_totalSteps:t,...a}){const{index:r,stepIndex:s,isLast:i,onDone:l,onChange:c}=ia(e,t);return n.jsx(jo,{...a,index:r,stepIndex:s,isLast:i,onDone:l,onChange:c})}function ru({_stepIndex:e,_totalSteps:t,...a}){const{index:r,stepIndex:s,isLast:i,onDone:l,onChange:c}=ia(e,t);return n.jsx(Lo,{...a,index:r,stepIndex:s,isLast:i,onDone:l,onChange:c})}function ou({_stepIndex:e,_totalSteps:t,...a}){const{index:r,stepIndex:s,isLast:i,onDone:l,onChange:c}=ia(e,t);return n.jsx(Wc,{...a,index:r,stepIndex:s,isLast:i,onDone:l,onChange:c})}function Q5({_stepIndex:e,_totalSteps:t,...a}){const{index:r,stepIndex:s,isLast:i,onDone:l,onChange:c}=ia(e,t);return n.jsx(J5,{...a,index:r,stepIndex:s,isLast:i,onDone:l,onChange:c})}function Io(...e){for(const t of e)if(typeof t=="string"){const a=t.trim();if(a.length)return a}else{if(typeof t=="number"||typeof t=="boolean")return String(t);if(Array.isArray(t)&&t.length)return t.join(", ");if(t&&typeof t=="object"){const a=t,r=[a.text,a.label,a.value];for(const s of r){if(typeof s=="string"&&s.trim().length)return s.trim();if(typeof s=="number"||typeof s=="boolean")return String(s)}}}return null}function e3(e){return Io(e?.question,e?.q,e?.sentence,e?.text,e?.prompt,e?.wording)}function su(e){if(!e)return;if(typeof e.decision=="boolean")return e.decision;if(typeof e.correct=="boolean")return e.correct;if(typeof e.heard=="boolean")return e.heard;if(typeof e.judgement=="boolean")return e.judgement;const t=Io(e?.status,e?.result,e?.judge,e?.note);if(t){const a=t.toLowerCase();if(["ok","true","\uB9DE\uC74C","\uC815\uB2F5"].some(r=>a.includes(r)))return!0;if(["ng","false","\uD2C0\uB9BC","\uC624\uB2F5"].some(r=>a.includes(r)))return!1}}function iu(e){const{score:t,contextsLength:a,results:r=[],subtitle:s,onReplay:i,onClose:l,inline:c=!1,pending:u=!1}=e||{},{t:d}=fe.useTranslation(),p=o.useId(),m=o.useCallback(()=>!u,[u]);o.useEffect(()=>{const y=a??0;if(t!=null&&y>0&&t/y>.5){const x=window.setTimeout(()=>{window.dispatchEvent(new CustomEvent("party:trigger",{detail:{count:140,strength:1.6,duration:2200}}))},0);return()=>window.clearTimeout(x)}},[t,a]);const h=o.useCallback(y=>{const x=su(y),v=Io(y?.wording,y?.label);return x===!0?{variant:"main",label:v??d("training.result.heardWell","\uC798 \uB4E4\uC5C8\uC5B4\uC694")}:x===!1?{variant:"danger",label:v??d("training.result.notHeard","\uBABB \uB4E4\uC5C8\uC5B4\uC694")}:{variant:"disabled",label:v??d("training.result.notJudged","\uBBF8\uD310\uC815")}},[d]),g=a??0,C=t??0,b=o.useMemo(()=>Array.isArray(r)?r:[],[r]),_=o.useMemo(()=>b.map(y=>{const x=y??{},v=e3(x)||d("training.result.noContent","(\uB0B4\uC6A9\uC5C6\uC74C)"),{variant:k,label:w}=h(x),D=Array.isArray(x.corrects)?x.corrects:[],B=D.length?D.join(", "):x.answer!=null&&x.answer!==""?String(x.answer):null,A=typeof x.selectedText=="string"?x.selectedText:null,N=su(x)===!0;return{problem:v,variant:k,label:w,answer:B,selectedText:A,isCorrect:N}}),[b,h,d]),f=o.useMemo(()=>_.some(y=>y.answer!==null||y.selectedText!==null),[_]);return n.jsx(Dn,{onClose:l,closeOnBackdrop:!1,inline:c,ariaLabel:d("training.result.title","\uD6C8\uB828\uC744 \uBAA8\uB450 \uB9C8\uCCE4\uC2B5\uB2C8\uB2E4."),className:"popup--training-result",beforeClose:m,footerClassName:"trp-result__foot",footer:({animateThen:y,closeWithAnimation:x})=>n.jsxs(n.Fragment,{children:[u&&n.jsx("p",{id:p,className:"trp-actions__reason caption-1",role:"status",children:d("training.result.pendingDone","\uACB0\uACFC\uB97C \uACC4\uC0B0\uD558\uB294 \uC911\uC774\uB77C \uC544\uC9C1 \uC644\uB8CC\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.")}),n.jsxs("div",{className:"trp-actions",children:[n.jsx(ce,{htmlType:"button",size:56,type:"bar",label:d("training.result.replay","\uB2E4\uC2DC\uD558\uAE30"),onClick:()=>y(i)}),n.jsx(ce,{htmlType:"button",size:56,type:"bar",label:d("training.result.done","\uC644\uB8CC"),variant:"main",onClick:x,disabled:u,onDisabledClick:u?()=>{}:void 0,"aria-describedby":u?p:void 0})]})]}),children:()=>n.jsxs("div",{className:"trp-result is-on",children:[n.jsxs("header",{className:"trp-result__head",children:[n.jsx("p",{className:"trp-result__eyebrow caption-1",children:d("training.result.eyebrow","\uD6C8\uB828 \uC644\uB8CC")}),n.jsx("h1",{className:"trp-result__title h2",children:d("training.result.title","\uD6C8\uB828\uC744 \uBAA8\uB450 \uB9C8\uCCE4\uC2B5\uB2C8\uB2E4.")}),s&&n.jsx("p",{className:"trp-result__subtitle body-3",children:s}),n.jsx("div",{className:"trp-score",children:n.jsxs("div",{className:"trp-score__figure","aria-label":d("training.result.scoreAria",{correct:C,total:g}),children:[n.jsx("span",{className:"trp-score__big",children:C}),n.jsx("span",{className:"trp-score__sep",children:"/"}),n.jsx("span",{className:"trp-score__total",children:g})]})})]}),_.length>0&&n.jsx("section",{className:"trp-result__body",children:n.jsxs("div",{className:`result-table${f?" result-table--answer":""}`,role:"table","aria-label":d("training.result.tableAriaLabel","\uBB38\uD56D\uBCC4 \uD310\uC815"),children:[n.jsxs("div",{className:"result-table__head caption-1",role:"row",children:[n.jsx("span",{role:"columnheader",children:d("common.col.problem","\uBB38\uC81C")}),f&&n.jsx("span",{role:"columnheader",children:d("training.result.colAnswerSelected","\uC815\uB2F5 \xB7 \uC120\uD0DD")}),n.jsx("span",{className:"col-right",role:"columnheader",children:d("training.result.colJudge","\uD310\uC815")})]}),_.map((y,x)=>n.jsxs("div",{className:"result-table__row",role:"row",children:[n.jsxs("div",{className:"trp-row__problem",children:[n.jsx("span",{className:"trp-row__no caption-1",children:String(x+1).padStart(2,"0")}),n.jsx("div",{className:"trp-row__q body-2",children:y.problem})]}),f&&n.jsxs("div",{className:"trp-row__answers",children:[y.answer!==null&&n.jsxs("div",{className:"trp-row__answer-line",children:[n.jsx("span",{className:"trp-row__answer-label answer-correct caption-1",children:d("training.result.colAnswer","\uC815\uB2F5")}),n.jsx("span",{className:"trp-row__answer-value body-2",children:y.answer})]}),n.jsxs("div",{className:"trp-row__answer-line",children:[n.jsx("span",{className:`trp-row__answer-label answer-selected caption-1 ${y.isCorrect?"is-correct":"is-wrong"}`,children:d("training.result.colSelected","\uC120\uD0DD")}),n.jsx("span",{className:`trp-row__answer-value body-2 ${y.isCorrect?"is-correct":"is-wrong"}`,children:y.selectedText??"\u2014"})]})]}),n.jsx("div",{className:"trp-row__judge",children:n.jsx(pt,{variant:y.variant,label:y.label,fill:"soft",minWidth:80})})]},x))]})})]})})}function t3(e){o.useEffect(()=>{if(!e)return;const t=()=>typeof document>"u"||document.visibilityState!=="hidden";let a=null,r=null,s=0,i=0;const l=()=>{const p=Date.now();a==null&&(a=p),r==null&&(r=p)},c=()=>{r!=null&&(s+=Date.now()-r,r=null)};t()&&l();const u=()=>{if(c(),a==null||s-i<=0||i===0&&s<5e3)return;const p=a+i;i=s,p2({trainingType:e,startedAt:new Date(p).toISOString(),endedAt:new Date(a+s).toISOString()})},d=()=>{t()?l():u()};return typeof document<"u"&&document.addEventListener("visibilitychange",d),typeof window<"u"&&window.addEventListener("pagehide",u),()=>{typeof document<"u"&&document.removeEventListener("visibilitychange",d),typeof window<"u"&&window.removeEventListener("pagehide",u),u()}},[e])}function Fo(e,t){return e&&e.id||`page-${t??0}`}function Oo(e,t){return e&&e.key||`step-${t??0}`}function ir(){return{pageIndex:0,stepIndex:0,answersByPage:{}}}function n3(e,t){return typeof e?.props=="function"?e.props(t)||{}:e?.props||{}}const a3=300,r3=()=>{try{return typeof window<"u"&&!!window.matchMedia?.("(prefers-reduced-motion: reduce)").matches}catch{return!1}},En=Object.freeze({}),lu=new Set(["LISTEN_IN_NOISE","SHORT_STORY","LONG_STORY","ORDERING_SENTENCE"]);function cu(e){const t=e,a=t?.results||t?.answers||[],r=Array.isArray(a)&&a.length>0?a.length:null,s=Array.isArray(a)?a.filter(i=>i?.correct===!0||i?.isCorrect===!0||i?.score===1||i?.heard===!0||i?.judgement===!0).length:null;return{results:a,correct:r!=null?s:null,total:r}}const o3=e=>n.jsx(iu,{score:e.score,contextsLength:e.contextsLength,results:e.results,onReplay:e.onReplay,onClose:e.onClose,pending:e.pending});function s3(e){const{scenario:t,title:a,subTitle:r,depth:s,icon:i,wrapperStyle:l,iconTooltip:c,pageIndex:u,pageCount:d,stepIndex:p,stepCount:m,onBack:h,onComplete:g,onNext:C,onSettings:b,useNoiseSetting:_=!0,children:f,ariaLabel:y,label:x,buildResults:v,onResult:k,typeKey:w,entryPoint:D,dailyTotal:B,itemRef:A,renderResultPopup:N,noiseOverride:M}=e;t3(w&&!lu.has(w)?w:"");const I=o.useRef(0);o.useEffect(()=>{I.current=Date.now()},[]);const{t:$}=fe.useTranslation(),V=k,S=!!t,F=t?.id||null,z=t?.meta||{},Y=Array.isArray(t?.pages)?t.pages:[],U=Array.isArray(f)||o.isValidElement(f)&&typeof f!="function"?o.Children.toArray(f).filter(o.isValidElement):[],G=U.length>0,W=ne=>ne===sr||ne?.__isTrainingPage===!0,Z=G&&U.some(ne=>W(ne.type)),P=Z?U.filter(ne=>W(ne.type)).map((ne,pe)=>{const H=ne.props||{};return{id:`children-page-${pe}`,steps:o.Children.toArray(H.children).filter(o.isValidElement),pageTop:H.pageTop||H.top||null,pageBottom:H.pageBottom||H.bottom||null}}):[{id:"children-page-0",steps:U}],T=G&&!S&&typeof f!="function",O=T?Math.max(1,P.length):0;o.useEffect(()=>{if(!(typeof document>"u"||!document.body)&&!document.body.classList.contains("ihabdevteam-core-scope"))return document.body.classList.add("ihabdevteam-core-scope"),()=>{document.body.classList.remove("ihabdevteam-core-scope")}},[]),o.useEffect(()=>{if(typeof document>"u"||!document.body)return;const ne=document.body;return ne.dataset.ihabTrainingPopupCount=String(Number(ne.dataset.ihabTrainingPopupCount||"0")+1),ne.classList.add("ihab-training-popup-open"),()=>{const pe=Number(ne.dataset.ihabTrainingPopupCount||"1")-1;pe>0?ne.dataset.ihabTrainingPopupCount=String(pe):(delete ne.dataset.ihabTrainingPopupCount,ne.classList.remove("ihab-training-popup-open"))}},[]),o.useEffect(()=>{if(!(typeof document>"u"||!document.body))return r4()},[]);const[R,j]=o.useState({...Ea,enabled:!1}),L=o.useRef(R);o.useEffect(()=>{L.current=R},[R]);const Q=o.useRef(M),J=o.useRef(!1),oe=o.useRef(null);o.useEffect(()=>{let ne=!1;const pe=H=>{if(ne)return;J.current=!0;const re=H?Sa({...Ea,enabled:!1},H):{...Ea},le=oe.current;oe.current=null;const ye=le?Sa(re,le):re;L.current=ye,j(ye),le&&!Q.current&&Qs(ye),Ia(ye);const ve=Q.current;if(ve){const je=typeof ve=="function"?ve(ye):ve,nt=Sa(ye,je);L.current=nt,j(nt),Ia(nt)}};return C2().then(pe),()=>{ne=!0}},[]);const[ge,Me]=o.useState(null),[Ne,ie]=o.useState(null),q=o.useCallback((ne,pe)=>{ne==="main"?Me(pe):ie(pe)},[]),se=o.useRef(null),me=o.useRef(null),_e=o.useCallback(()=>{me.current!==null&&(clearTimeout(me.current),me.current=null);const ne=se.current;se.current=null,ne&&Qs(ne)},[]);o.useEffect(()=>{if(typeof window>"u")return;const ne=()=>{document.visibilityState==="hidden"&&_e()};return window.addEventListener("pagehide",_e),document.addEventListener("visibilitychange",ne),()=>{window.removeEventListener("pagehide",_e),document.removeEventListener("visibilitychange",ne),_e()}},[_e]);const we=o.useCallback(ne=>{const pe=Sa(L.current,ne);if(L.current=pe,j(pe),!J.current){oe.current={...oe.current??{},...ne},Ia(pe);return}Q.current||(se.current=pe,me.current!==null&&clearTimeout(me.current),me.current=setTimeout(_e,a3)),Ia(pe)},[_e]),De=R.mainSpeed,xe=R.mainVolume,Ae=o.useCallback(ne=>we({mainSpeed:ne}),[we]),Te=o.useCallback(ne=>we({mainVolume:ne}),[we]),ae=o.useMemo(()=>({settings:R,setSettings:we,registerAnalyser:q,mainAnalyser:ge,noiseAnalyser:Ne,playbackRate:De,setPlaybackRate:Ae,mainVolume:xe,setMainVolume:Te}),[R,we,q,ge,Ne,De,Ae,xe,Te]),ee=o.useRef(null),[de,te]=o.useState(0),he=o.useRef([]),[be,Ye]=o.useState("center"),[He,qe]=o.useState(!1),Se=o.useRef(!1),Ue=o.useRef(null),$e=o.useCallback(ne=>{Se.current||(Se.current=!0,qe(!0),Ue.current=setTimeout(()=>{try{ne()}catch{Se.current=!1,qe(!1)}},r3()?0:j5))},[]);o.useEffect(()=>()=>{Ue.current&&clearTimeout(Ue.current)},[]);const Ie=o.useRef(h);o.useEffect(()=>{Ie.current=h}),o.useEffect(()=>{const ne=ee.current,pe=document.activeElement;if(Ir(ne,pe),ne){const H=Array.from(ne.querySelectorAll(hn)).filter(re=>!re.closest('[aria-hidden="true"]'))[0];if(H)try{H.focus()}catch{}}return()=>{const H=document.activeElement;if(!H||H===document.body||ne&&ne.contains(H))try{Fr(pe)?.focus?.()}catch{}}},[]),o.useEffect(()=>Rn(()=>$e(()=>{const ne=Ie.current;typeof ne=="function"&&ne()})),[$e]),Rr(ee,!0);const[Ve,at]=o.useState(!1),ot=o.useRef(!1),[We,Xe]=o.useState(null),Ct=o.useRef(0),At=()=>{Ct.current+=1,Xe(null)},[Et,ut]=o.useState(""),[Qe,Ze]=o.useState(()=>ir()),Oe=o.useRef(typeof u=="number"?u:null);o.useEffect(()=>{!S&&!T||(Ze(ir()),At())},[S,F,T]),o.useEffect(()=>{T&&Ze(ne=>{const pe=Math.max(0,Math.min(ne.pageIndex,Math.max(0,O-1)));return pe!==ne.pageIndex?{...ne,pageIndex:pe,stepIndex:0}:ne})},[T,O]);const rt=T?Math.max(0,Math.min(Qe.pageIndex,O-1)):0,et=T?P[rt]:null,bt=T&&et&&Array.isArray(et.steps)?et.steps:[],ze=S?Qe.pageIndex:T?rt:typeof u=="number"?u:0,it=S?Y[Math.max(0,Math.min(Qe.pageIndex,Math.max(0,Y.length-1)))]:null,Bt=S&&it&&Array.isArray(it.steps)?it.steps:[],Nt=S?Bt.length:T?bt.length:typeof m=="number"?m:0,Le=S||T?Math.max(0,Math.min(Qe.stepIndex,Math.max(0,Nt))):typeof p=="number"?p:0,Ke=S?Y.length:T?O:typeof d=="number"?d:0;o.useLayoutEffect(()=>{const ne=Oe.current;if(typeof ze=="number"&&ne!==null&&ze!==ne&&ze>ne)try{ut($("training.problemNotice",{n:ze+1}))}catch{}Oe.current=typeof ze=="number"?ze:Oe.current},[ze,u,$]),o.useLayoutEffect(()=>{const ne=ee.current;if(!ne)return;const pe=()=>ne.querySelector(".page-popup__scroll");let H=null,re=null,le=null;const ye=lt=>{const _t=pe();if(!_t)return;const zt=_t.scrollHeight<=_t.clientHeight;if(Ye(zt?"center":"top"),lt&&!ot.current){ot.current=!0;try{at(!0)}catch{}try{nt.disconnect()}catch{}}},ve=()=>{H!==null&&cancelAnimationFrame(H),H=requestAnimationFrame(()=>{re!==null&&clearTimeout(re),re=setTimeout(()=>ye(!0),60)})},je=()=>{le!==null&&cancelAnimationFrame(le),le=requestAnimationFrame(()=>ye(!1))};ve(),window.addEventListener("resize",je);const nt=new MutationObserver(ve);nt.observe(ne,{childList:!0,subtree:!0,attributes:!0});const ht=setTimeout(()=>{ot.current||ye(!0)},400);return()=>{window.removeEventListener("resize",je),H!==null&&cancelAnimationFrame(H),re!==null&&clearTimeout(re),le!==null&&cancelAnimationFrame(le),clearTimeout(ht);try{nt.disconnect()}catch{}}},[ee]);const Dt=o.useCallback(ne=>{ee.current&&(ee.current._childOnNext=ne)},[]),vt=o.useCallback(ne=>{ee.current&&(ee.current._childOnResult=ne)},[]),Tt=o.useCallback((ne,pe,H)=>{Ze(re=>{const le=re.answersByPage[ne]||{},ye=le[pe],ve=Po(H),je=Po(ye);return ye&&je>ve?re:{...re,answersByPage:{...re.answersByPage,[ne]:{...le,[pe]:H}}}})},[Ze]),on=o.useCallback((ne,pe,H)=>{const re=Fo(it,ze),le=Oo(ne,pe);Tt(re,le,H)},[it,ze,Tt]),tt=o.useCallback((ne,pe,H)=>{const re=Fo(it,ze),le=Oo(ne,pe);Tt(re,le,H),!H?.allowChange&&ne?.autoAdvance!==!1&&Ze(ye=>({...ye,stepIndex:Math.max(ye.stepIndex,pe+1)}))},[it,ze,Tt,Ze]),Gt=o.useCallback((ne,pe)=>{const H=et?.id||`children-page-${ze??0}`,re=typeof pe=="number"?pe:Le??0,le=`step-${re}`;Tt(H,le,ne),ne?.allowChange||Ze(ye=>({...ye,stepIndex:Math.max(ye.stepIndex,re+1)}))},[et,ze,Le,Tt,Ze]),vn=o.useCallback((ne,pe)=>{const H=et?.id||`children-page-${ze??0}`,re=`step-${typeof pe=="number"?pe:Le??0}`;Tt(H,re,ne)},[et,ze,Le,Tt]),xt=T?{currentPageIndex:ze??0,currentStepIndex:Le??0,totalStepsInPage:bt.length,handleStepDone:Gt,handleStepChange:vn}:null,Vt=async()=>{const ne=typeof t?.buildResults=="function"?await Promise.resolve(t.buildResults({scenario:t,pages:Y,flowState:Qe,answersByPage:Qe.answersByPage})):null;return typeof V=="function"&&await Promise.resolve(V(ne))||ne},Xt=async()=>{const ne=et?.id||`children-page-${Qe.pageIndex}`,pe=Qe.answersByPage[ne]||{},H=Z?(()=>{const ye={};let ve=0;return P.forEach(je=>{const nt=Qe.answersByPage[je.id]||{},ht=Array.isArray(je.steps)?je.steps.length:0;for(let lt=0;lt<ht;lt+=1){const _t=nt[`step-${lt}`];typeof _t<"u"&&(ye[`step-${ve+lt}`]=_t)}ve+=ht}),ye})():pe;if(typeof v=="function"){const ye=await Promise.resolve(v(H,{pageAnswers:pe,answersByPage:Qe.answersByPage,pages:P,currentPageId:ne}));return typeof V=="function"&&await Promise.resolve(V(ye))||ye}const re=Object.entries(pe).map(([ye,ve],je)=>({index:je,key:ye,payload:ve})),le={results:re,answers:re,score:0};return typeof V=="function"&&await Promise.resolve(V(le))||le},an=()=>{const ne=++Ct.current,pe=()=>ne!==Ct.current;try{if(typeof document<"u"&&document.body){try{document.dispatchEvent(new CustomEvent("speechear-close-tooltips"))}catch{}document.dispatchEvent(new PointerEvent("pointerdown",{bubbles:!0,cancelable:!0})),document.dispatchEvent(new MouseEvent("click",{bubbles:!0,cancelable:!0}))}}catch{}if(S){const le=Vt();Xe(En);const ye=le;Promise.resolve(ye).then(ve=>{pe()||Xe(ve||{isEmpty:!0})}).catch(ve=>{!pe()&&Xe({isEmpty:!0})});return}if(T){const le=Xt();Xe(En);const ye=le;Promise.resolve(ye).then(ve=>{pe()||Xe(ve||{isEmpty:!0})}).catch(ve=>{!pe()&&Xe({isEmpty:!0})});return}const H=ee.current&&ee.current._childOnResult,re=le=>{try{return le?le():void 0}catch{return}};if(typeof H=="function"){const le=re(H);try{typeof document>"u"?require("url").pathToFileURL(__filename).href:mn&&mn.tagName.toUpperCase()==="SCRIPT"&&mn.src||new URL("components.cjs.js",document.baseURI).href}catch{}le&&typeof le.then!="function"?Xe(le):Xe(le&&typeof le.then=="function"?En:{});const ye=()=>{pe()||Xe(ve=>ve===En?{}:ve)};Promise.resolve(le).then(ve=>{ve&&!pe()?Xe(ve):ye()}).catch(ve=>{ye()});return}if(typeof V=="function"){const le=re(V);try{typeof document>"u"?require("url").pathToFileURL(__filename).href:mn&&mn.tagName.toUpperCase()==="SCRIPT"&&mn.src||new URL("components.cjs.js",document.baseURI).href}catch{}le&&typeof le.then!="function"?Xe(le):Xe(le&&typeof le.then=="function"?En:{});const ye=()=>{pe()||Xe(ve=>ve===En?{}:ve)};Promise.resolve(le).then(ve=>{try{typeof document>"u"?require("url").pathToFileURL(__filename).href:mn&&mn.tagName.toUpperCase()==="SCRIPT"&&mn.src||new URL("components.cjs.js",document.baseURI).href}catch{}ve&&!pe()?Xe(ve):ye()}).catch(ve=>{console.error("viewResults external handler failed",ve),ye()});return}},sn=()=>{if(S){if(typeof ze=="number"&&typeof Ke=="number"&&ze<Ke-1){Ze(pe=>({...pe,pageIndex:pe.pageIndex+1,stepIndex:0}));return}return an()}if(T){const pe=bt.length;if(typeof Le=="number"&&Le<pe-1){Ze(H=>({...H,stepIndex:H.stepIndex+1}));return}if(typeof ze=="number"&&typeof Ke=="number"&&ze<Ke-1){Ze(H=>({...H,pageIndex:H.pageIndex+1,stepIndex:0}));return}return an()}if(typeof C=="function"){try{C()}catch{}return}const ne=ee.current&&ee.current._childOnNext;if(typeof ne=="function"){try{ne()}catch{}return}},Jt=S?z.title||z.label||y||$("common.popup","\uD31D\uC5C5"):a||x||(Array.isArray(s)?s[s.length-1]:void 0)||y||$("common.popup","\uD31D\uC5C5"),xn=y||Jt,Kt=S?z.title??z.label??Jt:a??x??Jt,mt=(ne,pe)=>{const H=Fo(it,ze),re=Oo(ne,pe),le=Qe.answersByPage[H]?.[re],ye=n3(ne,{page:it,pageIndex:ze,step:ne,stepIndex:pe,storedPayload:le,answersByPage:Qe.answersByPage,flowState:Qe}),ve={key:re,index:pe,stepIndex:Le,isLast:pe===Bt.length-1};switch(ne?.type){case"listen":return n.jsx(Mo,{...ve,...ye,onDone:je=>tt(ne,pe,je)});case"confirm":return n.jsx(To,{...ve,...ye,onDone:je=>tt(ne,pe,je),onChange:je=>on(ne,pe,je)});case"confirmWithText":return n.jsx(jo,{...ve,...ye,onDone:je=>tt(ne,pe,je),onChange:je=>on(ne,pe,je)});case"orderList":return n.jsx(Lo,{...ve,...ye,onDone:je=>tt(ne,pe,je),onChange:je=>on(ne,pe,je)});default:return null}},ln=o.useRef(void 0);o.useEffect(()=>{const ne=ln.current;if(ln.current=ze,ne===void 0||ne===ze||!Ja())return;const pe=ee.current;if(!pe)return;const H=document.activeElement;if(!(!H||H===document.body||!pe.contains(H)||H.disabled===!0))return;const re=pe.querySelector(`.training-steps ${hn.split(", ").join(", .training-steps ")}`)??Array.from(pe.querySelectorAll(hn)).find(le=>!le.closest('[aria-hidden="true"]'));try{re?.focus()}catch{}},[ze]);const Yt=S?Y.length>0?n.jsx("div",{className:"training-steps",children:Bt.map((ne,pe)=>mt(ne,pe))},`replay-${de}`):n.jsx("div",{className:"page-popup__content page-popup__content--center",children:n.jsx("div",{className:"pp-empty",children:t?.emptyMessage||$("training.noQuestions","\uBB38\uC81C\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.")})}):null,jt=T?n.jsxs(eu.Provider,{value:xt,children:[et?.pageTop?n.jsx("div",{className:"training-page-top",children:et.pageTop}):null,n.jsx("div",{className:"training-steps",children:bt.map((ne,pe)=>{const H=ne;return o.cloneElement(H,{...H.props,_stepIndex:pe,_totalSteps:bt.length,_stepKey:`step-${pe}`,_pageIndex:ze})})},`replay-${de}`),et?.pageBottom?n.jsx("div",{className:"training-page-bottom",children:et.pageBottom}):null]}):null,cn=o.useCallback(()=>{let ne;if(w){const pe=We,{results:H,correct:re,total:le}=cu(We);m2({items:f2(H),category:lu.has(w)?"sentence":"word",trainingType:w,entryPoint:D??"sentence",itemRef:A??null,correct:re,total:le,score:typeof pe?.score=="number"?pe.score:null,durationSeconds:Math.max(0,Math.round((Date.now()-I.current)/1e3)),dailyTotal:B??null}),ne={correct:re,total:le,attempt:he.current.length+1,previousAttempts:[...he.current]}}At(),$e(()=>{typeof g=="function"&&g(ne),typeof h=="function"&&h()})},[g,h,w,D,B,A,We,Xe,$e]),Zt=o.useCallback(()=>ut(""),[ut]),un=o.useCallback(()=>{$e(()=>{typeof h=="function"&&h()})},[h,$e]),ke=n.jsxs("div",{className:`page-popup${He?" page-popup--closing":""}`,role:"dialog","aria-modal":"true","aria-label":xn,children:[n.jsxs("div",{ref:ee,className:`page-popup__panel ${Ve?"":"page-popup__panel--measuring"} ${be==="center"?"page-popup__panel--center":be==="top"?"page-popup__panel--top":""}`,children:[n.jsx(Zc,{title:Kt,subtitle:S?z.subtitle||z.label:Array.isArray(s)?s.join(" / "):void 0,desc:S?void 0:r,depth:S?z.depth:s,icon:S?z.icon:i,wrapperStyle:S?z.wrapperStyle:l,iconTooltip:S?z.iconTooltip:c,progressMax:Ke,progressIndex:ze,pageIndex:ze,pageCount:Ke,onBack:un,onClose:un}),n.jsx("div",{className:"page-popup__scroll",children:n.jsx("div",{className:`page-popup__content ${be==="center"?"page-popup__content--center":"page-popup__content--top"}`,children:T?jt:S?Yt:typeof f=="function"?f({registerOnNext:Dt,registerOnResult:vt,panelRef:ee,setResultOverlay:Xe}):f})}),n.jsx(Yc,{onSettings:b,onNext:sn,onResult:an,useNoiseSettingBtn:!!(S?z.useNoiseSetting??!0:_),stepIndex:Le,stepCount:Nt,pageIndex:ze,pageCount:Ke})]}),We&&!We.isEmpty&&(N??o3)({score:We.score,results:We.results||We.answers||[],contextsLength:We.results?We.results.length:We.answers?We.answers.length:0,onReplay:()=>{if(I.current=Date.now(),We!==En){const{correct:ne,total:pe}=cu(We);he.current.push({correct:ne,total:pe})}if(At(),te(ne=>ne+1),S){if(Ze(ir()),typeof t?.onReplay=="function")try{t.onReplay()}catch{}return}if(T){Ze(ir());return}try{const ne=ee.current&&ee.current._childOnResult;typeof ne=="function"&&ne({replay:!0})}catch{}},onClose:cn,pending:We===En}),We?.isEmpty&&n.jsx("div",{className:"page-popup page-popup--result-empty",role:"dialog","aria-modal":"true","aria-label":$("training.result.eyebrow","\uD6C8\uB828 \uC644\uB8CC"),children:n.jsxs("div",{className:"page-popup__panel page-popup__panel--center",children:[n.jsx("div",{className:"page-popup__scroll",children:n.jsx("div",{className:"page-popup__content page-popup__content--center",children:n.jsx("div",{className:"page-popup__empty",children:$("training.result.eyebrow","\uD6C8\uB828 \uC644\uB8CC")})})}),n.jsx("div",{className:"page-popup__bottom",children:n.jsx(ce,{htmlType:"button",variant:"main",size:48,onClick:cn,label:$("training.result.done","\uC644\uB8CC")})})]})}),n.jsx(ea,{message:Et,position:"top",onClose:Zt})]}),Pe=n.jsx(Ao.Provider,{value:ae,children:ke});return typeof document<"u"&&document.body?Wt.createPortal(Pe,document.body):Pe}const Tn=s3;Tn.Page=sr,Tn.ListenStep=tu,Tn.ConfirmStep=nu,Tn.ConfirmWithTextStep=au,Tn.OrderListStep=ru,Tn.CardStep=ou,Tn.CardOrderStep=Q5;function i3({label:e,homonum:t}){const a=Un()?.(e,t)??"",{imgRef:r,loading:s,hasImage:i,onLoad:l,onError:c}=mo(a);return i?n.jsxs("div",{className:"tooltip-word-image__cell",children:[s&&n.jsx("div",{className:"tooltip-word-image__spinner"}),n.jsx("img",{ref:r,src:a,alt:e,draggable:!1,style:{opacity:s?0:1},onLoad:l,onError:c})]}):n.jsx("div",{className:"tooltip-word-image__cell tooltip-word-image__cell--text h3",children:n.jsx("span",{children:e})})}function uu({words:e,anchorRect:t}){const a=o.useRef(null),[r,s]=o.useState(null);return o.useLayoutEffect(()=>{if(!t||!a.current)return;const{offsetWidth:i,offsetHeight:l}=a.current,c=window.innerWidth;let u=t.left+t.width/2-i/2,d=t.top-l-8;d<8&&(d=t.bottom+8),u=Math.max(8,Math.min(u,c-i-8)),s({left:u,top:d})},[t]),!t||e.length===0?null:Wt.createPortal(n.jsx("div",{ref:a,className:"tooltip-word-image",style:{visibility:r?"visible":"hidden",left:r?.left??0,top:r?.top??-9999},children:n.jsx("div",{className:"tooltip-word-image__cells",children:e.map(i=>n.jsx(i3,{label:i.label,homonum:i.homonum},`${i.label}_${i.homonum??1}`))})}),document.body)}const l3=new Intl.Collator("ko");function c3({titleIcon:e,resultCount:t,resultUnit:a,searchQuery:r,items:s,groups:i,selected:l=[],onSelect:c,maxSelect:u,onClearSelection:d,onPrint:p,onPrintEmpty:m,className:h,emptyHint:g,sectionType:C="page",disc:b,notice:_}){const{t:f,i18n:y}=fe.useTranslation(),x=y.language?.startsWith("ko")??!1,{anchorRect:v,openAt:k,close:w}=za(),[D,B]=o.useState(null),A=o.useCallback(()=>{w(),B(null)},[w]);qg(A,!!D);const N=(r??"").trim(),M=/^[^,[\]\s]+$/.test(N)?N:"",I=M.length>0,$=r===void 0&&t===void 0,V=I?"match":$?"original":"ganada",[S,F]=o.useState(()=>V),[z,Y]=o.useState("50"),[U,G]=o.useState(1),[W,Z]=o.useState(I);W!==I&&(Z(I),F(V));const P=S==="match"&&!I||S==="original"&&!$?V:S,T=o.useMemo(()=>[...I?[{value:"match",label:f("wordSearch.sort.match",{defaultValue:"\uC2DC\uC791 \uC6B0\uC120"})}]:[],...$?[{value:"original",label:f("wordSearch.sort.original",{defaultValue:"\uBC1B\uC740 \uC21C\uC11C"})}]:[],{value:"ganada",label:f("wordSearch.sort.ganada",{defaultValue:"\uAC00\uB098\uB2E4\uC21C \u2191"})},{value:"ganada_desc",label:f("wordSearch.sort.ganadaDesc",{defaultValue:"\uAC00\uB098\uB2E4\uC21C \u2193"})},{value:"syllable",label:f("wordSearch.sort.syllable",{defaultValue:"\uC74C\uC808 \uC218 \u2191"})},{value:"syllable_desc",label:f("wordSearch.sort.syllableDesc",{defaultValue:"\uC74C\uC808 \uC218 \u2193"})},{value:"grade",label:f("wordSearch.sort.grade",{defaultValue:"\uB4F1\uAE09\uC21C \u2191"})},{value:"grade_desc",label:f("wordSearch.sort.gradeDesc",{defaultValue:"\uB4F1\uAE09\uC21C \u2193"})}],[f,I,$]),O=o.useMemo(()=>["10","25","50","100"].map(xe=>({value:xe,label:f("wordSearch.pageSize",{count:Number(xe),defaultValue:`${xe}\uAC1C\uC529 \uBCF4\uAE30`})})),[f]),R=xe=>xe.words?.[0],j=o.useMemo(()=>{const xe=[...M].length,Ae=X0(M),Te=new Map;return ae=>{let ee=Te.get(ae);return ee===void 0&&(ee=Ae((ae.words?.[0]?.label??"").slice(0,xe))?0:1,Te.set(ae,ee)),ee}},[M]),L=o.useCallback((xe,Ae)=>{const Te=de=>R(de)?.label??"",ae=de=>R(de)?.syllables??[...Te(de)].length,ee=de=>(de.words??[]).reduce((te,he)=>{const be=parseInt(he.grade??"",10);return Number.isFinite(be)&&be<te?be:te},999);switch(P){case"match":return j(xe)-j(Ae)||l3.compare(Te(xe),Te(Ae));case"ganada":return Te(xe).localeCompare(Te(Ae),"ko");case"ganada_desc":return Te(Ae).localeCompare(Te(xe),"ko");case"syllable":return ae(xe)-ae(Ae)||Te(xe).localeCompare(Te(Ae),"ko");case"syllable_desc":return ae(Ae)-ae(xe)||Te(xe).localeCompare(Te(Ae),"ko");case"grade":return ee(xe)-ee(Ae)||Te(xe).localeCompare(Te(Ae),"ko");case"grade_desc":return ee(Ae)-ee(xe)||Te(xe).localeCompare(Te(Ae),"ko");default:return 0}},[P,j]),Q=o.useMemo(()=>s.slice().sort(L),[s,L]),J=Number(z)||10,oe=o.useMemo(()=>(i??[]).flatMap(xe=>xe.items.slice().sort(L).map(Ae=>({item:Ae,label:xe.label}))),[i,L]),ge=i?oe.length:Q.length,Me=Math.max(1,Math.ceil(ge/J)),Ne=Math.min(U,Me),ie=o.useMemo(()=>Q.slice((Ne-1)*J,Ne*J),[Q,Ne,J]),q=o.useMemo(()=>{if(!i)return null;const xe=oe.slice((Ne-1)*J,Ne*J),Ae=new Map;for(const{item:Te,label:ae}of xe)Ae.has(ae)||Ae.set(ae,[]),Ae.get(ae).push(Te);return[...Ae.entries()].map(([Te,ae])=>({label:Te,items:ae}))},[i,oe,Ne,J]);o.useEffect(()=>{G(1)},[S,z,ge,r]);const se=ge>0?n.jsxs("div",{className:"word-search-result-block__toolbar",children:[n.jsx(tn,{size:40,options:T,value:P,onChange:F,ariaLabel:f("wordSearch.sort.aria",{defaultValue:"\uC815\uB82C"})}),n.jsx(tn,{size:40,options:O,value:z,onChange:Y,ariaLabel:f("wordSearch.pageSizeAria",{defaultValue:"\uD398\uC774\uC9C0 \uD06C\uAE30"})}),n.jsx(Ua,{page:Ne,totalPages:Me,onChange:G})]}):void 0,me=xe=>{c&&c(xe)},_e=t!==void 0&&a?n.jsxs(n.Fragment,{children:[f("wordSearch.resultTitlePrefix","\uCD1D "),n.jsx("span",{style:{color:"var(--color-main)"},children:t}),f("wordSearch.resultTitleSuffix",{unit:x?s2(a):a})]}):void 0,we=t!==void 0&&t>0&&u!==void 0&&a?f("wordSearch.resultDisc",{unit:x?l2(a):a,max:u,selected:l.length}):void 0,De=b??(_?n.jsxs(n.Fragment,{children:[n.jsx("span",{className:"word-search-result-block__notice",children:_}),we?n.jsx("span",{className:"word-search-result-block__disc",children:we}):null]}):we);return n.jsxs(na,{type:C,icon:e,title:_e,action:se,disc:De,className:Be("word-search-result-block",h),children:[n.jsxs("div",{className:"word-search-result-block__inner",children:[(i?i.length===0:s.length===0)&&n.jsxs("div",{className:"word-search-result-block__empty-wrap",children:[n.jsx("p",{className:"word-search-result-block__empty body-3",children:f("wordSearch.emptyResult","\uAC80\uC0C9 \uACB0\uACFC\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.")}),g&&n.jsx("p",{className:"word-search-result-block__empty-hint body-3",children:g})]}),i?(q??[]).map(xe=>n.jsx("div",{className:"word-search-result-block__group",children:n.jsx("div",{className:"word-search-result-block__items",children:xe.items.map(Ae=>{const Te=l.includes(Ae.id);return n.jsx("div",{onMouseEnter:ae=>{k(ae.currentTarget),B(Ae.words??[])},onMouseLeave:A,children:n.jsx(ce,{htmlType:"button",size:"word",align:"grid",label:(Ae.words??[]).map(ae=>ae.label),subLabel:(Ae.words??[]).some(ae=>ae.subLabel)?(Ae.words??[]).map(ae=>ae.subLabel):void 0,selected:Te,onClick:()=>me(Ae.id),minWidth:200})},Ae.id)})})},xe.label)):n.jsx("div",{className:"word-search-result-block__items",children:ie.map(xe=>{const Ae=l.includes(xe.id);return n.jsx("div",{onMouseEnter:Te=>{k(Te.currentTarget),B(xe.words??[])},onMouseLeave:A,children:n.jsx(ce,{htmlType:"button",size:"word",align:"grid",label:(xe.words??[]).map(Te=>Te.label),subLabel:(xe.words??[]).some(Te=>Te.subLabel)?(xe.words??[]).map(Te=>Te.subLabel):void 0,selected:Ae,onClick:()=>me(xe.id),minWidth:200})},xe.id)})}),D&&v&&n.jsx(uu,{words:D,anchorRect:v})]}),Me>1&&n.jsx("div",{className:"word-search-result-block__pagination-bottom",children:n.jsx(Ua,{page:Ne,totalPages:Me,onChange:G})}),(d||p)&&n.jsxs("div",{className:"word-search-result-block__actions",children:[d&&n.jsx(ce,{htmlType:"button",size:"56",type:"bar",label:f("common.resetSelection","\uC120\uD0DD \uCD08\uAE30\uD654"),selected:!1,disabled:l.length===0,onClick:l.length===0?void 0:d}),p&&n.jsx("div",{onClick:l.length===0?m:void 0,children:n.jsx(ce,{htmlType:"button",size:"56",type:"bar",variant:"main",label:f("wordTable.title","\uB2E8\uC5B4 \uD45C \uB9CC\uB4E4\uAE30"),disabled:l.length===0,onClick:l.length===0?void 0:p})})]})]})}function u3(e,t){return t.map(a=>{const r=typeof a=="string"?a:a.label,s=typeof a=="string"?void 0:a.displayLabel;return{label:r,value:e[r]??"",displayLabel:s}})}function d3({sections:e,selectedList:t,count:a,onCountChange:r,maxCount:s=4,minCount:i=1,combinationSections:l,combinationSectionsForSlot:c,onSelect:u,placeholder:d="-",className:p,title:m,titleIcon:h,disc:g,showInfoButton:C=!0,onClearPhoneme:b,onSearch:_,onSearchEmpty:f,searchDisabled:y=!1,searchLabel:x,searchChecking:v=!1,pairMode:k=!1,sectionType:w="page",beforeSearchContent:D,beforeContent:B,afterContent:A,hideCountControl:N=!1,ordinal:M=!1}){const{t:I}=fe.useTranslation(),$=o.useMemo(()=>I("wordPairs.infoNotes",{returnObjects:!0}),[I]),V=o.useMemo(()=>Array.from({length:s-i+1},(R,j)=>{const L=i+j;return{key:String(L),label:I("wordPairs.count",{n:L})}}),[I,s,i]),S=o.useMemo(()=>I("wordPairs.ordinals",{returnObjects:!0}),[I]),F=o.useCallback(R=>M?I("wordPairs.phonemeOrdinalLabel",{ordinal:S[R-1]??R}):a===1?I("wordPairs.phonemeSingleLabel","\uC74C\uC808"):I("wordPairs.phonemeN",{n:R}),[M,S,a,I]),z=o.useCallback(R=>M?I("wordPairs.phonemeContrastOrdinalLabel",{ordinal:S[R-1]??R}):a===1?I("wordPairs.phonemeContrastSingleLabel","\uB300\uB9BD \uC74C\uC808"):I("wordPairs.phonemeContrast",{n:R}),[M,S,a,I]),Y=o.useCallback((R,j)=>j?n.jsxs(n.Fragment,{children:[R,n.jsx("span",{className:"phoneme-select-block__required",children:"*"})]}):R,[]),{anchorRect:U,toggleAt:G,close:W}=za(),Z=o.useCallback(R=>r(Number(R)),[r]),P=en("(max-width: 767px)"),T=o.useCallback(R=>u3(R,e).map(({label:j,value:L,displayLabel:Q})=>{const J=!!L&&L!=="\uC5C6\uC74C";return n.jsxs("span",{className:Be("phoneme-select-block__cell-jamo-part",L?"":"phoneme-select-block__cell-jamo-part--empty",J?"":"phoneme-select-block__cell-jamo-part--no-label"),children:[n.jsx("span",{className:`phoneme-select-block__cell-jamo-char h1${L==="\uC5C6\uC74C"?" phoneme-select-block__cell-jamo-char--excluded":""}`,children:L==="\uC5C6\uC74C"?"x":L||d}),J&&n.jsx("span",{className:"phoneme-select-block__cell-jamo-label caption-2",children:Q??j})]},j)}),[e,d]),O=n.jsxs(n.Fragment,{children:[n.jsx("div",{"data-tooltip-ignore":!0,children:n.jsx(ce,{htmlType:"button",size:40,type:P?"dot":void 0,icon:"info",label:P?void 0:I("wordPairs.caution","\uC720\uC758\uC0AC\uD56D"),ariaLabel:I("wordPairs.caution","\uC720\uC758\uC0AC\uD56D"),className:U?"is-selected":void 0,"aria-expanded":!!U,"aria-haspopup":"dialog",onClick:R=>G(R.currentTarget)})}),U&&n.jsx(Pn,{title:I("wordPairs.caution","\uC720\uC758\uC0AC\uD56D"),items:$,anchorRect:U,onClose:W})]});return n.jsxs(na,{type:w,title:m,icon:h,disc:g,action:C?O:void 0,className:Be("phoneme-select-block",p),children:[B,!N&&n.jsx("div",{className:"phoneme-select-block__controls",children:n.jsx(Hn,{options:V,value:String(a),onChange:Z,size:40,className:"phoneme-select-block__count-control"})}),n.jsx("div",{className:"phoneme-select-block__cells",children:k?n.jsxs(n.Fragment,{children:[n.jsx("div",{className:"phoneme-select-block__cell-group",children:Array.from({length:a}).map((R,j)=>{const L=t[j*2]??{};return n.jsxs("div",{className:"phoneme-select-block__cell",children:[n.jsx("div",{className:"phoneme-select-block__cell-circle",children:n.jsx("div",{className:"phoneme-select-block__cell-jamo",children:T(L)})}),n.jsx("span",{className:"phoneme-select-block__cell-index caption-1",children:F(j+1)})]},j)})}),n.jsx("span",{className:"phoneme-select-block__cell-vs h3",children:I("wordPairs.phonemeSelect.vs","\uB300")}),n.jsx("div",{className:"phoneme-select-block__cell-group",children:Array.from({length:a}).map((R,j)=>{const L=t[j*2+1]??{};return n.jsxs("div",{className:"phoneme-select-block__cell",children:[n.jsx("div",{className:"phoneme-select-block__cell-circle",children:n.jsx("div",{className:"phoneme-select-block__cell-jamo",children:T(L)})}),n.jsx("span",{className:"phoneme-select-block__cell-index caption-1",children:z(j+1)})]},j)})})]}):t.map((R,j)=>n.jsxs("div",{className:"phoneme-select-block__cell",children:[n.jsx("div",{className:"phoneme-select-block__cell-circle",children:n.jsx("div",{className:"phoneme-select-block__cell-jamo",children:T(R)})}),n.jsx("span",{className:"phoneme-select-block__cell-index caption-1",children:F(j+1)})]},j))}),(l||c)&&n.jsx("div",{className:"phoneme-select-block__panels",children:n.jsx("div",{className:"phoneme-select-block__detail",children:k?n.jsxs("div",{className:"phoneme-select-block__pair-panels",children:[n.jsx("div",{className:"phoneme-select-block__panel-group",children:Array.from({length:a}).map((R,j)=>{const L=t[j*2]??{};return n.jsx(yn,{title:Y(F(j+1),j===0),sections:c?c(L,j*2):l,selected:L,onSelect:u?.(j*2),align:"newline"},j)})}),n.jsx("div",{className:"phoneme-select-block__panel-group",children:Array.from({length:a}).map((R,j)=>{const L=t[j*2+1]??{};return n.jsx(yn,{title:z(j+1),sections:c?c(L,j*2+1):l,selected:L,onSelect:u?.(j*2+1),align:"newline"},j)})})]}):t.map((R,j)=>n.jsx(yn,{title:Y(F(j+1),j===0),sections:c?c(R,j):l,selected:R,onSelect:u?.(j),align:"newline"},j))})}),D&&n.jsx("div",{className:"phoneme-select-block__before-search",children:D}),(b||_||v)&&(()=>{const R=t.every(j=>Object.entries(j).every(([L,Q])=>!Q||L==="\uC885\uC131"&&Q==="\uC5C6\uC74C"));return n.jsxs("div",{className:"phoneme-select-block__search-row",onClick:R?f:void 0,children:[b&&n.jsx(ce,{htmlType:"button",size:"56",type:"bar",label:I("wordPairs.resetOptions","\uAC80\uC0C9 \uC635\uC158 \uCD08\uAE30\uD654"),selected:!1,disabled:R,onClick:R?void 0:b}),_?n.jsx(ce,{htmlType:"button",size:"56",type:"bar",variant:"main",icon:v?n.jsx("span",{className:"phoneme-select-block__spinner","aria-hidden":"true"}):void 0,label:x??I("wordSearch.searchButton","\uAC80\uC0C9\uD558\uAE30"),disabled:R||y||v,onDisabledClick:v?()=>{}:void 0,"aria-busy":v||void 0,onClick:_}):v?n.jsxs("div",{className:"phoneme-select-block__checking","aria-busy":"true",children:[n.jsx("div",{className:"phoneme-select-block__spinner"}),n.jsx("span",{className:"button-1 phoneme-select-block__checking-label",children:x??I("wordSearch.searchButton","\uAC80\uC0C9\uD558\uAE30")})]}):null]})})(),A]})}function p3({title:e,sections:t,selected:a,onSelect:r,className:s}){const{t:i}=fe.useTranslation();return n.jsx(yn,{className:s,title:e??i("wordSearch.filterTitle","\uB2E8\uC5B4 \uAC80\uC0C9 \uC124\uC815"),sections:t,selected:a,onSelect:r,align:"inline"})}function m3({title:e,headerAction:t,sections:a,selected:r,onSelect:s,className:i}){const{t:l}=fe.useTranslation();return a.length===0?null:n.jsx(yn,{className:i,title:e??l("training.filter.phonemeGroup",{defaultValue:"\uD6C8\uB828 \uC74C\uC808"}),headerAction:t,sections:a,selected:r,onSelect:s,align:"newline"})}function h3({title:e,mode:t,onModeChange:a,matchMode:r,onMatchModeChange:s,positionCount:i,onPositionCountChange:l,inputMode:c,onInputModeChange:u,className:d}){const{t:p}=fe.useTranslation(),m={searchMode:p("wordPairs.filter.searchModeLabel","\uB300\uB9BD \uBC29\uC2DD"),phonemeOrder:p("wordPairs.filter.phonemeOrder","\uC785\uB825 \uC74C\uC808 \uC704\uCE58"),count:p("wordPairs.filter.countLabel","\uC785\uB825 \uC74C\uC808 \uAC2F\uC218"),inputMode:p("wordPairs.filter.inputModeLabel","\uC785\uB825 \uBC29\uC2DD"),orderAny:p("wordPairs.filter.orderAny","\uBB34\uAD00"),orderMatch:p("wordPairs.filter.orderMatch","\uC77C\uCE58"),include:p("wordPairs.mode.include","\uC74C\uC18C \uD3EC\uD568"),pick:p("wordPairs.mode.pick","\uC74C\uC18C \uB300\uB9BD"),explicit:p("wordPairs.mode.contrast","\uC74C\uC18C \uB300\uB9BD \uC9C0\uC815"),charInput:p("wordPairs.input.char","\uAE00\uC790 \uC120\uD0DD"),pronInput:p("wordPairs.input.pron","\uBC1C\uC74C \uC120\uD0DD")},h=_=>p("wordPairs.count",{n:_}),g=[{label:m.searchMode,items:[m.include,m.pick,m.explicit],display:"segmented",labelAction:n.jsx(wa,{title:p("wordPairs.mode.infoTitle","\uB300\uB9BD \uBC29\uC2DD"),items:[p("wordPairs.mode.infoInclude","\uC74C\uC18C \uD3EC\uD568 \u2014 \uC120\uD0DD\uD55C \uC74C\uC18C\uAC00 \uBAA8\uB450 \uB4E4\uC5B4\uAC04 \uB2E8\uC5B4\uC640 \uADF8 \uB300\uB9BD\uC30D\uC744 \uCC3E\uC544\uC694."),p("wordPairs.mode.infoPick","\uC74C\uC18C \uB300\uB9BD \u2014 \uC120\uD0DD\uD55C \uC74C\uC18C\uAC00 \uB300\uB9BD\uC30D \uB450 \uB2E8\uC5B4\uC758 \uC2E4\uC81C \uCC28\uC774\uC810\uC77C \uB54C\uB9CC \uB9E4\uCE6D\uB3FC\uC694."),p("wordPairs.mode.infoContrast","\uC74C\uC18C \uB300\uB9BD \uC9C0\uC815 \u2014 \uAE30\uC900 \uB2E8\uC5B4\uC640 \uB300\uB9BD \uB2E8\uC5B4\uC758 \uC74C\uC18C\uB97C \uAC01\uAC01 \uC9C1\uC811 \uC120\uD0DD\uD574 \uB300\uB9BD\uC30D\uC744 \uCC3E\uC544\uC694.")]})},{label:m.phonemeOrder,items:[m.orderAny,m.orderMatch],display:"segmented",labelAction:n.jsx(wa,{items:p("wordPairs.filter.phonemeOrderInfo",{returnObjects:!0})})},{label:m.count,items:[h(1),h(2)],display:"segmented"},{label:m.inputMode,items:[m.charInput,m.pronInput],display:"segmented",labelAction:n.jsx(wa,{title:p("wordPairs.input.infoTitle","\uC785\uB825 \uBC29\uC2DD"),items:[p("wordPairs.input.infoChar","\uAE00\uC790 \uC120\uD0DD \u2014 \uC120\uD0DD\uD55C \uC74C\uC18C\uB85C \uB2E8\uC5B4(\uAE00\uC790 \uAE30\uC900)\uB97C \uCC3E\uC740 \uD6C4, \uB2E8\uC5B4\uC758 \uD45C\uC900 \uBC1C\uC74C \uB300\uB9BD\uC30D\uC744 \uCC3E\uC2B5\uB2C8\uB2E4."),p("wordPairs.input.infoPron","\uBC1C\uC74C \uC120\uD0DD \u2014 \uC120\uD0DD\uD55C \uC74C\uC18C\uB85C \uD45C\uC900 \uBC1C\uC74C \uB300\uB9BD\uC30D\uC744 \uCC3E\uC2B5\uB2C8\uB2E4.")]})}],C={[m.searchMode]:t==="explicit"?m.explicit:t==="pick"?m.pick:m.include,[m.phonemeOrder]:r==="ordered"?m.orderMatch:m.orderAny,[m.count]:h(i),[m.inputMode]:c==="phoneme"?m.pronInput:m.charInput},b=(_,f)=>{f===m.searchMode?a(_===m.explicit?"explicit":_===m.pick?"pick":"include"):f===m.phonemeOrder?s(_===m.orderMatch?"ordered":"unordered"):f===m.count?l(_===h(2)?2:1):f===m.inputMode&&u(_===m.pronInput?"phoneme":"word")};return n.jsx(yn,{className:d,title:e??p("wordPairs.filter.searchOptionsTitle","\uB300\uB9BD \uC124\uC815"),sections:g,selected:C,onSelect:b,align:"inline"})}function f3(e){const{title:t,items:a,columns:r,gridTemplateColumns:s,searchPlaceholder:i,searchFn:l,defaultSortKey:c,defaultSortAsc:u=!0,selectedId:d,selectedIds:p,onSelect:m,onClose:h,pageSizeOptions:g=[10,25,50,100],initialPageSize:C,emptyText:b,countLabel:_,topContent:f,className:y=""}=e,{t:x}=fe.useTranslation(),v=i??x("common.search","\uAC80\uC0C9"),k=b??x("common.emptyList","\uD56D\uBAA9\uC774 \uC5C6\uC2B5\uB2C8\uB2E4."),[w,D]=o.useState(""),[B,A]=o.useState(c??r[0]?.key??""),[N,M]=o.useState(u),[I,$]=o.useState(String(C??g[0]??10)),[V,S]=o.useState(1);o.useEffect(()=>{S(1)},[w,I]);const F=l!==null,z=o.useCallback((j,L)=>{if(!L)return!0;const Q=L.toLowerCase();return r.some(J=>{const oe=j[J.key];return oe==null?!1:String(oe).toLowerCase().includes(Q)})},[r]),Y=l??z,U=o.useMemo(()=>{const j=F?a.filter(L=>Y(L,w)):a;return B?[...j].sort((L,Q)=>{const J=L[B],oe=Q[B];return J===oe?0:Gr(J,oe,N)}):j},[a,w,B,N,F,Y]),G=Math.max(1,Math.ceil(U.length/Number(I)));V>G&&S(G);const W=Math.min(V,G),Z=U.slice((W-1)*Number(I),W*Number(I)),P=o.useCallback(j=>{B===j?M(L=>!L):(A(j),M(!0)),S(1)},[B]),T=o.useMemo(()=>{if(typeof _=="function"){const j=U.length,L=_(j);if(typeof L=="string"){const Q=L.lastIndexOf(String(j));if(Q>=0)return{prefix:L.slice(0,Q),suffix:L.slice(Q+String(j).length)}}return{label:L}}if(typeof _=="string"&&_.includes("{n}")){const[j,L]=_.split("{n}");return{prefix:j,suffix:L}}return{prefix:x("common.totalCountPrefix","\uCD1D "),suffix:x("common.totalCountSuffix","\uAC1C")}},[_,U.length,x]),O=o.useMemo(()=>r.map(j=>({label:j.label,onClick:j.sortable!==!1?()=>P(j.key):void 0,className:j.className,sortDir:j.sortable!==!1&&B===j.key?N?"asc":"desc":null})),[r,B,N,P]),R=o.useMemo(()=>g.map(j=>({value:String(j),label:x("common.pageSizeLabel",{n:j})})),[g,x]);return n.jsxs(Dn,{className:`popup-list ${y}`,title:t,onClose:h,children:[f,"label"in T&&n.jsx("p",{className:"toolbar__count body-1",children:T.label}),n.jsx(to,{count:"label"in T?void 0:{value:U.length,prefix:T.prefix,suffix:T.suffix},search:F?{value:w,onChange:D,placeholder:v}:void 0,pageSize:{options:R,value:I,onChange:$},pagination:{page:W,total:G,onChange:S}}),n.jsx(lo,{size:"medium",gridTemplateColumns:s,resizable:!0,fields:O,items:Z,onRowClick:m,renderRow:j=>{const L=p!=null?j.id!=null&&p.has(j.id):d!=null&&j.id===d;return r.map(Q=>({content:Q.render?Q.render(j):j[Q.key]??"",className:Be(Q.className,L&&"popup-list__row--selected")}))},empty:k})]})}function C3(e){const{title:t,message:a,topContent:r,details:s,children:i,confirmLabel:l,cancelLabel:c,hideCancel:u=!1,extraAction:d,confirmVariant:p="main",confirmDisabled:m=!1,onConfirm:h,closeOnConfirm:g=!0,onClose:C,inline:b,size:_="small",className:f,initialFocus:y="close"}=e,{t:x}=fe.useTranslation(),v=o.useRef(null);o.useEffect(()=>{if(b||y==="close")return;const N=v.current?.closest(".popup-panel"),M=Array.from(N?.querySelectorAll(".popup-footer--buttons button")??[]),I=y==="confirm"?M[M.length-1]:u?void 0:M[d?1:0];I&&!I.disabled&&I.focus()},[]);const k=o.useRef(!1),[w,D]=o.useState(!1),B=N=>{let M=!1;return{close:()=>{M=!0,N()},\uB2EB\uC558\uB098:()=>M}},A=async N=>{if(k.current)return;k.current=!0;const M=typeof document<"u"?document.activeElement:null;D(!0);let I=!1;try{I=await N()}catch($){typeof console<"u"&&console.error($)}finally{I||(k.current=!1,D(!1),requestAnimationFrame(()=>{const $=document.activeElement;(!$||$===document.body)&&M?.isConnected&&M.focus()}))}};return n.jsxs(Dn,{title:t,onClose:C,closeDisabled:w,inline:b,size:_,className:Be("confirm-popup",f),buttons:[...d?[{label:d.label,variant:d.variant??"default",disabled:d.disabled||w,onClick:async({closeWithAnimation:N})=>{await A(async()=>{const M=B(N);await d.onClick(M.close);const I=d.closeOnClick??!0;return I&&N(),I||M.\uB2EB\uC558\uB098()})}}]:[],...u?[]:[{label:c??x("common.cancel","\uCDE8\uC18C"),variant:"default",disabled:w,onClick:({closeWithAnimation:N})=>N()}],{label:l??x("common.confirm","\uD655\uC778"),variant:p,disabled:m||w,onClick:async({closeWithAnimation:N})=>{await A(async()=>{const M=B(N);return await h(M.close),g&&N(),g||M.\uB2EB\uC558\uB098()})}}],children:[r!=null&&n.jsx("div",{className:"confirm-popup__top",children:r}),s&&s.length>0&&n.jsx(or,{children:s.map((N,M)=>n.jsx(Sn,{label:N.label,children:n.jsx("span",{className:"panel-row__text body-2",children:N.value})},M))}),n.jsx("p",{ref:v,className:"body-2 confirm-popup__message",children:a}),i]})}function g3({onApply:e,onCancel:t}){const{t:a}=fe.useTranslation(),[r,s]=o.useState(""),[i,l]=o.useState(!1),[c,u]=o.useState(null),d=o.useRef(null);o.useEffect(()=>{d.current?.focus()},[]);const p=o.useCallback(async g=>{const C=r.trim();if(C){l(!0),u(null);try{await e(C),g()}catch(b){u(Ys(b)),l(!1),requestAnimationFrame(()=>d.current?.focus())}}},[r,e]),m=o.useCallback((g,C)=>{g.key==="Enter"&&!g.nativeEvent.isComposing&&p(C)},[p]),h=g=>{s(g.target.value),u(null)};return n.jsx(Dn,{className:"coupon-input-popup",title:a("usage.couponButton","\uCFE0\uD3F0 \uC785\uB825"),size:"small",onClose:t,closeDisabled:i,buttons:[{label:a("common.cancel","\uCDE8\uC18C"),variant:"default",disabled:i,onClick:({closeWithAnimation:g})=>g()},{label:a("coupons.applyButton","\uC801\uC6A9"),variant:"main",disabled:!r.trim()||i,onClick:({closeWithAnimation:g})=>{p(g)}}],children:({closeWithAnimation:g})=>n.jsxs(n.Fragment,{children:[n.jsx("input",{ref:d,className:"coupon-input-popup__input body-2","aria-label":a("coupons.input.label","\uCFE0\uD3F0 \uCF54\uB4DC"),placeholder:a("coupons.input.placeholder","\uCFE0\uD3F0 \uCF54\uB4DC \uC785\uB825"),value:r,onChange:h,onKeyDown:C=>m(C,g),disabled:i,autoComplete:"off",spellCheck:!1}),c&&n.jsx("p",{className:"coupon-input-popup__error caption-1",role:"alert",children:c})]})})}const b3=200;function y3(e){return e.itemId?(D2()[e.trainingType]??[]).find(t=>t?.id!=null&&String(t.id)===String(e.itemId))??null:null}function v3({plan:e,anchorRect:t,offset:a=12,onClose:r}){const{t:s}=fe.useTranslation(),i=o.useMemo(()=>E2(s).map(c=>({type:c,items:(e.items??[]).filter(u=>u.trainingType===c.key)})).filter(c=>c.items.length>0),[e.items,s]);if(i.length===0)return null;const l=n.jsx("div",{className:"tooltip-training__box",children:n.jsx("div",{className:"tooltip-training__groups",children:i.flatMap(({type:c,items:u},d)=>[d>0?n.jsx("div",{className:"tooltip-training__divider"},`div-${c.key}`):null,n.jsxs("div",{className:"tooltip-training__section",children:[n.jsx("div",{className:"tooltip-training__section-header",children:n.jsx("span",{className:"tooltip-training__type-label body-3b",children:c.label})}),n.jsx("div",{className:"tooltip-training__items",children:u.map((p,m)=>{const h=y3(p);return h?n.jsx(uo,{index:m,type:c,trainingData:h,size:"compact",hideCheckBadge:!0},p.itemId??m):null})})]},c.key)])})});return t?n.jsx(An,{anchorRect:t,offset:a,onClose:r,closeOnOutsideClick:!1,className:"tooltip-training",ariaLabel:s("tooltip.training","\uD6C8\uB828 \uC548\uB0B4"),children:l}):l}const du=["var(--color-main)","var(--color-sub)"],x3=2e3;function _3(e,t){if(!t.startsWith("var("))return t;try{const a=t.slice(4,-1).trim();return getComputedStyle(e).getPropertyValue(a).trim()||null}catch{return null}}function Ho({active:e=!1,count:t=40,duration:a=2e3,strength:r=1,onComplete:s,trigger:i=0}){const l=o.useMemo(()=>{const b=Math.floor(t/2),_=t-b,f=(y,x)=>Array.from({length:y}).map((v,k)=>{const w=6+Math.random()*12,D=Math.round(Math.min(18,w*Math.min(1.5,1+r*.4))),B=du[Math.floor(Math.random()*du.length)],A=Math.random()*300,N=(360+Math.random()*260)*r*1.2,M=(x==="left"?-95+Math.random()*40:-85-Math.random()*40)*Math.PI/180,I=Math.cos(M)*N,$=Math.sin(M)*N*1.35,V=Math.random()*720-360,S=(1200+Math.random()*3e3)*Math.min(1.6,1+r*.3),F=Math.random()>.7?"50%":"3px";return{id:`${x}-${k}`,side:x,size:D,color:B,delay:A,vx:I,vy:$,angularVel:V,life:S,borderRadius:F}});return[...f(b,"left"),...f(_,"right")]},[t,r]),c=o.useRef(null),u=o.useRef({}),d=o.useRef(null),p=o.useRef(s);o.useEffect(()=>{p.current=s},[s]);const m=o.useRef(null),h=o.useRef(null),g=()=>{if(typeof document>"u")return null;let b=document.querySelector("[data-ihab-effect-root]");return b||(b=document.createElement("div"),b.className="app-effect",b.dataset.ihabEffectRoot="",b.style.position="fixed",b.style.inset="0",b.style.pointerEvents="none",b.style.zIndex="99998",document.body.appendChild(b)),b};if(typeof document<"u"&&h.current==null&&(h.current=g()),o.useEffect(()=>{if(!e)return;if(typeof window<"u"&&window.matchMedia?.("(prefers-reduced-motion: reduce)").matches){const W=setTimeout(()=>p.current?.(),0);return()=>clearTimeout(W)}const b=1200,_=performance.now(),f=h.current&&h.current!==document.body?h.current.getBoundingClientRect():null,y=Math.max(60,(window.innerHeight||800)*.05),x=W=>Math.max(40,(W||window.innerWidth)*.02),v=f?.width||window.innerWidth||375,k=f?.height||window.innerHeight||812,w=W=>{const Z=[...W].sort((P,T)=>P-T);return Z[Math.floor(Z.length/2)]||1},D=w(l.map(W=>Math.abs(W.vy))),B=w(l.map(W=>Math.abs(W.vx))),A=Math.sqrt(2*b*(k*.72+y))/D,N=D*A/b,M=v*.5/(B*N),I=(W,Z,P)=>Math.min(P,Math.max(Z,W)),$=I(A,.8,2.4),V=I(M,.7,2.2),S=a>0?a/x3:1,F=l.map(W=>({...W,life:W.life*S,vx:W.vx*V,vy:W.vy*$,startTime:_+W.delay,ended:!1})),z=f?{x:f.left-x(f.width),y:f.top+f.height+y}:{x:-x(window.innerWidth),y:window.innerHeight+y},Y=f?{x:f.left+f.width+x(f.width),y:f.top+f.height+y}:{x:window.innerWidth+x(window.innerWidth),y:window.innerHeight+y},U=W=>{let Z=!1;for(const P of F){const T=u.current[P.id];if(!T||!T)continue;if(W<P.startTime){T.style.display="none",Z=!0;continue}if(!P._inited){const Ne=P.side==="left"?z.x:Y.x,ie=P.side==="left"?z.y:Y.y;T.style.left=`${Ne}px`,T.style.top=`${ie}px`,T.style.transform="translate3d(0px, 0px, 0)",T.style.display="block",T.style.zIndex="100000",typeof P.color=="string"&&P.color.startsWith("var(")&&(T.style.background=_3(T,P.color)??"#FF0060"),P._inited=!0}const O=(W-P.startTime)/1e3;if(O<0)continue;const R=P.life/1e3;if(O>=R){T.style.opacity="0",T.style.display="none",P.ended=!0;continue}Z=!0;const j=P.side==="left"?z.x:Y.x,L=P.side==="left"?z.y:Y.y,Q=j+P.vx*O,J=L+P.vy*O+.5*b*O*O,oe=(P.angularVel||0)*O,ge=Q-j,Me=J-L;T.style.transform=`translate3d(${ge}px, ${Me}px, 0) rotate(${oe}deg)`,T.style.opacity=`${Math.max(0,1-O/R)}`}Z?d.current=requestAnimationFrame(U):p.current?.()};d.current=requestAnimationFrame(U);const G=setTimeout(()=>{try{if((h.current?h.current.querySelectorAll(".confetti"):document.querySelectorAll(".confetti")).length===0&&!document.querySelector(".party-container")){const W=document.createElement("div");W.className="party-container",W.style.position="fixed",W.style.inset="0",W.style.pointerEvents="none",W.style.overflow="visible",W.style.zIndex="2147483647";for(const Z of l){const P=document.createElement("span");P.className=`confetti confetti--${Z.side}`,P.setAttribute("aria-hidden","true"),P.style.display="none",P.style.position="fixed",P.style.left="0px",P.style.top="0px",P.style.width=`${Z.size}px`,P.style.height=`${Math.max(4,Z.size*.6)}px`,P.style.background=Z.color,P.style.borderRadius=Z.borderRadius,P.style.transform="translate3d(0,0,0)",P.style.opacity="0",W.appendChild(P),u.current[Z.id]=P}(document.body||h.current).appendChild(W),m.current=W}}catch{}},300);return()=>{if(d.current&&cancelAnimationFrame(d.current),clearTimeout(G),m.current){try{m.current.remove()}catch{}m.current=null}}},[e,a,i,l]),!e)return null;const C=n.jsx("div",{className:"party-container",ref:c,children:l.map(b=>n.jsx("span",{"aria-hidden":!0,ref:_=>{u.current[b.id]=_},className:`confetti confetti--${b.side}`,style:{width:`${b.size}px`,height:`${Math.max(4,b.size*.6)}px`,background:b.color,borderRadius:b.borderRadius}},`${b.id}-${i}`))});return typeof document<"u"?Wt.createPortal(C,h.current||document.body):C}const Vo=e=>typeof e=="number"&&Number.isFinite(e)&&e>0?e:void 0;function w3({trigger:e=0,active:t=!1}){const[a,r]=o.useState(null);o.useEffect(()=>{if(typeof window>"u")return;const i=l=>{const c=l.detail??{};r(u=>({n:(u?.n??0)+1,count:Vo(c.count),strength:Vo(c.strength),duration:Vo(c.duration)}))};return window.addEventListener("party:trigger",i),()=>window.removeEventListener("party:trigger",i)},[]);const s=o.useCallback(()=>r(null),[]);return n.jsxs(n.Fragment,{children:[n.jsx(Ho,{active:t,trigger:e}),a&&n.jsx(Ho,{active:!0,trigger:a.n,count:a.count,strength:a.strength,duration:a.duration,onComplete:s})]})}function k3({title:e,sub:t,rightAction:a,titleAction:r,badge:s,badgeVariant:i="default",documentTitle:l,onBack:c,backLabel:u,wrap:d=!1}){const{t:p}=fe.useTranslation();Eg(typeof e=="string"?e:l??null);const m=u??p("common.back","\uB4A4\uB85C");return n.jsxs("div",{className:d?"page-title page-title--wrap":"page-title",children:[n.jsxs("div",{className:"page-title__main",children:[n.jsxs("div",{className:"page-title__title-row",children:[c&&n.jsx(ce,{htmlType:"button",className:"page-title__back",size:48,type:"dot",icon:"chevron-left",iconSize:"large",useBorder:!1,iconColor:"var(--color-text-primary)",ariaLabel:m,showTooltipInfo:m,onClick:c}),n.jsx("h1",{className:"page-title__title h1",children:e}),s&&n.jsx("div",{className:"page-title__badge",children:n.jsx(pt,{label:s,size:"small",variant:i,fill:"outline"})}),r?n.jsx("div",{className:"page-title__title-action",children:r}):null]}),t&&n.jsx("p",{className:"page-title__sub body-2",children:t})]}),a?n.jsx("div",{className:"page-title__action",children:a}):null]})}function A3(e){return e??""}const pu=o.createContext({words:[],loading:!1});function B3(){return o.useContext(pu)}function N3({words:e,loading:t,error:a,statusMessage:r,localVersion:s,remoteVersion:i,progress:l,clearAndRefetch:c,checkRemoteVersion:u,children:d}){return n.jsx(pu.Provider,{value:{words:e,loading:t,error:a,statusMessage:r,localVersion:s,remoteVersion:i,progress:l,clearAndRefetch:c,checkRemoteVersion:u},children:d})}function D3({items:e,actions:t,columns:a,flat:r=!1,className:s,style:i}){const l=a??e.length;return n.jsx("section",{className:Be("summary-strip",r&&"summary-strip--flat",s),style:{"--summary-strip-cols":String(l),...i},children:n.jsxs("div",{className:"summary-strip__row",children:[n.jsx("div",{className:"summary-strip__items",children:e.map((c,u)=>n.jsxs("div",{className:"summary-strip__item",children:[n.jsx("p",{className:"summary-strip__label caption-1",children:c.label}),n.jsx("p",{className:"summary-strip__value body-3b",title:typeof c.value=="string"||typeof c.value=="number"?String(c.value):void 0,children:c.value})]},u))}),t&&n.jsx("div",{className:"summary-strip__actions",children:t})]})})}const S3=(e,t)=>`${e} / ${t}`;function E3({blocks:e,sectionTitles:t,logo:a,footer:r,pageLabel:s=S3,pageWidth:i,pageHeight:l,margin:c,className:u,style:d}){const{t:p}=fe.useTranslation(),m=o.useRef(null),h=o.useRef(null),g=o.useRef(null),C=o.useRef(null),[b,_]=o.useState(null),[f,y]=o.useState(!1);o.useEffect(()=>{const S=m.current;if(!S)return;const F=()=>y(S.scrollWidth>S.clientWidth+1);if(F(),typeof ResizeObserver>"u")return;const z=new ResizeObserver(F);return z.observe(S),()=>z.disconnect()},[b]);const x=e.map(S=>`${S.id}\0${S.section??""}\0${S.group??""}`).join(""),v=b&&b.shape===x?b.pages:null,[k,w]=o.useState(0);o.useEffect(()=>{const S=C.current;if(!S||typeof ResizeObserver>"u")return;const F=new ResizeObserver(()=>w(S.offsetHeight));return F.observe(S),()=>F.disconnect()},[]);const[D,B]=o.useState(0);o.useEffect(()=>{const S=h.current;if(!S||typeof ResizeObserver>"u")return;let F=null;const z=typeof requestAnimationFrame=="function"?G=>requestAnimationFrame(G):G=>setTimeout(G,16),Y=typeof cancelAnimationFrame=="function"?cancelAnimationFrame:G=>clearTimeout(G),U=new ResizeObserver(()=>{F==null&&(F=z(()=>{F=null,B(G=>G+1)}))});return Array.from(S.children).forEach(G=>U.observe(G)),()=>{U.disconnect(),F!=null&&Y(F)}},[x]),o.useLayoutEffect(()=>{const S=h.current,F=C.current;if(!S||!F)return;const z=R=>R.getBoundingClientRect().height||R.offsetHeight,Y=new Map;g.current?.querySelectorAll("[data-chrome-section]").forEach(R=>{Y.set(R.dataset.chromeSection??"",z(R))});const U=R=>z(F)-(Y.get(R??"")??0),G=Array.from(S.children).map(R=>z(R)),W=[];e.forEach((R,j)=>{const L=W[W.length-1],Q=L?e[L[0]]:void 0;Q&&R.group!=null&&Q.group===R.group&&Q.section===R.section?L.push(j):W.push([j])});const Z=[];let P=[],T=0;const O=()=>{P.length&&Z.push(P),P=[],T=0};W.forEach(R=>{const j=R.reduce((Q,J)=>Q+G[J],0),L=U(e[R[0]].section);P.length&&e[P[0]].section!==e[R[0]].section&&O(),j>L?R.forEach(Q=>{P.length&&T+G[Q]>L+.01&&O(),P.push(Q),T+=G[Q]}):(P.length&&T+j>L+.01&&O(),R.forEach(Q=>P.push(Q)),T+=j)}),O(),_(R=>R&&R.shape===x&&JSON.stringify(R.pages)===JSON.stringify(Z)?R:{shape:x,pages:Z})},[x,k,i,l,c,D]);const A=Qr,N=A,M=r??n.jsxs(n.Fragment,{children:[n.jsx("img",{src:N,alt:"IHAB",className:"report-doc__logo"}),"\xA9 IHAB, Inc. All rights reserved."]}),I=(S,F,z)=>({header:n.jsxs("div",{className:"report-doc__header",children:[n.jsx("h2",{className:"report-doc__title h3b",children:z!=null&&t?.[z]||null}),a]}),footer:n.jsxs("div",{className:"report-doc__footer caption-1",children:[n.jsx("span",{className:"report-doc__footer-left",children:M}),n.jsx("span",{className:"report-doc__page-no",children:s(S,F)})]})}),$=Array.from(new Set(e.map(S=>S.section??""))),V={...i?{"--report-page-w":i}:null,...l?{"--report-page-h":l}:null,...c?{"--report-margin":c}:null,...d};return n.jsxs("div",{ref:m,className:Be("report-doc",u),style:V,tabIndex:f?0:void 0,role:f?"group":void 0,"aria-label":f?p("report.previewRegion","\uBCF4\uACE0\uC11C \uBBF8\uB9AC\uBCF4\uAE30"):void 0,children:[n.jsxs("div",{className:"report-doc__measure","aria-hidden":!0,children:[n.jsx("div",{ref:C,className:"report-doc__ruler"}),n.jsx("div",{ref:g,children:$.map(S=>{const F=I(1,1,S||void 0);return n.jsxs("div",{"data-chrome-section":S,children:[F.header,F.footer]},S)})}),n.jsx("div",{ref:h,className:"report-doc__measure-blocks",children:e.map(S=>n.jsx("div",{children:S.content},S.id))})]}),v&&n.jsx("div",{className:"report-doc__pages",children:v.map((S,F)=>{const{header:z,footer:Y}=I(F+1,v.length,e[S[0]].section);return n.jsxs("section",{className:"report-doc__page",children:[z,S.map(U=>n.jsx("div",{children:e[U].content},e[U].id)),Y]},F)})})]})}function T3({title:e,fields:t,columns:a=4,className:r,style:s}){return n.jsxs("div",{className:Be("report-info",r),style:{"--report-info-cols":String(a),...s},children:[e&&n.jsx("p",{className:"report-info__title h5b",children:e}),n.jsx("div",{className:"report-info__grid",children:t.map((i,l)=>n.jsxs("div",{className:"report-info__field body-2",children:[n.jsx("span",{className:"report-info__label body-3",children:i.label}),n.jsx("span",{className:"report-info__value",children:i.value})]},l))})]})}const zn=new Map;let lr=null;const j3=12;function M3(e){for(let t=e.parentElement;t&&t!==document.body;t=t.parentElement){const a=window.getComputedStyle(t);if(a.transform&&a.transform!=="none"||a.filter&&a.filter!=="none"||a.perspective&&a.perspective!=="none"||/paint|layout|strict|content/.test(a.contain||""))return t}return document}function cr(){const e=new Map;for(const t of zn.keys()){if(!t.isConnected)continue;const a=M3(t),r=e.get(a)??[];r.push(t),e.set(a,r)}for(const t of e.values()){t.sort((r,s)=>r.compareDocumentPosition(s)&Node.DOCUMENT_POSITION_FOLLOWING?-1:1);let a=0;for(const r of t){a>0?r.style.setProperty("--update-alert-stack-offset",`${a}px`):r.style.removeProperty("--update-alert-stack-offset");const s=r.getBoundingClientRect().height;s>0&&(a+=s+j3)}}}function L3(e){return typeof window>"u"?()=>{}:(zn.set(e,(zn.get(e)??0)+1),zn.get(e)===1&&typeof ResizeObserver<"u"&&(lr??(lr=new ResizeObserver(()=>cr())),lr.observe(e)),cr(),()=>{const t=(zn.get(e)??1)-1;if(t>0){zn.set(e,t),cr();return}zn.delete(e),lr?.unobserve(e),e.style.removeProperty("--update-alert-stack-offset"),cr()})}function $3({title:e,message:t,actionLabel:a,onAction:r,icon:s,onClose:i,className:l=""}){const{t:c}=fe.useTranslation(),u=a??c("common.update","\uC5C5\uB370\uC774\uD2B8"),d=o.useRef(null),p=o.useRef(!1);return o.useLayoutEffect(()=>{const m=d.current,h=m?.parentElement?.closest(".update-alert-stack")??m,g=h?L3(h):null;return()=>{g?.(),p.current&&m&&m.contains(document.activeElement)&&Oa(m)}},[]),n.jsxs("div",{ref:d,className:Be("update-alert",l),role:"alert",children:[i&&n.jsx("button",{type:"button",className:"update-alert__close",onClick:()=>{p.current=!0,i()},"aria-label":c("common.close","\uB2EB\uAE30"),children:"\xD7"}),n.jsxs("div",{className:"update-alert__top",children:[n.jsx("div",{className:"update-alert__icon",children:s??n.jsx(ns,{size:20,strokeWidth:2})}),n.jsxs("div",{className:"update-alert__body",children:[n.jsx("div",{className:"update-alert__title h4",children:e}),n.jsx("div",{className:"update-alert__message body-3",children:t})]})]}),r&&n.jsx(ce,{htmlType:"button",size:32,variant:"main",shape:"pill",className:"update-alert__action",onClick:r,children:u})]})}function R3({title:e,description:t,topActions:a,children:r,footerLeft:s,footerRight:i,onClick:l,draggable:c,onDragStart:u,onDragEnd:d,className:p}){const m=s!=null||i!=null,h=r!=null&&r!==!1,g=o.useCallback(C=>{l&&C.target===C.currentTarget&&(C.key==="Enter"||C.key===" ")&&(C.preventDefault(),l())},[l]);return n.jsxs("div",{className:Be("training-card",l?"training-card--clickable":"",p),onClick:l,onKeyDown:l?g:void 0,role:l?"button":void 0,tabIndex:l?0:void 0,draggable:c,onDragStart:u,onDragEnd:d,children:[n.jsxs("div",{className:"training-card__header",children:[n.jsxs("div",{className:"training-card__title-row",children:[typeof e=="string"?n.jsx("h3",{className:"training-card__title h4",children:e}):e,a!=null&&n.jsx("div",{className:"training-card__top-actions",onClick:C=>C.stopPropagation(),children:a})]}),t!=null?typeof t=="string"?n.jsx("p",{className:"training-card__description body-3",children:t}):t:n.jsx("p",{className:"training-card__description body-3","aria-hidden":"true",children:" "})]}),h&&n.jsx("div",{className:"training-card__body",children:r}),m&&n.jsxs("div",{className:"training-card__footer",children:[s!=null&&n.jsx("div",{className:"training-card__footer-left",children:s}),i!=null&&n.jsx("div",{className:"training-card__meta",children:i})]})]})}function P3({title:e,count:t,collapsed:a=!1,onToggle:r,sort:s,actions:i,empty:l=!1,emptyContent:c,dragOver:u=!1,onDragOver:d,onDragLeave:p,onDrop:m,children:h,className:g}){const{t:C}=fe.useTranslation(),b=r!=null,_=Be("training-card-group",u&&"training-card-group--dragover",a&&"training-card-group--collapsed",b&&"training-card-group--collapsible",g);return n.jsxs("div",{className:_,onDragOver:d,onDragLeave:p,onDrop:m,children:[n.jsxs("header",{className:"training-card-group__header",children:[b&&n.jsx(ce,{htmlType:"button",size:40,type:"dot",variant:"transparent-gray",useBorder:!1,icon:a?"chevron-right":"chevron-down",ariaLabel:a?C("common.expand","\uD3BC\uCE58\uAE30"):C("common.collapse","\uC811\uAE30"),className:"training-card-group__chevron","aria-expanded":!a,onClick:r}),typeof e=="string"?n.jsx("span",{className:"training-card-group__title h5b",children:e}):e,t!==void 0&&n.jsx("span",{className:"training-card-group__count body-3b",children:t}),(s||i!=null)&&n.jsxs("span",{className:"training-card-group__actions",onClick:f=>f.stopPropagation(),children:[s&&n.jsx(tn,{size:40,options:s.options,value:s.value,placeholder:s.placeholder,onChange:s.onChange}),i]})]}),!a&&(l?n.jsx("div",{className:"training-card-group__empty body-3",children:c}):n.jsx("div",{className:"training-card-group__grid",children:h}))]})}const I3="speechear:saved_word_tables";function F3(e){if(typeof e!="object"||e===null)return!1;const t=e;return typeof t.id=="string"&&typeof t.name=="string"&&Array.isArray(t.items)}function O3(){try{const e=localStorage.getItem(I3);if(!e)return[];const t=JSON.parse(e);return Array.isArray(t)?t.filter(F3):[]}catch{return[]}}function mu(e){return{label:e.word,subLabel:e.pronunciation,colloquialLabel:e.colloquialPronunciation,homonum:e.homonum,grade:e.grade,syllables:[...e.word].length,pos:e.pos,wordType:e.wordType}}function zo(e){return e.map(t=>t.homonum!=null?`${t.word}#${t.homonum}`:t.word).join("|")}function H3(e){const t=new Set;return e.map(a=>{let r=a.id;for(let s=2;t.has(r);s++)r=`${a.id}~${s}`;return t.add(r),r===a.id?a:{...a,id:r}})}function V3({title:e,titleIcon:t,disc:a,items:r,onSaveComplete:s,onLoad:i,onRemoveItem:l,onReset:c,resetLabel:u,saveButtonLabel:d,secondarySaveButtonLabel:p,onReorder:m,showCellCount:h,onAddItem:g,className:C,renderSavePopup:b,renderWordSearch:_,hideControls:f,saveOnly:y,tableName:x,nameValue:v,onNameChange:k,descriptionValue:w,onDescriptionChange:D,namePlaceholder:B,descriptionPlaceholder:A,existingNames:N,editingName:M,onCancel:I}){const{t:$}=fe.useTranslation(),V=u??$("wordPrint.clearAllSelection","\uBAA8\uB450 \uC120\uD0DD \uD574\uC81C"),S=r===void 0,F=!!k,[z,Y]=o.useState([]),U=(v??"").trim(),G=U||(B??"").trim(),W=(w??"").trim()||(A??"").trim(),Z=(N??[]).map(ke=>ke.trim().toLowerCase()),P=[M?.trim().toLowerCase(),...z].filter(ke=>!!ke),T=[...Z];for(const ke of P){const Pe=T.indexOf(ke);Pe!==-1&&T.splice(Pe,1)}const O=U!==""&&T.includes(U.toLowerCase()),[R,j]=o.useState(Array(4).fill(null)),[L,Q]=o.useState(4),[J,oe]=o.useState(null),ge=R.slice(0,L),[Me,Ne]=o.useState("landscape"),[ie,q]=o.useState(["\uC774\uBBF8\uC9C0","\uB2E8\uC5B4","\uD45C\uC900 \uBC1C\uC74C"]),[se,me]=o.useState("\uD45C\uC2DC"),[_e,we]=o.useState(!0),[De,xe]=o.useState(!0),Ae=o.useRef(null),Te=o.useRef([]),[ae,ee]=o.useState(8),[de,te]=o.useState("right"),[he,be]=o.useState(!1),[Ye,He]=o.useState(!1),{toastMessage:qe,toastType:Se,showWarning:Ue,clearToast:$e}=tl("warning"),Ie=o.useCallback(()=>oe(null),[oe]);g&&!S&&!h&&jn("word-table-block-add-without-cell-count",'[WordTableBlock] \uD45C\uC2DC \uBAA8\uB4DC\uC5D0\uC11C onAddItem \uC740 showCellCount \uC640 \uD568\uAED8 \uC918\uC57C "\uCD94\uAC00\uD558\uAE30" \uCE78\uC774 \uC0DD\uAE34\uB2E4.');const[Ve,at]=o.useState(()=>Math.max(r?.length??1,1)),ot=S?L:h?Math.max(Ve,r?.length??1,1):Math.max(r?.length??0,1),{width:We,height:Xe}=aa[Me],Ct=!S&&!h,At=r?.length??0,Et=Math.min(ae,Math.max(At,1)),ut=Ct?Et:ot,Qe=Ct?oc(r??[],ut):null,Ze=!!Qe&&Qe.length>1,Oe=S?ge.some(ke=>ke!==null&&ke.length>1):(r??[]).some(ke=>(ke.words??[]).length>1),rt=x?.trim()||`${ai(Ca())} ${Oe?$("wordTable.printFileNamePair","\uB300\uB9BD\uC30D\uD45C"):$("wordTable.printFileNameSingle","\uB2E8\uC5B4\uD45C")}`,et=o.useCallback(()=>Ze?Te.current.filter(ke=>ke!==null):Ae.current?[Ae.current]:[],[Ze]),{print:bt,openNewWindow:ze,downloadHtml:it}=vo({getElements:et,paperW:We,paperH:Xe,fileName:rt,onPopupBlocked:()=>{Ue($("wordTable.popupBlocked","\uD31D\uC5C5\uC774 \uCC28\uB2E8\uB418\uC5C8\uC2B5\uB2C8\uB2E4. \uBE0C\uB77C\uC6B0\uC800 \uC124\uC815\uC5D0\uC11C \uD31D\uC5C5\uC744 \uD5C8\uC6A9\uD574 \uC8FC\uC138\uC694."))}}),Bt=ke=>{Q(ke),j(Pe=>Pe.length>=ke?Pe:[...Pe,...Array(ke-Pe.length).fill(null)]),oe(null)},Nt=ke=>{j(Pe=>{const ne=[...Pe];return ne[ke]=null,ne}),J===ke&&oe(null)},Le=ke=>{if(J===null)return;const Pe=J;j(pe=>{const H=[...pe];return H[Pe]=ke.length>0?ke:null,H});const ne=ge.findIndex((pe,H)=>H>Pe&&pe===null);oe(ne!==-1?ne:null)},Ke=S?ge.some(ke=>ke?.some(Pe=>!!Pe.colloquialPronunciation)):(r??[]).some(ke=>(ke.words??[]).some(Pe=>!!Pe.colloquialLabel)),Dt=o.useMemo(()=>Un()?S?R.slice(0,L).flatMap(ke=>(ke??[]).map(Pe=>[Pe.word,Pe.homonum])):(r??[]).flatMap(ke=>(ke.words??[]).map(Pe=>[Pe.label,Pe.homonum])):[],[S,R,L,r]),[vt,Tt]=o.useState(!1);o.useEffect(()=>{if(Dt.length===0)return;let ke=!1;return Promise.all(Dt.map(([Pe,ne])=>qs(Pe,ne))).then(Pe=>{ke||Tt(Pe.some(Boolean))},()=>{}),()=>{ke=!0}},[Dt]);const on=Dt.length>0&&vt,tt=o.useMemo(()=>[...S||h?[{label:$("wordTable.filter.columns","\uCE78 \uC218"),items:xy.map(ke=>({value:`${ke}\uCE78`,displayLabel:$("wordTable.filter.column",{count:ke})})),display:"segmented"}]:[],...Ct&&(r?.length??0)>0?[vc($,{hasPairs:Oe,itemCount:At})]:[],...Ze?[_c($)]:[]],[$,S,h,Ct,r?.length,Oe,At,Ze]),Gt={...S||h?{[$("wordTable.filter.columns","\uCE78 \uC218")]:`${ot}\uCE78`}:{},...Ct&&(r?.length??0)>0?{[$(Oe?"wordTable.filter.itemsPerPagePair":"wordTable.filter.itemsPerPageWord")]:`${Et}\uAC1C`}:{},...Ze?{[$("wordTable.filter.pageNumber","\uD398\uC774\uC9C0 \uBC88\uD638")]:wc[de]}:{}},vn=(ke,Pe)=>{Pe===$("wordTable.filter.columns","\uCE78 \uC218")?S?Bt(parseInt(ke)):at(parseInt(ke)):Pe===$(Oe?"wordTable.filter.itemsPerPagePair":"wordTable.filter.itemsPerPageWord")?ee(xc(parseInt(ke),At)):Pe===$("wordTable.filter.pageNumber","\uD398\uC774\uC9C0 \uBC88\uD638")&&te(kc(ke))},xt=S?H3(ge.filter(ke=>ke!==null&&ke.length>0).map(ke=>({id:zo(ke),words:ke.map(mu)}))):r??[],Vt=()=>{S&&j(ke=>ke.length>L?ke.slice(0,L):ke)},Xt=(ke=!1)=>{if(He(ke),F&&s){const Pe=G.trim().toLowerCase();Pe&&Y(ne=>ne.includes(Pe)?ne:[...ne,Pe]),s(G,xt,W||void 0,ke),Vt();return}if(y&&s){s("",xt,void 0,ke),Vt();return}if(s){be(!0);return}it()},[an,sn]=o.useState(!1),[Jt,xn]=o.useState(""),Kt=Jt.trim(),mt=Kt!==""&&Z.includes(Kt.toLowerCase()),ln=()=>{xn(G?$("wordTable.save.copyName",{name:G,defaultValue:"{{name}} (\uBCF5\uC0AC)"}):""),sn(!0)},Yt=()=>{!Kt||mt||!s||(s(Kt,xt,W||void 0,!0),Vt(),sn(!1))},jt=xt.length===0,cn=jt||F&&(G===""||O),Zt=()=>{if(jt){Ue($("wordTable.emptyItems","\uB2E8\uC5B4\uB97C 1\uAC1C \uC774\uC0C1 \uCD94\uAC00\uD574\uC8FC\uC138\uC694."));return}if(F&&G===""){Ue($("wordTable.save.nameRequired","\uD45C \uC774\uB984\uC744 \uC785\uB825\uD574 \uC8FC\uC138\uC694."));return}F&&O&&Ue($("wordTable.save.duplicateName","\uC774\uBBF8 \uC0AC\uC6A9 \uC911\uC778 \uC774\uB984\uC785\uB2C8\uB2E4."))},un=n.jsx(ra,{items:xt,orientation:Me,contentTypes:ie,cutLine:se,showOutline:_e,showDivLine:De,count:ot});return n.jsxs(n.Fragment,{children:[n.jsxs(na,{type:"page",icon:t,title:e,disc:a,className:Be("word-table-block",C),children:[an&&n.jsx(Dn,{size:"small",title:p??$("wordTable.saveAsNewButton","\uB2E4\uB978 \uC774\uB984\uC73C\uB85C \uC800\uC7A5"),onClose:()=>sn(!1),footer:({closeWithAnimation:ke})=>n.jsxs(n.Fragment,{children:[n.jsx(ce,{htmlType:"button",size:48,type:"bar",label:$("common.cancel","\uCDE8\uC18C"),onClick:ke}),n.jsx(ce,{htmlType:"button",size:48,type:"bar",variant:"main",label:$("common.save","\uC800\uC7A5"),disabled:!Kt||mt,onClick:Yt})]}),children:n.jsx(On,{label:$("wordTable.save.nameLabel","\uC774\uB984"),value:Jt,onChange:xn,placeholder:$("wordTable.save.placeholder","\uC774 \uB2E8\uC5B4\uD45C\uC5D0 \uB300\uD55C \uC81C\uBAA9\uC744 \uC785\uB825\uD558\uC138\uC694."),maxLength:40,size:48,fullWidth:!0,autoFocus:!0,onEnter:Yt,error:mt?$("wordTable.save.duplicateName","\uC774\uBBF8 \uC0AC\uC6A9 \uC911\uC778 \uC774\uB984\uC785\uB2C8\uB2E4."):void 0})}),he&&s&&b?.({defaultName:typeof e=="string"?e:$("wordTable.defaultName","\uB2E8\uC5B4 \uD45C"),preview:un,previewW:We,previewH:Xe,items:xt,existingNames:O3().map(ke=>ke.name),saveAsNew:Ye,onSave:(ke,Pe)=>{s(ke,xt,Pe,Ye),Vt(),be(!1)},onCancel:()=>be(!1)}),(S||g)&&J!==null&&_?.({cellIndex:J,onConfirm:S?Le:ke=>{if(g){const Pe=ke[0];if(Pe){const ne=new Set((r??[]).map(H=>H.id));let pe=zo([Pe]);for(let H=2;ne.has(pe);H++)pe=`${zo([Pe])}~${H}`;g({id:pe,words:[mu(Pe)]})}}oe(null)},onClose:Ie}),!f&&n.jsx(go,{hasImage:on,hasColloquial:Ke,contentTypes:ie,orientation:Me,showOutline:_e,cutLine:se,showDivLine:De,setters:{setContentTypes:q,setOrientation:Ne,setShowOutline:we,setCutLine:me,setShowDivLine:xe},showCutLine:(Ct?ut:ot)>1,showDivLine2:Oe,middleSections:tt,extraSelected:Gt,onExtraSelect:vn}),Ze&&Qe?n.jsx("div",{className:"word-table-block__pages",children:Qe.map((ke,Pe)=>n.jsx(ra,{orientation:Me,contentTypes:ie,cutLine:se,showOutline:_e,showDivLine:De,count:ut,items:ke,onRemoveItem:l,onReorder:m&&((ne,pe)=>m(ne+Pe*ut,pe+Pe*ut)),contentRef:ne=>{Te.current[Pe]=ne},pageNumber:{current:Pe+1,total:Qe.length},pageNumberPosition:de},Pe))}):n.jsx(ra,{orientation:Me,contentTypes:ie,cutLine:se,showOutline:_e,showDivLine:De,count:ot,items:S?void 0:r??[],editCells:S?ge:void 0,activeCell:J,onActivateCell:S||g?oe:void 0,onRemoveCell:S?Nt:void 0,onRemoveItem:S?void 0:l,onReorder:S?void 0:m,showFillerAdd:!!g,contentRef:Ae}),F&&!f&&n.jsxs(or,{size:"medium",labelWidth:64,useBorder:!1,useRowBorder:!1,className:"word-table-block__meta",children:[n.jsx(Sn,{variant:"custom",label:$("wordTable.save.nameLabel","\uC774\uB984"),required:!0,align:"vertical",useFullWidth:!0,children:n.jsx(On,{required:!0,value:v??"",onChange:k,placeholder:B?B+$("wordTable.save.autoFillHint"," (Tab \uB610\uB294 space \uC785\uB825\uC2DC \uC790\uB3D9 \uC785\uB825)"):$("wordTable.save.placeholder","\uC774 \uB2E8\uC5B4\uD45C\uC5D0 \uB300\uD55C \uC81C\uBAA9\uC744 \uC785\uB825\uD558\uC138\uC694."),ariaLabel:$("wordTable.save.nameLabel","\uC774\uB984"),maxLength:40,size:48,fullWidth:!0,error:O?$("wordTable.save.duplicateName","\uC774\uBBF8 \uC0AC\uC6A9 \uC911\uC778 \uC774\uB984\uC785\uB2C8\uB2E4."):void 0,onKeyDown:ke=>{(ke.key==="Tab"&&!ke.shiftKey||ke.key===" ")&&!(v??"").trim()&&(B??"").trim()&&(ke.preventDefault(),k?.(B??""))}})}),n.jsx(Sn,{variant:"custom",label:$("wordTable.save.descriptionLabel","\uC124\uBA85"),align:"vertical",useFullWidth:!0,children:n.jsx(On,{value:w??"",onChange:D,placeholder:A?A+$("wordTable.save.autoFillHint"," (Tab \uB610\uB294 space \uC785\uB825\uC2DC \uC790\uB3D9 \uC785\uB825)"):$("wordTable.save.descriptionPlaceholder","\uC774 \uB2E8\uC5B4\uD45C\uC5D0 \uB300\uD55C \uC124\uBA85\uC744 \uC785\uB825\uD558\uC138\uC694."),ariaLabel:$("wordTable.save.descriptionLabel","\uC124\uBA85"),maxLength:200,multiline:!0,rows:2,fullWidth:!0,onKeyDown:ke=>{(ke.key==="Tab"&&!ke.shiftKey||ke.key===" ")&&!(w??"").trim()&&(A??"").trim()&&(ke.preventDefault(),D?.(A??""))}})})]})]}),!f&&n.jsxs("div",{className:"word-table-block__actions",children:[n.jsxs("div",{className:"word-table-block__actions-left",children:[!y&&c&&n.jsx(ce,{htmlType:"button",size:40,type:"bar",label:V,onClick:c}),!y&&i&&n.jsx(ce,{htmlType:"button",size:40,type:"bar",label:$("wordTable.load","\uBD88\uB7EC\uC624\uAE30"),onClick:i}),!y&&n.jsx(ce,{htmlType:"button",size:40,type:"bar",label:$("wordTable.openNewWindow","\uC0C8 \uCC3D\uC73C\uB85C \uBCF4\uAE30"),onClick:ze})]}),n.jsxs("div",{className:"word-table-block__actions-right",children:[I&&n.jsx(ce,{htmlType:"button",size:"56",type:"bar",label:$("common.cancel","\uCDE8\uC18C"),onClick:I}),!y&&n.jsx(ce,{htmlType:"button",size:"56",type:"bar",label:$("wordTable.print","\uC778\uC1C4\uD558\uAE30"),onClick:bt}),p&&n.jsx(ce,{htmlType:"button",size:"56",type:"bar",label:p,onClick:()=>F?ln():Xt(!0),disabled:jt,onDisabledClick:()=>{Ue($("wordTable.emptyItems","\uB2E8\uC5B4\uB97C 1\uAC1C \uC774\uC0C1 \uCD94\uAC00\uD574\uC8FC\uC138\uC694."))}}),n.jsx(ce,{htmlType:"button",size:"56",type:"bar",variant:"main",label:d??$("wordTable.saveButton","\uC800\uC7A5\uD558\uAE30"),onClick:()=>Xt(!1),disabled:cn,onDisabledClick:Zt})]})]}),n.jsx(ea,{message:qe,type:Se,onClose:$e})]})}function hu({items:e,className:t}){const a=e.length,r=a<=3?1:2,s=Math.ceil(a/r)||1,i=r*s;return n.jsx("div",{className:Be("word-table-thumb",t),style:{gridTemplateColumns:`repeat(${r}, 1fr)`},children:Array.from({length:i},(l,c)=>{const u=e[c];return u?n.jsx("div",{className:"word-table-thumb__cell",children:(u.words?.length?u.words:[{label:u.id}]).map((d,p)=>n.jsxs(o.Fragment,{children:[p>0&&n.jsx("span",{className:"word-table-thumb__divider"}),n.jsx("span",{className:"word-table-thumb__word body-3",children:d.label})]},p))},c):n.jsx("div",{className:"word-table-thumb__cell word-table-thumb__cell--empty"},c)})})}function z3({items:e,name:t,description:a,createdAt:r,published:s,publishedLabel:i,shared:l,sharedLabel:c,isNew:u,publisherName:d,publishedAt:p,likeCount:m,downloadCount:h,onPublisherClick:g,selected:C,onClick:b,onMore:_,titleNode:f,className:y}){const{t:x}=fe.useTranslation(),v=f!=null,k=d!=null||p!=null||m!=null||h!=null,w=D=>{D.target===D.currentTarget&&!v&&(D.key==="Enter"||D.key===" ")&&(D.preventDefault(),b?.())};return n.jsxs("div",{className:Be("word-table-button",C?"word-table-button--selected":"",k?"":"word-table-button--no-footer",y),role:"button",tabIndex:0,"aria-label":t,onClick:v?void 0:b,onKeyDown:w,children:[u&&n.jsx("span",{className:"word-table-button__new-dot","aria-label":x("myWordTable.newBadge","\uC0C8\uB85C \uB9CC\uB4E0 \uD45C")}),n.jsx(hu,{items:e,className:"word-table-button__thumb"}),n.jsxs("div",{className:"word-table-button__info",children:[n.jsxs("div",{className:"word-table-button__info-text",children:[f??n.jsx("div",{className:"word-table-button__title h4",children:t}),a&&n.jsx("div",{className:"word-table-button__desc body-3",children:a})]}),_&&!v&&n.jsx(ce,{htmlType:"button",className:"word-table-button__more",size:32,type:"dot",variant:"transparent-gray",useBorder:!1,icon:"ellipsis",ariaLabel:x("common.moreFor",{name:t}),onClick:D=>{D.stopPropagation(),_(D)}})]}),(r||s||l)&&n.jsxs("div",{className:"word-table-button__meta-row",children:[n.jsx("span",{className:"word-table-button__meta caption-1",children:r?ni(r,x):""}),n.jsxs("span",{className:"word-table-button__badges",children:[s&&n.jsx(pt,{className:"word-table-button__badge",size:"small",variant:"main",fill:"soft",iconLeft:"book-marked",label:i??x("myWordTable.publishedBadge","\uBC1C\uD589\uB428")}),l&&n.jsx(pt,{className:"word-table-button__badge",size:"small",fill:"soft",iconLeft:"link",label:c??x("myWordTable.sharedBadge","\uACF5\uC720 \uC911")})]})]}),k&&n.jsxs("div",{className:"word-table-button__footer",children:[n.jsxs("span",{className:"word-table-button__store-by",children:[d&&n.jsx("button",{className:"training-card__publisher body-4",type:"button",onClick:D=>{D.stopPropagation(),g?.()},children:d}),p&&n.jsx("span",{className:"training-card__date body-4",children:ni(p,x)})]}),n.jsxs("span",{className:"word-table-button__store-stats",children:[m!=null&&n.jsx(pt,{size:"small",fill:"soft",variant:"like",iconLeft:"heart",label:String(m)}),h!=null&&n.jsx(pt,{size:"small",fill:"soft",variant:"main",iconLeft:"download",label:String(h)})]})]})]})}/**
991
+ `).map((l,c,u)=>n.jsxs(o.Fragment,{children:[l,c<u.length-1&&n.jsx("br",{})]},c))})}),n.jsxs("div",{className:"site-footer__links",children:[n.jsxs("div",{className:"site-footer__column",children:[n.jsx("div",{className:"site-footer__column-title footer-title",children:i("footer.site.title","\uC0AC\uC774\uD2B8")}),n.jsxs("ul",{children:[n.jsx("li",{children:n.jsx("a",{className:"footer-link",href:"https://www.ihab.co.kr/",target:"_blank",rel:"noopener noreferrer",children:"IHAB"})}),n.jsx("li",{children:n.jsx("a",{className:"footer-link",href:"https://speechear.ihab.co.kr/",target:"_blank",rel:"noopener noreferrer",children:i("footer.site.malgwi","\uB9D0\uADC0")})}),n.jsx("li",{children:n.jsx("a",{className:"footer-link",href:"https://ihab-offcial-web.vercel.app/product/sound-localization",target:"_blank",rel:"noopener noreferrer",children:i("footer.site.soundDirection","\uC18C\uB9AC\uBC29\uD5A5\uC131\uC2DC\uC2A4\uD15C")})}),n.jsx("li",{children:n.jsx("a",{className:"footer-link",href:"https://ihab-offcial-web.vercel.app/product/vr-sound-localization",target:"_blank",rel:"noopener noreferrer",children:i("footer.site.vrSoundDirection","VR\uC18C\uB9AC\uBC29\uD5A5\uC131\uC2DC\uC2A4\uD15C")})}),n.jsx("li",{children:n.jsx("a",{className:"footer-link",href:"https://ihab-offcial-web.vercel.app/product/hearing-test-pro",target:"_blank",rel:"noopener noreferrer",children:i("footer.site.hearingTest","\uCCAD\uB825\uD14C\uC2A4\uD2B8 \uD504\uB85C")})})]})]}),n.jsxs("div",{className:"site-footer__column",children:[n.jsx("div",{className:"site-footer__column-title footer-title",children:i("footer.sns.title","SNS")}),n.jsxs("ul",{children:[n.jsx("li",{children:n.jsx("a",{className:"footer-link",href:"https://blog.naver.com/ihab_official",target:"_blank",rel:"noopener noreferrer",children:i("footer.sns.naverBlog","\uB124\uC774\uBC84 \uBE14\uB85C\uADF8")})}),n.jsx("li",{children:n.jsx("a",{className:"footer-link",href:"https://www.instagram.com/ihab.official.yt/",target:"_blank",rel:"noopener noreferrer",children:"Instagram"})}),n.jsx("li",{children:n.jsx("a",{className:"footer-link",href:"https://www.youtube.com/@%EC%95%84%EC%9D%B4%ED%95%B4%EB%B8%8C-%EA%B3%B5%EC%8B%9D%EC%B1%84%EB%84%90",target:"_blank",rel:"noopener noreferrer",children:"Youtube"})})]})]}),n.jsxs("div",{className:"site-footer__column",children:[n.jsx("div",{className:"site-footer__column-title footer-title",children:i("footer.policy.title","\uC815\uCC45")}),n.jsxs("ul",{children:[n.jsx("li",{children:n.jsx("a",{className:"footer-link",href:"#",onClick:l=>{e&&(l.preventDefault(),e())},children:i("footer.policy.terms","\uC774\uC6A9\uC57D\uAD00")})}),n.jsx("li",{children:n.jsx("a",{className:"footer-link",href:"#",onClick:l=>{t&&(l.preventDefault(),t())},children:i("footer.policy.privacy","\uAC1C\uC778\uC815\uBCF4 \uCC98\uB9AC\uBC29\uCE68")})})]})]})]})]}),n.jsx("hr",{className:"site-footer__rule"}),n.jsxs("div",{className:"site-footer__bottom",children:[n.jsx("div",{className:"site-footer__brand",children:n.jsx("img",{src:Qr,alt:"IHAB",className:"site-footer__logo"})}),n.jsxs("div",{className:"site-footer__meta",children:[n.jsxs("div",{children:[n.jsx("span",{className:"footer-title",children:i("footer.ceo","\uB300\uD45C")}),n.jsx("span",{className:"footer-meta caption-1",children:i("footer.ceoName","\uD55C\uC9C0\uD61C")})]}),n.jsxs("div",{children:[n.jsx("span",{className:"footer-title",children:i("footer.address","\uC8FC\uC18C")}),n.jsx("span",{className:"footer-meta caption-1",children:i("footer.addressValue","\uAC15\uC6D0\uB3C4 \uCD98\uCC9C\uC2DC \uC2DC\uCCAD\uAE38 32 \uD574\uCC2C\uBE4C\uB529 3\uCE35 302\uD638")})]}),n.jsxs("div",{children:[n.jsx("span",{className:"footer-title",children:i("footer.support","\uACE0\uAC1D\uC13C\uD130")}),n.jsxs("span",{className:"footer-meta caption-1",children:[r," \xA0 ",s]})]})]})]}),n.jsx("div",{className:"site-footer__copyright footer-copyright caption-1",children:"\xA9 IHAB, Inc. All rights reserved."})]})})}function n5({logo:e,logoAlt:t="",logoHref:a,links:r=[],actions:s,className:i,containerClassName:l,renderLink:c,menuLabel:u}){const{t:d}=fe.useTranslation(),p=u??{open:d("header.menuOpen","\uBA54\uB274 \uC5F4\uAE30"),close:d("header.menuClose","\uBA54\uB274 \uB2EB\uAE30")},[m,h]=o.useState(!1),g=o.useId(),C=o.useRef(null);o.useEffect(()=>{if(!m)return;const f=Rn(()=>{const v=document.getElementById(g);v&&v.contains(document.activeElement)&&C.current?.focus(),h(!1)}),y=typeof window<"u"&&window.matchMedia?window.matchMedia("(min-width: 961px)"):null,x=v=>{v.matches&&h(!1)};return y&&(y.matches&&h(!1),y.addEventListener?.("change",x)),()=>{f(),y?.removeEventListener?.("change",x)}},[m,g]);const b=l?`${l} landing-header__inner`:"landing-header__inner",_=(f,y)=>c?c(f,{onClick:y}):n.jsx("a",{href:f.href,onClick:y,"aria-current":f.current?"page":void 0,children:f.label});return n.jsxs("header",{className:i?`landing-header ${i}`:"landing-header",children:[n.jsxs("div",{className:b,children:[e!=null&&(()=>{const f=typeof e=="string"?n.jsx("img",{src:e,alt:t,className:"landing-header__logo"}):e;return a?n.jsx("a",{href:a,className:"landing-header__brand",children:f}):n.jsx("div",{className:"landing-header__brand",children:f})})(),r.length>0&&n.jsx("nav",{className:"landing-header__links",children:r.map((f,y)=>n.jsx("span",{children:_(f)},`${y}:${f.href}`))}),n.jsxs("div",{className:"landing-header__actions",children:[s,r.length>0&&n.jsx("button",{ref:C,type:"button",onClick:()=>h(f=>!f),"aria-expanded":m,"aria-controls":g,"aria-label":m?p.close:p.open,className:m?"landing-header__toggle landing-header__toggle--open":"landing-header__toggle",children:n.jsxs("span",{className:"landing-header__burger",children:[n.jsx("span",{}),n.jsx("span",{}),n.jsx("span",{})]})})]})]}),r.length>0&&n.jsx("nav",{id:g,hidden:!m,className:"landing-header__drawer",children:n.jsx("div",{className:l??void 0,children:r.map((f,y)=>n.jsx("span",{className:"landing-header__drawer-item",children:_(f,()=>h(!1))},`${y}:${f.href}`))})})]})}function a5({children:e,action:t,onClick:a,className:r}){const s=a?"bottom-sticky__inner bottom-sticky__inner--clickable":"bottom-sticky__inner";return n.jsx("div",{className:r?`bottom-sticky ${r}`:"bottom-sticky",children:n.jsxs("div",{className:s,onClick:a,...Zl(a),children:[n.jsx("div",{className:"bottom-sticky__content",children:e}),t]})})}const sa=9,r5=e=>Math.round(Math.min(sa,Math.max(0,e))/sa*100),o5=e=>e/100*sa,Na=2,jc=.1,s5=e=>Math.min(Na,Math.max(0,e)),i5=.1,l5=e=>Math.round(e*1e6)/1e6;function Da(e){const{noiseRatio:t}=e;if(typeof t=="number"&&Number.isFinite(t))return s5(t);const a=Math.min(sa,Math.max(0,Number(e.level)||0))/sa,r=Number(e.mainVolume);return r>0?a>0?l5(Math.min(Na,Math.max(i5,a/r))):0:1}const Mc=e=>Math.min(1,Math.max(0,Number(e.mainVolume)||0));function Lc(e){return Mc(e)}function wo(e){return Mc(e)*Da(e)}function ko(e,t=Fs()){const a=Number.isFinite(t)&&t>0?t:1;return Math.min(1,wo(e)/a)}function Sa(e,t){const a={...e,...t??{}};return t&&"level"in t&&typeof t.noiseRatio!="number"&&(a.noiseRatio=Da({level:a.level,mainVolume:a.mainVolume})),a}const Ea={enabled:!0,type:"defaultNoise",level:4.5,noiseRatio:1,speed:1,mainVolume:1,mainSpeed:1},Ao=o.createContext(null);function nr(){return o.useContext(Ao)}const Bo=e=>`${P0()}/${e}`,$c=e=>Array.from({length:10},(t,a)=>Bo(`${e}-${String(a+1).padStart(2,"0")}.mp3`)),ar={get defaultNoise(){return Bo("noise1.mp3")},get street(){return $c("noise2")},get restaurant(){return $c("noise3")},get buzz(){return Bo("noise4.mp3")}};function c5(e){const t=Math.floor(Math.random()*10);switch(e){case"defaultNoise":return ar.defaultNoise;case"street":return ar.street[t];case"restaurant":return ar.restaurant[t];case"buzz":return ar.buzz;default:return null}}function u5({noisePlayer:e,audioRef:t,playbackStateRef:a}){const r=o.useRef(e?.registerAnalyser);r.current=e?.registerAnalyser;const s=o.useRef(null),[i,l]=o.useState(null),c=o.useRef(null),u=o.useRef(null),d=o.useRef(null),p=o.useRef(null),m=o.useRef(0),h=o.useRef(null),g=o.useCallback(()=>{p.current!==null&&(cancelAnimationFrame(p.current),p.current=null),h.current!==null&&(clearTimeout(h.current),h.current=null)},[]),C=o.useCallback((x,v=250)=>{const A=s.current;if(!A)return;const w=u.current;if(w){u.current=null;try{A.pause()}catch{}A.src=w,A.load()}if(!A.src)return;m.current+=1,g();try{Dr(),La(A).then(N=>{if(s.current===A)try{r.current?.("noise",N)}catch{}})}catch{}const D=A.paused?0:$a(A);A.paused&&kn(A,0),A.play().catch(()=>{});const k=performance.now(),B=()=>{const N=Math.min(1,(performance.now()-k)/v);try{kn(A,D+(x-D)*N)}catch{}N<1?p.current=requestAnimationFrame(B):p.current=null};p.current=requestAnimationFrame(B)},[g]),b=o.useCallback((x=250,v)=>{const A=s.current;if(!A||A.paused){v?.();return}const w=++m.current;g();const D=performance.now(),k=$a(A),B=()=>{const N=Math.min(1,(performance.now()-D)/x);try{kn(A,k*(1-N))}catch{}if(N<1)p.current=requestAnimationFrame(B);else{p.current=null,h.current!==null&&(clearTimeout(h.current),h.current=null);try{A.pause()}catch{}v?.()}};p.current=requestAnimationFrame(B),h.current=setTimeout(()=>{if(h.current=null,m.current===w){p.current!==null&&(cancelAnimationFrame(p.current),p.current=null);try{A.paused||(kn(A,0),A.pause(),v?.())}catch{}}},x+150)},[g]);o.useEffect(()=>{const x=document.createElement("audio");return x.loop=!0,x.crossOrigin="anonymous",s.current=x,()=>{g();try{x.pause(),x.src=""}catch{}s.current=null,c.current=null,u.current=null}},[g]);const _=e?ko(e.settings):0,f=!!e?.settings.enabled&&_>0;o.useEffect(()=>{if(!f)return;let x=0;const v=setInterval(()=>{const A=s.current;if(!A||A.paused){x=0;return}const w=t.current;if(w&&!w.paused&&!w.ended||a.current==="playing"){x=0;return}x+=1,x>=2&&(x=0,b())},400);return()=>clearInterval(v)},[b,f,t,a]),o.useEffect(()=>{const x=()=>{const v=s.current;if(document.hidden){if(v&&!v.paused){g();try{v.pause()}catch{}}return}if(!v||!v.paused)return;const A=t.current,w=!!A&&!A.paused&&!A.ended||a.current==="playing",D=d.current;w&&D?.enabled&&D.volume>0&&C(D.volume)};return document.addEventListener("visibilitychange",x),()=>document.removeEventListener("visibilitychange",x)},[g,C,t,a]),o.useEffect(()=>{d.current=e?{enabled:e.settings.enabled,volume:_,type:e.settings.type}:null},[e,e?.settings.enabled,_,e?.settings.type]);const y=o.useRef(null);return o.useEffect(()=>()=>{y.current?.(),y.current=null},[]),o.useEffect(()=>{const x=e?.settings,v=s.current;if(!v)return;const A=x?ko(x):0;if(!x||!x.enabled||A===0){b();return}if(c.current!==x.type){const w=c5(x.type);w&&(c.current=x.type,l(w),u.current=w,b(150,()=>{if(u.current!==w)return;u.current=null,v.src=w,v.load();const D=t.current;if(D&&!D.paused){y.current?.();const k=()=>{v.removeEventListener("canplay",k),y.current===B&&(y.current=null);const N=t.current,M=d.current;N&&!N.paused&&!N.ended&&M?.enabled&&M.volume>0&&C(M.volume)},B=()=>v.removeEventListener("canplay",k);y.current=B,v.addEventListener("canplay",k)}}))}else{const w=t.current,D=!!w&&!w.paused&&!w.ended||a.current==="playing";if(D&&u.current)C(A);else if(D&&v.paused&&v.src)C(A);else if(!v.paused)if(!D)b();else{g();const k=$a(v),B=performance.now(),N=()=>{const M=Math.min(1,(performance.now()-B)/150);try{kn(v,k+(A-k)*M)}catch{}M<1?p.current=requestAnimationFrame(N):p.current=null};p.current=requestAnimationFrame(N)}}},[e?.settings,e?.settings.enabled,_,e?.settings.type,g,C,b,t,a,d]),o.useEffect(()=>{const x=s.current;if(x)try{x.playbackRate=Math.min(1.25,Math.max(.75,e?.settings.speed??1))}catch{}},[e?.settings.speed]),{noiseAudioRef:s,activeNoiseUrl:i,noiseSettingsRef:d,cancelNoiseFade:g,fadeInNoise:C,fadeOutNoise:b}}function d5({ttsText:e,playbackRate:t,mainVolume:a,fillRef:r,waveProgressRef:s,setProgress:i,setPlaybackState:l,setStateLocal:c,fadeInNoise:u,fadeOutNoise:d,noiseSettingsRef:p,onDoneRef:m,handleEndRef:h}){const g=o.useRef(null),C=o.useRef(0),b=o.useRef(null),_=o.useRef(0),f=o.useRef(!1);o.useEffect(()=>()=>{_.current++;try{if(b.current&&(cancelAnimationFrame(b.current),b.current=null),f.current&&window.speechSynthesis){try{window.speechSynthesis.cancel()}catch{}f.current=!1}}catch{}},[]);const y=(A,w=1)=>{try{const D=(A||"").trim().split(/\s+/).filter(Boolean).length||Math.max(1,(A||"").length);return Math.max(700,Math.round(D*300/Math.max(.25,w)))}catch{return 1200}},x=o.useCallback(A=>{if(typeof window>"u"||!window.speechSynthesis){try{typeof m.current=="function"&&m.current(!1)}catch{}return}const w=window.speechSynthesis,D=++_.current;try{try{w.cancel()}catch{}const k=A??e,B=Array.isArray(k)?k.filter(S=>!!S):[k||""];B.length===0&&B.push("");const N=Math.max(.3,Math.min(3,t));C.current=B.reduce((S,F)=>S+y(F,N||1),0),g.current=performance.now(),i(0),l("playing"),c("playMode");const M=p.current;M?.enabled&&(M?.volume??0)>0&&u(M.volume);const P=()=>{try{const S=g.current||performance.now(),F=performance.now()-S,Y=C.current||1200,G=Math.min(1,F/Y);try{r.current&&(r.current.style.left=`${G*100}%`),s.current&&s.current.style.setProperty("--progress",String(G))}catch{}G<1&&(b.current=requestAnimationFrame(P))}catch{}},$=()=>{if(D===_.current)try{b.current&&(cancelAnimationFrame(b.current),b.current=null),i(1),l("stopped");try{h.current?.()}catch{try{typeof m.current=="function"&&m.current(!0)}catch{}}}catch{}},W=S=>{const F=new SpeechSynthesisUtterance(B[S]);try{F.rate=N}catch{}try{F.volume=Math.max(0,Math.min(1,a))}catch{}F.onend=()=>{if(D===_.current){if(S<B.length-1){try{W(S+1)}catch{$()}return}$()}},F.onerror=()=>{$()},F.onstart=()=>{if(!(S>0))try{b.current&&(cancelAnimationFrame(b.current),b.current=null),b.current=requestAnimationFrame(P)}catch{}},f.current=!0,w.speak(F)};try{W(0)}catch{try{typeof m.current=="function"&&m.current(!0)}catch{}}}catch{try{typeof m.current=="function"&&m.current(!0)}catch{}}},[e,t,a,u,r,s,i,l,c,p,m,h]),v=o.useCallback(()=>{_.current++;try{if(window.speechSynthesis)try{window.speechSynthesis.cancel()}catch{}b.current&&(cancelAnimationFrame(b.current),b.current=null),d(),g.current=null}catch{}l("stopped"),c("active"),i(0)},[d,l,c,i]);return{startTTS:x,stopTTS:v}}async function p5(e,t,a){let r=null;try{const s=window.AudioContext||window.webkitAudioContext;r=new s;const i=await r.decodeAudioData(e.slice(0)),l=i.numberOfChannels>0?i.getChannelData(0):null;if(!l)return null;const c=a&&a>0?Math.min(l.length,Math.floor(a*i.sampleRate)):l.length,u=Math.max(t,c),d=Math.floor(u/t)||1;return new Array(t).fill(0).map((p,m)=>{const h=m*d,g=Math.min(h+d,u);let C=0;for(let b=h;b<g;b++){const _=Math.abs(l[b]);_>C&&(C=_)}return C})}catch{return null}finally{try{r?.close?.()}catch{}}}async function Rc(e,t,a){try{const r=await fetch(e);if(r.ok===!1)return null;const s=await r.arrayBuffer();return await p5(s,t,a)}catch(r){try{const s=Ys(r)}catch{}return null}}const Pc=45,m5=74,h5=2;function Ta(e){const t=Math.min(2,Math.max(0,Number(e)||0));return t<=1?t*45:45+(t-1)*29}function No(e){return Ta(e)/45}const Ic=4;function f5(e){const{src:t,segments:a,progress:r=0,waveProgressRef:s,noiseSrc:i,noiseRatio:l=0,noiseSpeed:c=1,totalDuration:u=0,mainVolume:d=1,onReadyChange:p,showSoundWaveForm:m=!0}=e,h=o.useRef(null),g=o.useRef(null),[C,b]=o.useState(null),[_,f]=o.useState(!1),[y,x]=o.useState(null),[v,A]=o.useState(2),[w,D]=o.useState(0),[k,B]=o.useState(null),[N,M]=o.useState(!1),[P,$]=o.useState(!1),W=3,S=3,F=1,Y=300,G=o.useRef(0),q=o.useCallback(()=>{const ie=h.current,U=g&&g.current?g.current:ie?ie.closest(".audio-player__wave"):null,se=U?U.getBoundingClientRect():ie?ie.getBoundingClientRect():null,me=se?se.width:0,_e=se?Math.max(100,se.width):320,we=se?se.height:0,De=Math.max(F,Math.min(Y,Math.floor((_e+S)/(W+S)))),xe=De*W,Ae=Math.max(0,De-1),Te=Math.max(0,Ae>0?(_e-xe)/Ae:S);return{bars:De,gap:Te,height:we,width:me}},[]),H=o.useRef(void 0),z=o.useRef(null),Z=o.useCallback(async(ie,U,{quiet:se=!1}={})=>{const me=++G.current,_e=()=>G.current===me;try{if(se||f(!1),H.current=ie,!ie){_e()&&b(null);return}let we=U;if(!we)try{for(let Ae=0;Ae<4&&!(h.current||g.current);Ae++)await new Promise(Te=>requestAnimationFrame(Te));await new Promise(Ae=>requestAnimationFrame(Ae));const xe=q();xe.height>0&&D(xe.height),we=xe.bars,A(xe.gap)}catch{we=120}z.current=we;const De=await Rc(ie,we);if(!_e())return;if(!De){b(null),f(!1);return}b(De),x(we),f(!0)}catch{if(!_e())return;b(null),f(!1)}},[f,b,D,A,x,q]);o.useEffect(()=>{const ie=g.current;if(!ie||typeof ResizeObserver>"u")return;let U=null;const se=new ResizeObserver(()=>{U!==null&&cancelAnimationFrame(U),U=requestAnimationFrame(()=>{U=null;try{const me=q();if(me.width<=0||(me.height>0&&D(me.height),z.current===null||me.bars===z.current))return;const _e=H.current;A(me.gap),_e?Z(_e,me.bars,{quiet:!0}).catch(()=>{}):z.current=me.bars}catch{}})});return se.observe(ie),()=>{se.disconnect(),U!==null&&cancelAnimationFrame(U)}},[q,Z]),o.useEffect(()=>{const ie=a&&a[0]&&a[0].src||t||a&&a.length===1&&a[0]&&a[0].src;Z(typeof ie=="string"?ie:void 0).catch(()=>{}),$(!1)},[t,a,Z]),o.useEffect(()=>{let ie=!1;if(M(!1),!i||!y){B(null);return}const U=u>0?u*(c||1):void 0;return Rc(i,y,U).then(se=>{ie||(B(se),se||M(!0))}).catch(()=>{ie||(B(null),M(!0))}),()=>{ie=!0}},[i,y,u,c]);const I=Math.max(0,Math.min(1,d)),T=o.useMemo(()=>C&&C.length&&Math.max(...C)||1,[C]),O=y||40,R=o.useMemo(()=>Array.from({length:O}).map((ie,U)=>{const se=C&&C[U]!=null?C[U]:null,me=se==null?null:Math.min(1,se/T*I),_e=me!=null&&w>0&&Ta(me)<=Ic,we=me==null?.15:_e?0:No(me),De=O>1?U/(O-1):0;return n.jsx("div",{className:_e?"audio-player__bar audio-player__bar--hidden":"audio-player__bar",style:{"--val":we,"--i":U,"--mix":De}},U)}),[O,C,T,I,w]),j={"--progress":String(Math.max(0,Math.min(1,r)))},L=i?Math.max(1,l):1,Q={"--bar-gap":`${v}px`,"--wave-h":`${Ta(L)}px`,"--wave-h1":`${Pc}px`},J=I*Math.max(0,l)/Fs(),oe=_&&(i?!!k||N:!0);o.useEffect(()=>{oe&&$(!0)},[oe]);const ge=P?_:oe;o.useEffect(()=>{p?.(ge)},[ge,p]);const Me=y||40,Ne=o.useMemo(()=>Array.from({length:Me}).map((ie,U)=>{const se=k&&k[U]!=null?k[U]:null,me=se==null?0:se/T*J,_e=w>0&&Ta(me)<=Ic,we=_e?0:No(me),De=Me>1?U/(Me-1):0;return n.jsx("div",{className:_e?"audio-player__bar audio-player__bar--hidden":"audio-player__bar",style:{"--val":we,"--i":U,"--mix":De}},U)}),[Me,k,T,J,w]);return n.jsxs("div",{className:"audio-player__wave",ref:g,style:Q,children:[i&&n.jsx("div",{className:`audio-player__wave-noise ${oe?"is-ready":""}`,"aria-hidden":"true",children:Ne}),m&&n.jsxs(n.Fragment,{children:[n.jsx("div",{className:`audio-player__wave-inner audio-player__wave-unplayed ${ge?"is-ready":""}`,ref:h,children:R}),n.jsx("div",{className:`audio-player__wave-inner audio-player__wave-played ${ge?"is-ready":""}`,ref:s,style:j,children:R})]})]})}const C5={idle:"\uB300\uAE30",resolving:"\uB9AC\uC18C\uC2A4 \uB9E4\uD551 \uC911\u2026",checking_exists:"\uD30C\uC77C \uC874\uC7AC \uD655\uC778\u2026",getting_signed_url:"\uC11C\uBA85 URL \uC870\uD68C\u2026",downloading:"\uB2E4\uC6B4\uB85C\uB4DC \uC911\u2026",measuring_duration:"\uC624\uB514\uC624 \uAE38\uC774 \uCE21\uC815\u2026",ready:"\uC900\uBE44 \uC644\uB8CC",error:"\uC624\uB958 \uBC1C\uC0DD"};function Do(e,t){return new Promise((a,r)=>{const s=document.createElement("audio");let i=!1;const l=()=>{try{s.src=""}catch{}},c=()=>{if(i)return;i=!0;const d=isFinite(s.duration)&&s.duration||0;l(),a(d)},u=d=>{i||(i=!0,l(),t.rejectOnError?r(new Error(d)):a(0))};s.addEventListener("loadedmetadata",c),s.addEventListener("error",()=>u("audio load failed")),setTimeout(()=>u("audio load timeout"),t.timeoutMs),s.src=e})}const g5=2e3;function Fc(e,t=g5){return new Promise(a=>{let r=!1;const s=()=>{r||(r=!0,a())};e.addEventListener("canplay",s,{once:!0}),e.addEventListener("error",s,{once:!0}),setTimeout(s,t)})}function b5({showSoundWaveForm:e,showNoiseWaveForm:t,timeoutMs:a=2500}){const r=o.useRef(!1),s=o.useRef([]),i=o.useCallback(u=>{if(r.current=u,!u||!s.current.length)return;const d=s.current;s.current=[];for(const p of d)p(!0)},[]),l=o.useCallback(()=>{r.current=!1},[]),c=o.useCallback(()=>!e&&!t||r.current?Promise.resolve(!0):new Promise(u=>{const d=m=>{clearTimeout(p),s.current=s.current.filter(h=>h!==d),u(m)},p=setTimeout(()=>d(!0),a);s.current.push(d)}),[e,t,a]);return o.useEffect(()=>()=>{const u=s.current;s.current=[];for(const d of u)d(!1)},[]),{onReadyChange:i,waitForReady:c,markNotReady:l}}function y5(){const e=o.useRef([]),t=o.useCallback(s=>(e.current.push(s),s),[]),a=o.useCallback(s=>{const i=new Set([...s].filter(Boolean));e.current=e.current.filter(l=>{if(i.has(l))return!0;try{URL.revokeObjectURL(l)}catch{}return!1})},[]),r=o.useCallback(()=>{a([])},[a]);return o.useEffect(()=>()=>{for(const s of e.current)try{URL.revokeObjectURL(s)}catch{}e.current=[]},[]),{track:t,keepOnly:a,revokeAll:r}}function v5({offsetY:e=8}={}){const t=o.useRef(null),[a,r]=o.useState(null),s=o.useCallback(()=>r(null),[]),i=o.useCallback(()=>{try{const l=t.current?.getBoundingClientRect();if(!l)return;r({left:l.left,right:l.right,width:l.width,height:l.height,x:l.x,top:l.top+e,bottom:l.bottom+e,y:l.y+e,toJSON:l.toJSON.bind(l)})}catch{}},[e]);return o.useEffect(()=>{if(a)return document.addEventListener("mousedown",s),()=>document.removeEventListener("mousedown",s)},[a,s]),{ref:t,rect:a,show:i,hide:s}}function x5({currentTime:e,sources:t,index:a,audioDuration:r}){const s=a||0,i=Array.isArray(t)&&t.length>0?t[s]:void 0,l=i?i.duration||r||0:r||0;if(!(l>0))return 0;const c=Number.isFinite(e)?e:0;return Math.max(0,Math.min(1,c/l))}function _5(e,t){if(!Array.isArray(e))return null;const a=t||0;return a<e.length-1?a+1:null}function w5({ended:e,completedByEnd:t}){return!!e||!!t}function k5(e){return e.map((t,a)=>({src:t.src,label:String(a+1),color:void 0,duration:t.duration||0}))}function A5(e){return e.reduce((t,a)=>t+(a.duration||0),0)}function B5(e,t,a){const r=Array.isArray(e)?e:e?[e]:[],s=[];for(const i of r)if(i){if(typeof i=="object"&&i!==null&&"src"in i&&i.src){const l=i;s.push({code:l.code??null,src:l.src});continue}if(typeof i=="string"&&(i.startsWith("http")||i.includes("/"))){s.push({code:null,src:i});continue}if(typeof i=="string"||typeof i=="number"){const l=String(i),c=a(l,t);c&&s.push({code:l,resolvedPath:c})}}return s}function N5(e){if(!e)return 0;const t=e.duration;if(Number.isFinite(t)&&t>0)return t;if(t===0)return 0;try{const a=e.seekable;if(a&&a.length>0){const r=a.end(a.length-1);if(Number.isFinite(r)&&r>0)return r}}catch{}return null}function D5({audioRef:e,fillRef:t,waveProgressRef:a,sourcesRef:r,currentIndexRef:s}){const i=o.useRef(null),l=o.useCallback(()=>{i.current!==null&&(cancelAnimationFrame(i.current),i.current=null)},[]),c=o.useCallback(()=>{if(i.current!==null)return;const d=()=>{try{const p=e.current,m=Array.isArray(r.current)?r.current[s.current||0]:void 0,h=m&&Number.isFinite(m.duration)&&(m.duration??0)>0?0:N5(p),g=t.current;if(h===null)try{g&&g.style.visibility!=="hidden"&&(g.style.visibility="hidden")}catch{}else{const C=x5({currentTime:p&&typeof p.currentTime=="number"?p.currentTime:0,sources:r.current,index:s.current,audioDuration:h});try{g&&(g.style.visibility&&(g.style.visibility=""),g.style.left=`${C*100}%`)}catch{}try{a.current?.style.setProperty("--progress",String(C))}catch{}}}catch{}i.current=requestAnimationFrame(d)};i.current=requestAnimationFrame(d)},[e,t,a,r,s]),u=o.useCallback(d=>{l();try{t.current&&(t.current.style.visibility="",t.current.style.left=`${d*100}%`)}catch{}try{a.current?.style.setProperty("--progress",String(d))}catch{}},[l,t,a]);return o.useEffect(()=>l,[l]),{start:c,stop:l,settleTo:u}}function So({btnLabel:e,soundSrc:t,bucketPath:a,onDone:r,disabled:s=!1,ttsText:i=null,className:l,showSoundWaveForm:c=!0,showNoiseWaveForm:u=!0}){const{t:d}=fe.useTranslation(),p=e,m=nr(),h=o.useRef(m?.registerAnalyser);o.useEffect(()=>{h.current=m?.registerAnalyser});const g=o.useRef(null),C=o.useRef(null),b=o.useRef(null),_=y5(),f=o.useRef(null),y=o.useRef(!1),x=o.useRef(0),v=o.useRef(null),{ref:A,rect:w,show:D,hide:k}=v5();o.useEffect(()=>()=>{h.current?.("main",null),h.current?.("noise",null)},[]);const[B,N]=o.useState(!1),[M,P]=o.useState("idle"),[$,W]=o.useState("stopped"),S=o.useRef("stopped");o.useEffect(()=>{S.current=$},[$]);const[F,Y]=o.useState(0),[G,q]=o.useState("active"),H=o.useRef(!1);o.useEffect(()=>{if(G!=="playMode"||!H.current)return;H.current=!1;const V=typeof document<"u"?document.activeElement:null;if(V&&V!==document.body)return;const re=b.current?.querySelectorAll("button")[1];try{re?.focus()}catch{}},[G]);const[z,Z]=o.useState(null),[I,T]=o.useState(null),[O,R]=o.useState(0),[j,L]=o.useState(!1),[Q,J]=o.useState(0),oe=m?.playbackRate??1,ge=m?.mainVolume??1,Me=m?wo(m.settings):0,Ne=m?Lc(m.settings):ge,[ie,U]=o.useState("idle"),[se,me]=o.useState(""),[_e]=o.useState("top"),we=o.useRef(null),De=o.useRef(0),xe=o.useRef(null),{start:Ae,stop:Te,settleTo:ae}=D5({audioRef:g,fillRef:C,waveProgressRef:xe,sourcesRef:we,currentIndexRef:De}),{onReadyChange:ee,waitForReady:de,markNotReady:te}=b5({showSoundWaveForm:c,showNoiseWaveForm:u}),he=o.useRef(null),be=o.useRef(s),Ye=o.useRef(r),Ve=o.useRef(null),qe=o.useRef(!1),[Se,Ue]=o.useState(!1),$e=o.useCallback(V=>{qe.current=V,Ue(V)},[]),Ie=o.useRef(null),{activeNoiseUrl:He,noiseSettingsRef:at,fadeInNoise:ot,fadeOutNoise:We}=u5({noisePlayer:m,audioRef:g,playbackStateRef:S}),{startTTS:Xe,stopTTS:Ct}=d5({ttsText:i,playbackRate:oe,mainVolume:Ne,fillRef:C,waveProgressRef:xe,setProgress:Y,setPlaybackState:W,setStateLocal:q,fadeInNoise:ot,fadeOutNoise:We,noiseSettingsRef:at,onDoneRef:Ye,handleEndRef:Ie});o.useEffect(()=>{bt.current=Ct});const At=V=>{if(typeof window>"u"||!window.speechSynthesis){try{me(d("training.ttsUnavailable","\uC774 \uAE30\uAE30\uC5D0\uC11C\uB294 \uC74C\uC131\uC744 \uB4E4\uB824\uC904 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4."))}catch{}Xe(V);return}Nt("tts"),Xe(V)},Et=Array.isArray(t)?t.filter(Boolean):t?[t]:[],ut=(!Et||Et.length===0)&&!!i,Qe=Array.isArray(z)&&z.length>0?z:Array.isArray(I)&&I.length>0?I:null,Ze=Math.max(Array.isArray(Qe)?Qe.length:0,Et.length),Oe=o.useRef(!0);o.useEffect(()=>(Oe.current=!0,()=>{Oe.current=!1}),[]);const rt=o.useRef(0),et=()=>{rt.current+=1,x.current+=1},bt=o.useRef(null),ze=o.useRef(null),it=o.useRef(null),Bt=o.useRef(null);Bt.current||(Bt.current=()=>{it.current=null;const V=g.current;if(ze.current==="audio"&&V&&!V.paused){rt.current+=1,x.current+=1;try{V.pause()}catch{}Oe.current&&W("paused")}else if(ze.current==="tts")try{bt.current?.()}catch{}});const Nt=V=>{ze.current=V,it.current=Za(Bt.current)},Le=()=>{it.current?.(),it.current=null};o.useEffect(()=>()=>{Bt.current&&Xa(Bt.current)},[]);const Ke=o.useCallback(async(V,re=3,le=50)=>{const ye=rt.current;for(let ve=0;ve<re;ve++){if(!Oe.current||ye!==rt.current)return!1;try{return Nt("audio"),await V.play(),!0}catch(je){if((je instanceof Error||typeof je=="object"&&je&&"name"in je?je.name:void 0)==="AbortError"){if(ye!==rt.current)return!1;await new Promise(nt=>setTimeout(nt,le));continue}try{me(d("training.audioFetchError","\uC0AC\uC6B4\uB4DC \uC18C\uC2A4\uB97C \uAC00\uC838\uC624\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4."))}catch{}return!1}}try{me(d("training.audioFetchError","\uC0AC\uC6B4\uB4DC \uC18C\uC2A4\uB97C \uAC00\uC838\uC624\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4."))}catch{}return!1},[d]),Dt=o.useCallback(()=>{const V=g.current;if(!V)return;const re=()=>{W("playing"),q("playMode"),L(!0),Ae();try{Dr(),La(V).then(je=>{if(Oe.current)try{h.current?.("main",je)}catch{}})}catch{}const ve=at.current;ve?.enabled&&(ve?.volume??0)>0&&ot(ve.volume)},le=()=>{w5({ended:!!V?.ended,completedByEnd:qe.current})||(W("paused"),Te(),We())},ye=()=>{try{const ve=we.current,je=_5(ve,De.current);if(je!==null){De.current=je,R(je),L(!0);const nt=ve?.[je]&&ve[je].src;if(nt&&V){V.src=nt,V.load(),Ke(V).catch(()=>{});return}}}catch{}W("stopped"),Y(1);try{if(V)try{V.currentTime=0}catch{}}catch{}Te(),L(!1),We();try{!be.current&&Ie.current&&Ie.current()}catch{}};return V.addEventListener("play",re),V.addEventListener("pause",le),V.addEventListener("ended",ye),()=>{try{V.removeEventListener("play",re),V.removeEventListener("pause",le),V.removeEventListener("ended",ye),Te()}catch{}}},[ot,We,Ke,at,Ae,Te]);o.useEffect(()=>Dt(),[Dt]),o.useEffect(()=>{be.current=s},[s]),o.useEffect(()=>{Ye.current=r},[r]),o.useEffect(()=>{if(s||G!=="active")return;const V=v.current;if(!V)return;let re=null;const le=requestAnimationFrame(()=>{try{const ye=V.getTotalLength();if(!ye)return;const ve=ye*.2;V.style.strokeDasharray=`${ye-ve} ${ve}`;const je="triFlow_"+Math.random().toString(36).slice(2);re=document.createElement("style"),re.textContent=`@keyframes ${je}{from{stroke-dashoffset:0}to{stroke-dashoffset:-${ye}}}`,document.head.appendChild(re),V.style.animation=`${je} 2.4s linear infinite`}catch{}});return()=>{cancelAnimationFrame(le),re?.remove()}},[G,s]),o.useEffect(()=>{we.current=z},[z]),o.useEffect(()=>{De.current=O},[O]),o.useEffect(()=>{const V=b.current,re=f.current;if(!V||!re)return;let le=null;const ye=32,ve=60,je=()=>{try{const ht=Array.from(V.querySelectorAll(":scope > .button"));let lt=0;ht.forEach(pn=>{if(pn===re)return;const ur=pn.getBoundingClientRect();lt+=ur.width});const _t=V.getBoundingClientRect().width,zt=Math.max(0,Math.floor(_t-lt-8)),Rt=Ze;if(!Rt||zt<=0){Array.from(re.children).forEach(pn=>{try{pn.style.width=""}catch{}});return}let dn=Math.floor(zt/Rt);dn>ve&&(dn=ve),dn<ye&&(dn=Math.max(ye,Math.floor(zt/Rt))),Array.from(re.querySelectorAll(".button")).forEach(pn=>{try{pn.style.width=`${dn}px`}catch{}})}catch{}},nt=requestAnimationFrame(je);try{le=new ResizeObserver(()=>{requestAnimationFrame(je)}),le.observe(V),le.observe(re),window.addEventListener("resize",je)}catch{}return()=>{try{cancelAnimationFrame(nt)}catch{}try{le&&(le.disconnect(),le=null)}catch{}try{window.removeEventListener("resize",je)}catch{}}},[z,I,Ze]),o.useEffect(()=>()=>{try{he.current&&(clearTimeout(he.current),he.current=null),Ve.current&&(clearTimeout(Ve.current),Ve.current=null)}catch{}},[]);const vt=(V,re)=>{Z(V),J(re),te(),T(k5(V)),we.current=V},Tt=async(V,re)=>{$e(!1),y.current=!1,V.src=re,V.load(),await Fc(V),await de()!==!1&&(N(!1),await Ke(V),q("playMode"),R(0),L(!0))},on=async(V,re=!1)=>{const le=g.current;N(!0),P("measuring_duration");try{const ye=await Do(V,{timeoutMs:1e4,rejectOnError:!0});vt([{src:V,objectUrl:null,duration:ye}],ye),P("ready"),re&&le&&await Tt(le,V)}finally{y.current=!1,N(!1)}},tt=async(V,re=!1)=>{const le=g.current;N(!0),P("measuring_duration");try{const ye=await Promise.all(V.map(je=>Do(je,{timeoutMs:1e4})));if(!Oe.current)return;const ve=V.map((je,nt)=>({src:je,objectUrl:null,duration:ye[nt]||0}));vt(ve,A5(ve)),P("ready"),re&&le&&ve.length>0&&await Tt(le,ve[0].src)}finally{y.current=!1,N(!1)}},Gt=async(V=!1,re=!0)=>{const le=g.current,ye=t?Array.isArray(t)?t:[t]:[];if(!ye||ye.length===0||!ye.some(Boolean))return!1;if(y.current)return null;y.current=!0,re&&N(!0),P("resolving");try{const ve=B5(t,a,Rs),je=[];let nt=0;for(const ht of ve){let lt=ht.src??null,_t=null;if(!lt&&ht.resolvedPath){try{P("getting_signed_url"),lt=await Ps(ht.resolvedPath)}catch{lt=null}if(!Oe.current)return!1;if(!lt)try{P("downloading");const Rt=await Is(ht.resolvedPath);if(!Oe.current)return!1;if(Rt){const dn=Rt instanceof Blob?Rt:new Blob([Rt]);_t=_.track(URL.createObjectURL(dn)),lt=_t}}catch{P("error");try{me(d("training.audioFetchError","\uC0AC\uC6B4\uB4DC \uC18C\uC2A4\uB97C \uAC00\uC838\uC624\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4.")),q("active")}catch{}}}if(!lt)continue;let zt=0;try{P("measuring_duration"),zt=await Do(lt,{timeoutMs:3e3})}catch{zt=0}if(!Oe.current){if(_t)try{URL.revokeObjectURL(_t)}catch{}for(const Rt of je)if(Rt.objectUrl)try{URL.revokeObjectURL(Rt.objectUrl)}catch{}return!1}nt+=zt||0,je.push({...ht,src:lt,objectUrl:_t,duration:zt})}if(vt(je,nt),je.length>0&&V&&le){const ht=je[0];$e(!1);try{_.keepOnly(je.map(lt=>lt.objectUrl))}catch{}if(P("ready"),y.current=!1,ht.src&&le)try{if(le.src=ht.src,le.load(),await Fc(le),await de()===!1)return!1;re&&N(!1),le&&await Ke(le)}catch{re&&N(!1)}else re&&N(!1);q("playMode"),R(0),L(!0)}return je.length>0}finally{y.current=!1,re&&N(!1),P(ve=>ve==="ready"?"ready":"idle")}},vn=async()=>{const V=g.current;if(!(!V&&!ut)){if(ut){const re=window.speechSynthesis;if(G==="active"){const le=Ar(),ye=Array.isArray(i)?i.filter(Boolean):i?[i]:[];if(le&&ye.length>0){q("load"),N(!0),P("resolving"),y.current=!0;try{const ve=await Promise.all(ye.map(je=>Promise.resolve(le(je))));ve.length>1?await tt(ve,!0):await on(ve[0],!0)}catch{y.current=!1,N(!1),q("active"),At(ye.length>0?ye:void 0)}return}At(ye.length>0?ye:void 0);return}if(G==="playMode"){const le=!!re&&(re.speaking||re.paused)&&!(V&&(V.currentSrc||V.getAttribute("src")));if(V&&!le){if(V.paused){if(qe.current){await xt();return}await Ke(V),W("playing")}else et(),V.pause(),W("paused");return}try{if(re&&re.paused)try{Nt("tts"),re.resume(),W("playing")}catch{}else try{re.pause(),W("paused")}catch{}}catch{}}return}if(G==="active"){if(s&&Array.isArray(we.current)&&we.current.length>0){const le=we.current[0];try{if(le.src&&V)try{V.src=le.src,V.load(),V&&await Ke(V)}catch{}q("playMode"),R(0),L(!0);return}catch{}}q("load");let re;try{re=await Gt(!0)}catch{re=!1}if(re===!1&&Oe.current){try{me(d("training.audioFetchError","\uC0AC\uC6B4\uB4DC \uC18C\uC2A4\uB97C \uAC00\uC838\uC624\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4."))}catch{}q("active")}return}if(G!=="load"&&(G==="playMode"||G==="active"))try{if(V&&V.paused){if(qe.current){await xt();return}V&&await Ke(V),W("playing")}else V&&(et(),V.pause(),W("paused"))}catch(re){(re instanceof Error||typeof re=="object"&&re&&"name"in re)&&re.name}}},xt=async()=>{const V=g.current;if(V)try{const re=we.current;if(Array.isArray(re)&&re.length>1){await Kt(0);return}$e(!1);try{V.currentTime=0}catch{}V&&await Ke(V),W("playing"),q("playMode")}catch{}},Ht=()=>{if(et(),Le(),ut){Ct();return}const V=g.current;try{if(V){try{V.pause()}catch{}try{V.currentTime=0}catch{}}}catch{}We(),W("stopped"),q("active"),Y(0),L(!1)},Xt=async(V,{sameSegment:re=!1}={})=>{const le=++x.current,ye=g.current,ve=we.current?.[V]?.src;try{if($e(!1),R(V),L(!0),De.current=V,!ve||!ye||(re||te(),ye.src=ve,ye.load(),!re&&await de()===!1)||le!==x.current||(await Ke(ye),le!==x.current))return;W("playing"),q("playMode")}catch{}},an=async()=>{const V=we.current,re=De.current||0;if(!V||re<=0){await xt();return}await Xt(re-1)},sn=async()=>{const V=we.current,re=De.current||0;if(!V||re>=V.length-1){Ht();return}await Xt(re+1)},Jt=()=>{if(qe.current)return;const V=200,re=340;$e(!0),et(),Le();try{Y(1)}catch{}ae(1);try{U("hold")}catch{}try{const le=g.current,ye=ut&&!!le?.src;if(!ut||ye){if(le){le.pause();try{le.currentTime=0}catch{}}}else Ct();We()}catch{}try{W("stopped")}catch{}if(L(!1),!be.current)try{Ve.current&&(clearTimeout(Ve.current),Ve.current=null),Ve.current=setTimeout(()=>{try{U("out")}catch{}Ve.current=setTimeout(()=>{try{typeof Ye.current=="function"&&Ye.current(!0)}catch{}try{U("idle")}catch{}Ve.current=null},re)},V)}catch{}};o.useEffect(()=>{Ie.current=Jt});const xn=o.useCallback(()=>me(""),[]),Kt=async V=>{(we.current||[])[V]&&await Xt(V,{sameSegment:V===De.current})},mt=$==="playing",ln=o.useMemo(()=>{if(!I||I.length<=1)return I;const V=I[O];return V?[V]:I},[I,O]),Yt=s===!0;o.useEffect(()=>{try{const V=g.current;V&&typeof V.playbackRate=="number"&&(V.playbackRate=oe||1)}catch{}},[oe]);const jt=o.useRef({raf:null,timer:null});o.useEffect(()=>{const V=g.current;if(!V)return;const re=Math.max(0,Math.min(1,Ne)),le=jt.current,ye=()=>{le.raf!==null&&(cancelAnimationFrame(le.raf),le.raf=null),le.timer!==null&&(clearTimeout(le.timer),le.timer=null)};ye();const ve=$a(V);if(V.paused||Math.abs(ve-re)<.001||typeof requestAnimationFrame!="function"){try{kn(V,re)}catch{}return}const je=performance.now(),nt=()=>{const ht=Math.min(1,(performance.now()-je)/150);try{kn(V,ve+(re-ve)*ht)}catch{}le.raf=ht<1?requestAnimationFrame(nt):null};return le.raf=requestAnimationFrame(nt),le.timer=setTimeout(()=>{ye();try{kn(V,re)}catch{}},200),ye},[Ne]);const cn=ie==="hold",Zt=ie==="out",un=G==="playMode"&&!B&&!Se||cn||Zt,ke=$!=="stopped"||cn||Zt,Pe=$==="paused",ne=Math.max(0,Math.min(100,(F||0)*100)),pe=Be("audio-player__fill",un?"is-visible":"",ke?"is-expanded":"",Pe?"is-paused":"",Zt?"is-out":"");return n.jsxs("div",{className:`audio-player ${Yt?"is-disabled":""}${l?` ${l}`:""}`,role:"group","aria-label":typeof p=="string"?p:void 0,children:[n.jsxs("div",{className:`audio-player__panel ${mt?"is-playing":""} ${B?"is-loading":""} ${G!=="default"?"is-revealed":""}`,children:[B?n.jsxs("div",{className:"audio-player__loading",role:"status","aria-live":"polite",children:[n.jsx("span",{className:"audio-player__loading-spinner","aria-hidden":"true"}),n.jsx("span",{className:"audio-player__loading-text",children:d(`training.audioStatus.${M}`,{defaultValue:C5[M]})})]}):null,G==="active"?n.jsx("button",{className:"audio-player__button",type:"button",disabled:Yt,onClick:()=>{H.current=Ja(),k(),vn()},"aria-label":typeof p=="string"?p:d("training.listen","\uB4E3\uAE30"),onMouseEnter:D,onMouseLeave:k,onFocus:D,onBlur:k,children:n.jsx("span",{ref:A,className:"audio-player__button-triangle-wrap",children:n.jsx("svg",{className:"audio-player__button-triangle",viewBox:"0 0 24 24","aria-hidden":"true",children:n.jsx("path",{ref:v,d:"M13.2 7.7 L16.5 9.85 Q20.2 12 16.5 14.15 L10 18.3 Q7 19.7 7 16.3 L7 7.7 Q7 4.3 10 5.7 L13.2 7.7"})})})}):null,w&&n.jsx(Bn,{anchorRect:w,text:typeof p=="string"&&p?p:d("training.listenLabel","\uBB38\uC7A5 \uB4E3\uAE30"),offset:8}),n.jsxs("div",{className:`audio-player__play ${G==="playMode"||mt?"is-visible":""}`,inert:!(G==="playMode"||mt)||void 0,children:[n.jsxs("div",{ref:b,className:"audio-player__buttons",children:[n.jsx(ce,{htmlType:"button",size:32,showTooltipInfo:!0,type:"dot",shape:"pill",useBorder:!1,icon:"skip-back",onClick:an,ariaLabel:d("training.prev","\uC774\uC804"),width:"60px",variant:"transparent-white","aria-hidden":"true",tabIndex:-1,disabled:G!=="playMode"}),n.jsx(ce,{htmlType:"button",size:32,showTooltipInfo:!0,type:"dot",shape:"pill",useBorder:!1,icon:mt?"pause":"play",onClick:vn,ariaLabel:d("common.playPause","\uC7AC\uC0DD / \uBA48\uCDA4"),"aria-pressed":mt,width:"60px",variant:"transparent-white",disabled:G!=="playMode"}),n.jsx(ce,{htmlType:"button",size:32,showTooltipInfo:!0,type:"dot",shape:"pill",useBorder:!1,icon:"square",onClick:Ht,ariaLabel:d("training.stop","\uC815\uC9C0"),width:"60px",variant:"transparent-white","aria-hidden":"true",tabIndex:-1,disabled:G!=="playMode"}),Ze>1?n.jsx("div",{ref:f,className:"audio-player__source-buttons",children:Array.from({length:Ze}).map((V,re)=>n.jsx(ce,{htmlType:"button",size:32,type:"dot",shape:"pill",useBorder:!1,label:String(re+1),onClick:()=>{try{Kt(re)}catch{}},ariaLabel:d("training.sourcePlay",{n:re+1}),variant:"transparent-white",selected:j&&O===re,disabled:G!=="playMode"||!(Array.isArray(z)&&z[re]),showTooltipInfo:!0},re))}):null,!Array.isArray(z)||z.length<=1?n.jsx(ce,{htmlType:"button",size:32,showTooltipInfo:!0,type:"dot",shape:"pill",useBorder:!1,icon:"repeat",onClick:xt,ariaLabel:d("common.replay","\uB2E4\uC2DC\uB4E3\uAE30"),width:"60px",variant:"transparent-white",disabled:G!=="playMode"}):null,n.jsx(ce,{htmlType:"button",size:32,showTooltipInfo:!0,type:"dot",shape:"pill",useBorder:!1,icon:"skip-forward",onClick:sn,ariaLabel:d("training.next","\uB2E4\uC74C"),width:"60px",variant:"transparent-white","aria-hidden":!0,tabIndex:-1,disabled:G!=="playMode"}),n.jsx(ce,{htmlType:"button",size:32,showTooltipInfo:!0,type:"dot",shape:"pill",useBorder:!1,icon:"check",onClick:Jt,ariaLabel:d("common.done","\uC644\uB8CC"),width:"60px",variant:"transparent-white",disabled:G!=="playMode"})]}),n.jsxs("div",{className:"audio-player__slider",children:[n.jsx("div",{className:pe,ref:C,style:{left:`${ne}%`},"aria-hidden":"true"}),(c||u)&&n.jsx(f5,{segments:ln,progress:F,totalDuration:Q,waveProgressRef:xe,showSoundWaveForm:c,noiseSrc:u&&m?.settings.enabled&&Me>0?He:null,noiseRatio:m?Da(m.settings):0,noiseSpeed:m?.settings.speed??1,mainVolume:ge,onReadyChange:ee})]})]}),n.jsx("audio",{ref:g,crossOrigin:"anonymous",preload:"auto"})]}),!c&&n.jsxs("p",{className:"audio-player__no-waveform caption-1",children:[n.jsx(Ge,{icon:"triangle-alert",size:14}),d("training.noSoundWaveform","\uC18C\uB9AC \uBE44\uAD50 \uBB38\uC81C\uB294 \uC6E8\uC774\uBE0C\uD3FC\uC744 \uD45C\uD604\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.")]}),n.jsx(ea,{message:se,position:_e,onClose:xn})]})}function rr(e){const{t}=fe.useTranslation(),{text:a,label:r,anchorRect:s=null,onClose:i,closeOnOutsideClick:l=!0,isMobilePopup:c=!1}=e||{},[u,d]=o.useState(()=>{try{return localStorage.getItem("tooltip-theme")||"light"}catch{return"light"}});o.useEffect(()=>{try{localStorage.setItem("tooltip-theme",u)}catch{}},[u]);const{increase:p,decrease:m,canIncrease:h,canDecrease:g,fontSize:C,lineHeight:b}=Gi({storageKey:"tooltip-fontScale"}),_=o.useCallback(()=>d(A=>A==="dark"?"light":"dark"),[]),f=o.useCallback(A=>{try{A.stopPropagation()}catch{}try{typeof i=="function"&&i()}catch{}},[i]),y=Array.isArray(a)?a:typeof a>"u"||a===null?[]:[a],x={fontSize:`${C}px`,lineHeight:`${b}px`,"--tt-line-height":`${b}px`,"--tt-marker-size":"28px"},v=n.jsxs("div",{className:`tooltip-textbox__root ${u==="dark"?"is-dark":""}`,children:[n.jsxs("div",{className:"tooltip-textbox__box",children:[r&&n.jsx("div",{className:"tooltip-textbox__label body-2b",children:r}),n.jsx("div",{className:"tooltip-textbox__text body-1",style:x,children:y.map((A,w)=>n.jsxs("div",{className:"tooltip-textbox__line",children:[y.length>1?n.jsx("div",{className:"tooltip-textbox__marker",children:n.jsx("span",{className:"tooltip-textbox__line-number button-1",children:w+1})}):null,n.jsx("span",{className:"tooltip-textbox__line-text",children:A})]},w))})]}),n.jsxs("div",{className:"tooltip-textbox__buttons",children:[n.jsx(ce,{htmlType:"button",size:32,showTooltipInfo:!0,type:"dot",useBorder:!1,width:48,icon:"minus",onClick:m,ariaLabel:t("training.fontSizeDecrease","\uAE00\uC790 \uD06C\uAE30 \uAC10\uC18C"),variant:u==="dark"?"transparent-white":"transparent-gray",disabled:!g}),n.jsx(ce,{htmlType:"button",size:32,showTooltipInfo:!0,type:"dot",useBorder:!1,width:48,icon:"plus",onClick:p,ariaLabel:t("training.fontSizeIncrease","\uAE00\uC790 \uD06C\uAE30 \uC99D\uAC00"),variant:u==="dark"?"transparent-white":"transparent-gray",disabled:!h}),n.jsx(ce,{htmlType:"button",size:32,showTooltipInfo:!0,type:"dot",useBorder:!1,width:48,icon:u==="dark"?"moon":"sun-medium",onClick:_,ariaLabel:t("training.toggleBackground","\uBC30\uACBD \uC804\uD658"),variant:u==="dark"?"transparent-white":"transparent-gray"}),n.jsx(ce,{htmlType:"button",size:32,showTooltipInfo:!0,type:"dot",useBorder:!1,width:48,icon:"x",onClick:f,ariaLabel:t("common.close","\uB2EB\uAE30"),variant:u==="dark"?"transparent-white":"transparent-gray"})]})]});return s?n.jsx(An,{anchorRect:s,className:`tooltip-textbox ${u==="dark"?"is-dark":""}`,onClose:i,closeOnOutsideClick:l,isMobilePopup:c,ariaLabel:r||t("tooltip.textbox","\uBCF8\uBB38"),children:v}):n.jsx("div",{className:`tooltip-textbox ${u==="dark"?"is-dark":""}`,children:v})}function Oc({state:e="disabled"}){const{t}=fe.useTranslation();return n.jsxs("div",{className:`ts-bullet ts-bullet--${e}`,"aria-hidden":!0,children:[n.jsx("div",{className:"bullet__dot",children:n.jsx(Ge,{icon:"chevron-right",label:t("training.next","\uB2E4\uC74C"),className:"bullet__icon",imgClassName:"bullet__icon-img",maskClassName:"bullet__icon-mask",svgClassName:"bullet__icon-svg",wrapperStyle:{},size:20})}),n.jsx("div",{className:"ts-bullet__line"})]})}function Vc(e,t,a){const r=o.useRef(t),s=o.useRef(a);o.useEffect(()=>{r.current=t,s.current=a}),o.useEffect(()=>{if(!e||typeof document>"u")return;let i=null,l=10;const c=()=>{i=null;const u=r.current(),d=u?Array.from(u.querySelectorAll(hn)).find(p=>!p.closest('[aria-hidden="true"]')):void 0;if(d){try{d.focus()}catch{}if(document.activeElement===d)return}--l>0&&(i=requestAnimationFrame(c))};return i=requestAnimationFrame(c),()=>{i!==null&&cancelAnimationFrame(i);const u=document.activeElement;if(!u||u===document.body||!document.contains(u)||u.closest(".tooltip-content")){const d=s.current();if(d)try{d.focus()}catch{}}}},[e])}function Hc({title:e,children:t,className:a="",state:r="disabled",usePreviewTextBtn:s=!1,onPreviewTextBtn:i,previewText:l=null,useFaded:c,usePlayAllBtn:u=!1,onPlayAll:d,playAllActive:p=!1}){const{t:m}=fe.useTranslation(),h=en("(max-width: 767px)"),g=`training-step__title h4 ${c&&r==="disabled"?"training-step__title--faded":""} ${a}`.trim(),C=`training-step__title-row training-step__title-row--${r}`.trim(),b=o.useRef(null),[_,f]=o.useState(!1),[y,x]=o.useState(null),[v,A]=o.useState(null);Vc(_&&!!y,()=>{if(typeof document>"u")return null;const N=Array.from(document.querySelectorAll(".tooltip-content"));for(let M=N.length-1;M>=0;M--)if(N[M].querySelector(".tooltip-textbox__root"))return N[M];return null},()=>b.current?.querySelector("button")??null);const w=o.useRef(i);o.useEffect(()=>{w.current=i});const D=o.useMemo(()=>l==null?"":typeof l=="string"||typeof l=="number"?String(l):Array.isArray(l)&&l.every(N=>typeof N=="string"||typeof N=="number")?l.join(""):"",[l]),k=o.useCallback(()=>{f(!1),x(null),A(null)},[]);o.useEffect(()=>{if(!_)return;let N;try{typeof w.current=="function"&&(N=w.current())}catch{}if(N===!1){k();return}A(typeof N<"u"&&N!==null?N:null)},[D]);const B=o.useCallback(()=>{let N;try{typeof i=="function"&&(N=i())}catch{}if(N!==!1){if(A(typeof N<"u"&&N!==null?N:l),!b.current){f(M=>!M);return}if(_)f(!1),x(null),A(null);else{const M=b.current.getBoundingClientRect();x(M),f(!0)}}},[i,l,_]);return n.jsxs("div",{className:C,children:[n.jsx("p",{className:g,children:n.jsx("span",{className:"training-step__title-text",children:e??t})}),s||u?n.jsxs("div",{className:"title-controls",children:[n.jsxs("div",{className:"title-buttons",children:[u&&n.jsx(ce,{htmlType:"button",size:32,type:h?"dot":"bar",icon:"play-circle",label:h?void 0:m("training.playAll","\uBAA8\uB450 \uB4E3\uAE30"),ariaLabel:m("training.playAll","\uBAA8\uB450 \uB4E3\uAE30"),selected:p,onClick:d,variant:r==="disabled"?"disabled":"default",disabled:r==="disabled"||p,onDisabledClick:p&&r!=="disabled"?()=>{}:void 0}),s&&n.jsx("div",{ref:b,children:n.jsx(ce,{htmlType:"button",size:32,type:h?"dot":"bar",icon:"eye",label:h?void 0:m("training.sentencePreview","\uBB38\uC7A5 \uBBF8\uB9AC\uBCF4\uAE30"),ariaLabel:m("training.sentencePreview","\uBB38\uC7A5 \uBBF8\uB9AC\uBCF4\uAE30"),onClick:B,className:_?"is-selected":void 0,"aria-expanded":_,"aria-haspopup":"dialog",variant:r==="disabled"?"disabled":"default",disabled:!l&&typeof i!="function"})})]}),_&&n.jsx(rr,{text:v??l,label:m("training.sentencePreview","\uBB38\uC7A5 \uBBF8\uB9AC\uBCF4\uAE30"),anchorRect:y,onClose:k,closeOnOutsideClick:!1,isMobilePopup:!0})]}):null]})}function Eo(e,t){return typeof t!="number"||typeof e!="number"?"disabled":e<t?"done":e===t?"active":"disabled"}function Hn({index:e,stepIndex:t,isLast:a=!1,title:r="",titleProps:s={},children:i,className:l="",onDone:c=void 0,useTitleFaded:u=void 0}){const{t:d}=fe.useTranslation(),[p,m]=o.useState(()=>Eo(e,t));o.useEffect(()=>{const A=Eo(e,t);if(A!==p){const w=setTimeout(()=>m(A),0);return()=>clearTimeout(w)}},[e,t,p]);const h=o.useCallback((...A)=>{Eo(e,t)==="done"||p==="done"||typeof c=="function"&&c(...A)},[e,t,p,c]),[g,C]=o.useState(!1),[b,_]=o.useState({text:"",label:"\uBB38\uC7A5 \uB4E3\uAE30",anchorRect:null,backdrop:!1,alignX:null,alignY:null}),f=o.useCallback(A=>{if(!A)return null;try{const w=A;if(typeof A=="object"&&(w.currentTarget||w.target)&&(w.nativeEvent||w.type)){const B=w.currentTarget??w.target;if(B&&typeof B.getBoundingClientRect=="function")return B.getBoundingClientRect()}if(A instanceof DOMRect)return A;const D=A;if(D&&typeof D.getBoundingClientRect=="function")return D.getBoundingClientRect();const k=A?.current;return k&&typeof k.getBoundingClientRect=="function"?k.getBoundingClientRect():null}catch{return null}},[]),y=o.useCallback((A,{text:w="",label:D="\uBB38\uC7A5 \uB4E3\uAE30",backdrop:k=!1,alignX:B="center",alignY:N="top"}={})=>{const M=f(A);_({text:w,label:D,anchorRect:M,backdrop:k,alignX:B,alignY:N}),C(!0)},[f]),x=o.useCallback(()=>{C(!1),_(A=>({...A,anchorRect:null}))},[]),v=o.Children.map(i,A=>{if(o.isValidElement(A)){const w=A;if(typeof w.type=="string")return w;const D=w.props??{},k=typeof D.onDone=="function"?D.onDone:h,B=typeof D.disabled=="boolean";let N=p==="disabled";return B&&(N=!!D.disabled),o.cloneElement(w,{onDone:k,disabled:N,showTooltip:y,hideTooltip:x})}return A});return n.jsxs("div",{className:`training-step training-step--${p} ${a?"training-step--last":""} ${l}`,"aria-current":p==="active",children:[n.jsx(Oc,{state:p}),n.jsxs("div",{className:"training-step__content",children:[n.jsx(Hc,{state:p,title:r,...s,useFaded:u}),v]}),g?n.jsx(An,{anchorRect:b.anchorRect,backdrop:b.backdrop,onClose:x,ariaLabel:d("tooltip.textbox","\uBCF8\uBB38"),children:n.jsx(rr,{text:b.text,onClose:x})}):null]})}function zc({context:e,state:t="disabled",theme:a="light"}){const{t:r}=fe.useTranslation(),[s,i]=o.useState("disabled"),[l,c]=o.useState(()=>{try{return localStorage.getItem("tooltip-theme")||a}catch{return a}});o.useEffect(()=>{try{localStorage.setItem("tooltip-theme",l)}catch{}},[l]);const u=()=>c($=>$==="dark"?"light":"dark"),{increase:d,decrease:p,canIncrease:m,canDecrease:h,fontSize:g,lineHeight:C}=Gi({storageKey:"textbox_fontScale"}),[b,_]=o.useState(""),f=o.useRef(null),y=o.useRef(!1),x=o.useCallback(()=>{y.current=Ja()&&!!f.current&&f.current.contains(document.activeElement),i("active")},[]),v=o.useCallback(()=>_(""),[]),A=$=>{try{_($)}catch{}},w=typeof navigator<"u"&&/Mobi|Android/i.test(navigator.userAgent||"");o.useEffect(()=>{if(t!=="disabled"){const $=setTimeout(()=>i(t),0);return()=>clearTimeout($)}},[t]);const D=o.useMemo(()=>e&&typeof e=="object"?String(e.sentence??e.text??""):typeof e=="string"?e:"",[e]),[k,B]=o.useState(D);k!==D&&(B(D),i("disabled"));const N=t==="disabled"?s:t,M=N==="disabled"?"training-text-box--disabled":N==="active"?"training-text-box--active":N==="done"?"training-text-box--done":"",P=o.useMemo(()=>({fontSize:`${g}px`,lineHeight:`${C}px`}),[g,C]);return o.useEffect(()=>{if(N==="disabled"||!y.current)return;y.current=!1;const $=document.activeElement;$&&$!==document.body||f.current?.querySelector(".training-text-box__buttons button")?.focus()},[N]),n.jsxs("div",{ref:f,className:`training-text-box ${M} ${N!=="disabled"&&l==="dark"?"is-dark":""}`,children:[N==="disabled"&&n.jsx("div",{className:"training-text-box__preview",children:n.jsx(ce,{htmlType:"button",size:48,type:"bar",onClick:x,icon:"eye",ariaLabel:r("training.sentencePreview","\uBB38\uC7A5 \uBBF8\uB9AC\uBCF4\uAE30"),label:r("training.sentencePreview","\uBB38\uC7A5 \uBBF8\uB9AC\uBCF4\uAE30"),useBorder:!1})}),n.jsx("div",{className:"training-text-box__area","aria-hidden":N==="disabled",children:n.jsx("span",{className:"training-text-box__inner h3",style:P,children:D})}),N!=="disabled"&&n.jsxs("div",{className:"training-text-box__buttons","aria-hidden":N==="disabled",children:[n.jsx(ce,{htmlType:"button",size:32,type:"dot",onClick:p,onDisabledClick:()=>A(r("training.fontSizeMin","\uAE00\uC528 \uD06C\uAE30\uAC00 \uCD5C\uC18C\uC785\uB2C8\uB2E4.")),ariaLabel:r("training.fontSizeDecrease","\uAE00\uC790 \uD06C\uAE30 \uAC10\uC18C"),icon:"minus",variant:l==="dark"?"transparent-white":"transparent-gray",disabled:!h,useBorder:!1,showTooltipInfo:!0,...!w&&{width:"60px"}}),n.jsx(ce,{htmlType:"button",size:32,type:"dot",onClick:d,onDisabledClick:()=>A(r("training.fontSizeMax","\uAE00\uC528 \uD06C\uAE30\uAC00 \uCD5C\uB300\uC785\uB2C8\uB2E4.")),ariaLabel:r("training.fontSizeIncrease","\uAE00\uC790 \uD06C\uAE30 \uC99D\uAC00"),icon:"plus",variant:l==="dark"?"transparent-white":"transparent-gray",disabled:!m,useBorder:!1,showTooltipInfo:!0,...!w&&{width:"60px"}}),n.jsx(ce,{htmlType:"button",size:32,showTooltipInfo:!0,type:"dot",useBorder:!1,width:48,icon:l==="dark"?"moon":"sun-medium",onClick:u,ariaLabel:r("training.toggleBackground","\uBC30\uACBD \uC804\uD658"),variant:l==="dark"?"transparent-white":"transparent-gray"})]}),n.jsx(ea,{message:b,position:"top",onClose:v})]})}function To({index:e,stepIndex:t,isLast:a=!1,title:r,useTitleFaded:s,onDone:i,onChange:l,answer:c,wrongAnswers:u,choices:d,multiSelect:p=!1,correctCount:m=0,useDisabledCovered:h=!1,choiceIcons:g,shuffleChoices:C=!0}){const{t:b}=fe.useTranslation(),_=r??b("training.selectConfirm","\uBB38\uC81C\uB97C \uBCF4\uACE0 \uD574\uB2F9\uD558\uB294 \uB0B4\uC6A9\uC744 \uC120\uD0DD\uD558\uC138\uC694."),f=typeof e=="number"?e:-1,y=typeof t!="number"?"disabled":f<t?"done":f===t?"active":"disabled",x=Array.isArray(d)&&d.length?d:typeof c<"u"?[c].concat(Array.isArray(u)?u:[]):void 0,v=u?u.join("||"):"",A=d?d.join("||"):"",[w,D]=o.useState(()=>Array.isArray(x)?C?fa(x):x.slice():void 0);o.useEffect(()=>{Array.isArray(x)&&x.length?D(C?fa(x):x.slice()):D(void 0)},[c,v,A,C]);const[k,B]=o.useState(null),[N,M]=o.useState(()=>new Set);o.useEffect(()=>{B(null),M(new Set)},[A,c,v]);const P=o.useRef(void 0);o.useEffect(()=>{const S=P.current;typeof S=="number"&&typeof t=="number"&&typeof e=="number"&&S>=e&&t<e&&(B(null),M(new Set)),P.current=t},[t,e]);const $=o.useCallback(S=>{if(y!=="active")return;const F=w?.[S];if(F==null)return;const Y=F,G=y==="active"||y==="done";if(p){const q=new Set(N),H=q.has(Y);H?q.delete(Y):q.add(Y),M(q),typeof l=="function"&&l({selectedValues:[...q],__ts:Date.now()}),G&&(typeof m=="number"&&m>0?q.size>=m:!H)&&typeof i=="function"&&y==="active"&&i({selectedValues:[...q],__ts:Date.now()})}else B(Y),typeof l=="function"&&l({selectedIndex:S,selectedValue:Y,__ts:Date.now()}),G&&typeof i=="function"&&y==="active"&&i({selectedIndex:S,selectedValue:Y,__ts:Date.now()})},[w,y,p,l,i,m,N]),W=`training-step__buttons${Array.isArray(w)&&w.length>3?" training-step__buttons--wrap-3":""}`;return n.jsx(Hn,{index:e,stepIndex:t,isLast:a,title:_,useTitleFaded:s,children:n.jsx("div",{className:W,children:Array.isArray(w)&&w.length>0?w.map((S,F)=>n.jsx(ce,{htmlType:"button",size:56,type:"bar",onClick:()=>$(F),ariaLabel:String(S),label:S,useLabel:!0,icon:g?g[String(S)]:void 0,variant:"default",disabled:y==="disabled",selected:p?N.has(S):k===S,useDisabledCovered:h,minWidth:0},String(S))):null})})}function jo({index:e,stepIndex:t,isLast:a=!1,title:r,onDone:s,onChange:i,context:l,demoSelected:c}){const{t:u}=fe.useTranslation(),d=r??u("training.confirmTitle","\uBB38\uC7A5\uC744 \uD655\uC778\uD558\uACE0 \uC798 \uB4E4\uB838\uB294\uC9C0 \uC120\uD0DD\uD558\uC138\uC694."),p=typeof e=="number"?e:-1,m=typeof t!="number"?"disabled":p<t?"done":p===t?"active":"disabled",h=l&&typeof l=="object"?l.sentence||"":typeof l=="string"?l:"",g=l&&typeof l=="object"?l.choices:void 0,[C,b]=o.useState(c??null),_=`${String(h)}\0${JSON.stringify(g??null)}`,[f,y]=o.useState(_);f!==_&&(y(_),c==null&&b(null));const[x,v]=o.useState(c);Object.is(x,c)||(v(c),b(c??null));const A=o.useRef(void 0);o.useEffect(()=>{const B=A.current;typeof B=="number"&&typeof t=="number"&&typeof e=="number"&&B>=e&&t<e&&c==null&&b(null),A.current=t},[t,e,c]);const w=o.useCallback(B=>{const N=typeof B=="object"&&B!==null?Object.assign({},B,{__ts:Date.now()}):{value:B,__ts:Date.now()};typeof i=="function"&&i(N),m==="active"&&typeof s=="function"&&s(N)},[i,m,s]),D=o.useCallback(()=>{m==="active"&&(b(!1),w(!1))},[w,m]),k=o.useCallback(()=>{m==="active"&&(b(!0),w(!0))},[w,m]);return n.jsxs(Hn,{index:e,stepIndex:t,isLast:a,title:d,onDone:s,useTitleFaded:!1,children:[n.jsx(zc,{context:l,state:m}),n.jsx("div",{className:"training-step__buttons",children:Array.isArray(g)&&g.length>0?g.slice(0,6).map((B,N)=>n.jsx(ce,{htmlType:"button",size:56,type:"bar",onClick:()=>{m==="active"&&(b(N),w&&w(N))},disabled:m==="disabled",ariaLabel:String(B),label:B,variant:m,selected:C===N},N)):n.jsxs(n.Fragment,{children:[n.jsx(ce,{htmlType:"button",size:56,type:"bar",onClick:D,disabled:m==="disabled",icon:"x",ariaLabel:u("training.notHeard","\uC548 \uB4E4\uB838\uC5B4\uC694."),label:u("training.notHeard","\uC548 \uB4E4\uB838\uC5B4\uC694."),variant:"default",selected:C===!1}),n.jsx(ce,{htmlType:"button",size:56,type:"bar",onClick:k,disabled:m==="disabled",icon:"circle",ariaLabel:u("training.heardWell","\uC798 \uB4E4\uB838\uC5B4\uC694."),label:u("training.heardWell","\uC798 \uB4E4\uB838\uC5B4\uC694."),variant:"default",selected:C===!0})]})})]})}function Mo({index:e,stepIndex:t,isLast:a=!1,title:r,onDone:s,btnLabel:i,soundSrc:l,bucketPath:c,usePreviewTextBtn:u,previewText:d=null,onPreviewTextBtn:p,disabled:m,_pageIndex:h,showSoundWaveForm:g,showNoiseWaveForm:C}){const{t:b}=fe.useTranslation(),_=r??b("training.listenTitle","\uC81C\uC2DC\uD558\uB294 \uBB38\uC7A5\uC744 \uB4E4\uC5B4\uC8FC\uC138\uC694."),f=m??(typeof t=="number"&&typeof e=="number"?e>t:!1);return n.jsx(Hn,{index:e,stepIndex:t,isLast:a,title:_,onDone:s,titleProps:{usePreviewTextBtn:u,previewText:d,onPreviewTextBtn:p},children:n.jsx(So,{soundSrc:l,ttsText:l?null:d??_,bucketPath:c,btnLabel:i||b("training.listenButton","\uBB38\uC7A5 \uB4E3\uAE30"),disabled:f,className:"training-step__listen-sticky",showSoundWaveForm:g,showNoiseWaveForm:C},`audio-p${h??0}-s${e}`)})}const S5=[];function Lo({index:e,stepIndex:t,isLast:a=!1,title:r,onDone:s,onChange:i,context:l=S5}){const{t:c}=fe.useTranslation(),u=r??c("training.orderListDefault","\uBB38\uC7A5\uC744 \uB4E4\uC740 \uC21C\uC11C\uB300\uB85C \uBC30\uCE58\uD558\uC138\uC694."),d=I=>typeof I=="string"?I:I&&(I.context||I.sentence||I.question||"")||"",[p,m]=o.useState(Array.isArray(l)?l:[]),[h,g]=o.useState(()=>(p||[]).map((I,T)=>({id:T,text:d(I)}))),C=o.useMemo(()=>typeof t!="number"||typeof e!="number"?"disabled":e<t?"done":e===t?"active":"disabled",[t,e]),b=C!=="disabled",_=o.useRef(void 0);o.useEffect(()=>{if(_.current===l)return;_.current=l;const I=Array.isArray(l)?l:[];m(I);const T=(O=>{const R=(O||[]).map((J,oe)=>({id:oe,text:d(J)}));if(R.length<=1)return R;const j=(J,oe)=>{if(J.length!==oe.length)return!1;for(let ge=0;ge<J.length;ge++)if(J[ge].text!==oe[ge].text)return!1;return!0};let L=fa(R),Q=0;for(;j(L,R)&&Q<20;)L=fa(R),Q+=1;return L})(I);g(T);try{if(typeof i=="function"){const O=T.filter((R,j)=>R.text===d(I[j])).length;i({shuffled:T,score:O,total:(I||[]).length,initial:!0,__ts:Date.now()})}if(typeof s=="function"&&C==="active"){const O=T.filter((R,j)=>R.text===d(I[j])).length;s({shuffled:T,score:O,total:(I||[]).length,initial:!0,__ts:Date.now()})}}catch{}},[l]);const f=(I,T)=>{const O=[...h],R=I+T;if(R<0||R>=O.length)return;const j=O[R];O[R]=O[I],O[I]=j,F(O);try{if(typeof s=="function"&&C==="active"){const L=O.filter((Q,J)=>Q.text===d(p[J])).length;s({shuffled:O,score:L,total:(p||[]).length,__ts:Date.now()})}}catch{}},[y,x]=o.useState(null),v=o.useRef(null),A=o.useRef(null),w=o.useRef(null),D=o.useRef(null),k=o.useRef(null),B=o.useRef({x:0,y:0}),N=o.useRef(null),M=o.useRef({dx:0,dy:0}),P=()=>{if(N.current!==null)return;const I=()=>{if(!v.current){N.current=null;return}N.current=requestAnimationFrame(I);const T=B.current,O=M.current||{dx:0,dy:0};v.current&&(v.current.style.transform=`translate3d(${T.x-O.dx}px, ${T.y-O.dy}px, 0)`)};N.current=requestAnimationFrame(I)},$=o.useRef(new Map),W=o.useRef(new Map),S=()=>{const I=new Map;return $.current.forEach((T,O)=>{T&&T.getBoundingClientRect&&I.set(O,T.getBoundingClientRect())}),I},F=I=>{const T=S();g(I);try{if(typeof i=="function"){const O=I.filter((R,j)=>R.text===d(p[j])).length;i({shuffled:I,score:O,total:(p||[]).length,__ts:Date.now()})}}catch{}requestAnimationFrame(()=>{const O=S();I.forEach(R=>{const j=T.get(R.id),L=O.get(R.id),Q=$.current.get(R.id);if(!Q||!j||!L)return;const J=j.top-L.top;J&&(Q.style.transition="none",Q.style.transform=`translateY(${J}px)`,requestAnimationFrame(()=>{Q.style.transition="transform 420ms cubic-bezier(.22,.9,.39,1)",Q.style.transform="";const oe=()=>{Q.style.transition="",Q.removeEventListener("transitionend",oe)};Q.addEventListener("transitionend",oe)}))})})},Y=(I,T)=>{try{try{T.dataTransfer?.setData("text/plain",String(I))}catch{}try{T.dataTransfer&&(T.dataTransfer.effectAllowed="move")}catch{}try{const O=document.createElement("div");O.style.cssText="position:absolute;top:-9999px;left:-9999px;width:1px;height:1px;opacity:0;pointer-events:none;",document.body.appendChild(O),T.dataTransfer?.setDragImage(O,0,0),requestAnimationFrame(()=>{try{document.body.removeChild(O)}catch{}})}catch{}}catch{}x(I);try{const O=h[I],R=document.createElement("div");R.className="order-list__dragging-object order-list__dragging-object--visible",R.textContent=O&&O.text?O.text:"",document.body.appendChild(R),v.current=R;const j=$.current.get(O.id);let L=T.clientX||0,Q=T.clientY||0;try{if(j&&j.getBoundingClientRect){const ie=j.getBoundingClientRect();L=ie.left+ie.width/2,Q=ie.top+ie.height/2}}catch{}const J=R.getBoundingClientRect(),oe=J.width/2,ge=J.height/2;M.current={dx:oe,dy:ge},R.style.transition="none",B.current={x:L,y:Q},R.style.transform=`translate3d(${L-oe}px, ${Q-ge}px, 0)`,requestAnimationFrame(()=>{try{R.style.transition=""}catch{}P()});const Me=ie=>{const U=ie;B.current={x:U.clientX,y:U.clientY},P()};w.current=Me,document.addEventListener("mousemove",Me);const Ne=ie=>{const U=ie;B.current={x:U.clientX,y:U.clientY},P()};A.current=Ne,document.addEventListener("dragover",Ne);try{T.dataTransfer?.setData("text/plain",String(I));try{T.dataTransfer?.setData("application/json",JSON.stringify({idx:I}))}catch{}}catch{}}catch{}},G=(I,T)=>{T.preventDefault();try{T.dataTransfer&&(T.dataTransfer.dropEffect="move")}catch{}try{k.current!==null&&(clearTimeout(k.current),k.current=null);const O=T.currentTarget&&T.currentTarget.closest?T.currentTarget.closest(".order-list__item"):null;if(O&&D.current!==O){if(D.current)try{D.current.classList.remove("drag-over")}catch{}try{O.classList.add("drag-over")}catch{}D.current=O}}catch{}},q=(I,T)=>{T.preventDefault();const O=T.dataTransfer?.getData("text/plain")||"",R=O?parseInt(O,10):y,j=I;if(typeof R!="number"||isNaN(R)||R===j){x(null),Z(),H();return}const L=c2(h,R,j);F(L),x(null),H();try{if(typeof s=="function"&&C==="active"){const Q=L.filter((J,oe)=>J.text===d(p[oe])).length;s({shuffled:L,score:Q,total:(p||[]).length,__ts:Date.now()})}}catch{}try{requestAnimationFrame(()=>{const Q=document.querySelectorAll(".order-list .order-list__item")[j];if(!Q)return;const J=Q.querySelector(".order-list__slot")||Q;try{J.classList.add("pulse"),J.offsetHeight,J.classList.add("to-dark");const oe=()=>{J.classList.remove("pulse","to-dark"),J.removeEventListener("transitionend",oe)};J.addEventListener("transitionend",oe)}catch{}})}catch{}Z()},H=()=>{if(v.current){try{document.body.removeChild(v.current)}catch{}v.current=null}A.current&&(document.removeEventListener("dragover",A.current),A.current=null),w.current&&(document.removeEventListener("mousemove",w.current),w.current=null),N.current!==null&&(cancelAnimationFrame(N.current),N.current=null)},z=()=>{x(null),Z(),H()};o.useEffect(()=>()=>H(),[]);const Z=()=>{try{if(k.current!==null&&(clearTimeout(k.current),k.current=null),D.current){try{D.current.classList.remove("drag-over")}catch{}D.current=null}document.querySelectorAll(".order-list .order-list__item").forEach(I=>I.classList.remove("drag-over"))}catch{}};return o.useEffect(()=>{try{const I=Math.max(1,(h||[]).length);h.forEach((T,O)=>{const R=W.current.get(T.id);if(!R)return;let j=50;I>1&&(j=Math.round(O/(I-1)*100));try{R.style.setProperty("--marker-pos",j+"%")}catch{}})}catch{}},[h]),o.useEffect(()=>()=>{H(),k.current!==null&&(clearTimeout(k.current),k.current=null)},[]),n.jsx(Hn,{index:e,stepIndex:t,isLast:a,title:u,children:n.jsx("div",{className:"order-list",children:h.map((I,T)=>{const O=Math.max(1,(h||[]).length),R=O>1?Math.round(T/(O-1)*100):50;return n.jsx("div",{className:"order-list__item",children:n.jsxs("div",{className:"order-list__slot","data-disabled":C==="disabled","aria-disabled":C==="disabled",children:[C!=="disabled"?n.jsx("div",{className:"order-list__marker caption-1",style:{"--marker-pos":R+"%"},ref:j=>{const L=W.current;j?L.set(I.id,j):L.delete(I.id)},children:n.jsx("span",{className:"order-list__slot-number button-1",children:T+1})}):null,n.jsxs("div",{ref:j=>{const L=$.current;j?L.set(I.id,j):L.delete(I.id)},className:`order-list__draggable ${y===T?"dragging":""}`,"data-disabled":C==="disabled","aria-disabled":C==="disabled",tabIndex:C==="disabled"?-1:0,draggable:b,onDragStart:b?j=>Y(T,j):void 0,onDragEnter:b?j=>G(T,j):void 0,onDragOver:b?j=>G(T,j):void 0,onDragLeave:b?()=>{try{k.current!==null&&clearTimeout(k.current),k.current=setTimeout(()=>{try{const j=document.querySelectorAll(".order-list .order-list__item");j&&j[T]&&(j[T].classList.remove("drag-over"),D.current===j[T]&&(D.current=null))}catch{}},80)}catch{}}:void 0,onDrop:b?j=>q(T,j):void 0,onDragEnd:b?z:void 0,children:[n.jsx("span",{className:"order-list__item-text body-2",children:I.text}),b?n.jsxs("span",{className:"order-list__item-buttons",children:[n.jsx(ce,{htmlType:"button",size:32,type:"dot",onClick:()=>f(T,-1),ariaLabel:c("training.up"),icon:"chevron-up",variant:"transparent-gray",width:48,useFaded:"true",disabled:T===0,useBorder:!1,useDisabledInvisible:!0}),n.jsx(ce,{htmlType:"button",size:32,type:"dot",onClick:()=>f(T,1),ariaLabel:c("training.down"),icon:"chevron-down",variant:"transparent-gray",width:48,useFaded:"true",disabled:T===h.length-1,useBorder:!1,useDisabledInvisible:!0})]}):null]})]})},I.id)})})})}const E5=8e3;function T5(e,t){return new Promise(a=>{let r=!1;const s=()=>{r||(r=!0,a())};e.then(s,s),setTimeout(s,t)})}function Wc({index:e,stepIndex:t,isLast:a=!1,title:r,onDone:s,onChange:i,context:l=[],selectable:c=!1,hideLabel:u=!1,hideAudio:d=!1,maxCards:p}){const{t:m}=fe.useTranslation(),h=r??m("training.cardInstructions","\uB0B1\uB9D0 \uCE74\uB4DC\uB97C \uBCF4\uACE0 \uC18C\uB9AC\uB97C \uB4E3\uACE0 \uD655\uC778\uD558\uC138\uC694."),g=o.useMemo(()=>Array.isArray(l)?l:l&&l.items||[],[l]),C=p??3,b=(g||[]).slice(0,C);(g||[]).length>C&&console.warn(`TrainingStepCard: ${g.length} items passed but only ${C} shown`);const _=typeof e=="number"?e:-1,f=typeof t!="number"?"disabled":_<t?"done":_===t?"active":"disabled",[y,x]=o.useState(null),v=o.useRef([]),[A,w]=o.useState(!1),D=o.useRef(null),k=o.useRef(!0);o.useEffect(()=>(k.current=!0,()=>{k.current=!1}),[]);const B=o.useMemo(()=>g.map(W=>W?.id??W?.word??"").join("|"),[g]);o.useEffect(()=>{x(null)},[B]);const N=o.useRef(void 0);o.useEffect(()=>{const W=N.current;typeof W=="number"&&typeof t=="number"&&typeof e=="number"&&W>=e&&t<e&&x(null),N.current=t},[t,e]);const M=o.useCallback((W,S)=>{if(c)return;const F={item:W,index:S,__ts:Date.now()};try{typeof i=="function"&&i(F)}catch{}if(f==="active"&&typeof s=="function")try{s(F)}catch{}},[c,i,f,s]),P=o.useCallback(async()=>{if(A||f==="disabled")return;w(!0);let W=!1;const S=new Promise(F=>{D.current=()=>{W=!0,F()}});try{for(let F=0;F<b.length&&!(!k.current||W);F++){const Y=v.current[F];Y&&await Promise.race([T5(Y.play(),E5),S])}}finally{D.current=null,w(!1)}},[A,f,b.length]),$=o.useCallback((W,S)=>{if(f!=="active")return;x(S);const F={selectedValue:W.word||W.title||"",selectedIndex:S,item:W,__ts:Date.now()};try{typeof i=="function"&&i(F)}catch{}if(f==="active"&&typeof s=="function")try{s(F)}catch{}},[i,f,s]);return n.jsx(Hn,{index:e,stepIndex:t,isLast:a,title:h,onDone:s,titleProps:{usePlayAllBtn:!d&&b.length>0,onPlayAll:P,playAllActive:A},children:n.jsx("div",{className:"training-step__cards",onClickCapture:W=>{const S=D.current;if(!S)return;const F=W.target;F&&typeof F.closest=="function"&&F.closest(".training-word-card__bottom")&&S()},children:b.length===0?n.jsx("div",{className:"training-step__empty",children:m("training.noCards","\uCE74\uB4DC\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.")}):b.map((W,S)=>n.jsx(ho,{ref:F=>{v.current[S]=F},item:W,disabled:f==="disabled",onPlayDone:()=>M(W,S),selectable:c,selected:c&&y===S,onSelect:c?()=>$(W,S):void 0,flipDelay:S*120,hideLabel:u,hideAudio:d},W&&W.id||S))})})}const j5=160,M5={\uBCF4\uCCAD\uAE30:"hearingAid",\uC778\uACF5\uC640\uC6B0:"cochlearImplant"};function L5(e,t){const a=M5[e];return a?t(`device.type.${a}`,{defaultValue:e}):e}const qc=()=>{};function Sn(e){const t=o.useId();if(!("variant"in e)){const{label:f,sub:y,onClick:x,children:v,align:A="horizontal",icon:w}=e,D=k=>{x&&k.target===k.currentTarget&&(k.key==="Enter"||k.key===" ")&&(k.preventDefault(),x())};return n.jsxs("div",{className:Be("panel-row",A==="vertical"?"panel-row--vertical":"",x?"panel-row--clickable":""),onClick:x,onKeyDown:x?D:void 0,role:x?"button":void 0,tabIndex:x?0:void 0,children:[w!=null&&n.jsx("div",{className:"panel-row__icon",children:w}),f!=null&&n.jsxs("div",{className:"panel-row__left",children:[n.jsx("div",{className:"panel-row__label body-3",children:f}),y&&n.jsx("div",{className:"panel-row__sub caption-1",children:y})]}),n.jsx("div",{className:"panel-row__right",children:v})]})}if(e.variant==="description")return n.jsx("div",{className:"panel-row panel-row--block",children:n.jsx("p",{className:"panel-row__description body-3",children:e.children})});if(e.variant==="empty")return n.jsx("div",{className:"panel-row panel-row--empty body-3",children:e.children});if(e.variant==="loading")return n.jsx("div",{className:"panel-row panel-row--loading",children:n.jsx(Ba,{size:28})});if(e.variant==="custom"&&!e.label)return n.jsx("div",{className:"panel-row panel-row--block",children:e.children});const{variant:a,label:r,sub:s,onClick:i,required:l,error:c,align:u="horizontal",useFullWidth:d=!1,icon:p}=e,m=a==="button"?void 0:i;let h=null;const g=a==="toggle"?`panel-toggle-${t}`:void 0,C=c?`panel-error-${t}`:void 0;if(a==="toggle"){const f=e;h=n.jsx(El,{checked:f.checked,onChange:f.onChange,id:g})}else if(a==="segmented"){const f=e;h=n.jsx(Vn,{options:f.options,value:f.value,onChange:f.onChange,size:f.size??40,ariaLabel:r})}else if(a==="dropdown"){const f=e,y=f.dropdowns?.length?n.jsx("div",{className:`panel-row__dropdown-group${d?" panel-row__dropdown-group--full":""}`,children:f.dropdowns.map((x,v)=>n.jsx("div",{className:d?"panel-row__dropdown-item--full":void 0,children:n.jsx(tn,{options:x.options,value:x.value,onChange:x.onChange,placeholder:x.placeholder,block:d,error:!!c,ariaDescribedBy:C,ariaLabel:x.ariaLabel??([r,x.placeholder].filter(Boolean).join(" ")||void 0)})},v))}):n.jsx(tn,{options:f.options??[],value:f.value??"",onChange:f.onChange??qc,block:d,error:!!c,ariaLabel:r,ariaDescribedBy:C});h=c?n.jsxs("div",{className:`panel-row__dropdown-error-wrap${d?" panel-row__dropdown-error-wrap--full":""}`,children:[y,n.jsx("span",{id:C,className:"caption-1 panel-row__error",role:"alert",children:c})]}):y}else if(a==="button"){const f=e;f.buttons?.length?h=n.jsx("div",{className:"panel-row__button-group",children:f.buttons.map((y,x)=>n.jsx(ce,{htmlType:"button",size:y.btnSize??40,variant:y.btnVariant??"default",disabled:y.disabled,onClick:y.onClick,children:y.label},x))}):h=n.jsx(ce,{htmlType:"button",size:f.btnSize??40,variant:f.btnVariant??"default",disabled:f.disabled,onClick:f.onClick,children:f.buttonLabel})}else if(a==="text"){const f=e;h=n.jsx("span",{className:`panel-row__text body-2${d?" panel-row__text--full":""}`,style:f.valueColor?{color:f.valueColor}:void 0,children:f.value})}else if(a==="input"){const f=e;h=n.jsxs("div",{className:`panel-row__input-wrap${d?" panel-row__input-wrap--full":""}`,children:[n.jsx(On,{value:f.value,onChange:f.onChange??qc,onKeyDown:f.onKeyDown,onEnter:f.onEnter,placeholder:f.placeholder,inputMode:f.inputMode,readOnly:f.readOnly,disabled:f.disabled,type:f.type,autoComplete:f.autoComplete,maxLength:f.maxLength,showCount:f.showCount,multiline:f.multiline,rows:f.rows,fullWidth:d,error:c,ariaLabel:r,required:l}),f.helperText&&n.jsx("div",{className:"panel-row__helper caption-1",children:f.helperText})]})}else a==="custom"&&(h=e.children);c&&a!=="input"&&a!=="dropdown"&&(h=n.jsxs("div",{className:`panel-row__dropdown-error-wrap${d?" panel-row__dropdown-error-wrap--full":""}`,children:[h,n.jsx("span",{id:C,className:"caption-1 panel-row__error",role:"alert",children:c})]}));const b=a==="input"||a==="dropdown"||(a==="text"||a==="custom")&&d,_=f=>{m&&f.target===f.currentTarget&&(f.key==="Enter"||f.key===" ")&&(f.preventDefault(),m())};return n.jsxs("div",{className:Be("panel-row",u==="vertical"?"panel-row--vertical":"",b?"panel-row--label-fixed":"",a==="text"?"panel-row--text":"",m?"panel-row--clickable":""),onClick:m,onKeyDown:m?_:void 0,role:m?"button":void 0,tabIndex:m?0:void 0,children:[p!=null&&n.jsx("div",{className:"panel-row__icon",children:p}),n.jsxs("div",{className:"panel-row__left",children:[g?n.jsxs("label",{htmlFor:g,className:"panel-row__label body-3",children:[r,l&&n.jsx("span",{className:"required-mark",children:"*"})]}):n.jsxs("div",{className:"panel-row__label body-3",children:[r,l&&n.jsx("span",{className:"required-mark",children:"*"})]}),s&&n.jsx("div",{className:"panel-row__sub caption-1",children:s})]}),n.jsx("div",{className:"panel-row__right",children:h})]})}function Uc(e){const t=e.productName||e.brand,a=[e.brand,e.fitType].filter(r=>!!r&&r!==t);return[...new Set(a)].join(" \xB7 ")}function $5({devices:e,onRelease:t,emptyLabel:a}){const{t:r}=fe.useTranslation();return n.jsx("div",{className:"panel-row panel-row--device",children:["\uC88C","\uC6B0"].map(s=>{const i=e[s],l=s==="\uC88C"?r("device.direction.left","\uC88C"):r("device.direction.right","\uC6B0");return n.jsxs("div",{className:"panel-row__device-column",children:[n.jsxs("div",{className:"panel-row__device-head",children:[n.jsx("span",{className:"panel-row__device-side body-2b",children:l}),i&&t&&n.jsx(ce,{htmlType:"button",size:32,type:"dot",icon:"x",ariaLabel:`${l} ${r("customers.device.unwear","\uCC29\uC6A9 \uD574\uC81C")}`,showTooltipInfo:r("customers.device.unwear","\uCC29\uC6A9 \uD574\uC81C"),onClick:()=>t(s)})]}),i?n.jsxs("div",{className:"panel-row__device-info",children:[n.jsxs("span",{className:"panel-row__device-kind",children:[i.device&&n.jsx(pt,{size:"small",variant:Kl(i.device),fill:"soft",label:L5(i.device,r)}),Uc(i)&&n.jsx("span",{className:"panel-row__device-detail body-3",children:Uc(i)})]}),n.jsx("span",{className:"panel-row__device-name body-2b",children:i.productName||i.brand}),co(i.wornYear,i.wornMonth,i.wornDay)&&n.jsx("span",{className:"panel-row__device-date caption-1",children:r("customers.device.wornSince",{date:co(i.wornYear,i.wornMonth,i.wornDay)})})]}):n.jsx("span",{className:"panel-row__device-empty body-3",children:a??r("customers.device.notRegistered","\uBBF8\uB4F1\uB85D")})]},s)})})}function or({title:e,icon:t,disc:a,actions:r,size:s="medium",minHeight:i,maxWidth:l,className:c,scrollable:u,scrollbarGutter:d="auto",compactRows:p=!1,useBorder:m=!0,useBg:h=!0,useRowBorder:g=!0,labelWidth:C,form:b=!1,loading:_,empty:f,children:y}){const x=Be("panel",`panel--${s}`,b?"panel--form":"",i!==void 0?"panel--fill":"",m?"":"panel--no-border",h?"":"panel--no-bg",g?"":"panel--no-row-border",p?"panel--compact-rows":"",c),v={};return i!==void 0&&(v.minHeight=i),l!==void 0&&(v.maxWidth=typeof l=="number"?`${l}px`:l),C!==void 0&&(v["--panel-label-width"]=typeof C=="number"?`${C}px`:C),n.jsxs("div",{className:x,style:Object.keys(v).length?v:void 0,children:[(e!=null||a!=null)&&n.jsxs("div",{className:Be("panel__header",a!=null?"panel__header--with-disc":""),children:[t&&n.jsx(Ge,{icon:t,label:typeof e=="string"?e:void 0,className:"panel__icon"}),n.jsxs("div",{className:"panel__title-group",children:[e!=null&&n.jsx("h2",{className:`panel__title ${a!=null?"body-3b":"h5b"}`,children:e}),a!=null&&n.jsx("p",{className:"panel__disc caption-1",children:a})]}),r&&n.jsx("div",{className:"panel__actions",children:r})]}),_?n.jsx(Sn,{variant:"loading"}):f!=null&&o.Children.toArray(y).length===0?n.jsx(Sn,{variant:"empty",children:f}):u?n.jsx("div",{className:Be("panel__body--scroll",d==="stable"&&"panel__body--gutter-stable"),children:y}):y]})}function R5({cols:e=2,children:t}){return n.jsx("div",{className:"panel-grid",style:{"--panel-grid-cols":e},children:t})}function P5(e){return[{label:e("training.noise.level.none","\uC5C6\uC74C"),value:0},{label:e("training.noise.level.weak","\uC57D\uD568"),value:1},{label:e("training.noise.level.medium","\uBCF4\uD1B5"),value:2},{label:e("training.noise.level.strong","\uAC15\uD568"),value:3},{label:e("training.noise.level.veryStrong","\uB9E4\uC6B0 \uAC15\uD568"),value:4}]}function Gc(e){return[{label:e("training.noise.type.default","\uAE30\uBCF8"),value:"defaultNoise",icon:"party-popper"},{label:e("training.noise.type.street","\uAE38\uAC70\uB9AC"),value:"street",icon:"car"},{label:e("training.noise.type.buzz","\uC640\uAE00\uC640\uAE00"),value:"buzz",icon:"message-square-more"},{label:e("training.noise.type.restaurant","\uC2DD\uB2F9"),value:"restaurant",icon:"coffee"}]}P5(wt.t.bind(wt)),Gc(wt.t.bind(wt));const $o="none",I5=.5,F5=1.5,O5=.25;function Ro({title:e,valueLabel:t,value:a,min:r,max:s,step:i,tickStep:l,size:c,onChange:u}){return n.jsxs(Sn,{variant:"custom",label:e,useFullWidth:!0,children:[n.jsx(zl,{value:a,onChange:u,min:r,max:s,step:i,size:c,showBgTick:!0,tickStep:l,ariaLabel:e,className:"noise-settings__slider-input"}),n.jsx("div",{className:"noise-settings__value button-1",children:t})]})}function Kc({anchorRect:e,onClose:t}){const{t:a}=fe.useTranslation(),r=en("(max-width: 767px)")?40:24,s=nr(),i=Da(s?.settings??Ea),l=s?.settings.type??"defaultNoise",c=s?.settings.enabled??!0,u=s?.playbackRate??1,d=s?.mainVolume??1,p=Math.round(d*100),m=o.useCallback(b=>{try{s?.setMainVolume(Math.max(0,Math.min(1,b/100)))}catch{}},[s]),h=o.useCallback(b=>{try{s?.setPlaybackRate(b)}catch{}},[s]),g=o.useCallback(b=>{const _=Math.min(Na,Math.max(0,Math.round(b*10)/10));try{s?.setSettings({noiseRatio:_})}catch{}},[s]),C=o.useCallback(b=>{try{b===$o?s?.setSettings({enabled:!1}):s?.setSettings({type:b,enabled:!0})}catch{}},[s]);return n.jsx(An,{anchorRect:e,offset:12,onClose:t,ariaLabel:a("training.trainingSettingsTitle","\uD6C8\uB828 \uC124\uC815"),isMobilePopup:!1,closeOnOutsideClick:!1,header:n.jsxs("div",{className:"noise-settings__header",children:[n.jsx("span",{children:a("training.trainingSettingsTitle","\uD6C8\uB828 \uC124\uC815")}),n.jsx(ce,{htmlType:"button",size:40,type:"dot",icon:"x",variant:"transparent-gray",useBorder:!1,ariaLabel:a("common.close","\uB2EB\uAE30"),onClick:t})]}),children:n.jsxs(or,{className:"noise-settings",useBorder:!1,labelWidth:72,children:[n.jsx(Ro,{title:a("training.playVolumeTitle","\uC804\uCCB4 \uC18C\uB9AC"),valueLabel:`${p}%`,value:p,min:0,max:100,step:10,size:r,onChange:m}),n.jsx(Ro,{title:a("training.playSpeedTitle","\uC7AC\uC0DD \uC18D\uB3C4"),valueLabel:`${u.toFixed(2)}x`,value:u,min:I5,max:F5,step:O5,size:r,onChange:h}),n.jsx(Sn,{variant:"custom",label:a("training.noiseTypeTitle","\uC18C\uC74C \uC885\uB958"),useFullWidth:!0,children:n.jsx(Vn,{ariaLabel:a("training.noiseTypeTitle","\uC18C\uC74C \uC885\uB958"),size:40,shape:"rounded",options:[{key:$o,label:a("training.noise.type.none","\uC5C6\uC74C")},...Gc(a).map(b=>({key:b.value,label:b.label}))],value:c?l:$o,onChange:C})}),n.jsx(Ro,{title:a("training.noiseRatioTitle","\uC18C\uC74C \uBE44\uC728"),valueLabel:a("training.noiseRatioValue","{{ratio}}\uBC30",{ratio:i.toFixed(1)}),value:i,min:0,max:Na,step:jc,size:r,onChange:g})]})})}function Yc({useNoiseSettingBtn:e=!1,onSettings:t,onNext:a,onResult:r,stepIndex:s=0,stepCount:i=0,pageIndex:l=0,pageCount:c=1}){const{t:u}=fe.useTranslation(),[d,p]=o.useState(!1),[m,h]=o.useState(null),[g,C]=o.useState(!1),b=o.useRef(null),_=o.useRef(null),f=nr(),y=c>0,x=y&&l<c-1,v=!y||l>=c-1,A=s===Math.max(0,i);o.useEffect(()=>{e||(p(!1),h(null))},[e]);const w=o.useCallback(()=>{p(!1),h(null)},[]),D=o.useCallback(()=>{if(d){p(!1),h(null);return}const N=b?.current?.getBoundingClientRect();N&&h(N),t?.(),p(!0)},[d,t]),k=o.useCallback(()=>{if(d){p(!1),h(null);return}const N=_?.current?.getBoundingClientRect();N&&h(N),t?.(),p(!0)},[d,t]),B=o.useCallback(()=>C(N=>!N),[]);return Vc(e&&d,()=>typeof document<"u"?document.querySelector(".noise-settings__header")?.closest(".tooltip-content")??null:null,()=>[b.current,_.current].map(N=>N?.querySelector("button")??null).find(N=>!!N&&N.getClientRects().length>0)??b.current?.querySelector("button")??null),n.jsxs("div",{className:"pp-bottom",children:[n.jsxs("div",{className:"pp-bottom__left",children:[e?n.jsxs(n.Fragment,{children:[n.jsx("div",{className:"pp-bottom__settings--desktop",children:n.jsx("div",{ref:b,className:"pp-bottom__tooltip-trigger","data-tooltip-ignore":!0,children:n.jsx(ce,{htmlType:"button",size:56,type:"bar",icon:"settings",onClick:D,className:d?"is-selected":void 0,"aria-expanded":d,"aria-haspopup":"dialog",ariaLabel:u("training.trainingSettingsTitle","\uD6C8\uB828 \uC124\uC815"),label:u("training.trainingSettingsTitle","\uD6C8\uB828 \uC124\uC815"),minWidth:140})})}),n.jsx("div",{className:"pp-bottom__settings--mobile",children:n.jsx("div",{ref:_,className:"pp-bottom__tooltip-trigger","data-tooltip-ignore":!0,children:n.jsx(ce,{htmlType:"button",size:56,type:"dot",icon:"settings",onClick:k,className:d?"is-selected":void 0,"aria-expanded":d,"aria-haspopup":"dialog",ariaLabel:u("training.settings","\uC124\uC815"),minWidth:52})})})]}):null,e&&n.jsx(ce,{htmlType:"button",size:40,type:"dot",shape:"pill",icon:"audio-lines",onClick:B,selected:g,ariaLabel:u("training.meter.toggle","\uC624\uB514\uC624 \uBBF8\uD130 \uD45C\uC2DC")}),e&&g&&n.jsxs("div",{className:"pp-bottom__meters",children:[n.jsxs("div",{className:"pp-bottom__meter",children:[n.jsx("span",{className:"pp-bottom__meter-label caption-1",children:u("training.meter.sentence","\uC7AC\uC0DD")}),n.jsx(so,{analyser:f?.mainAnalyser??null,orientation:"horizontal",length:112,label:"db",labelPos:"left",ariaLabel:u("training.meter.sentence","\uC7AC\uC0DD")})]}),n.jsxs("div",{className:"pp-bottom__meter",children:[n.jsx("span",{className:"pp-bottom__meter-label caption-1",children:u("training.meter.noise","\uC18C\uC74C")}),n.jsx(so,{analyser:f?.noiseAnalyser??null,orientation:"horizontal",length:112,label:"db",labelPos:"left",ariaLabel:u("training.meter.noise","\uC18C\uC74C")})]})]})]}),n.jsxs("div",{className:"pp-bottom__right",children:[v&&n.jsx(ce,{htmlType:"button",size:56,type:"bar",icon:"check",onClick:typeof r=="function"?r:a,ariaLabel:u("training.viewResult","\uACB0\uACFC\uBCF4\uAE30"),label:u("training.viewResult","\uACB0\uACFC\uBCF4\uAE30"),variant:"main",disabled:!A}),x&&n.jsx(ce,{htmlType:"button",size:56,type:"bar",rightIcon:"chevron-right",align:"right",onClick:a,ariaLabel:u("training.nextQuestion","\uB2E4\uC74C \uBB38\uC81C"),label:u("training.nextQuestion","\uB2E4\uC74C \uBB38\uC81C"),variant:"main",disabled:!A})]}),e&&d&&n.jsx(Kc,{anchorRect:m,onClose:w})]})}function Zc({title:e,subtitle:t,desc:a,depth:r,icon:s,wrapperStyle:i,iconTooltip:l,pageIndex:c,pageCount:u,progressMax:d,progressIndex:p,onBack:m,onClose:h}){const{t:g}=fe.useTranslation(),C=en("(max-width: 767px)"),b=Number.isInteger(p)?p:c||0,_=Number.isInteger(d)?d:u||0,f=m||h,y=Array.isArray(r)?C?r[r.length-1]:r.join(" / "):r,x=typeof e=="string"?e.trim():e,v=typeof t=="string"?t.trim():t,A=!!(x||v),w=A?x||v:g("common.emptyTrainingName","\uD6C8\uB828 \uC774\uB984\uC774 \uBE44\uC5B4 \uC788\uC2B5\uB2C8\uB2E4."),D=y||(x?t:void 0),k=C&&typeof D=="string"&&(D.includes(" \xB7 ")||D.includes(" / "))?D.split(/\s[·/]\s/).pop():D,B=o.useMemo(()=>{const N=i&&typeof i=="object"?{...i}:{};return!("width"in N)&&!("height"in N)&&(N.width="40px",N.height="40px"),N},[i]);return n.jsxs("header",{className:"pp-title training-popup-title",children:[n.jsxs("div",{className:"pp-title__left",children:[f?n.jsx(ce,{htmlType:"button",size:48,type:"dot",icon:"chevron-left",ariaLabel:g("common.back","\uB4A4\uB85C"),onClick:f,useBorder:!1,iconSize:"large",iconColor:"--color-black",variant:"transparent-gray"}):null,n.jsx("div",{children:s?n.jsx(Xl,{icon:s,label:e,tooltip:l,wrapperStyle:B}):null}),n.jsxs("div",{className:"pp-title__text",children:[k?n.jsx("span",{className:"pp-title__depth caption-1",children:k}):null,n.jsx("span",{className:`pp-title__title h2${A?"":" pp-title__title--empty"}`,children:w}),a?n.jsx("span",{className:"pp-title__description caption-1",children:a}):null]})]}),n.jsx(Gl,{max:Math.max(0,_??0),index:Math.max(0,b??0)})]})}function V5(){typeof window<"u"&&window.dispatchEvent(new CustomEvent("speechear.popup.close"))}function H5(e){return!e&&e!==0?[]:Array.isArray(e)?e.flatMap(t=>typeof t=="string"?t.split("|").map(a=>a.trim()).filter(Boolean):t||t===0?[String(t)]:[]):typeof e=="string"?e.split("|").map(t=>t.trim()).filter(Boolean):[String(e)]}const Xc=(e,t)=>{if(!t)return t;const a=typeof wt?.t=="function"?wt.t(e,{defaultValue:t}):void 0;return typeof a=="string"&&a?a:t};function Jc(e,t,a){const r=e,s=r?.title||r?.name||(Array.isArray(t)?t[t.length-1]:void 0)||a||"\uD6C8\uB828",i=oi().find(c=>c.key===(r?.category_0||r?.category_main_code)),l=i?.subs?.find(c=>c.key===(r?.category_1||r?.category_sub_code));return{title:s,label:r?.title||s,depth:t,icon:i?.icon,wrapperStyle:i?.color?{"--t-item-fg":i.color}:void 0,iconTooltip:[i?Xc(`topic.${i.key}`,i.label):void 0,l?Xc(`topic.sub.${l.key}`,l.label):void 0].filter(Boolean).join(" / ")||void 0}}function Po(e){return e&&typeof e=="object"&&typeof e.__ts=="number"?e.__ts:0}function z5(e){const t=e;return Array.isArray(t?.items)?t.items:Array.isArray(e)?e:e?[e]:[]}function W5({idPrefix:e,trainingData:t,depth:a,fallbackTitle:r="\uD6C8\uB828",pages:s=[],emptyMessage:i,buildResults:l,metaPatch:c}){const u=Jc(t,a,r),d=typeof c=="function"?c(u)||{}:c||{},p=t?.id||t?.title||s.length;return{id:`${e}:${p}`,meta:{...u,...d},pages:s,emptyMessage:i,buildResults:l}}function q5(e){if(typeof e=="string")return e;if(e&&typeof e=="object"){const t=e;return t.context||t.sentence||t.question||""||""}return""}function U5(e){if(e&&typeof e=="object"){const t=e;if(Array.isArray(t.selectedValues))return t.selectedValues;if(t.selectedValue!==void 0)return t.selectedValue;if(t.selectedIndex!==void 0)return t.selectedIndex;if(t.value!==void 0)return t.value}return e}function G5(e,t=[]){if(Array.isArray(e))return e.join(", ");if(typeof e=="number"&&Array.isArray(t))return String(t[e]??"");if(typeof e=="string")return e}function Qc(e,t){if(!(!e||typeof e!="object"))return e[`step-${t}`]}function K5(e,t,a,r){return Qc(e,t*a+r)}function Y5({payload:e,selected:t,choices:a=[],correctAnswers:r=[]}){if(e&&typeof e=="object"){const s=e;if(Array.isArray(s.selectedValues))return r.every(i=>s.selectedValues.includes(i))&&s.selectedValues.every(i=>r.includes(i));if(typeof s.correct=="boolean")return s.correct}if(r.length){if(typeof t=="number"&&Array.isArray(a)&&a.length)return r.some(s=>String(s)===String(a[t]));if(typeof t<"u")return r.some(s=>String(s)===String(t))}}function Z5(e){return e?Array.isArray(e.items)?e.items.map(t=>{const a=t;return typeof t=="string"?{sentence:t}:{sentence:a.context||a.sentence||"",contextCode:a.contextCode||a.context_code}}):Array.isArray(e.sentences)?e.sentences.map(t=>{const a=t;return typeof t=="string"?{sentence:t}:{sentence:a.sentence||a.context||"",contextCode:a.contextCode}}):Array.isArray(e.contexts)?e.contexts:e.contextCode?[{contextCode:e.contextCode}]:[]:[]}const eu=o.createContext(null);function X5(){const e=o.useContext(eu);if(!e)throw new Error("useTrainingPagePopupContext must be used inside TrainingPagePopup");return e}function J5({index:e,stepIndex:t,isLast:a=!1,title:r,choices:s=[],onDone:i,onChange:l}){const{t:c}=fe.useTranslation(),u=typeof e=="number"?e:-1,d=typeof t!="number"?"disabled":u<t?"done":u===t?"active":"disabled",[p,m]=o.useState(()=>s.map(()=>null)),h=JSON.stringify(s),g=s.length;o.useEffect(()=>{m(Array.from({length:g},()=>null))},[h]);const C=o.useRef(void 0);o.useEffect(()=>{const y=C.current;typeof y=="number"&&typeof t=="number"&&typeof e=="number"&&y>=e&&t<e&&m(Array.from({length:g},()=>null)),C.current=t},[t,e,g]);const b=o.useMemo(()=>p.filter(y=>y!==null).length+1,[p]),_=o.useCallback(y=>{if(d!=="active")return;const x=p;let v;if(x[y]!=null){const w=x[y];v=x.map(D=>D!==null&&D>=w?null:D)}else v=[...x],v[y]=b;m(v);const A={selectedOrder:v,words:s,__ts:Date.now()};try{typeof l=="function"&&l(A)}catch{}if(x[y]==null&&v.length>0&&v.every(w=>w!==null))try{typeof i=="function"&&i(A)}catch{}},[d,p,b,l,i,s]),f=r??c("training.selectInOrder","\uB4E4\uC740 \uC21C\uC11C\uB300\uB85C \uCE74\uB4DC\uB97C \uC120\uD0DD\uD558\uC138\uC694.");return n.jsx(Hn,{index:e,stepIndex:t,isLast:a,title:f,onDone:i,children:n.jsx("div",{className:"training-step__cards",children:s.map((y,x)=>n.jsx(ho,{item:{word:y},disabled:d==="disabled",selectable:!0,selected:p[x]!==null,orderRank:p[x],onSelect:()=>_(x),flipDelay:x*120,hideLabel:!1,hideAudio:!0},`${y}-${x}`))})})}function sr(e){return null}sr.__isTrainingPage=!0;function ia(e,t){const a=X5();return{ctx:a,index:e,stepIndex:a.currentStepIndex,isLast:typeof e=="number"&&typeof t=="number"?e===t-1:!1,onDone:r=>a.handleStepDone(r,e),onChange:r=>a.handleStepChange(r,e)}}function tu({_stepIndex:e,_totalSteps:t,...a}){const{index:r,stepIndex:s,isLast:i,onDone:l}=ia(e,t);return n.jsx(Mo,{...a,index:r,stepIndex:s,isLast:i,onDone:l})}function nu({_stepIndex:e,_totalSteps:t,...a}){const{index:r,stepIndex:s,isLast:i,onDone:l,onChange:c}=ia(e,t);return n.jsx(To,{...a,index:r,stepIndex:s,isLast:i,onDone:l,onChange:c})}function au({_stepIndex:e,_totalSteps:t,...a}){const{index:r,stepIndex:s,isLast:i,onDone:l,onChange:c}=ia(e,t);return n.jsx(jo,{...a,index:r,stepIndex:s,isLast:i,onDone:l,onChange:c})}function ru({_stepIndex:e,_totalSteps:t,...a}){const{index:r,stepIndex:s,isLast:i,onDone:l,onChange:c}=ia(e,t);return n.jsx(Lo,{...a,index:r,stepIndex:s,isLast:i,onDone:l,onChange:c})}function ou({_stepIndex:e,_totalSteps:t,...a}){const{index:r,stepIndex:s,isLast:i,onDone:l,onChange:c}=ia(e,t);return n.jsx(Wc,{...a,index:r,stepIndex:s,isLast:i,onDone:l,onChange:c})}function Q5({_stepIndex:e,_totalSteps:t,...a}){const{index:r,stepIndex:s,isLast:i,onDone:l,onChange:c}=ia(e,t);return n.jsx(J5,{...a,index:r,stepIndex:s,isLast:i,onDone:l,onChange:c})}function Io(...e){for(const t of e)if(typeof t=="string"){const a=t.trim();if(a.length)return a}else{if(typeof t=="number"||typeof t=="boolean")return String(t);if(Array.isArray(t)&&t.length)return t.join(", ");if(t&&typeof t=="object"){const a=t,r=[a.text,a.label,a.value];for(const s of r){if(typeof s=="string"&&s.trim().length)return s.trim();if(typeof s=="number"||typeof s=="boolean")return String(s)}}}return null}function e3(e){return Io(e?.question,e?.q,e?.sentence,e?.text,e?.prompt,e?.wording)}function su(e){if(!e)return;if(typeof e.decision=="boolean")return e.decision;if(typeof e.correct=="boolean")return e.correct;if(typeof e.heard=="boolean")return e.heard;if(typeof e.judgement=="boolean")return e.judgement;const t=Io(e?.status,e?.result,e?.judge,e?.note);if(t){const a=t.toLowerCase();if(["ok","true","\uB9DE\uC74C","\uC815\uB2F5"].some(r=>a.includes(r)))return!0;if(["ng","false","\uD2C0\uB9BC","\uC624\uB2F5"].some(r=>a.includes(r)))return!1}}function iu(e){const{score:t,contextsLength:a,results:r=[],subtitle:s,onReplay:i,onClose:l,inline:c=!1,pending:u=!1}=e||{},{t:d}=fe.useTranslation(),p=o.useId(),m=o.useCallback(()=>!u,[u]);o.useEffect(()=>{const y=a??0;if(t!=null&&y>0&&t/y>.5){const x=window.setTimeout(()=>{window.dispatchEvent(new CustomEvent("party:trigger",{detail:{count:140,strength:1.6,duration:2200}}))},0);return()=>window.clearTimeout(x)}},[t,a]);const h=o.useCallback(y=>{const x=su(y),v=Io(y?.wording,y?.label);return x===!0?{variant:"main",label:v??d("training.result.heardWell","\uC798 \uB4E4\uC5C8\uC5B4\uC694")}:x===!1?{variant:"danger",label:v??d("training.result.notHeard","\uBABB \uB4E4\uC5C8\uC5B4\uC694")}:{variant:"disabled",label:v??d("training.result.notJudged","\uBBF8\uD310\uC815")}},[d]),g=a??0,C=t??0,b=o.useMemo(()=>Array.isArray(r)?r:[],[r]),_=o.useMemo(()=>b.map(y=>{const x=y??{},v=e3(x)||d("training.result.noContent","(\uB0B4\uC6A9\uC5C6\uC74C)"),{variant:A,label:w}=h(x),D=Array.isArray(x.corrects)?x.corrects:[],k=D.length?D.join(", "):x.answer!=null&&x.answer!==""?String(x.answer):null,B=typeof x.selectedText=="string"?x.selectedText:null,N=su(x)===!0;return{problem:v,variant:A,label:w,answer:k,selectedText:B,isCorrect:N}}),[b,h,d]),f=o.useMemo(()=>_.some(y=>y.answer!==null||y.selectedText!==null),[_]);return n.jsx(Dn,{onClose:l,closeOnBackdrop:!1,inline:c,ariaLabel:d("training.result.title","\uD6C8\uB828\uC744 \uBAA8\uB450 \uB9C8\uCCE4\uC2B5\uB2C8\uB2E4."),className:"popup--training-result",beforeClose:m,footerClassName:"trp-result__foot",footer:({animateThen:y,closeWithAnimation:x})=>n.jsxs(n.Fragment,{children:[u&&n.jsx("p",{id:p,className:"trp-actions__reason caption-1",role:"status",children:d("training.result.pendingDone","\uACB0\uACFC\uB97C \uACC4\uC0B0\uD558\uB294 \uC911\uC774\uB77C \uC544\uC9C1 \uC644\uB8CC\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.")}),n.jsxs("div",{className:"trp-actions",children:[n.jsx(ce,{htmlType:"button",size:56,type:"bar",label:d("training.result.replay","\uB2E4\uC2DC\uD558\uAE30"),onClick:()=>y(i)}),n.jsx(ce,{htmlType:"button",size:56,type:"bar",label:d("training.result.done","\uC644\uB8CC"),variant:"main",onClick:x,disabled:u,onDisabledClick:u?()=>{}:void 0,"aria-describedby":u?p:void 0})]})]}),children:()=>n.jsxs("div",{className:"trp-result is-on",children:[n.jsxs("header",{className:"trp-result__head",children:[n.jsx("p",{className:"trp-result__eyebrow caption-1",children:d("training.result.eyebrow","\uD6C8\uB828 \uC644\uB8CC")}),n.jsx("h1",{className:"trp-result__title h2",children:d("training.result.title","\uD6C8\uB828\uC744 \uBAA8\uB450 \uB9C8\uCCE4\uC2B5\uB2C8\uB2E4.")}),s&&n.jsx("p",{className:"trp-result__subtitle body-3",children:s}),n.jsx("div",{className:"trp-score",children:n.jsxs("div",{className:"trp-score__figure","aria-label":d("training.result.scoreAria",{correct:C,total:g}),children:[n.jsx("span",{className:"trp-score__big",children:C}),n.jsx("span",{className:"trp-score__sep",children:"/"}),n.jsx("span",{className:"trp-score__total",children:g})]})})]}),_.length>0&&n.jsx("section",{className:"trp-result__body",children:n.jsxs("div",{className:`result-table${f?" result-table--answer":""}`,role:"table","aria-label":d("training.result.tableAriaLabel","\uBB38\uD56D\uBCC4 \uD310\uC815"),children:[n.jsxs("div",{className:"result-table__head caption-1",role:"row",children:[n.jsx("span",{role:"columnheader",children:d("common.col.problem","\uBB38\uC81C")}),f&&n.jsx("span",{role:"columnheader",children:d("training.result.colAnswerSelected","\uC815\uB2F5 \xB7 \uC120\uD0DD")}),n.jsx("span",{className:"col-right",role:"columnheader",children:d("training.result.colJudge","\uD310\uC815")})]}),_.map((y,x)=>n.jsxs("div",{className:"result-table__row",role:"row",children:[n.jsxs("div",{className:"trp-row__problem",children:[n.jsx("span",{className:"trp-row__no caption-1",children:String(x+1).padStart(2,"0")}),n.jsx("div",{className:"trp-row__q body-2",children:y.problem})]}),f&&n.jsxs("div",{className:"trp-row__answers",children:[y.answer!==null&&n.jsxs("div",{className:"trp-row__answer-line",children:[n.jsx("span",{className:"trp-row__answer-label answer-correct caption-1",children:d("training.result.colAnswer","\uC815\uB2F5")}),n.jsx("span",{className:"trp-row__answer-value body-2",children:y.answer})]}),n.jsxs("div",{className:"trp-row__answer-line",children:[n.jsx("span",{className:`trp-row__answer-label answer-selected caption-1 ${y.isCorrect?"is-correct":"is-wrong"}`,children:d("training.result.colSelected","\uC120\uD0DD")}),n.jsx("span",{className:`trp-row__answer-value body-2 ${y.isCorrect?"is-correct":"is-wrong"}`,children:y.selectedText??"\u2014"})]})]}),n.jsx("div",{className:"trp-row__judge",children:n.jsx(pt,{variant:y.variant,label:y.label,fill:"soft",minWidth:80})})]},x))]})})]})})}function t3(e){o.useEffect(()=>{if(!e)return;const t=()=>typeof document>"u"||document.visibilityState!=="hidden";let a=null,r=null,s=0,i=0;const l=()=>{const p=Date.now();a==null&&(a=p),r==null&&(r=p)},c=()=>{r!=null&&(s+=Date.now()-r,r=null)};t()&&l();const u=()=>{if(c(),a==null||s-i<1e3||i===0&&s<5e3)return;const p=a+i;i=s,p2({trainingType:e,startedAt:new Date(p).toISOString(),endedAt:new Date(a+s).toISOString()})},d=()=>{t()?l():u()};return typeof document<"u"&&document.addEventListener("visibilitychange",d),typeof window<"u"&&window.addEventListener("pagehide",u),()=>{typeof document<"u"&&document.removeEventListener("visibilitychange",d),typeof window<"u"&&window.removeEventListener("pagehide",u),u()}},[e])}function Fo(e,t){return e&&e.id||`page-${t??0}`}function Oo(e,t){return e&&e.key||`step-${t??0}`}function ir(){return{pageIndex:0,stepIndex:0,answersByPage:{}}}function n3(e,t){return typeof e?.props=="function"?e.props(t)||{}:e?.props||{}}const a3=300,r3=()=>{try{return typeof window<"u"&&!!window.matchMedia?.("(prefers-reduced-motion: reduce)").matches}catch{return!1}},En=Object.freeze({}),lu=new Set(["LISTEN_IN_NOISE","SHORT_STORY","LONG_STORY","ORDERING_SENTENCE"]);function cu(e){const t=e,a=t?.results||t?.answers||[],r=Array.isArray(a)&&a.length>0?a.length:null,s=Array.isArray(a)?a.filter(i=>i?.correct===!0||i?.isCorrect===!0||i?.score===1||i?.heard===!0||i?.judgement===!0).length:null;return{results:a,correct:r!=null?s:null,total:r}}const o3=e=>n.jsx(iu,{score:e.score,contextsLength:e.contextsLength,results:e.results,onReplay:e.onReplay,onClose:e.onClose,pending:e.pending});function s3(e){const{scenario:t,title:a,subTitle:r,depth:s,icon:i,wrapperStyle:l,iconTooltip:c,pageIndex:u,pageCount:d,stepIndex:p,stepCount:m,onBack:h,onComplete:g,onNext:C,onSettings:b,useNoiseSetting:_=!0,children:f,ariaLabel:y,label:x,buildResults:v,onResult:A,typeKey:w,entryPoint:D,dailyTotal:k,itemRef:B,renderResultPopup:N,noiseOverride:M}=e;t3(w&&!lu.has(w)?w:"");const P=o.useRef(0);o.useEffect(()=>{P.current=Date.now()},[]);const{t:$}=fe.useTranslation(),W=A,S=!!t,F=t?.id||null,Y=t?.meta||{},G=Array.isArray(t?.pages)?t.pages:[],q=Array.isArray(f)||o.isValidElement(f)&&typeof f!="function"?o.Children.toArray(f).filter(o.isValidElement):[],H=q.length>0,z=ne=>ne===sr||ne?.__isTrainingPage===!0,Z=H&&q.some(ne=>z(ne.type)),I=Z?q.filter(ne=>z(ne.type)).map((ne,pe)=>{const V=ne.props||{};return{id:`children-page-${pe}`,steps:o.Children.toArray(V.children).filter(o.isValidElement),pageTop:V.pageTop||V.top||null,pageBottom:V.pageBottom||V.bottom||null}}):[{id:"children-page-0",steps:q}],T=H&&!S&&typeof f!="function",O=T?Math.max(1,I.length):0;o.useEffect(()=>{if(!(typeof document>"u"||!document.body)&&!document.body.classList.contains("ihabdevteam-core-scope"))return document.body.classList.add("ihabdevteam-core-scope"),()=>{document.body.classList.remove("ihabdevteam-core-scope")}},[]),o.useEffect(()=>{if(typeof document>"u"||!document.body)return;const ne=document.body;return ne.dataset.ihabTrainingPopupCount=String(Number(ne.dataset.ihabTrainingPopupCount||"0")+1),ne.classList.add("ihab-training-popup-open"),()=>{const pe=Number(ne.dataset.ihabTrainingPopupCount||"1")-1;pe>0?ne.dataset.ihabTrainingPopupCount=String(pe):(delete ne.dataset.ihabTrainingPopupCount,ne.classList.remove("ihab-training-popup-open"))}},[]),o.useEffect(()=>{if(!(typeof document>"u"||!document.body))return r4()},[]);const[R,j]=o.useState({...Ea,enabled:!1}),L=o.useRef(R);o.useEffect(()=>{L.current=R},[R]);const Q=o.useRef(M),J=o.useRef(!1),oe=o.useRef(null);o.useEffect(()=>{let ne=!1;const pe=V=>{if(ne)return;J.current=!0;const re=V?Sa({...Ea,enabled:!1},V):{...Ea},le=oe.current;oe.current=null;const ye=le?Sa(re,le):re;L.current=ye,j(ye),le&&!Q.current&&Qs(ye),Ia(ye);const ve=Q.current;if(ve){const je=typeof ve=="function"?ve(ye):ve,nt=Sa(ye,je);L.current=nt,j(nt),Ia(nt)}};return C2().then(pe),()=>{ne=!0}},[]);const[ge,Me]=o.useState(null),[Ne,ie]=o.useState(null),U=o.useCallback((ne,pe)=>{ne==="main"?Me(pe):ie(pe)},[]),se=o.useRef(null),me=o.useRef(null),_e=o.useCallback(()=>{me.current!==null&&(clearTimeout(me.current),me.current=null);const ne=se.current;se.current=null,ne&&Qs(ne)},[]);o.useEffect(()=>{if(typeof window>"u")return;const ne=()=>{document.visibilityState==="hidden"&&_e()};return window.addEventListener("pagehide",_e),document.addEventListener("visibilitychange",ne),()=>{window.removeEventListener("pagehide",_e),document.removeEventListener("visibilitychange",ne),_e()}},[_e]);const we=o.useCallback(ne=>{const pe=Sa(L.current,ne);if(L.current=pe,j(pe),!J.current){oe.current={...oe.current??{},...ne},Ia(pe);return}Q.current||(se.current=pe,me.current!==null&&clearTimeout(me.current),me.current=setTimeout(_e,a3)),Ia(pe)},[_e]),De=R.mainSpeed,xe=R.mainVolume,Ae=o.useCallback(ne=>we({mainSpeed:ne}),[we]),Te=o.useCallback(ne=>we({mainVolume:ne}),[we]),ae=o.useMemo(()=>({settings:R,setSettings:we,registerAnalyser:U,mainAnalyser:ge,noiseAnalyser:Ne,playbackRate:De,setPlaybackRate:Ae,mainVolume:xe,setMainVolume:Te}),[R,we,U,ge,Ne,De,Ae,xe,Te]),ee=o.useRef(null),[de,te]=o.useState(0),he=o.useRef([]),[be,Ye]=o.useState("center"),[Ve,qe]=o.useState(!1),Se=o.useRef(!1),Ue=o.useRef(null),$e=o.useCallback(ne=>{Se.current||(Se.current=!0,qe(!0),Ue.current=setTimeout(()=>{try{ne()}catch{Se.current=!1,qe(!1)}},r3()?0:j5))},[]);o.useEffect(()=>()=>{Ue.current&&clearTimeout(Ue.current)},[]);const Ie=o.useRef(h);o.useEffect(()=>{Ie.current=h}),o.useEffect(()=>{const ne=ee.current,pe=document.activeElement;if(Ir(ne,pe),ne){const V=Array.from(ne.querySelectorAll(hn)).filter(re=>!re.closest('[aria-hidden="true"]'))[0];if(V)try{V.focus()}catch{}}return()=>{const V=document.activeElement;if(!V||V===document.body||ne&&ne.contains(V))try{Fr(pe)?.focus?.()}catch{}}},[]),o.useEffect(()=>Rn(()=>$e(()=>{const ne=Ie.current;typeof ne=="function"&&ne()})),[$e]),Rr(ee,!0);const[He,at]=o.useState(!1),ot=o.useRef(!1),[We,Xe]=o.useState(null),Ct=o.useRef(0),At=()=>{Ct.current+=1,Xe(null)},[Et,ut]=o.useState(""),[Qe,Ze]=o.useState(()=>ir()),Oe=o.useRef(typeof u=="number"?u:null);o.useEffect(()=>{!S&&!T||(Ze(ir()),At())},[S,F,T]),o.useEffect(()=>{T&&Ze(ne=>{const pe=Math.max(0,Math.min(ne.pageIndex,Math.max(0,O-1)));return pe!==ne.pageIndex?{...ne,pageIndex:pe,stepIndex:0}:ne})},[T,O]);const rt=T?Math.max(0,Math.min(Qe.pageIndex,O-1)):0,et=T?I[rt]:null,bt=T&&et&&Array.isArray(et.steps)?et.steps:[],ze=S?Qe.pageIndex:T?rt:typeof u=="number"?u:0,it=S?G[Math.max(0,Math.min(Qe.pageIndex,Math.max(0,G.length-1)))]:null,Bt=S&&it&&Array.isArray(it.steps)?it.steps:[],Nt=S?Bt.length:T?bt.length:typeof m=="number"?m:0,Le=S||T?Math.max(0,Math.min(Qe.stepIndex,Math.max(0,Nt))):typeof p=="number"?p:0,Ke=S?G.length:T?O:typeof d=="number"?d:0;o.useLayoutEffect(()=>{const ne=Oe.current;if(typeof ze=="number"&&ne!==null&&ze!==ne&&ze>ne)try{ut($("training.problemNotice",{n:ze+1}))}catch{}Oe.current=typeof ze=="number"?ze:Oe.current},[ze,u,$]),o.useLayoutEffect(()=>{const ne=ee.current;if(!ne)return;const pe=()=>ne.querySelector(".page-popup__scroll");let V=null,re=null,le=null;const ye=lt=>{const _t=pe();if(!_t)return;const zt=_t.scrollHeight<=_t.clientHeight;if(Ye(zt?"center":"top"),lt&&!ot.current){ot.current=!0;try{at(!0)}catch{}try{nt.disconnect()}catch{}}},ve=()=>{V!==null&&cancelAnimationFrame(V),V=requestAnimationFrame(()=>{re!==null&&clearTimeout(re),re=setTimeout(()=>ye(!0),60)})},je=()=>{le!==null&&cancelAnimationFrame(le),le=requestAnimationFrame(()=>ye(!1))};ve(),window.addEventListener("resize",je);const nt=new MutationObserver(ve);nt.observe(ne,{childList:!0,subtree:!0,attributes:!0});const ht=setTimeout(()=>{ot.current||ye(!0)},400);return()=>{window.removeEventListener("resize",je),V!==null&&cancelAnimationFrame(V),re!==null&&clearTimeout(re),le!==null&&cancelAnimationFrame(le),clearTimeout(ht);try{nt.disconnect()}catch{}}},[ee]);const Dt=o.useCallback(ne=>{ee.current&&(ee.current._childOnNext=ne)},[]),vt=o.useCallback(ne=>{ee.current&&(ee.current._childOnResult=ne)},[]),Tt=o.useCallback((ne,pe,V)=>{Ze(re=>{const le=re.answersByPage[ne]||{},ye=le[pe],ve=Po(V),je=Po(ye);return ye&&je>ve?re:{...re,answersByPage:{...re.answersByPage,[ne]:{...le,[pe]:V}}}})},[Ze]),on=o.useCallback((ne,pe,V)=>{const re=Fo(it,ze),le=Oo(ne,pe);Tt(re,le,V)},[it,ze,Tt]),tt=o.useCallback((ne,pe,V)=>{const re=Fo(it,ze),le=Oo(ne,pe);Tt(re,le,V),!V?.allowChange&&ne?.autoAdvance!==!1&&Ze(ye=>({...ye,stepIndex:Math.max(ye.stepIndex,pe+1)}))},[it,ze,Tt,Ze]),Gt=o.useCallback((ne,pe)=>{const V=et?.id||`children-page-${ze??0}`,re=typeof pe=="number"?pe:Le??0,le=`step-${re}`;Tt(V,le,ne),ne?.allowChange||Ze(ye=>({...ye,stepIndex:Math.max(ye.stepIndex,re+1)}))},[et,ze,Le,Tt,Ze]),vn=o.useCallback((ne,pe)=>{const V=et?.id||`children-page-${ze??0}`,re=`step-${typeof pe=="number"?pe:Le??0}`;Tt(V,re,ne)},[et,ze,Le,Tt]),xt=T?{currentPageIndex:ze??0,currentStepIndex:Le??0,totalStepsInPage:bt.length,handleStepDone:Gt,handleStepChange:vn}:null,Ht=async()=>{const ne=typeof t?.buildResults=="function"?await Promise.resolve(t.buildResults({scenario:t,pages:G,flowState:Qe,answersByPage:Qe.answersByPage})):null;return typeof W=="function"&&await Promise.resolve(W(ne))||ne},Xt=async()=>{const ne=et?.id||`children-page-${Qe.pageIndex}`,pe=Qe.answersByPage[ne]||{},V=Z?(()=>{const ye={};let ve=0;return I.forEach(je=>{const nt=Qe.answersByPage[je.id]||{},ht=Array.isArray(je.steps)?je.steps.length:0;for(let lt=0;lt<ht;lt+=1){const _t=nt[`step-${lt}`];typeof _t<"u"&&(ye[`step-${ve+lt}`]=_t)}ve+=ht}),ye})():pe;if(typeof v=="function"){const ye=await Promise.resolve(v(V,{pageAnswers:pe,answersByPage:Qe.answersByPage,pages:I,currentPageId:ne}));return typeof W=="function"&&await Promise.resolve(W(ye))||ye}const re=Object.entries(pe).map(([ye,ve],je)=>({index:je,key:ye,payload:ve})),le={results:re,answers:re,score:0};return typeof W=="function"&&await Promise.resolve(W(le))||le},an=()=>{const ne=++Ct.current,pe=()=>ne!==Ct.current;try{if(typeof document<"u"&&document.body){try{document.dispatchEvent(new CustomEvent("speechear-close-tooltips"))}catch{}document.dispatchEvent(new PointerEvent("pointerdown",{bubbles:!0,cancelable:!0})),document.dispatchEvent(new MouseEvent("click",{bubbles:!0,cancelable:!0}))}}catch{}if(S){const le=Ht();Xe(En);const ye=le;Promise.resolve(ye).then(ve=>{pe()||Xe(ve||{isEmpty:!0})}).catch(ve=>{!pe()&&Xe({isEmpty:!0})});return}if(T){const le=Xt();Xe(En);const ye=le;Promise.resolve(ye).then(ve=>{pe()||Xe(ve||{isEmpty:!0})}).catch(ve=>{!pe()&&Xe({isEmpty:!0})});return}const V=ee.current&&ee.current._childOnResult,re=le=>{try{return le?le():void 0}catch{return}};if(typeof V=="function"){const le=re(V);try{typeof document>"u"?require("url").pathToFileURL(__filename).href:mn&&mn.tagName.toUpperCase()==="SCRIPT"&&mn.src||new URL("components.cjs.js",document.baseURI).href}catch{}le&&typeof le.then!="function"?Xe(le):Xe(le&&typeof le.then=="function"?En:{});const ye=()=>{pe()||Xe(ve=>ve===En?{}:ve)};Promise.resolve(le).then(ve=>{ve&&!pe()?Xe(ve):ye()}).catch(ve=>{ye()});return}if(typeof W=="function"){const le=re(W);try{typeof document>"u"?require("url").pathToFileURL(__filename).href:mn&&mn.tagName.toUpperCase()==="SCRIPT"&&mn.src||new URL("components.cjs.js",document.baseURI).href}catch{}le&&typeof le.then!="function"?Xe(le):Xe(le&&typeof le.then=="function"?En:{});const ye=()=>{pe()||Xe(ve=>ve===En?{}:ve)};Promise.resolve(le).then(ve=>{try{typeof document>"u"?require("url").pathToFileURL(__filename).href:mn&&mn.tagName.toUpperCase()==="SCRIPT"&&mn.src||new URL("components.cjs.js",document.baseURI).href}catch{}ve&&!pe()?Xe(ve):ye()}).catch(ve=>{console.error("viewResults external handler failed",ve),ye()});return}},sn=()=>{if(S){if(typeof ze=="number"&&typeof Ke=="number"&&ze<Ke-1){Ze(pe=>({...pe,pageIndex:pe.pageIndex+1,stepIndex:0}));return}return an()}if(T){const pe=bt.length;if(typeof Le=="number"&&Le<pe-1){Ze(V=>({...V,stepIndex:V.stepIndex+1}));return}if(typeof ze=="number"&&typeof Ke=="number"&&ze<Ke-1){Ze(V=>({...V,pageIndex:V.pageIndex+1,stepIndex:0}));return}return an()}if(typeof C=="function"){try{C()}catch{}return}const ne=ee.current&&ee.current._childOnNext;if(typeof ne=="function"){try{ne()}catch{}return}},Jt=S?Y.title||Y.label||y||$("common.popup","\uD31D\uC5C5"):a||x||(Array.isArray(s)?s[s.length-1]:void 0)||y||$("common.popup","\uD31D\uC5C5"),xn=y||Jt,Kt=S?Y.title??Y.label??Jt:a??x??Jt,mt=(ne,pe)=>{const V=Fo(it,ze),re=Oo(ne,pe),le=Qe.answersByPage[V]?.[re],ye=n3(ne,{page:it,pageIndex:ze,step:ne,stepIndex:pe,storedPayload:le,answersByPage:Qe.answersByPage,flowState:Qe}),ve={key:re,index:pe,stepIndex:Le,isLast:pe===Bt.length-1};switch(ne?.type){case"listen":return n.jsx(Mo,{...ve,...ye,onDone:je=>tt(ne,pe,je)});case"confirm":return n.jsx(To,{...ve,...ye,onDone:je=>tt(ne,pe,je),onChange:je=>on(ne,pe,je)});case"confirmWithText":return n.jsx(jo,{...ve,...ye,onDone:je=>tt(ne,pe,je),onChange:je=>on(ne,pe,je)});case"orderList":return n.jsx(Lo,{...ve,...ye,onDone:je=>tt(ne,pe,je),onChange:je=>on(ne,pe,je)});default:return null}},ln=o.useRef(void 0);o.useEffect(()=>{const ne=ln.current;if(ln.current=ze,ne===void 0||ne===ze||!Ja())return;const pe=ee.current;if(!pe)return;const V=document.activeElement;if(!(!V||V===document.body||!pe.contains(V)||V.disabled===!0))return;const re=pe.querySelector(`.training-steps ${hn.split(", ").join(", .training-steps ")}`)??Array.from(pe.querySelectorAll(hn)).find(le=>!le.closest('[aria-hidden="true"]'));try{re?.focus()}catch{}},[ze]);const Yt=S?G.length>0?n.jsx("div",{className:"training-steps",children:Bt.map((ne,pe)=>mt(ne,pe))},`replay-${de}`):n.jsx("div",{className:"page-popup__content page-popup__content--center",children:n.jsx("div",{className:"pp-empty",children:t?.emptyMessage||$("training.noQuestions","\uBB38\uC81C\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.")})}):null,jt=T?n.jsxs(eu.Provider,{value:xt,children:[et?.pageTop?n.jsx("div",{className:"training-page-top",children:et.pageTop}):null,n.jsx("div",{className:"training-steps",children:bt.map((ne,pe)=>{const V=ne;return o.cloneElement(V,{...V.props,_stepIndex:pe,_totalSteps:bt.length,_stepKey:`step-${pe}`,_pageIndex:ze})})},`replay-${de}`),et?.pageBottom?n.jsx("div",{className:"training-page-bottom",children:et.pageBottom}):null]}):null,cn=o.useCallback(()=>{let ne;if(w){const pe=We,{results:V,correct:re,total:le}=cu(We);m2({items:f2(V),category:lu.has(w)?"sentence":"word",trainingType:w,entryPoint:D??"sentence",itemRef:B??null,correct:re,total:le,score:typeof pe?.score=="number"?pe.score:null,durationSeconds:Math.max(0,Math.round((Date.now()-P.current)/1e3)),dailyTotal:k??null}),ne={correct:re,total:le,attempt:he.current.length+1,previousAttempts:[...he.current]}}At(),$e(()=>{typeof g=="function"&&g(ne),typeof h=="function"&&h()})},[g,h,w,D,k,B,We,Xe,$e]),Zt=o.useCallback(()=>ut(""),[ut]),un=o.useCallback(()=>{$e(()=>{typeof h=="function"&&h()})},[h,$e]),ke=n.jsxs("div",{className:`page-popup${Ve?" page-popup--closing":""}`,role:"dialog","aria-modal":"true","aria-label":xn,children:[n.jsxs("div",{ref:ee,className:`page-popup__panel ${He?"":"page-popup__panel--measuring"} ${be==="center"?"page-popup__panel--center":be==="top"?"page-popup__panel--top":""}`,children:[n.jsx(Zc,{title:Kt,subtitle:S?Y.subtitle||Y.label:Array.isArray(s)?s.join(" / "):void 0,desc:S?void 0:r,depth:S?Y.depth:s,icon:S?Y.icon:i,wrapperStyle:S?Y.wrapperStyle:l,iconTooltip:S?Y.iconTooltip:c,progressMax:Ke,progressIndex:ze,pageIndex:ze,pageCount:Ke,onBack:un,onClose:un}),n.jsx("div",{className:"page-popup__scroll",children:n.jsx("div",{className:`page-popup__content ${be==="center"?"page-popup__content--center":"page-popup__content--top"}`,children:T?jt:S?Yt:typeof f=="function"?f({registerOnNext:Dt,registerOnResult:vt,panelRef:ee,setResultOverlay:Xe}):f})}),n.jsx(Yc,{onSettings:b,onNext:sn,onResult:an,useNoiseSettingBtn:!!(S?Y.useNoiseSetting??!0:_),stepIndex:Le,stepCount:Nt,pageIndex:ze,pageCount:Ke})]}),We&&!We.isEmpty&&(N??o3)({score:We.score,results:We.results||We.answers||[],contextsLength:We.results?We.results.length:We.answers?We.answers.length:0,onReplay:()=>{if(P.current=Date.now(),We!==En){const{correct:ne,total:pe}=cu(We);he.current.push({correct:ne,total:pe})}if(At(),te(ne=>ne+1),S){if(Ze(ir()),typeof t?.onReplay=="function")try{t.onReplay()}catch{}return}if(T){Ze(ir());return}try{const ne=ee.current&&ee.current._childOnResult;typeof ne=="function"&&ne({replay:!0})}catch{}},onClose:cn,pending:We===En}),We?.isEmpty&&n.jsx("div",{className:"page-popup page-popup--result-empty",role:"dialog","aria-modal":"true","aria-label":$("training.result.eyebrow","\uD6C8\uB828 \uC644\uB8CC"),children:n.jsxs("div",{className:"page-popup__panel page-popup__panel--center",children:[n.jsx("div",{className:"page-popup__scroll",children:n.jsx("div",{className:"page-popup__content page-popup__content--center",children:n.jsx("div",{className:"page-popup__empty",children:$("training.result.eyebrow","\uD6C8\uB828 \uC644\uB8CC")})})}),n.jsx("div",{className:"page-popup__bottom",children:n.jsx(ce,{htmlType:"button",variant:"main",size:48,onClick:cn,label:$("training.result.done","\uC644\uB8CC")})})]})}),n.jsx(ea,{message:Et,position:"top",onClose:Zt})]}),Pe=n.jsx(Ao.Provider,{value:ae,children:ke});return typeof document<"u"&&document.body?Wt.createPortal(Pe,document.body):Pe}const Tn=s3;Tn.Page=sr,Tn.ListenStep=tu,Tn.ConfirmStep=nu,Tn.ConfirmWithTextStep=au,Tn.OrderListStep=ru,Tn.CardStep=ou,Tn.CardOrderStep=Q5;function i3({label:e,homonum:t}){const a=Un()?.(e,t)??"",{imgRef:r,loading:s,hasImage:i,onLoad:l,onError:c}=mo(a);return i?n.jsxs("div",{className:"tooltip-word-image__cell",children:[s&&n.jsx("div",{className:"tooltip-word-image__spinner"}),n.jsx("img",{ref:r,src:a,alt:e,draggable:!1,style:{opacity:s?0:1},onLoad:l,onError:c})]}):n.jsx("div",{className:"tooltip-word-image__cell tooltip-word-image__cell--text h3",children:n.jsx("span",{children:e})})}function uu({words:e,anchorRect:t}){const a=o.useRef(null),[r,s]=o.useState(null);return o.useLayoutEffect(()=>{if(!t||!a.current)return;const{offsetWidth:i,offsetHeight:l}=a.current,c=window.innerWidth;let u=t.left+t.width/2-i/2,d=t.top-l-8;d<8&&(d=t.bottom+8),u=Math.max(8,Math.min(u,c-i-8)),s({left:u,top:d})},[t]),!t||e.length===0?null:Wt.createPortal(n.jsx("div",{ref:a,className:"tooltip-word-image",style:{visibility:r?"visible":"hidden",left:r?.left??0,top:r?.top??-9999},children:n.jsx("div",{className:"tooltip-word-image__cells",children:e.map(i=>n.jsx(i3,{label:i.label,homonum:i.homonum},`${i.label}_${i.homonum??1}`))})}),document.body)}const l3=new Intl.Collator("ko");function c3({titleIcon:e,resultCount:t,resultUnit:a,searchQuery:r,items:s,groups:i,selected:l=[],onSelect:c,maxSelect:u,onClearSelection:d,onPrint:p,onPrintEmpty:m,className:h,emptyHint:g,sectionType:C="page",disc:b,notice:_}){const{t:f,i18n:y}=fe.useTranslation(),x=y.language?.startsWith("ko")??!1,{anchorRect:v,openAt:A,close:w}=za(),[D,k]=o.useState(null),B=o.useCallback(()=>{w(),k(null)},[w]);qg(B,!!D);const N=(r??"").trim(),M=/^[^,[\]\s]+$/.test(N)?N:"",P=M.length>0,$=r===void 0&&t===void 0,W=P?"match":$?"original":"ganada",[S,F]=o.useState(()=>W),[Y,G]=o.useState("50"),[q,H]=o.useState(1),[z,Z]=o.useState(P);z!==P&&(Z(P),F(W));const I=S==="match"&&!P||S==="original"&&!$?W:S,T=o.useMemo(()=>[...P?[{value:"match",label:f("wordSearch.sort.match",{defaultValue:"\uC2DC\uC791 \uC6B0\uC120"})}]:[],...$?[{value:"original",label:f("wordSearch.sort.original",{defaultValue:"\uBC1B\uC740 \uC21C\uC11C"})}]:[],{value:"ganada",label:f("wordSearch.sort.ganada",{defaultValue:"\uAC00\uB098\uB2E4\uC21C \u2191"})},{value:"ganada_desc",label:f("wordSearch.sort.ganadaDesc",{defaultValue:"\uAC00\uB098\uB2E4\uC21C \u2193"})},{value:"syllable",label:f("wordSearch.sort.syllable",{defaultValue:"\uC74C\uC808 \uC218 \u2191"})},{value:"syllable_desc",label:f("wordSearch.sort.syllableDesc",{defaultValue:"\uC74C\uC808 \uC218 \u2193"})},{value:"grade",label:f("wordSearch.sort.grade",{defaultValue:"\uB4F1\uAE09\uC21C \u2191"})},{value:"grade_desc",label:f("wordSearch.sort.gradeDesc",{defaultValue:"\uB4F1\uAE09\uC21C \u2193"})}],[f,P,$]),O=o.useMemo(()=>["10","25","50","100"].map(xe=>({value:xe,label:f("wordSearch.pageSize",{count:Number(xe),defaultValue:`${xe}\uAC1C\uC529 \uBCF4\uAE30`})})),[f]),R=xe=>xe.words?.[0],j=o.useMemo(()=>{const xe=[...M].length,Ae=X0(M),Te=new Map;return ae=>{let ee=Te.get(ae);return ee===void 0&&(ee=Ae((ae.words?.[0]?.label??"").slice(0,xe))?0:1,Te.set(ae,ee)),ee}},[M]),L=o.useCallback((xe,Ae)=>{const Te=de=>R(de)?.label??"",ae=de=>R(de)?.syllables??[...Te(de)].length,ee=de=>(de.words??[]).reduce((te,he)=>{const be=parseInt(he.grade??"",10);return Number.isFinite(be)&&be<te?be:te},999);switch(I){case"match":return j(xe)-j(Ae)||l3.compare(Te(xe),Te(Ae));case"ganada":return Te(xe).localeCompare(Te(Ae),"ko");case"ganada_desc":return Te(Ae).localeCompare(Te(xe),"ko");case"syllable":return ae(xe)-ae(Ae)||Te(xe).localeCompare(Te(Ae),"ko");case"syllable_desc":return ae(Ae)-ae(xe)||Te(xe).localeCompare(Te(Ae),"ko");case"grade":return ee(xe)-ee(Ae)||Te(xe).localeCompare(Te(Ae),"ko");case"grade_desc":return ee(Ae)-ee(xe)||Te(xe).localeCompare(Te(Ae),"ko");default:return 0}},[I,j]),Q=o.useMemo(()=>s.slice().sort(L),[s,L]),J=Number(Y)||10,oe=o.useMemo(()=>(i??[]).flatMap(xe=>xe.items.slice().sort(L).map(Ae=>({item:Ae,label:xe.label}))),[i,L]),ge=i?oe.length:Q.length,Me=Math.max(1,Math.ceil(ge/J)),Ne=Math.min(q,Me),ie=o.useMemo(()=>Q.slice((Ne-1)*J,Ne*J),[Q,Ne,J]),U=o.useMemo(()=>{if(!i)return null;const xe=oe.slice((Ne-1)*J,Ne*J),Ae=new Map;for(const{item:Te,label:ae}of xe)Ae.has(ae)||Ae.set(ae,[]),Ae.get(ae).push(Te);return[...Ae.entries()].map(([Te,ae])=>({label:Te,items:ae}))},[i,oe,Ne,J]);o.useEffect(()=>{H(1)},[S,Y,ge,r]);const se=ge>0?n.jsxs("div",{className:"word-search-result-block__toolbar",children:[n.jsx(tn,{size:40,options:T,value:I,onChange:F,ariaLabel:f("wordSearch.sort.aria",{defaultValue:"\uC815\uB82C"})}),n.jsx(tn,{size:40,options:O,value:Y,onChange:G,ariaLabel:f("wordSearch.pageSizeAria",{defaultValue:"\uD398\uC774\uC9C0 \uD06C\uAE30"})}),n.jsx(Ua,{page:Ne,totalPages:Me,onChange:H})]}):void 0,me=xe=>{c&&c(xe)},_e=t!==void 0&&a?n.jsxs(n.Fragment,{children:[f("wordSearch.resultTitlePrefix","\uCD1D "),n.jsx("span",{style:{color:"var(--color-main)"},children:t}),f("wordSearch.resultTitleSuffix",{unit:x?s2(a):a})]}):void 0,we=t!==void 0&&t>0&&u!==void 0&&a?f("wordSearch.resultDisc",{unit:x?l2(a):a,max:u,selected:l.length}):void 0,De=b??(_?n.jsxs(n.Fragment,{children:[n.jsx("span",{className:"word-search-result-block__notice",children:_}),we?n.jsx("span",{className:"word-search-result-block__disc",children:we}):null]}):we);return n.jsxs(na,{type:C,icon:e,title:_e,action:se,disc:De,className:Be("word-search-result-block",h),children:[n.jsxs("div",{className:"word-search-result-block__inner",children:[(i?i.length===0:s.length===0)&&n.jsxs("div",{className:"word-search-result-block__empty-wrap",children:[n.jsx("p",{className:"word-search-result-block__empty body-3",children:f("wordSearch.emptyResult","\uAC80\uC0C9 \uACB0\uACFC\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.")}),g&&n.jsx("p",{className:"word-search-result-block__empty-hint body-3",children:g})]}),i?(U??[]).map(xe=>n.jsx("div",{className:"word-search-result-block__group",children:n.jsx("div",{className:"word-search-result-block__items",children:xe.items.map(Ae=>{const Te=l.includes(Ae.id);return n.jsx("div",{onMouseEnter:ae=>{A(ae.currentTarget),k(Ae.words??[])},onMouseLeave:B,children:n.jsx(ce,{htmlType:"button",size:"word",align:"grid",label:(Ae.words??[]).map(ae=>ae.label),subLabel:(Ae.words??[]).some(ae=>ae.subLabel)?(Ae.words??[]).map(ae=>ae.subLabel):void 0,selected:Te,onClick:()=>me(Ae.id),minWidth:200})},Ae.id)})})},xe.label)):n.jsx("div",{className:"word-search-result-block__items",children:ie.map(xe=>{const Ae=l.includes(xe.id);return n.jsx("div",{onMouseEnter:Te=>{A(Te.currentTarget),k(xe.words??[])},onMouseLeave:B,children:n.jsx(ce,{htmlType:"button",size:"word",align:"grid",label:(xe.words??[]).map(Te=>Te.label),subLabel:(xe.words??[]).some(Te=>Te.subLabel)?(xe.words??[]).map(Te=>Te.subLabel):void 0,selected:Ae,onClick:()=>me(xe.id),minWidth:200})},xe.id)})}),D&&v&&n.jsx(uu,{words:D,anchorRect:v})]}),Me>1&&n.jsx("div",{className:"word-search-result-block__pagination-bottom",children:n.jsx(Ua,{page:Ne,totalPages:Me,onChange:H})}),(d||p)&&n.jsxs("div",{className:"word-search-result-block__actions",children:[d&&n.jsx(ce,{htmlType:"button",size:"56",type:"bar",label:f("common.resetSelection","\uC120\uD0DD \uCD08\uAE30\uD654"),selected:!1,disabled:l.length===0,onClick:l.length===0?void 0:d}),p&&n.jsx("div",{onClick:l.length===0?m:void 0,children:n.jsx(ce,{htmlType:"button",size:"56",type:"bar",variant:"main",label:f("wordTable.title","\uB2E8\uC5B4 \uD45C \uB9CC\uB4E4\uAE30"),disabled:l.length===0,onClick:l.length===0?void 0:p})})]})]})}function u3(e,t){return t.map(a=>{const r=typeof a=="string"?a:a.label,s=typeof a=="string"?void 0:a.displayLabel;return{label:r,value:e[r]??"",displayLabel:s}})}function d3({sections:e,selectedList:t,count:a,onCountChange:r,maxCount:s=4,minCount:i=1,combinationSections:l,combinationSectionsForSlot:c,onSelect:u,placeholder:d="-",className:p,title:m,titleIcon:h,disc:g,showInfoButton:C=!0,onClearPhoneme:b,onSearch:_,onSearchEmpty:f,searchDisabled:y=!1,searchLabel:x,searchChecking:v=!1,pairMode:A=!1,sectionType:w="page",beforeSearchContent:D,beforeContent:k,afterContent:B,hideCountControl:N=!1,ordinal:M=!1}){const{t:P}=fe.useTranslation(),$=o.useMemo(()=>P("wordPairs.infoNotes",{returnObjects:!0}),[P]),W=o.useMemo(()=>Array.from({length:s-i+1},(R,j)=>{const L=i+j;return{key:String(L),label:P("wordPairs.count",{n:L})}}),[P,s,i]),S=o.useMemo(()=>P("wordPairs.ordinals",{returnObjects:!0}),[P]),F=o.useCallback(R=>M?P("wordPairs.phonemeOrdinalLabel",{ordinal:S[R-1]??R}):a===1?P("wordPairs.phonemeSingleLabel","\uC74C\uC808"):P("wordPairs.phonemeN",{n:R}),[M,S,a,P]),Y=o.useCallback(R=>M?P("wordPairs.phonemeContrastOrdinalLabel",{ordinal:S[R-1]??R}):a===1?P("wordPairs.phonemeContrastSingleLabel","\uB300\uB9BD \uC74C\uC808"):P("wordPairs.phonemeContrast",{n:R}),[M,S,a,P]),G=o.useCallback((R,j)=>j?n.jsxs(n.Fragment,{children:[R,n.jsx("span",{className:"phoneme-select-block__required",children:"*"})]}):R,[]),{anchorRect:q,toggleAt:H,close:z}=za(),Z=o.useCallback(R=>r(Number(R)),[r]),I=en("(max-width: 767px)"),T=o.useCallback(R=>u3(R,e).map(({label:j,value:L,displayLabel:Q})=>{const J=!!L&&L!=="\uC5C6\uC74C";return n.jsxs("span",{className:Be("phoneme-select-block__cell-jamo-part",L?"":"phoneme-select-block__cell-jamo-part--empty",J?"":"phoneme-select-block__cell-jamo-part--no-label"),children:[n.jsx("span",{className:`phoneme-select-block__cell-jamo-char h1${L==="\uC5C6\uC74C"?" phoneme-select-block__cell-jamo-char--excluded":""}`,children:L==="\uC5C6\uC74C"?"x":L||d}),J&&n.jsx("span",{className:"phoneme-select-block__cell-jamo-label caption-2",children:Q??j})]},j)}),[e,d]),O=n.jsxs(n.Fragment,{children:[n.jsx("div",{"data-tooltip-ignore":!0,children:n.jsx(ce,{htmlType:"button",size:40,type:I?"dot":void 0,icon:"info",label:I?void 0:P("wordPairs.caution","\uC720\uC758\uC0AC\uD56D"),ariaLabel:P("wordPairs.caution","\uC720\uC758\uC0AC\uD56D"),className:q?"is-selected":void 0,"aria-expanded":!!q,"aria-haspopup":"dialog",onClick:R=>H(R.currentTarget)})}),q&&n.jsx(Pn,{title:P("wordPairs.caution","\uC720\uC758\uC0AC\uD56D"),items:$,anchorRect:q,onClose:z})]});return n.jsxs(na,{type:w,title:m,icon:h,disc:g,action:C?O:void 0,className:Be("phoneme-select-block",p),children:[k,!N&&n.jsx("div",{className:"phoneme-select-block__controls",children:n.jsx(Vn,{options:W,value:String(a),onChange:Z,size:40,className:"phoneme-select-block__count-control"})}),n.jsx("div",{className:"phoneme-select-block__cells",children:A?n.jsxs(n.Fragment,{children:[n.jsx("div",{className:"phoneme-select-block__cell-group",children:Array.from({length:a}).map((R,j)=>{const L=t[j*2]??{};return n.jsxs("div",{className:"phoneme-select-block__cell",children:[n.jsx("div",{className:"phoneme-select-block__cell-circle",children:n.jsx("div",{className:"phoneme-select-block__cell-jamo",children:T(L)})}),n.jsx("span",{className:"phoneme-select-block__cell-index caption-1",children:F(j+1)})]},j)})}),n.jsx("span",{className:"phoneme-select-block__cell-vs h3",children:P("wordPairs.phonemeSelect.vs","\uB300")}),n.jsx("div",{className:"phoneme-select-block__cell-group",children:Array.from({length:a}).map((R,j)=>{const L=t[j*2+1]??{};return n.jsxs("div",{className:"phoneme-select-block__cell",children:[n.jsx("div",{className:"phoneme-select-block__cell-circle",children:n.jsx("div",{className:"phoneme-select-block__cell-jamo",children:T(L)})}),n.jsx("span",{className:"phoneme-select-block__cell-index caption-1",children:Y(j+1)})]},j)})})]}):t.map((R,j)=>n.jsxs("div",{className:"phoneme-select-block__cell",children:[n.jsx("div",{className:"phoneme-select-block__cell-circle",children:n.jsx("div",{className:"phoneme-select-block__cell-jamo",children:T(R)})}),n.jsx("span",{className:"phoneme-select-block__cell-index caption-1",children:F(j+1)})]},j))}),(l||c)&&n.jsx("div",{className:"phoneme-select-block__panels",children:n.jsx("div",{className:"phoneme-select-block__detail",children:A?n.jsxs("div",{className:"phoneme-select-block__pair-panels",children:[n.jsx("div",{className:"phoneme-select-block__panel-group",children:Array.from({length:a}).map((R,j)=>{const L=t[j*2]??{};return n.jsx(yn,{title:G(F(j+1),j===0),sections:c?c(L,j*2):l,selected:L,onSelect:u?.(j*2),align:"newline"},j)})}),n.jsx("div",{className:"phoneme-select-block__panel-group",children:Array.from({length:a}).map((R,j)=>{const L=t[j*2+1]??{};return n.jsx(yn,{title:Y(j+1),sections:c?c(L,j*2+1):l,selected:L,onSelect:u?.(j*2+1),align:"newline"},j)})})]}):t.map((R,j)=>n.jsx(yn,{title:G(F(j+1),j===0),sections:c?c(R,j):l,selected:R,onSelect:u?.(j),align:"newline"},j))})}),D&&n.jsx("div",{className:"phoneme-select-block__before-search",children:D}),(b||_||v)&&(()=>{const R=t.every(j=>Object.entries(j).every(([L,Q])=>!Q||L==="\uC885\uC131"&&Q==="\uC5C6\uC74C"));return n.jsxs("div",{className:"phoneme-select-block__search-row",onClick:R?f:void 0,children:[b&&n.jsx(ce,{htmlType:"button",size:"56",type:"bar",label:P("wordPairs.resetOptions","\uAC80\uC0C9 \uC635\uC158 \uCD08\uAE30\uD654"),selected:!1,disabled:R,onClick:R?void 0:b}),_?n.jsx(ce,{htmlType:"button",size:"56",type:"bar",variant:"main",icon:v?n.jsx("span",{className:"phoneme-select-block__spinner","aria-hidden":"true"}):void 0,label:x??P("wordSearch.searchButton","\uAC80\uC0C9\uD558\uAE30"),disabled:R||y||v,onDisabledClick:v?()=>{}:void 0,"aria-busy":v||void 0,onClick:_}):v?n.jsxs("div",{className:"phoneme-select-block__checking","aria-busy":"true",children:[n.jsx("div",{className:"phoneme-select-block__spinner"}),n.jsx("span",{className:"button-1 phoneme-select-block__checking-label",children:x??P("wordSearch.searchButton","\uAC80\uC0C9\uD558\uAE30")})]}):null]})})(),B]})}function p3({title:e,sections:t,selected:a,onSelect:r,className:s}){const{t:i}=fe.useTranslation();return n.jsx(yn,{className:s,title:e??i("wordSearch.filterTitle","\uB2E8\uC5B4 \uAC80\uC0C9 \uC124\uC815"),sections:t,selected:a,onSelect:r,align:"inline"})}function m3({title:e,headerAction:t,sections:a,selected:r,onSelect:s,className:i}){const{t:l}=fe.useTranslation();return a.length===0?null:n.jsx(yn,{className:i,title:e??l("training.filter.phonemeGroup",{defaultValue:"\uD6C8\uB828 \uC74C\uC808"}),headerAction:t,sections:a,selected:r,onSelect:s,align:"newline"})}function h3({title:e,mode:t,onModeChange:a,matchMode:r,onMatchModeChange:s,positionCount:i,onPositionCountChange:l,inputMode:c,onInputModeChange:u,className:d}){const{t:p}=fe.useTranslation(),m={searchMode:p("wordPairs.filter.searchModeLabel","\uB300\uB9BD \uBC29\uC2DD"),phonemeOrder:p("wordPairs.filter.phonemeOrder","\uC785\uB825 \uC74C\uC808 \uC704\uCE58"),count:p("wordPairs.filter.countLabel","\uC785\uB825 \uC74C\uC808 \uAC2F\uC218"),inputMode:p("wordPairs.filter.inputModeLabel","\uC785\uB825 \uBC29\uC2DD"),orderAny:p("wordPairs.filter.orderAny","\uBB34\uAD00"),orderMatch:p("wordPairs.filter.orderMatch","\uC77C\uCE58"),include:p("wordPairs.mode.include","\uC74C\uC18C \uD3EC\uD568"),pick:p("wordPairs.mode.pick","\uC74C\uC18C \uB300\uB9BD"),explicit:p("wordPairs.mode.contrast","\uC74C\uC18C \uB300\uB9BD \uC9C0\uC815"),charInput:p("wordPairs.input.char","\uAE00\uC790 \uC120\uD0DD"),pronInput:p("wordPairs.input.pron","\uBC1C\uC74C \uC120\uD0DD")},h=_=>p("wordPairs.count",{n:_}),g=[{label:m.searchMode,items:[m.include,m.pick,m.explicit],display:"segmented",labelAction:n.jsx(wa,{title:p("wordPairs.mode.infoTitle","\uB300\uB9BD \uBC29\uC2DD"),items:[p("wordPairs.mode.infoInclude","\uC74C\uC18C \uD3EC\uD568 \u2014 \uC120\uD0DD\uD55C \uC74C\uC18C\uAC00 \uBAA8\uB450 \uB4E4\uC5B4\uAC04 \uB2E8\uC5B4\uC640 \uADF8 \uB300\uB9BD\uC30D\uC744 \uCC3E\uC544\uC694."),p("wordPairs.mode.infoPick","\uC74C\uC18C \uB300\uB9BD \u2014 \uC120\uD0DD\uD55C \uC74C\uC18C\uAC00 \uB300\uB9BD\uC30D \uB450 \uB2E8\uC5B4\uC758 \uC2E4\uC81C \uCC28\uC774\uC810\uC77C \uB54C\uB9CC \uB9E4\uCE6D\uB3FC\uC694."),p("wordPairs.mode.infoContrast","\uC74C\uC18C \uB300\uB9BD \uC9C0\uC815 \u2014 \uAE30\uC900 \uB2E8\uC5B4\uC640 \uB300\uB9BD \uB2E8\uC5B4\uC758 \uC74C\uC18C\uB97C \uAC01\uAC01 \uC9C1\uC811 \uC120\uD0DD\uD574 \uB300\uB9BD\uC30D\uC744 \uCC3E\uC544\uC694.")]})},{label:m.phonemeOrder,items:[m.orderAny,m.orderMatch],display:"segmented",labelAction:n.jsx(wa,{items:p("wordPairs.filter.phonemeOrderInfo",{returnObjects:!0})})},{label:m.count,items:[h(1),h(2)],display:"segmented"},{label:m.inputMode,items:[m.charInput,m.pronInput],display:"segmented",labelAction:n.jsx(wa,{title:p("wordPairs.input.infoTitle","\uC785\uB825 \uBC29\uC2DD"),items:[p("wordPairs.input.infoChar","\uAE00\uC790 \uC120\uD0DD \u2014 \uC120\uD0DD\uD55C \uC74C\uC18C\uB85C \uB2E8\uC5B4(\uAE00\uC790 \uAE30\uC900)\uB97C \uCC3E\uC740 \uD6C4, \uB2E8\uC5B4\uC758 \uD45C\uC900 \uBC1C\uC74C \uB300\uB9BD\uC30D\uC744 \uCC3E\uC2B5\uB2C8\uB2E4."),p("wordPairs.input.infoPron","\uBC1C\uC74C \uC120\uD0DD \u2014 \uC120\uD0DD\uD55C \uC74C\uC18C\uB85C \uD45C\uC900 \uBC1C\uC74C \uB300\uB9BD\uC30D\uC744 \uCC3E\uC2B5\uB2C8\uB2E4.")]})}],C={[m.searchMode]:t==="explicit"?m.explicit:t==="pick"?m.pick:m.include,[m.phonemeOrder]:r==="ordered"?m.orderMatch:m.orderAny,[m.count]:h(i),[m.inputMode]:c==="phoneme"?m.pronInput:m.charInput},b=(_,f)=>{f===m.searchMode?a(_===m.explicit?"explicit":_===m.pick?"pick":"include"):f===m.phonemeOrder?s(_===m.orderMatch?"ordered":"unordered"):f===m.count?l(_===h(2)?2:1):f===m.inputMode&&u(_===m.pronInput?"phoneme":"word")};return n.jsx(yn,{className:d,title:e??p("wordPairs.filter.searchOptionsTitle","\uB300\uB9BD \uC124\uC815"),sections:g,selected:C,onSelect:b,align:"inline"})}function f3(e){const{title:t,items:a,columns:r,gridTemplateColumns:s,searchPlaceholder:i,searchFn:l,defaultSortKey:c,defaultSortAsc:u=!0,selectedId:d,selectedIds:p,onSelect:m,onClose:h,pageSizeOptions:g=[10,25,50,100],initialPageSize:C,emptyText:b,countLabel:_,topContent:f,className:y=""}=e,{t:x}=fe.useTranslation(),v=i??x("common.search","\uAC80\uC0C9"),A=b??x("common.emptyList","\uD56D\uBAA9\uC774 \uC5C6\uC2B5\uB2C8\uB2E4."),[w,D]=o.useState(""),[k,B]=o.useState(c??r[0]?.key??""),[N,M]=o.useState(u),[P,$]=o.useState(String(C??g[0]??10)),[W,S]=o.useState(1);o.useEffect(()=>{S(1)},[w,P]);const F=l!==null,Y=o.useCallback((j,L)=>{if(!L)return!0;const Q=L.toLowerCase();return r.some(J=>{const oe=j[J.key];return oe==null?!1:String(oe).toLowerCase().includes(Q)})},[r]),G=l??Y,q=o.useMemo(()=>{const j=F?a.filter(L=>G(L,w)):a;return k?[...j].sort((L,Q)=>{const J=L[k],oe=Q[k];return J===oe?0:Gr(J,oe,N)}):j},[a,w,k,N,F,G]),H=Math.max(1,Math.ceil(q.length/Number(P)));W>H&&S(H);const z=Math.min(W,H),Z=q.slice((z-1)*Number(P),z*Number(P)),I=o.useCallback(j=>{k===j?M(L=>!L):(B(j),M(!0)),S(1)},[k]),T=o.useMemo(()=>{if(typeof _=="function"){const j=q.length,L=_(j);if(typeof L=="string"){const Q=L.lastIndexOf(String(j));if(Q>=0)return{prefix:L.slice(0,Q),suffix:L.slice(Q+String(j).length)}}return{label:L}}if(typeof _=="string"&&_.includes("{n}")){const[j,L]=_.split("{n}");return{prefix:j,suffix:L}}return{prefix:x("common.totalCountPrefix","\uCD1D "),suffix:x("common.totalCountSuffix","\uAC1C")}},[_,q.length,x]),O=o.useMemo(()=>r.map(j=>({label:j.label,onClick:j.sortable!==!1?()=>I(j.key):void 0,className:j.className,sortDir:j.sortable!==!1&&k===j.key?N?"asc":"desc":null})),[r,k,N,I]),R=o.useMemo(()=>g.map(j=>({value:String(j),label:x("common.pageSizeLabel",{n:j})})),[g,x]);return n.jsxs(Dn,{className:`popup-list ${y}`,title:t,onClose:h,children:[f,"label"in T&&n.jsx("p",{className:"toolbar__count body-1",children:T.label}),n.jsx(to,{count:"label"in T?void 0:{value:q.length,prefix:T.prefix,suffix:T.suffix},search:F?{value:w,onChange:D,placeholder:v}:void 0,pageSize:{options:R,value:P,onChange:$},pagination:{page:z,total:H,onChange:S}}),n.jsx(lo,{size:"medium",gridTemplateColumns:s,resizable:!0,fields:O,items:Z,onRowClick:m,renderRow:j=>{const L=p!=null?j.id!=null&&p.has(j.id):d!=null&&j.id===d;return r.map(Q=>({content:Q.render?Q.render(j):j[Q.key]??"",className:Be(Q.className,L&&"popup-list__row--selected")}))},empty:A})]})}function C3(e){const{title:t,message:a,topContent:r,details:s,children:i,confirmLabel:l,cancelLabel:c,hideCancel:u=!1,extraAction:d,confirmVariant:p="main",confirmDisabled:m=!1,onConfirm:h,closeOnConfirm:g=!0,onClose:C,inline:b,size:_="small",className:f,initialFocus:y="close"}=e,{t:x}=fe.useTranslation(),v=o.useRef(null);o.useEffect(()=>{if(b||y==="close")return;const N=v.current?.closest(".popup-panel"),M=Array.from(N?.querySelectorAll(".popup-footer--buttons button")??[]),P=y==="confirm"?M[M.length-1]:u?void 0:M[d?1:0];P&&!P.disabled&&P.focus()},[]);const A=o.useRef(!1),[w,D]=o.useState(!1),k=N=>{let M=!1;return{close:()=>{M=!0,N()},\uB2EB\uC558\uB098:()=>M}},B=async N=>{if(A.current)return;A.current=!0;const M=typeof document<"u"?document.activeElement:null;D(!0);let P=!1;try{P=await N()}catch($){typeof console<"u"&&console.error($)}finally{P||(A.current=!1,D(!1),requestAnimationFrame(()=>{const $=document.activeElement;(!$||$===document.body)&&M?.isConnected&&M.focus()}))}};return n.jsxs(Dn,{title:t,onClose:C,closeDisabled:w,inline:b,size:_,className:Be("confirm-popup",f),buttons:[...d?[{label:d.label,variant:d.variant??"default",disabled:d.disabled||w,onClick:async({closeWithAnimation:N})=>{await B(async()=>{const M=k(N);await d.onClick(M.close);const P=d.closeOnClick??!0;return P&&N(),P||M.\uB2EB\uC558\uB098()})}}]:[],...u?[]:[{label:c??x("common.cancel","\uCDE8\uC18C"),variant:"default",disabled:w,onClick:({closeWithAnimation:N})=>N()}],{label:l??x("common.confirm","\uD655\uC778"),variant:p,disabled:m||w,onClick:async({closeWithAnimation:N})=>{await B(async()=>{const M=k(N);return await h(M.close),g&&N(),g||M.\uB2EB\uC558\uB098()})}}],children:[r!=null&&n.jsx("div",{className:"confirm-popup__top",children:r}),s&&s.length>0&&n.jsx(or,{children:s.map((N,M)=>n.jsx(Sn,{label:N.label,children:n.jsx("span",{className:"panel-row__text body-2",children:N.value})},M))}),n.jsx("p",{ref:v,className:"body-2 confirm-popup__message",children:a}),i]})}function g3({onApply:e,onCancel:t}){const{t:a}=fe.useTranslation(),[r,s]=o.useState(""),[i,l]=o.useState(!1),[c,u]=o.useState(null),d=o.useRef(null);o.useEffect(()=>{d.current?.focus()},[]);const p=o.useCallback(async g=>{const C=r.trim();if(C){l(!0),u(null);try{await e(C),g()}catch(b){u(Ys(b)),l(!1),requestAnimationFrame(()=>d.current?.focus())}}},[r,e]),m=o.useCallback((g,C)=>{g.key==="Enter"&&!g.nativeEvent.isComposing&&p(C)},[p]),h=g=>{s(g.target.value),u(null)};return n.jsx(Dn,{className:"coupon-input-popup",title:a("usage.couponButton","\uCFE0\uD3F0 \uC785\uB825"),size:"small",onClose:t,closeDisabled:i,buttons:[{label:a("common.cancel","\uCDE8\uC18C"),variant:"default",disabled:i,onClick:({closeWithAnimation:g})=>g()},{label:a("coupons.applyButton","\uC801\uC6A9"),variant:"main",disabled:!r.trim()||i,onClick:({closeWithAnimation:g})=>{p(g)}}],children:({closeWithAnimation:g})=>n.jsxs(n.Fragment,{children:[n.jsx("input",{ref:d,className:"coupon-input-popup__input body-2","aria-label":a("coupons.input.label","\uCFE0\uD3F0 \uCF54\uB4DC"),placeholder:a("coupons.input.placeholder","\uCFE0\uD3F0 \uCF54\uB4DC \uC785\uB825"),value:r,onChange:h,onKeyDown:C=>m(C,g),disabled:i,autoComplete:"off",spellCheck:!1}),c&&n.jsx("p",{className:"coupon-input-popup__error caption-1",role:"alert",children:c})]})})}const b3=200;function y3(e){return e.itemId?(D2()[e.trainingType]??[]).find(t=>t?.id!=null&&String(t.id)===String(e.itemId))??null:null}function v3({plan:e,anchorRect:t,offset:a=12,onClose:r}){const{t:s}=fe.useTranslation(),i=o.useMemo(()=>E2(s).map(c=>({type:c,items:(e.items??[]).filter(u=>u.trainingType===c.key)})).filter(c=>c.items.length>0),[e.items,s]);if(i.length===0)return null;const l=n.jsx("div",{className:"tooltip-training__box",children:n.jsx("div",{className:"tooltip-training__groups",children:i.flatMap(({type:c,items:u},d)=>[d>0?n.jsx("div",{className:"tooltip-training__divider"},`div-${c.key}`):null,n.jsxs("div",{className:"tooltip-training__section",children:[n.jsx("div",{className:"tooltip-training__section-header",children:n.jsx("span",{className:"tooltip-training__type-label body-3b",children:c.label})}),n.jsx("div",{className:"tooltip-training__items",children:u.map((p,m)=>{const h=y3(p);return h?n.jsx(uo,{index:m,type:c,trainingData:h,size:"compact",hideCheckBadge:!0},p.itemId??m):null})})]},c.key)])})});return t?n.jsx(An,{anchorRect:t,offset:a,onClose:r,closeOnOutsideClick:!1,className:"tooltip-training",ariaLabel:s("tooltip.training","\uD6C8\uB828 \uC548\uB0B4"),children:l}):l}const du=["var(--color-main)","var(--color-sub)"],x3=2e3;function _3(e,t){if(!t.startsWith("var("))return t;try{const a=t.slice(4,-1).trim();return getComputedStyle(e).getPropertyValue(a).trim()||null}catch{return null}}function Vo({active:e=!1,count:t=40,duration:a=2e3,strength:r=1,onComplete:s,trigger:i=0}){const l=o.useMemo(()=>{const b=Math.floor(t/2),_=t-b,f=(y,x)=>Array.from({length:y}).map((v,A)=>{const w=6+Math.random()*12,D=Math.round(Math.min(18,w*Math.min(1.5,1+r*.4))),k=du[Math.floor(Math.random()*du.length)],B=Math.random()*300,N=(360+Math.random()*260)*r*1.2,M=(x==="left"?-95+Math.random()*40:-85-Math.random()*40)*Math.PI/180,P=Math.cos(M)*N,$=Math.sin(M)*N*1.35,W=Math.random()*720-360,S=(1200+Math.random()*3e3)*Math.min(1.6,1+r*.3),F=Math.random()>.7?"50%":"3px";return{id:`${x}-${A}`,side:x,size:D,color:k,delay:B,vx:P,vy:$,angularVel:W,life:S,borderRadius:F}});return[...f(b,"left"),...f(_,"right")]},[t,r]),c=o.useRef(null),u=o.useRef({}),d=o.useRef(null),p=o.useRef(s);o.useEffect(()=>{p.current=s},[s]);const m=o.useRef(null),h=o.useRef(null),g=()=>{if(typeof document>"u")return null;let b=document.querySelector("[data-ihab-effect-root]");return b||(b=document.createElement("div"),b.className="app-effect",b.dataset.ihabEffectRoot="",b.style.position="fixed",b.style.inset="0",b.style.pointerEvents="none",b.style.zIndex="99998",document.body.appendChild(b)),b};if(typeof document<"u"&&h.current==null&&(h.current=g()),o.useEffect(()=>{if(!e)return;if(typeof window<"u"&&window.matchMedia?.("(prefers-reduced-motion: reduce)").matches){const z=setTimeout(()=>p.current?.(),0);return()=>clearTimeout(z)}const b=1200,_=performance.now(),f=h.current&&h.current!==document.body?h.current.getBoundingClientRect():null,y=Math.max(60,(window.innerHeight||800)*.05),x=z=>Math.max(40,(z||window.innerWidth)*.02),v=f?.width||window.innerWidth||375,A=f?.height||window.innerHeight||812,w=z=>{const Z=[...z].sort((I,T)=>I-T);return Z[Math.floor(Z.length/2)]||1},D=w(l.map(z=>Math.abs(z.vy))),k=w(l.map(z=>Math.abs(z.vx))),B=Math.sqrt(2*b*(A*.72+y))/D,N=D*B/b,M=v*.5/(k*N),P=(z,Z,I)=>Math.min(I,Math.max(Z,z)),$=P(B,.8,2.4),W=P(M,.7,2.2),S=a>0?a/x3:1,F=l.map(z=>({...z,life:z.life*S,vx:z.vx*W,vy:z.vy*$,startTime:_+z.delay,ended:!1})),Y=f?{x:f.left-x(f.width),y:f.top+f.height+y}:{x:-x(window.innerWidth),y:window.innerHeight+y},G=f?{x:f.left+f.width+x(f.width),y:f.top+f.height+y}:{x:window.innerWidth+x(window.innerWidth),y:window.innerHeight+y},q=z=>{let Z=!1;for(const I of F){const T=u.current[I.id];if(!T||!T)continue;if(z<I.startTime){T.style.display="none",Z=!0;continue}if(!I._inited){const Ne=I.side==="left"?Y.x:G.x,ie=I.side==="left"?Y.y:G.y;T.style.left=`${Ne}px`,T.style.top=`${ie}px`,T.style.transform="translate3d(0px, 0px, 0)",T.style.display="block",T.style.zIndex="100000",typeof I.color=="string"&&I.color.startsWith("var(")&&(T.style.background=_3(T,I.color)??"#FF0060"),I._inited=!0}const O=(z-I.startTime)/1e3;if(O<0)continue;const R=I.life/1e3;if(O>=R){T.style.opacity="0",T.style.display="none",I.ended=!0;continue}Z=!0;const j=I.side==="left"?Y.x:G.x,L=I.side==="left"?Y.y:G.y,Q=j+I.vx*O,J=L+I.vy*O+.5*b*O*O,oe=(I.angularVel||0)*O,ge=Q-j,Me=J-L;T.style.transform=`translate3d(${ge}px, ${Me}px, 0) rotate(${oe}deg)`,T.style.opacity=`${Math.max(0,1-O/R)}`}Z?d.current=requestAnimationFrame(q):p.current?.()};d.current=requestAnimationFrame(q);const H=setTimeout(()=>{try{if((h.current?h.current.querySelectorAll(".confetti"):document.querySelectorAll(".confetti")).length===0&&!document.querySelector(".party-container")){const z=document.createElement("div");z.className="party-container",z.style.position="fixed",z.style.inset="0",z.style.pointerEvents="none",z.style.overflow="visible",z.style.zIndex="2147483647";for(const Z of l){const I=document.createElement("span");I.className=`confetti confetti--${Z.side}`,I.setAttribute("aria-hidden","true"),I.style.display="none",I.style.position="fixed",I.style.left="0px",I.style.top="0px",I.style.width=`${Z.size}px`,I.style.height=`${Math.max(4,Z.size*.6)}px`,I.style.background=Z.color,I.style.borderRadius=Z.borderRadius,I.style.transform="translate3d(0,0,0)",I.style.opacity="0",z.appendChild(I),u.current[Z.id]=I}(document.body||h.current).appendChild(z),m.current=z}}catch{}},300);return()=>{if(d.current&&cancelAnimationFrame(d.current),clearTimeout(H),m.current){try{m.current.remove()}catch{}m.current=null}}},[e,a,i,l]),!e)return null;const C=n.jsx("div",{className:"party-container",ref:c,children:l.map(b=>n.jsx("span",{"aria-hidden":!0,ref:_=>{u.current[b.id]=_},className:`confetti confetti--${b.side}`,style:{width:`${b.size}px`,height:`${Math.max(4,b.size*.6)}px`,background:b.color,borderRadius:b.borderRadius}},`${b.id}-${i}`))});return typeof document<"u"?Wt.createPortal(C,h.current||document.body):C}const Ho=e=>typeof e=="number"&&Number.isFinite(e)&&e>0?e:void 0;function w3({trigger:e=0,active:t=!1}){const[a,r]=o.useState(null);o.useEffect(()=>{if(typeof window>"u")return;const i=l=>{const c=l.detail??{};r(u=>({n:(u?.n??0)+1,count:Ho(c.count),strength:Ho(c.strength),duration:Ho(c.duration)}))};return window.addEventListener("party:trigger",i),()=>window.removeEventListener("party:trigger",i)},[]);const s=o.useCallback(()=>r(null),[]);return n.jsxs(n.Fragment,{children:[n.jsx(Vo,{active:t,trigger:e}),a&&n.jsx(Vo,{active:!0,trigger:a.n,count:a.count,strength:a.strength,duration:a.duration,onComplete:s})]})}function k3({title:e,sub:t,rightAction:a,titleAction:r,badge:s,badgeVariant:i="default",documentTitle:l,onBack:c,backLabel:u,wrap:d=!1}){const{t:p}=fe.useTranslation();Eg(typeof e=="string"?e:l??null);const m=u??p("common.back","\uB4A4\uB85C");return n.jsxs("div",{className:d?"page-title page-title--wrap":"page-title",children:[n.jsxs("div",{className:"page-title__main",children:[n.jsxs("div",{className:"page-title__title-row",children:[c&&n.jsx(ce,{htmlType:"button",className:"page-title__back",size:48,type:"dot",icon:"chevron-left",iconSize:"large",useBorder:!1,iconColor:"var(--color-text-primary)",ariaLabel:m,showTooltipInfo:m,onClick:c}),n.jsx("h1",{className:"page-title__title h1",children:e}),s&&n.jsx("div",{className:"page-title__badge",children:n.jsx(pt,{label:s,size:"small",variant:i,fill:"outline"})}),r?n.jsx("div",{className:"page-title__title-action",children:r}):null]}),t&&n.jsx("p",{className:"page-title__sub body-2",children:t})]}),a?n.jsx("div",{className:"page-title__action",children:a}):null]})}function A3(e){return e??""}const pu=o.createContext({words:[],loading:!1});function B3(){return o.useContext(pu)}function N3({words:e,loading:t,error:a,statusMessage:r,localVersion:s,remoteVersion:i,progress:l,clearAndRefetch:c,checkRemoteVersion:u,children:d}){return n.jsx(pu.Provider,{value:{words:e,loading:t,error:a,statusMessage:r,localVersion:s,remoteVersion:i,progress:l,clearAndRefetch:c,checkRemoteVersion:u},children:d})}function D3({items:e,actions:t,columns:a,flat:r=!1,className:s,style:i}){const l=a??e.length;return n.jsx("section",{className:Be("summary-strip",r&&"summary-strip--flat",s),style:{"--summary-strip-cols":String(l),...i},children:n.jsxs("div",{className:"summary-strip__row",children:[n.jsx("div",{className:"summary-strip__items",children:e.map((c,u)=>n.jsxs("div",{className:"summary-strip__item",children:[n.jsx("p",{className:"summary-strip__label caption-1",children:c.label}),n.jsx("p",{className:"summary-strip__value body-3b",title:typeof c.value=="string"||typeof c.value=="number"?String(c.value):void 0,children:c.value})]},u))}),t&&n.jsx("div",{className:"summary-strip__actions",children:t})]})})}const S3=(e,t)=>`${e} / ${t}`;function E3({blocks:e,sectionTitles:t,logo:a,footer:r,pageLabel:s=S3,pageWidth:i,pageHeight:l,margin:c,className:u,style:d}){const{t:p}=fe.useTranslation(),m=o.useRef(null),h=o.useRef(null),g=o.useRef(null),C=o.useRef(null),[b,_]=o.useState(null),[f,y]=o.useState(!1);o.useEffect(()=>{const S=m.current;if(!S)return;const F=()=>y(S.scrollWidth>S.clientWidth+1);if(F(),typeof ResizeObserver>"u")return;const Y=new ResizeObserver(F);return Y.observe(S),()=>Y.disconnect()},[b]);const x=e.map(S=>`${S.id}\0${S.section??""}\0${S.group??""}`).join(""),v=b&&b.shape===x?b.pages:null,[A,w]=o.useState(0);o.useEffect(()=>{const S=C.current;if(!S||typeof ResizeObserver>"u")return;const F=new ResizeObserver(()=>w(S.offsetHeight));return F.observe(S),()=>F.disconnect()},[]);const[D,k]=o.useState(0);o.useEffect(()=>{const S=h.current;if(!S||typeof ResizeObserver>"u")return;let F=null;const Y=typeof requestAnimationFrame=="function"?H=>requestAnimationFrame(H):H=>setTimeout(H,16),G=typeof cancelAnimationFrame=="function"?cancelAnimationFrame:H=>clearTimeout(H),q=new ResizeObserver(()=>{F==null&&(F=Y(()=>{F=null,k(H=>H+1)}))});return Array.from(S.children).forEach(H=>q.observe(H)),()=>{q.disconnect(),F!=null&&G(F)}},[x]),o.useLayoutEffect(()=>{const S=h.current,F=C.current;if(!S||!F)return;const Y=R=>R.getBoundingClientRect().height||R.offsetHeight,G=new Map;g.current?.querySelectorAll("[data-chrome-section]").forEach(R=>{G.set(R.dataset.chromeSection??"",Y(R))});const q=R=>Y(F)-(G.get(R??"")??0),H=Array.from(S.children).map(R=>Y(R)),z=[];e.forEach((R,j)=>{const L=z[z.length-1],Q=L?e[L[0]]:void 0;Q&&R.group!=null&&Q.group===R.group&&Q.section===R.section?L.push(j):z.push([j])});const Z=[];let I=[],T=0;const O=()=>{I.length&&Z.push(I),I=[],T=0};z.forEach(R=>{const j=R.reduce((Q,J)=>Q+H[J],0),L=q(e[R[0]].section);I.length&&e[I[0]].section!==e[R[0]].section&&O(),j>L?R.forEach(Q=>{I.length&&T+H[Q]>L+.01&&O(),I.push(Q),T+=H[Q]}):(I.length&&T+j>L+.01&&O(),R.forEach(Q=>I.push(Q)),T+=j)}),O(),_(R=>R&&R.shape===x&&JSON.stringify(R.pages)===JSON.stringify(Z)?R:{shape:x,pages:Z})},[x,A,i,l,c,D]);const B=Qr,N=B,M=r??n.jsxs(n.Fragment,{children:[n.jsx("img",{src:N,alt:"IHAB",className:"report-doc__logo"}),"\xA9 IHAB, Inc. All rights reserved."]}),P=(S,F,Y)=>({header:n.jsxs("div",{className:"report-doc__header",children:[n.jsx("h2",{className:"report-doc__title h3b",children:Y!=null&&t?.[Y]||null}),a]}),footer:n.jsxs("div",{className:"report-doc__footer caption-1",children:[n.jsx("span",{className:"report-doc__footer-left",children:M}),n.jsx("span",{className:"report-doc__page-no",children:s(S,F)})]})}),$=Array.from(new Set(e.map(S=>S.section??""))),W={...i?{"--report-page-w":i}:null,...l?{"--report-page-h":l}:null,...c?{"--report-margin":c}:null,...d};return n.jsxs("div",{ref:m,className:Be("report-doc",u),style:W,tabIndex:f?0:void 0,role:f?"group":void 0,"aria-label":f?p("report.previewRegion","\uBCF4\uACE0\uC11C \uBBF8\uB9AC\uBCF4\uAE30"):void 0,children:[n.jsxs("div",{className:"report-doc__measure","aria-hidden":!0,children:[n.jsx("div",{ref:C,className:"report-doc__ruler"}),n.jsx("div",{ref:g,children:$.map(S=>{const F=P(1,1,S||void 0);return n.jsxs("div",{"data-chrome-section":S,children:[F.header,F.footer]},S)})}),n.jsx("div",{ref:h,className:"report-doc__measure-blocks",children:e.map(S=>n.jsx("div",{children:S.content},S.id))})]}),v&&n.jsx("div",{className:"report-doc__pages",children:v.map((S,F)=>{const{header:Y,footer:G}=P(F+1,v.length,e[S[0]].section);return n.jsxs("section",{className:"report-doc__page",children:[Y,S.map(q=>n.jsx("div",{children:e[q].content},e[q].id)),G]},F)})})]})}function T3({title:e,fields:t,columns:a=4,className:r,style:s}){return n.jsxs("div",{className:Be("report-info",r),style:{"--report-info-cols":String(a),...s},children:[e&&n.jsx("p",{className:"report-info__title h5b",children:e}),n.jsx("div",{className:"report-info__grid",children:t.map((i,l)=>n.jsxs("div",{className:"report-info__field body-2",children:[n.jsx("span",{className:"report-info__label body-3",children:i.label}),n.jsx("span",{className:"report-info__value",children:i.value})]},l))})]})}const zn=new Map;let lr=null;const j3=12;function M3(e){for(let t=e.parentElement;t&&t!==document.body;t=t.parentElement){const a=window.getComputedStyle(t);if(a.transform&&a.transform!=="none"||a.filter&&a.filter!=="none"||a.perspective&&a.perspective!=="none"||/paint|layout|strict|content/.test(a.contain||""))return t}return document}function cr(){const e=new Map;for(const t of zn.keys()){if(!t.isConnected)continue;const a=M3(t),r=e.get(a)??[];r.push(t),e.set(a,r)}for(const t of e.values()){t.sort((r,s)=>r.compareDocumentPosition(s)&Node.DOCUMENT_POSITION_FOLLOWING?-1:1);let a=0;for(const r of t){a>0?r.style.setProperty("--update-alert-stack-offset",`${a}px`):r.style.removeProperty("--update-alert-stack-offset");const s=r.getBoundingClientRect().height;s>0&&(a+=s+j3)}}}function L3(e){return typeof window>"u"?()=>{}:(zn.set(e,(zn.get(e)??0)+1),zn.get(e)===1&&typeof ResizeObserver<"u"&&(lr??(lr=new ResizeObserver(()=>cr())),lr.observe(e)),cr(),()=>{const t=(zn.get(e)??1)-1;if(t>0){zn.set(e,t),cr();return}zn.delete(e),lr?.unobserve(e),e.style.removeProperty("--update-alert-stack-offset"),cr()})}function $3({title:e,message:t,actionLabel:a,onAction:r,icon:s,onClose:i,className:l=""}){const{t:c}=fe.useTranslation(),u=a??c("common.update","\uC5C5\uB370\uC774\uD2B8"),d=o.useRef(null),p=o.useRef(!1);return o.useLayoutEffect(()=>{const m=d.current,h=m?.parentElement?.closest(".update-alert-stack")??m,g=h?L3(h):null;return()=>{g?.(),p.current&&m&&m.contains(document.activeElement)&&Oa(m)}},[]),n.jsxs("div",{ref:d,className:Be("update-alert",l),role:"alert",children:[i&&n.jsx("button",{type:"button",className:"update-alert__close",onClick:()=>{p.current=!0,i()},"aria-label":c("common.close","\uB2EB\uAE30"),children:"\xD7"}),n.jsxs("div",{className:"update-alert__top",children:[n.jsx("div",{className:"update-alert__icon",children:s??n.jsx(ns,{size:20,strokeWidth:2})}),n.jsxs("div",{className:"update-alert__body",children:[n.jsx("div",{className:"update-alert__title h4",children:e}),n.jsx("div",{className:"update-alert__message body-3",children:t})]})]}),r&&n.jsx(ce,{htmlType:"button",size:32,variant:"main",shape:"pill",className:"update-alert__action",onClick:r,children:u})]})}function R3({title:e,description:t,topActions:a,children:r,footerLeft:s,footerRight:i,onClick:l,draggable:c,onDragStart:u,onDragEnd:d,className:p}){const m=s!=null||i!=null,h=r!=null&&r!==!1,g=o.useCallback(C=>{l&&C.target===C.currentTarget&&(C.key==="Enter"||C.key===" ")&&(C.preventDefault(),l())},[l]);return n.jsxs("div",{className:Be("training-card",l?"training-card--clickable":"",p),onClick:l,onKeyDown:l?g:void 0,role:l?"button":void 0,tabIndex:l?0:void 0,draggable:c,onDragStart:u,onDragEnd:d,children:[n.jsxs("div",{className:"training-card__header",children:[n.jsxs("div",{className:"training-card__title-row",children:[typeof e=="string"?n.jsx("h3",{className:"training-card__title h4",children:e}):e,a!=null&&n.jsx("div",{className:"training-card__top-actions",onClick:C=>C.stopPropagation(),children:a})]}),t!=null?typeof t=="string"?n.jsx("p",{className:"training-card__description body-3",children:t}):t:n.jsx("p",{className:"training-card__description body-3","aria-hidden":"true",children:" "})]}),h&&n.jsx("div",{className:"training-card__body",children:r}),m&&n.jsxs("div",{className:"training-card__footer",children:[s!=null&&n.jsx("div",{className:"training-card__footer-left",children:s}),i!=null&&n.jsx("div",{className:"training-card__meta",children:i})]})]})}function P3({title:e,count:t,collapsed:a=!1,onToggle:r,sort:s,actions:i,empty:l=!1,emptyContent:c,dragOver:u=!1,onDragOver:d,onDragLeave:p,onDrop:m,children:h,className:g}){const{t:C}=fe.useTranslation(),b=r!=null,_=Be("training-card-group",u&&"training-card-group--dragover",a&&"training-card-group--collapsed",b&&"training-card-group--collapsible",g);return n.jsxs("div",{className:_,onDragOver:d,onDragLeave:p,onDrop:m,children:[n.jsxs("header",{className:"training-card-group__header",children:[b&&n.jsx(ce,{htmlType:"button",size:40,type:"dot",variant:"transparent-gray",useBorder:!1,icon:a?"chevron-right":"chevron-down",ariaLabel:a?C("common.expand","\uD3BC\uCE58\uAE30"):C("common.collapse","\uC811\uAE30"),className:"training-card-group__chevron","aria-expanded":!a,onClick:r}),typeof e=="string"?n.jsx("span",{className:"training-card-group__title h5b",children:e}):e,t!==void 0&&n.jsx("span",{className:"training-card-group__count body-3b",children:t}),(s||i!=null)&&n.jsxs("span",{className:"training-card-group__actions",onClick:f=>f.stopPropagation(),children:[s&&n.jsx(tn,{size:40,options:s.options,value:s.value,placeholder:s.placeholder,onChange:s.onChange}),i]})]}),!a&&(l?n.jsx("div",{className:"training-card-group__empty body-3",children:c}):n.jsx("div",{className:"training-card-group__grid",children:h}))]})}const I3="speechear:saved_word_tables";function F3(e){if(typeof e!="object"||e===null)return!1;const t=e;return typeof t.id=="string"&&typeof t.name=="string"&&Array.isArray(t.items)}function O3(){try{const e=localStorage.getItem(I3);if(!e)return[];const t=JSON.parse(e);return Array.isArray(t)?t.filter(F3):[]}catch{return[]}}function mu(e){return{label:e.word,subLabel:e.pronunciation,colloquialLabel:e.colloquialPronunciation,homonum:e.homonum,grade:e.grade,syllables:[...e.word].length,pos:e.pos,wordType:e.wordType}}function zo(e){return e.map(t=>t.homonum!=null?`${t.word}#${t.homonum}`:t.word).join("|")}function V3(e){const t=new Set;return e.map(a=>{let r=a.id;for(let s=2;t.has(r);s++)r=`${a.id}~${s}`;return t.add(r),r===a.id?a:{...a,id:r}})}function H3({title:e,titleIcon:t,disc:a,items:r,onSaveComplete:s,onLoad:i,onRemoveItem:l,onReset:c,resetLabel:u,saveButtonLabel:d,secondarySaveButtonLabel:p,onReorder:m,showCellCount:h,onAddItem:g,className:C,renderSavePopup:b,renderWordSearch:_,hideControls:f,saveOnly:y,tableName:x,nameValue:v,onNameChange:A,descriptionValue:w,onDescriptionChange:D,namePlaceholder:k,descriptionPlaceholder:B,existingNames:N,editingName:M,onCancel:P}){const{t:$}=fe.useTranslation(),W=u??$("wordPrint.clearAllSelection","\uBAA8\uB450 \uC120\uD0DD \uD574\uC81C"),S=r===void 0,F=!!A,[Y,G]=o.useState([]),q=(v??"").trim(),H=q||(k??"").trim(),z=(w??"").trim()||(B??"").trim(),Z=(N??[]).map(ke=>ke.trim().toLowerCase()),I=[M?.trim().toLowerCase(),...Y].filter(ke=>!!ke),T=[...Z];for(const ke of I){const Pe=T.indexOf(ke);Pe!==-1&&T.splice(Pe,1)}const O=q!==""&&T.includes(q.toLowerCase()),[R,j]=o.useState(Array(4).fill(null)),[L,Q]=o.useState(4),[J,oe]=o.useState(null),ge=R.slice(0,L),[Me,Ne]=o.useState("landscape"),[ie,U]=o.useState(["\uC774\uBBF8\uC9C0","\uB2E8\uC5B4","\uD45C\uC900 \uBC1C\uC74C"]),[se,me]=o.useState("\uD45C\uC2DC"),[_e,we]=o.useState(!0),[De,xe]=o.useState(!0),Ae=o.useRef(null),Te=o.useRef([]),[ae,ee]=o.useState(8),[de,te]=o.useState("right"),[he,be]=o.useState(!1),[Ye,Ve]=o.useState(!1),{toastMessage:qe,toastType:Se,showWarning:Ue,clearToast:$e}=tl("warning"),Ie=o.useCallback(()=>oe(null),[oe]);g&&!S&&!h&&jn("word-table-block-add-without-cell-count",'[WordTableBlock] \uD45C\uC2DC \uBAA8\uB4DC\uC5D0\uC11C onAddItem \uC740 showCellCount \uC640 \uD568\uAED8 \uC918\uC57C "\uCD94\uAC00\uD558\uAE30" \uCE78\uC774 \uC0DD\uAE34\uB2E4.');const[He,at]=o.useState(()=>Math.max(r?.length??1,1)),ot=S?L:h?Math.max(He,r?.length??1,1):Math.max(r?.length??0,1),{width:We,height:Xe}=aa[Me],Ct=!S&&!h,At=r?.length??0,Et=Math.min(ae,Math.max(At,1)),ut=Ct?Et:ot,Qe=Ct?oc(r??[],ut):null,Ze=!!Qe&&Qe.length>1,Oe=S?ge.some(ke=>ke!==null&&ke.length>1):(r??[]).some(ke=>(ke.words??[]).length>1),rt=x?.trim()||`${ai(Ca())} ${Oe?$("wordTable.printFileNamePair","\uB300\uB9BD\uC30D\uD45C"):$("wordTable.printFileNameSingle","\uB2E8\uC5B4\uD45C")}`,et=o.useCallback(()=>Ze?Te.current.filter(ke=>ke!==null):Ae.current?[Ae.current]:[],[Ze]),{print:bt,openNewWindow:ze,downloadHtml:it}=vo({getElements:et,paperW:We,paperH:Xe,fileName:rt,onPopupBlocked:()=>{Ue($("wordTable.popupBlocked","\uD31D\uC5C5\uC774 \uCC28\uB2E8\uB418\uC5C8\uC2B5\uB2C8\uB2E4. \uBE0C\uB77C\uC6B0\uC800 \uC124\uC815\uC5D0\uC11C \uD31D\uC5C5\uC744 \uD5C8\uC6A9\uD574 \uC8FC\uC138\uC694."))}}),Bt=ke=>{Q(ke),j(Pe=>Pe.length>=ke?Pe:[...Pe,...Array(ke-Pe.length).fill(null)]),oe(null)},Nt=ke=>{j(Pe=>{const ne=[...Pe];return ne[ke]=null,ne}),J===ke&&oe(null)},Le=ke=>{if(J===null)return;const Pe=J;j(pe=>{const V=[...pe];return V[Pe]=ke.length>0?ke:null,V});const ne=ge.findIndex((pe,V)=>V>Pe&&pe===null);oe(ne!==-1?ne:null)},Ke=S?ge.some(ke=>ke?.some(Pe=>!!Pe.colloquialPronunciation)):(r??[]).some(ke=>(ke.words??[]).some(Pe=>!!Pe.colloquialLabel)),Dt=o.useMemo(()=>Un()?S?R.slice(0,L).flatMap(ke=>(ke??[]).map(Pe=>[Pe.word,Pe.homonum])):(r??[]).flatMap(ke=>(ke.words??[]).map(Pe=>[Pe.label,Pe.homonum])):[],[S,R,L,r]),[vt,Tt]=o.useState(!1);o.useEffect(()=>{if(Dt.length===0)return;let ke=!1;return Promise.all(Dt.map(([Pe,ne])=>qs(Pe,ne))).then(Pe=>{ke||Tt(Pe.some(Boolean))},()=>{}),()=>{ke=!0}},[Dt]);const on=Dt.length>0&&vt,tt=o.useMemo(()=>[...S||h?[{label:$("wordTable.filter.columns","\uCE78 \uC218"),items:xy.map(ke=>({value:`${ke}\uCE78`,displayLabel:$("wordTable.filter.column",{count:ke})})),display:"segmented"}]:[],...Ct&&(r?.length??0)>0?[vc($,{hasPairs:Oe,itemCount:At})]:[],...Ze?[_c($)]:[]],[$,S,h,Ct,r?.length,Oe,At,Ze]),Gt={...S||h?{[$("wordTable.filter.columns","\uCE78 \uC218")]:`${ot}\uCE78`}:{},...Ct&&(r?.length??0)>0?{[$(Oe?"wordTable.filter.itemsPerPagePair":"wordTable.filter.itemsPerPageWord")]:`${Et}\uAC1C`}:{},...Ze?{[$("wordTable.filter.pageNumber","\uD398\uC774\uC9C0 \uBC88\uD638")]:wc[de]}:{}},vn=(ke,Pe)=>{Pe===$("wordTable.filter.columns","\uCE78 \uC218")?S?Bt(parseInt(ke)):at(parseInt(ke)):Pe===$(Oe?"wordTable.filter.itemsPerPagePair":"wordTable.filter.itemsPerPageWord")?ee(xc(parseInt(ke),At)):Pe===$("wordTable.filter.pageNumber","\uD398\uC774\uC9C0 \uBC88\uD638")&&te(kc(ke))},xt=S?V3(ge.filter(ke=>ke!==null&&ke.length>0).map(ke=>({id:zo(ke),words:ke.map(mu)}))):r??[],Ht=()=>{S&&j(ke=>ke.length>L?ke.slice(0,L):ke)},Xt=(ke=!1)=>{if(Ve(ke),F&&s){const Pe=H.trim().toLowerCase();Pe&&G(ne=>ne.includes(Pe)?ne:[...ne,Pe]),s(H,xt,z||void 0,ke),Ht();return}if(y&&s){s("",xt,void 0,ke),Ht();return}if(s){be(!0);return}it()},[an,sn]=o.useState(!1),[Jt,xn]=o.useState(""),Kt=Jt.trim(),mt=Kt!==""&&Z.includes(Kt.toLowerCase()),ln=()=>{xn(H?$("wordTable.save.copyName",{name:H,defaultValue:"{{name}} (\uBCF5\uC0AC)"}):""),sn(!0)},Yt=()=>{!Kt||mt||!s||(s(Kt,xt,z||void 0,!0),Ht(),sn(!1))},jt=xt.length===0,cn=jt||F&&(H===""||O),Zt=()=>{if(jt){Ue($("wordTable.emptyItems","\uB2E8\uC5B4\uB97C 1\uAC1C \uC774\uC0C1 \uCD94\uAC00\uD574\uC8FC\uC138\uC694."));return}if(F&&H===""){Ue($("wordTable.save.nameRequired","\uD45C \uC774\uB984\uC744 \uC785\uB825\uD574 \uC8FC\uC138\uC694."));return}F&&O&&Ue($("wordTable.save.duplicateName","\uC774\uBBF8 \uC0AC\uC6A9 \uC911\uC778 \uC774\uB984\uC785\uB2C8\uB2E4."))},un=n.jsx(ra,{items:xt,orientation:Me,contentTypes:ie,cutLine:se,showOutline:_e,showDivLine:De,count:ot});return n.jsxs(n.Fragment,{children:[n.jsxs(na,{type:"page",icon:t,title:e,disc:a,className:Be("word-table-block",C),children:[an&&n.jsx(Dn,{size:"small",title:p??$("wordTable.saveAsNewButton","\uB2E4\uB978 \uC774\uB984\uC73C\uB85C \uC800\uC7A5"),onClose:()=>sn(!1),footer:({closeWithAnimation:ke})=>n.jsxs(n.Fragment,{children:[n.jsx(ce,{htmlType:"button",size:48,type:"bar",label:$("common.cancel","\uCDE8\uC18C"),onClick:ke}),n.jsx(ce,{htmlType:"button",size:48,type:"bar",variant:"main",label:$("common.save","\uC800\uC7A5"),disabled:!Kt||mt,onClick:Yt})]}),children:n.jsx(On,{label:$("wordTable.save.nameLabel","\uC774\uB984"),value:Jt,onChange:xn,placeholder:$("wordTable.save.placeholder","\uC774 \uB2E8\uC5B4\uD45C\uC5D0 \uB300\uD55C \uC81C\uBAA9\uC744 \uC785\uB825\uD558\uC138\uC694."),maxLength:40,size:48,fullWidth:!0,autoFocus:!0,onEnter:Yt,error:mt?$("wordTable.save.duplicateName","\uC774\uBBF8 \uC0AC\uC6A9 \uC911\uC778 \uC774\uB984\uC785\uB2C8\uB2E4."):void 0})}),he&&s&&b?.({defaultName:typeof e=="string"?e:$("wordTable.defaultName","\uB2E8\uC5B4 \uD45C"),preview:un,previewW:We,previewH:Xe,items:xt,existingNames:O3().map(ke=>ke.name),saveAsNew:Ye,onSave:(ke,Pe)=>{s(ke,xt,Pe,Ye),Ht(),be(!1)},onCancel:()=>be(!1)}),(S||g)&&J!==null&&_?.({cellIndex:J,onConfirm:S?Le:ke=>{if(g){const Pe=ke[0];if(Pe){const ne=new Set((r??[]).map(V=>V.id));let pe=zo([Pe]);for(let V=2;ne.has(pe);V++)pe=`${zo([Pe])}~${V}`;g({id:pe,words:[mu(Pe)]})}}oe(null)},onClose:Ie}),!f&&n.jsx(go,{hasImage:on,hasColloquial:Ke,contentTypes:ie,orientation:Me,showOutline:_e,cutLine:se,showDivLine:De,setters:{setContentTypes:U,setOrientation:Ne,setShowOutline:we,setCutLine:me,setShowDivLine:xe},showCutLine:(Ct?ut:ot)>1,showDivLine2:Oe,middleSections:tt,extraSelected:Gt,onExtraSelect:vn}),Ze&&Qe?n.jsx("div",{className:"word-table-block__pages",children:Qe.map((ke,Pe)=>n.jsx(ra,{orientation:Me,contentTypes:ie,cutLine:se,showOutline:_e,showDivLine:De,count:ut,items:ke,onRemoveItem:l,onReorder:m&&((ne,pe)=>m(ne+Pe*ut,pe+Pe*ut)),contentRef:ne=>{Te.current[Pe]=ne},pageNumber:{current:Pe+1,total:Qe.length},pageNumberPosition:de},Pe))}):n.jsx(ra,{orientation:Me,contentTypes:ie,cutLine:se,showOutline:_e,showDivLine:De,count:ot,items:S?void 0:r??[],editCells:S?ge:void 0,activeCell:J,onActivateCell:S||g?oe:void 0,onRemoveCell:S?Nt:void 0,onRemoveItem:S?void 0:l,onReorder:S?void 0:m,showFillerAdd:!!g,contentRef:Ae}),F&&!f&&n.jsxs(or,{size:"medium",labelWidth:64,useBorder:!1,useRowBorder:!1,className:"word-table-block__meta",children:[n.jsx(Sn,{variant:"custom",label:$("wordTable.save.nameLabel","\uC774\uB984"),required:!0,align:"vertical",useFullWidth:!0,children:n.jsx(On,{required:!0,value:v??"",onChange:A,placeholder:k?k+$("wordTable.save.autoFillHint"," (Tab \uB610\uB294 space \uC785\uB825\uC2DC \uC790\uB3D9 \uC785\uB825)"):$("wordTable.save.placeholder","\uC774 \uB2E8\uC5B4\uD45C\uC5D0 \uB300\uD55C \uC81C\uBAA9\uC744 \uC785\uB825\uD558\uC138\uC694."),ariaLabel:$("wordTable.save.nameLabel","\uC774\uB984"),maxLength:40,size:48,fullWidth:!0,error:O?$("wordTable.save.duplicateName","\uC774\uBBF8 \uC0AC\uC6A9 \uC911\uC778 \uC774\uB984\uC785\uB2C8\uB2E4."):void 0,onKeyDown:ke=>{(ke.key==="Tab"&&!ke.shiftKey||ke.key===" ")&&!(v??"").trim()&&(k??"").trim()&&(ke.preventDefault(),A?.(k??""))}})}),n.jsx(Sn,{variant:"custom",label:$("wordTable.save.descriptionLabel","\uC124\uBA85"),align:"vertical",useFullWidth:!0,children:n.jsx(On,{value:w??"",onChange:D,placeholder:B?B+$("wordTable.save.autoFillHint"," (Tab \uB610\uB294 space \uC785\uB825\uC2DC \uC790\uB3D9 \uC785\uB825)"):$("wordTable.save.descriptionPlaceholder","\uC774 \uB2E8\uC5B4\uD45C\uC5D0 \uB300\uD55C \uC124\uBA85\uC744 \uC785\uB825\uD558\uC138\uC694."),ariaLabel:$("wordTable.save.descriptionLabel","\uC124\uBA85"),maxLength:200,multiline:!0,rows:2,fullWidth:!0,onKeyDown:ke=>{(ke.key==="Tab"&&!ke.shiftKey||ke.key===" ")&&!(w??"").trim()&&(B??"").trim()&&(ke.preventDefault(),D?.(B??""))}})})]})]}),!f&&n.jsxs("div",{className:"word-table-block__actions",children:[n.jsxs("div",{className:"word-table-block__actions-left",children:[!y&&c&&n.jsx(ce,{htmlType:"button",size:40,type:"bar",label:W,onClick:c}),!y&&i&&n.jsx(ce,{htmlType:"button",size:40,type:"bar",label:$("wordTable.load","\uBD88\uB7EC\uC624\uAE30"),onClick:i}),!y&&n.jsx(ce,{htmlType:"button",size:40,type:"bar",label:$("wordTable.openNewWindow","\uC0C8 \uCC3D\uC73C\uB85C \uBCF4\uAE30"),onClick:ze})]}),n.jsxs("div",{className:"word-table-block__actions-right",children:[P&&n.jsx(ce,{htmlType:"button",size:"56",type:"bar",label:$("common.cancel","\uCDE8\uC18C"),onClick:P}),!y&&n.jsx(ce,{htmlType:"button",size:"56",type:"bar",label:$("wordTable.print","\uC778\uC1C4\uD558\uAE30"),onClick:bt}),p&&n.jsx(ce,{htmlType:"button",size:"56",type:"bar",label:p,onClick:()=>F?ln():Xt(!0),disabled:jt,onDisabledClick:()=>{Ue($("wordTable.emptyItems","\uB2E8\uC5B4\uB97C 1\uAC1C \uC774\uC0C1 \uCD94\uAC00\uD574\uC8FC\uC138\uC694."))}}),n.jsx(ce,{htmlType:"button",size:"56",type:"bar",variant:"main",label:d??$("wordTable.saveButton","\uC800\uC7A5\uD558\uAE30"),onClick:()=>Xt(!1),disabled:cn,onDisabledClick:Zt})]})]}),n.jsx(ea,{message:qe,type:Se,onClose:$e})]})}function hu({items:e,className:t}){const a=e.length,r=a<=3?1:2,s=Math.ceil(a/r)||1,i=r*s;return n.jsx("div",{className:Be("word-table-thumb",t),style:{gridTemplateColumns:`repeat(${r}, 1fr)`},children:Array.from({length:i},(l,c)=>{const u=e[c];return u?n.jsx("div",{className:"word-table-thumb__cell",children:(u.words?.length?u.words:[{label:u.id}]).map((d,p)=>n.jsxs(o.Fragment,{children:[p>0&&n.jsx("span",{className:"word-table-thumb__divider"}),n.jsx("span",{className:"word-table-thumb__word body-3",children:d.label})]},p))},c):n.jsx("div",{className:"word-table-thumb__cell word-table-thumb__cell--empty"},c)})})}function z3({items:e,name:t,description:a,createdAt:r,published:s,publishedLabel:i,shared:l,sharedLabel:c,isNew:u,publisherName:d,publishedAt:p,likeCount:m,downloadCount:h,onPublisherClick:g,selected:C,onClick:b,onMore:_,titleNode:f,className:y}){const{t:x}=fe.useTranslation(),v=f!=null,A=d!=null||p!=null||m!=null||h!=null,w=D=>{D.target===D.currentTarget&&!v&&(D.key==="Enter"||D.key===" ")&&(D.preventDefault(),b?.())};return n.jsxs("div",{className:Be("word-table-button",C?"word-table-button--selected":"",A?"":"word-table-button--no-footer",y),role:"button",tabIndex:0,"aria-label":t,onClick:v?void 0:b,onKeyDown:w,children:[u&&n.jsx("span",{className:"word-table-button__new-dot","aria-label":x("myWordTable.newBadge","\uC0C8\uB85C \uB9CC\uB4E0 \uD45C")}),n.jsx(hu,{items:e,className:"word-table-button__thumb"}),n.jsxs("div",{className:"word-table-button__info",children:[n.jsxs("div",{className:"word-table-button__info-text",children:[f??n.jsx("div",{className:"word-table-button__title h4",children:t}),a&&n.jsx("div",{className:"word-table-button__desc body-3",children:a})]}),_&&!v&&n.jsx(ce,{htmlType:"button",className:"word-table-button__more",size:32,type:"dot",variant:"transparent-gray",useBorder:!1,icon:"ellipsis",ariaLabel:x("common.moreFor",{name:t}),onClick:D=>{D.stopPropagation(),_(D)}})]}),(r||s||l)&&n.jsxs("div",{className:"word-table-button__meta-row",children:[n.jsx("span",{className:"word-table-button__meta caption-1",children:r?ni(r,x):""}),n.jsxs("span",{className:"word-table-button__badges",children:[s&&n.jsx(pt,{className:"word-table-button__badge",size:"small",variant:"main",fill:"soft",iconLeft:"book-marked",label:i??x("myWordTable.publishedBadge","\uBC1C\uD589\uB428")}),l&&n.jsx(pt,{className:"word-table-button__badge",size:"small",fill:"soft",iconLeft:"link",label:c??x("myWordTable.sharedBadge","\uACF5\uC720 \uC911")})]})]}),A&&n.jsxs("div",{className:"word-table-button__footer",children:[n.jsxs("span",{className:"word-table-button__store-by",children:[d&&n.jsx("button",{className:"training-card__publisher body-4",type:"button",onClick:D=>{D.stopPropagation(),g?.()},children:d}),p&&n.jsx("span",{className:"training-card__date body-4",children:ni(p,x)})]}),n.jsxs("span",{className:"word-table-button__store-stats",children:[m!=null&&n.jsx(pt,{size:"small",fill:"soft",variant:"like",iconLeft:"heart",label:String(m)}),h!=null&&n.jsx(pt,{size:"small",fill:"soft",variant:"main",iconLeft:"download",label:String(h)})]})]})]})}/**
992
992
  * @license lucide-react v1.38.0 - ISC
993
993
  *
994
994
  * This source code is licensed under the ISC license.
@@ -998,4 +998,4 @@ ${v.badge}`:v.badge:void 0;if(w&&u(v.code))return null;if(!v.badge&&!p)return m(
998
998
  *
999
999
  * This source code is licensed under the ISC license.
1000
1000
  * See the LICENSE file in the root directory of this source tree.
1001
- */const U3=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]],G3=X("circle-x",U3);function K3(e){return{idle:0,"word-download":1,"image-list":2,"image-match":2,"pair-build":3,done:4}[e]??0}function Wo({icon:e,label:t,state:a,pct:r,subText:s}){const{t:i}=fe.useTranslation(),l=a==="done",c=a==="pending",u=a==="error",d=l?100:r??0;return n.jsxs("div",{className:"wdup-phase-card",children:[n.jsx("div",{className:`wdup-phase-card__icon${l?" wdup-phase-card__icon--done":u?" wdup-phase-card__icon--error":""}`,children:l?n.jsx(ss,{size:22,color:"white",strokeWidth:2.5}):u?n.jsx(G3,{size:22,color:"white",strokeWidth:2.5}):n.jsx("span",{className:`wdup-phase-card__icon-inner${c?" wdup-phase-card__icon-inner--pending":""}`,children:e})}),n.jsxs("div",{className:"wdup-phase-card__body",children:[n.jsxs("div",{className:"wdup-phase-card__top",children:[n.jsx("span",{className:`wdup-phase-card__label body-2${c?" wdup-phase-card__label--pending":""}`,children:t}),l?n.jsx(pt,{variant:"sub",fill:"soft",size:"small",label:i("common.done","\uC644\uB8CC")}):u?n.jsx(pt,{variant:"danger",fill:"soft",size:"small",label:i("common.failed","\uC2E4\uD328")}):(s||r!==void 0)&&n.jsxs("span",{className:"wdup-phase-card__sub body-3",children:[s,s&&r!==void 0?` \xB7 ${r}%`:r!==void 0?`${r}%`:""]})]}),!c&&n.jsx("div",{className:"wdup-bar",children:n.jsx("div",{className:`wdup-bar__fill${l?" wdup-bar__fill--done":u?" wdup-bar__fill--error":""}${a==="active"&&r===void 0?" wdup-bar__fill--indeterminate":""}`,style:{width:r!==void 0||l||u?`${u?100:d}%`:void 0}})})]})]})}function Y3({title:e,progress:t,onDone:a,onRetry:r,onClose:s,inline:i}){const{t:l}=fe.useTranslation(),{phase:c,error:u,wordCount:d,imagePage:p,imageDone:m,imageTotal:h,pairPercent:g}=t,C=K3(c),b=c==="done",_=!!u;function f(D){return _&&C===D?"error":C>D?"done":C===D?"active":"pending"}const y=f(1),x=f(2),v=f(3),k=c==="image-match"&&h?Math.round((m??0)/h*100):void 0,w=o.useMemo(()=>{if(x!=="done"){if(c==="image-list")return l("wordData.checkingPage",{page:p??1});if(c==="image-match"&&h)return l("wordData.imageCount",{done:$r(m),total:$r(h)})}},[x,c,p,h,m,l]);return n.jsx(Dn,{inline:i,className:"popup--word-data-update",title:e,footer:_&&r?n.jsx(ce,{htmlType:"button",size:56,variant:"main",onClick:r,children:l("common.retry","\uB2E4\uC2DC \uC2DC\uB3C4")}):_?n.jsx(ce,{htmlType:"button",size:56,variant:"main",onClick:s??a,children:l("common.close","\uB2EB\uAE30")}):n.jsx(ce,{htmlType:"button",size:56,variant:"main",disabled:!b,onClick:a,children:l("common.done","\uC644\uB8CC")}),children:n.jsxs("div",{className:"wdup-cards",children:[n.jsx(Wo,{icon:n.jsx(ts,{size:22,color:"var(--color-main, #29b6c8)",strokeWidth:1.8}),label:l("wordData.phaseWordDownload","\uB2E8\uC5B4 \uB370\uC774\uD130 \uB2E4\uC6B4\uB85C\uB4DC"),state:y,subText:y==="active"?l("wordData.downloadingCount",{n:$r(d)}):void 0}),n.jsx(Wo,{icon:n.jsx(q3,{size:22,color:"var(--color-main, #29b6c8)",strokeWidth:1.8}),label:l("wordData.phaseImageCheck","\uC774\uBBF8\uC9C0 \uD655\uC778"),state:x,pct:k,subText:w}),n.jsx(Wo,{icon:n.jsx(rs,{size:22,color:"var(--color-main, #29b6c8)",strokeWidth:1.8}),label:l("wordData.phasePairAnalysis","\uB2E8\uC5B4\uC30D \uBD84\uC11D"),state:v,pct:v==="active"?g??0:void 0,subText:void 0})]})})}function Z3({enabled:e=!1,renderResultPopup:t}={}){const{t:a}=fe.useTranslation(),[r,s]=o.useState(null),[i,l]=o.useState(null),c=g=>{let C=null;g==="noise"?C={score:3,contextsLength:5,results:[{sentence:"\uBB38\uC7A5 A",judgement:!0,wording:"\uC798 \uB4E4\uB9BC",useAnswer:!1},{sentence:"\uBB38\uC7A5 B",judgement:!1,wording:"\uC548 \uB4E4\uB9BC",useAnswer:!1},{sentence:"\uBB38\uC7A5 C",judgement:!0,wording:"\uC798 \uB4E4\uB9BC",useAnswer:!1},{sentence:"\uBB38\uC7A5 D",judgement:null,wording:"\uC548 \uD568",useAnswer:!1},{sentence:"\uBB38\uC7A5 E",judgement:!1,wording:"\uC548 \uB4E4\uB9BC",useAnswer:!1}]}:g==="short"?C={score:2,contextsLength:3,results:[{sentence:"\uBE44\uBE54\uBC25 \uC124\uBA85",answer:"\uBE44\uBE54\uBC25",selected:"\uBE44\uBE54\uBC25",selectedText:"\uBE44\uBE54\uBC25",correct:!0},{sentence:"\uBCF4\uC308 \uC124\uBA85",answer:"\uBCF4\uC308",selected:"\uC871\uBC1C",selectedText:"\uC871\uBC1C",correct:!1},{sentence:"\uCE7C\uAD6D\uC218 \uC124\uBA85",answer:"\uCE7C\uAD6D\uC218",selected:void 0,selectedText:void 0,correct:void 0}]}:g==="long"?C={score:4,contextsLength:4,results:[{sentence:"\uAE34 \uC774\uC57C\uAE30 1",answer:"\uC815\uB2F5 \uD14D\uC2A4\uD2B8 1",selectedText:"\uC815\uB2F5 \uD14D\uC2A4\uD2B8 1",correct:!0},{sentence:"\uAE34 \uC774\uC57C\uAE30 2",answer:"\uC815\uB2F5 \uD14D\uC2A4\uD2B8 2",selectedText:"\uC120\uD0DD \uD14D\uC2A4\uD2B8 2",correct:!1},{sentence:"\uAE34 \uC774\uC57C\uAE30 3",answer:"\uC815\uB2F5 \uD14D\uC2A4\uD2B8 3",selectedText:void 0,correct:void 0},{sentence:"\uAE34 \uC774\uC57C\uAE30 4",answer:"\uC815\uB2F5 \uD14D\uC2A4\uD2B8 4",selectedText:"\uC815\uB2F5 \uD14D\uC2A4\uD2B8 4",correct:!0}]}:g==="order"&&(C={score:1,contextsLength:2,results:[{sentence:"\uC21C\uC11C \uBB38\uC81C 1",answer:"1,2,3",selectedText:"1,2,3",correct:!0},{sentence:"\uC21C\uC11C \uBB38\uC81C 2",answer:"A,B,C",selectedText:"B,A,C",correct:!1}]}),l(C),s(g)},u=o.useCallback(()=>{s(null),l(null)},[]),d=o.useCallback(()=>c("noise"),[]),p=o.useCallback(()=>c("short"),[]),m=o.useCallback(()=>c("long"),[]),h=o.useCallback(()=>c("order"),[]);return e?n.jsxs("div",{className:"debug-result-launcher",children:[n.jsxs("div",{className:"debug-buttons",children:[n.jsx("button",{type:"button",className:"debug-button",onClick:d,children:a("debug.showResult",{type:"Noise",defaultValue:"{{type}} \uACB0\uACFC\uBCF4\uAE30"})}),n.jsx("button",{type:"button",className:"debug-button",onClick:p,children:a("debug.showResult",{type:"ShortStory",defaultValue:"{{type}} \uACB0\uACFC\uBCF4\uAE30"})}),n.jsx("button",{type:"button",className:"debug-button",onClick:m,children:a("debug.showResult",{type:"LongStory",defaultValue:"{{type}} \uACB0\uACFC\uBCF4\uAE30"})}),n.jsx("button",{type:"button",className:"debug-button",onClick:h,children:a("debug.showResult",{type:"Order",defaultValue:"{{type}} \uACB0\uACFC\uBCF4\uAE30"})})]}),r&&i?t?.({score:i.score,contextsLength:i.contextsLength,results:i.results,onReplay:u,onClose:u}):null]}):null}exports.Accordion=Zg,exports.ActionCard=I2,exports.Alert=Hb,exports.AppHeader=nb,exports.AudioMeter=so,exports.AudioPlayer=So,exports.Avatar=Kb,exports.Badge=pt,exports.BarChart=T4,exports.BarChartControls=Rl,exports.Board=i4,exports.BottomNav=al,exports.BrandIdentity=ll,exports.Breadcrumb=Xb,exports.BulkBar=v4,exports.Button=ce,exports.CORE_VERSION=j2,exports.Calendar=Z4,exports.CardStep=ou,exports.ChartLegend=no,exports.ChartSection=ao,exports.ChartTotal=Ya,exports.Checkbox=Tl,exports.ChoiceChips=e5,exports.CircleBadge=Pb,exports.CodeBox=b4,exports.ColorPicker=n4,exports.CompanyMeta=m4,exports.ConfirmPopup=C3,exports.ConfirmStep=nu,exports.ConfirmWithTextStep=au,exports.ContrastFilterPanel=h3,exports.CoreScope=F2,exports.CountTile=a4,exports.CouponInputPopup=g3,exports.DEFAULT_NOISE_SETTINGS=Ea,exports.DatePicker=k4,exports.DebugResultLauncher=Z3,exports.DescriptionTooltip=Pn,exports.DeviceSideTable=G4,exports.Dialog=s4,exports.Divider=Ib,exports.Dropdown=tn,exports.EffectPartyPopper=Ho,exports.EffectPartyPopperHost=w3,exports.EmptyState=R2,exports.ErrorState=P2,exports.FILTER_ALL_VALUE=rn,exports.FileUpload=Zb,exports.FilterPanel=yn,exports.FilterSectionInfo=wa,exports.Footer=t5,exports.Header=cl,exports.Icon=Ge,exports.IconGridMenu=Qy,exports.IconRenderer=Ge,exports.InfoTooltip=Bn,exports.LEVEL_MAX=sa,exports.LandingBottomSticky=a5,exports.LandingHeader=n5,exports.ListPopup=f3,exports.ListenStep=tu,exports.Loader=Ba,exports.MARKS=ec,exports.MARK_ICON=nc,exports.MARK_VARIANT=ac,exports.MediaQueryOverrideContext=pi,exports.MenuTooltip=Wa,exports.NOISE_RATIO_MAX=Na,exports.NOISE_RATIO_STEP=jc,exports.NoisePlayerContext=Ao,exports.NoiseSettingsTooltip=Kc,exports.NoticeBox=O2,exports.OrderListStep=ru,exports.PASS_CARD_BG_VARS=Fn,exports.POS_LABEL=sc,exports.PROMO_BANNER_BG_COMPONENTS=Ui,exports.PROMO_BANNER_BG_OPTIONS=Dg,exports.PROMO_BANNER_BG_VARS=ba,exports.Page=sr,exports.PageTitle=k3,exports.Pagination=Ua,exports.Panel=or,exports.PanelGrid=R5,exports.PanelRow=Sn,exports.PanelRowDevice=$5,exports.PassCard=yl,exports.PassCardBg=Mb,exports.PassCardBgIHAB=Lb,exports.PassCardBgLeftColorGrid=$b,exports.PassCardBgTwoCircle=hl,exports.PaymentPlan=jb,exports.PersonCard=l4,exports.PhonemeFilterPanel=m3,exports.PhonemeSelectBlock=d3,exports.Popup=Dn,exports.ProgressBar=I4,exports.ProgressIndicator=Gl,exports.PromoBanner=Gg,exports.PromoBannerBgDark=Ti,exports.PromoBannerBgDeep=Ai,exports.PromoBannerBgDiagonal=$i,exports.PromoBannerBgDots=Pi,exports.PromoBannerBgInstagram=qi,exports.PromoBannerBgMain=yi,exports.PromoBannerBgNaver=zi,exports.PromoBannerBgOutline=Fi,exports.PromoBannerBgRadial=Mi,exports.PromoBannerBgSoft=xi,exports.PromoBannerBgSoftSub=Ni,exports.PromoBannerBgSub=wi,exports.PromoBannerBgSuccess=Hi,exports.PromoBannerBgWarm=Si,exports.PublicationCard=u4,exports.Radio=wl,exports.RadioGroup=Fb,exports.Rating=Qb,exports.ReportDocument=E3,exports.ReportInfoPanel=T3,exports.RingChart=M4,exports.SENTENCE_TRAINING_TYPES=xo,exports.SearchSummary=Wb,exports.Section=na,exports.SectionHeader=p4,exports.SegmentedControl=Hn,exports.ShortcutBadge=_l,exports.SideNav=il,exports.Slider=zl,exports.SoundCompass=Rb,exports.SplashLogo=d4,exports.StatChart=L4,exports.SummaryStrip=D3,exports.TRAINING_TOOLTIP_HOVER_DELAY_MS=b3,exports.Table=lo,exports.TableFilterPanel=go,exports.Tabs=qb,exports.TextBoxTooltip=rr,exports.TextField=On,exports.Timeline=c4,exports.Toast=ea,exports.Toggle=El,exports.Toolbar=to,exports.Tooltip=An,exports.TooltipInfo=Bn,exports.TooltipTextBox=rr,exports.TopBanner=Kg,exports.TrainingBlock=ty,exports.TrainingBlockButton=uo,exports.TrainingCard=R3,exports.TrainingCardGroup=P3,exports.TrainingPagePopup=Tn,exports.TrainingPagePopupBottom=Yc,exports.TrainingPagePopupTitle=Zc,exports.TrainingResultPopup=iu,exports.TrainingStep=Vn,exports.TrainingStepAudioPlayer=So,exports.TrainingStepBullet=Oc,exports.TrainingStepCard=Wc,exports.TrainingStepConfirm=To,exports.TrainingStepConfirmWithText=jo,exports.TrainingStepListen=Mo,exports.TrainingStepOrderList=Lo,exports.TrainingStepTextBox=zc,exports.TrainingStepTitle=Vc,exports.TrainingTooltip=v3,exports.TrainingWordCard=ho,exports.UpdateAlert=$3,exports.WAVE_A_MAX=h5,exports.WAVE_H1_PX=Pc,exports.WAVE_HMAX_PX=m5,exports.WORD_TABLE_PAPER=aa,exports.WORD_TYPE_LABEL=ic,exports.WordDataProvider=N3,exports.WordDataUpdatePopup=Y3,exports.WordImageTooltip=uu,exports.WordSearchFilterPanel=p3,exports.WordSearchResultBlock=c3,exports.WordTable=ra,exports.WordTableBlock=V3,exports.WordTableButton=z3,exports.WordTablePopup=Ay,exports.WordTableThumbnail=hu,exports.buildMonthChartData=B4,exports.cellKey=My,exports.cellLabel=jy,exports.cellsForLabels=qy,exports.clearPassCardBgTheme=gn,exports.clearPromoBannerBgTheme=$t,exports.closeTrainingPopup=H5,exports.companyTypeLabel=A3,exports.createTrainingScenario=W5,exports.cx=Be,exports.deriveNoiseContexts=Z5,exports.derivePassCard=dl,exports.draftValues=Xy,exports.effectiveNoiseVolume=wo,exports.effectiveSpeechVolume=Lc,exports.expandSlashLabel=Co,exports.formatDuration=Uy,exports.getControlDateRange=j4,exports.getPayloadTimestamp=Po,exports.getPromoBannerBgTheme=qr,exports.getSelectedFromPayload=U5,exports.getSelectedText=G5,exports.getStepPayload=Qc,exports.getSteppedPayload=K5,exports.injectPassCardBgTheme=Cn,exports.injectPromoBannerBgTheme=Lt,exports.isSelectionCorrect=Y5,exports.labelOfCellKey=Ec,exports.labelsForSave=Ty,exports.levelToPct=r5,exports.markAfterClick=tc,exports.marksForSave=fo,exports.mergeNoiseSettings=Sa,exports.missesByType=Hy,exports.nextFocus=Py,exports.nextMisses=Oy,exports.noiseElementVolume=ko,exports.noiseRatioOf=Da,exports.pageStartIndexes=rc,exports.passCardBgIhabTheme=vl,exports.passCardBgLeftColorGridTheme=xl,exports.passCardBgTwoCircleTheme=ml,exports.pctToLevel=o5,exports.printWordTable=iy,exports.promoBannerBgDarkTheme=Ei,exports.promoBannerBgDeepTheme=ki,exports.promoBannerBgDiagonalTheme=Li,exports.promoBannerBgDotsTheme=Ri,exports.promoBannerBgInstagramTheme=Wi,exports.promoBannerBgMainTheme=bi,exports.promoBannerBgNaverTheme=Vi,exports.promoBannerBgOutlineTheme=Ii,exports.promoBannerBgRadialTheme=ji,exports.promoBannerBgSoftSubTheme=Bi,exports.promoBannerBgSoftTheme=vi,exports.promoBannerBgSubTheme=_i,exports.promoBannerBgSuccessTheme=Oi,exports.promoBannerBgWarmTheme=Di,exports.recommendTables=zy,exports.regenerateUnpinned=Zy,exports.removeItem=Yy,exports.resolveTrainingItems=z5,exports.resolveTrainingPopupMeta=Jc,exports.reviewCells=Ny,exports.reviewMeta=Ey,exports.reviewSetPlan=Vy,exports.reviewTableName=Sy,exports.scoreKey=er,exports.scoreSheetHeader=Ly,exports.shouldConfirmDiscard=sy,exports.splitTrainingVariants=V5,exports.summarize=oy,exports.summarizeMisses=Fy,exports.tableTrends=Ry,exports.toDraft=Gy,exports.toTrainingText=q5,exports.togglePin=Ky,exports.uncoveredLabels=Wy,exports.useAnchoredMenu=va,exports.useBarChartControl=$l,exports.useCalendarMonth=jl,exports.useComboboxSuggestions=Nl,exports.useFitScale=cc,exports.useNoisePlayer=nr,exports.useSoundCompassExam=Ug,exports.useToastLifecycle=ql,exports.useWordData=B3,exports.useWordTableDisplaySettings=Dc,exports.useWordTablePrint=vo,exports.waveBarPx=Ta,exports.waveBarVal=No,exports.weakItems=$y;
1001
+ */const U3=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]],G3=X("circle-x",U3);function K3(e){return{idle:0,"word-download":1,"image-list":2,"image-match":2,"pair-build":3,done:4}[e]??0}function Wo({icon:e,label:t,state:a,pct:r,subText:s}){const{t:i}=fe.useTranslation(),l=a==="done",c=a==="pending",u=a==="error",d=l?100:r??0;return n.jsxs("div",{className:"wdup-phase-card",children:[n.jsx("div",{className:`wdup-phase-card__icon${l?" wdup-phase-card__icon--done":u?" wdup-phase-card__icon--error":""}`,children:l?n.jsx(ss,{size:22,color:"white",strokeWidth:2.5}):u?n.jsx(G3,{size:22,color:"white",strokeWidth:2.5}):n.jsx("span",{className:`wdup-phase-card__icon-inner${c?" wdup-phase-card__icon-inner--pending":""}`,children:e})}),n.jsxs("div",{className:"wdup-phase-card__body",children:[n.jsxs("div",{className:"wdup-phase-card__top",children:[n.jsx("span",{className:`wdup-phase-card__label body-2${c?" wdup-phase-card__label--pending":""}`,children:t}),l?n.jsx(pt,{variant:"sub",fill:"soft",size:"small",label:i("common.done","\uC644\uB8CC")}):u?n.jsx(pt,{variant:"danger",fill:"soft",size:"small",label:i("common.failed","\uC2E4\uD328")}):(s||r!==void 0)&&n.jsxs("span",{className:"wdup-phase-card__sub body-3",children:[s,s&&r!==void 0?` \xB7 ${r}%`:r!==void 0?`${r}%`:""]})]}),!c&&n.jsx("div",{className:"wdup-bar",children:n.jsx("div",{className:`wdup-bar__fill${l?" wdup-bar__fill--done":u?" wdup-bar__fill--error":""}${a==="active"&&r===void 0?" wdup-bar__fill--indeterminate":""}`,style:{width:r!==void 0||l||u?`${u?100:d}%`:void 0}})})]})]})}function Y3({title:e,progress:t,onDone:a,onRetry:r,onClose:s,inline:i}){const{t:l}=fe.useTranslation(),{phase:c,error:u,wordCount:d,imagePage:p,imageDone:m,imageTotal:h,pairPercent:g}=t,C=K3(c),b=c==="done",_=!!u;function f(D){return _&&C===D?"error":C>D?"done":C===D?"active":"pending"}const y=f(1),x=f(2),v=f(3),A=c==="image-match"&&h?Math.round((m??0)/h*100):void 0,w=o.useMemo(()=>{if(x!=="done"){if(c==="image-list")return l("wordData.checkingPage",{page:p??1});if(c==="image-match"&&h)return l("wordData.imageCount",{done:$r(m),total:$r(h)})}},[x,c,p,h,m,l]);return n.jsx(Dn,{inline:i,className:"popup--word-data-update",title:e,footer:_&&r?n.jsx(ce,{htmlType:"button",size:56,variant:"main",onClick:r,children:l("common.retry","\uB2E4\uC2DC \uC2DC\uB3C4")}):_?n.jsx(ce,{htmlType:"button",size:56,variant:"main",onClick:s??a,children:l("common.close","\uB2EB\uAE30")}):n.jsx(ce,{htmlType:"button",size:56,variant:"main",disabled:!b,onClick:a,children:l("common.done","\uC644\uB8CC")}),children:n.jsxs("div",{className:"wdup-cards",children:[n.jsx(Wo,{icon:n.jsx(ts,{size:22,color:"var(--color-main, #29b6c8)",strokeWidth:1.8}),label:l("wordData.phaseWordDownload","\uB2E8\uC5B4 \uB370\uC774\uD130 \uB2E4\uC6B4\uB85C\uB4DC"),state:y,subText:y==="active"?l("wordData.downloadingCount",{n:$r(d)}):void 0}),n.jsx(Wo,{icon:n.jsx(q3,{size:22,color:"var(--color-main, #29b6c8)",strokeWidth:1.8}),label:l("wordData.phaseImageCheck","\uC774\uBBF8\uC9C0 \uD655\uC778"),state:x,pct:A,subText:w}),n.jsx(Wo,{icon:n.jsx(rs,{size:22,color:"var(--color-main, #29b6c8)",strokeWidth:1.8}),label:l("wordData.phasePairAnalysis","\uB2E8\uC5B4\uC30D \uBD84\uC11D"),state:v,pct:v==="active"?g??0:void 0,subText:void 0})]})})}function Z3({enabled:e=!1,renderResultPopup:t}={}){const{t:a}=fe.useTranslation(),[r,s]=o.useState(null),[i,l]=o.useState(null),c=g=>{let C=null;g==="noise"?C={score:3,contextsLength:5,results:[{sentence:"\uBB38\uC7A5 A",judgement:!0,wording:"\uC798 \uB4E4\uB9BC",useAnswer:!1},{sentence:"\uBB38\uC7A5 B",judgement:!1,wording:"\uC548 \uB4E4\uB9BC",useAnswer:!1},{sentence:"\uBB38\uC7A5 C",judgement:!0,wording:"\uC798 \uB4E4\uB9BC",useAnswer:!1},{sentence:"\uBB38\uC7A5 D",judgement:null,wording:"\uC548 \uD568",useAnswer:!1},{sentence:"\uBB38\uC7A5 E",judgement:!1,wording:"\uC548 \uB4E4\uB9BC",useAnswer:!1}]}:g==="short"?C={score:2,contextsLength:3,results:[{sentence:"\uBE44\uBE54\uBC25 \uC124\uBA85",answer:"\uBE44\uBE54\uBC25",selected:"\uBE44\uBE54\uBC25",selectedText:"\uBE44\uBE54\uBC25",correct:!0},{sentence:"\uBCF4\uC308 \uC124\uBA85",answer:"\uBCF4\uC308",selected:"\uC871\uBC1C",selectedText:"\uC871\uBC1C",correct:!1},{sentence:"\uCE7C\uAD6D\uC218 \uC124\uBA85",answer:"\uCE7C\uAD6D\uC218",selected:void 0,selectedText:void 0,correct:void 0}]}:g==="long"?C={score:4,contextsLength:4,results:[{sentence:"\uAE34 \uC774\uC57C\uAE30 1",answer:"\uC815\uB2F5 \uD14D\uC2A4\uD2B8 1",selectedText:"\uC815\uB2F5 \uD14D\uC2A4\uD2B8 1",correct:!0},{sentence:"\uAE34 \uC774\uC57C\uAE30 2",answer:"\uC815\uB2F5 \uD14D\uC2A4\uD2B8 2",selectedText:"\uC120\uD0DD \uD14D\uC2A4\uD2B8 2",correct:!1},{sentence:"\uAE34 \uC774\uC57C\uAE30 3",answer:"\uC815\uB2F5 \uD14D\uC2A4\uD2B8 3",selectedText:void 0,correct:void 0},{sentence:"\uAE34 \uC774\uC57C\uAE30 4",answer:"\uC815\uB2F5 \uD14D\uC2A4\uD2B8 4",selectedText:"\uC815\uB2F5 \uD14D\uC2A4\uD2B8 4",correct:!0}]}:g==="order"&&(C={score:1,contextsLength:2,results:[{sentence:"\uC21C\uC11C \uBB38\uC81C 1",answer:"1,2,3",selectedText:"1,2,3",correct:!0},{sentence:"\uC21C\uC11C \uBB38\uC81C 2",answer:"A,B,C",selectedText:"B,A,C",correct:!1}]}),l(C),s(g)},u=o.useCallback(()=>{s(null),l(null)},[]),d=o.useCallback(()=>c("noise"),[]),p=o.useCallback(()=>c("short"),[]),m=o.useCallback(()=>c("long"),[]),h=o.useCallback(()=>c("order"),[]);return e?n.jsxs("div",{className:"debug-result-launcher",children:[n.jsxs("div",{className:"debug-buttons",children:[n.jsx("button",{type:"button",className:"debug-button",onClick:d,children:a("debug.showResult",{type:"Noise",defaultValue:"{{type}} \uACB0\uACFC\uBCF4\uAE30"})}),n.jsx("button",{type:"button",className:"debug-button",onClick:p,children:a("debug.showResult",{type:"ShortStory",defaultValue:"{{type}} \uACB0\uACFC\uBCF4\uAE30"})}),n.jsx("button",{type:"button",className:"debug-button",onClick:m,children:a("debug.showResult",{type:"LongStory",defaultValue:"{{type}} \uACB0\uACFC\uBCF4\uAE30"})}),n.jsx("button",{type:"button",className:"debug-button",onClick:h,children:a("debug.showResult",{type:"Order",defaultValue:"{{type}} \uACB0\uACFC\uBCF4\uAE30"})})]}),r&&i?t?.({score:i.score,contextsLength:i.contextsLength,results:i.results,onReplay:u,onClose:u}):null]}):null}exports.Accordion=Zg,exports.ActionCard=I2,exports.Alert=Vb,exports.AppHeader=nb,exports.AudioMeter=so,exports.AudioPlayer=So,exports.Avatar=Kb,exports.Badge=pt,exports.BarChart=T4,exports.BarChartControls=Rl,exports.Board=i4,exports.BottomNav=al,exports.BrandIdentity=ll,exports.Breadcrumb=Xb,exports.BulkBar=v4,exports.Button=ce,exports.CORE_VERSION=j2,exports.Calendar=Z4,exports.CardStep=ou,exports.ChartLegend=no,exports.ChartSection=ao,exports.ChartTotal=Ya,exports.Checkbox=Tl,exports.ChoiceChips=e5,exports.CircleBadge=Pb,exports.CodeBox=b4,exports.ColorPicker=n4,exports.CompanyMeta=m4,exports.ConfirmPopup=C3,exports.ConfirmStep=nu,exports.ConfirmWithTextStep=au,exports.ContrastFilterPanel=h3,exports.CoreScope=F2,exports.CountTile=a4,exports.CouponInputPopup=g3,exports.DEFAULT_NOISE_SETTINGS=Ea,exports.DatePicker=k4,exports.DebugResultLauncher=Z3,exports.DescriptionTooltip=Pn,exports.DeviceSideTable=G4,exports.Dialog=s4,exports.Divider=Ib,exports.Dropdown=tn,exports.EffectPartyPopper=Vo,exports.EffectPartyPopperHost=w3,exports.EmptyState=R2,exports.ErrorState=P2,exports.FILTER_ALL_VALUE=rn,exports.FileUpload=Zb,exports.FilterPanel=yn,exports.FilterSectionInfo=wa,exports.Footer=t5,exports.Header=cl,exports.Icon=Ge,exports.IconGridMenu=Qy,exports.IconRenderer=Ge,exports.InfoTooltip=Bn,exports.LEVEL_MAX=sa,exports.LandingBottomSticky=a5,exports.LandingHeader=n5,exports.ListPopup=f3,exports.ListenStep=tu,exports.Loader=Ba,exports.MARKS=ec,exports.MARK_ICON=nc,exports.MARK_VARIANT=ac,exports.MediaQueryOverrideContext=pi,exports.MenuTooltip=Wa,exports.NOISE_RATIO_MAX=Na,exports.NOISE_RATIO_STEP=jc,exports.NoisePlayerContext=Ao,exports.NoiseSettingsTooltip=Kc,exports.NoticeBox=O2,exports.OrderListStep=ru,exports.PASS_CARD_BG_VARS=Fn,exports.POS_LABEL=sc,exports.PROMO_BANNER_BG_COMPONENTS=Ui,exports.PROMO_BANNER_BG_OPTIONS=Dg,exports.PROMO_BANNER_BG_VARS=ba,exports.Page=sr,exports.PageTitle=k3,exports.Pagination=Ua,exports.Panel=or,exports.PanelGrid=R5,exports.PanelRow=Sn,exports.PanelRowDevice=$5,exports.PassCard=yl,exports.PassCardBg=Mb,exports.PassCardBgIHAB=Lb,exports.PassCardBgLeftColorGrid=$b,exports.PassCardBgTwoCircle=hl,exports.PaymentPlan=jb,exports.PersonCard=l4,exports.PhonemeFilterPanel=m3,exports.PhonemeSelectBlock=d3,exports.Popup=Dn,exports.ProgressBar=I4,exports.ProgressIndicator=Gl,exports.PromoBanner=Gg,exports.PromoBannerBgDark=Ti,exports.PromoBannerBgDeep=Ai,exports.PromoBannerBgDiagonal=$i,exports.PromoBannerBgDots=Pi,exports.PromoBannerBgInstagram=qi,exports.PromoBannerBgMain=yi,exports.PromoBannerBgNaver=zi,exports.PromoBannerBgOutline=Fi,exports.PromoBannerBgRadial=Mi,exports.PromoBannerBgSoft=xi,exports.PromoBannerBgSoftSub=Ni,exports.PromoBannerBgSub=wi,exports.PromoBannerBgSuccess=Vi,exports.PromoBannerBgWarm=Si,exports.PublicationCard=u4,exports.Radio=wl,exports.RadioGroup=Fb,exports.Rating=Qb,exports.ReportDocument=E3,exports.ReportInfoPanel=T3,exports.RingChart=M4,exports.SENTENCE_TRAINING_TYPES=xo,exports.SearchSummary=Wb,exports.Section=na,exports.SectionHeader=p4,exports.SegmentedControl=Vn,exports.ShortcutBadge=_l,exports.SideNav=il,exports.Slider=zl,exports.SoundCompass=Rb,exports.SplashLogo=d4,exports.StatChart=L4,exports.SummaryStrip=D3,exports.TRAINING_TOOLTIP_HOVER_DELAY_MS=b3,exports.Table=lo,exports.TableFilterPanel=go,exports.Tabs=qb,exports.TextBoxTooltip=rr,exports.TextField=On,exports.Timeline=c4,exports.Toast=ea,exports.Toggle=El,exports.Toolbar=to,exports.Tooltip=An,exports.TooltipInfo=Bn,exports.TooltipTextBox=rr,exports.TopBanner=Kg,exports.TrainingBlock=ty,exports.TrainingBlockButton=uo,exports.TrainingCard=R3,exports.TrainingCardGroup=P3,exports.TrainingPagePopup=Tn,exports.TrainingPagePopupBottom=Yc,exports.TrainingPagePopupTitle=Zc,exports.TrainingResultPopup=iu,exports.TrainingStep=Hn,exports.TrainingStepAudioPlayer=So,exports.TrainingStepBullet=Oc,exports.TrainingStepCard=Wc,exports.TrainingStepConfirm=To,exports.TrainingStepConfirmWithText=jo,exports.TrainingStepListen=Mo,exports.TrainingStepOrderList=Lo,exports.TrainingStepTextBox=zc,exports.TrainingStepTitle=Hc,exports.TrainingTooltip=v3,exports.TrainingWordCard=ho,exports.UpdateAlert=$3,exports.WAVE_A_MAX=h5,exports.WAVE_H1_PX=Pc,exports.WAVE_HMAX_PX=m5,exports.WORD_TABLE_PAPER=aa,exports.WORD_TYPE_LABEL=ic,exports.WordDataProvider=N3,exports.WordDataUpdatePopup=Y3,exports.WordImageTooltip=uu,exports.WordSearchFilterPanel=p3,exports.WordSearchResultBlock=c3,exports.WordTable=ra,exports.WordTableBlock=H3,exports.WordTableButton=z3,exports.WordTablePopup=Ay,exports.WordTableThumbnail=hu,exports.buildMonthChartData=B4,exports.cellKey=My,exports.cellLabel=jy,exports.cellsForLabels=qy,exports.clearPassCardBgTheme=gn,exports.clearPromoBannerBgTheme=$t,exports.closeTrainingPopup=V5,exports.companyTypeLabel=A3,exports.createTrainingScenario=W5,exports.cx=Be,exports.deriveNoiseContexts=Z5,exports.derivePassCard=dl,exports.draftValues=Xy,exports.effectiveNoiseVolume=wo,exports.effectiveSpeechVolume=Lc,exports.expandSlashLabel=Co,exports.formatDuration=Uy,exports.getControlDateRange=j4,exports.getPayloadTimestamp=Po,exports.getPromoBannerBgTheme=qr,exports.getSelectedFromPayload=U5,exports.getSelectedText=G5,exports.getStepPayload=Qc,exports.getSteppedPayload=K5,exports.injectPassCardBgTheme=Cn,exports.injectPromoBannerBgTheme=Lt,exports.isSelectionCorrect=Y5,exports.labelOfCellKey=Ec,exports.labelsForSave=Ty,exports.levelToPct=r5,exports.markAfterClick=tc,exports.marksForSave=fo,exports.mergeNoiseSettings=Sa,exports.missesByType=Vy,exports.nextFocus=Py,exports.nextMisses=Oy,exports.noiseElementVolume=ko,exports.noiseRatioOf=Da,exports.pageStartIndexes=rc,exports.passCardBgIhabTheme=vl,exports.passCardBgLeftColorGridTheme=xl,exports.passCardBgTwoCircleTheme=ml,exports.pctToLevel=o5,exports.printWordTable=iy,exports.promoBannerBgDarkTheme=Ei,exports.promoBannerBgDeepTheme=ki,exports.promoBannerBgDiagonalTheme=Li,exports.promoBannerBgDotsTheme=Ri,exports.promoBannerBgInstagramTheme=Wi,exports.promoBannerBgMainTheme=bi,exports.promoBannerBgNaverTheme=Hi,exports.promoBannerBgOutlineTheme=Ii,exports.promoBannerBgRadialTheme=ji,exports.promoBannerBgSoftSubTheme=Bi,exports.promoBannerBgSoftTheme=vi,exports.promoBannerBgSubTheme=_i,exports.promoBannerBgSuccessTheme=Oi,exports.promoBannerBgWarmTheme=Di,exports.recommendTables=zy,exports.regenerateUnpinned=Zy,exports.removeItem=Yy,exports.resolveTrainingItems=z5,exports.resolveTrainingPopupMeta=Jc,exports.reviewCells=Ny,exports.reviewMeta=Ey,exports.reviewSetPlan=Hy,exports.reviewTableName=Sy,exports.scoreKey=er,exports.scoreSheetHeader=Ly,exports.shouldConfirmDiscard=sy,exports.splitTrainingVariants=H5,exports.summarize=oy,exports.summarizeMisses=Fy,exports.tableTrends=Ry,exports.toDraft=Gy,exports.toTrainingText=q5,exports.togglePin=Ky,exports.uncoveredLabels=Wy,exports.useAnchoredMenu=va,exports.useBarChartControl=$l,exports.useCalendarMonth=jl,exports.useComboboxSuggestions=Nl,exports.useFitScale=cc,exports.useNoisePlayer=nr,exports.useSoundCompassExam=Ug,exports.useToastLifecycle=ql,exports.useWordData=B3,exports.useWordTableDisplaySettings=Dc,exports.useWordTablePrint=vo,exports.waveBarPx=Ta,exports.waveBarVal=No,exports.weakItems=$y;