From 2329d36260c7bd570701e525d981214ba5c353b9 Mon Sep 17 00:00:00 2001 From: douboer Date: Wed, 11 Feb 2026 17:17:24 +0800 Subject: [PATCH] refresh gitignore --- .gitignore | 2 + __pycache__/pic2svg.cpython-312.pyc | Bin 12365 -> 0 bytes .../__pycache__/png_renderer.cpython-314.pyc | Bin 2885 -> 0 bytes .../__pycache__/renderer.cpython-312.pyc | Bin 10091 -> 0 bytes .../__pycache__/renderer.cpython-314.pyc | Bin 10691 -> 0 bytes .../dist/assets/_commonjsHelpers-DsqdWQfm.js | 1 - frontend/dist/assets/download-T9wchiI1.js | 2 - frontend/dist/assets/hb-C3piUv6a.js | 1 - frontend/dist/assets/hbjs-B2Ncxvef.js | 1 - frontend/dist/assets/index-CKp66E8b.js | 18 - frontend/dist/assets/index-DQpT4mud.css | 1 - frontend/dist/assets/jszip.min-CRv3yS3R.js | 2 - frontend/dist/assets/webicon-K25S575h.svg | 9 - frontend/dist/default.json | 11 - frontend/dist/favicon.png | Bin 60564 -> 0 bytes frontend/dist/favicon.svg | 9 - frontend/dist/favicon_new.png | Bin 33818 -> 0 bytes frontend/dist/fonts.json | 170 -- frontend/dist/index.html | 17 - miniprogram/assets/fonts.json | 2585 ----------------- scripts/font-id-state.json | 376 +++ scripts/generate-font-list.py | 222 +- 22 files changed, 590 insertions(+), 2837 deletions(-) delete mode 100644 __pycache__/pic2svg.cpython-312.pyc delete mode 100644 apiserver/__pycache__/png_renderer.cpython-314.pyc delete mode 100644 apiserver/__pycache__/renderer.cpython-312.pyc delete mode 100644 apiserver/__pycache__/renderer.cpython-314.pyc delete mode 100644 frontend/dist/assets/_commonjsHelpers-DsqdWQfm.js delete mode 100644 frontend/dist/assets/download-T9wchiI1.js delete mode 100644 frontend/dist/assets/hb-C3piUv6a.js delete mode 100644 frontend/dist/assets/hbjs-B2Ncxvef.js delete mode 100644 frontend/dist/assets/index-CKp66E8b.js delete mode 100644 frontend/dist/assets/index-DQpT4mud.css delete mode 100644 frontend/dist/assets/jszip.min-CRv3yS3R.js delete mode 100644 frontend/dist/assets/webicon-K25S575h.svg delete mode 100644 frontend/dist/default.json delete mode 100644 frontend/dist/favicon.png delete mode 100644 frontend/dist/favicon.svg delete mode 100644 frontend/dist/favicon_new.png delete mode 100644 frontend/dist/fonts.json delete mode 100644 frontend/dist/index.html delete mode 100644 miniprogram/assets/fonts.json create mode 100644 scripts/font-id-state.json diff --git a/.gitignore b/.gitignore index c77c78f..165fa27 100644 --- a/.gitignore +++ b/.gitignore @@ -24,7 +24,9 @@ node_modules *.ttf frontend/vite.config.ts +frontend/dist/fonts.json frontend/public/fonts.json +miniprogram/assets/fonts.json # secrets .env diff --git a/__pycache__/pic2svg.cpython-312.pyc b/__pycache__/pic2svg.cpython-312.pyc deleted file mode 100644 index 1f2da467616341187e541596999da542a86d6a9d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12365 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 diff --git a/apiserver/__pycache__/png_renderer.cpython-314.pyc b/apiserver/__pycache__/png_renderer.cpython-314.pyc deleted file mode 100644 index 3c3b1563842d5637f92a5874c2ce0feb13aef25d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2885 zcmbUjZA={3@$G%?eZn4KjL#p7iNO#KLTusGc8qI2Y;1{KwuB$)h4bZZ;Wj?-4sB0LB>Uj}E3~$%s{PY>ySE3X zDU~|9eQ(~(yqS6P=FQyWexDlwTzGeqyX-*dE?$^mDIpKq0LdZ-$!HicL_Z-D`fQOc zjHMRIR>nG9-A*vJT9mTLHil?G&GyU>VAJySn}uIoUHSAgIy`WkUY`H`^5qNP-MV-` zd$IWCYqXS%i2_}idzJpt&~dtWd-mS^O)Pjf`}2Xg=>(qb@LAz|@CpoB6oJuzu<4>n zfH{n%H^Bec;oKk&%Lr-G_7euip#3Fla6Dq%C!HCM%IT=UkG8!eHQO~yTGDJnOipUH zm(m=sITM`7$HrKVj7CSe6dR3xj2>WBT6_C*5-UpWqp>p_-#(J&=?=8Z~mkrU)7Rxf%$hYLRGF&MHa@A18LVDi9QhbIqDTP{1_cV4b| zzhahDw|2~Rsh)1d)-7UbtwQF;*mOpYN^CsMC!{!zCxPcAJaPxoC7zg8Fya!4(V6*HO+>CF~jq6{+$o~dY8{;?Q2U%FA4!YOfS*4L# zOvU&6{%9tHOpB>|Z5BL(o^qyc^q_LhgF#ONqEQ6DeH|Pq5x~|3*P3sP%ak8oWaB@{?0Li@R{PzpH;SL#D4d@tT%Rod<~%(BG^o@Anp0$jR4mRm6Pg25 zrA29cTX&4-(=t86@dKje|5VjL{q~$+1*Q564;qEX@3__=n%Z{`=W%;kBD9SAKSo z&g=#&-y>4|@>hjRA3{it@HTJJtdcBhb{IH8a}UK*8MYUnLGKD8F3BQPaHKgn2{#>$ z>Vt70E%&7}d_tGhtYfirFhGm4a=fhBMaU8uGosEHaZS}63Fs}*ws2B3do@z;k?c7zqF=D)Fs@gGqy%B3 zse#GZ2pcs7JUVVjY1a5yLUYB_V?v6RS#VLmEyI!v_sADtmcdV~tg*52F}egIZXH^c z(Liy3j*f`wu_*W=b^r%A5$QIxp)C5wQ#HMB>fEKLbHTR7U|TNu#8<&5^8T$#-Q%ji zRUupN`RZOD&i0ut_Q>Rssm7eA{wq&?-oH!PeRN^V0;$mbs{f=yp1em@zy0jAb*g8k zVTPUUo!fJxWv*quLv4LJ*LqB8J+?rpjos?*9(8N4O7&$=<^wfv$EK^M250uoWM-e6 z>%4Jj?$G?RYN#t0>QO>H3ms}xuiDV3)*V*^C$gtj9mrL&MEaLVDo=VQPQDI{0LD(K zIk4odz&4T>Lb*WWVxaNLSvAm}uiEim*E?OMX{owl zDNy^+=d5v0xK_6ylFB)Qi_YNGPrr83OVqX;Rli8p=cv7l)ZS~g^K}ZfSEaghRR1E? zuTrNb97~?2Yn@+vI`V;?%C4vyIIVb3=l$EJI&;B@0>7r-1uob3{9@npO7D-AJrULa zfQ^0^6q$u2z(gKJ*N7*@6;&d zz`s_lnD|c#_vJs;{IK$PC;D@z=S0AIhwz^8S?~DlfJ5DIMx%*zJQ_9L1P#*06TvAU z;y-u#zak@7$iv2)KO*h}2L6X4;o=OY2;#2}L>wjVBG+FK^*0AW^bo6L3sJLh?C%IB HUCF-z7|flc diff --git a/apiserver/__pycache__/renderer.cpython-312.pyc b/apiserver/__pycache__/renderer.cpython-312.pyc deleted file mode 100644 index cf8a5cc4cbf2ae420754041a8b6d8c1c0f42aabc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10091 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 diff --git a/apiserver/__pycache__/renderer.cpython-314.pyc b/apiserver/__pycache__/renderer.cpython-314.pyc deleted file mode 100644 index 697e73ba3efb4e1f3f2fe0a6dac3cfa070249dd3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10691 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 diff --git a/frontend/dist/assets/_commonjsHelpers-DsqdWQfm.js b/frontend/dist/assets/_commonjsHelpers-DsqdWQfm.js deleted file mode 100644 index b5b420d..0000000 --- a/frontend/dist/assets/_commonjsHelpers-DsqdWQfm.js +++ /dev/null @@ -1 +0,0 @@ -var u=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function a(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function f(e){if(Object.prototype.hasOwnProperty.call(e,"__esModule"))return e;var n=e.default;if(typeof n=="function"){var t=function r(){var o=!1;try{o=this instanceof r}catch{}return o?Reflect.construct(n,arguments,this.constructor):n.apply(this,arguments)};t.prototype=n.prototype}else t={};return Object.defineProperty(t,"__esModule",{value:!0}),Object.keys(e).forEach(function(r){var o=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,o.get?o:{enumerable:!0,get:function(){return e[r]}})}),t}export{a,u as c,f as g}; diff --git a/frontend/dist/assets/download-T9wchiI1.js b/frontend/dist/assets/download-T9wchiI1.js deleted file mode 100644 index d6554cb..0000000 --- a/frontend/dist/assets/download-T9wchiI1.js +++ /dev/null @@ -1,2 +0,0 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/jszip.min-CRv3yS3R.js","assets/_commonjsHelpers-DsqdWQfm.js"])))=>i.map(i=>d[i]); -import{_ as v}from"./index-CKp66E8b.js";function p(t,e,n="text/plain"){const o=new Blob([t],{type:n});s(o,e)}function s(t,e){const n=URL.createObjectURL(t),o=document.createElement("a");o.href=n,o.download=e,document.body.appendChild(o),o.click(),document.body.removeChild(o),URL.revokeObjectURL(n)}function P(t,e){p(t,e,"image/svg+xml")}async function F(t,e="font2svg-export.zip"){const n=(await v(async()=>{const{default:r}=await import("./jszip.min-CRv3yS3R.js").then(i=>i.j);return{default:r}},__vite__mapDeps([0,1]))).default,o=new n;for(const r of t)o.file(r.name,r.content);const a=await o.generateAsync({type:"blob"});s(a,e)}function d(t){if(!t)return null;const e=t.match(/-?\d+(\.\d+)?/);if(!e)return null;const n=Number(e[0]);return Number.isFinite(n)?n:null}function x(t){const n=new DOMParser().parseFromString(t,"image/svg+xml").documentElement,o=d(n.getAttribute("width")),a=d(n.getAttribute("height"));if(o&&a)return{width:o,height:a};const r=n.getAttribute("viewBox");if(r){const i=r.trim().split(/[\s,]+/).map(Number);if(i.length===4&&Number.isFinite(i[2])&&Number.isFinite(i[3]))return{width:Math.max(1,i[2]),height:Math.max(1,i[3])}}return{width:1024,height:1024}}async function _(t,e){const n=x(t),o=e?.scale??1,a=Math.max(1,Math.round((e?.width??n.width)*o)),r=Math.max(1,Math.round((e?.height??n.height)*o)),i=document.createElement("canvas");i.width=a,i.height=r;const l=i.getContext("2d");if(!l)throw new Error("无法创建 PNG 画布");e?.backgroundColor?(l.fillStyle=e.backgroundColor,l.fillRect(0,0,a,r)):l.clearRect(0,0,a,r);const f=new Blob([t],{type:"image/svg+xml;charset=utf-8"}),u=URL.createObjectURL(f);try{const c=new Image;await new Promise((w,b)=>{c.onload=()=>w(),c.onerror=()=>b(new Error("SVG 转 PNG 失败")),c.src=u}),l.drawImage(c,0,0,a,r)}finally{URL.revokeObjectURL(u)}const g=await new Promise(c=>{i.toBlob(c,"image/png")});if(!g)throw new Error("PNG 编码失败");return g}async function R(t,e,n){const o=await _(t,n);s(o,e)}function m(t){return t.replace(/[<>:"/\\|?*\x00-\x1F]/g,"_").replace(/\s+/g,"_").substring(0,200)}function h(t,e){const n=m(Array.from(t).slice(0,8).join(""));return`${m(e.substring(0,20))}_${n}`}function B(t,e){return`${h(t,e)}.svg`}function L(t,e){return`${h(t,e)}.png`}export{_ as convertSvgToPngBlob,s as downloadBlob,F as downloadMultipleFiles,R as downloadPngFromSvg,P as downloadSvg,p as downloadText,L as generatePngFilename,B as generateSvgFilename,m as sanitizeFilename}; diff --git a/frontend/dist/assets/hb-C3piUv6a.js b/frontend/dist/assets/hb-C3piUv6a.js deleted file mode 100644 index b1a54a9..0000000 --- a/frontend/dist/assets/hb-C3piUv6a.js +++ /dev/null @@ -1 +0,0 @@ -import{g as Ze,a as we}from"./_commonjsHelpers-DsqdWQfm.js";function xe(b,k){for(var l=0;li[o]})}}}return Object.freeze(Object.defineProperty(b,Symbol.toStringTag,{value:"Module"}))}var H={exports:{}};const Ee={},e_=Object.freeze(Object.defineProperty({__proto__:null,default:Ee},Symbol.toStringTag,{value:"Module"})),__=Ze(e_);var ie;function t_(){return ie||(ie=1,(function(b,k){var l=(()=>{var i=typeof document<"u"?document.currentScript?.src:void 0;return async function(o={}){var c,_=o,oe=typeof window=="object",P=typeof WorkerGlobalScope<"u",$=typeof process=="object"&&process.versions?.node&&process.type!="renderer",M=(e,t)=>{throw t};typeof __filename<"u"?i=__filename:P&&(i=self.location.href);var R="";function ce(e){return _.locateFile?_.locateFile(e,R):R+e}var W,A;if($){var z=__;R=__dirname+"/",A=e=>{e=S(e)?new URL(e):e;var t=z.readFileSync(e);return t},W=async(e,t=!0)=>{e=S(e)?new URL(e):e;var n=z.readFileSync(e,t?void 0:"utf8");return n},process.argv.length>1&&process.argv[1].replace(/\\/g,"/"),process.argv.slice(2),M=(e,t)=>{throw process.exitCode=e,t}}else if(oe||P){try{R=new URL(".",i).href}catch{}P&&(A=e=>{var t=new XMLHttpRequest;return t.open("GET",e,!1),t.responseType="arraybuffer",t.send(null),new Uint8Array(t.response)}),W=async e=>{if(S(e))return new Promise((n,a)=>{var r=new XMLHttpRequest;r.open("GET",e,!0),r.responseType="arraybuffer",r.onload=()=>{if(r.status==200||r.status==0&&r.response){n(r.response);return}a(r.status)},r.onerror=a,r.send(null)});var t=await fetch(e,{credentials:"same-origin"});if(t.ok)return t.arrayBuffer();throw new Error(t.status+" : "+t.url)}}console.log.bind(console);var y=console.error.bind(console),v,T=!1,I,S=e=>e.startsWith("file://"),D,L,g,C,q=!1;function V(){var e=g.buffer;_.HEAP8=new Int8Array(e),_.HEAPU8=C=new Uint8Array(e),_.HEAPU16=new Uint16Array(e),_.HEAP32=new Int32Array(e),_.HEAPU32=new Uint32Array(e),_.HEAPF32=new Float32Array(e),new BigInt64Array(e),new BigUint64Array(e)}function se(){if(_.preRun)for(typeof _.preRun=="function"&&(_.preRun=[_.preRun]);_.preRun.length;)Ie(_.preRun.shift());K(Q)}function he(){q=!0,u.__wasm_call_ctors()}function be(){if(_.postRun)for(typeof _.postRun=="function"&&(_.postRun=[_.postRun]);_.postRun.length;)Te(_.postRun.shift());K(G)}var s=0,d=null;function le(e){s++,_.monitorRunDependencies?.(s)}function ge(e){if(s--,_.monitorRunDependencies?.(s),s==0&&d){var t=d;d=null,t()}}function X(e){_.onAbort?.(e),e="Aborted("+e+")",y(e),T=!0,e+=". Build with -sASSERTIONS for more info.";var t=new WebAssembly.RuntimeError(e);throw L?.(t),t}var B;function ye(){return ce("hb.wasm")}function ve(e){if(e==B&&v)return new Uint8Array(v);if(A)return A(e);throw"both async and sync fetching of the wasm failed"}async function de(e){if(!v)try{var t=await W(e);return new Uint8Array(t)}catch{}return ve(e)}async function pe(e,t){try{var n=await de(e),a=await WebAssembly.instantiate(n,t);return a}catch(r){y(`failed to asynchronously prepare wasm: ${r}`),X(r)}}async function me(e,t,n){if(!e&&!S(t)&&!$)try{var a=fetch(t,{credentials:"same-origin"}),r=await WebAssembly.instantiateStreaming(a,n);return r}catch(f){y(`wasm streaming compile failed: ${f}`),y("falling back to ArrayBuffer instantiation")}return pe(t,n)}function Re(){return{env:fe,wasi_snapshot_preview1:fe}}async function Ae(){function e(f,N){return u=f.exports,_.wasmExports=u,g=u.memory,_.wasmMemory=g,V(),m=u.__indirect_function_table,Ge(u),ge(),u}le();function t(f){return e(f.instance)}var n=Re();if(_.instantiateWasm)return new Promise((f,N)=>{_.instantiateWasm(n,(Ye,r_)=>{f(e(Ye))})});B??=ye();var a=await me(v,B,n),r=t(a);return r}class J{name="ExitStatus";constructor(t){this.message=`Program terminated with exit(${t})`,this.status=t}}var K=e=>{for(;e.length>0;)e.shift()(_)},G=[],Te=e=>G.push(e),Q=[],Ie=e=>Q.push(e),U=!0,Se=e=>ne(e),ke=()=>ae(),Pe=()=>X(""),Y=0,Me=()=>{U=!1,Y=0},p={},Z=e=>{if(e instanceof J||e=="unwind")return I;M(1,e)},w=()=>U||Y>0,x=e=>{I=e,w()||(_.onExit?.(e),T=!0),M(e,new J(e))},We=(e,t)=>{I=e,x(e)},Be=We,Ue=()=>{if(!w())try{Be(I)}catch(e){Z(e)}},Oe=e=>{if(!T)try{e(),Ue()}catch(t){Z(t)}},je=()=>performance.now(),Fe=(e,t)=>{if(p[e]&&(clearTimeout(p[e].id),delete p[e]),!t)return 0;var n=setTimeout(()=>{delete p[e],Oe(()=>te(e,je()))},t);return p[e]={id:n,timeout_ms:t},0},Ne=()=>2147483648,He=(e,t)=>Math.ceil(e/t)*t,$e=e=>{var t=g.buffer.byteLength,n=(e-t+65535)/65536|0;try{return g.grow(n),V(),1}catch{}},ze=e=>{var t=C.length;e>>>=0;var n=Ne();if(e>n)return!1;for(var a=1;a<=4;a*=2){var r=t*(1+.2/a);r=Math.min(r,e+100663296);var f=Math.min(n,He(Math.max(e,r),65536)),N=$e(f);if(N)return!0}return!1},E=e=>{const t=e.length;return[t%128|128,t>>7,...e]},De={i:127,p:127,j:126,f:125,d:124,e:111},ee=e=>E(Array.from(e,t=>{var n=De[t];return n})),Le=(e,t)=>{var n=Uint8Array.of(0,97,115,109,1,0,0,0,1,...E([1,96,...ee(t.slice(1)),...ee(t[0]==="v"?"":t[0])]),2,7,1,1,101,1,102,0,0,7,5,1,1,102,0,0),a=new WebAssembly.Module(n),r=new WebAssembly.Instance(a,{e:{f:e}}),f=r.exports.f;return f},m,_e=e=>m.get(e),Ce=(e,t)=>{if(h)for(var n=e;n(h||(h=new WeakMap,Ce(0,m.length)),h.get(e)||0),O=[],Ve=()=>O.length?O.pop():m.grow(1),j=(e,t)=>m.set(e,t),Xe=(e,t)=>{var n=qe(e);if(n)return n;var a=Ve();try{j(a,e)}catch(f){if(!(f instanceof TypeError))throw f;var r=Le(e,t);j(a,r)}return h.set(e,a),a},Je=e=>{h.delete(_e(e)),j(e,null),O.push(e)},Ke=e=>re(e);_.noExitRuntime&&(U=_.noExitRuntime),_.print&&_.print,_.printErr&&(y=_.printErr),_.wasmBinary&&(v=_.wasmBinary),_.arguments&&_.arguments,_.thisProgram&&_.thisProgram,_.wasmMemory=g,_.wasmExports=u,_.stackSave=ke,_.stackRestore=Se,_.stackAlloc=Ke,_.addFunction=Xe,_.removeFunction=Je;var te,ne,re,ae;function Ge(e){_._hb_blob_create=e.hb_blob_create,_._hb_blob_destroy=e.hb_blob_destroy,_._hb_blob_get_length=e.hb_blob_get_length,_._hb_blob_get_data=e.hb_blob_get_data,_._hb_buffer_serialize=e.hb_buffer_serialize,_._hb_buffer_create=e.hb_buffer_create,_._hb_buffer_reset=e.hb_buffer_reset,_._hb_buffer_reference=e.hb_buffer_reference,_._hb_buffer_destroy=e.hb_buffer_destroy,_._hb_buffer_get_content_type=e.hb_buffer_get_content_type,_._hb_buffer_set_direction=e.hb_buffer_set_direction,_._hb_buffer_set_script=e.hb_buffer_set_script,_._hb_buffer_set_language=e.hb_buffer_set_language,_._hb_buffer_set_flags=e.hb_buffer_set_flags,_._hb_buffer_set_cluster_level=e.hb_buffer_set_cluster_level,_._hb_buffer_clear_contents=e.hb_buffer_clear_contents,_._hb_buffer_get_length=e.hb_buffer_get_length,_._hb_buffer_get_glyph_infos=e.hb_buffer_get_glyph_infos,_._hb_buffer_get_glyph_positions=e.hb_buffer_get_glyph_positions,_._hb_glyph_info_get_glyph_flags=e.hb_glyph_info_get_glyph_flags,_._hb_buffer_guess_segment_properties=e.hb_buffer_guess_segment_properties,_._hb_buffer_add_utf8=e.hb_buffer_add_utf8,_._hb_buffer_add_utf16=e.hb_buffer_add_utf16,_._hb_buffer_add_codepoints=e.hb_buffer_add_codepoints,_._hb_buffer_set_message_func=e.hb_buffer_set_message_func,_._hb_language_from_string=e.hb_language_from_string,_._hb_language_to_string=e.hb_language_to_string,_._hb_script_from_string=e.hb_script_from_string,_._hb_version=e.hb_version,_._hb_version_string=e.hb_version_string,_._hb_feature_from_string=e.hb_feature_from_string,_._malloc=e.malloc,_._free=e.free,_._hb_draw_funcs_set_move_to_func=e.hb_draw_funcs_set_move_to_func,_._hb_draw_funcs_set_line_to_func=e.hb_draw_funcs_set_line_to_func,_._hb_draw_funcs_set_quadratic_to_func=e.hb_draw_funcs_set_quadratic_to_func,_._hb_draw_funcs_set_cubic_to_func=e.hb_draw_funcs_set_cubic_to_func,_._hb_draw_funcs_set_close_path_func=e.hb_draw_funcs_set_close_path_func,_._hb_draw_funcs_create=e.hb_draw_funcs_create,_._hb_draw_funcs_destroy=e.hb_draw_funcs_destroy,_._hb_face_create=e.hb_face_create,_._hb_face_destroy=e.hb_face_destroy,_._hb_face_reference_table=e.hb_face_reference_table,_._hb_face_get_upem=e.hb_face_get_upem,_._hb_face_collect_unicodes=e.hb_face_collect_unicodes,_._hb_font_funcs_create=e.hb_font_funcs_create,_._hb_font_funcs_destroy=e.hb_font_funcs_destroy,_._hb_font_funcs_set_font_h_extents_func=e.hb_font_funcs_set_font_h_extents_func,_._hb_font_funcs_set_font_v_extents_func=e.hb_font_funcs_set_font_v_extents_func,_._hb_font_funcs_set_nominal_glyph_func=e.hb_font_funcs_set_nominal_glyph_func,_._hb_font_funcs_set_nominal_glyphs_func=e.hb_font_funcs_set_nominal_glyphs_func,_._hb_font_funcs_set_variation_glyph_func=e.hb_font_funcs_set_variation_glyph_func,_._hb_font_funcs_set_glyph_h_advance_func=e.hb_font_funcs_set_glyph_h_advance_func,_._hb_font_funcs_set_glyph_v_advance_func=e.hb_font_funcs_set_glyph_v_advance_func,_._hb_font_funcs_set_glyph_h_advances_func=e.hb_font_funcs_set_glyph_h_advances_func,_._hb_font_funcs_set_glyph_v_advances_func=e.hb_font_funcs_set_glyph_v_advances_func,_._hb_font_funcs_set_glyph_h_origin_func=e.hb_font_funcs_set_glyph_h_origin_func,_._hb_font_funcs_set_glyph_v_origin_func=e.hb_font_funcs_set_glyph_v_origin_func,_._hb_font_funcs_set_glyph_h_kerning_func=e.hb_font_funcs_set_glyph_h_kerning_func,_._hb_font_funcs_set_glyph_extents_func=e.hb_font_funcs_set_glyph_extents_func,_._hb_font_funcs_set_glyph_name_func=e.hb_font_funcs_set_glyph_name_func,_._hb_font_funcs_set_glyph_from_name_func=e.hb_font_funcs_set_glyph_from_name_func,_._hb_font_get_h_extents=e.hb_font_get_h_extents,_._hb_font_get_v_extents=e.hb_font_get_v_extents,_._hb_font_get_glyph_h_advance=e.hb_font_get_glyph_h_advance,_._hb_font_get_glyph_v_advance=e.hb_font_get_glyph_v_advance,_._hb_font_get_glyph_h_origin=e.hb_font_get_glyph_h_origin,_._hb_font_get_glyph_v_origin=e.hb_font_get_glyph_v_origin,_._hb_font_get_glyph_extents=e.hb_font_get_glyph_extents,_._hb_font_get_glyph_from_name=e.hb_font_get_glyph_from_name,_._hb_font_draw_glyph=e.hb_font_draw_glyph,_._hb_font_glyph_to_string=e.hb_font_glyph_to_string,_._hb_font_create=e.hb_font_create,_._hb_font_set_variations=e.hb_font_set_variations,_._hb_font_create_sub_font=e.hb_font_create_sub_font,_._hb_font_reference=e.hb_font_reference,_._hb_font_destroy=e.hb_font_destroy,_._hb_font_set_funcs=e.hb_font_set_funcs,_._hb_font_set_scale=e.hb_font_set_scale,_._hb_ot_layout_table_get_script_tags=e.hb_ot_layout_table_get_script_tags,_._hb_ot_layout_table_get_feature_tags=e.hb_ot_layout_table_get_feature_tags,_._hb_ot_layout_script_get_language_tags=e.hb_ot_layout_script_get_language_tags,_._hb_ot_layout_language_get_feature_tags=e.hb_ot_layout_language_get_feature_tags,_._hb_ot_layout_feature_get_name_ids=e.hb_ot_layout_feature_get_name_ids,_._hb_ot_name_list_names=e.hb_ot_name_list_names,_._hb_ot_name_get_utf16=e.hb_ot_name_get_utf16,_._hb_set_create=e.hb_set_create,_._hb_set_destroy=e.hb_set_destroy,_._hb_ot_tag_to_script=e.hb_ot_tag_to_script,_._hb_ot_tag_to_language=e.hb_ot_tag_to_language,_._hb_ot_var_get_axis_infos=e.hb_ot_var_get_axis_infos,_._hb_set_get_population=e.hb_set_get_population,_._hb_set_next_many=e.hb_set_next_many,_._hb_shape=e.hb_shape,te=e._emscripten_timeout,ne=e._emscripten_stack_restore,re=e._emscripten_stack_alloc,ae=e.emscripten_stack_get_current}var fe={_abort_js:Pe,_emscripten_runtime_keepalive_clear:Me,_setitimer_js:Fe,emscripten_resize_heap:ze,proc_exit:x},u=await Ae();function F(){if(s>0){d=F;return}if(se(),s>0){d=F;return}function e(){_.calledRun=!0,!T&&(he(),D?.(_),_.onRuntimeInitialized?.(),be())}_.setStatus?(_.setStatus("Running..."),setTimeout(()=>{setTimeout(()=>_.setStatus(""),1),e()},1)):e()}function Qe(){if(_.preInit)for(typeof _.preInit=="function"&&(_.preInit=[_.preInit]);_.preInit.length>0;)_.preInit.shift()()}return Qe(),F(),q?c=_:c=new Promise((e,t)=>{D=e,L=t}),c}})();b.exports=l,b.exports.default=l})(H)),H.exports}var ue=t_();const n_=we(ue),f_=xe({__proto__:null,default:n_},[ue]);export{f_ as h}; diff --git a/frontend/dist/assets/hbjs-B2Ncxvef.js b/frontend/dist/assets/hbjs-B2Ncxvef.js deleted file mode 100644 index ba5753a..0000000 --- a/frontend/dist/assets/hbjs-B2Ncxvef.js +++ /dev/null @@ -1 +0,0 @@ -import{a as Pt}from"./_commonjsHelpers-DsqdWQfm.js";function Et(G,_){for(var r=0;r<_.length;r++){const U=_[r];if(typeof U!="string"&&!Array.isArray(U)){for(const F in U)if(F!=="default"&&!(F in G)){const P=Object.getOwnPropertyDescriptor(U,F);P&&Object.defineProperty(G,F,P.get?P:{enumerable:!0,get:()=>U[F]})}}}return Object.freeze(Object.defineProperty(G,Symbol.toStringTag,{value:"Module"}))}var V={exports:{}},q;function At(){if(q)return V.exports;q=1;function G(_){var r=_.wasmExports,U=new TextDecoder("utf8"),F=new TextEncoder("utf8");let P=_.addFunction,D=_.removeFunction,A=_.stackSave,y=_.stackRestore,b=_.stackAlloc;var Q=P(function(s){r.free(s)},"vi");const k=0,X=1,K=2,d=128,M=2,tt=-1,$=65535,rt={0:"INVALID",1:"UNICODE",2:"GLYPHS"},nt={DEFAULT:0,NO_CLUSTERS:1,NO_POSITIONS:2,NO_GLYPH_NAMES:4,GLYPH_EXTENTS:8,GLYPH_FLAGS:16,NO_ADVANCES:32},et={DEFAULT:0,BOT:1,EOT:2,PRESERVE_DEFAULT_IGNORABLES:4,REMOVE_DEFAULT_IGNORABLES:8,DO_NOT_INSERT_DOTTED_CIRCLE:16,VERIFY:32,PRODUCE_UNSAFE_TO_CONCAT:64,PRODUCE_SAFE_TO_INSERT_TATWEEL:128};function H(s){return(s.charCodeAt(0)&255)<<24|(s.charCodeAt(1)&255)<<16|(s.charCodeAt(2)&255)<<8|(s.charCodeAt(3)&255)<<0}function C(s){return[String.fromCharCode(s>>24&255),String.fromCharCode(s>>16&255),String.fromCharCode(s>>8&255),String.fromCharCode(s>>0&255)].join("")}function L(s,n){let t;return n===void 0?t=_.HEAPU8.indexOf(0,s):t=s+n,U.decode(_.HEAPU8.subarray(s,t))}function at(s,n){let t=s/2+n;return String.fromCharCode.apply(null,_.HEAPU16.subarray(s/2,t))}function R(s){const n=r.malloc(s.length+1);for(let t=0;t127)throw new Error("Expected ASCII text");_.HEAPU8[n+t]=e}return _.HEAPU8[n+s.length]=0,{ptr:n,length:s.length,free:function(){r.free(n)}}}function _t(s){const n=r.malloc(s.length);return F.encodeInto(s,_.HEAPU8.subarray(n,n+s.length)),{ptr:n,length:s.length,free:function(){r.free(n)}}}function ft(s){const n=r.malloc(s.length*2),t=new Uint16Array(_.wasmMemory.buffer,n,s.length);for(let e=0;e>2,f=_.HEAPU32.subarray(e,e+n);return _.HEAPU32.set(f,e),r.hb_set_next_many(s,tt,t,n),f}function it(s,n){var t=r.hb_face_create(s.ptr,n);const e=r.hb_face_get_upem(t);return{ptr:t,upem:e,reference_table:function(f){var a=r.hb_face_reference_table(t,H(f)),u=r.hb_blob_get_length(a);if(u){var c=r.hb_blob_get_data(a,null),i=_.HEAPU8.subarray(c,c+u);return i}},getAxisInfos:function(){var f=A(),a=b(2048),u=b(4);_.HEAPU32[u/4]=64,r.hb_ot_var_get_axis_infos(t,0,u,a);var c={};return Array.from({length:_.HEAPU32[u/4]}).forEach(function(i,o){c[C(_.HEAPU32[a/4+o*8+1])]={min:_.HEAPF32[a/4+o*8+4],default:_.HEAPF32[a/4+o*8+5],max:_.HEAPF32[a/4+o*8+6]}}),y(f),c},collectUnicodes:function(){var f=r.hb_set_create();r.hb_face_collect_unicodes(t,f);var a=ot(f);return r.hb_set_destroy(f),a},getTableScriptTags:function(f){for(var a=A(),u=H(f),c=0,i=d,o=b(4),h=b(d*4),l=[];i==d;){_.HEAPU32[o/4]=i,r.hb_ot_layout_table_get_script_tags(t,u,c,o,h),i=_.HEAPU32[o/4];var g=_.HEAPU32.subarray(h/4,h/4+i);l.push(...Array.from(g).map(C)),c+=i}return y(a),l},getTableFeatureTags:function(f){for(var a=A(),u=H(f),c=0,i=d,o=b(4),h=b(d*4),l=[];i==d;){_.HEAPU32[o/4]=i,r.hb_ot_layout_table_get_feature_tags(t,u,c,o,h),i=_.HEAPU32[o/4];var g=_.HEAPU32.subarray(h/4,h/4+i);l.push(...Array.from(g).map(C)),c+=i}return y(a),l},getScriptLanguageTags:function(f,a){for(var u=A(),c=H(f),i=0,o=d,h=b(4),l=b(d*4),g=[];o==d;){_.HEAPU32[h/4]=o,r.hb_ot_layout_script_get_language_tags(t,c,a,i,h,l),o=_.HEAPU32[h/4];var p=_.HEAPU32.subarray(l/4,l/4+o);g.push(...Array.from(p).map(C)),i+=o}return y(u),g},getLanguageFeatureTags:function(f,a,u){for(var c=A(),i=H(f),o=0,h=d,l=b(4),g=b(d*4),p=[];h==d;){_.HEAPU32[l/4]=h,r.hb_ot_layout_language_get_feature_tags(t,i,a,u,o,l,g),h=_.HEAPU32[l/4];var v=_.HEAPU32.subarray(g/4,g/4+h);p.push(...Array.from(v).map(C)),o+=h}return y(c),p},listNames:function(){for(var f=A(),a=b(4),u=r.hb_ot_name_list_names(t,a),c=_.HEAPU32[a/4],i=[],o=0;ow+O);v={uiLabelNameId:E==$?null:E,uiTooltipTextNameId:B==$?null:B,sampleTextNameId:N==$?null:N,paramUiLabelNameIds:T}}return y(u),v},destroy:function(){r.hb_face_destroy(t)}}}var S="";function m(s,t){var t=t?r.hb_font_reference(t):r.hb_font_create(s.ptr),e=null,f=null,a=null,u=null,c=null,i=null;function o(l){if(!e){var g=function(N,I,w,T,x,O){S+=`M${T},${x}`},p=function(N,I,w,T,x,O){S+=`L${T},${x}`},v=function(N,I,w,T,x,O,j,J,bt,mt){S+=`C${T},${x} ${O},${j} ${J},${bt}`},E=function(N,I,w,T,x,O,j,J){S+=`Q${T},${x} ${O},${j}`},B=function(N,I,w,T){S+="Z"};f=P(g,"viiiffi"),a=P(p,"viiiffi"),u=P(v,"viiiffffffi"),c=P(E,"viiiffffi"),i=P(B,"viiii"),e=r.hb_draw_funcs_create(),r.hb_draw_funcs_set_move_to_func(e,f,0,0),r.hb_draw_funcs_set_line_to_func(e,a,0,0),r.hb_draw_funcs_set_cubic_to_func(e,u,0,0),r.hb_draw_funcs_set_quadratic_to_func(e,c,0,0),r.hb_draw_funcs_set_close_path_func(e,i,0,0)}return S="",r.hb_font_draw_glyph(t,l,e,0),S}function h(l){var g=A(),p=256,v=b(p);r.hb_font_glyph_to_string(t,l,v,p);var E=L(v);return y(g),E}return{ptr:t,subFont:function(){return m(null,r.hb_font_create_sub_font(t))},hExtents:function(){var l=A(),g=b(12);r.hb_font_get_h_extents(t,g);var p={ascender:_.HEAP32[g/4],descender:_.HEAP32[g/4+1],lineGap:_.HEAP32[g/4+2]};return y(l),p},vExtents:function(){var l=A(),g=b(12);r.hb_font_get_v_extents(t,g);var p={ascender:_.HEAP32[g/4],descender:_.HEAP32[g/4+1],lineGap:_.HEAP32[g/4+2]};return y(l),p},glyphName:h,glyphToPath:o,glyphHAdvance:function(l){return r.hb_font_get_glyph_h_advance(t,l)},glyphVAdvance:function(l){return r.hb_font_get_glyph_v_advance(t,l)},glyphHOrigin:function(l){var g=A();let p=b(4),v=b(4),E=null;return r.hb_font_get_glyph_h_origin(t,l,p,v)&&(E=[_.HEAP32[p/4],_.HEAP32[v/4]]),y(g),E},glyphVOrigin:function(l){var g=A();let p=b(4),v=b(4),E=null;return r.hb_font_get_glyph_v_origin(t,l,p,v)&&(E=[_.HEAP32[p/4],_.HEAP32[v/4]]),y(g),E},glyphExtents:function(l){var g=A(),p=b(16),v=null;return r.hb_font_get_glyph_extents(t,l,p)&&(v={xBearing:_.HEAP32[p/4],yBearing:_.HEAP32[p/4+1],width:_.HEAP32[p/4+2],height:_.HEAP32[p/4+3]}),y(g),v},glyphFromName:function(l){var g=A(),p=b(4),v=_t(l),E=null;return r.hb_font_get_glyph_from_name(t,v.ptr,v.length,p)&&(E=_.HEAPU32[p/4]),v.free(),y(g),E},glyphToJson:function(l){var g=o(l);return g.replace(/([MLQCZ])/g,"|$1 ").split("|").filter(function(p){return p.length}).map(function(p){var v=p.split(/[ ,]/g);return{type:v[0],values:v.slice(1).filter(function(E){return E.length}).map(function(E){return+E})}})},setScale:function(l,g){r.hb_font_set_scale(t,l,g)},setVariations:function(l){var g=Object.entries(l),p=r.malloc(8*g.length);g.forEach(function(v,E){_.HEAPU32[p/4+E*2+0]=H(v[0]),_.HEAPF32[p/4+E*2+1]=v[1]}),r.hb_font_set_variations(t,p,g.length),r.free(p)},setFuncs:function(l){r.hb_font_set_funcs(t,l.ptr)},destroy:function(){r.hb_font_destroy(t),e&&(r.hb_draw_funcs_destroy(e),e=null,D(f),D(a),D(u),D(c),D(i))}}}function ct(){var s=r.hb_font_funcs_create();return{ptr:s,setGlyphExtentsFunc:function(n){let t=P(function(e,f,a,u,c){let i=m(null,e),o=n(i,a);return i.destroy(),o?(_.HEAP32[u/4]=o.xBearing,_.HEAP32[u/4+1]=o.yBearing,_.HEAP32[u/4+2]=o.width,_.HEAP32[u/4+3]=o.height,1):0},"ippipp");r.hb_font_funcs_set_glyph_extents_func(s,t,0,0)},setGlyphFromNameFunc:function(n){let t=P(function(e,f,a,u,c,i){let o=m(null,e),h=L(a,u),l=n(o,h);return o.destroy(),l?(_.HEAPU32[c/4]=l,1):0},"ipppipp");r.hb_font_funcs_set_glyph_from_name_func(s,t,0,0)},setGlyphHAdvanceFunc:function(n){let t=P(function(e,f,a,u){let c=m(null,e),i=n(c,a);return c.destroy(),i},"ippip");r.hb_font_funcs_set_glyph_h_advance_func(s,t,0,0)},setGlyphVAdvanceFunc:function(n){let t=P(function(e,f,a,u){let c=m(null,e),i=n(c,a);return c.destroy(),i},"ippip");r.hb_font_funcs_set_glyph_v_advance_func(s,t,0,0)},setGlyphHOriginFunc:function(n){let t=P(function(e,f,a,u,c,i){let o=m(null,e),h=n(o,a);return o.destroy(),h?(_.HEAP32[u/4]=h[0],_.HEAP32[c/4]=h[1],1):0},"ippippp");r.hb_font_funcs_set_glyph_h_origin_func(s,t,0,0)},setGlyphVOriginFunc:function(n){let t=P(function(e,f,a,u,c,i){let o=m(null,e),h=n(o,a);return o.destroy(),h?(_.HEAP32[u/4]=h[0],_.HEAP32[c/4]=h[1],1):0},"ippippp");r.hb_font_funcs_set_glyph_v_origin_func(s,t,0,0)},setGlyphHKerningFunc:function(n){let t=P(function(e,f,a,u,c){let i=m(null,e),o=n(i,a,u);return i.destroy(),o},"ippiip");r.hb_font_funcs_set_glyph_h_kerning_func(s,t,0,0)},setGlyphNameFunc:function(n){let t=P(function(e,f,a,u,c,i){let o=m(null,e),h=n(o,a);return o.destroy(),h?(F.encodeInto(h,_.HEAPU8.subarray(u,u+c)),1):0},"ippipip");r.hb_font_funcs_set_glyph_name_func(s,t,0,0)},setNominalGlyphFunc:function(n){let t=P(function(e,f,a,u,c){let i=m(null,e),o=n(i,a);return i.destroy(),o?(_.HEAPU32[u/4]=o,1):0},"ippipp");r.hb_font_funcs_set_nominal_glyph_func(s,t,0,0)},setVariationGlyphFunc:function(n){let t=P(function(e,f,a,u,c,i){let o=m(null,e),h=n(o,a,u);return o.destroy(),h?(_.HEAPU32[c/4]=h,1):0},"ippiipp");r.hb_font_funcs_set_variation_glyph_func(s,t,0,0)},setFontHExtentsFunc:function(n){let t=P(function(e,f,a,u){let c=m(null,e),i=n(c);return c.destroy(),i?(_.HEAP32[a/4]=i.ascender,_.HEAP32[a/4+1]=i.descender,_.HEAP32[a/4+2]=i.lineGap,1):0},"ipppp");r.hb_font_funcs_set_font_h_extents_func(s,t,0,0)},setFontVExtentsFunc:function(n){let t=P(function(e,f,a,u){let c=m(null,e),i=n(c);return c.destroy(),i?(_.HEAP32[a/4]=i.ascender,_.HEAP32[a/4+1]=i.descender,_.HEAP32[a/4+2]=i.lineGap,1):0},"ipppp");r.hb_font_funcs_set_font_v_extents_func(s,t,0,0)},destroy:function(){r.hb_font_funcs_destroy(s)}}}function z(n){var n=n?r.hb_buffer_reference(n):r.hb_buffer_create();return{ptr:n,addText:function(t,e=0,f=null){const a=ft(t);f==null&&(f=a.length),r.hb_buffer_add_utf16(n,a.ptr,a.length,e,f),a.free()},addCodePoints:function(t,e=0,f=null){let a=r.malloc(t.length*4);new Uint32Array(_.wasmMemory.buffer,a,t.length).set(t),f==null&&(f=t.length),r.hb_buffer_add_codepoints(n,a,t.length,e,f),r.free(a)},guessSegmentProperties:function(){return r.hb_buffer_guess_segment_properties(n)},setDirection:function(t){r.hb_buffer_set_direction(n,{ltr:4,rtl:5,ttb:6,btt:7}[t]||0)},setFlags:function(t){var e=0;t.forEach(f=>e|=et[f]||0),r.hb_buffer_set_flags(n,e)},setLanguage:function(t){var e=R(t);r.hb_buffer_set_language(n,r.hb_language_from_string(e.ptr,-1)),e.free()},setScript:function(t){var e=R(t);r.hb_buffer_set_script(n,r.hb_script_from_string(e.ptr,-1)),e.free()},setClusterLevel:function(t){r.hb_buffer_set_cluster_level(n,t)},reset:function(){r.hb_buffer_reset(n)},clearContents:function(){r.hb_buffer_clear_contents(n)},setMessageFunc:function(t){var e=function(a,u,c,i){var o=L(c),h=z(a),l=m(null,u),g=t(h,l,o);return h.destroy(),l.destroy(),g?1:0},f=P(e,"iiiii");r.hb_buffer_set_message_func(n,f,0,0)},getLength:function(){return r.hb_buffer_get_length(n)},getGlyphInfos:function(){for(var t=r.hb_buffer_get_glyph_infos(n,0)/4,e=_.HEAPU32.subarray(t,t+this.getLength()*5),f=[],a=0;al|=nt[v]||0);for(var g="";e{if(h.startsWith("start table GSUB")?u=X:h.startsWith("start table GPOS")&&(u=K),u!=f&&(c=!1),f!=k&&u==f&&h.startsWith("end lookup "+e)&&(c=!0),c)return!1;var l=i.serialize(o,0,null,"JSON",["NO_GLYPH_NAMES"]);return a.push({m:h,t:JSON.parse(l),glyphs:i.getContentType()=="GLYPHS"}),!0}),W(s,n,t),a}function ht(){var s=A(),n=b(12);r.hb_version(n,n+4,n+8);var t={major:_.HEAPU32[n/4],minor:_.HEAPU32[(n+4)/4],micro:_.HEAPU32[(n+8)/4]};return y(s),t}function gt(){var s=r.hb_version_string();return L(s)}function pt(s){var n=H(s),t=r.hb_ot_tag_to_script(n);return C(t)}function vt(s){var n=H(s),t=r.hb_ot_tag_to_language(n);return Y(t)}return{createBlob:ut,createFace:it,createFont:m,createFontFuncs:ct,createBuffer:z,shape:W,shapeWithTrace:lt,version:ht,version_string:gt,otTagToScript:pt,otTagToLanguage:vt}}try{V.exports=G}catch{}return V.exports}var Z=At();const yt=Pt(Z),Ht=Et({__proto__:null,default:yt},[Z]);export{Ht as h}; diff --git a/frontend/dist/assets/index-CKp66E8b.js b/frontend/dist/assets/index-CKp66E8b.js deleted file mode 100644 index 7e38624..0000000 --- a/frontend/dist/assets/index-CKp66E8b.js +++ /dev/null @@ -1,18 +0,0 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/hb-C3piUv6a.js","assets/_commonjsHelpers-DsqdWQfm.js","assets/hbjs-B2Ncxvef.js"])))=>i.map(i=>d[i]); -(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))n(s);new MutationObserver(s=>{for(const a of s)if(a.type==="childList")for(const o of a.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&n(o)}).observe(document,{childList:!0,subtree:!0});function r(s){const a={};return s.integrity&&(a.integrity=s.integrity),s.referrerPolicy&&(a.referrerPolicy=s.referrerPolicy),s.crossOrigin==="use-credentials"?a.credentials="include":s.crossOrigin==="anonymous"?a.credentials="omit":a.credentials="same-origin",a}function n(s){if(s.ep)return;s.ep=!0;const a=r(s);fetch(s.href,a)}})();function Zs(e){const t=Object.create(null);for(const r of e.split(","))t[r]=1;return r=>r in t}const Se={},fr=[],mt=()=>{},qo=()=>!1,Rn=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),$s=e=>e.startsWith("onUpdate:"),Ae=Object.assign,js=(e,t)=>{const r=e.indexOf(t);r>-1&&e.splice(r,1)},l0=Object.prototype.hasOwnProperty,ve=(e,t)=>l0.call(e,t),ne=Array.isArray,hr=e=>An(e)==="[object Map]",Xo=e=>An(e)==="[object Set]",ae=e=>typeof e=="function",Le=e=>typeof e=="string",$t=e=>typeof e=="symbol",ke=e=>e!==null&&typeof e=="object",Yo=e=>(ke(e)||ae(e))&&ae(e.then)&&ae(e.catch),Ko=Object.prototype.toString,An=e=>Ko.call(e),u0=e=>An(e).slice(8,-1),Jo=e=>An(e)==="[object Object]",Mn=e=>Le(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,Er=Zs(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),In=e=>{const t=Object.create(null);return(r=>t[r]||(t[r]=e(r)))},c0=/-\w/g,yt=In(e=>e.replace(c0,t=>t.slice(1).toUpperCase())),f0=/\B([A-Z])/g,ar=In(e=>e.replace(f0,"-$1").toLowerCase()),qs=In(e=>e.charAt(0).toUpperCase()+e.slice(1)),Kn=In(e=>e?`on${qs(e)}`:""),Vt=(e,t)=>!Object.is(e,t),fn=(e,...t)=>{for(let r=0;r{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:n,value:r})},Xs=e=>{const t=parseFloat(e);return isNaN(t)?e:t};let Fa;const Pn=()=>Fa||(Fa=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function Dr(e){if(ne(e)){const t={};for(let r=0;r{if(r){const n=r.split(p0);n.length>1&&(t[n[0].trim()]=n[1].trim())}}),t}function vt(e){let t="";if(Le(e))t=e;else if(ne(e))for(let r=0;r!!(e&&e.__v_isRef===!0),Qe=e=>Le(e)?e:e==null?"":ne(e)||ke(e)&&(e.toString===Ko||!ae(e.toString))?ti(e)?Qe(e.value):JSON.stringify(e,ri,2):String(e),ri=(e,t)=>ti(t)?ri(e,t.value):hr(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((r,[n,s],a)=>(r[Jn(n,a)+" =>"]=s,r),{})}:Xo(t)?{[`Set(${t.size})`]:[...t.values()].map(r=>Jn(r))}:$t(t)?Jn(t):ke(t)&&!ne(t)&&!Jo(t)?String(t):t,Jn=(e,t="")=>{var r;return $t(e)?`Symbol(${(r=e.description)!=null?r:t})`:e};let Ie;class ni{constructor(t=!1){this.detached=t,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this.parent=Ie,!t&&Ie&&(this.index=(Ie.scopes||(Ie.scopes=[])).push(this)-1)}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,r;if(this.scopes)for(t=0,r=this.scopes.length;t0&&--this._on===0&&(Ie=this.prevScope,this.prevScope=void 0)}stop(t){if(this._active){this._active=!1;let r,n;for(r=0,n=this.effects.length;r0)return;if(Ur){let t=Ur;for(Ur=void 0;t;){const r=t.next;t.next=void 0,t.flags&=-9,t=r}}let e;for(;Or;){let t=Or;for(Or=void 0;t;){const r=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(n){e||(e=n)}t=r}}if(e)throw e}function ui(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function ci(e){let t,r=e.depsTail,n=r;for(;n;){const s=n.prevDep;n.version===-1?(n===r&&(r=s),Js(n),y0(n)):t=n,n.dep.activeLink=n.prevActiveLink,n.prevActiveLink=void 0,n=s}e.deps=t,e.depsTail=r}function bs(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(fi(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function fi(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===Br)||(e.globalVersion=Br,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!bs(e))))return;e.flags|=2;const t=e.dep,r=Fe,n=et;Fe=e,et=!0;try{ui(e);const s=e.fn(e._value);(t.version===0||Vt(s,e._value))&&(e.flags|=128,e._value=s,t.version++)}catch(s){throw t.version++,s}finally{Fe=r,et=n,ci(e),e.flags&=-3}}function Js(e,t=!1){const{dep:r,prevSub:n,nextSub:s}=e;if(n&&(n.nextSub=s,e.prevSub=void 0),s&&(s.prevSub=n,e.nextSub=void 0),r.subs===e&&(r.subs=n,!n&&r.computed)){r.computed.flags&=-5;for(let a=r.computed.deps;a;a=a.nextDep)Js(a,!0)}!t&&!--r.sc&&r.map&&r.map.delete(r.key)}function y0(e){const{prevDep:t,nextDep:r}=e;t&&(t.nextDep=r,e.prevDep=void 0),r&&(r.prevDep=t,e.nextDep=void 0)}let et=!0;const hi=[];function Ot(){hi.push(et),et=!1}function Ut(){const e=hi.pop();et=e===void 0?!0:e}function Ca(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const r=Fe;Fe=void 0;try{t()}finally{Fe=r}}}let Br=0;class b0{constructor(t,r){this.sub=t,this.dep=r,this.version=r.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class Qs{constructor(t){this.computed=t,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0,this.__v_skip=!0}track(t){if(!Fe||!et||Fe===this.computed)return;let r=this.activeLink;if(r===void 0||r.sub!==Fe)r=this.activeLink=new b0(Fe,this),Fe.deps?(r.prevDep=Fe.depsTail,Fe.depsTail.nextDep=r,Fe.depsTail=r):Fe.deps=Fe.depsTail=r,pi(r);else if(r.version===-1&&(r.version=this.version,r.nextDep)){const n=r.nextDep;n.prevDep=r.prevDep,r.prevDep&&(r.prevDep.nextDep=n),r.prevDep=Fe.depsTail,r.nextDep=void 0,Fe.depsTail.nextDep=r,Fe.depsTail=r,Fe.deps===r&&(Fe.deps=n)}return r}trigger(t){this.version++,Br++,this.notify(t)}notify(t){Ys();try{for(let r=this.subs;r;r=r.prevSub)r.sub.notify()&&r.sub.dep.notify()}finally{Ks()}}}function pi(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let n=t.deps;n;n=n.nextDep)pi(n)}const r=e.dep.subs;r!==e&&(e.prevSub=r,r&&(r.nextSub=e)),e.dep.subs=e}}const mn=new WeakMap,rr=Symbol(""),Ss=Symbol(""),Nr=Symbol("");function Pe(e,t,r){if(et&&Fe){let n=mn.get(e);n||mn.set(e,n=new Map);let s=n.get(r);s||(n.set(r,s=new Qs),s.map=n,s.key=r),s.track()}}function Tt(e,t,r,n,s,a){const o=mn.get(e);if(!o){Br++;return}const i=l=>{l&&l.trigger()};if(Ys(),t==="clear")o.forEach(i);else{const l=ne(e),c=l&&Mn(r);if(l&&r==="length"){const u=Number(n);o.forEach((h,f)=>{(f==="length"||f===Nr||!$t(f)&&f>=u)&&i(h)})}else switch((r!==void 0||o.has(void 0))&&i(o.get(r)),c&&i(o.get(Nr)),t){case"add":l?c&&i(o.get("length")):(i(o.get(rr)),hr(e)&&i(o.get(Ss)));break;case"delete":l||(i(o.get(rr)),hr(e)&&i(o.get(Ss)));break;case"set":hr(e)&&i(o.get(rr));break}}Ks()}function S0(e,t){const r=mn.get(e);return r&&r.get(t)}function or(e){const t=he(e);return t===e?t:(Pe(t,"iterate",Nr),qe(e)?t:t.map(tt))}function Dn(e){return Pe(e=he(e),"iterate",Nr),e}function Bt(e,t){return Lt(e)?gr(kt(e)?tt(t):t):tt(t)}const w0={__proto__:null,[Symbol.iterator](){return es(this,Symbol.iterator,e=>Bt(this,e))},concat(...e){return or(this).concat(...e.map(t=>ne(t)?or(t):t))},entries(){return es(this,"entries",e=>(e[1]=Bt(this,e[1]),e))},every(e,t){return St(this,"every",e,t,void 0,arguments)},filter(e,t){return St(this,"filter",e,t,r=>r.map(n=>Bt(this,n)),arguments)},find(e,t){return St(this,"find",e,t,r=>Bt(this,r),arguments)},findIndex(e,t){return St(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return St(this,"findLast",e,t,r=>Bt(this,r),arguments)},findLastIndex(e,t){return St(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return St(this,"forEach",e,t,void 0,arguments)},includes(...e){return ts(this,"includes",e)},indexOf(...e){return ts(this,"indexOf",e)},join(e){return or(this).join(e)},lastIndexOf(...e){return ts(this,"lastIndexOf",e)},map(e,t){return St(this,"map",e,t,void 0,arguments)},pop(){return Tr(this,"pop")},push(...e){return Tr(this,"push",e)},reduce(e,...t){return ka(this,"reduce",e,t)},reduceRight(e,...t){return ka(this,"reduceRight",e,t)},shift(){return Tr(this,"shift")},some(e,t){return St(this,"some",e,t,void 0,arguments)},splice(...e){return Tr(this,"splice",e)},toReversed(){return or(this).toReversed()},toSorted(e){return or(this).toSorted(e)},toSpliced(...e){return or(this).toSpliced(...e)},unshift(...e){return Tr(this,"unshift",e)},values(){return es(this,"values",e=>Bt(this,e))}};function es(e,t,r){const n=Dn(e),s=n[t]();return n!==e&&!qe(e)&&(s._next=s.next,s.next=()=>{const a=s._next();return a.done||(a.value=r(a.value)),a}),s}const T0=Array.prototype;function St(e,t,r,n,s,a){const o=Dn(e),i=o!==e&&!qe(e),l=o[t];if(l!==T0[t]){const h=l.apply(e,a);return i?tt(h):h}let c=r;o!==e&&(i?c=function(h,f){return r.call(this,Bt(e,h),f,e)}:r.length>2&&(c=function(h,f){return r.call(this,h,f,e)}));const u=l.call(o,c,n);return i&&s?s(u):u}function ka(e,t,r,n){const s=Dn(e);let a=r;return s!==e&&(qe(e)?r.length>3&&(a=function(o,i,l){return r.call(this,o,i,l,e)}):a=function(o,i,l){return r.call(this,o,Bt(e,i),l,e)}),s[t](a,...n)}function ts(e,t,r){const n=he(e);Pe(n,"iterate",Nr);const s=n[t](...r);return(s===-1||s===!1)&&Nn(r[0])?(r[0]=he(r[0]),n[t](...r)):s}function Tr(e,t,r=[]){Ot(),Ys();const n=he(e)[t].apply(e,r);return Ks(),Ut(),n}const F0=Zs("__proto__,__v_isRef,__isVue"),di=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter($t));function C0(e){$t(e)||(e=String(e));const t=he(this);return Pe(t,"has",e),t.hasOwnProperty(e)}class vi{constructor(t=!1,r=!1){this._isReadonly=t,this._isShallow=r}get(t,r,n){if(r==="__v_skip")return t.__v_skip;const s=this._isReadonly,a=this._isShallow;if(r==="__v_isReactive")return!s;if(r==="__v_isReadonly")return s;if(r==="__v_isShallow")return a;if(r==="__v_raw")return n===(s?a?I0:yi:a?xi:mi).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(n)?t:void 0;const o=ne(t);if(!s){let l;if(o&&(l=w0[r]))return l;if(r==="hasOwnProperty")return C0}const i=Reflect.get(t,r,Ee(t)?t:n);if(($t(r)?di.has(r):F0(r))||(s||Pe(t,"get",r),a))return i;if(Ee(i)){const l=o&&Mn(r)?i:i.value;return s&&ke(l)?Ts(l):l}return ke(i)?s?Ts(i):Bn(i):i}}class gi extends vi{constructor(t=!1){super(!1,t)}set(t,r,n,s){let a=t[r];const o=ne(t)&&Mn(r);if(!this._isShallow){const c=Lt(a);if(!qe(n)&&!Lt(n)&&(a=he(a),n=he(n)),!o&&Ee(a)&&!Ee(n))return c||(a.value=n),!0}const i=o?Number(r)e,tn=e=>Reflect.getPrototypeOf(e);function L0(e,t,r){return function(...n){const s=this.__v_raw,a=he(s),o=hr(a),i=e==="entries"||e===Symbol.iterator&&o,l=e==="keys"&&o,c=s[e](...n),u=r?ws:t?gr:tt;return!t&&Pe(a,"iterate",l?Ss:rr),Ae(Object.create(c),{next(){const{value:h,done:f}=c.next();return f?{value:h,done:f}:{value:i?[u(h[0]),u(h[1])]:u(h),done:f}}})}}function rn(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function _0(e,t){const r={get(s){const a=this.__v_raw,o=he(a),i=he(s);e||(Vt(s,i)&&Pe(o,"get",s),Pe(o,"get",i));const{has:l}=tn(o),c=t?ws:e?gr:tt;if(l.call(o,s))return c(a.get(s));if(l.call(o,i))return c(a.get(i));a!==o&&a.get(s)},get size(){const s=this.__v_raw;return!e&&Pe(he(s),"iterate",rr),s.size},has(s){const a=this.__v_raw,o=he(a),i=he(s);return e||(Vt(s,i)&&Pe(o,"has",s),Pe(o,"has",i)),s===i?a.has(s):a.has(s)||a.has(i)},forEach(s,a){const o=this,i=o.__v_raw,l=he(i),c=t?ws:e?gr:tt;return!e&&Pe(l,"iterate",rr),i.forEach((u,h)=>s.call(a,c(u),c(h),o))}};return Ae(r,e?{add:rn("add"),set:rn("set"),delete:rn("delete"),clear:rn("clear")}:{add(s){!t&&!qe(s)&&!Lt(s)&&(s=he(s));const a=he(this);return tn(a).has.call(a,s)||(a.add(s),Tt(a,"add",s,s)),this},set(s,a){!t&&!qe(a)&&!Lt(a)&&(a=he(a));const o=he(this),{has:i,get:l}=tn(o);let c=i.call(o,s);c||(s=he(s),c=i.call(o,s));const u=l.call(o,s);return o.set(s,a),c?Vt(a,u)&&Tt(o,"set",s,a):Tt(o,"add",s,a),this},delete(s){const a=he(this),{has:o,get:i}=tn(a);let l=o.call(a,s);l||(s=he(s),l=o.call(a,s)),i&&i.call(a,s);const c=a.delete(s);return l&&Tt(a,"delete",s,void 0),c},clear(){const s=he(this),a=s.size!==0,o=s.clear();return a&&Tt(s,"clear",void 0,void 0),o}}),["keys","values","entries",Symbol.iterator].forEach(s=>{r[s]=L0(s,e,t)}),r}function ea(e,t){const r=_0(e,t);return(n,s,a)=>s==="__v_isReactive"?!e:s==="__v_isReadonly"?e:s==="__v_raw"?n:Reflect.get(ve(r,s)&&s in n?r:n,s,a)}const R0={get:ea(!1,!1)},A0={get:ea(!1,!0)},M0={get:ea(!0,!1)};const mi=new WeakMap,xi=new WeakMap,yi=new WeakMap,I0=new WeakMap;function P0(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function D0(e){return e.__v_skip||!Object.isExtensible(e)?0:P0(u0(e))}function Bn(e){return Lt(e)?e:ta(e,!1,E0,R0,mi)}function B0(e){return ta(e,!1,U0,A0,xi)}function Ts(e){return ta(e,!0,O0,M0,yi)}function ta(e,t,r,n,s){if(!ke(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const a=D0(e);if(a===0)return e;const o=s.get(e);if(o)return o;const i=new Proxy(e,a===2?n:r);return s.set(e,i),i}function kt(e){return Lt(e)?kt(e.__v_raw):!!(e&&e.__v_isReactive)}function Lt(e){return!!(e&&e.__v_isReadonly)}function qe(e){return!!(e&&e.__v_isShallow)}function Nn(e){return e?!!e.__v_raw:!1}function he(e){const t=e&&e.__v_raw;return t?he(t):e}function ra(e){return!ve(e,"__v_skip")&&Object.isExtensible(e)&&Qo(e,"__v_skip",!0),e}const tt=e=>ke(e)?Bn(e):e,gr=e=>ke(e)?Ts(e):e;function Ee(e){return e?e.__v_isRef===!0:!1}function Ce(e){return N0(e,!1)}function N0(e,t){return Ee(e)?e:new G0(e,t)}class G0{constructor(t,r){this.dep=new Qs,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=r?t:he(t),this._value=r?t:tt(t),this.__v_isShallow=r}get value(){return this.dep.track(),this._value}set value(t){const r=this._rawValue,n=this.__v_isShallow||qe(t)||Lt(t);t=n?t:he(t),Vt(t,r)&&(this._rawValue=t,this._value=n?t:tt(t),this.dep.trigger())}}function Me(e){return Ee(e)?e.value:e}const H0={get:(e,t,r)=>t==="__v_raw"?e:Me(Reflect.get(e,t,r)),set:(e,t,r,n)=>{const s=e[t];return Ee(s)&&!Ee(r)?(s.value=r,!0):Reflect.set(e,t,r,n)}};function bi(e){return kt(e)?e:new Proxy(e,H0)}function V0(e){const t=ne(e)?new Array(e.length):{};for(const r in e)t[r]=W0(e,r);return t}class z0{constructor(t,r,n){this._object=t,this._key=r,this._defaultValue=n,this.__v_isRef=!0,this._value=void 0,this._raw=he(t);let s=!0,a=t;if(!ne(t)||!Mn(String(r)))do s=!Nn(a)||qe(a);while(s&&(a=a.__v_raw));this._shallow=s}get value(){let t=this._object[this._key];return this._shallow&&(t=Me(t)),this._value=t===void 0?this._defaultValue:t}set value(t){if(this._shallow&&Ee(this._raw[this._key])){const r=this._object[this._key];if(Ee(r)){r.value=t;return}}this._object[this._key]=t}get dep(){return S0(this._raw,this._key)}}function W0(e,t,r){return new z0(e,t,r)}class Z0{constructor(t,r,n){this.fn=t,this.setter=r,this._value=void 0,this.dep=new Qs(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=Br-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!r,this.isSSR=n}notify(){if(this.flags|=16,!(this.flags&8)&&Fe!==this)return li(this,!0),!0}get value(){const t=this.dep.track();return fi(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function $0(e,t,r=!1){let n,s;return ae(e)?n=e:(n=e.get,s=e.set),new Z0(n,s,r)}const nn={},xn=new WeakMap;let Jt;function j0(e,t=!1,r=Jt){if(r){let n=xn.get(r);n||xn.set(r,n=[]),n.push(e)}}function q0(e,t,r=Se){const{immediate:n,deep:s,once:a,scheduler:o,augmentJob:i,call:l}=r,c=F=>s?F:qe(F)||s===!1||s===0?Ft(F,1):Ft(F);let u,h,f,p,m=!1,x=!1;if(Ee(e)?(h=()=>e.value,m=qe(e)):kt(e)?(h=()=>c(e),m=!0):ne(e)?(x=!0,m=e.some(F=>kt(F)||qe(F)),h=()=>e.map(F=>{if(Ee(F))return F.value;if(kt(F))return c(F);if(ae(F))return l?l(F,2):F()})):ae(e)?t?h=l?()=>l(e,2):e:h=()=>{if(f){Ot();try{f()}finally{Ut()}}const F=Jt;Jt=u;try{return l?l(e,3,[p]):e(p)}finally{Jt=F}}:h=mt,t&&s){const F=h,C=s===!0?1/0:s;h=()=>Ft(F(),C)}const g=ai(),y=()=>{u.stop(),g&&g.active&&js(g.effects,u)};if(a&&t){const F=t;t=(...C)=>{F(...C),y()}}let b=x?new Array(e.length).fill(nn):nn;const S=F=>{if(!(!(u.flags&1)||!u.dirty&&!F))if(t){const C=u.run();if(s||m||(x?C.some((q,D)=>Vt(q,b[D])):Vt(C,b))){f&&f();const q=Jt;Jt=u;try{const D=[C,b===nn?void 0:x&&b[0]===nn?[]:b,p];b=C,l?l(t,3,D):t(...D)}finally{Jt=q}}}else u.run()};return i&&i(S),u=new oi(h),u.scheduler=o?()=>o(S,!1):S,p=F=>j0(F,!1,u),f=u.onStop=()=>{const F=xn.get(u);if(F){if(l)l(F,4);else for(const C of F)C();xn.delete(u)}},t?n?S(!0):b=u.run():o?o(S.bind(null,!0),!0):u.run(),y.pause=u.pause.bind(u),y.resume=u.resume.bind(u),y.stop=y,y}function Ft(e,t=1/0,r){if(t<=0||!ke(e)||e.__v_skip||(r=r||new Map,(r.get(e)||0)>=t))return e;if(r.set(e,t),t--,Ee(e))Ft(e.value,t,r);else if(ne(e))for(let n=0;n{Ft(n,t,r)});else if(Jo(e)){for(const n in e)Ft(e[n],t,r);for(const n of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,n)&&Ft(e[n],t,r)}return e}function jr(e,t,r,n){try{return n?e(...n):e()}catch(s){Gn(s,t,r)}}function bt(e,t,r,n){if(ae(e)){const s=jr(e,t,r,n);return s&&Yo(s)&&s.catch(a=>{Gn(a,t,r)}),s}if(ne(e)){const s=[];for(let a=0;a>>1,s=Ne[n],a=Gr(s);a=Gr(r)?Ne.push(e):Ne.splice(Y0(t),0,e),e.flags|=1,wi()}}function wi(){yn||(yn=Si.then(Fi))}function K0(e){ne(e)?pr.push(...e):Nt&&e.id===-1?Nt.splice(ur+1,0,e):e.flags&1||(pr.push(e),e.flags|=1),wi()}function Ea(e,t,r=ht+1){for(;rGr(r)-Gr(n));if(pr.length=0,Nt){Nt.push(...t);return}for(Nt=t,ur=0;ure.id==null?e.flags&2?-1:1/0:e.id;function Fi(e){try{for(ht=0;ht{n._d&&Ba(-1);const a=bn(t);let o;try{o=e(...s)}finally{bn(a),n._d&&Ba(1)}return o};return n._n=!0,n._c=!0,n._d=!0,n}function hn(e,t){if($e===null)return e;const r=Wn($e),n=e.dirs||(e.dirs=[]);for(let s=0;s1)return r&&ae(t)?t.call(n&&n.proxy):t}}function eu(){return!!(el()||nr)}const tu=Symbol.for("v-scx"),ru=()=>Lr(tu);function dr(e,t,r){return ki(e,t,r)}function ki(e,t,r=Se){const{immediate:n,deep:s,flush:a,once:o}=r,i=Ae({},r),l=t&&n||!t&&a!=="post";let c;if(Vr){if(a==="sync"){const p=ru();c=p.__watcherHandles||(p.__watcherHandles=[])}else if(!l){const p=()=>{};return p.stop=mt,p.resume=mt,p.pause=mt,p}}const u=De;i.call=(p,m,x)=>bt(p,u,m,x);let h=!1;a==="post"?i.scheduler=p=>{Ze(p,u&&u.suspense)}:a!=="sync"&&(h=!0,i.scheduler=(p,m)=>{m?p():sa(p)}),i.augmentJob=p=>{t&&(p.flags|=4),h&&(p.flags|=2,u&&(p.id=u.uid,p.i=u))};const f=q0(e,t,i);return Vr&&(c?c.push(f):l&&f()),f}function nu(e,t,r){const n=this.proxy,s=Le(e)?e.includes(".")?Ei(n,e):()=>n[e]:e.bind(n,n);let a;ae(t)?a=t:(a=t.handler,r=t);const o=Xr(this),i=ki(s,a.bind(n),r);return o(),i}function Ei(e,t){const r=t.split(".");return()=>{let n=e;for(let s=0;se.__isTeleport,ou=Symbol("_leaveCb");function aa(e,t){e.shapeFlag&6&&e.component?(e.transition=t,aa(e.component.subTree,t)):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function qr(e,t){return ae(e)?Ae({name:e.name},t,{setup:e}):e}function Oi(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}const Sn=new WeakMap;function _r(e,t,r,n,s=!1){if(ne(e)){e.forEach((m,x)=>_r(m,t&&(ne(t)?t[x]:t),r,n,s));return}if(Rr(n)&&!s){n.shapeFlag&512&&n.type.__asyncResolved&&n.component.subTree.component&&_r(e,t,r,n.component.subTree);return}const a=n.shapeFlag&4?Wn(n.component):n.el,o=s?null:a,{i,r:l}=e,c=t&&t.r,u=i.refs===Se?i.refs={}:i.refs,h=i.setupState,f=he(h),p=h===Se?qo:m=>ve(f,m);if(c!=null&&c!==l){if(Oa(t),Le(c))u[c]=null,p(c)&&(h[c]=null);else if(Ee(c)){c.value=null;const m=t;m.k&&(u[m.k]=null)}}if(ae(l))jr(l,i,12,[o,u]);else{const m=Le(l),x=Ee(l);if(m||x){const g=()=>{if(e.f){const y=m?p(l)?h[l]:u[l]:l.value;if(s)ne(y)&&js(y,a);else if(ne(y))y.includes(a)||y.push(a);else if(m)u[l]=[a],p(l)&&(h[l]=u[l]);else{const b=[a];l.value=b,e.k&&(u[e.k]=b)}}else m?(u[l]=o,p(l)&&(h[l]=o)):x&&(l.value=o,e.k&&(u[e.k]=o))};if(o){const y=()=>{g(),Sn.delete(e)};y.id=-1,Sn.set(e,y),Ze(y,r)}else Oa(e),g()}}}function Oa(e){const t=Sn.get(e);t&&(t.flags|=8,Sn.delete(e))}Pn().requestIdleCallback;Pn().cancelIdleCallback;const Rr=e=>!!e.type.__asyncLoader,Ui=e=>e.type.__isKeepAlive;function iu(e,t){Li(e,"a",t)}function lu(e,t){Li(e,"da",t)}function Li(e,t,r=De){const n=e.__wdc||(e.__wdc=()=>{let s=r;for(;s;){if(s.isDeactivated)return;s=s.parent}return e()});if(Hn(t,n,r),r){let s=r.parent;for(;s&&s.parent;)Ui(s.parent.vnode)&&uu(n,t,r,s),s=s.parent}}function uu(e,t,r,n){const s=Hn(t,e,n,!0);Ai(()=>{js(n[t],s)},r)}function Hn(e,t,r=De,n=!1){if(r){const s=r[e]||(r[e]=[]),a=t.__weh||(t.__weh=(...o)=>{Ot();const i=Xr(r),l=bt(t,r,e,o);return i(),Ut(),l});return n?s.unshift(a):s.push(a),a}}const _t=e=>(t,r=De)=>{(!Vr||e==="sp")&&Hn(e,(...n)=>t(...n),r)},cu=_t("bm"),_i=_t("m"),fu=_t("bu"),hu=_t("u"),Ri=_t("bum"),Ai=_t("um"),pu=_t("sp"),du=_t("rtg"),vu=_t("rtc");function gu(e,t=De){Hn("ec",e,t)}const mu="directives",xu=Symbol.for("v-ndc");function yu(e){return bu(mu,e)}function bu(e,t,r=!0,n=!1){const s=$e||De;if(s){const a=s.type,o=Ua(s[e]||a[e],t)||Ua(s.appContext[e],t);return!o&&n?a:o}}function Ua(e,t){return e&&(e[t]||e[yt(t)]||e[qs(yt(t))])}function wn(e,t,r,n){let s;const a=r,o=ne(e);if(o||Le(e)){const i=o&&kt(e);let l=!1,c=!1;i&&(l=!qe(e),c=Lt(e),e=Dn(e)),s=new Array(e.length);for(let u=0,h=e.length;ut(i,l,void 0,a));else{const i=Object.keys(e);s=new Array(i.length);for(let l=0,c=i.length;le?tl(e)?Wn(e):Fs(e.parent):null,Ar=Ae(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>Fs(e.parent),$root:e=>Fs(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>Ii(e),$forceUpdate:e=>e.f||(e.f=()=>{sa(e.update)}),$nextTick:e=>e.n||(e.n=na.bind(e.proxy)),$watch:e=>nu.bind(e)}),rs=(e,t)=>e!==Se&&!e.__isScriptSetup&&ve(e,t),Su={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:r,setupState:n,data:s,props:a,accessCache:o,type:i,appContext:l}=e;if(t[0]!=="$"){const f=o[t];if(f!==void 0)switch(f){case 1:return n[t];case 2:return s[t];case 4:return r[t];case 3:return a[t]}else{if(rs(n,t))return o[t]=1,n[t];if(s!==Se&&ve(s,t))return o[t]=2,s[t];if(ve(a,t))return o[t]=3,a[t];if(r!==Se&&ve(r,t))return o[t]=4,r[t];Cs&&(o[t]=0)}}const c=Ar[t];let u,h;if(c)return t==="$attrs"&&Pe(e.attrs,"get",""),c(e);if((u=i.__cssModules)&&(u=u[t]))return u;if(r!==Se&&ve(r,t))return o[t]=4,r[t];if(h=l.config.globalProperties,ve(h,t))return h[t]},set({_:e},t,r){const{data:n,setupState:s,ctx:a}=e;return rs(s,t)?(s[t]=r,!0):n!==Se&&ve(n,t)?(n[t]=r,!0):ve(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(a[t]=r,!0)},has({_:{data:e,setupState:t,accessCache:r,ctx:n,appContext:s,props:a,type:o}},i){let l;return!!(r[i]||e!==Se&&i[0]!=="$"&&ve(e,i)||rs(t,i)||ve(a,i)||ve(n,i)||ve(Ar,i)||ve(s.config.globalProperties,i)||(l=o.__cssModules)&&l[i])},defineProperty(e,t,r){return r.get!=null?e._.accessCache[t]=0:ve(r,"value")&&this.set(e,t,r.value,null),Reflect.defineProperty(e,t,r)}};function La(e){return ne(e)?e.reduce((t,r)=>(t[r]=null,t),{}):e}let Cs=!0;function wu(e){const t=Ii(e),r=e.proxy,n=e.ctx;Cs=!1,t.beforeCreate&&_a(t.beforeCreate,e,"bc");const{data:s,computed:a,methods:o,watch:i,provide:l,inject:c,created:u,beforeMount:h,mounted:f,beforeUpdate:p,updated:m,activated:x,deactivated:g,beforeDestroy:y,beforeUnmount:b,destroyed:S,unmounted:F,render:C,renderTracked:q,renderTriggered:D,errorCaptured:k,serverPrefetch:L,expose:V,inheritAttrs:N,components:X,directives:se,filters:oe}=t;if(c&&Tu(c,n,null),o)for(const A in o){const z=o[A];ae(z)&&(n[A]=z.bind(r))}if(s){const A=s.call(r,r);ke(A)&&(e.data=Bn(A))}if(Cs=!0,a)for(const A in a){const z=a[A],ee=ae(z)?z.bind(r,r):ae(z.get)?z.get.bind(r,r):mt,fe=!ae(z)&&ae(z.set)?z.set.bind(r):mt,ue=be({get:ee,set:fe});Object.defineProperty(n,A,{enumerable:!0,configurable:!0,get:()=>ue.value,set:de=>ue.value=de})}if(i)for(const A in i)Mi(i[A],n,r,A);if(l){const A=ae(l)?l.call(r):l;Reflect.ownKeys(A).forEach(z=>{Q0(z,A[z])})}u&&_a(u,e,"c");function G(A,z){ne(z)?z.forEach(ee=>A(ee.bind(r))):z&&A(z.bind(r))}if(G(cu,h),G(_i,f),G(fu,p),G(hu,m),G(iu,x),G(lu,g),G(gu,k),G(vu,q),G(du,D),G(Ri,b),G(Ai,F),G(pu,L),ne(V))if(V.length){const A=e.exposed||(e.exposed={});V.forEach(z=>{Object.defineProperty(A,z,{get:()=>r[z],set:ee=>r[z]=ee,enumerable:!0})})}else e.exposed||(e.exposed={});C&&e.render===mt&&(e.render=C),N!=null&&(e.inheritAttrs=N),X&&(e.components=X),se&&(e.directives=se),L&&Oi(e)}function Tu(e,t,r=mt){ne(e)&&(e=ks(e));for(const n in e){const s=e[n];let a;ke(s)?"default"in s?a=Lr(s.from||n,s.default,!0):a=Lr(s.from||n):a=Lr(s),Ee(a)?Object.defineProperty(t,n,{enumerable:!0,configurable:!0,get:()=>a.value,set:o=>a.value=o}):t[n]=a}}function _a(e,t,r){bt(ne(e)?e.map(n=>n.bind(t.proxy)):e.bind(t.proxy),t,r)}function Mi(e,t,r,n){let s=n.includes(".")?Ei(r,n):()=>r[n];if(Le(e)){const a=t[e];ae(a)&&dr(s,a)}else if(ae(e))dr(s,e.bind(r));else if(ke(e))if(ne(e))e.forEach(a=>Mi(a,t,r,n));else{const a=ae(e.handler)?e.handler.bind(r):t[e.handler];ae(a)&&dr(s,a,e)}}function Ii(e){const t=e.type,{mixins:r,extends:n}=t,{mixins:s,optionsCache:a,config:{optionMergeStrategies:o}}=e.appContext,i=a.get(t);let l;return i?l=i:!s.length&&!r&&!n?l=t:(l={},s.length&&s.forEach(c=>Tn(l,c,o,!0)),Tn(l,t,o)),ke(t)&&a.set(t,l),l}function Tn(e,t,r,n=!1){const{mixins:s,extends:a}=t;a&&Tn(e,a,r,!0),s&&s.forEach(o=>Tn(e,o,r,!0));for(const o in t)if(!(n&&o==="expose")){const i=Fu[o]||r&&r[o];e[o]=i?i(e[o],t[o]):t[o]}return e}const Fu={data:Ra,props:Aa,emits:Aa,methods:kr,computed:kr,beforeCreate:Be,created:Be,beforeMount:Be,mounted:Be,beforeUpdate:Be,updated:Be,beforeDestroy:Be,beforeUnmount:Be,destroyed:Be,unmounted:Be,activated:Be,deactivated:Be,errorCaptured:Be,serverPrefetch:Be,components:kr,directives:kr,watch:ku,provide:Ra,inject:Cu};function Ra(e,t){return t?e?function(){return Ae(ae(e)?e.call(this,this):e,ae(t)?t.call(this,this):t)}:t:e}function Cu(e,t){return kr(ks(e),ks(t))}function ks(e){if(ne(e)){const t={};for(let r=0;rt==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${yt(t)}Modifiers`]||e[`${ar(t)}Modifiers`];function Lu(e,t,...r){if(e.isUnmounted)return;const n=e.vnode.props||Se;let s=r;const a=t.startsWith("update:"),o=a&&Uu(n,t.slice(7));o&&(o.trim&&(s=r.map(u=>Le(u)?u.trim():u)),o.number&&(s=r.map(Xs)));let i,l=n[i=Kn(t)]||n[i=Kn(yt(t))];!l&&a&&(l=n[i=Kn(ar(t))]),l&&bt(l,e,6,s);const c=n[i+"Once"];if(c){if(!e.emitted)e.emitted={};else if(e.emitted[i])return;e.emitted[i]=!0,bt(c,e,6,s)}}const _u=new WeakMap;function Di(e,t,r=!1){const n=r?_u:t.emitsCache,s=n.get(e);if(s!==void 0)return s;const a=e.emits;let o={},i=!1;if(!ae(e)){const l=c=>{const u=Di(c,t,!0);u&&(i=!0,Ae(o,u))};!r&&t.mixins.length&&t.mixins.forEach(l),e.extends&&l(e.extends),e.mixins&&e.mixins.forEach(l)}return!a&&!i?(ke(e)&&n.set(e,null),null):(ne(a)?a.forEach(l=>o[l]=null):Ae(o,a),ke(e)&&n.set(e,o),o)}function Vn(e,t){return!e||!Rn(t)?!1:(t=t.slice(2).replace(/Once$/,""),ve(e,t[0].toLowerCase()+t.slice(1))||ve(e,ar(t))||ve(e,t))}function Ma(e){const{type:t,vnode:r,proxy:n,withProxy:s,propsOptions:[a],slots:o,attrs:i,emit:l,render:c,renderCache:u,props:h,data:f,setupState:p,ctx:m,inheritAttrs:x}=e,g=bn(e);let y,b;try{if(r.shapeFlag&4){const F=s||n,C=F;y=dt(c.call(C,F,u,h,p,f,m)),b=i}else{const F=t;y=dt(F.length>1?F(h,{attrs:i,slots:o,emit:l}):F(h,null)),b=t.props?i:Ru(i)}}catch(F){Mr.length=0,Gn(F,e,1),y=Ke(Wt)}let S=y;if(b&&x!==!1){const F=Object.keys(b),{shapeFlag:C}=S;F.length&&C&7&&(a&&F.some($s)&&(b=Au(b,a)),S=mr(S,b,!1,!0))}return r.dirs&&(S=mr(S,null,!1,!0),S.dirs=S.dirs?S.dirs.concat(r.dirs):r.dirs),r.transition&&aa(S,r.transition),y=S,bn(g),y}const Ru=e=>{let t;for(const r in e)(r==="class"||r==="style"||Rn(r))&&((t||(t={}))[r]=e[r]);return t},Au=(e,t)=>{const r={};for(const n in e)(!$s(n)||!(n.slice(9)in t))&&(r[n]=e[n]);return r};function Mu(e,t,r){const{props:n,children:s,component:a}=e,{props:o,children:i,patchFlag:l}=t,c=a.emitsOptions;if(t.dirs||t.transition)return!0;if(r&&l>=0){if(l&1024)return!0;if(l&16)return n?Ia(n,o,c):!!o;if(l&8){const u=t.dynamicProps;for(let h=0;hObject.create(Bi),Gi=e=>Object.getPrototypeOf(e)===Bi;function Pu(e,t,r,n=!1){const s={},a=Ni();e.propsDefaults=Object.create(null),Hi(e,t,s,a);for(const o in e.propsOptions[0])o in s||(s[o]=void 0);r?e.props=n?s:B0(s):e.type.props?e.props=s:e.props=a,e.attrs=a}function Du(e,t,r,n){const{props:s,attrs:a,vnode:{patchFlag:o}}=e,i=he(s),[l]=e.propsOptions;let c=!1;if((n||o>0)&&!(o&16)){if(o&8){const u=e.vnode.dynamicProps;for(let h=0;h{l=!0;const[f,p]=Vi(h,t,!0);Ae(o,f),p&&i.push(...p)};!r&&t.mixins.length&&t.mixins.forEach(u),e.extends&&u(e.extends),e.mixins&&e.mixins.forEach(u)}if(!a&&!l)return ke(e)&&n.set(e,fr),fr;if(ne(a))for(let u=0;ue==="_"||e==="_ctx"||e==="$stable",ia=e=>ne(e)?e.map(dt):[dt(e)],Nu=(e,t,r)=>{if(t._n)return t;const n=J0((...s)=>ia(t(...s)),r);return n._c=!1,n},zi=(e,t,r)=>{const n=e._ctx;for(const s in e){if(oa(s))continue;const a=e[s];if(ae(a))t[s]=Nu(s,a,n);else if(a!=null){const o=ia(a);t[s]=()=>o}}},Wi=(e,t)=>{const r=ia(t);e.slots.default=()=>r},Zi=(e,t,r)=>{for(const n in t)(r||!oa(n))&&(e[n]=t[n])},Gu=(e,t,r)=>{const n=e.slots=Ni();if(e.vnode.shapeFlag&32){const s=t._;s?(Zi(n,t,r),r&&Qo(n,"_",s,!0)):zi(t,n)}else t&&Wi(e,t)},Hu=(e,t,r)=>{const{vnode:n,slots:s}=e;let a=!0,o=Se;if(n.shapeFlag&32){const i=t._;i?r&&i===1?a=!1:Zi(s,t,r):(a=!t.$stable,zi(t,s)),o=t}else t&&(Wi(e,t),o={default:1});if(a)for(const i in s)!oa(i)&&o[i]==null&&delete s[i]},Ze=$u;function Vu(e){return zu(e)}function zu(e,t){const r=Pn();r.__VUE__=!0;const{insert:n,remove:s,patchProp:a,createElement:o,createText:i,createComment:l,setText:c,setElementText:u,parentNode:h,nextSibling:f,setScopeId:p=mt,insertStaticContent:m}=e,x=(d,v,T,U=null,E=null,O=null,H=void 0,P=null,M=!!v.dynamicChildren)=>{if(d===v)return;d&&!Fr(d,v)&&(U=xe(d),de(d,E,O,!0),d=null),v.patchFlag===-2&&(M=!1,v.dynamicChildren=null);const{type:_,ref:J,shapeFlag:W}=v;switch(_){case zn:g(d,v,T,U);break;case Wt:y(d,v,T,U);break;case ss:d==null&&b(v,T,U,H);break;case ze:X(d,v,T,U,E,O,H,P,M);break;default:W&1?C(d,v,T,U,E,O,H,P,M):W&6?se(d,v,T,U,E,O,H,P,M):(W&64||W&128)&&_.process(d,v,T,U,E,O,H,P,M,qt)}J!=null&&E?_r(J,d&&d.ref,O,v||d,!v):J==null&&d&&d.ref!=null&&_r(d.ref,null,O,d,!0)},g=(d,v,T,U)=>{if(d==null)n(v.el=i(v.children),T,U);else{const E=v.el=d.el;v.children!==d.children&&c(E,v.children)}},y=(d,v,T,U)=>{d==null?n(v.el=l(v.children||""),T,U):v.el=d.el},b=(d,v,T,U)=>{[d.el,d.anchor]=m(d.children,v,T,U,d.el,d.anchor)},S=({el:d,anchor:v},T,U)=>{let E;for(;d&&d!==v;)E=f(d),n(d,T,U),d=E;n(v,T,U)},F=({el:d,anchor:v})=>{let T;for(;d&&d!==v;)T=f(d),s(d),d=T;s(v)},C=(d,v,T,U,E,O,H,P,M)=>{if(v.type==="svg"?H="svg":v.type==="math"&&(H="mathml"),d==null)q(v,T,U,E,O,H,P,M);else{const _=d.el&&d.el._isVueCE?d.el:null;try{_&&_._beginPatch(),L(d,v,E,O,H,P,M)}finally{_&&_._endPatch()}}},q=(d,v,T,U,E,O,H,P)=>{let M,_;const{props:J,shapeFlag:W,transition:K,dirs:re}=d;if(M=d.el=o(d.type,O,J&&J.is,J),W&8?u(M,d.children):W&16&&k(d.children,M,null,U,E,ns(d,O),H,P),re&&Xt(d,null,U,"created"),D(M,d,d.scopeId,H,U),J){for(const Te in J)Te!=="value"&&!Er(Te)&&a(M,Te,null,J[Te],O,U);"value"in J&&a(M,"value",null,J.value,O),(_=J.onVnodeBeforeMount)&&ct(_,U,d)}re&&Xt(d,null,U,"beforeMount");const ce=Wu(E,K);ce&&K.beforeEnter(M),n(M,v,T),((_=J&&J.onVnodeMounted)||ce||re)&&Ze(()=>{_&&ct(_,U,d),ce&&K.enter(M),re&&Xt(d,null,U,"mounted")},E)},D=(d,v,T,U,E)=>{if(T&&p(d,T),U)for(let O=0;O{for(let _=M;_{const P=v.el=d.el;let{patchFlag:M,dynamicChildren:_,dirs:J}=v;M|=d.patchFlag&16;const W=d.props||Se,K=v.props||Se;let re;if(T&&Yt(T,!1),(re=K.onVnodeBeforeUpdate)&&ct(re,T,v,d),J&&Xt(v,d,T,"beforeUpdate"),T&&Yt(T,!0),(W.innerHTML&&K.innerHTML==null||W.textContent&&K.textContent==null)&&u(P,""),_?V(d.dynamicChildren,_,P,T,U,ns(v,E),O):H||z(d,v,P,null,T,U,ns(v,E),O,!1),M>0){if(M&16)N(P,W,K,T,E);else if(M&2&&W.class!==K.class&&a(P,"class",null,K.class,E),M&4&&a(P,"style",W.style,K.style,E),M&8){const ce=v.dynamicProps;for(let Te=0;Te{re&&ct(re,T,v,d),J&&Xt(v,d,T,"updated")},U)},V=(d,v,T,U,E,O,H)=>{for(let P=0;P{if(v!==T){if(v!==Se)for(const O in v)!Er(O)&&!(O in T)&&a(d,O,v[O],null,E,U);for(const O in T){if(Er(O))continue;const H=T[O],P=v[O];H!==P&&O!=="value"&&a(d,O,P,H,E,U)}"value"in T&&a(d,"value",v.value,T.value,E)}},X=(d,v,T,U,E,O,H,P,M)=>{const _=v.el=d?d.el:i(""),J=v.anchor=d?d.anchor:i("");let{patchFlag:W,dynamicChildren:K,slotScopeIds:re}=v;re&&(P=P?P.concat(re):re),d==null?(n(_,T,U),n(J,T,U),k(v.children||[],T,J,E,O,H,P,M)):W>0&&W&64&&K&&d.dynamicChildren&&d.dynamicChildren.length===K.length?(V(d.dynamicChildren,K,T,E,O,H,P),(v.key!=null||E&&v===E.subTree)&&$i(d,v,!0)):z(d,v,T,J,E,O,H,P,M)},se=(d,v,T,U,E,O,H,P,M)=>{v.slotScopeIds=P,d==null?v.shapeFlag&512?E.ctx.activate(v,T,U,H,M):oe(v,T,U,E,O,H,M):R(d,v,M)},oe=(d,v,T,U,E,O,H)=>{const P=d.component=ec(d,U,E);if(Ui(d)&&(P.ctx.renderer=qt),tc(P,!1,H),P.asyncDep){if(E&&E.registerDep(P,G,H),!d.el){const M=P.subTree=Ke(Wt);y(null,M,v,T),d.placeholder=M.el}}else G(P,d,v,T,E,O,H)},R=(d,v,T)=>{const U=v.component=d.component;if(Mu(d,v,T))if(U.asyncDep&&!U.asyncResolved){A(U,v,T);return}else U.next=v,U.update();else v.el=d.el,U.vnode=v},G=(d,v,T,U,E,O,H)=>{const P=()=>{if(d.isMounted){let{next:W,bu:K,u:re,parent:ce,vnode:Te}=d;{const lt=ji(d);if(lt){W&&(W.el=Te.el,A(d,W,H)),lt.asyncDep.then(()=>{d.isUnmounted||P()});return}}let me=W,He;Yt(d,!1),W?(W.el=Te.el,A(d,W,H)):W=Te,K&&fn(K),(He=W.props&&W.props.onVnodeBeforeUpdate)&&ct(He,ce,W,Te),Yt(d,!0);const Ve=Ma(d),it=d.subTree;d.subTree=Ve,x(it,Ve,h(it.el),xe(it),d,E,O),W.el=Ve.el,me===null&&Iu(d,Ve.el),re&&Ze(re,E),(He=W.props&&W.props.onVnodeUpdated)&&Ze(()=>ct(He,ce,W,Te),E)}else{let W;const{el:K,props:re}=v,{bm:ce,m:Te,parent:me,root:He,type:Ve}=d,it=Rr(v);Yt(d,!1),ce&&fn(ce),!it&&(W=re&&re.onVnodeBeforeMount)&&ct(W,me,v),Yt(d,!0);{He.ce&&He.ce._def.shadowRoot!==!1&&He.ce._injectChildStyle(Ve);const lt=d.subTree=Ma(d);x(null,lt,T,U,d,E,O),v.el=lt.el}if(Te&&Ze(Te,E),!it&&(W=re&&re.onVnodeMounted)){const lt=v;Ze(()=>ct(W,me,lt),E)}(v.shapeFlag&256||me&&Rr(me.vnode)&&me.vnode.shapeFlag&256)&&d.a&&Ze(d.a,E),d.isMounted=!0,v=T=U=null}};d.scope.on();const M=d.effect=new oi(P);d.scope.off();const _=d.update=M.run.bind(M),J=d.job=M.runIfDirty.bind(M);J.i=d,J.id=d.uid,M.scheduler=()=>sa(J),Yt(d,!0),_()},A=(d,v,T)=>{v.component=d;const U=d.vnode.props;d.vnode=v,d.next=null,Du(d,v.props,U,T),Hu(d,v.children,T),Ot(),Ea(d),Ut()},z=(d,v,T,U,E,O,H,P,M=!1)=>{const _=d&&d.children,J=d?d.shapeFlag:0,W=v.children,{patchFlag:K,shapeFlag:re}=v;if(K>0){if(K&128){fe(_,W,T,U,E,O,H,P,M);return}else if(K&256){ee(_,W,T,U,E,O,H,P,M);return}}re&8?(J&16&&le(_,E,O),W!==_&&u(T,W)):J&16?re&16?fe(_,W,T,U,E,O,H,P,M):le(_,E,O,!0):(J&8&&u(T,""),re&16&&k(W,T,U,E,O,H,P,M))},ee=(d,v,T,U,E,O,H,P,M)=>{d=d||fr,v=v||fr;const _=d.length,J=v.length,W=Math.min(_,J);let K;for(K=0;KJ?le(d,E,O,!0,!1,W):k(v,T,U,E,O,H,P,M,W)},fe=(d,v,T,U,E,O,H,P,M)=>{let _=0;const J=v.length;let W=d.length-1,K=J-1;for(;_<=W&&_<=K;){const re=d[_],ce=v[_]=M?Gt(v[_]):dt(v[_]);if(Fr(re,ce))x(re,ce,T,null,E,O,H,P,M);else break;_++}for(;_<=W&&_<=K;){const re=d[W],ce=v[K]=M?Gt(v[K]):dt(v[K]);if(Fr(re,ce))x(re,ce,T,null,E,O,H,P,M);else break;W--,K--}if(_>W){if(_<=K){const re=K+1,ce=reK)for(;_<=W;)de(d[_],E,O,!0),_++;else{const re=_,ce=_,Te=new Map;for(_=ce;_<=K;_++){const We=v[_]=M?Gt(v[_]):dt(v[_]);We.key!=null&&Te.set(We.key,_)}let me,He=0;const Ve=K-ce+1;let it=!1,lt=0;const wr=new Array(Ve);for(_=0;_=Ve){de(We,E,O,!0);continue}let ut;if(We.key!=null)ut=Te.get(We.key);else for(me=ce;me<=K;me++)if(wr[me-ce]===0&&Fr(We,v[me])){ut=me;break}ut===void 0?de(We,E,O,!0):(wr[ut-ce]=_+1,ut>=lt?lt=ut:it=!0,x(We,v[ut],T,null,E,O,H,P,M),He++)}const Sa=it?Zu(wr):fr;for(me=Sa.length-1,_=Ve-1;_>=0;_--){const We=ce+_,ut=v[We],wa=v[We+1],Ta=We+1{const{el:O,type:H,transition:P,children:M,shapeFlag:_}=d;if(_&6){ue(d.component.subTree,v,T,U);return}if(_&128){d.suspense.move(v,T,U);return}if(_&64){H.move(d,v,T,qt);return}if(H===ze){n(O,v,T);for(let W=0;WP.enter(O),E);else{const{leave:W,delayLeave:K,afterLeave:re}=P,ce=()=>{d.ctx.isUnmounted?s(O):n(O,v,T)},Te=()=>{O._isLeaving&&O[ou](!0),W(O,()=>{ce(),re&&re()})};K?K(O,ce,Te):Te()}else n(O,v,T)},de=(d,v,T,U=!1,E=!1)=>{const{type:O,props:H,ref:P,children:M,dynamicChildren:_,shapeFlag:J,patchFlag:W,dirs:K,cacheIndex:re}=d;if(W===-2&&(E=!1),P!=null&&(Ot(),_r(P,null,T,d,!0),Ut()),re!=null&&(v.renderCache[re]=void 0),J&256){v.ctx.deactivate(d);return}const ce=J&1&&K,Te=!Rr(d);let me;if(Te&&(me=H&&H.onVnodeBeforeUnmount)&&ct(me,v,d),J&6)ie(d.component,T,U);else{if(J&128){d.suspense.unmount(T,U);return}ce&&Xt(d,null,v,"beforeUnmount"),J&64?d.type.remove(d,v,T,qt,U):_&&!_.hasOnce&&(O!==ze||W>0&&W&64)?le(_,v,T,!1,!0):(O===ze&&W&384||!E&&J&16)&&le(M,v,T),U&&Rt(d)}(Te&&(me=H&&H.onVnodeUnmounted)||ce)&&Ze(()=>{me&&ct(me,v,d),ce&&Xt(d,null,v,"unmounted")},T)},Rt=d=>{const{type:v,el:T,anchor:U,transition:E}=d;if(v===ze){Y(T,U);return}if(v===ss){F(d);return}const O=()=>{s(T),E&&!E.persisted&&E.afterLeave&&E.afterLeave()};if(d.shapeFlag&1&&E&&!E.persisted){const{leave:H,delayLeave:P}=E,M=()=>H(T,O);P?P(d.el,O,M):M()}else O()},Y=(d,v)=>{let T;for(;d!==v;)T=f(d),s(d),d=T;s(v)},ie=(d,v,T)=>{const{bum:U,scope:E,job:O,subTree:H,um:P,m:M,a:_}=d;Da(M),Da(_),U&&fn(U),E.stop(),O&&(O.flags|=8,de(H,d,v,T)),P&&Ze(P,v),Ze(()=>{d.isUnmounted=!0},v)},le=(d,v,T,U=!1,E=!1,O=0)=>{for(let H=O;H{if(d.shapeFlag&6)return xe(d.component.subTree);if(d.shapeFlag&128)return d.suspense.next();const v=f(d.anchor||d.el),T=v&&v[su];return T?f(T):v};let Ge=!1;const At=(d,v,T)=>{let U;d==null?v._vnode&&(de(v._vnode,null,null,!0),U=v._vnode.component):x(v._vnode||null,d,v,null,null,null,T),v._vnode=d,Ge||(Ge=!0,Ea(U),Ti(),Ge=!1)},qt={p:x,um:de,m:ue,r:Rt,mt:oe,mc:k,pc:z,pbc:V,n:xe,o:e};return{render:At,hydrate:void 0,createApp:Ou(At)}}function ns({type:e,props:t},r){return r==="svg"&&e==="foreignObject"||r==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:r}function Yt({effect:e,job:t},r){r?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function Wu(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function $i(e,t,r=!1){const n=e.children,s=t.children;if(ne(n)&&ne(s))for(let a=0;a>1,e[r[i]]0&&(t[n]=r[a-1]),r[a]=n)}}for(a=r.length,o=r[a-1];a-- >0;)r[a]=o,o=t[o];return r}function ji(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:ji(t)}function Da(e){if(e)for(let t=0;te.__isSuspense;function $u(e,t){t&&t.pendingBranch?ne(e)?t.effects.push(...e):t.effects.push(e):K0(e)}const ze=Symbol.for("v-fgt"),zn=Symbol.for("v-txt"),Wt=Symbol.for("v-cmt"),ss=Symbol.for("v-stc"),Mr=[];let je=null;function pe(e=!1){Mr.push(je=e?null:[])}function ju(){Mr.pop(),je=Mr[Mr.length-1]||null}let Hr=1;function Ba(e,t=!1){Hr+=e,e<0&&je&&t&&(je.hasOnce=!0)}function Yi(e){return e.dynamicChildren=Hr>0?je||fr:null,ju(),Hr>0&&je&&je.push(e),e}function ge(e,t,r,n,s,a){return Yi(I(e,t,r,n,s,a,!0))}function Ki(e,t,r,n,s){return Yi(Ke(e,t,r,n,s,!0))}function Ji(e){return e?e.__v_isVNode===!0:!1}function Fr(e,t){return e.type===t.type&&e.key===t.key}const Qi=({key:e})=>e??null,pn=({ref:e,ref_key:t,ref_for:r})=>(typeof e=="number"&&(e=""+e),e!=null?Le(e)||Ee(e)||ae(e)?{i:$e,r:e,k:t,f:!!r}:e:null);function I(e,t=null,r=null,n=0,s=null,a=e===ze?0:1,o=!1,i=!1){const l={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Qi(t),ref:t&&pn(t),scopeId:Ci,slotScopeIds:null,children:r,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:a,patchFlag:n,dynamicProps:s,dynamicChildren:null,appContext:null,ctx:$e};return i?(la(l,r),a&128&&e.normalize(l)):r&&(l.shapeFlag|=Le(r)?8:16),Hr>0&&!o&&je&&(l.patchFlag>0||a&6)&&l.patchFlag!==32&&je.push(l),l}const Ke=qu;function qu(e,t=null,r=null,n=0,s=null,a=!1){if((!e||e===xu)&&(e=Wt),Ji(e)){const i=mr(e,t,!0);return r&&la(i,r),Hr>0&&!a&&je&&(i.shapeFlag&6?je[je.indexOf(e)]=i:je.push(i)),i.patchFlag=-2,i}if(ac(e)&&(e=e.__vccOpts),t){t=Xu(t);let{class:i,style:l}=t;i&&!Le(i)&&(t.class=vt(i)),ke(l)&&(Nn(l)&&!ne(l)&&(l=Ae({},l)),t.style=Dr(l))}const o=Le(e)?1:Xi(e)?128:au(e)?64:ke(e)?4:ae(e)?2:0;return I(e,t,r,n,s,o,a,!0)}function Xu(e){return e?Nn(e)||Gi(e)?Ae({},e):e:null}function mr(e,t,r=!1,n=!1){const{props:s,ref:a,patchFlag:o,children:i,transition:l}=e,c=t?Ku(s||{},t):s,u={__v_isVNode:!0,__v_skip:!0,type:e.type,props:c,key:c&&Qi(c),ref:t&&t.ref?r&&a?ne(a)?a.concat(pn(t)):[a,pn(t)]:pn(t):a,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:i,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==ze?o===-1?16:o|16:o,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:l,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&mr(e.ssContent),ssFallback:e.ssFallback&&mr(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return l&&n&&aa(u,l.clone(u)),u}function Yu(e=" ",t=0){return Ke(zn,null,e,t)}function tr(e="",t=!1){return t?(pe(),Ki(Wt,null,e)):Ke(Wt,null,e)}function dt(e){return e==null||typeof e=="boolean"?Ke(Wt):ne(e)?Ke(ze,null,e.slice()):Ji(e)?Gt(e):Ke(zn,null,String(e))}function Gt(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:mr(e)}function la(e,t){let r=0;const{shapeFlag:n}=e;if(t==null)t=null;else if(ne(t))r=16;else if(typeof t=="object")if(n&65){const s=t.default;s&&(s._c&&(s._d=!1),la(e,s()),s._c&&(s._d=!0));return}else{r=32;const s=t._;!s&&!Gi(t)?t._ctx=$e:s===3&&$e&&($e.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else ae(t)?(t={default:t,_ctx:$e},r=32):(t=String(t),n&64?(r=16,t=[Yu(t)]):r=8);e.children=t,e.shapeFlag|=r}function Ku(...e){const t={};for(let r=0;rDe||$e;let Fn,Os;{const e=Pn(),t=(r,n)=>{let s;return(s=e[r])||(s=e[r]=[]),s.push(n),a=>{s.length>1?s.forEach(o=>o(a)):s[0](a)}};Fn=t("__VUE_INSTANCE_SETTERS__",r=>De=r),Os=t("__VUE_SSR_SETTERS__",r=>Vr=r)}const Xr=e=>{const t=De;return Fn(e),e.scope.on(),()=>{e.scope.off(),Fn(t)}},Na=()=>{De&&De.scope.off(),Fn(null)};function tl(e){return e.vnode.shapeFlag&4}let Vr=!1;function tc(e,t=!1,r=!1){t&&Os(t);const{props:n,children:s}=e.vnode,a=tl(e);Pu(e,n,a,t),Gu(e,s,r||t);const o=a?rc(e,t):void 0;return t&&Os(!1),o}function rc(e,t){const r=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,Su);const{setup:n}=r;if(n){Ot();const s=e.setupContext=n.length>1?sc(e):null,a=Xr(e),o=jr(n,e,0,[e.props,s]),i=Yo(o);if(Ut(),a(),(i||e.sp)&&!Rr(e)&&Oi(e),i){if(o.then(Na,Na),t)return o.then(l=>{Ga(e,l)}).catch(l=>{Gn(l,e,0)});e.asyncDep=o}else Ga(e,o)}else rl(e)}function Ga(e,t,r){ae(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:ke(t)&&(e.setupState=bi(t)),rl(e)}function rl(e,t,r){const n=e.type;e.render||(e.render=n.render||mt);{const s=Xr(e);Ot();try{wu(e)}finally{Ut(),s()}}}const nc={get(e,t){return Pe(e,"get",""),e[t]}};function sc(e){const t=r=>{e.exposed=r||{}};return{attrs:new Proxy(e.attrs,nc),slots:e.slots,emit:e.emit,expose:t}}function Wn(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(bi(ra(e.exposed)),{get(t,r){if(r in t)return t[r];if(r in Ar)return Ar[r](e)},has(t,r){return r in t||r in Ar}})):e.proxy}function ac(e){return ae(e)&&"__vccOpts"in e}const be=(e,t)=>$0(e,t,Vr),oc="3.5.27";let Us;const Ha=typeof window<"u"&&window.trustedTypes;if(Ha)try{Us=Ha.createPolicy("vue",{createHTML:e=>e})}catch{}const nl=Us?e=>Us.createHTML(e):e=>e,ic="http://www.w3.org/2000/svg",lc="http://www.w3.org/1998/Math/MathML",wt=typeof document<"u"?document:null,Va=wt&&wt.createElement("template"),uc={insert:(e,t,r)=>{t.insertBefore(e,r||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,r,n)=>{const s=t==="svg"?wt.createElementNS(ic,e):t==="mathml"?wt.createElementNS(lc,e):r?wt.createElement(e,{is:r}):wt.createElement(e);return e==="select"&&n&&n.multiple!=null&&s.setAttribute("multiple",n.multiple),s},createText:e=>wt.createTextNode(e),createComment:e=>wt.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>wt.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,r,n,s,a){const o=r?r.previousSibling:t.lastChild;if(s&&(s===a||s.nextSibling))for(;t.insertBefore(s.cloneNode(!0),r),!(s===a||!(s=s.nextSibling)););else{Va.innerHTML=nl(n==="svg"?`${e}`:n==="mathml"?`${e}`:e);const i=Va.content;if(n==="svg"||n==="mathml"){const l=i.firstChild;for(;l.firstChild;)i.appendChild(l.firstChild);i.removeChild(l)}t.insertBefore(i,r)}return[o?o.nextSibling:t.firstChild,r?r.previousSibling:t.lastChild]}},cc=Symbol("_vtc");function fc(e,t,r){const n=e[cc];n&&(t=(t?[t,...n]:[...n]).join(" ")),t==null?e.removeAttribute("class"):r?e.setAttribute("class",t):e.className=t}const za=Symbol("_vod"),hc=Symbol("_vsh"),pc=Symbol(""),dc=/(?:^|;)\s*display\s*:/;function vc(e,t,r){const n=e.style,s=Le(r);let a=!1;if(r&&!s){if(t)if(Le(t))for(const o of t.split(";")){const i=o.slice(0,o.indexOf(":")).trim();r[i]==null&&dn(n,i,"")}else for(const o in t)r[o]==null&&dn(n,o,"");for(const o in r)o==="display"&&(a=!0),dn(n,o,r[o])}else if(s){if(t!==r){const o=n[pc];o&&(r+=";"+o),n.cssText=r,a=dc.test(r)}}else t&&e.removeAttribute("style");za in e&&(e[za]=a?n.display:"",e[hc]&&(n.display="none"))}const Wa=/\s*!important$/;function dn(e,t,r){if(ne(r))r.forEach(n=>dn(e,t,n));else if(r==null&&(r=""),t.startsWith("--"))e.setProperty(t,r);else{const n=gc(e,t);Wa.test(r)?e.setProperty(ar(n),r.replace(Wa,""),"important"):e[n]=r}}const Za=["Webkit","Moz","ms"],as={};function gc(e,t){const r=as[t];if(r)return r;let n=yt(t);if(n!=="filter"&&n in e)return as[t]=n;n=qs(n);for(let s=0;sos||(bc.then(()=>os=0),os=Date.now());function wc(e,t){const r=n=>{if(!n._vts)n._vts=Date.now();else if(n._vts<=r.attached)return;bt(Tc(n,r.value),t,5,[n])};return r.value=e,r.attached=Sc(),r}function Tc(e,t){if(ne(t)){const r=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{r.call(e),e._stopped=!0},t.map(n=>s=>!s._stopped&&n&&n(s))}else return t}const Ka=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,Fc=(e,t,r,n,s,a)=>{const o=s==="svg";t==="class"?fc(e,n,o):t==="style"?vc(e,r,n):Rn(t)?$s(t)||xc(e,t,r,n,a):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Cc(e,t,n,o))?(qa(e,t,n),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&ja(e,t,n,o,a,t!=="value")):e._isVueCE&&(/[A-Z]/.test(t)||!Le(n))?qa(e,yt(t),n,a,t):(t==="true-value"?e._trueValue=n:t==="false-value"&&(e._falseValue=n),ja(e,t,n,o))};function Cc(e,t,r,n){if(n)return!!(t==="innerHTML"||t==="textContent"||t in e&&Ka(t)&&ae(r));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="autocorrect"||t==="sandbox"&&e.tagName==="IFRAME"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const s=e.tagName;if(s==="IMG"||s==="VIDEO"||s==="CANVAS"||s==="SOURCE")return!1}return Ka(t)&&Le(r)?!1:t in e}const Ja=e=>{const t=e.props["onUpdate:modelValue"]||!1;return ne(t)?r=>fn(t,r):t};function kc(e){e.target.composing=!0}function Qa(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const is=Symbol("_assign");function eo(e,t,r){return t&&(e=e.trim()),r&&(e=Xs(e)),e}const Ec={created(e,{modifiers:{lazy:t,trim:r,number:n}},s){e[is]=Ja(s);const a=n||s.props&&s.props.type==="number";cr(e,t?"change":"input",o=>{o.target.composing||e[is](eo(e.value,r,a))}),(r||a)&&cr(e,"change",()=>{e.value=eo(e.value,r,a)}),t||(cr(e,"compositionstart",kc),cr(e,"compositionend",Qa),cr(e,"change",Qa))},mounted(e,{value:t}){e.value=t??""},beforeUpdate(e,{value:t,oldValue:r,modifiers:{lazy:n,trim:s,number:a}},o){if(e[is]=Ja(o),e.composing)return;const i=(a||e.type==="number")&&!/^0\d/.test(e.value)?Xs(e.value):e.value,l=t??"";i!==l&&(document.activeElement===e&&e.type!=="range"&&(n&&t===r||s&&e.value.trim()===l)||(e.value=l))}},Oc=Ae({patchProp:Fc},uc);let to;function Uc(){return to||(to=Vu(Oc))}const Lc=((...e)=>{const t=Uc().createApp(...e),{mount:r}=t;return t.mount=n=>{const s=Rc(n);if(!s)return;const a=t._component;!ae(a)&&!a.render&&!a.template&&(a.template=s.innerHTML),s.nodeType===1&&(s.textContent="");const o=r(s,!1,_c(s));return s instanceof Element&&(s.removeAttribute("v-cloak"),s.setAttribute("data-v-app","")),o},t});function _c(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function Rc(e){return Le(e)?document.querySelector(e):e}let sl;const Zn=e=>sl=e,al=Symbol();function Ls(e){return e&&typeof e=="object"&&Object.prototype.toString.call(e)==="[object Object]"&&typeof e.toJSON!="function"}var Ir;(function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"})(Ir||(Ir={}));function Ac(){const e=si(!0),t=e.run(()=>Ce({}));let r=[],n=[];const s=ra({install(a){Zn(s),s._a=a,a.provide(al,s),a.config.globalProperties.$pinia=s,n.forEach(o=>r.push(o)),n=[]},use(a){return this._a?r.push(a):n.push(a),this},_p:r,_a:null,_e:e,_s:new Map,state:t});return s}const ol=()=>{};function ro(e,t,r,n=ol){e.add(t);const s=()=>{e.delete(t)&&n()};return!r&&ai()&&x0(s),s}function ir(e,...t){e.forEach(r=>{r(...t)})}const Mc=e=>e(),no=Symbol(),ls=Symbol();function _s(e,t){e instanceof Map&&t instanceof Map?t.forEach((r,n)=>e.set(n,r)):e instanceof Set&&t instanceof Set&&t.forEach(e.add,e);for(const r in t){if(!t.hasOwnProperty(r))continue;const n=t[r],s=e[r];Ls(s)&&Ls(n)&&e.hasOwnProperty(r)&&!Ee(n)&&!kt(n)?e[r]=_s(s,n):e[r]=n}return e}const Ic=Symbol();function Pc(e){return!Ls(e)||!Object.prototype.hasOwnProperty.call(e,Ic)}const{assign:Pt}=Object;function Dc(e){return!!(Ee(e)&&e.effect)}function Bc(e,t,r,n){const{state:s,actions:a,getters:o}=t,i=r.state.value[e];let l;function c(){i||(r.state.value[e]=s?s():{});const u=V0(r.state.value[e]);return Pt(u,a,Object.keys(o||{}).reduce((h,f)=>(h[f]=ra(be(()=>{Zn(r);const p=r._s.get(e);return o[f].call(p,p)})),h),{}))}return l=il(e,c,t,r,n,!0),l}function il(e,t,r={},n,s,a){let o;const i=Pt({actions:{}},r),l={deep:!0};let c,u,h=new Set,f=new Set,p;const m=n.state.value[e];!a&&!m&&(n.state.value[e]={});let x;function g(k){let L;c=u=!1,typeof k=="function"?(k(n.state.value[e]),L={type:Ir.patchFunction,storeId:e,events:p}):(_s(n.state.value[e],k),L={type:Ir.patchObject,payload:k,storeId:e,events:p});const V=x=Symbol();na().then(()=>{x===V&&(c=!0)}),u=!0,ir(h,L,n.state.value[e])}const y=a?function(){const{state:L}=r,V=L?L():{};this.$patch(N=>{Pt(N,V)})}:ol;function b(){o.stop(),h.clear(),f.clear(),n._s.delete(e)}const S=(k,L="")=>{if(no in k)return k[ls]=L,k;const V=function(){Zn(n);const N=Array.from(arguments),X=new Set,se=new Set;function oe(A){X.add(A)}function R(A){se.add(A)}ir(f,{args:N,name:V[ls],store:C,after:oe,onError:R});let G;try{G=k.apply(this&&this.$id===e?this:C,N)}catch(A){throw ir(se,A),A}return G instanceof Promise?G.then(A=>(ir(X,A),A)).catch(A=>(ir(se,A),Promise.reject(A))):(ir(X,G),G)};return V[no]=!0,V[ls]=L,V},F={_p:n,$id:e,$onAction:ro.bind(null,f),$patch:g,$reset:y,$subscribe(k,L={}){const V=ro(h,k,L.detached,()=>N()),N=o.run(()=>dr(()=>n.state.value[e],X=>{(L.flush==="sync"?u:c)&&k({storeId:e,type:Ir.direct,events:p},X)},Pt({},l,L)));return V},$dispose:b},C=Bn(F);n._s.set(e,C);const D=(n._a&&n._a.runWithContext||Mc)(()=>n._e.run(()=>(o=si()).run(()=>t({action:S}))));for(const k in D){const L=D[k];if(Ee(L)&&!Dc(L)||kt(L))a||(m&&Pc(L)&&(Ee(L)?L.value=m[k]:_s(L,m[k])),n.state.value[e][k]=L);else if(typeof L=="function"){const V=S(L,k);D[k]=V,i.actions[k]=L}}return Pt(C,D),Pt(he(C),D),Object.defineProperty(C,"$state",{get:()=>n.state.value[e],set:k=>{g(L=>{Pt(L,k)})}}),n._p.forEach(k=>{Pt(C,o.run(()=>k({store:C,app:n._a,pinia:n,options:i})))}),m&&a&&r.hydrate&&r.hydrate(C.$state,m),c=!0,u=!0,C}function ll(e,t,r){let n;const s=typeof t=="function";n=s?r:t;function a(o,i){const l=eu();return o=o||(l?Lr(al,null):null),o&&Zn(o),o=sl,o._s.has(e)||(s?il(e,t,n,o):Bc(e,n,o)),o._s.get(e)}return a.$id=e,a}const Nc="modulepreload",Gc=function(e){return"/"+e},so={},Cn=function(t,r,n){let s=Promise.resolve();if(r&&r.length>0){let l=function(c){return Promise.all(c.map(u=>Promise.resolve(u).then(h=>({status:"fulfilled",value:h}),h=>({status:"rejected",reason:h}))))};document.getElementsByTagName("link");const o=document.querySelector("meta[property=csp-nonce]"),i=o?.nonce||o?.getAttribute("nonce");s=l(r.map(c=>{if(c=Gc(c),c in so)return;so[c]=!0;const u=c.endsWith(".css"),h=u?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${c}"]${h}`))return;const f=document.createElement("link");if(f.rel=u?"stylesheet":Nc,u||(f.as="script"),f.crossOrigin="",f.href=c,i&&f.setAttribute("nonce",i),document.head.appendChild(f),u)return new Promise((p,m)=>{f.addEventListener("load",p),f.addEventListener("error",()=>m(new Error(`Unable to preload CSS for ${c}`)))})}))}function a(o){const i=new Event("vite:preloadError",{cancelable:!0});if(i.payload=o,window.dispatchEvent(i),!i.defaultPrevented)throw o}return s.then(o=>{for(const i of o||[])i.status==="rejected"&&a(i.reason);return t().catch(a)})},Hc="/assets/webicon-K25S575h.svg",Vc="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='360'%20height='33'%20fill='none'%20viewBox='0%200%20360%2033'%3e%3cg%20clip-path='url(%23a)'%3e%3cpath%20fill='%238552A1'%20d='M7.305%2015.333h7.898l-.856%201.51h8.49l.593-2.883H5.594L7.832%202.7%205.857.87h50.874L54.1%2013.96H36.724l-.592%202.883h17.572l-.856%204.12H35.276l-.395%201.968h17.507l-.79%203.936H34.09l-.263%201.373h20.468l-.79%203.89H0l.79-3.89h19.744l.263-1.373H4.87l.79-3.936h15.927l.395-1.968h-9.938l-.724%201.373H3.16l4.145-7.003ZM20.007%205.63H43.24l.33-1.373H20.336l-.329%201.373Zm22.311%204.668.263-1.327H19.35l-.263%201.327h23.232Zm51.795%2010.894.527-2.793h-9.872l.79-3.982h31.327l-.79%203.982h-10.004l-.526%202.793h8.753l-.855%204.165h-8.754l-.724%203.432h10.465l-.856%204.028H81.477l.856-4.028h10.2l.725-3.433H84.57l.856-4.165h8.687ZM85.36%204.622l-4.804.321-.856%204.303h5.66l-.855%204.21H78.12l-3.95%2019.498h-8.687l3.95-19.498H62.72l.856-4.21h5.989l.79-3.662-5.66.366.855-4.21L86.216.411l-.856%204.21ZM89.572.87h29.09l-2.369%2011.762h-29.09L89.573.87ZM59.101%2031.307l4.212-16.111h5.594l-4.212%2016.11H59.1Zm16.65%200%202.37-16.111h5.594l-2.37%2016.11h-5.594ZM107.21%208.65l.724-3.8h-9.345l-.724%203.8h9.345Zm35.276%2011.031.395-1.785%2014.545-3.112h-28.958l.921-4.44h43.766l-1.053%205.31-17.111%204.027h21.258l-.856%204.44h-21.324l-1.118%205.72c-.176.886-.757%201.626-1.744%202.22-.988.596-2.117.893-3.39.893h-12.965l5.857-4.302.922-4.531h-21.258l.856-4.44h21.257ZM163.81%206.957h-25.009l-.461%202.472h-13.755l1.382-6.82h19.942l.197-.915L144.066%200h15.927l-.593%202.61h19.086l-1.382%206.82h-13.755l.461-2.472Zm48.044%202.197-4.41%2013.044h2.962l2.896-14.371h-11.847l.856-4.348h11.846l.395-1.74L212.446%200h14.413l-.724%203.479h11.847l-.856%204.348H225.28l-2.962%2014.371h3.028l.855-13.044h8.161l-1.58%2023.022h-8.095l.329-5.63h-3.553l-1.317%206.408h-11.912l1.25-6.407h-3.488l-1.908%205.63h-8.161l7.766-23.023h8.161Zm-12.176-4.806-.197.961-5.594%2027.645h-11.913l5.266-25.951-3.818.503%201.053-5.217L200.534.092l-.856%204.256Zm79.503%2019.361%201.514%201.053%205.396-3.021H268.98l3.554-6.088h-4.081l.856-4.302h5.726l1.974-3.387h-4.607l.856-4.21h6.186l1.514-2.61L279.313%200h12.504l-2.04%203.753h9.872l-.856%204.211h-11.32l-1.776%203.387h14.018l-.856%204.302h-15.532l-1.119%202.106h14.216l-1.185%205.446-9.148%205.264%206.516%204.44h-11.846l-12.702-9.2h11.122Zm-33.565-9.566%203.751-6.545h-3.356l.856-4.257h4.936l1.118-1.922-1.316-1.373h9.346l-1.909%203.295h11.846l-.855%204.257h-13.426l-3.883%206.82h2.962l1.118-5.31h8.161l-1.053%205.31h3.686l-.79%204.073h-3.751l-.724%203.524%204.936-.457-.922%204.577-4.936.457-1.25%206.27h-9.872l1.053-5.309-9.938.916.921-4.577%209.938-.915.922-4.486h-8.424l.855-4.348Zm78.252%205.127%202.041-9.933h16.914l3.422-3.25h-6.581l-2.304%201.831h-11.122l8.687-6.82-1.25-1.052h13.623l-2.633%202.06h13.69l-.79%204.119-3.357%203.112h5.66l-2.04%209.932H360l-.856%204.12h-12.702L356.907%2033h-10.596l-6.845-6.957-9.016%206.774h-11.715l13.097-9.429h-10.991l.856-4.119h2.171ZM311.956%205.446l.856-4.165L311.232%200h12.505l-1.119%205.447h2.567l-.856%204.348h-2.632l-.856%204.394%202.698-.55-.987%204.76-2.698.55-2.172%2010.847c-.176.855-.735%201.572-1.678%202.151-.944.58-2.052.87-3.324.87h-10.53l5.133-4.12%201.514-7.46-4.278.87.987-4.806%204.212-.87%201.383-6.636h-4.147l.856-4.348h4.146Zm34.75%207.231-1.317%206.5h4.081l1.316-6.5h-4.08Zm-13.097.138-1.316%206.453h4.014l1.316-6.453h-4.014Z'/%3e%3c/g%3e%3cdefs%3e%3cclipPath%20id='a'%3e%3cpath%20fill='%23fff'%20d='M0%200h360v33H0z'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e",zc="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='15'%20height='13'%20fill='none'%20viewBox='0%200%2015%2013'%3e%3cpath%20fill='%235C5C66'%20d='M9.668%2012.667a.333.333%200%200%201-.31-.213L7.885%208.667H2.119L.646%2012.454a.333.333%200%201%201-.622-.242l4.667-12a.333.333%200%200%201%20.621%200l4.667%2012a.333.333%200%200%201-.31.455ZM2.378%208h5.248L5.002%201.253%202.378%208Zm11.957-6h-4a.333.333%200%201%201%200-.667h4a.333.333%200%200%201%200%20.667Z'/%3e%3c/svg%3e",Wc="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='22'%20height='20'%20fill='none'%20viewBox='0%200%2022%2020'%3e%3cpath%20fill='%235C5C66'%20d='M14.503%2020a.5.5%200%200%201-.466-.319L11.826%2014h-8.65L.97%2019.681a.501.501%200%200%201-.928.024.5.5%200%200%201-.004-.386l7-18a.5.5%200%200%201%20.932%200l7%2018a.5.5%200%200%201-.466.681ZM3.567%2013h7.871L7.503%202.88%203.567%2013Zm14.936-6a.5.5%200%200%201-.5-.5V4h-2.5a.5.5%200%200%201%200-1h2.5V.5a.5.5%200%200%201%201%200V3h2.5a.5.5%200%201%201%200%201h-2.5v2.5a.5.5%200%200%201-.5.5Z'/%3e%3c/svg%3e",Zc="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='36'%20height='36'%20fill='none'%20viewBox='0%200%2036%2036'%3e%3cpath%20fill='%23FCFCFC'%20d='M22.774%2013.238a6.734%206.734%200%201%201-4.77-1.98%206.702%206.702%200%200%201%204.77%201.98Z'/%3e%3cpath%20fill='%2300E8CF'%20d='M18.005%206.76v4.498a6.703%206.703%200%200%200-4.769%201.98L10.05%2010.05a11.238%2011.238%200%200%201%207.955-3.292Z'/%3e%3cpath%20fill='%2370FFEF'%20d='M18.005.761V6.76a11.239%2011.239%200%200%200-7.955%203.292L5.813%205.815A17.162%2017.162%200%200%201%2018.005.76Z'/%3e%3cpath%20fill='%230064B5'%20d='m10.05%2010.051%203.186%203.187a6.702%206.702%200%200%200-1.98%204.768H6.759a11.239%2011.239%200%200%201%203.292-7.955Z'/%3e%3cpath%20fill='%230091FF'%20d='M10.05%2010.051a11.238%2011.238%200%200%200-3.292%207.955H.76A17.162%2017.162%200%200%201%205.813%205.815l4.237%204.236Z'/%3e%3cpath%20fill='%2331C4FF'%20d='M11.257%2018.006a6.7%206.7%200%200%200%201.98%204.769l-3.187%203.187a11.24%2011.24%200%200%201-3.292-7.956h4.499Z'/%3e%3cpath%20fill='%239EEBFF'%20d='M6.758%2018.006a11.24%2011.24%200%200%200%203.292%207.956l-4.237%204.236A17.162%2017.162%200%200%201%20.76%2018.006h5.998Z'/%3e%3cpath%20fill='%235F4A9E'%20d='M18.005%2024.754v4.5a11.239%2011.239%200%200%201-7.955-3.292l3.186-3.187a6.702%206.702%200%200%200%204.769%201.98Z'/%3e%3cpath%20fill='%239D87E0'%20d='M10.05%2025.962a11.24%2011.24%200%200%200%207.955%203.291v5.998a17.16%2017.16%200%200%201-12.192-5.053l4.237-4.236Z'/%3e%3cpath%20fill='%23FF468C'%20d='M25.96%2025.962a11.241%2011.241%200%200%201-7.955%203.291v-4.499a6.7%206.7%200%200%200%204.769-1.98l3.186%203.188Z'/%3e%3cpath%20fill='%23FFA1C8'%20d='m25.96%2025.962%204.236%204.236a17.162%2017.162%200%200%201-12.191%205.053v-5.998a11.239%2011.239%200%200%200%207.955-3.291Z'/%3e%3cpath%20fill='%23F03049'%20d='M24.753%2018.006h4.499a11.241%2011.241%200%200%201-3.292%207.956l-3.186-3.187a6.7%206.7%200%200%200%201.979-4.769Z'/%3e%3cpath%20fill='%23FF636E'%20d='M29.252%2018.006h5.998a17.163%2017.163%200%200%201-5.053%2012.192l-4.237-4.236a11.241%2011.241%200%200%200%203.292-7.956Z'/%3e%3cpath%20fill='%23FE8205'%20d='M25.96%2010.051a11.24%2011.24%200%200%201%203.292%207.955h-4.499a6.701%206.701%200%200%200-1.98-4.768l3.187-3.187Z'/%3e%3cpath%20fill='%23FFA426'%20d='M35.25%2018.006h-5.998a11.24%2011.24%200%200%200-3.292-7.955l4.236-4.236a17.163%2017.163%200%200%201%205.054%2012.191Z'/%3e%3cpath%20fill='%23FFC247'%20d='m25.96%2010.051-3.186%203.187a6.702%206.702%200%200%200-4.77-1.98V6.76a11.24%2011.24%200%200%201%207.956%203.292Z'/%3e%3cpath%20fill='%23FFFD78'%20d='M30.197%205.815%2025.96%2010.05a11.24%2011.24%200%200%200-7.955-3.292V.761a17.162%2017.162%200%200%201%2012.192%205.054Z'/%3e%3cpath%20fill='%23000'%20d='m32.863%2010.832%201.35-.653a19.376%2019.376%200%200%200-.854-1.56L32.08%209.4c.286.467.546.948.783%201.432Z'/%3e%3cpath%20fill='%23000'%20d='m34.88%2011.743-1.406.525c.589%201.601.924%203.284.993%204.988H29.97a11.883%2011.883%200%200%200-2.967-7.186l3.186-3.185c.317.347.62.707.905%201.08l1.19-.914a17.995%2017.995%200%200%200-29.629%2020.35l1.277-.786a16.459%2016.459%200%200%201-2.405-7.859H6.03a11.882%2011.882%200%200%200%202.985%207.18l-3.188%203.187a16.61%2016.61%200%200%201-.91-1.075l-1.19.914A18%2018%200%200%200%2034.88%2011.744ZM5.822%206.883l3.185%203.187a11.883%2011.883%200%200%200-2.965%207.186H1.543a16.345%2016.345%200%200%201%204.28-10.372Zm16.424%2015.365a5.998%205.998%200%201%201%201.757-4.242%205.96%205.96%200%200%201-1.757%204.242ZM12.2%2013.26a7.424%207.424%200%200%200-1.652%203.995H7.545a10.39%2010.39%200%200%201%202.533-6.116l2.121%202.12Zm10.55-1.06a7.423%207.423%200%200%200-3.995-1.651V7.546a10.39%2010.39%200%200%201%206.117%202.533L22.75%2012.2Zm-5.495-1.655a7.422%207.422%200%200%200-3.993%201.658l-2.124-2.123a10.39%2010.39%200%200%201%206.117-2.534v3Zm-6.711%208.211A7.423%207.423%200%200%200%2012.2%2022.75l-2.123%202.124a10.39%2010.39%200%200%201-2.533-6.117h2.999Zm2.715%205.057a7.423%207.423%200%200%200%203.996%201.65v3.004a10.39%2010.39%200%200%201-6.117-2.534l2.121-2.12Zm5.496%201.654a7.423%207.423%200%200%200%203.993-1.657l2.123%202.123a10.39%2010.39%200%200%201-6.116%202.534v-3Zm7.177-.594-2.121-2.121a7.423%207.423%200%200%200%201.651-3.996h3.003a10.39%2010.39%200%200%201-2.533%206.117Zm2.533-7.617h-2.999a7.423%207.423%200%200%200-1.658-3.993l2.124-2.123a10.39%2010.39%200%200%201%202.533%206.116Zm-9.71-15.729a16.358%2016.358%200%200%201%2010.36%204.31l-3.181%203.18a11.89%2011.89%200%200%200-7.18-2.985V1.527Zm-1.5.018v4.5a11.89%2011.89%200%200%200-7.187%202.964L6.882%205.824a16.345%2016.345%200%200%201%2010.373-4.279Zm-7.187%2025.459a11.89%2011.89%200%200%200%207.187%202.965v4.499a16.354%2016.354%200%200%201-10.373-4.28l3.186-3.184Zm8.687%207.481V29.98a11.898%2011.898%200%200%200%207.186-2.976l3.186%203.186a16.37%2016.37%200%200%201-10.372%204.295Zm11.42-5.37-3.18-3.18a11.882%2011.882%200%200%200%202.983-7.179h4.506a16.352%2016.352%200%200%201-4.31%2010.36Z'/%3e%3c/svg%3e",$c="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='18'%20height='42'%20fill='none'%20viewBox='0%200%2018%2042'%3e%3cpath%20fill='%2300E8CF'%20d='M12.723%205.08H3.775v.442c0%20.513.14.917.42%201.212.263.28.652.42%201.164.42h7.2c.56%200%20.987-.125%201.282-.373.264-.233.42-.59.466-1.072l.07-.955a.771.771%200%200%201%20.268-.56.882.882%200%200%201%20.594-.21.794.794%200%200%201%20.571.28.81.81%200%200%201%20.198.606l-.07.955c-.078.948-.42%201.678-1.025%202.19-.606.529-1.39.793-2.354.793h-7.2c-.947%200-1.732-.303-2.353-.909-.606-.606-.909-1.398-.909-2.377V.816c0-.218.082-.408.245-.571A.809.809%200%200%201%202.936%200h9.787c.217%200%20.411.082.582.245a.764.764%200%200%201%20.256.57v3.45a.754.754%200%200%201-.256.582.842.842%200%200%201-.582.233ZM.839%2011.068h10.043v-.979a.78.78%200%200%201%20.244-.57.809.809%200%200%201%20.595-.245c.217%200%20.407.082.57.245a.782.782%200%200%201%20.245.57v.98h3.659c.217%200%20.407.08.57.244a.782.782%200%200%201%20.245.57.808.808%200%200%201-.245.595.782.782%200%200%201-.57.245h-3.659v7.572a.809.809%200%200%201-.245.595.782.782%200%200%201-.57.244.81.81%200%200%201-.595-.244.809.809%200%200%201-.244-.595v-7.572H.839a.809.809%200%200%201-.594-.245.809.809%200%200%201-.245-.594c0-.218.082-.408.245-.571a.809.809%200%200%201%20.594-.245Zm11.045-9.414h-8.11V3.45h8.11V1.654ZM6.198%2014.866v2.866a.809.809%200%200%201-.245.595.782.782%200%200%201-.57.244.809.809%200%200%201-.595-.244.809.809%200%200%201-.244-.595v-2.866a.81.81%200%200%201%20.244-.594.809.809%200%200%201%20.595-.245c.217%200%20.407.082.57.245a.81.81%200%200%201%20.245.594ZM1.266%2041.161v-7.456c0-.233.081-.431.244-.594a.809.809%200%200%201%20.595-.245c.233%200%20.427.081.582.245a.83.83%200%200%201%20.233.594v6.64h4.66v-9.6H2.99a.83.83%200%200%201-.594-.233.771.771%200%200%201-.245-.582v-6.268c0-.218.082-.408.245-.571a.809.809%200%200%201%20.594-.245c.218%200%20.408.082.571.245a.782.782%200%200%201%20.245.57v5.453H7.58v-7.2a.81.81%200%200%201%20.245-.594.809.809%200%200%201%20.594-.245c.218%200%20.408.082.571.245a.809.809%200%200%201%20.245.594v7.2h3.775v-5.569a.78.78%200%200%201%20.244-.57.809.809%200%200%201%20.595-.245.78.78%200%200%201%20.57.244.782.782%200%200%201%20.245.571v6.385a.771.771%200%200%201-.245.582.801.801%200%200%201-.57.233H9.235v9.6h4.66v-6.757a.81.81%200%200%201%20.245-.594.782.782%200%200%201%20.57-.245.81.81%200%200%201%20.595.245.81.81%200%200%201%20.245.594v7.573a.809.809%200%200%201-.245.594.81.81%200%200%201-.594.245H2.105a.809.809%200%200%201-.595-.245.809.809%200%200%201-.244-.594Z'/%3e%3c/svg%3e",jc="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='48'%20height='48'%20fill='none'%20viewBox='0%200%2048%2048'%3e%3ccircle%20cx='24'%20cy='24'%20r='24'%20fill='%238552A1'%20opacity='.2'/%3e%3ccircle%20cx='24'%20cy='24'%20r='18'%20fill='%238552A1'/%3e%3cpath%20fill='%23F3EDF7'%20d='M12.062%2018.99H17.4v1.942h-4.425c-.51%200-.834.025-.97.074-.287.1-.43.343-.43.728%200%20.324.137.573.41.747.15.1.555.15%201.214.15h1.475c.946%200%201.692.199%202.24.597.61.448.915%201.107.915%201.979%200%20.66-.187%201.263-.56%201.81-.274.436-.607.722-.999.86-.392.136-1.048.204-1.97.204H9.13V26.14h4.461c.548%200%20.921-.006%201.12-.019.448-.05.672-.305.672-.765%200-.373-.149-.629-.448-.765-.149-.075-.51-.112-1.082-.112h-1.512c-.598%200-1.055-.038-1.373-.112a2.451%202.451%200%200%201-.886-.411%202.399%202.399%200%200%201-.794-.98A3.14%203.14%200%200%201%209%2021.64c0-.908.33-1.63.99-2.165.398-.324%201.088-.486%202.072-.486Zm9.325%200%202.314%206.254%202.54-6.254h2.65l-3.92%209.091h-2.688l-3.622-9.09h2.726Zm12.946%200H39v9.036c0%20.51-.06.964-.177%201.362-.118.398-.29.734-.514%201.008a2.196%202.196%200%200%201-1.036.719c-.404.13-.992.196-1.764.196h-4.984V29.37h4.648c.548%200%20.905-.084%201.073-.252.168-.168.252-.514.252-1.037h-2.296c-.734%200-1.34-.077-1.82-.233a3.438%203.438%200%200%201-1.297-.774c-.909-.86-1.363-2.042-1.363-3.547%200-1.718.554-2.969%201.662-3.753a3.86%203.86%200%200%201%201.26-.606c.442-.119%201.005-.178%201.69-.178Zm2.166%207.15v-5.208h-2.073c-1.443%200-2.165.871-2.165%202.613%200%20.847.196%201.49.588%201.932.392.442.961.663%201.708.663h1.941Z'/%3e%3c/svg%3e",qc="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='48'%20height='48'%20fill='none'%20viewBox='0%200%2048%2048'%3e%3ccircle%20cx='24'%20cy='24'%20r='24'%20fill='%232420A8'%20opacity='.2'/%3e%3ccircle%20cx='24'%20cy='24'%20r='18'%20fill='%232420A8'/%3e%3cpath%20fill='%23F3EDF7'%20d='M9%2031.301v-12.3h4.296c.833%200%201.463.051%201.891.155.429.104.839.31%201.23.615%201.065.832%201.598%202.112%201.598%203.837%200%201.31-.392%202.369-1.175%203.177a3.537%203.537%200%200%201-1.35.88c-.508.184-1.129.276-1.863.276H11.46v3.36H9Zm4.131-10.391h-1.67v5.122h1.505c.795%200%201.377-.172%201.744-.514.514-.453.771-1.15.771-2.093%200-.808-.202-1.43-.606-1.864-.404-.434-.985-.651-1.744-.651Zm6.683%207.031v-8.94h4.737c.71%200%201.251.051%201.625.155.373.104.713.29%201.019.56.624.575.936%201.481.936%202.717v5.508h-2.46v-5.783c0-.44-.098-.759-.294-.955-.196-.196-.52-.293-.973-.293h-2.13v7.031h-2.46ZM34.41%2019H39v8.886c0%20.502-.058.949-.174%201.34a2.807%202.807%200%200%201-.505.992%202.161%202.161%200%200%201-1.02.707c-.397.128-.975.193-1.734.193h-4.902v-1.91h4.571c.539%200%20.89-.082%201.056-.248.165-.165.248-.505.248-1.019h-2.258c-.723%200-1.32-.076-1.79-.23a3.381%203.381%200%200%201-1.277-.761c-.893-.845-1.34-2.008-1.34-3.488%200-1.69.545-2.92%201.634-3.69a3.806%203.806%200%200%201%201.24-.598c.434-.116.988-.174%201.661-.174Zm2.13%207.032V20.91h-2.038c-1.42%200-2.13.856-2.13%202.57%200%20.832.193%201.466.578%201.9.386.435.946.652%201.68.652h1.91Z'/%3e%3c/svg%3e";String.prototype.codePointAt||(function(){var e=(function(){try{var r={},n=Object.defineProperty,s=n(r,r,r)&&n}catch{}return s})(),t=function(r){if(this==null)throw TypeError();var n=String(this),s=n.length,a=r?Number(r):0;if(a!=a&&(a=0),!(a<0||a>=s)){var o=n.charCodeAt(a),i;return o>=55296&&o<=56319&&s>a+1&&(i=n.charCodeAt(a+1),i>=56320&&i<=57343)?(o-55296)*1024+i-56320+65536:o}};e?e(String.prototype,"codePointAt",{value:t,configurable:!0,writable:!0}):String.prototype.codePointAt=t})();var ua=0,ul=-3;function zr(){this.table=new Uint16Array(16),this.trans=new Uint16Array(288)}function Xc(e,t){this.source=e,this.sourceIndex=0,this.tag=0,this.bitcount=0,this.dest=t,this.destLen=0,this.ltree=new zr,this.dtree=new zr}var cl=new zr,fl=new zr,ca=new Uint8Array(30),fa=new Uint16Array(30),hl=new Uint8Array(30),pl=new Uint16Array(30),Yc=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),ao=new zr,ft=new Uint8Array(320);function dl(e,t,r,n){var s,a;for(s=0;s>>=1,t}function pt(e,t,r){if(!t)return r;for(;e.bitcount<24;)e.tag|=e.source[e.sourceIndex++]<>>16-t;return e.tag>>>=t,e.bitcount-=t,n+r}function Rs(e,t){for(;e.bitcount<24;)e.tag|=e.source[e.sourceIndex++]<>>=1,++s,r+=t.table[s],n-=t.table[s];while(n>=0);return e.tag=a,e.bitcount-=s,t.trans[r+n]}function Qc(e,t,r){var n,s,a,o,i,l;for(n=pt(e,5,257),s=pt(e,5,1),a=pt(e,4,4),o=0;o<19;++o)ft[o]=0;for(o=0;o8;)e.sourceIndex--,e.bitcount-=8;if(t=e.source[e.sourceIndex+1],t=256*t+e.source[e.sourceIndex],r=e.source[e.sourceIndex+3],r=256*r+e.source[e.sourceIndex+2],t!==(~r&65535))return ul;for(e.sourceIndex+=4,n=t;n;--n)e.dest[e.destLen++]=e.source[e.sourceIndex++];return e.bitcount=0,ua}function tf(e,t){var r=new Xc(e,t),n,s,a;do{switch(n=Jc(r),s=pt(r,2,0),s){case 0:a=ef(r);break;case 1:a=io(r,cl,fl);break;case 2:Qc(r,r.ltree,r.dtree),a=io(r,r.ltree,r.dtree);break;default:a=ul}if(a!==ua)throw new Error("Data error")}while(!n);return r.destLenthis.x2&&(this.x2=e)),typeof t=="number"&&((isNaN(this.y1)||isNaN(this.y2))&&(this.y1=t,this.y2=t),tthis.y2&&(this.y2=t))};jt.prototype.addX=function(e){this.addPoint(e,null)};jt.prototype.addY=function(e){this.addPoint(null,e)};jt.prototype.addBezier=function(e,t,r,n,s,a,o,i){var l=[e,t],c=[r,n],u=[s,a],h=[o,i];this.addPoint(e,t),this.addPoint(o,i);for(var f=0;f<=1;f++){var p=6*l[f]-12*c[f]+6*u[f],m=-3*l[f]+9*c[f]-9*u[f]+3*h[f],x=3*c[f]-3*l[f];if(m===0){if(p===0)continue;var g=-x/p;0=0&&l>0&&(i+=" "),i+=t(c)}return i}for(var n="",s=0;s=0&&e<=255,"Byte value should be between 0 and 255."),[e]};te.BYTE=at(1);B.CHAR=function(e){return[e.charCodeAt(0)]};te.CHAR=at(1);B.CHARARRAY=function(e){typeof e>"u"&&(e="",console.warn("Undefined CHARARRAY encountered and treated as an empty string. This is probably caused by a missing glyph name."));for(var t=[],r=0;r"u"?0:e.length};B.USHORT=function(e){return[e>>8&255,e&255]};te.USHORT=at(2);B.SHORT=function(e){return e>=uo&&(e=-(2*uo-e)),[e>>8&255,e&255]};te.SHORT=at(2);B.UINT24=function(e){return[e>>16&255,e>>8&255,e&255]};te.UINT24=at(3);B.ULONG=function(e){return[e>>24&255,e>>16&255,e>>8&255,e&255]};te.ULONG=at(4);B.LONG=function(e){return e>=co&&(e=-(2*co-e)),[e>>24&255,e>>16&255,e>>8&255,e&255]};te.LONG=at(4);B.FIXED=B.ULONG;te.FIXED=te.ULONG;B.FWORD=B.SHORT;te.FWORD=te.SHORT;B.UFWORD=B.USHORT;te.UFWORD=te.USHORT;B.LONGDATETIME=function(e){return[0,0,0,0,e>>24&255,e>>16&255,e>>8&255,e&255]};te.LONGDATETIME=at(8);B.TAG=function(e){return Q.argument(e.length===4,"Tag should be exactly 4 ASCII characters."),[e.charCodeAt(0),e.charCodeAt(1),e.charCodeAt(2),e.charCodeAt(3)]};te.TAG=at(4);B.Card8=B.BYTE;te.Card8=te.BYTE;B.Card16=B.USHORT;te.Card16=te.USHORT;B.OffSize=B.BYTE;te.OffSize=te.BYTE;B.SID=B.USHORT;te.SID=te.USHORT;B.NUMBER=function(e){return e>=-107&&e<=107?[e+139]:e>=108&&e<=1131?(e=e-108,[(e>>8)+247,e&255]):e>=-1131&&e<=-108?(e=-e-108,[(e>>8)+251,e&255]):e>=-32768&&e<=32767?B.NUMBER16(e):B.NUMBER32(e)};te.NUMBER=function(e){return B.NUMBER(e).length};B.NUMBER16=function(e){return[28,e>>8&255,e&255]};te.NUMBER16=at(3);B.NUMBER32=function(e){return[29,e>>24&255,e>>16&255,e>>8&255,e&255]};te.NUMBER32=at(5);B.REAL=function(e){var t=e.toString(),r=/\.(\d*?)(?:9{5,20}|0{5,20})\d{0,2}(?:e(.+)|$)/.exec(t);if(r){var n=parseFloat("1e"+((r[2]?+r[2]:0)+r[1].length));t=(Math.round(e*n)/n).toString()}for(var s="",a=0,o=t.length;a>8&255,t[t.length]=n&255}return t};te.UTF16=function(e){return e.length*2};var As={"x-mac-croatian":"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®Š™´¨≠ŽØ∞±≤≥∆µ∂∑∏š∫ªºΩžø¿¡¬√ƒ≈ƫȅ ÀÃÕŒœĐ—“”‘’÷◊©⁄€‹›Æ»–·‚„‰ÂćÁčÈÍÎÏÌÓÔđÒÚÛÙıˆ˜¯πË˚¸Êæˇ","x-mac-cyrillic":"АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ†°Ґ£§•¶І®©™Ђђ≠Ѓѓ∞±≤≥іµґЈЄєЇїЉљЊњјЅ¬√ƒ≈∆«»… ЋћЌќѕ–—“”‘’÷„ЎўЏџ№Ёёяабвгдежзийклмнопрстуфхцчшщъыьэю","x-mac-gaelic":"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ÆØḂ±≤≥ḃĊċḊḋḞḟĠġṀæøṁṖṗɼƒſṠ«»… ÀÃÕŒœ–—“”‘’ṡẛÿŸṪ€‹›Ŷŷṫ·Ỳỳ⁊ÂÊÁËÈÍÎÏÌÓÔ♣ÒÚÛÙıÝýŴŵẄẅẀẁẂẃ","x-mac-greek":"Ĺ²É³ÖÜ΅àâä΄¨çéèê룙î‰ôö¦€ùûü†ΓΔΘΛΞΠß®©ΣΪ§≠°·Α±≤≥¥ΒΕΖΗΙΚΜΦΫΨΩάΝ¬ΟΡ≈Τ«»… ΥΧΆΈœ–―“”‘’÷ΉΊΌΎέήίόΏύαβψδεφγηιξκλμνοπώρστθωςχυζϊϋΐΰ­","x-mac-icelandic":"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûüݰ¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸ⁄€ÐðÞþý·‚„‰ÂÊÁËÈÍÎÏÌÓÔÒÚÛÙıˆ˜¯˘˙˚¸˝˛ˇ","x-mac-inuit":"ᐃᐄᐅᐆᐊᐋᐱᐲᐳᐴᐸᐹᑉᑎᑏᑐᑑᑕᑖᑦᑭᑮᑯᑰᑲᑳᒃᒋᒌᒍᒎᒐᒑ°ᒡᒥᒦ•¶ᒧ®©™ᒨᒪᒫᒻᓂᓃᓄᓅᓇᓈᓐᓯᓰᓱᓲᓴᓵᔅᓕᓖᓗᓘᓚᓛᓪᔨᔩᔪᔫᔭ… ᔮᔾᕕᕖᕗ–—“”‘’ᕘᕙᕚᕝᕆᕇᕈᕉᕋᕌᕐᕿᖀᖁᖂᖃᖄᖅᖏᖐᖑᖒᖓᖔᖕᙱᙲᙳᙴᙵᙶᖖᖠᖡᖢᖣᖤᖥᖦᕼŁł","x-mac-ce":"ÄĀāÉĄÖÜáąČäčĆć鏟ĎíďĒēĖóėôöõúĚěü†°Ę£§•¶ß®©™ę¨≠ģĮįĪ≤≥īĶ∂∑łĻļĽľĹĺŅņѬ√ńŇ∆«»… ňŐÕőŌ–—“”‘’÷◊ōŔŕŘ‹›řŖŗŠ‚„šŚśÁŤťÍŽžŪÓÔūŮÚůŰűŲųÝýķŻŁżĢˇ",macintosh:"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸ⁄€‹›fifl‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔÒÚÛÙıˆ˜¯˘˙˚¸˝˛ˇ","x-mac-romanian":"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ĂȘ∞±≤≥¥µ∂∑∏π∫ªºΩăș¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸ⁄€‹›Țț‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔÒÚÛÙıˆ˜¯˘˙˚¸˝˛ˇ","x-mac-turkish":"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸĞğİıŞş‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔÒÚÛÙˆ˜¯˘˙˚¸˝˛ˇ"};xr.MACSTRING=function(e,t,r,n){var s=As[n];if(s!==void 0){for(var a="",o=0;o=128&&(a=r[a],a===void 0))return;n[s]=a}return n}};te.MACSTRING=function(e,t){var r=B.MACSTRING(e,t);return r!==void 0?r.length:0};function Ms(e){return e>=-128&&e<=127}function sf(e,t,r){for(var n=0,s=e.length;t>8&255,l+256&255)}return a}B.VARDELTAS=function(e){for(var t=0,r=[];t=-128&&n<=127?t=af(e,t,r):t=of(e,t,r)}return r};B.INDEX=function(e){for(var t=1,r=[t],n=[],s=0;s>8,t[h+1]=f&255,t=t.concat(n[u])}return t};te.TABLE=function(e){for(var t=0,r=e.fields.length,n=0;n0)return new w(this.data,this.offset+t).parseStruct(e)};w.prototype.parsePointer32=function(e){var t=this.parseOffset32();if(t>0)return new w(this.data,this.offset+t).parseStruct(e)};w.prototype.parseListOfLists=function(e){for(var t=this.parseOffset16List(),r=t.length,n=this.relativeOffset,s=new Array(r),a=0;a>1,t.skip("uShort",3),e.glyphIndexMap={};for(var o=new j.Parser(r,n+s+14),i=new j.Parser(r,n+s+16+a*2),l=new j.Parser(r,n+s+16+a*4),c=new j.Parser(r,n+s+16+a*6),u=n+s+16+a*8,h=0;h=0;s-=1){var a=j.getUShort(e,t+4+s*8),o=j.getUShort(e,t+4+s*8+2);if(a===3&&(o===0||o===1||o===10)||a===0&&(o===0||o===1||o===2||o===3||o===4)){n=j.getULong(e,t+4+s*8+4);break}}if(n===-1)throw new Error("No valid cmap sub-tables found.");var i=new j.Parser(e,t+n);if(r.format=i.parseUShort(),r.format===12)df(r,i);else if(r.format===4)vf(r,i,e,t,n);else throw new Error("Only format 4 and 12 cmap tables are supported (found format "+r.format+").");return r}function mf(e,t,r){e.segments.push({end:t,start:t,delta:-(t-r),offset:0,glyphIndex:r})}function xf(e){e.segments.push({end:65535,start:65535,delta:1,offset:0})}function yf(e){var t=!0,r;for(r=e.length-1;r>0;r-=1){var n=e.get(r);if(n.unicode>65535){console.log("Adding CMAP format 12 (needed!)"),t=!1;break}}var s=[{name:"version",type:"USHORT",value:0},{name:"numTables",type:"USHORT",value:t?1:2},{name:"platformID",type:"USHORT",value:3},{name:"encodingID",type:"USHORT",value:1},{name:"offset",type:"ULONG",value:t?12:20}];t||(s=s.concat([{name:"cmap12PlatformID",type:"USHORT",value:3},{name:"cmap12EncodingID",type:"USHORT",value:10},{name:"cmap12Offset",type:"ULONG",value:0}])),s=s.concat([{name:"format",type:"USHORT",value:4},{name:"cmap4Length",type:"USHORT",value:0},{name:"language",type:"USHORT",value:0},{name:"segCountX2",type:"USHORT",value:0},{name:"searchRange",type:"USHORT",value:0},{name:"entrySelector",type:"USHORT",value:0},{name:"rangeShift",type:"USHORT",value:0}]);var a=new Z.Table("cmap",s);for(a.segments=[],r=0;r>4,o=s&15;if(a===r||(t+=n[a],o===r))break;t+=n[o]}return parseFloat(t)}function Af(e,t){var r,n,s,a;if(t===28)return r=e.parseByte(),n=e.parseByte(),r<<8|n;if(t===29)return r=e.parseByte(),n=e.parseByte(),s=e.parseByte(),a=e.parseByte(),r<<24|n<<16|s<<8|a;if(t===30)return Rf(e);if(t>=32&&t<=246)return t-139;if(t>=247&&t<=250)return r=e.parseByte(),(t-247)*256+r+108;if(t>=251&&t<=254)return r=e.parseByte(),-(t-251)*256-r-108;throw new Error("Invalid b0 "+t)}function Mf(e){for(var t={},r=0;r>1,l.length=0,u=!0}function D(k){for(var L,V,N,X,se,oe,R,G,A,z,ee,fe,ue=0;ue1&&!u&&(F=l.shift()+y,u=!0),p+=l.pop(),C(f,p);break;case 5:for(;l.length>0;)f+=l.shift(),p+=l.shift(),i.lineTo(f,p);break;case 6:for(;l.length>0&&(f+=l.shift(),i.lineTo(f,p),l.length!==0);)p+=l.shift(),i.lineTo(f,p);break;case 7:for(;l.length>0&&(p+=l.shift(),i.lineTo(f,p),l.length!==0);)f+=l.shift(),i.lineTo(f,p);break;case 8:for(;l.length>0;)n=f+l.shift(),s=p+l.shift(),a=n+l.shift(),o=s+l.shift(),f=a+l.shift(),p=o+l.shift(),i.curveTo(n,s,a,o,f,p);break;case 10:se=l.pop()+x,oe=m[se],oe&&D(oe);break;case 11:return;case 12:switch(de=k[ue],ue+=1,de){case 35:n=f+l.shift(),s=p+l.shift(),a=n+l.shift(),o=s+l.shift(),R=a+l.shift(),G=o+l.shift(),A=R+l.shift(),z=G+l.shift(),ee=A+l.shift(),fe=z+l.shift(),f=ee+l.shift(),p=fe+l.shift(),l.shift(),i.curveTo(n,s,a,o,R,G),i.curveTo(A,z,ee,fe,f,p);break;case 34:n=f+l.shift(),s=p,a=n+l.shift(),o=s+l.shift(),R=a+l.shift(),G=o,A=R+l.shift(),z=o,ee=A+l.shift(),fe=p,f=ee+l.shift(),i.curveTo(n,s,a,o,R,G),i.curveTo(A,z,ee,fe,f,p);break;case 36:n=f+l.shift(),s=p+l.shift(),a=n+l.shift(),o=s+l.shift(),R=a+l.shift(),G=o,A=R+l.shift(),z=o,ee=A+l.shift(),fe=z+l.shift(),f=ee+l.shift(),i.curveTo(n,s,a,o,R,G),i.curveTo(A,z,ee,fe,f,p);break;case 37:n=f+l.shift(),s=p+l.shift(),a=n+l.shift(),o=s+l.shift(),R=a+l.shift(),G=o+l.shift(),A=R+l.shift(),z=G+l.shift(),ee=A+l.shift(),fe=z+l.shift(),Math.abs(ee-f)>Math.abs(fe-p)?f=ee+l.shift():p=fe+l.shift(),i.curveTo(n,s,a,o,R,G),i.curveTo(A,z,ee,fe,f,p);break;default:console.log("Glyph "+t.index+": unknown operator 1200"+de),l.length=0}break;case 14:l.length>0&&!u&&(F=l.shift()+y,u=!0),h&&(i.closePath(),h=!1);break;case 18:q();break;case 19:case 20:q(),ue+=c+7>>3;break;case 21:l.length>2&&!u&&(F=l.shift()+y,u=!0),p+=l.pop(),f+=l.pop(),C(f,p);break;case 22:l.length>1&&!u&&(F=l.shift()+y,u=!0),f+=l.pop(),C(f,p);break;case 23:q();break;case 24:for(;l.length>2;)n=f+l.shift(),s=p+l.shift(),a=n+l.shift(),o=s+l.shift(),f=a+l.shift(),p=o+l.shift(),i.curveTo(n,s,a,o,f,p);f+=l.shift(),p+=l.shift(),i.lineTo(f,p);break;case 25:for(;l.length>6;)f+=l.shift(),p+=l.shift(),i.lineTo(f,p);n=f+l.shift(),s=p+l.shift(),a=n+l.shift(),o=s+l.shift(),f=a+l.shift(),p=o+l.shift(),i.curveTo(n,s,a,o,f,p);break;case 26:for(l.length%2&&(f+=l.shift());l.length>0;)n=f,s=p+l.shift(),a=n+l.shift(),o=s+l.shift(),f=a,p=o+l.shift(),i.curveTo(n,s,a,o,f,p);break;case 27:for(l.length%2&&(p+=l.shift());l.length>0;)n=f+l.shift(),s=p,a=n+l.shift(),o=s+l.shift(),f=a+l.shift(),p=o,i.curveTo(n,s,a,o,f,p);break;case 28:L=k[ue],V=k[ue+1],l.push((L<<24|V<<16)>>16),ue+=2;break;case 29:se=l.pop()+e.gsubrsBias,oe=e.gsubrs[se],oe&&D(oe);break;case 30:for(;l.length>0&&(n=f,s=p+l.shift(),a=n+l.shift(),o=s+l.shift(),f=a+l.shift(),p=o+(l.length===1?l.shift():0),i.curveTo(n,s,a,o,f,p),l.length!==0);)n=f+l.shift(),s=p,a=n+l.shift(),o=s+l.shift(),p=o+l.shift(),f=a+(l.length===1?l.shift():0),i.curveTo(n,s,a,o,f,p);break;case 31:for(;l.length>0&&(n=f+l.shift(),s=p,a=n+l.shift(),o=s+l.shift(),p=o+l.shift(),f=a+(l.length===1?l.shift():0),i.curveTo(n,s,a,o,f,p),l.length!==0);)n=f,s=p+l.shift(),a=n+l.shift(),o=s+l.shift(),f=a+l.shift(),p=o+(l.length===1?l.shift():0),i.curveTo(n,s,a,o,f,p);break;default:de<32?console.log("Glyph "+t.index+": unknown operator "+de):de<247?l.push(de-139):de<251?(L=k[ue],ue+=1,l.push((de-247)*256+L+108)):de<255?(L=k[ue],ue+=1,l.push(-(de-251)*256-L-108)):(L=k[ue],V=k[ue+1],N=k[ue+2],X=k[ue+3],ue+=4,l.push((L<<24|V<<16|N<<8|X)/65536))}}}return D(r),t.advanceWidth=F,i}function Nf(e,t,r,n){var s=[],a,o=new j.Parser(e,t),i=o.parseCard8();if(i===0)for(var l=0;l=n)throw new Error("CFF table CID Font FDSelect has bad FD index value "+a+" (FD count "+n+")");s.push(a)}else if(i===3){var c=o.parseCard16(),u=o.parseCard16();if(u!==0)throw new Error("CFF Table CID Font FDSelect format 3 range has bad initial GID "+u);for(var h,f=0;f=n)throw new Error("CFF table CID Font FDSelect has bad FD index value "+a+" (FD count "+n+")");if(h>r)throw new Error("CFF Table CID Font FDSelect format 3 range has bad GID "+h);for(;u=0&&(r=n),n=t.indexOf(e),n>=0?r=n+vn.length:(r=vn.length+t.length,t.push(e)),r}function Hf(){return new Z.Record("Header",[{name:"major",type:"Card8",value:1},{name:"minor",type:"Card8",value:0},{name:"hdrSize",type:"Card8",value:4},{name:"major",type:"Card8",value:1}])}function Vf(e){var t=new Z.Record("Name INDEX",[{name:"names",type:"INDEX",value:[]}]);t.names=[];for(var r=0;r=r.begin&&e=1&&(r.ulCodePageRange1=n.parseULong(),r.ulCodePageRange2=n.parseULong()),r.version>=2&&(r.sxHeight=n.parseShort(),r.sCapHeight=n.parseShort(),r.usDefaultChar=n.parseUShort(),r.usBreakChar=n.parseUShort(),r.usMaxContent=n.parseUShort()),r}function mh(e){return new Z.Table("OS/2",[{name:"version",type:"USHORT",value:3},{name:"xAvgCharWidth",type:"SHORT",value:0},{name:"usWeightClass",type:"USHORT",value:0},{name:"usWidthClass",type:"USHORT",value:0},{name:"fsType",type:"USHORT",value:0},{name:"ySubscriptXSize",type:"SHORT",value:650},{name:"ySubscriptYSize",type:"SHORT",value:699},{name:"ySubscriptXOffset",type:"SHORT",value:0},{name:"ySubscriptYOffset",type:"SHORT",value:140},{name:"ySuperscriptXSize",type:"SHORT",value:650},{name:"ySuperscriptYSize",type:"SHORT",value:699},{name:"ySuperscriptXOffset",type:"SHORT",value:0},{name:"ySuperscriptYOffset",type:"SHORT",value:479},{name:"yStrikeoutSize",type:"SHORT",value:49},{name:"yStrikeoutPosition",type:"SHORT",value:258},{name:"sFamilyClass",type:"SHORT",value:0},{name:"bFamilyType",type:"BYTE",value:0},{name:"bSerifStyle",type:"BYTE",value:0},{name:"bWeight",type:"BYTE",value:0},{name:"bProportion",type:"BYTE",value:0},{name:"bContrast",type:"BYTE",value:0},{name:"bStrokeVariation",type:"BYTE",value:0},{name:"bArmStyle",type:"BYTE",value:0},{name:"bLetterform",type:"BYTE",value:0},{name:"bMidline",type:"BYTE",value:0},{name:"bXHeight",type:"BYTE",value:0},{name:"ulUnicodeRange1",type:"ULONG",value:0},{name:"ulUnicodeRange2",type:"ULONG",value:0},{name:"ulUnicodeRange3",type:"ULONG",value:0},{name:"ulUnicodeRange4",type:"ULONG",value:0},{name:"achVendID",type:"CHARARRAY",value:"XXXX"},{name:"fsSelection",type:"USHORT",value:0},{name:"usFirstCharIndex",type:"USHORT",value:0},{name:"usLastCharIndex",type:"USHORT",value:0},{name:"sTypoAscender",type:"SHORT",value:0},{name:"sTypoDescender",type:"SHORT",value:0},{name:"sTypoLineGap",type:"SHORT",value:0},{name:"usWinAscent",type:"USHORT",value:0},{name:"usWinDescent",type:"USHORT",value:0},{name:"ulCodePageRange1",type:"ULONG",value:0},{name:"ulCodePageRange2",type:"ULONG",value:0},{name:"sxHeight",type:"SHORT",value:0},{name:"sCapHeight",type:"SHORT",value:0},{name:"usDefaultChar",type:"USHORT",value:0},{name:"usBreakChar",type:"USHORT",value:0},{name:"usMaxContext",type:"USHORT",value:0}],e)}var Ns={parse:gh,make:mh,unicodeRanges:Bs,getUnicodeRange:vh};function xh(e,t){var r={},n=new j.Parser(e,t);switch(r.version=n.parseVersion(),r.italicAngle=n.parseFixed(),r.underlinePosition=n.parseShort(),r.underlineThickness=n.parseShort(),r.isFixedPitch=n.parseULong(),r.minMemType42=n.parseULong(),r.maxMemType42=n.parseULong(),r.minMemType1=n.parseULong(),r.maxMemType1=n.parseULong(),r.version){case 1:r.names=Qt.slice();break;case 2:r.numberOfGlyphs=n.parseUShort(),r.glyphNameIndex=new Array(r.numberOfGlyphs);for(var s=0;s=Qt.length){var o=n.parseChar();r.names.push(n.parseString(o))}break;case 2.5:r.numberOfGlyphs=n.parseUShort(),r.offset=new Array(r.numberOfGlyphs);for(var i=0;ih.value.tag?1:-1}),t.fields=t.fields.concat(n),t.fields=t.fields.concat(s),t}function wo(e,t,r){for(var n=0;n0){var a=e.glyphs.get(s);return a.getMetrics()}}return r}function Fh(e){for(var t=0,r=0;rg||l===void 0)&&g>0&&(l=g),c 123 are reserved for internal usage");if(x.name!==".notdef"){var b=x.getMetrics();t.push(b.xMin),r.push(b.yMin),n.push(b.xMax),s.push(b.yMax),o.push(b.leftSideBearing),i.push(b.rightSideBearing),a.push(x.advanceWidth)}}var S={xMin:Math.min.apply(null,t),yMin:Math.min.apply(null,r),xMax:Math.max.apply(null,n),yMax:Math.max.apply(null,s),advanceWidthMax:Math.max.apply(null,a),advanceWidthAvg:Fh(a),minLeftSideBearing:Math.min.apply(null,o),maxLeftSideBearing:Math.max.apply(null,o),minRightSideBearing:Math.min.apply(null,i)};S.ascender=e.ascender,S.descender=e.descender;var F=Ul.make({flags:3,unitsPerEm:e.unitsPerEm,xMin:S.xMin,yMin:S.yMin,xMax:S.xMax,yMax:S.yMax,lowestRecPPEM:3,createdTimestamp:e.createdTimestamp}),C=Ll.make({ascender:S.ascender,descender:S.descender,advanceWidthMax:S.advanceWidthMax,minLeftSideBearing:S.minLeftSideBearing,minRightSideBearing:S.minRightSideBearing,xMaxExtent:S.maxLeftSideBearing+(S.xMax-S.xMin),numberOfHMetrics:e.glyphs.length}),q=Al.make(e.glyphs.length),D=Ns.make(Object.assign({xAvgCharWidth:Math.round(S.advanceWidthAvg),usFirstCharIndex:l,usLastCharIndex:c,ulUnicodeRange1:u,ulUnicodeRange2:h,ulUnicodeRange3:f,ulUnicodeRange4:p,sTypoAscender:S.ascender,sTypoDescender:S.descender,sTypoLineGap:0,usWinAscent:S.yMax,usWinDescent:Math.abs(S.yMin),ulCodePageRange1:1,sxHeight:wo(e,"xyvw",{yMax:Math.round(S.ascender/2)}).yMax,sCapHeight:wo(e,"HIKLEFJMNTZBDPRAGOQSUVWXY",S).yMax,usDefaultChar:e.hasChar(" ")?32:0,usBreakChar:e.hasChar(" ")?32:0},e.tables.os2)),k=_l.make(e.glyphs),L=ml.make(e.glyphs),V=e.getEnglishName("fontFamily"),N=e.getEnglishName("fontSubfamily"),X=V+" "+N,se=e.getEnglishName("postScriptName");se||(se=V.replace(/\s/g,"")+"-"+N);var oe={};for(var R in e.names)oe[R]=e.names[R];oe.uniqueID||(oe.uniqueID={en:e.getEnglishName("manufacturer")+":"+X}),oe.postScriptName||(oe.postScriptName={en:se}),oe.preferredFamily||(oe.preferredFamily=e.names.fontFamily),oe.preferredSubfamily||(oe.preferredSubfamily=e.names.fontSubfamily);var G=[],A=Bl.make(oe,G),z=G.length>0?Rl.make(G):void 0,ee=Nl.make(),fe=Ol.make(e.glyphs,{version:e.getEnglishName("version"),fullName:X,familyName:V,weightName:N,postScriptName:se,unitsPerEm:e.unitsPerEm,fontBBox:[0,S.yMin,S.ascender,S.advanceWidthMax]}),ue=e.metas&&Object.keys(e.metas).length>0?Hl.make(e.metas):void 0,de=[F,C,q,D,A,L,ee,fe,k];z&&de.push(z),e.tables.gsub&&de.push(Gl.make(e.tables.gsub)),ue&&de.push(ue);for(var Rt=Vl(de),Y=Rt.encode(),ie=va(Y),le=Rt.fields,xe=!1,Ge=0;Ge>>1,a=e[s].tag;if(a===t)return s;a>>1,a=e[s];if(a===t)return s;a>>1;r=e[a];var o=r.start;if(o===t)return r;o0)return r=e[n-1],t>r.end?0:r}function Yr(e,t){this.font=e,this.tableName=t}Yr.prototype={searchTag:fs,binSearch:To,getTable:function(e){var t=this.font.tables[this.tableName];return!t&&e&&(t=this.font.tables[this.tableName]=this.createDefaultTable()),t},getScriptNames:function(){var e=this.getTable();return e?e.scripts.map(function(t){return t.tag}):[]},getDefaultScriptName:function(){var e=this.getTable();if(e){for(var t=!1,r=0;r=0)return n[s].script;if(t){var a={tag:e,script:{defaultLangSys:{reserved:0,reqFeatureIndex:65535,featureIndexes:[]},langSysRecords:[]}};return n.splice(-1-s,0,a),a.script}}},getLangSysTable:function(e,t,r){var n=this.getScriptTable(e,r);if(n){if(!t||t==="dflt"||t==="DFLT")return n.defaultLangSys;var s=fs(n.langSysRecords,t);if(s>=0)return n.langSysRecords[s].langSys;if(r){var a={tag:t,langSys:{reserved:0,reqFeatureIndex:65535,featureIndexes:[]}};return n.langSysRecords.splice(-1-s,0,a),a.langSys}}},getFeatureTable:function(e,t,r,n){var s=this.getLangSysTable(e,t,n);if(s){for(var a,o=s.featureIndexes,i=this.font.tables[this.tableName].features,l=0;l=i[c-1].tag,"Features must be added in alphabetical order."),a={tag:r,feature:{params:0,lookupListIndexes:[]}},i.push(a),o.push(c),a.feature}}},getLookupTables:function(e,t,r,n,s){var a=this.getFeatureTable(e,t,r,s),o=[];if(a){for(var i,l=a.lookupListIndexes,c=this.font.tables[this.tableName].lookups,u=0;u=0?r:-1;case 2:var n=Fo(e.ranges,t);return n?n.index+t-n.start:-1}},expandCoverage:function(e){if(e.format===1)return e.glyphs;for(var t=[],r=e.ranges,n=0;n1,'Multiple: "by" must be an array of two or more ids');var s=this.getLookupTables(r,n,e,2,!0)[0],a=ga(s,1,{substFormat:1,coverage:{format:1,glyphs:[]},sequences:[]});Q.assert(a.coverage.format===1,"Multiple: unable to modify coverage table format "+a.coverage.format);var o=t.sub,i=this.binSearch(a.coverage.glyphs,o);i<0&&(i=-1-i,a.coverage.glyphs.splice(i,0,o),a.sequences.splice(i,0,0)),a.sequences[i]=t.by};Xe.prototype.addAlternate=function(e,t,r,n){var s=this.getLookupTables(r,n,e,3,!0)[0],a=ga(s,1,{substFormat:1,coverage:{format:1,glyphs:[]},alternateSets:[]});Q.assert(a.coverage.format===1,"Alternate: unable to modify coverage table format "+a.coverage.format);var o=t.sub,i=this.binSearch(a.coverage.glyphs,o);i<0&&(i=-1-i,a.coverage.glyphs.splice(i,0,o),a.alternateSets.splice(i,0,0)),a.alternateSets[i]=t.by};Xe.prototype.addLigature=function(e,t,r,n){var s=this.getLookupTables(r,n,e,4,!0)[0],a=s.subtables[0];a||(a={substFormat:1,coverage:{format:1,glyphs:[]},ligatureSets:[]},s.subtables[0]=a),Q.assert(a.coverage.format===1,"Ligature: unable to modify coverage table format "+a.coverage.format);var o=t.sub[0],i=t.sub.slice(1),l={ligGlyph:t.by,components:i},c=this.binSearch(a.coverage.glyphs,o);if(c>=0){for(var u=a.ligatureSets[c],h=0;h0?(a=e.parseByte(),(t&s)===0&&(a=-a),a=r+a):(t&s)>0?a=r:a=r+e.parseShort(),a}function zl(e,t,r){var n=new j.Parser(t,r);e.numberOfContours=n.parseShort(),e._xMin=n.parseShort(),e._yMin=n.parseShort(),e._xMax=n.parseShort(),e._yMax=n.parseShort();var s,a;if(e.numberOfContours>0){for(var o=e.endPointIndices=[],i=0;i0)for(var h=n.parseByte(),f=0;f0){var p=[],m;if(c>0){for(var x=0;x=0,p.push(m);for(var g=0,y=0;y0?(s&2)>0?(C.dx=n.parseShort(),C.dy=n.parseShort()):C.matchedPoints=[n.parseUShort(),n.parseUShort()]:(s&2)>0?(C.dx=n.parseChar(),C.dy=n.parseChar()):C.matchedPoints=[n.parseByte(),n.parseByte()],(s&8)>0?C.xScale=C.yScale=n.parseF2Dot14():(s&64)>0?(C.xScale=n.parseF2Dot14(),C.yScale=n.parseF2Dot14()):(s&128)>0&&(C.xScale=n.parseF2Dot14(),C.scale01=n.parseF2Dot14(),C.scale10=n.parseF2Dot14(),C.yScale=n.parseF2Dot14()),e.components.push(C),F=!!(s&32)}if(s&256){e.instructionLength=n.parseUShort(),e.instructions=[];for(var q=0;qt.points.length-1||n.matchedPoints[1]>s.points.length-1)throw Error("Matched points out of range in "+t.name);var o=t.points[n.matchedPoints[0]],i=s.points[n.matchedPoints[1]],l={xScale:n.xScale,scale01:n.scale01,scale10:n.scale10,yScale:n.yScale,dx:0,dy:0};i=hs([i],l)[0],l.dx=o.x-i.x,l.dy=o.y-i.y,a=hs(s.points,l)}t.points=t.points.concat(a)}}return Wl(t.points)}function _h(e,t,r,n){for(var s=new xt.GlyphSet(n),a=0;a2)){var r=this.font,n=this._prepState;if(!n||n.ppem!==t){var s=this._fpgmState;if(!s){Ht.prototype=Nh,s=this._fpgmState=new Ht("fpgm",r.tables.fpgm),s.funcs=[],s.font=r,exports.DEBUG&&(console.log("---EXEC FPGM---"),s.step=-1);try{sr(s)}catch(c){console.log("Hinting error in FPGM:"+c),this._errorState=3;return}}Ht.prototype=s,n=this._prepState=new Ht("prep",r.tables.prep),n.ppem=t;var a=r.tables.cvt;if(a)for(var o=n.cvt=new Array(a.length),i=t/r.unitsPerEm,l=0;l1))try{return ql(e,n)}catch(c){this._errorState<1&&(console.log("Hinting error:"+c),console.log("Note: further hinting errors are silenced")),this._errorState=1;return}}};ql=function(e,t){var r=t.ppem/t.font.unitsPerEm,n=r,s=e.components,a,o,i;if(Ht.prototype=t,!s)i=new Ht("glyf",e.instructions),exports.DEBUG&&(console.log("---EXEC GLYPH---"),i.step=-1),Gs(e,i,r,n),o=i.gZone;else{var l=t.font;o=[],a=[];for(var c=0;c=176&&a<=183)n+=a-176+1;else if(a>=184&&a<=191)n+=(a-184+1)*2;else if(t&&s===1&&a===27)break;while(s>0);e.ip=n}function ko(e,t){exports.DEBUG&&console.log(t.step,"SVTCA["+e.axis+"]"),t.fv=t.pv=t.dpv=e}function Eo(e,t){exports.DEBUG&&console.log(t.step,"SPVTCA["+e.axis+"]"),t.pv=t.dpv=e}function Oo(e,t){exports.DEBUG&&console.log(t.step,"SFVTCA["+e.axis+"]"),t.fv=e}function Uo(e,t){var r=t.stack,n=r.pop(),s=r.pop(),a=t.z2[n],o=t.z1[s];exports.DEBUG&&console.log("SPVTL["+e+"]",n,s);var i,l;e?(i=a.y-o.y,l=o.x-a.x):(i=o.x-a.x,l=o.y-a.y),t.pv=t.dpv=Qr(i,l)}function Lo(e,t){var r=t.stack,n=r.pop(),s=r.pop(),a=t.z2[n],o=t.z1[s];exports.DEBUG&&console.log("SFVTL["+e+"]",n,s);var i,l;e?(i=a.y-o.y,l=o.x-a.x):(i=o.x-a.x,l=o.y-a.y),t.fv=Qr(i,l)}function Gh(e){var t=e.stack,r=t.pop(),n=t.pop();exports.DEBUG&&console.log(e.step,"SPVFS[]",r,n),e.pv=e.dpv=Qr(n,r)}function Hh(e){var t=e.stack,r=t.pop(),n=t.pop();exports.DEBUG&&console.log(e.step,"SPVFS[]",r,n),e.fv=Qr(n,r)}function Vh(e){var t=e.stack,r=e.pv;exports.DEBUG&&console.log(e.step,"GPV[]"),t.push(r.x*16384),t.push(r.y*16384)}function zh(e){var t=e.stack,r=e.fv;exports.DEBUG&&console.log(e.step,"GFV[]"),t.push(r.x*16384),t.push(r.y*16384)}function Wh(e){e.fv=e.pv,exports.DEBUG&&console.log(e.step,"SFVTPV[]")}function Zh(e){var t=e.stack,r=t.pop(),n=t.pop(),s=t.pop(),a=t.pop(),o=t.pop(),i=e.z0,l=e.z1,c=i[r],u=i[n],h=l[s],f=l[a],p=e.z2[o];exports.DEBUG&&console.log("ISECT[], ",r,n,s,a,o);var m=c.x,x=c.y,g=u.x,y=u.y,b=h.x,S=h.y,F=f.x,C=f.y,q=(m-g)*(S-C)-(x-y)*(b-F),D=m*y-x*g,k=b*C-S*F;p.x=(D*(b-F)-k*(m-g))/q,p.y=(D*(S-C)-k*(x-y))/q}function $h(e){e.rp0=e.stack.pop(),exports.DEBUG&&console.log(e.step,"SRP0[]",e.rp0)}function jh(e){e.rp1=e.stack.pop(),exports.DEBUG&&console.log(e.step,"SRP1[]",e.rp1)}function qh(e){e.rp2=e.stack.pop(),exports.DEBUG&&console.log(e.step,"SRP2[]",e.rp2)}function Xh(e){var t=e.stack.pop();switch(exports.DEBUG&&console.log(e.step,"SZP0[]",t),e.zp0=t,t){case 0:e.tZone||$n(e),e.z0=e.tZone;break;case 1:e.z0=e.gZone;break;default:throw new Error("Invalid zone pointer")}}function Yh(e){var t=e.stack.pop();switch(exports.DEBUG&&console.log(e.step,"SZP1[]",t),e.zp1=t,t){case 0:e.tZone||$n(e),e.z1=e.tZone;break;case 1:e.z1=e.gZone;break;default:throw new Error("Invalid zone pointer")}}function Kh(e){var t=e.stack.pop();switch(exports.DEBUG&&console.log(e.step,"SZP2[]",t),e.zp2=t,t){case 0:e.tZone||$n(e),e.z2=e.tZone;break;case 1:e.z2=e.gZone;break;default:throw new Error("Invalid zone pointer")}}function Jh(e){var t=e.stack.pop();switch(exports.DEBUG&&console.log(e.step,"SZPS[]",t),e.zp0=e.zp1=e.zp2=t,t){case 0:e.tZone||$n(e),e.z0=e.z1=e.z2=e.tZone;break;case 1:e.z0=e.z1=e.z2=e.gZone;break;default:throw new Error("Invalid zone pointer")}}function Qh(e){e.loop=e.stack.pop(),exports.DEBUG&&console.log(e.step,"SLOOP[]",e.loop)}function ep(e){exports.DEBUG&&console.log(e.step,"RTG[]"),e.round=Yl}function tp(e){exports.DEBUG&&console.log(e.step,"RTHG[]"),e.round=Ph}function rp(e){var t=e.stack.pop();exports.DEBUG&&console.log(e.step,"SMD[]",t),e.minDis=t/64}function np(e){exports.DEBUG&&console.log(e.step,"ELSE[]"),Jl(e,!1)}function sp(e){var t=e.stack.pop();exports.DEBUG&&console.log(e.step,"JMPR[]",t),e.ip+=t-1}function ap(e){var t=e.stack.pop();exports.DEBUG&&console.log(e.step,"SCVTCI[]",t),e.cvCutIn=t/64}function op(e){var t=e.stack;exports.DEBUG&&console.log(e.step,"DUP[]"),t.push(t[t.length-1])}function ps(e){exports.DEBUG&&console.log(e.step,"POP[]"),e.stack.pop()}function ip(e){exports.DEBUG&&console.log(e.step,"CLEAR[]"),e.stack.length=0}function lp(e){var t=e.stack,r=t.pop(),n=t.pop();exports.DEBUG&&console.log(e.step,"SWAP[]"),t.push(r),t.push(n)}function up(e){var t=e.stack;exports.DEBUG&&console.log(e.step,"DEPTH[]"),t.push(t.length)}function cp(e){var t=e.stack,r=t.pop(),n=t.pop();exports.DEBUG&&console.log(e.step,"LOOPCALL[]",r,n);var s=e.ip,a=e.prog;e.prog=e.funcs[r];for(var o=0;o1?"loop "+(t.loop-i)+": ":"")+"SHP["+(e?"rp1":"rp2")+"]",c)}t.loop=1}function Mo(e,t){var r=t.stack,n=e?t.rp1:t.rp2,s=(e?t.z0:t.z1)[n],a=t.fv,o=t.pv,i=r.pop(),l=t.z2[t.contours[i]],c=l;exports.DEBUG&&console.log(t.step,"SHC["+e+"]",i);var u=o.distance(s,s,!1,!0);do c!==s&&a.setRelative(c,c,u,o),c=c.nextPointOnContour;while(c!==l)}function Io(e,t){var r=t.stack,n=e?t.rp1:t.rp2,s=(e?t.z0:t.z1)[n],a=t.fv,o=t.pv,i=r.pop();exports.DEBUG&&console.log(t.step,"SHZ["+e+"]",i);var l;switch(i){case 0:l=t.tZone;break;case 1:l=t.gZone;break;default:throw new Error("Invalid zone")}for(var c,u=o.distance(s,s,!1,!0),h=l.length-2,f=0;f1?"loop "+(e.loop-r)+": ":"")+"SHPIX[]",o,s),n.setRelative(i,i,s),n.touch(i)}e.loop=1}function gp(e){for(var t=e.stack,r=e.rp1,n=e.rp2,s=e.loop,a=e.z0[r],o=e.z1[n],i=e.fv,l=e.dpv,c=e.z2;s--;){var u=t.pop(),h=c[u];exports.DEBUG&&console.log(e.step,(e.loop>1?"loop "+(e.loop-s)+": ":"")+"IP[]",u,r,"<->",n),i.interpolate(h,a,o,l),i.touch(h)}e.loop=1}function Po(e,t){var r=t.stack,n=r.pop()/64,s=r.pop(),a=t.z1[s],o=t.z0[t.rp0],i=t.fv,l=t.pv;i.setRelative(a,o,n,l),i.touch(a),exports.DEBUG&&console.log(t.step,"MSIRP["+e+"]",n,s),t.rp1=t.rp0,t.rp2=s,e&&(t.rp0=s)}function mp(e){for(var t=e.stack,r=e.rp0,n=e.z0[r],s=e.loop,a=e.fv,o=e.pv,i=e.z1;s--;){var l=t.pop(),c=i[l];exports.DEBUG&&console.log(e.step,(e.loop>1?"loop "+(e.loop-s)+": ":"")+"ALIGNRP[]",l),a.setRelative(c,n,0,o),a.touch(c)}e.loop=1}function xp(e){exports.DEBUG&&console.log(e.step,"RTDG[]"),e.round=Ih}function Do(e,t){var r=t.stack,n=r.pop(),s=r.pop(),a=t.z0[s],o=t.fv,i=t.pv,l=t.cvt[n];exports.DEBUG&&console.log(t.step,"MIAP["+e+"]",n,"(",l,")",s);var c=i.distance(a,$r);e&&(Math.abs(c-l)",i),t.stack.push(Math.round(i*64))}function Cp(e){exports.DEBUG&&console.log(e.step,"MPPEM[]"),e.stack.push(e.ppem)}function kp(e){exports.DEBUG&&console.log(e.step,"FLIPON[]"),e.autoFlip=!0}function Ep(e){var t=e.stack,r=t.pop(),n=t.pop();exports.DEBUG&&console.log(e.step,"LT[]",r,n),t.push(nr?1:0)}function Lp(e){var t=e.stack,r=t.pop(),n=t.pop();exports.DEBUG&&console.log(e.step,"GTEQ[]",r,n),t.push(n>=r?1:0)}function _p(e){var t=e.stack,r=t.pop(),n=t.pop();exports.DEBUG&&console.log(e.step,"EQ[]",r,n),t.push(r===n?1:0)}function Rp(e){var t=e.stack,r=t.pop(),n=t.pop();exports.DEBUG&&console.log(e.step,"NEQ[]",r,n),t.push(r!==n?1:0)}function Ap(e){var t=e.stack,r=t.pop();exports.DEBUG&&console.log(e.step,"ODD[]",r),t.push(Math.trunc(r)%2?1:0)}function Mp(e){var t=e.stack,r=t.pop();exports.DEBUG&&console.log(e.step,"EVEN[]",r),t.push(Math.trunc(r)%2?0:1)}function Ip(e){var t=e.stack.pop();exports.DEBUG&&console.log(e.step,"IF[]",t),t||(Jl(e,!0),exports.DEBUG&&console.log(e.step,"EIF[]"))}function Pp(e){exports.DEBUG&&console.log(e.step,"EIF[]")}function Dp(e){var t=e.stack,r=t.pop(),n=t.pop();exports.DEBUG&&console.log(e.step,"AND[]",r,n),t.push(r&&n?1:0)}function Bp(e){var t=e.stack,r=t.pop(),n=t.pop();exports.DEBUG&&console.log(e.step,"OR[]",r,n),t.push(r||n?1:0)}function Np(e){var t=e.stack,r=t.pop();exports.DEBUG&&console.log(e.step,"NOT[]",r),t.push(r?0:1)}function ds(e,t){var r=t.stack,n=r.pop(),s=t.fv,a=t.pv,o=t.ppem,i=t.deltaBase+(e-1)*16,l=t.deltaShift,c=t.z0;exports.DEBUG&&console.log(t.step,"DELTAP["+e+"]",n,r);for(var u=0;u>4);if(p===o){var m=(f&15)-8;m>=0&&m++,exports.DEBUG&&console.log(t.step,"DELTAPFIX",h,"by",m*l);var x=c[h];s.setRelative(x,x,m*l,a)}}}function Gp(e){var t=e.stack,r=t.pop();exports.DEBUG&&console.log(e.step,"SDB[]",r),e.deltaBase=r}function Hp(e){var t=e.stack,r=t.pop();exports.DEBUG&&console.log(e.step,"SDS[]",r),e.deltaShift=Math.pow(.5,r)}function Vp(e){var t=e.stack,r=t.pop(),n=t.pop();exports.DEBUG&&console.log(e.step,"ADD[]",r,n),t.push(n+r)}function zp(e){var t=e.stack,r=t.pop(),n=t.pop();exports.DEBUG&&console.log(e.step,"SUB[]",r,n),t.push(n-r)}function Wp(e){var t=e.stack,r=t.pop(),n=t.pop();exports.DEBUG&&console.log(e.step,"DIV[]",r,n),t.push(n*64/r)}function Zp(e){var t=e.stack,r=t.pop(),n=t.pop();exports.DEBUG&&console.log(e.step,"MUL[]",r,n),t.push(n*r/64)}function $p(e){var t=e.stack,r=t.pop();exports.DEBUG&&console.log(e.step,"ABS[]",r),t.push(Math.abs(r))}function jp(e){var t=e.stack,r=t.pop();exports.DEBUG&&console.log(e.step,"NEG[]",r),t.push(-r)}function qp(e){var t=e.stack,r=t.pop();exports.DEBUG&&console.log(e.step,"FLOOR[]",r),t.push(Math.floor(r/64)*64)}function Xp(e){var t=e.stack,r=t.pop();exports.DEBUG&&console.log(e.step,"CEILING[]",r),t.push(Math.ceil(r/64)*64)}function un(e,t){var r=t.stack,n=r.pop();exports.DEBUG&&console.log(t.step,"ROUND[]"),r.push(t.round(n/64)*64)}function Yp(e){var t=e.stack,r=t.pop(),n=t.pop();exports.DEBUG&&console.log(e.step,"WCVTF[]",r,n),e.cvt[n]=r*e.ppem/e.font.unitsPerEm}function vs(e,t){var r=t.stack,n=r.pop(),s=t.ppem,a=t.deltaBase+(e-1)*16,o=t.deltaShift;exports.DEBUG&&console.log(t.step,"DELTAC["+e+"]",n,r);for(var i=0;i>4);if(u===s){var h=(c&15)-8;h>=0&&h++;var f=h*o;exports.DEBUG&&console.log(t.step,"DELTACFIX",l,"by",f),t.cvt[l]+=f}}}function Kp(e){var t=e.stack.pop();exports.DEBUG&&console.log(e.step,"SROUND[]",t),e.round=Kl;var r;switch(t&192){case 0:r=.5;break;case 64:r=1;break;case 128:r=2;break;default:throw new Error("invalid SROUND value")}switch(e.srPeriod=r,t&48){case 0:e.srPhase=0;break;case 16:e.srPhase=.25*r;break;case 32:e.srPhase=.5*r;break;case 48:e.srPhase=.75*r;break;default:throw new Error("invalid SROUND value")}t&=15,t===0?e.srThreshold=0:e.srThreshold=(t/8-.5)*r}function Jp(e){var t=e.stack.pop();exports.DEBUG&&console.log(e.step,"S45ROUND[]",t),e.round=Kl;var r;switch(t&192){case 0:r=Math.sqrt(2)/2;break;case 64:r=Math.sqrt(2);break;case 128:r=2*Math.sqrt(2);break;default:throw new Error("invalid S45ROUND value")}switch(e.srPeriod=r,t&48){case 0:e.srPhase=0;break;case 16:e.srPhase=.25*r;break;case 32:e.srPhase=.5*r;break;case 48:e.srPhase=.75*r;break;default:throw new Error("invalid S45ROUND value")}t&=15,t===0?e.srThreshold=0:e.srThreshold=(t/8-.5)*r}function Qp(e){exports.DEBUG&&console.log(e.step,"ROFF[]"),e.round=Mh}function e2(e){exports.DEBUG&&console.log(e.step,"RUTG[]"),e.round=Dh}function t2(e){exports.DEBUG&&console.log(e.step,"RDTG[]"),e.round=Bh}function r2(e){var t=e.stack.pop();exports.DEBUG&&console.log(e.step,"SCANCTRL[]",t)}function Go(e,t){var r=t.stack,n=r.pop(),s=r.pop(),a=t.z2[n],o=t.z1[s];exports.DEBUG&&console.log(t.step,"SDPVTL["+e+"]",n,s);var i,l;e?(i=a.y-o.y,l=o.x-a.x):(i=o.x-a.x,l=o.y-a.y),t.dpv=Qr(i,l)}function n2(e){var t=e.stack,r=t.pop(),n=0;exports.DEBUG&&console.log(e.step,"GETINFO[]",r),r&1&&(n=35),r&32&&(n|=4096),t.push(n)}function s2(e){var t=e.stack,r=t.pop(),n=t.pop(),s=t.pop();exports.DEBUG&&console.log(e.step,"ROLL[]"),t.push(n),t.push(r),t.push(s)}function a2(e){var t=e.stack,r=t.pop(),n=t.pop();exports.DEBUG&&console.log(e.step,"MAX[]",r,n),t.push(Math.max(n,r))}function o2(e){var t=e.stack,r=t.pop(),n=t.pop();exports.DEBUG&&console.log(e.step,"MIN[]",r,n),t.push(Math.min(n,r))}function i2(e){var t=e.stack.pop();exports.DEBUG&&console.log(e.step,"SCANTYPE[]",t)}function l2(e){var t=e.stack.pop(),r=e.stack.pop();switch(exports.DEBUG&&console.log(e.step,"INSTCTRL[]",t,r),t){case 1:e.inhibitGridFit=!!r;return;case 2:e.ignoreCvt=!!r;return;default:throw new Error("invalid INSTCTRL[] selector")}}function Mt(e,t){var r=t.stack,n=t.prog,s=t.ip;exports.DEBUG&&console.log(t.step,"PUSHB["+e+"]");for(var a=0;a=0?1:-1,g=Math.abs(g),e&&(b=a.cvt[i],n&&Math.abs(g-b)":"_")+(n?"R":"_")+(s===0?"Gr":s===1?"Bl":s===2?"Wh":"")+"]",e?i+"("+a.cvt[i]+","+b+")":"",l,"(d =",x,"->",y*g,")"),a.rp1=a.rp0,a.rp2=l,t&&(a.rp0=l)}jl=[ko.bind(void 0,Ct),ko.bind(void 0,gt),Eo.bind(void 0,Ct),Eo.bind(void 0,gt),Oo.bind(void 0,Ct),Oo.bind(void 0,gt),Uo.bind(void 0,0),Uo.bind(void 0,1),Lo.bind(void 0,0),Lo.bind(void 0,1),Gh,Hh,Vh,zh,Wh,Zh,$h,jh,qh,Xh,Yh,Kh,Jh,Qh,ep,tp,rp,np,sp,ap,void 0,void 0,op,ps,ip,lp,up,hp,pp,void 0,void 0,void 0,cp,fp,dp,void 0,_o.bind(void 0,0),_o.bind(void 0,1),Ro.bind(void 0,Ct),Ro.bind(void 0,gt),Ao.bind(void 0,0),Ao.bind(void 0,1),Mo.bind(void 0,0),Mo.bind(void 0,1),Io.bind(void 0,0),Io.bind(void 0,1),vp,gp,Po.bind(void 0,0),Po.bind(void 0,1),mp,xp,Do.bind(void 0,0),Do.bind(void 0,1),yp,bp,Sp,wp,Tp,Fp,Bo.bind(void 0,0),Bo.bind(void 0,1),void 0,No.bind(void 0,0),No.bind(void 0,1),Cp,void 0,kp,void 0,void 0,Ep,Op,Up,Lp,_p,Rp,Ap,Mp,Ip,Pp,Dp,Bp,Np,ds.bind(void 0,1),Gp,Hp,Vp,zp,Wp,Zp,$p,jp,qp,Xp,un.bind(void 0,0),un.bind(void 0,1),un.bind(void 0,2),un.bind(void 0,3),void 0,void 0,void 0,void 0,Yp,ds.bind(void 0,2),ds.bind(void 0,3),vs.bind(void 0,1),vs.bind(void 0,2),vs.bind(void 0,3),Kp,Jp,void 0,void 0,Qp,void 0,e2,t2,ps,ps,void 0,void 0,void 0,void 0,void 0,r2,Go.bind(void 0,0),Go.bind(void 0,1),n2,void 0,s2,a2,o2,i2,l2,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,Mt.bind(void 0,1),Mt.bind(void 0,2),Mt.bind(void 0,3),Mt.bind(void 0,4),Mt.bind(void 0,5),Mt.bind(void 0,6),Mt.bind(void 0,7),Mt.bind(void 0,8),It.bind(void 0,1),It.bind(void 0,2),It.bind(void 0,3),It.bind(void 0,4),It.bind(void 0,5),It.bind(void 0,6),It.bind(void 0,7),It.bind(void 0,8),$.bind(void 0,0,0,0,0,0),$.bind(void 0,0,0,0,0,1),$.bind(void 0,0,0,0,0,2),$.bind(void 0,0,0,0,0,3),$.bind(void 0,0,0,0,1,0),$.bind(void 0,0,0,0,1,1),$.bind(void 0,0,0,0,1,2),$.bind(void 0,0,0,0,1,3),$.bind(void 0,0,0,1,0,0),$.bind(void 0,0,0,1,0,1),$.bind(void 0,0,0,1,0,2),$.bind(void 0,0,0,1,0,3),$.bind(void 0,0,0,1,1,0),$.bind(void 0,0,0,1,1,1),$.bind(void 0,0,0,1,1,2),$.bind(void 0,0,0,1,1,3),$.bind(void 0,0,1,0,0,0),$.bind(void 0,0,1,0,0,1),$.bind(void 0,0,1,0,0,2),$.bind(void 0,0,1,0,0,3),$.bind(void 0,0,1,0,1,0),$.bind(void 0,0,1,0,1,1),$.bind(void 0,0,1,0,1,2),$.bind(void 0,0,1,0,1,3),$.bind(void 0,0,1,1,0,0),$.bind(void 0,0,1,1,0,1),$.bind(void 0,0,1,1,0,2),$.bind(void 0,0,1,1,0,3),$.bind(void 0,0,1,1,1,0),$.bind(void 0,0,1,1,1,1),$.bind(void 0,0,1,1,1,2),$.bind(void 0,0,1,1,1,3),$.bind(void 0,1,0,0,0,0),$.bind(void 0,1,0,0,0,1),$.bind(void 0,1,0,0,0,2),$.bind(void 0,1,0,0,0,3),$.bind(void 0,1,0,0,1,0),$.bind(void 0,1,0,0,1,1),$.bind(void 0,1,0,0,1,2),$.bind(void 0,1,0,0,1,3),$.bind(void 0,1,0,1,0,0),$.bind(void 0,1,0,1,0,1),$.bind(void 0,1,0,1,0,2),$.bind(void 0,1,0,1,0,3),$.bind(void 0,1,0,1,1,0),$.bind(void 0,1,0,1,1,1),$.bind(void 0,1,0,1,1,2),$.bind(void 0,1,0,1,1,3),$.bind(void 0,1,1,0,0,0),$.bind(void 0,1,1,0,0,1),$.bind(void 0,1,1,0,0,2),$.bind(void 0,1,1,0,0,3),$.bind(void 0,1,1,0,1,0),$.bind(void 0,1,1,0,1,1),$.bind(void 0,1,1,0,1,2),$.bind(void 0,1,1,0,1,3),$.bind(void 0,1,1,1,0,0),$.bind(void 0,1,1,1,0,1),$.bind(void 0,1,1,1,0,2),$.bind(void 0,1,1,1,0,3),$.bind(void 0,1,1,1,1,0),$.bind(void 0,1,1,1,1,1),$.bind(void 0,1,1,1,1,2),$.bind(void 0,1,1,1,1,3)];function br(e){this.char=e,this.state={},this.activeState=null}function ma(e,t,r){this.contextName=r,this.startIndex=e,this.endOffset=t}function u2(e,t,r){this.contextName=e,this.openRange=null,this.ranges=[],this.checkStart=t,this.checkEnd=r}function nt(e,t){this.context=e,this.index=t,this.length=e.length,this.current=e[t],this.backtrack=e.slice(0,t),this.lookahead=e.slice(t+1)}function jn(e){this.eventId=e,this.subscribers=[]}function c2(e){var t=this,r=["start","end","next","newToken","contextStart","contextEnd","insertToken","removeToken","removeRange","replaceToken","replaceRange","composeRUD","updateContextsRanges"];r.forEach(function(s){Object.defineProperty(t.events,s,{value:new jn(s)})}),e&&r.forEach(function(s){var a=e[s];typeof a=="function"&&t.events[s].subscribe(a)});var n=["insertToken","removeToken","removeRange","replaceToken","replaceRange","composeRUD"];n.forEach(function(s){t.events[s].subscribe(t.updateContextsRanges)})}function Oe(e){this.tokens=[],this.registeredContexts={},this.contextCheckers=[],this.events={},this.registeredModifiers=[],c2.call(this,e)}br.prototype.setState=function(e,t){return this.state[e]=t,this.activeState={key:e,value:this.state[e]},this.activeState};br.prototype.getState=function(e){return this.state[e]||null};Oe.prototype.inboundIndex=function(e){return e>=0&&e0&&e<=this.lookahead.length):return this.lookahead[e-1];default:return null}};Oe.prototype.rangeToText=function(e){if(e instanceof ma)return this.getRangeTokens(e).map(function(t){return t.char}).join("")};Oe.prototype.getText=function(){return this.tokens.map(function(e){return e.char}).join("")};Oe.prototype.getContext=function(e){var t=this.registeredContexts[e];return t||null};Oe.prototype.on=function(e,t){var r=this.events[e];return r?r.subscribe(t):null};Oe.prototype.dispatch=function(e,t){var r=this,n=this.events[e];n instanceof jn&&n.subscribers.forEach(function(s){s.apply(r,t||[])})};Oe.prototype.registerContextChecker=function(e,t,r){if(this.getContext(e))return{FAIL:"context name '"+e+"' is already registered."};if(typeof t!="function")return{FAIL:"missing context start check."};if(typeof r!="function")return{FAIL:"missing context end check."};var n=new u2(e,t,r);return this.registeredContexts[e]=n,this.contextCheckers.push(n),n};Oe.prototype.getRangeTokens=function(e){var t=e.startIndex+e.endOffset;return[].concat(this.tokens.slice(e.startIndex,t))};Oe.prototype.getContextRanges=function(e){var t=this.getContext(e);return t?t.ranges:{FAIL:"context checker '"+e+"' is not registered."}};Oe.prototype.resetContextsRanges=function(){var e=this.registeredContexts;for(var t in e)if(e.hasOwnProperty(t)){var r=e[t];r.ranges=[]}};Oe.prototype.updateContextsRanges=function(){this.resetContextsRanges();for(var e=this.tokens.map(function(n){return n.char}),t=0;t=s.start&&e<=s.end){var a=e-s.start;return s.index+a}}break;default:return-1}return-1}function h2(e,t){var r=en(e,t.coverage);return r===-1?null:e+t.deltaGlyphId}function p2(e,t){var r=en(e,t.coverage);return r===-1?null:t.substitute[r]}function gs(e,t){for(var r=[],n=0;n=0;r--){var n=t[r],s=Ql(n),a=Zt(n);if(!s&&!a)return!0;if(s)return!1}return!1}function O2(e){if(Ql(e.current))return!1;for(var t=0;t0}r("fontFamily"),r("weightName"),r("manufacturer"),r("copyright"),r("version"),this.unitsPerEm>0};we.prototype.toTables=function(){return kh.fontToTable(this)};we.prototype.toBuffer=function(){return console.warn("Font.toBuffer is deprecated. Use Font.toArrayBuffer instead."),this.toArrayBuffer()};we.prototype.toArrayBuffer=function(){for(var e=this.toTables(),t=e.encode(),r=new ArrayBuffer(t.length),n=new Uint8Array(r),s=0;s=1.2&&(s.markGlyphSets=r.parsePointer(K2)),s}var Q2={parse:J2},st=new Array(10);st[1]=function(){var t=this.offset+this.relativeOffset,r=this.parseUShort();if(r===1)return{posFormat:1,coverage:this.parsePointer(w.coverage),value:this.parseValueRecord()};if(r===2)return{posFormat:2,coverage:this.parsePointer(w.coverage),values:this.parseValueRecordList()};Q.assert(!1,"0x"+t.toString(16)+": GPOS lookup type 1 format must be 1 or 2.")};st[2]=function(){var t=this.offset+this.relativeOffset,r=this.parseUShort();Q.assert(r===1||r===2,"0x"+t.toString(16)+": GPOS lookup type 2 format must be 1 or 2.");var n=this.parsePointer(w.coverage),s=this.parseUShort(),a=this.parseUShort();if(r===1)return{posFormat:r,coverage:n,valueFormat1:s,valueFormat2:a,pairSets:this.parseList(w.pointer(w.list(function(){return{secondGlyph:this.parseUShort(),value1:this.parseValueRecord(s),value2:this.parseValueRecord(a)}})))};if(r===2){var o=this.parsePointer(w.classDef),i=this.parsePointer(w.classDef),l=this.parseUShort(),c=this.parseUShort();return{posFormat:r,coverage:n,valueFormat1:s,valueFormat2:a,classDef1:o,classDef2:i,class1Count:l,class2Count:c,classRecords:this.parseList(l,w.list(c,function(){return{value1:this.parseValueRecord(s),value2:this.parseValueRecord(a)}}))}}};st[3]=function(){return{error:"GPOS Lookup 3 not supported"}};st[4]=function(){return{error:"GPOS Lookup 4 not supported"}};st[5]=function(){return{error:"GPOS Lookup 5 not supported"}};st[6]=function(){return{error:"GPOS Lookup 6 not supported"}};st[7]=function(){return{error:"GPOS Lookup 7 not supported"}};st[8]=function(){return{error:"GPOS Lookup 8 not supported"}};st[9]=function(){return{error:"GPOS Lookup 9 not supported"}};function ed(e,t){t=t||0;var r=new w(e,t),n=r.parseVersion(1);return Q.argument(n===1||n===1.1,"Unsupported GPOS table version "+n),n===1?{version:n,scripts:r.parseScriptList(),features:r.parseFeatureList(),lookups:r.parseLookupList(st)}:{version:n,scripts:r.parseScriptList(),features:r.parseFeatureList(),lookups:r.parseLookupList(st),variations:r.parseFeatureVariationsList()}}var td=new Array(10);function rd(e){return new Z.Table("GPOS",[{name:"version",type:"ULONG",value:65536},{name:"scripts",type:"TABLE",value:new Z.ScriptList(e.scripts)},{name:"features",type:"TABLE",value:new Z.FeatureList(e.features)},{name:"lookups",type:"TABLE",value:new Z.LookupList(e.lookups,td)}])}var nd={parse:ed,make:rd};function sd(e){var t={};e.skip("uShort");var r=e.parseUShort();Q.argument(r===0,"Unsupported kern sub-table version."),e.skip("uShort",2);var n=e.parseUShort();e.skip("uShort",3);for(var s=0;s1&&console.warn("Only the first kern subtable is supported."),e.skip("uLong");var n=e.parseUShort(),s=n&255;if(e.skip("uShort"),s===0){var a=e.parseUShort();e.skip("uShort",3);for(var o=0;o0&&t&&t(Math.round(i/s*100))}const l=o.reduce((h,f)=>h+f.length,0),c=new Uint8Array(l);let u=0;for(const h of o)c.set(h,u),u+=h.length;return fd(c.buffer)}catch(r){throw new Error(`Failed to load font from ${e}: ${r}`)}}const Sr=ll("font",()=>{function e(R){try{const G=localStorage.getItem(R);if(!G)return new Set;const A=JSON.parse(G);return Array.isArray(A)?new Set(A.map(String)):new Set}catch{return new Set}}function t(R,G){try{localStorage.setItem(R,JSON.stringify(Array.from(G)))}catch{}}const r=Ce([]),n=Ce(new Set),s=Ce(e("font.favoriteFontIds")),a=Ce(e("font.previewFontIds")),o=Ce(e("font.expandedCategories")),i=Ce([]),l=Ce(!1),c=new Map,u=be(()=>r.value.filter(R=>n.value.has(R.id))),h=be(()=>r.value.filter(R=>s.value.has(R.id))),f=be(()=>r.value.filter(R=>a.value.has(R.id))),p=be(()=>se(h.value));function m(R){r.value.push(R)}function x(R){const G=r.value.findIndex(A=>A.id===R);G!==-1&&r.value.splice(G,1),n.value.delete(R),s.value.delete(R),t("font.favoriteFontIds",s.value),a.value.delete(R),t("font.previewFontIds",a.value)}function g(R){n.value.add(R)}function y(R){n.value.delete(R)}function b(R){n.value.has(R)?y(R):g(R)}function S(){n.value.clear()}function F(R){const G=r.value.find(A=>A.id===R);G&&(G.isFavorite=!0,s.value.add(R),t("font.favoriteFontIds",s.value))}function C(R){const G=r.value.find(A=>A.id===R);G&&(G.isFavorite=!1,s.value.delete(R),t("font.favoriteFontIds",s.value))}function q(R){s.value.has(R)?C(R):F(R)}function D(R){a.value.add(R),t("font.previewFontIds",a.value)}function k(R){a.value.delete(R),t("font.previewFontIds",a.value)}function L(R){a.value.has(R)?k(R):D(R)}function V(){a.value.clear(),t("font.previewFontIds",a.value)}function N(R,G){const A=new Set(o.value);G?A.add(R):A.delete(R),o.value=A,t("font.expandedCategories",o.value)}async function X(R){if(R.loaded||!R.path)return;const G=c.get(R.id);if(G){await G;return}const A=(async()=>{try{const z=await hd(R.path,ee=>{R.progress=ee});R.font=z,R.loaded=!0,R.progress=100}catch(z){throw console.error(`Failed to load font ${R.name}:`,z),z}finally{c.delete(R.id)}})();c.set(R.id,A),await A}function se(R){const G=[],A=new Map;for(const z of R){let ee=A.get(z.category);ee||(ee={name:z.category,type:"category",children:[],expanded:o.value.has(z.category),selected:!1},A.set(z.category,ee),G.push(ee));const fe={name:z.name,type:"font",fontInfo:z,expanded:!1,selected:n.value.has(z.id)};ee.children.push(fe)}G.sort((z,ee)=>z.name.localeCompare(ee.name,"zh-CN"));for(const z of G)z.children&&z.children.sort((ee,fe)=>ee.name.localeCompare(fe.name,"zh-CN"));return G}function oe(){i.value=se(r.value)}return{fonts:r,selectedFontIds:n,favoriteFontIds:s,previewFontIds:a,expandedCategoryNames:o,fontTree:i,isLoadingFonts:l,selectedFonts:u,favoriteFonts:h,previewFonts:f,favoriteTree:p,addFont:m,removeFont:x,selectFont:g,unselectFont:y,toggleSelectFont:b,clearSelection:S,favoriteFont:F,unfavoriteFont:C,toggleFavorite:q,addToPreview:D,removeFromPreview:k,togglePreview:L,clearPreview:V,setCategoryExpanded:N,loadFont:X,updateFontTree:oe}});function pd(){const e=Sr();async function t(){console.log("Starting to load font list..."),e.isLoadingFonts=!0;try{console.log("Fetching /fonts.json...");const r=await fetch("/fonts.json");if(console.log("Response status:",r.status,r.statusText),!r.ok)throw new Error(`Failed to load fonts.json: ${r.statusText}`);const n=await r.json();console.log("Loaded font list:",n.length,"fonts");for(const s of n){const a={id:s.id,name:s.name,path:s.path,category:s.category,isFavorite:!1,loaded:!1,progress:0};e.addFont(a)}e.updateFontTree(),console.log(`Successfully loaded ${n.length} fonts`)}catch(r){console.error("Failed to load font list:",r),alert("加载字体列表失败,请刷新页面重试")}finally{e.isLoadingFonts=!1,console.log("Font loading finished")}}return _i(()=>{console.log("useFontLoader: onMounted called"),t()}),{loadFontList:t}}const t0=ll("ui",()=>{function e(L){return Math.max(10,Math.min(500,L))}const t=(()=>{try{const L=localStorage.getItem("ui.fontSize"),V=L?Number(L):NaN;return Number.isFinite(V)?e(V):100}catch{return 100}})(),r=(()=>{try{return localStorage.getItem("ui.inputText")||""}catch{return""}})(),n=(()=>{try{return localStorage.getItem("ui.textColor")||"#000000"}catch{return"#000000"}})(),s=(()=>{try{const L=localStorage.getItem("ui.selectedExportItems");return L?JSON.parse(L):[]}catch{return[]}})(),a=Ce(r),o=Ce(t),i=Ce(n),l=Ce(0),c=Ce(!0),u=Ce(s),h=Ce(!1),f=Ce(!0),p=Ce(!0);function m(L){a.value=L;try{localStorage.setItem("ui.inputText",L)}catch{}}function x(L){const V=e(L);o.value=V;try{localStorage.setItem("ui.fontSize",String(V))}catch{}}function g(L){i.value=L;try{localStorage.setItem("ui.textColor",L)}catch{}}function y(L){l.value=L}function b(){c.value=!c.value}function S(L){const V=u.value.findIndex(N=>N.fontInfo.id===L.fontInfo.id);V>=0?u.value.splice(V,1):u.value.push(L);try{localStorage.setItem("ui.selectedExportItems",JSON.stringify(u.value))}catch{}}function F(L){const V=u.value.filter(N=>L.has(N.fontInfo.id));if(V.length!==u.value.length){u.value=V;try{localStorage.setItem("ui.selectedExportItems",JSON.stringify(u.value))}catch{}}}function C(){u.value=[];try{localStorage.setItem("ui.selectedExportItems",JSON.stringify([]))}catch{}}function q(L){u.value=[...L];try{localStorage.setItem("ui.selectedExportItems",JSON.stringify(u.value))}catch{}}function D(){f.value=!f.value}function k(){p.value=!p.value}return{inputText:a,fontSize:o,textColor:i,letterSpacing:l,enableLigatures:c,selectedExportItems:u,isExporting:h,isFontSelectorExpanded:f,isFavoritesExpanded:p,setInputText:m,setFontSize:x,setTextColor:g,setLetterSpacing:y,toggleLigatures:b,toggleExportItem:S,retainExportItemsByFontIds:F,clearExportSelection:C,selectAllExportItems:q,toggleFontSelectorExpanded:D,toggleFavoritesExpanded:k}}),Hs=45;function Zo(e){return e.replace(/\r\n?/g,` -`)}function Vs(e,t=Hs){if(t<=0)return Zo(e);const n=Zo(e).split(` -`),s=[];for(const a of n){const o=Array.from(a);if(o.length===0){s.push("");continue}for(let i=0;i(t.searchKeyword??"").trim().toLowerCase()),s=be(()=>n.value.length>0),a=be(()=>s.value||t.selectedOnly===!0);function o(b){if(b.type!=="category"||!b.children)return[];const S=b.children.filter(q=>q.type==="font"&&!!q.fontInfo),F=t.selectedOnly?S.filter(q=>r.previewFontIds.has(q.fontInfo.id)):S;if(!s.value)return F;const C=n.value;return b.name.toLowerCase().includes(C)?F:F.filter(q=>q.name.toLowerCase().includes(C))}function i(b){return b.type==="category"&&o(b).length>0}function l(b){return a.value?!0:!!b.expanded}function c(b){if(a.value)return;const S=!b.expanded;b.expanded=S,r.setCategoryExpanded(b.name,S)}function u(b,S){S.stopPropagation(),b.type==="font"&&b.fontInfo&&r.togglePreview(b.fontInfo.id)}function h(b,S){S.stopPropagation(),b.type==="font"&&b.fontInfo&&r.toggleFavorite(b.fontInfo.id)}function f(b){return b.type==="font"&&b.fontInfo?r.favoriteFontIds.has(b.fontInfo.id):!1}function p(b){return b.type==="font"&&b.fontInfo?r.previewFontIds.has(b.fontInfo.id):!1}function m(b){return o(b).map(S=>S.fontInfo.id)}function x(b){return o(b).length}function g(b){const S=m(b);return S.length>0&&S.every(F=>r.previewFontIds.has(F))}function y(b,S){S.stopPropagation();const F=m(b);F.length!==0&&(g(b)?F.forEach(C=>r.removeFromPreview(C)):F.forEach(C=>r.addToPreview(C)))}return(b,S)=>(pe(),ge("div",gd,[(pe(!0),ge(ze,null,wn(e.nodes,F=>(pe(),ge("div",{key:F.name},[i(F)?(pe(),ge("div",md,[I("div",xd,[I("div",yd,[I("button",{onClick:C=>c(F),class:"tree-toggle",disabled:a.value},[l(F)?(pe(),ge("img",{key:0,src:dd,alt:"收起",class:vt(["w-[15px] h-[15px]",{"opacity-70":a.value}])},null,2)):(pe(),ge("img",Sd))],8,bd)]),I("div",{onClick:C=>c(F),class:vt(["text-base font-medium text-black flex-1 ml-2",a.value?"cursor-default":"cursor-pointer"])},Qe(F.name)+"("+Qe(x(F))+"字体) ",11,wd),I("div",Td,[I("button",{onClick:C=>y(F,C),class:"w-4 h-4 shrink-0 p-0 border-0 bg-transparent cursor-pointer hover:opacity-85 transition-opacity",title:"分类全选/全不选"},[I("img",{src:g(F)?Me(Ws):Me(zs),alt:"分类全选/全不选",class:"w-full h-full"},null,8,Cd)],8,Fd),S[0]||(S[0]=I("div",{class:"w-[18px] h-[17px] shrink-0","aria-hidden":"true"},null,-1))])]),l(F)&&o(F).length>0?(pe(),ge("div",kd)):tr("",!0),l(F)&&o(F).length>0?(pe(),ge("div",Ed,[(pe(!0),ge(ze,null,wn(o(F),C=>(pe(),ge("div",{key:C.name,class:"flex items-center gap-2 border-b border-[#c9cdd4] pb-2 relative"},[S[1]||(S[1]=I("div",{class:"tree-horizontal-line"},null,-1)),S[2]||(S[2]=I("div",{class:"w-4 h-4 shrink-0 ml-[17px]"},[I("img",{src:r0,alt:"font",class:"w-full h-full"})],-1)),I("div",Od,Qe(C.name),1),I("button",{onClick:q=>u(C,q),class:vt(["w-[18px] h-[18px] shrink-0 border rounded-full flex items-center justify-center p-0 bg-transparent",p(C)?"bg-[#9b6bc2] border-[#9b6bc2]":"border-[#c9cdd4]"])},[p(C)?(pe(),ge("img",Ld)):tr("",!0)],10,Ud),I("button",{onClick:q=>h(C,q),class:"w-[18px] h-[17px] shrink-0 p-0 border-0 bg-transparent"},[I("img",{src:n0,alt:"收藏",class:vt(["w-full h-full",f(C)?"favorite-active":""])},null,2)],8,_d)]))),128))])):tr("",!0)])):tr("",!0)]))),128))]))}}),qn=(e,t)=>{const r=e.__vccOpts||e;for(const[n,s]of t)r[n]=s;return r},Ad=qn(Rd,[["__scopeId","data-v-1709e607"]]),Md="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='32'%20height='32'%20fill='none'%20viewBox='0%200%2032%2032'%3e%3crect%20width='32'%20height='32'%20fill='%238552A1'%20rx='10'%20transform='matrix(-1%200%200%201%2032%200)'/%3e%3cpath%20fill='%23FEFDFE'%20d='m24.845%2022.204-5.101-5.105-2.64%202.64%205.105%205.104a1.085%201.085%200%200%200%201.527%200l1.108-1.108a1.09%201.09%200%200%200%200-1.531ZM17.22%2018.6l1.382-1.382-1.576-1.576a5.512%205.512%200%200%200-.63-7.032%205.51%205.51%200%200%200-7.785%200c-2.15%202.146-2.146%205.635%200%207.785a5.512%205.512%200%200%200%207.033.63l1.575%201.576Zm-7.541-3.288a3.983%203.983%200%200%201%200-5.635%203.983%203.983%200%200%201%205.635%200%203.983%203.983%200%200%201%200%205.635%203.983%203.983%200%200%201-5.635%200Z'/%3e%3c/svg%3e",Id={class:"space-y-2 pb-1"},Pd={class:"sticky top-0 z-10 bg-white pt-1 pb-1"},Dd={class:"flex items-center gap-3"},Bd={class:"flex-1 min-w-0"},Nd={class:"h-8 rounded-[10px] bg-[#F3EDF7] pl-2 flex items-center"},Gd={type:"button",class:"w-8 h-8 shrink-0 p-0 border-0 bg-transparent flex items-center justify-center","aria-hidden":"true"},Hd=["src"],Vd={key:0,class:"text-sm text-gray-500 text-center py-8"},zd=qr({__name:"FontSelector",setup(e){const t=Sr(),r=Ce(""),n=be(()=>t.fontTree),s=be(()=>r.value.trim().toLowerCase()),a=be(()=>{const u=s.value;return u.includes("选中")||u.includes("选择")||u.includes("已选")||u.includes("xuan")}),o=be(()=>a.value?"":s.value),i=be(()=>s.value.length>0);function l(u){if(u.type!=="category")return!1;const h=(u.children??[]).filter(m=>m.type==="font"&&!!m.fontInfo),f=a.value?h.filter(m=>!!m.fontInfo&&t.previewFontIds.has(m.fontInfo.id)):h;if(o.value.length===0)return f.length>0;const p=o.value;return u.name.toLowerCase().includes(p)?f.length>0:f.some(m=>m.name.toLowerCase().includes(p))}const c=be(()=>i.value?n.value.some(u=>l(u)):n.value.length>0);return(u,h)=>(pe(),ge("div",Id,[I("div",Pd,[I("div",Dd,[h[1]||(h[1]=I("div",{class:"text-[16px] leading-none text-black font-bold shrink-0"}," 选择预览字体 ",-1)),I("div",Bd,[I("div",Nd,[hn(I("input",{"onUpdate:modelValue":h[0]||(h[0]=f=>r.value=f),type:"text",placeholder:"输入搜索字体名称","aria-label":"字体搜索",class:"flex-1 min-w-0 bg-transparent border-none outline-none text-[14px] text-black placeholder-[#a2a0a9]"},null,512),[[Ec,r.value]]),I("button",Gd,[I("img",{src:Me(Md),alt:"",class:"w-[24px] h-[24px]"},null,8,Hd)])])])])]),c.value?(pe(),Ki(Ad,{key:1,nodes:n.value,"search-keyword":o.value,"selected-only":a.value},null,8,["nodes","search-keyword","selected-only"])):(pe(),ge("div",Vd,Qe(i.value?"未找到匹配字体":"暂无字体"),1))]))}}),Wd={class:"space-y-2"},Zd={key:0,class:"text-sm text-gray-500 text-center py-8"},$d={key:1,class:"flex flex-col gap-3 favorite-indent"},jd={class:"flex-1 text-xs text-[#86909c]"},qd=["onClick"],Xd={key:0,src:ba,alt:"选中",class:"w-[11px] h-[9px]"},Yd=["onClick"],Kd=qr({__name:"FavoritesList",setup(e){const t=Sr(),r=be(()=>t.favoriteFonts);function n(i,l){l.stopPropagation(),t.togglePreview(i)}function s(i,l){l.stopPropagation(),t.toggleFavorite(i)}function a(i){return t.favoriteFontIds.has(i)}function o(i){return t.previewFontIds.has(i)}return(i,l)=>(pe(),ge("div",Wd,[r.value.length===0?(pe(),ge("div",Zd," 暂无收藏字体 ")):(pe(),ge("div",$d,[(pe(!0),ge(ze,null,wn(r.value,c=>(pe(),ge("div",{key:c.id,class:"flex items-center gap-2 border-b border-[#c9cdd4] pb-2"},[l[0]||(l[0]=I("div",{class:"w-4 h-4 shrink-0"},[I("img",{src:r0,alt:"font",class:"w-full h-full"})],-1)),I("div",jd,Qe(c.name),1),I("button",{onClick:u=>n(c.id,u),class:vt(["w-[18px] h-[18px] shrink-0 border rounded-full flex items-center justify-center p-0 bg-transparent",o(c.id)?"bg-[#9b6bc2] border-[#9b6bc2]":"border-[#c9cdd4]"])},[o(c.id)?(pe(),ge("img",Xd)):tr("",!0)],10,qd),I("button",{onClick:u=>s(c.id,u),class:"w-[18px] h-[17px] shrink-0 p-0 border-0 bg-transparent"},[I("img",{src:n0,alt:"收藏",class:vt(["w-full h-full",a(c.id)?"favorite-active":""])},null,2)],8,Yd)]))),128))]))]))}}),Jd=qn(Kd,[["__scopeId","data-v-e8bbd3fa"]]),Qd="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='10'%20height='10'%20fill='none'%20viewBox='0%200%2010%2010'%3e%3cpath%20fill='%230079F5'%20d='M7.432%209.596H2.164A2.165%202.165%200%200%201%200%207.432V2.164C0%20.97.97%200%202.164%200h5.268c1.195%200%202.164.97%202.164%202.164v5.268c0%201.195-.97%202.164-2.164%202.164Z'/%3e%3cpath%20fill='%23fff'%20d='M6.24%202.982a.36.36%200%200%200-.662%200l-1.272%202.98a.24.24%200%201%200%20.444.186l.147-.352a.813.813%200%200%201%20.75-.501h.524c.328%200%20.624.198.75.5l.147.353a.24.24%200%201%200%20.444-.187L6.24%202.982Zm.058%201.312a.42.42%200%201%201-.776.324.42.42%200%200%201%20.776-.324Zm-3.01-.587a.253.253%200%200%200-.465%200l-.774%201.814a.18.18%200%201%200%20.333.14l.08-.194a.495.495%200%200%201%20.457-.305h.273c.2%200%20.38.12.457.305l.08.194a.18.18%200%201%200%20.333-.14l-.774-1.814ZM3.055%204.84a.222.222%200%201%201%200-.443.222.222%200%200%201%200%20.443Z'/%3e%3c/svg%3e";let xs=null;async function e1(){if(!xs){const e=await Cn(()=>import("./hb-C3piUv6a.js").then(a=>a.h),__vite__mapDeps([0,1])),r=await(e.default||e)(),n=await Cn(()=>import("./hbjs-B2Ncxvef.js").then(a=>a.h),__vite__mapDeps([2,1]));xs=(n.default||n)(r)}return xs}async function t1(e,t,r){const n=await e1(),s=n.createBlob(e),a=n.createFace(s,0),o=n.createFont(a),i=n.createBuffer();i.addText(t),i.guessSegmentProperties(),n.shape(o,i);const l=i.json(o);return i.destroy(),o.destroy(),a.destroy(),s.destroy(),l.map(c=>({glyphIndex:c.g,xAdvance:c.ax||0,yAdvance:c.ay||0,xOffset:c.dx||0,yOffset:c.dy||0}))}function ye(e){return e.toFixed(2).replace(/\.?0+$/,"")||"0"}function s0(e){const t=e.path;if(!t||!t.commands||t.commands.length===0)return"";const r=[];for(const n of t.commands)switch(n.type){case"M":r.push(`M${ye(n.x)} ${ye(n.y)}`);break;case"L":r.push(`L${ye(n.x)} ${ye(n.y)}`);break;case"Q":r.push(`Q${ye(n.x1)} ${ye(n.y1)} ${ye(n.x)} ${ye(n.y)}`);break;case"C":r.push(`C${ye(n.x1)} ${ye(n.y1)} ${ye(n.x2)} ${ye(n.y2)} ${ye(n.x)} ${ye(n.y)}`);break;case"Z":r.push("Z");break}return r.join(" ")}function a0(e){const t=e.path;if(!t||!t.commands||t.commands.length===0)return null;let r=1/0,n=1/0,s=-1/0,a=-1/0;for(const o of t.commands)"x"in o&&(r=Math.min(r,o.x),s=Math.max(s,o.x),n=Math.min(n,o.y),a=Math.max(a,o.y)),"x1"in o&&(r=Math.min(r,o.x1),s=Math.max(s,o.x1),n=Math.min(n,o.y1),a=Math.max(a,o.y1)),"x2"in o&&(r=Math.min(r,o.x2),s=Math.max(s,o.x2),n=Math.min(n,o.y2),a=Math.max(a,o.y2));return r===1/0?null:{xMin:r,yMin:n,xMax:s,yMax:a}}async function o0(e){const{text:t,font:r,fontSize:n=100,fillColor:s="#000000",letterSpacing:a=0}=e;if(!t||t.trim()==="")throw new Error("文本内容不能为空");const o=Vs(t),i=n/r.unitsPerEm,l=a*r.unitsPerEm,c=[];let u=null,h=null,f=null,p=null,m=0;const x=Number.isFinite(r.ascender)?r.ascender:r.unitsPerEm*.8,g=Number.isFinite(r.descender)?r.descender:-r.unitsPerEm*.2,y=Math.max(r.unitsPerEm*1.2,x-g),b=o.split(` -`);for(let V=0;V`)}if(C.length===0)throw new Error("未生成任何路径");const q=`${ye(u)} 0 ${ye(f-u)} ${ye(p-h)}`,D=`translate(0 ${ye(p)}) scale(1 -1)`,k=` - - -${C.join(` -`)} - -`,L=r.names.fontFamily?.en||r.names.fullName?.en||"Unknown";return{svg:k,width:S,height:F,fontName:L}}async function r1(e,t){const{text:r,font:n,fontSize:s=100,fillColor:a="#000000",letterSpacing:o=0}=e;if(!r||r.trim()==="")throw new Error("文本内容不能为空");const i=await t1(t,r),l=s/n.unitsPerEm,c=o*n.unitsPerEm,u=[];let h=0,f=0,p=1;const m=i.find(N=>N.xAdvance)?.xAdvance||0;Math.abs(m)>n.unitsPerEm*4&&(p=1/64);const x=c/p;for(const N of i){const X=n.glyphs.get(N.glyphIndex),se=(h+N.xOffset)*p,oe=(f+N.yOffset)*p;u.push({glyph:X,xPos:se,yPos:oe}),h+=N.xAdvance+x,f+=N.yAdvance}let g=null,y=null,b=null,S=null;for(const N of u){const X=a0(N.glyph);if(!X)continue;const{xMin:se,yMin:oe,xMax:R,yMax:G}=X,A=se+N.xPos,z=oe+N.yPos,ee=R+N.xPos,fe=G+N.yPos;g=g===null?A:Math.min(g,A),y=y===null?z:Math.min(y,z),b=b===null?ee:Math.max(b,ee),S=S===null?fe:Math.max(S,fe)}if(g===null||y===null||b===null||S===null)throw new Error("未生成有效字形轮廓");const F=(b-g)*l,C=(S-y)*l;if(F<=0||C<=0)throw new Error("计算得到的 SVG 尺寸无效");const q=[];for(const N of u){const X=s0(N.glyph);if(!X)continue;const se=`translate(${ye(N.xPos)} ${ye(N.yPos)})`;q.push(` `)}if(q.length===0)throw new Error("未生成任何路径");const D=`${ye(g)} 0 ${ye(b-g)} ${ye(S-y)}`,k=`translate(0 ${ye(S)}) scale(1 -1)`,L=` - - -${q.join(` -`)} - -`,V=n.names.fontFamily?.en||n.names.fullName?.en||"Unknown";return{svg:L,width:F,height:C,fontName:V}}const n1=Object.freeze(Object.defineProperty({__proto__:null,generateSvg:o0,generateSvgWithHarfbuzz:r1},Symbol.toStringTag,{value:"Module"})),s1={class:"flex flex-col gap-2"},a1={key:0,class:"text-[#86909c] text-center py-20"},o1={key:1,class:"flex flex-col gap-2"},i1={class:"flex items-center gap-[8px] border-b border-[#c9cdd4] pb-[8px] pr-[8px]"},l1={class:"flex-1 text-xs text-[#86909c]"},u1=["onClick"],c1={key:0,src:ba,alt:"选中",class:"w-[11px] h-[9px]"},f1=["onClick"],h1=["innerHTML"],p1={key:0,class:"text-xs text-[#86909c] text-center py-2"},d1=240,v1=4,g1=600,$o="__FONT2SVG_FILL__",cn=20,m1=10,x1=qr({__name:"SvgPreview",setup(e,{expose:t}){const r=Sr(),n=t0(),s=Ce([]),a=Ce(!1),o=Ce(!1),i=Ce([]),l=Ce(0),c=Ce(0),u=Ce(null),h=be(()=>r.previewFonts),f=be(()=>n.inputText),p=be(()=>n.fontSize),m=be(()=>n.textColor);let x=null,g=0,y=!1,b=null;const S=new Map,F=be(()=>s.value.length>0&&s.value.every(Y=>Y.selected)),C=be(()=>c.values.value.slice(0,c.value)),D=be(()=>!C.value||q.value.length<=0?-1:Math.max(0,q.value.length-m1));function k(Y){return Y!==g}function L(Y=!0){if(x!==null&&(clearTimeout(x),x=null),!Y){ue();return}x=setTimeout(()=>{x=null,ue()},d1)}function V(Y){let ie=Y.parentElement;for(;ie;){const xe=window.getComputedStyle(ie).overflowY;if((xe==="auto"||xe==="scroll")&&ie.scrollHeight>ie.clientHeight)return ie;ie=ie.parentElement}return null}function N(){b&&(b.disconnect(),b=null)}function X(){if(N(),!C.value||!u.value)return;const Y=V(u.value);b=new IntersectionObserver(ie=>{ie.some(xe=>xe.isIntersecting)&&fe()},{root:Y,threshold:.01}),b.observe(u.value)}function se(Y,ie){ie===D.value&&(u.value=Y instanceof HTMLElement?Y:null)}function oe(Y){return[Y.id,Y.path,f.value,p.value].join("::")}function R(Y){const ie=S.get(Y);return ie?(S.delete(Y),S.set(Y,ie),ie):null}function G(Y,ie){for(S.has(Y)&&S.delete(Y),S.set(Y,ie);S.size>g1;){const le=S.keys().next().value;if(le===void 0)break;S.delete(le)}}async function A(Y){if(!Y.font)return null;const ie=oe(Y);let le=R(ie);if(!le){const xe=await o0({text:f.value,font:Y.font,fontSize:p.value,fillColor:$o});le={width:xe.width,height:xe.height,fontName:xe.fontName,svgTemplate:xe.svg},G(ie,le)}return{width:le.width,height:le.height,fontName:le.fontName,svg:le.svgTemplate.split($o).join(m.value)}}async function z(Y,ie,le,xe){const Ge=Math.min(ie+le,Y.length),At=Y.slice(ie,Ge);if(At.length===0)return[];const qt=new Set(n.selectedExportItems.map(U=>U.fontInfo.id)),Yn=new Array(At.length).fill(null),d=Math.min(v1,At.length);let v=0;const T=async()=>{for(;;){if(k(xe))return;const U=v;if(v+=1,U>=At.length)return;const E=At[U];if(E){if(!E.loaded)try{await r.loadFont(E)}catch(O){console.error(`Failed to load font ${E.name}:`,O);continue}if(!(k(xe)||!E.font))try{const O=await A(E);if(!O)continue;if(k(xe))return;Yn[U]={fontInfo:E,svgResult:O,selected:qt.has(E.id)}}catch(O){console.error(`Failed to generate SVG for ${E.name}:`,O)}}}};return await Promise.all(Array.from({length:d},()=>T())),k(xe)?[]:Yn.filter(U=>U!==null)}async function ee(Y){if(o.value||k(Y))return;const ie=l.value;if(!(ie>=i.value.length)){o.value=!0;try{const le=await z(i.value,ie,cn,Y);if(k(Y))return;l.value=Math.min(ie+cn,i.value.length),s.value=[...s.value,...le],c.value=Math.min(c.value+cn,s.value.length)}catch(le){console.error("Failed to load preview batch:",le)}finally{k(Y)||(o.value=!1)}}}async function fe(){const Y=g;if(!(o.value||k(Y))){if(c.valuexe.id));if(n.retainExportItemsByFontIds(le),i.value=ie,l.value=0,s.value=[],c.value=0,!f.value||f.value.trim()===""||ie.length===0){a.value=!1;return}a.value=!0;try{await ee(Y)}catch(xe){console.error("Failed to regenerate previews:",xe)}finally{k(Y)||(a.value=!1)}}dr([h,f,p,m],()=>{L(y),y=!0},{immediate:!0}),dr([D,C],async()=>{u.value=null,await na(),X()},{immediate:!0}),Ri(()=>{x!==null&&(clearTimeout(x),x=null),N(),g+=1});function de(Y){Y.selected=!Y.selected,n.toggleExportItem(Y)}function Rt(){if(s.value.length!==0){if(F.value){n.clearExportSelection(),s.value.forEach(Y=>{Y.selected=!1});return}s.value.forEach(Y=>{Y.selected=!0}),n.selectAllExportItems(s.value)}}return t({toggleSelectAllPreviewItems:Rt}),(Y,ie)=>(pe(),ge("div",s1,[s.value.length===0?(pe(),ge("div",a1,Qe(a.value?"生成预览中...":"请选择字体并输入内容"),1)):(pe(),ge("div",o1,[(pe(!0),ge(ze,null,wn(q.value,(le,xe)=>(pe(),ge("div",{key:le.fontInfo.id,ref_for:!0,ref:Ge=>se(Ge,xe),class:"flex flex-col gap-2"},[I("div",i1,[ie[0]||(ie[0]=I("div",{class:"w-[24px] h-[24px] shrink-0"},[I("img",{src:Qd,alt:"字体",class:"w-full h-full"})],-1)),I("div",l1,Qe(le.fontInfo.name),1),I("button",{onClick:Ge=>de(le),class:vt(["w-[18px] h-[18px] shrink-0 border rounded-full flex items-center justify-center p-0 bg-transparent",le.selected?"bg-[#9b6bc2] border-[#9b6bc2]":"border-[#c9cdd4]"])},[le.selected?(pe(),ge("img",c1)):tr("",!0)],10,u1)]),I("div",{onClick:Ge=>de(le),class:"bg-white px-[8px] py-[8px] cursor-pointer"},[I("div",{innerHTML:le.svgResult.svg,class:"svg-preview-container"},null,8,h1)],8,f1)]))),128)),C.value?(pe(),ge("div",p1,Qe(o.value?"加载中...":`继续下滑加载更多(${q.value.length}/${i.value.length})`),1)):tr("",!0)]))]))}}),y1=qn(x1,[["__scopeId","data-v-15496019"]]),b1={class:"w-screen h-screen box-border p-8px bg-white flex flex-col overflow-hidden"},S1={class:"flex gap-2 items-center shrink-0 h-24 px-2 py-1"},w1={class:"flex items-center gap-3 px-2 shrink-0 relative",style:{width:"280px",height:"32px"}},T1={class:"flex-1 h-6 flex items-center relative"},F1=["value"],C1={class:"text-[#8552A1] text-[12px] font-medium text-center w-6"},k1={class:"shrink-0 relative w-9 h-9"},E1={class:"w-full h-full flex items-center justify-center cursor-pointer"},O1=["value"],U1={class:"flex-1 min-w-[80px] bg-[#f7f8fa] rounded-lg px-2 py-1 h-12"},L1=["value"],_1={class:"flex items-center gap-1 shrink-0 border border-[#8552A1] rounded-lg px-1 py-1 bg-[#f7f8fa] shadow-sm"},R1={class:"flex-1 flex gap-2 min-h-0 overflow-hidden px-2"},A1={class:"flex flex-col gap-2 shrink-0 overflow-hidden",style:{"flex-basis":"400px","max-width":"480px","min-width":"320px"}},M1={class:"flex-[2] border border-solid border-[#f7e0e0] rounded-lg p-1.5 flex flex-col gap-2 overflow-hidden min-h-0"},I1={class:"scrollbar-hover flex-1 overflow-y-auto overflow-x-hidden pr-2"},P1={class:"border border-solid border-[#f7e0e0] rounded-lg p-1.5 flex flex-col gap-2 flex-1 overflow-hidden min-h-[120px]"},D1={class:"flex items-center pr-[9px]"},B1={class:"text-base text-black shrink-0 leading-none flex-1"},N1=["src"],G1={class:"scrollbar-hover flex-1 overflow-y-auto overflow-x-hidden pr-2"},H1={class:"flex-1 border border-solid border-[#f7e0e0] rounded-lg p-1.5 flex flex-col gap-2 overflow-hidden min-w-0"},V1={class:"flex items-center pr-[9px]"},z1=["src"],W1={class:"scrollbar-hover flex-1 min-h-0 py-2 overflow-y-auto overflow-x-hidden"},Z1=qr({__name:"App",setup(e){console.log("App.vue: script setup running...");const t=t0(),r=Sr(),n=Ce(null),s=be(()=>{const x=(t.fontSize-10)/490*100;return Math.max(0,Math.min(100,x))}),a=be(()=>{const x=r.previewFonts.map(y=>y.id);if(x.length===0)return!1;const g=new Set(t.selectedExportItems.map(y=>y.fontInfo.id));return x.every(y=>g.has(y))}),o=be(()=>{const x=r.favoriteFonts.map(g=>g.id);return x.length===0?!1:x.every(g=>r.previewFontIds.has(g))}),i=be(()=>r.favoriteFonts.length);try{pd(),console.log("App.vue: useFontLoader called successfully")}catch(x){console.error("App.vue: Error in useFontLoader:",x)}const l=Vs(t.inputText,Hs);l!==t.inputText&&t.setInputText(l);async function c(x){t.retainExportItemsByFontIds(r.previewFontIds);const g=t.selectedExportItems,y=t.inputText.trim();if(g.length===0){alert("请选择需要导出的效果");return}if(!y){alert("请输入要导出的文字");return}try{const{generateSvg:b}=await Cn(async()=>{const{generateSvg:L}=await Promise.resolve().then(()=>n1);return{generateSvg:L}},void 0),{convertSvgToPngBlob:S,downloadSvg:F,downloadMultipleFiles:C,downloadPngFromSvg:q,generatePngFilename:D,generateSvgFilename:k}=await Cn(async()=>{const{convertSvgToPngBlob:L,downloadSvg:V,downloadMultipleFiles:N,downloadPngFromSvg:X,generatePngFilename:se,generateSvgFilename:oe}=await import("./download-T9wchiI1.js");return{convertSvgToPngBlob:L,downloadSvg:V,downloadMultipleFiles:N,downloadPngFromSvg:X,generatePngFilename:se,generateSvgFilename:oe}},[]);if(g.length===1){const L=g[0];if(!L?.fontInfo.font){alert("选中字体未加载完成,请稍后重试");return}const V=L.fontInfo.font,N=await b({text:y,font:V,fontSize:t.fontSize,fillColor:t.textColor,letterSpacing:0});if(x==="svg"){const X=k(y,N.fontName);F(N.svg,X)}else{const X=D(y,N.fontName);await q(N.svg,X,{width:N.width,height:N.height})}}else{const L=[];for(const V of g)try{const N=V.fontInfo.font;if(!N){console.warn(`字体 ${V.fontInfo.name} 尚未加载,已跳过导出`);continue}const X=await b({text:y,font:N,fontSize:t.fontSize,fillColor:t.textColor,letterSpacing:0});if(x==="svg"){const se=k(y,X.fontName);L.push({name:se,content:X.svg})}else{const se=D(y,X.fontName),oe=await S(X.svg,{width:X.width,height:X.height});L.push({name:se,content:oe})}}catch(N){console.warn(`字体 ${V.fontInfo.name} 导出失败:`,N)}L.length>0?await C(L,x==="svg"?"font2svg-svg-export.zip":"font2svg-png-export.zip"):alert(`所有字体${x.toUpperCase()}导出都失败了`)}}catch(b){console.error("导出失败:",b),alert(`导出失败: ${b instanceof Error?b.message:"未知错误"}`)}}function u(x){t.setFontSize(x)}function h(x){const g=x.target,y=Number(g.value);Number.isNaN(y)||t.setFontSize(y)}function f(x){const g=x.target,y=Vs(g.value,Hs);y!==g.value&&(g.value=y),t.setInputText(y)}function p(){n.value?.toggleSelectAllPreviewItems()}function m(){const x=r.favoriteFonts.map(g=>g.id);if(x.length!==0){if(o.value){x.forEach(g=>r.removeFromPreview(g));return}x.forEach(g=>r.addToPreview(g))}}return console.log("App.vue: script setup completed"),(x,g)=>{const y=yu("overflow-aware");return pe(),ge("div",b1,[I("div",S1,[g[11]||(g[11]=I("div",{class:"w-12 h-12 rounded-xl overflow-hidden shrink-0"},[I("img",{src:Hc,alt:"logo",class:"w-full h-full object-cover"})],-1)),g[12]||(g[12]=I("div",{class:"shrink-0 max-w-[225px] min-w-[120px]",style:{height:"72px"}},[I("img",{src:Vc,alt:"星程SVG文字生成 TEXT to SVG",class:"w-full h-full object-contain"})],-1)),I("div",w1,[I("button",{onClick:g[0]||(g[0]=b=>u(Me(t).fontSize-10)),class:"w-4 h-4 shrink-0 cursor-pointer hover:opacity-70 transition-opacity flex items-center justify-center p-0 border-0 bg-transparent",title:"减小字体"},[...g[5]||(g[5]=[I("img",{src:zc,alt:"A-",class:"w-4 h-4 object-contain"},null,-1)])]),I("div",T1,[I("input",{type:"range",min:"10",max:"500",step:"1",value:Me(t).fontSize,onInput:h,class:"font-size-range w-full h-6 cursor-pointer",style:Dr({background:`linear-gradient(to right, #9b6bc2 0%, #9b6bc2 ${s.value}%, #e5e6eb ${s.value}%, #e5e6eb 100%)`})},null,44,F1),I("div",{class:"absolute pointer-events-none -top-4",style:Dr({left:`calc(${s.value}% - 7px)`})},[I("div",C1,Qe(Me(t).fontSize),1)],4)]),I("button",{onClick:g[1]||(g[1]=b=>u(Me(t).fontSize+10)),class:"w-6 h-6 shrink-0 cursor-pointer hover:opacity-70 transition-opacity flex items-center justify-center p-0 border-0 bg-transparent",title:"增大字体"},[...g[6]||(g[6]=[I("img",{src:Wc,alt:"A+",class:"w-6 h-6 object-contain"},null,-1)])])]),I("div",k1,[I("label",E1,[g[7]||(g[7]=I("img",{src:Zc,alt:"颜色",class:"w-9 h-9 object-contain"},null,-1)),I("input",{type:"color",value:Me(t).textColor,onInput:g[2]||(g[2]=b=>Me(t).setTextColor(b.target.value)),class:"absolute inset-0 opacity-0 cursor-pointer","aria-label":"选择文字颜色"},null,40,O1)])]),I("div",U1,[I("textarea",{value:Me(t).inputText,onInput:f,placeholder:"此处输入内容",class:"w-full h-full bg-transparent border-none outline-none text-base text-[#4e5969] placeholder-[#4e5969] resize-none leading-5 overflow-y-auto"},null,40,L1)]),I("div",_1,[g[10]||(g[10]=I("div",{class:"w-[18px] h-[42px] shrink-0 pointer-events-none"},[I("img",{src:$c,alt:"导出",class:"w-full h-full object-contain"})],-1)),I("button",{onClick:g[3]||(g[3]=b=>c("svg")),class:"w-12 h-12 shrink-0 cursor-pointer hover:opacity-85 transition-opacity flex items-center justify-center p-0 border-0 bg-transparent",title:"导出 SVG"},[...g[8]||(g[8]=[I("img",{src:jc,alt:"导出SVG",class:"w-12 h-12 object-contain"},null,-1)])]),I("button",{onClick:g[4]||(g[4]=b=>c("png")),class:"w-12 h-12 shrink-0 cursor-pointer hover:opacity-85 transition-opacity flex items-center justify-center p-0 border-0 bg-transparent",title:"导出 PNG"},[...g[9]||(g[9]=[I("img",{src:qc,alt:"导出PNG",class:"w-12 h-12 object-contain"},null,-1)])])])]),I("div",R1,[I("div",A1,[I("div",M1,[hn((pe(),ge("div",I1,[Ke(zd)])),[[y]])]),I("div",P1,[I("div",D1,[I("h2",B1," 已收藏字体("+Qe(i.value)+"字体) ",1),I("button",{onClick:m,class:"w-4 h-4 shrink-0 p-0 border-0 bg-transparent cursor-pointer hover:opacity-85 transition-opacity",title:"已收藏字体全选/全不选"},[I("img",{src:o.value?Me(Ws):Me(zs),alt:"已收藏字体全选/全不选",class:"w-full h-full"},null,8,N1)])]),hn((pe(),ge("div",G1,[Ke(Jd)])),[[y]])])]),I("div",H1,[I("div",V1,[g[13]||(g[13]=I("h2",{class:"text-base text-black shrink-0 leading-none flex-1"},"效果预览",-1)),I("button",{onClick:p,class:"w-4 h-4 shrink-0 p-0 border-0 bg-transparent cursor-pointer hover:opacity-85 transition-opacity",title:"效果预览全选/全不选"},[I("img",{src:a.value?Me(Ws):Me(zs),alt:"效果预览全选/全不选",class:"w-full h-full"},null,8,z1)])]),hn((pe(),ge("div",W1,[Ke(y1,{ref_key:"svgPreviewRef",ref:n},null,512)])),[[y]])])]),g[14]||(g[14]=I("div",{class:"text-[#86909c] text-xs text-center shrink-0 h-6 pt-4 flex items-center justify-center px-2"}," @版权说明:所有字体来源互联网分享,仅供效果预览,不做下载传播,如有侵权,请告知douboer@gmail.com ",-1))])}}}),i0=qn(Z1,[["__scopeId","data-v-d8854dc4"]]);console.log("main.ts is loading...");console.log("App component:",i0);const Xn=Lc(i0);Xn.use(Ac());const ys=new WeakMap;function jo(e){const t=e.scrollHeight>e.clientHeight||e.scrollWidth>e.clientWidth;e.dataset.overflowing=t?"true":"false"}const $1={mounted(e){const t=()=>jo(e);t();const r=new ResizeObserver(t);r.observe(e);const n=new MutationObserver(t);n.observe(e,{childList:!0,subtree:!0,characterData:!0});const s=()=>t(),a=()=>t();e.addEventListener("mouseenter",s),window.addEventListener("resize",a),ys.set(e,{resizeObserver:r,mutationObserver:n,onMouseEnter:s,onWindowResize:a})},updated(e){jo(e)},unmounted(e){const t=ys.get(e);t&&(t.resizeObserver.disconnect(),t.mutationObserver.disconnect(),e.removeEventListener("mouseenter",t.onMouseEnter),window.removeEventListener("resize",t.onWindowResize),ys.delete(e))}};Xn.directive("overflow-aware",$1);Xn.config.errorHandler=(e,t,r)=>{console.error("Vue Error:",e),console.error("Error info:",r),console.error("Component instance:",t)};console.log("Mounting app to #app...");Xn.mount("#app");console.log("App mounted successfully!");export{Cn as _}; diff --git a/frontend/dist/assets/index-DQpT4mud.css b/frontend/dist/assets/index-DQpT4mud.css deleted file mode 100644 index 708842d..0000000 --- a/frontend/dist/assets/index-DQpT4mud.css +++ /dev/null @@ -1 +0,0 @@ -*,:before,:after{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 rgb(0 0 0 / 0);--un-ring-shadow:0 0 rgb(0 0 0 / 0);--un-shadow-inset: ;--un-shadow:0 0 rgb(0 0 0 / 0);--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgb(147 197 253 / .5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }::backdrop{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 rgb(0 0 0 / 0);--un-ring-shadow:0 0 rgb(0 0 0 / 0);--un-shadow-inset: ;--un-shadow:0 0 rgb(0 0 0 / 0);--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgb(147 197 253 / .5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }.pointer-events-none{pointer-events:none}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.-top-4{top:-1rem}.top-0{top:0}.z-10{z-index:10}.mb-3{margin-bottom:.75rem}.ml-\[17px\]{margin-left:17px}.ml-2{margin-left:.5rem}.mr-\[1px\]{margin-right:1px}.mt-3{margin-top:.75rem}.box-border{box-sizing:border-box}.block{display:block}.h-\[15px\]{height:15px}.h-\[17px\]{height:17px}.h-\[18px\]{height:18px}.h-\[24px\]{height:24px}.h-\[42px\]{height:42px}.h-\[9px\]{height:9px}.h-12{height:3rem}.h-24{height:6rem}.h-4{height:1rem}.h-6{height:1.5rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-full{height:100%}.h-screen{height:100vh}.h2{height:.5rem}.max-w-\[225px\]{max-width:225px}.min-h-\[120px\]{min-height:120px}.min-h-0{min-height:0}.min-w-\[120px\]{min-width:120px}.min-w-\[80px\]{min-width:80px}.min-w-0{min-width:0}.w-\[11px\]{width:11px}.w-\[15px\]{width:15px}.w-\[18px\]{width:18px}.w-\[24px\]{width:24px}.w-12{width:3rem}.w-4{width:1rem}.w-6{width:1.5rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-full{width:100%}.w-screen{width:100vw}.flex{display:flex}.flex-\[2\]{flex:2}.flex-1{flex:1 1 0%}.flex-shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.flex-col{flex-direction:column}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.resize-none{resize:none}.items-center{align-items:center}.justify-center{justify-content:center}.gap-\[8px\]{gap:8px}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.space-y-0>:not([hidden])~:not([hidden]){--un-space-y-reverse:0;margin-top:calc(0px * calc(1 - var(--un-space-y-reverse)));margin-bottom:calc(0px * var(--un-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--un-space-y-reverse:0;margin-top:calc(.5rem * calc(1 - var(--un-space-y-reverse)));margin-bottom:calc(.5rem * var(--un-space-y-reverse))}.overflow-hidden{overflow:hidden}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.border{border-width:1px}.border-0{border-width:0px}.border-b{border-bottom-width:1px}.border-\[\#8552A1\]{--un-border-opacity:1;border-color:rgb(133 82 161 / var(--un-border-opacity))}.border-\[\#9b6bc2\]{--un-border-opacity:1;border-color:rgb(155 107 194 / var(--un-border-opacity))}.border-\[\#c9cdd4\]{--un-border-opacity:1;border-color:rgb(201 205 212 / var(--un-border-opacity))}.border-\[\#f7e0e0\]{--un-border-opacity:1;border-color:rgb(247 224 224 / var(--un-border-opacity))}.rounded-\[10px\]{border-radius:10px}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-xl{border-radius:.75rem}.border-none{border-style:none}.border-solid{border-style:solid}.bg-\[\#9b6bc2\]{--un-bg-opacity:1;background-color:rgb(155 107 194 / var(--un-bg-opacity))}.bg-\[\#F3EDF7\]{--un-bg-opacity:1;background-color:rgb(243 237 247 / var(--un-bg-opacity))}.bg-\[\#f7f8fa\]{--un-bg-opacity:1;background-color:rgb(247 248 250 / var(--un-bg-opacity))}.bg-transparent{background-color:transparent}.bg-white{--un-bg-opacity:1;background-color:rgb(255 255 255 / var(--un-bg-opacity))}.object-cover{object-fit:cover}.object-contain{object-fit:contain}.p-0{padding:0}.p-1\.5{padding:.375rem}.p-8px{padding:8px}.px-\[8px\]{padding-left:8px;padding-right:8px}.px-1{padding-left:.25rem;padding-right:.25rem}.px-2{padding-left:.5rem;padding-right:.5rem}.py-\[8px\]{padding-top:8px;padding-bottom:8px}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-20{padding-top:5rem;padding-bottom:5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-\[8px\]{padding-bottom:8px}.pb-1{padding-bottom:.25rem}.pb-2{padding-bottom:.5rem}.pl-2{padding-left:.5rem}.pr-\[8px\]{padding-right:8px}.pr-\[9px\]{padding-right:9px}.pr-2{padding-right:.5rem}.pt-1{padding-top:.25rem}.pt-4{padding-top:1rem}.text-center{text-align:center}.text-\[12px\]{font-size:12px}.text-\[14px\]{font-size:14px}.text-\[16px\]{font-size:16px}.text-base{font-size:1rem;line-height:1.5rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.text-\[\#4e5969\]{--un-text-opacity:1;color:rgb(78 89 105 / var(--un-text-opacity))}.text-\[\#8552A1\]{--un-text-opacity:1;color:rgb(133 82 161 / var(--un-text-opacity))}.text-\[\#86909c\]{--un-text-opacity:1;color:rgb(134 144 156 / var(--un-text-opacity))}.text-black{--un-text-opacity:1;color:rgb(0 0 0 / var(--un-text-opacity))}.text-gray-500{--un-text-opacity:1;color:rgb(107 114 128 / var(--un-text-opacity))}.font-bold{font-weight:700}.font-medium{font-weight:500}.leading-5{line-height:1.25rem}.leading-none{line-height:1}.opacity-0{opacity:0}.opacity-70,.hover\:opacity-70:hover{opacity:.7}.hover\:opacity-85:hover{opacity:.85}.shadow-sm{--un-shadow:var(--un-shadow-inset) 0 1px 2px 0 var(--un-shadow-color, rgb(0 0 0 / .05));box-shadow:var(--un-ring-offset-shadow),var(--un-ring-shadow),var(--un-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.filter{filter:var(--un-blur) var(--un-brightness) var(--un-contrast) var(--un-drop-shadow) var(--un-grayscale) var(--un-hue-rotate) var(--un-invert) var(--un-saturate) var(--un-sepia)}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.placeholder-\[\#4e5969\]::placeholder{--un-placeholder-opacity:1;color:rgb(78 89 105 / var(--un-placeholder-opacity))}.placeholder-\[\#a2a0a9\]::placeholder{--un-placeholder-opacity:1;color:rgb(162 160 169 / var(--un-placeholder-opacity))}:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light;color:#213547;background-color:#fff;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}.card{padding:2em}#app{width:100%;height:100vh}.scrollbar-hover{-ms-overflow-style:none;scrollbar-width:none}.scrollbar-hover::-webkit-scrollbar{width:0;height:0}.scrollbar-hover[data-overflowing=true]:hover{scrollbar-width:thin;scrollbar-color:#c9cdd4 transparent}.scrollbar-hover[data-overflowing=true]:hover::-webkit-scrollbar{width:8px;height:8px}.scrollbar-hover[data-overflowing=true]:hover::-webkit-scrollbar-thumb{background-color:#c9cdd4;border-radius:9999px}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.tree-icon-wrapper[data-v-1709e607]{position:relative;width:17px;height:20px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.tree-toggle[data-v-1709e607]{width:15px;height:15px;padding:0;border:0;background:transparent;display:flex;align-items:center;justify-content:center;position:relative;z-index:1}.tree-vertical-line[data-v-1709e607]{position:absolute;left:8px;top:20px;bottom:12px;width:1px;background:#c9cdd4}.tree-horizontal-line[data-v-1709e607]{position:absolute;left:8px;top:12px;width:10px;height:1px;background:#c9cdd4}.favorite-active[data-v-1709e607]{filter:brightness(0) saturate(100%) invert(16%) sepia(96%) saturate(7491%) hue-rotate(356deg) brightness(99%) contrast(119%)}.favorite-indent[data-v-e8bbd3fa]{padding-left:2ch}.favorite-active[data-v-e8bbd3fa]{filter:brightness(0) saturate(100%) invert(16%) sepia(96%) saturate(7491%) hue-rotate(356deg) brightness(99%) contrast(119%)}.svg-preview-container[data-v-15496019]{width:fit-content;max-width:100%}.svg-preview-container[data-v-15496019] svg{display:block;width:auto;height:auto;max-width:100%;max-height:none}.font-size-range[data-v-d8854dc4]{-webkit-appearance:none;appearance:none;height:3px;border-radius:10px;background:#e5e6eb}.font-size-range[data-v-d8854dc4]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 2px 8px #0000001a;border:1px solid #e5e6eb;cursor:pointer}.font-size-range[data-v-d8854dc4]::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 2px 8px #0000001a;border:1px solid #e5e6eb;cursor:pointer}.font-size-range[data-v-d8854dc4]::-moz-range-track{height:3px;border-radius:10px;background:transparent} diff --git a/frontend/dist/assets/jszip.min-CRv3yS3R.js b/frontend/dist/assets/jszip.min-CRv3yS3R.js deleted file mode 100644 index 16dd83c..0000000 --- a/frontend/dist/assets/jszip.min-CRv3yS3R.js +++ /dev/null @@ -1,2 +0,0 @@ -import{c as vt,a as Bt}from"./_commonjsHelpers-DsqdWQfm.js";function Rt(ct,wt){for(var _=0;_N[w]})}}}return Object.freeze(Object.defineProperty(ct,Symbol.toStringTag,{value:"Module"}))}function yt(ct){throw new Error('Could not dynamically require "'+ct+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var xt={exports:{}};var Ct;function Tt(){return Ct||(Ct=1,(function(ct,wt){(function(_){ct.exports=_()})(function(){return(function _(N,w,u){function o(g,y){if(!w[g]){if(!N[g]){var p=typeof yt=="function"&&yt;if(!y&&p)return p(g,!0);if(n)return n(g,!0);var b=new Error("Cannot find module '"+g+"'");throw b.code="MODULE_NOT_FOUND",b}var i=w[g]={exports:{}};N[g][0].call(i.exports,function(d){var r=N[g][1][d];return o(r||d)},i,i.exports,_,N,w,u)}return w[g].exports}for(var n=typeof yt=="function"&&yt,h=0;h>2,i=(3&g)<<4|y>>4,d=1>6:64,r=2>4,y=(15&b)<<4|(i=n.indexOf(h.charAt(r++)))>>2,p=(3&i)<<6|(d=n.indexOf(h.charAt(r++))),c[l++]=g,i!==64&&(c[l++]=y),d!==64&&(c[l++]=p);return c}},{"./support":30,"./utils":32}],2:[function(_,N,w){var u=_("./external"),o=_("./stream/DataWorker"),n=_("./stream/Crc32Probe"),h=_("./stream/DataLengthProbe");function g(y,p,b,i,d){this.compressedSize=y,this.uncompressedSize=p,this.crc32=b,this.compression=i,this.compressedContent=d}g.prototype={getContentWorker:function(){var y=new o(u.Promise.resolve(this.compressedContent)).pipe(this.compression.uncompressWorker()).pipe(new h("data_length")),p=this;return y.on("end",function(){if(this.streamInfo.data_length!==p.uncompressedSize)throw new Error("Bug : uncompressed data size mismatch")}),y},getCompressedWorker:function(){return new o(u.Promise.resolve(this.compressedContent)).withStreamInfo("compressedSize",this.compressedSize).withStreamInfo("uncompressedSize",this.uncompressedSize).withStreamInfo("crc32",this.crc32).withStreamInfo("compression",this.compression)}},g.createWorkerFrom=function(y,p,b){return y.pipe(new n).pipe(new h("uncompressedSize")).pipe(p.compressWorker(b)).pipe(new h("compressedSize")).withStreamInfo("compression",p)},N.exports=g},{"./external":6,"./stream/Crc32Probe":25,"./stream/DataLengthProbe":26,"./stream/DataWorker":27}],3:[function(_,N,w){var u=_("./stream/GenericWorker");w.STORE={magic:"\0\0",compressWorker:function(){return new u("STORE compression")},uncompressWorker:function(){return new u("STORE decompression")}},w.DEFLATE=_("./flate")},{"./flate":7,"./stream/GenericWorker":28}],4:[function(_,N,w){var u=_("./utils"),o=(function(){for(var n,h=[],g=0;g<256;g++){n=g;for(var y=0;y<8;y++)n=1&n?3988292384^n>>>1:n>>>1;h[g]=n}return h})();N.exports=function(n,h){return n!==void 0&&n.length?u.getTypeOf(n)!=="string"?(function(g,y,p,b){var i=o,d=b+p;g^=-1;for(var r=b;r>>8^i[255&(g^y[r])];return-1^g})(0|h,n,n.length,0):(function(g,y,p,b){var i=o,d=b+p;g^=-1;for(var r=b;r>>8^i[255&(g^y.charCodeAt(r))];return-1^g})(0|h,n,n.length,0):0}},{"./utils":32}],5:[function(_,N,w){w.base64=!1,w.binary=!1,w.dir=!1,w.createFolders=!0,w.date=null,w.compression=null,w.compressionOptions=null,w.comment=null,w.unixPermissions=null,w.dosPermissions=null},{}],6:[function(_,N,w){var u=null;u=typeof Promise<"u"?Promise:_("lie"),N.exports={Promise:u}},{lie:37}],7:[function(_,N,w){var u=typeof Uint8Array<"u"&&typeof Uint16Array<"u"&&typeof Uint32Array<"u",o=_("pako"),n=_("./utils"),h=_("./stream/GenericWorker"),g=u?"uint8array":"array";function y(p,b){h.call(this,"FlateWorker/"+p),this._pako=null,this._pakoAction=p,this._pakoOptions=b,this.meta={}}w.magic="\b\0",n.inherits(y,h),y.prototype.processChunk=function(p){this.meta=p.meta,this._pako===null&&this._createPako(),this._pako.push(n.transformTo(g,p.data),!1)},y.prototype.flush=function(){h.prototype.flush.call(this),this._pako===null&&this._createPako(),this._pako.push([],!0)},y.prototype.cleanUp=function(){h.prototype.cleanUp.call(this),this._pako=null},y.prototype._createPako=function(){this._pako=new o[this._pakoAction]({raw:!0,level:this._pakoOptions.level||-1});var p=this;this._pako.onData=function(b){p.push({data:b,meta:p.meta})}},w.compressWorker=function(p){return new y("Deflate",p)},w.uncompressWorker=function(){return new y("Inflate",{})}},{"./stream/GenericWorker":28,"./utils":32,pako:38}],8:[function(_,N,w){function u(i,d){var r,l="";for(r=0;r>>=8;return l}function o(i,d,r,l,a,c){var v,S,x=i.file,D=i.compression,O=c!==g.utf8encode,j=n.transformTo("string",c(x.name)),I=n.transformTo("string",g.utf8encode(x.name)),W=x.comment,q=n.transformTo("string",c(W)),m=n.transformTo("string",g.utf8encode(W)),B=I.length!==x.name.length,e=m.length!==W.length,T="",J="",U="",$=x.dir,L=x.date,V={crc32:0,compressedSize:0,uncompressedSize:0};d&&!r||(V.crc32=i.crc32,V.compressedSize=i.compressedSize,V.uncompressedSize=i.uncompressedSize);var E=0;d&&(E|=8),O||!B&&!e||(E|=2048);var C=0,X=0;$&&(C|=16),a==="UNIX"?(X=798,C|=(function(H,nt){var ot=H;return H||(ot=nt?16893:33204),(65535&ot)<<16})(x.unixPermissions,$)):(X=20,C|=(function(H){return 63&(H||0)})(x.dosPermissions)),v=L.getUTCHours(),v<<=6,v|=L.getUTCMinutes(),v<<=5,v|=L.getUTCSeconds()/2,S=L.getUTCFullYear()-1980,S<<=4,S|=L.getUTCMonth()+1,S<<=5,S|=L.getUTCDate(),B&&(J=u(1,1)+u(y(j),4)+I,T+="up"+u(J.length,2)+J),e&&(U=u(1,1)+u(y(q),4)+m,T+="uc"+u(U.length,2)+U);var G="";return G+=` -\0`,G+=u(E,2),G+=D.magic,G+=u(v,2),G+=u(S,2),G+=u(V.crc32,4),G+=u(V.compressedSize,4),G+=u(V.uncompressedSize,4),G+=u(j.length,2),G+=u(T.length,2),{fileRecord:p.LOCAL_FILE_HEADER+G+j+T,dirRecord:p.CENTRAL_FILE_HEADER+u(X,2)+G+u(q.length,2)+"\0\0\0\0"+u(C,4)+u(l,4)+j+T+q}}var n=_("../utils"),h=_("../stream/GenericWorker"),g=_("../utf8"),y=_("../crc32"),p=_("../signature");function b(i,d,r,l){h.call(this,"ZipFileWorker"),this.bytesWritten=0,this.zipComment=d,this.zipPlatform=r,this.encodeFileName=l,this.streamFiles=i,this.accumulate=!1,this.contentBuffer=[],this.dirRecords=[],this.currentSourceOffset=0,this.entriesCount=0,this.currentFile=null,this._sources=[]}n.inherits(b,h),b.prototype.push=function(i){var d=i.meta.percent||0,r=this.entriesCount,l=this._sources.length;this.accumulate?this.contentBuffer.push(i):(this.bytesWritten+=i.data.length,h.prototype.push.call(this,{data:i.data,meta:{currentFile:this.currentFile,percent:r?(d+100*(r-l-1))/r:100}}))},b.prototype.openedSource=function(i){this.currentSourceOffset=this.bytesWritten,this.currentFile=i.file.name;var d=this.streamFiles&&!i.file.dir;if(d){var r=o(i,d,!1,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);this.push({data:r.fileRecord,meta:{percent:0}})}else this.accumulate=!0},b.prototype.closedSource=function(i){this.accumulate=!1;var d=this.streamFiles&&!i.file.dir,r=o(i,d,!0,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);if(this.dirRecords.push(r.dirRecord),d)this.push({data:(function(l){return p.DATA_DESCRIPTOR+u(l.crc32,4)+u(l.compressedSize,4)+u(l.uncompressedSize,4)})(i),meta:{percent:100}});else for(this.push({data:r.fileRecord,meta:{percent:0}});this.contentBuffer.length;)this.push(this.contentBuffer.shift());this.currentFile=null},b.prototype.flush=function(){for(var i=this.bytesWritten,d=0;d=this.index;h--)g=(g<<8)+this.byteAt(h);return this.index+=n,g},readString:function(n){return u.transformTo("string",this.readData(n))},readData:function(){},lastIndexOfSignature:function(){},readAndCheckSignature:function(){},readDate:function(){var n=this.readInt(4);return new Date(Date.UTC(1980+(n>>25&127),(n>>21&15)-1,n>>16&31,n>>11&31,n>>5&63,(31&n)<<1))}},N.exports=o},{"../utils":32}],19:[function(_,N,w){var u=_("./Uint8ArrayReader");function o(n){u.call(this,n)}_("../utils").inherits(o,u),o.prototype.readData=function(n){this.checkOffset(n);var h=this.data.slice(this.zero+this.index,this.zero+this.index+n);return this.index+=n,h},N.exports=o},{"../utils":32,"./Uint8ArrayReader":21}],20:[function(_,N,w){var u=_("./DataReader");function o(n){u.call(this,n)}_("../utils").inherits(o,u),o.prototype.byteAt=function(n){return this.data.charCodeAt(this.zero+n)},o.prototype.lastIndexOfSignature=function(n){return this.data.lastIndexOf(n)-this.zero},o.prototype.readAndCheckSignature=function(n){return n===this.readData(4)},o.prototype.readData=function(n){this.checkOffset(n);var h=this.data.slice(this.zero+this.index,this.zero+this.index+n);return this.index+=n,h},N.exports=o},{"../utils":32,"./DataReader":18}],21:[function(_,N,w){var u=_("./ArrayReader");function o(n){u.call(this,n)}_("../utils").inherits(o,u),o.prototype.readData=function(n){if(this.checkOffset(n),n===0)return new Uint8Array(0);var h=this.data.subarray(this.zero+this.index,this.zero+this.index+n);return this.index+=n,h},N.exports=o},{"../utils":32,"./ArrayReader":17}],22:[function(_,N,w){var u=_("../utils"),o=_("../support"),n=_("./ArrayReader"),h=_("./StringReader"),g=_("./NodeBufferReader"),y=_("./Uint8ArrayReader");N.exports=function(p){var b=u.getTypeOf(p);return u.checkSupport(b),b!=="string"||o.uint8array?b==="nodebuffer"?new g(p):o.uint8array?new y(u.transformTo("uint8array",p)):new n(u.transformTo("array",p)):new h(p)}},{"../support":30,"../utils":32,"./ArrayReader":17,"./NodeBufferReader":19,"./StringReader":20,"./Uint8ArrayReader":21}],23:[function(_,N,w){w.LOCAL_FILE_HEADER="PK",w.CENTRAL_FILE_HEADER="PK",w.CENTRAL_DIRECTORY_END="PK",w.ZIP64_CENTRAL_DIRECTORY_LOCATOR="PK\x07",w.ZIP64_CENTRAL_DIRECTORY_END="PK",w.DATA_DESCRIPTOR="PK\x07\b"},{}],24:[function(_,N,w){var u=_("./GenericWorker"),o=_("../utils");function n(h){u.call(this,"ConvertWorker to "+h),this.destType=h}o.inherits(n,u),n.prototype.processChunk=function(h){this.push({data:o.transformTo(this.destType,h.data),meta:h.meta})},N.exports=n},{"../utils":32,"./GenericWorker":28}],25:[function(_,N,w){var u=_("./GenericWorker"),o=_("../crc32");function n(){u.call(this,"Crc32Probe"),this.withStreamInfo("crc32",0)}_("../utils").inherits(n,u),n.prototype.processChunk=function(h){this.streamInfo.crc32=o(h.data,this.streamInfo.crc32||0),this.push(h)},N.exports=n},{"../crc32":4,"../utils":32,"./GenericWorker":28}],26:[function(_,N,w){var u=_("../utils"),o=_("./GenericWorker");function n(h){o.call(this,"DataLengthProbe for "+h),this.propName=h,this.withStreamInfo(h,0)}u.inherits(n,o),n.prototype.processChunk=function(h){if(h){var g=this.streamInfo[this.propName]||0;this.streamInfo[this.propName]=g+h.data.length}o.prototype.processChunk.call(this,h)},N.exports=n},{"../utils":32,"./GenericWorker":28}],27:[function(_,N,w){var u=_("../utils"),o=_("./GenericWorker");function n(h){o.call(this,"DataWorker");var g=this;this.dataIsReady=!1,this.index=0,this.max=0,this.data=null,this.type="",this._tickScheduled=!1,h.then(function(y){g.dataIsReady=!0,g.data=y,g.max=y&&y.length||0,g.type=u.getTypeOf(y),g.isPaused||g._tickAndRepeat()},function(y){g.error(y)})}u.inherits(n,o),n.prototype.cleanUp=function(){o.prototype.cleanUp.call(this),this.data=null},n.prototype.resume=function(){return!!o.prototype.resume.call(this)&&(!this._tickScheduled&&this.dataIsReady&&(this._tickScheduled=!0,u.delay(this._tickAndRepeat,[],this)),!0)},n.prototype._tickAndRepeat=function(){this._tickScheduled=!1,this.isPaused||this.isFinished||(this._tick(),this.isFinished||(u.delay(this._tickAndRepeat,[],this),this._tickScheduled=!0))},n.prototype._tick=function(){if(this.isPaused||this.isFinished)return!1;var h=null,g=Math.min(this.max,this.index+16384);if(this.index>=this.max)return this.end();switch(this.type){case"string":h=this.data.substring(this.index,g);break;case"uint8array":h=this.data.subarray(this.index,g);break;case"array":case"nodebuffer":h=this.data.slice(this.index,g)}return this.index=g,this.push({data:h,meta:{percent:this.max?this.index/this.max*100:0}})},N.exports=n},{"../utils":32,"./GenericWorker":28}],28:[function(_,N,w){function u(o){this.name=o||"default",this.streamInfo={},this.generatedError=null,this.extraStreamInfo={},this.isPaused=!0,this.isFinished=!1,this.isLocked=!1,this._listeners={data:[],end:[],error:[]},this.previous=null}u.prototype={push:function(o){this.emit("data",o)},end:function(){if(this.isFinished)return!1;this.flush();try{this.emit("end"),this.cleanUp(),this.isFinished=!0}catch(o){this.emit("error",o)}return!0},error:function(o){return!this.isFinished&&(this.isPaused?this.generatedError=o:(this.isFinished=!0,this.emit("error",o),this.previous&&this.previous.error(o),this.cleanUp()),!0)},on:function(o,n){return this._listeners[o].push(n),this},cleanUp:function(){this.streamInfo=this.generatedError=this.extraStreamInfo=null,this._listeners=[]},emit:function(o,n){if(this._listeners[o])for(var h=0;h "+o:o}},N.exports=u},{}],29:[function(_,N,w){var u=_("../utils"),o=_("./ConvertWorker"),n=_("./GenericWorker"),h=_("../base64"),g=_("../support"),y=_("../external"),p=null;if(g.nodestream)try{p=_("../nodejs/NodejsStreamOutputAdapter")}catch{}function b(d,r){return new y.Promise(function(l,a){var c=[],v=d._internalType,S=d._outputType,x=d._mimeType;d.on("data",function(D,O){c.push(D),r&&r(O)}).on("error",function(D){c=[],a(D)}).on("end",function(){try{var D=(function(O,j,I){switch(O){case"blob":return u.newBlob(u.transformTo("arraybuffer",j),I);case"base64":return h.encode(j);default:return u.transformTo(O,j)}})(S,(function(O,j){var I,W=0,q=null,m=0;for(I=0;I"u")w.blob=!1;else{var u=new ArrayBuffer(0);try{w.blob=new Blob([u],{type:"application/zip"}).size===0}catch{try{var o=new(self.BlobBuilder||self.WebKitBlobBuilder||self.MozBlobBuilder||self.MSBlobBuilder);o.append(u),w.blob=o.getBlob("application/zip").size===0}catch{w.blob=!1}}}try{w.nodestream=!!_("readable-stream").Readable}catch{w.nodestream=!1}},{"readable-stream":16}],31:[function(_,N,w){for(var u=_("./utils"),o=_("./support"),n=_("./nodejsUtils"),h=_("./stream/GenericWorker"),g=new Array(256),y=0;y<256;y++)g[y]=252<=y?6:248<=y?5:240<=y?4:224<=y?3:192<=y?2:1;g[254]=g[254]=1;function p(){h.call(this,"utf-8 decode"),this.leftOver=null}function b(){h.call(this,"utf-8 encode")}w.utf8encode=function(i){return o.nodebuffer?n.newBufferFrom(i,"utf-8"):(function(d){var r,l,a,c,v,S=d.length,x=0;for(c=0;c>>6:(l<65536?r[v++]=224|l>>>12:(r[v++]=240|l>>>18,r[v++]=128|l>>>12&63),r[v++]=128|l>>>6&63),r[v++]=128|63&l);return r})(i)},w.utf8decode=function(i){return o.nodebuffer?u.transformTo("nodebuffer",i).toString("utf-8"):(function(d){var r,l,a,c,v=d.length,S=new Array(2*v);for(r=l=0;r>10&1023,S[l++]=56320|1023&a)}return S.length!==l&&(S.subarray?S=S.subarray(0,l):S.length=l),u.applyFromCharCode(S)})(i=u.transformTo(o.uint8array?"uint8array":"array",i))},u.inherits(p,h),p.prototype.processChunk=function(i){var d=u.transformTo(o.uint8array?"uint8array":"array",i.data);if(this.leftOver&&this.leftOver.length){if(o.uint8array){var r=d;(d=new Uint8Array(r.length+this.leftOver.length)).set(this.leftOver,0),d.set(r,this.leftOver.length)}else d=this.leftOver.concat(d);this.leftOver=null}var l=(function(c,v){var S;for((v=v||c.length)>c.length&&(v=c.length),S=v-1;0<=S&&(192&c[S])==128;)S--;return S<0||S===0?v:S+g[c[S]]>v?S:v})(d),a=d;l!==d.length&&(o.uint8array?(a=d.subarray(0,l),this.leftOver=d.subarray(l,d.length)):(a=d.slice(0,l),this.leftOver=d.slice(l,d.length))),this.push({data:w.utf8decode(a),meta:i.meta})},p.prototype.flush=function(){this.leftOver&&this.leftOver.length&&(this.push({data:w.utf8decode(this.leftOver),meta:{}}),this.leftOver=null)},w.Utf8DecodeWorker=p,u.inherits(b,h),b.prototype.processChunk=function(i){this.push({data:w.utf8encode(i.data),meta:i.meta})},w.Utf8EncodeWorker=b},{"./nodejsUtils":14,"./stream/GenericWorker":28,"./support":30,"./utils":32}],32:[function(_,N,w){var u=_("./support"),o=_("./base64"),n=_("./nodejsUtils"),h=_("./external");function g(r){return r}function y(r,l){for(var a=0;a>8;this.dir=!!(16&this.externalFileAttributes),i==0&&(this.dosPermissions=63&this.externalFileAttributes),i==3&&(this.unixPermissions=this.externalFileAttributes>>16&65535),this.dir||this.fileNameStr.slice(-1)!=="/"||(this.dir=!0)},parseZIP64ExtraField:function(){if(this.extraFields[1]){var i=u(this.extraFields[1].value);this.uncompressedSize===o.MAX_VALUE_32BITS&&(this.uncompressedSize=i.readInt(8)),this.compressedSize===o.MAX_VALUE_32BITS&&(this.compressedSize=i.readInt(8)),this.localHeaderOffset===o.MAX_VALUE_32BITS&&(this.localHeaderOffset=i.readInt(8)),this.diskNumberStart===o.MAX_VALUE_32BITS&&(this.diskNumberStart=i.readInt(4))}},readExtraFields:function(i){var d,r,l,a=i.index+this.extraFieldsLength;for(this.extraFields||(this.extraFields={});i.index+4>>6:(i<65536?b[l++]=224|i>>>12:(b[l++]=240|i>>>18,b[l++]=128|i>>>12&63),b[l++]=128|i>>>6&63),b[l++]=128|63&i);return b},w.buf2binstring=function(p){return y(p,p.length)},w.binstring2buf=function(p){for(var b=new u.Buf8(p.length),i=0,d=b.length;i>10&1023,c[d++]=56320|1023&r)}return y(c,d)},w.utf8border=function(p,b){var i;for((b=b||p.length)>p.length&&(b=p.length),i=b-1;0<=i&&(192&p[i])==128;)i--;return i<0||i===0?b:i+h[p[i]]>b?i:b}},{"./common":41}],43:[function(_,N,w){N.exports=function(u,o,n,h){for(var g=65535&u|0,y=u>>>16&65535|0,p=0;n!==0;){for(n-=p=2e3>>1:o>>>1;n[h]=o}return n})();N.exports=function(o,n,h,g){var y=u,p=g+h;o^=-1;for(var b=g;b>>8^y[255&(o^n[b])];return-1^o}},{}],46:[function(_,N,w){var u,o=_("../utils/common"),n=_("./trees"),h=_("./adler32"),g=_("./crc32"),y=_("./messages"),p=0,b=4,i=0,d=-2,r=-1,l=4,a=2,c=8,v=9,S=286,x=30,D=19,O=2*S+1,j=15,I=3,W=258,q=W+I+1,m=42,B=113,e=1,T=2,J=3,U=4;function $(t,R){return t.msg=y[R],R}function L(t){return(t<<1)-(4t.avail_out&&(A=t.avail_out),A!==0&&(o.arraySet(t.output,R.pending_buf,R.pending_out,A,t.next_out),t.next_out+=A,R.pending_out+=A,t.total_out+=A,t.avail_out-=A,R.pending-=A,R.pending===0&&(R.pending_out=0))}function C(t,R){n._tr_flush_block(t,0<=t.block_start?t.block_start:-1,t.strstart-t.block_start,R),t.block_start=t.strstart,E(t.strm)}function X(t,R){t.pending_buf[t.pending++]=R}function G(t,R){t.pending_buf[t.pending++]=R>>>8&255,t.pending_buf[t.pending++]=255&R}function H(t,R){var A,f,s=t.max_chain_length,k=t.strstart,F=t.prev_length,P=t.nice_match,z=t.strstart>t.w_size-q?t.strstart-(t.w_size-q):0,Z=t.window,K=t.w_mask,M=t.prev,Y=t.strstart+W,rt=Z[k+F-1],tt=Z[k+F];t.prev_length>=t.good_match&&(s>>=2),P>t.lookahead&&(P=t.lookahead);do if(Z[(A=R)+F]===tt&&Z[A+F-1]===rt&&Z[A]===Z[k]&&Z[++A]===Z[k+1]){k+=2,A++;do;while(Z[++k]===Z[++A]&&Z[++k]===Z[++A]&&Z[++k]===Z[++A]&&Z[++k]===Z[++A]&&Z[++k]===Z[++A]&&Z[++k]===Z[++A]&&Z[++k]===Z[++A]&&Z[++k]===Z[++A]&&kz&&--s!=0);return F<=t.lookahead?F:t.lookahead}function nt(t){var R,A,f,s,k,F,P,z,Z,K,M=t.w_size;do{if(s=t.window_size-t.lookahead-t.strstart,t.strstart>=M+(M-q)){for(o.arraySet(t.window,t.window,M,M,0),t.match_start-=M,t.strstart-=M,t.block_start-=M,R=A=t.hash_size;f=t.head[--R],t.head[R]=M<=f?f-M:0,--A;);for(R=A=M;f=t.prev[--R],t.prev[R]=M<=f?f-M:0,--A;);s+=M}if(t.strm.avail_in===0)break;if(F=t.strm,P=t.window,z=t.strstart+t.lookahead,Z=s,K=void 0,K=F.avail_in,Z=I)for(k=t.strstart-t.insert,t.ins_h=t.window[k],t.ins_h=(t.ins_h<=I&&(t.ins_h=(t.ins_h<=I)if(f=n._tr_tally(t,t.strstart-t.match_start,t.match_length-I),t.lookahead-=t.match_length,t.match_length<=t.max_lazy_match&&t.lookahead>=I){for(t.match_length--;t.strstart++,t.ins_h=(t.ins_h<=I&&(t.ins_h=(t.ins_h<=I&&t.match_length<=t.prev_length){for(s=t.strstart+t.lookahead-I,f=n._tr_tally(t,t.strstart-1-t.prev_match,t.prev_length-I),t.lookahead-=t.prev_length-1,t.prev_length-=2;++t.strstart<=s&&(t.ins_h=(t.ins_h<t.pending_buf_size-5&&(A=t.pending_buf_size-5);;){if(t.lookahead<=1){if(nt(t),t.lookahead===0&&R===p)return e;if(t.lookahead===0)break}t.strstart+=t.lookahead,t.lookahead=0;var f=t.block_start+A;if((t.strstart===0||t.strstart>=f)&&(t.lookahead=t.strstart-f,t.strstart=f,C(t,!1),t.strm.avail_out===0)||t.strstart-t.block_start>=t.w_size-q&&(C(t,!1),t.strm.avail_out===0))return e}return t.insert=0,R===b?(C(t,!0),t.strm.avail_out===0?J:U):(t.strstart>t.block_start&&(C(t,!1),t.strm.avail_out),e)}),new et(4,4,8,4,ot),new et(4,5,16,8,ot),new et(4,6,32,32,ot),new et(4,4,16,16,Q),new et(8,16,32,32,Q),new et(8,16,128,128,Q),new et(8,32,128,256,Q),new et(32,128,258,1024,Q),new et(32,258,258,4096,Q)],w.deflateInit=function(t,R){return ht(t,R,c,15,8,0)},w.deflateInit2=ht,w.deflateReset=lt,w.deflateResetKeep=it,w.deflateSetHeader=function(t,R){return t&&t.state?t.state.wrap!==2?d:(t.state.gzhead=R,i):d},w.deflate=function(t,R){var A,f,s,k;if(!t||!t.state||5>8&255),X(f,f.gzhead.time>>16&255),X(f,f.gzhead.time>>24&255),X(f,f.level===9?2:2<=f.strategy||f.level<2?4:0),X(f,255&f.gzhead.os),f.gzhead.extra&&f.gzhead.extra.length&&(X(f,255&f.gzhead.extra.length),X(f,f.gzhead.extra.length>>8&255)),f.gzhead.hcrc&&(t.adler=g(t.adler,f.pending_buf,f.pending,0)),f.gzindex=0,f.status=69):(X(f,0),X(f,0),X(f,0),X(f,0),X(f,0),X(f,f.level===9?2:2<=f.strategy||f.level<2?4:0),X(f,3),f.status=B);else{var F=c+(f.w_bits-8<<4)<<8;F|=(2<=f.strategy||f.level<2?0:f.level<6?1:f.level===6?2:3)<<6,f.strstart!==0&&(F|=32),F+=31-F%31,f.status=B,G(f,F),f.strstart!==0&&(G(f,t.adler>>>16),G(f,65535&t.adler)),t.adler=1}if(f.status===69)if(f.gzhead.extra){for(s=f.pending;f.gzindex<(65535&f.gzhead.extra.length)&&(f.pending!==f.pending_buf_size||(f.gzhead.hcrc&&f.pending>s&&(t.adler=g(t.adler,f.pending_buf,f.pending-s,s)),E(t),s=f.pending,f.pending!==f.pending_buf_size));)X(f,255&f.gzhead.extra[f.gzindex]),f.gzindex++;f.gzhead.hcrc&&f.pending>s&&(t.adler=g(t.adler,f.pending_buf,f.pending-s,s)),f.gzindex===f.gzhead.extra.length&&(f.gzindex=0,f.status=73)}else f.status=73;if(f.status===73)if(f.gzhead.name){s=f.pending;do{if(f.pending===f.pending_buf_size&&(f.gzhead.hcrc&&f.pending>s&&(t.adler=g(t.adler,f.pending_buf,f.pending-s,s)),E(t),s=f.pending,f.pending===f.pending_buf_size)){k=1;break}k=f.gzindexs&&(t.adler=g(t.adler,f.pending_buf,f.pending-s,s)),k===0&&(f.gzindex=0,f.status=91)}else f.status=91;if(f.status===91)if(f.gzhead.comment){s=f.pending;do{if(f.pending===f.pending_buf_size&&(f.gzhead.hcrc&&f.pending>s&&(t.adler=g(t.adler,f.pending_buf,f.pending-s,s)),E(t),s=f.pending,f.pending===f.pending_buf_size)){k=1;break}k=f.gzindexs&&(t.adler=g(t.adler,f.pending_buf,f.pending-s,s)),k===0&&(f.status=103)}else f.status=103;if(f.status===103&&(f.gzhead.hcrc?(f.pending+2>f.pending_buf_size&&E(t),f.pending+2<=f.pending_buf_size&&(X(f,255&t.adler),X(f,t.adler>>8&255),t.adler=0,f.status=B)):f.status=B),f.pending!==0){if(E(t),t.avail_out===0)return f.last_flush=-1,i}else if(t.avail_in===0&&L(R)<=L(A)&&R!==b)return $(t,-5);if(f.status===666&&t.avail_in!==0)return $(t,-5);if(t.avail_in!==0||f.lookahead!==0||R!==p&&f.status!==666){var P=f.strategy===2?(function(z,Z){for(var K;;){if(z.lookahead===0&&(nt(z),z.lookahead===0)){if(Z===p)return e;break}if(z.match_length=0,K=n._tr_tally(z,0,z.window[z.strstart]),z.lookahead--,z.strstart++,K&&(C(z,!1),z.strm.avail_out===0))return e}return z.insert=0,Z===b?(C(z,!0),z.strm.avail_out===0?J:U):z.last_lit&&(C(z,!1),z.strm.avail_out===0)?e:T})(f,R):f.strategy===3?(function(z,Z){for(var K,M,Y,rt,tt=z.window;;){if(z.lookahead<=W){if(nt(z),z.lookahead<=W&&Z===p)return e;if(z.lookahead===0)break}if(z.match_length=0,z.lookahead>=I&&0z.lookahead&&(z.match_length=z.lookahead)}if(z.match_length>=I?(K=n._tr_tally(z,1,z.match_length-I),z.lookahead-=z.match_length,z.strstart+=z.match_length,z.match_length=0):(K=n._tr_tally(z,0,z.window[z.strstart]),z.lookahead--,z.strstart++),K&&(C(z,!1),z.strm.avail_out===0))return e}return z.insert=0,Z===b?(C(z,!0),z.strm.avail_out===0?J:U):z.last_lit&&(C(z,!1),z.strm.avail_out===0)?e:T})(f,R):u[f.level].func(f,R);if(P!==J&&P!==U||(f.status=666),P===e||P===J)return t.avail_out===0&&(f.last_flush=-1),i;if(P===T&&(R===1?n._tr_align(f):R!==5&&(n._tr_stored_block(f,0,0,!1),R===3&&(V(f.head),f.lookahead===0&&(f.strstart=0,f.block_start=0,f.insert=0))),E(t),t.avail_out===0))return f.last_flush=-1,i}return R!==b?i:f.wrap<=0?1:(f.wrap===2?(X(f,255&t.adler),X(f,t.adler>>8&255),X(f,t.adler>>16&255),X(f,t.adler>>24&255),X(f,255&t.total_in),X(f,t.total_in>>8&255),X(f,t.total_in>>16&255),X(f,t.total_in>>24&255)):(G(f,t.adler>>>16),G(f,65535&t.adler)),E(t),0=A.w_size&&(k===0&&(V(A.head),A.strstart=0,A.block_start=0,A.insert=0),Z=new o.Buf8(A.w_size),o.arraySet(Z,R,K-A.w_size,A.w_size,0),R=Z,K=A.w_size),F=t.avail_in,P=t.next_in,z=t.input,t.avail_in=K,t.next_in=0,t.input=R,nt(A);A.lookahead>=I;){for(f=A.strstart,s=A.lookahead-(I-1);A.ins_h=(A.ins_h<>>=I=j>>>24,v-=I,(I=j>>>16&255)===0)T[y++]=65535&j;else{if(!(16&I)){if((64&I)==0){j=S[(65535&j)+(c&(1<>>=I,v-=I),v<15&&(c+=e[h++]<>>=I=j>>>24,v-=I,!(16&(I=j>>>16&255))){if((64&I)==0){j=x[(65535&j)+(c&(1<>>=I,v-=I,(I=y-p)>3,c&=(1<<(v-=W<<3))-1,u.next_in=h,u.next_out=y,u.avail_in=h>>24&255)+(m>>>8&65280)+((65280&m)<<8)+((255&m)<<24)}function c(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new u.Buf16(320),this.work=new u.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function v(m){var B;return m&&m.state?(B=m.state,m.total_in=m.total_out=B.total=0,m.msg="",B.wrap&&(m.adler=1&B.wrap),B.mode=d,B.last=0,B.havedict=0,B.dmax=32768,B.head=null,B.hold=0,B.bits=0,B.lencode=B.lendyn=new u.Buf32(r),B.distcode=B.distdyn=new u.Buf32(l),B.sane=1,B.back=-1,b):i}function S(m){var B;return m&&m.state?((B=m.state).wsize=0,B.whave=0,B.wnext=0,v(m)):i}function x(m,B){var e,T;return m&&m.state?(T=m.state,B<0?(e=0,B=-B):(e=1+(B>>4),B<48&&(B&=15)),B&&(B<8||15=U.wsize?(u.arraySet(U.window,B,e-U.wsize,U.wsize,0),U.wnext=0,U.whave=U.wsize):(T<(J=U.wsize-U.wnext)&&(J=T),u.arraySet(U.window,B,e-T,J,U.wnext),(T-=J)?(u.arraySet(U.window,B,e-T,T,0),U.wnext=T,U.whave=U.wsize):(U.wnext+=J,U.wnext===U.wsize&&(U.wnext=0),U.whave>>8&255,e.check=n(e.check,k,2,0),C=E=0,e.mode=2;break}if(e.flags=0,e.head&&(e.head.done=!1),!(1&e.wrap)||(((255&E)<<8)+(E>>8))%31){m.msg="incorrect header check",e.mode=30;break}if((15&E)!=8){m.msg="unknown compression method",e.mode=30;break}if(C-=4,t=8+(15&(E>>>=4)),e.wbits===0)e.wbits=t;else if(t>e.wbits){m.msg="invalid window size",e.mode=30;break}e.dmax=1<>8&1),512&e.flags&&(k[0]=255&E,k[1]=E>>>8&255,e.check=n(e.check,k,2,0)),C=E=0,e.mode=3;case 3:for(;C<32;){if(L===0)break t;L--,E+=T[U++]<>>8&255,k[2]=E>>>16&255,k[3]=E>>>24&255,e.check=n(e.check,k,4,0)),C=E=0,e.mode=4;case 4:for(;C<16;){if(L===0)break t;L--,E+=T[U++]<>8),512&e.flags&&(k[0]=255&E,k[1]=E>>>8&255,e.check=n(e.check,k,2,0)),C=E=0,e.mode=5;case 5:if(1024&e.flags){for(;C<16;){if(L===0)break t;L--,E+=T[U++]<>>8&255,e.check=n(e.check,k,2,0)),C=E=0}else e.head&&(e.head.extra=null);e.mode=6;case 6:if(1024&e.flags&&(L<(H=e.length)&&(H=L),H&&(e.head&&(t=e.head.extra_len-e.length,e.head.extra||(e.head.extra=new Array(e.head.extra_len)),u.arraySet(e.head.extra,T,U,H,t)),512&e.flags&&(e.check=n(e.check,T,H,U)),L-=H,U+=H,e.length-=H),e.length))break t;e.length=0,e.mode=7;case 7:if(2048&e.flags){if(L===0)break t;for(H=0;t=T[U+H++],e.head&&t&&e.length<65536&&(e.head.name+=String.fromCharCode(t)),t&&H>9&1,e.head.done=!0),m.adler=e.check=0,e.mode=12;break;case 10:for(;C<32;){if(L===0)break t;L--,E+=T[U++]<>>=7&C,C-=7&C,e.mode=27;break}for(;C<3;){if(L===0)break t;L--,E+=T[U++]<>>=1)){case 0:e.mode=14;break;case 1:if(W(e),e.mode=20,B!==6)break;E>>>=2,C-=2;break t;case 2:e.mode=17;break;case 3:m.msg="invalid block type",e.mode=30}E>>>=2,C-=2;break;case 14:for(E>>>=7&C,C-=7&C;C<32;){if(L===0)break t;L--,E+=T[U++]<>>16^65535)){m.msg="invalid stored block lengths",e.mode=30;break}if(e.length=65535&E,C=E=0,e.mode=15,B===6)break t;case 15:e.mode=16;case 16:if(H=e.length){if(L>>=5,C-=5,e.ndist=1+(31&E),E>>>=5,C-=5,e.ncode=4+(15&E),E>>>=4,C-=4,286>>=3,C-=3}for(;e.have<19;)e.lens[F[e.have++]]=0;if(e.lencode=e.lendyn,e.lenbits=7,A={bits:e.lenbits},R=g(0,e.lens,0,19,e.lencode,0,e.work,A),e.lenbits=A.bits,R){m.msg="invalid code lengths set",e.mode=30;break}e.have=0,e.mode=19;case 19:for(;e.have>>16&255,st=65535&s,!((Q=s>>>24)<=C);){if(L===0)break t;L--,E+=T[U++]<>>=Q,C-=Q,e.lens[e.have++]=st;else{if(st===16){for(f=Q+2;C>>=Q,C-=Q,e.have===0){m.msg="invalid bit length repeat",e.mode=30;break}t=e.lens[e.have-1],H=3+(3&E),E>>>=2,C-=2}else if(st===17){for(f=Q+3;C>>=Q)),E>>>=3,C-=3}else{for(f=Q+7;C>>=Q)),E>>>=7,C-=7}if(e.have+H>e.nlen+e.ndist){m.msg="invalid bit length repeat",e.mode=30;break}for(;H--;)e.lens[e.have++]=t}}if(e.mode===30)break;if(e.lens[256]===0){m.msg="invalid code -- missing end-of-block",e.mode=30;break}if(e.lenbits=9,A={bits:e.lenbits},R=g(y,e.lens,0,e.nlen,e.lencode,0,e.work,A),e.lenbits=A.bits,R){m.msg="invalid literal/lengths set",e.mode=30;break}if(e.distbits=6,e.distcode=e.distdyn,A={bits:e.distbits},R=g(p,e.lens,e.nlen,e.ndist,e.distcode,0,e.work,A),e.distbits=A.bits,R){m.msg="invalid distances set",e.mode=30;break}if(e.mode=20,B===6)break t;case 20:e.mode=21;case 21:if(6<=L&&258<=V){m.next_out=$,m.avail_out=V,m.next_in=U,m.avail_in=L,e.hold=E,e.bits=C,h(m,G),$=m.next_out,J=m.output,V=m.avail_out,U=m.next_in,T=m.input,L=m.avail_in,E=e.hold,C=e.bits,e.mode===12&&(e.back=-1);break}for(e.back=0;et=(s=e.lencode[E&(1<>>16&255,st=65535&s,!((Q=s>>>24)<=C);){if(L===0)break t;L--,E+=T[U++]<>it)])>>>16&255,st=65535&s,!(it+(Q=s>>>24)<=C);){if(L===0)break t;L--,E+=T[U++]<>>=it,C-=it,e.back+=it}if(E>>>=Q,C-=Q,e.back+=Q,e.length=st,et===0){e.mode=26;break}if(32&et){e.back=-1,e.mode=12;break}if(64&et){m.msg="invalid literal/length code",e.mode=30;break}e.extra=15&et,e.mode=22;case 22:if(e.extra){for(f=e.extra;C>>=e.extra,C-=e.extra,e.back+=e.extra}e.was=e.length,e.mode=23;case 23:for(;et=(s=e.distcode[E&(1<>>16&255,st=65535&s,!((Q=s>>>24)<=C);){if(L===0)break t;L--,E+=T[U++]<>it)])>>>16&255,st=65535&s,!(it+(Q=s>>>24)<=C);){if(L===0)break t;L--,E+=T[U++]<>>=it,C-=it,e.back+=it}if(E>>>=Q,C-=Q,e.back+=Q,64&et){m.msg="invalid distance code",e.mode=30;break}e.offset=st,e.extra=15&et,e.mode=24;case 24:if(e.extra){for(f=e.extra;C>>=e.extra,C-=e.extra,e.back+=e.extra}if(e.offset>e.dmax){m.msg="invalid distance too far back",e.mode=30;break}e.mode=25;case 25:if(V===0)break t;if(H=G-V,e.offset>H){if((H=e.offset-H)>e.whave&&e.sane){m.msg="invalid distance too far back",e.mode=30;break}nt=H>e.wnext?(H-=e.wnext,e.wsize-H):e.wnext-H,H>e.length&&(H=e.length),ot=e.window}else ot=J,nt=$-e.offset,H=e.length;for(VO?(I=nt[ot+l[B]],C[X+l[B]]):(I=96,0),c=1<>$)+(v-=c)]=j<<24|I<<16|W|0,v!==0;);for(c=1<>=1;if(c!==0?(E&=c-1,E+=c):E=0,B++,--G[m]==0){if(m===T)break;m=p[b+l[B]]}if(J>>7)]}function X(s,k){s.pending_buf[s.pending++]=255&k,s.pending_buf[s.pending++]=k>>>8&255}function G(s,k,F){s.bi_valid>a-F?(s.bi_buf|=k<>a-s.bi_valid,s.bi_valid+=F-a):(s.bi_buf|=k<>>=1,F<<=1,0<--k;);return F>>>1}function ot(s,k,F){var P,z,Z=new Array(l+1),K=0;for(P=1;P<=l;P++)Z[P]=K=K+F[P-1]<<1;for(z=0;z<=k;z++){var M=s[2*z+1];M!==0&&(s[2*z]=nt(Z[M]++,M))}}function Q(s){var k;for(k=0;k>1;1<=F;F--)it(s,Z,F);for(z=Y;F=s.heap[1],s.heap[1]=s.heap[s.heap_len--],it(s,Z,1),P=s.heap[1],s.heap[--s.heap_max]=F,s.heap[--s.heap_max]=P,Z[2*z]=Z[2*F]+Z[2*P],s.depth[z]=(s.depth[F]>=s.depth[P]?s.depth[F]:s.depth[P])+1,Z[2*F+1]=Z[2*P+1]=z,s.heap[1]=z++,it(s,Z,1),2<=s.heap_len;);s.heap[--s.heap_max]=s.heap[1],(function(tt,ut){var pt,ft,mt,at,gt,kt,dt=ut.dyn_tree,St=ut.max_code,At=ut.stat_desc.static_tree,It=ut.stat_desc.has_stree,Ot=ut.stat_desc.extra_bits,zt=ut.stat_desc.extra_base,_t=ut.stat_desc.max_length,bt=0;for(at=0;at<=l;at++)tt.bl_count[at]=0;for(dt[2*tt.heap[tt.heap_max]+1]=0,pt=tt.heap_max+1;pt>=7;z>>=1)if(1&rt&&M.dyn_ltree[2*Y]!==0)return o;if(M.dyn_ltree[18]!==0||M.dyn_ltree[20]!==0||M.dyn_ltree[26]!==0)return n;for(Y=32;Y>>3,(Z=s.static_len+3+7>>>3)<=z&&(z=Z)):z=Z=F+5,F+4<=z&&k!==-1?f(s,k,F,P):s.strategy===4||Z===z?(G(s,2+(P?1:0),3),lt(s,q,m)):(G(s,4+(P?1:0),3),(function(M,Y,rt,tt){var ut;for(G(M,Y-257,5),G(M,rt-1,5),G(M,tt-4,4),ut=0;ut>>8&255,s.pending_buf[s.d_buf+2*s.last_lit+1]=255&k,s.pending_buf[s.l_buf+s.last_lit]=255&F,s.last_lit++,k===0?s.dyn_ltree[2*F]++:(s.matches++,k--,s.dyn_ltree[2*(e[F]+p+1)]++,s.dyn_dtree[2*C(k)]++),s.last_lit===s.lit_bufsize-1},w._tr_align=function(s){G(s,2,3),H(s,v,q),(function(k){k.bi_valid===16?(X(k,k.bi_buf),k.bi_buf=0,k.bi_valid=0):8<=k.bi_valid&&(k.pending_buf[k.pending++]=255&k.bi_buf,k.bi_buf>>=8,k.bi_valid-=8)})(s)}},{"../utils/common":41}],53:[function(_,N,w){N.exports=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}},{}],54:[function(_,N,w){(function(u){(function(o,n){if(!o.setImmediate){var h,g,y,p,b=1,i={},d=!1,r=o.document,l=Object.getPrototypeOf&&Object.getPrototypeOf(o);l=l&&l.setTimeout?l:o,h={}.toString.call(o.process)==="[object process]"?function(S){process.nextTick(function(){c(S)})}:(function(){if(o.postMessage&&!o.importScripts){var S=!0,x=o.onmessage;return o.onmessage=function(){S=!1},o.postMessage("","*"),o.onmessage=x,S}})()?(p="setImmediate$"+Math.random()+"$",o.addEventListener?o.addEventListener("message",v,!1):o.attachEvent("onmessage",v),function(S){o.postMessage(p+S,"*")}):o.MessageChannel?((y=new MessageChannel).port1.onmessage=function(S){c(S.data)},function(S){y.port2.postMessage(S)}):r&&"onreadystatechange"in r.createElement("script")?(g=r.documentElement,function(S){var x=r.createElement("script");x.onreadystatechange=function(){c(S),x.onreadystatechange=null,g.removeChild(x),x=null},g.appendChild(x)}):function(S){setTimeout(c,0,S)},l.setImmediate=function(S){typeof S!="function"&&(S=new Function(""+S));for(var x=new Array(arguments.length-1),D=0;D"u"?u===void 0?this:u:self)}).call(this,typeof vt<"u"?vt:typeof self<"u"?self:typeof window<"u"?window:{})},{}]},{},[10])(10)})})(xt)),xt.exports}var Et=Tt();const Dt=Bt(Et),Nt=Rt({__proto__:null,default:Dt},[Et]);export{Nt as j}; diff --git a/frontend/dist/assets/webicon-K25S575h.svg b/frontend/dist/assets/webicon-K25S575h.svg deleted file mode 100644 index bd830bc..0000000 --- a/frontend/dist/assets/webicon-K25S575h.svg +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/frontend/dist/default.json b/frontend/dist/default.json deleted file mode 100644 index b482310..0000000 --- a/frontend/dist/default.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "inputText": "星程字体转换", - "fontSize": 50, - "textColor": "#dc2626", - "selectedFontIds": [ - "0001" - ], - "favoriteFontIds": [ - "0001" - ] -} diff --git a/frontend/dist/favicon.png b/frontend/dist/favicon.png deleted file mode 100644 index ecff30e4e4c1f36d610e04e8572cde5434fb02b1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 60564 zcmZ_!1CVbqvo{KlZSJvc+qP}nwryMg(Vm$-w(UK(ZQC<Hc+h zI$5hawUQ`Bc?ozJY#1OQAb2TBQRRPa(|-yS#J`$v3WE7x17;y4Cj?d1mwmD1axi)1jL;Q1cd3B+o8n!PatZhDP=Av2Sojk zh5`bPumS@6M*;sU*#8O;5NIJV5a_=a_&>ZtkpGo76@vaB`aeMRrF5@tJ9;Bi2V*mOPdmr|0DyQsx&M)NX0Aqro_4nOF5I4c#Q%lh{zw0Z%|J}}Ul3Ot zK4MKdMM4n=XEQ=}dPaIiVtyDxLPB0=Q*&-*QStv#|JUOqwsduMtBEj|B)~-(K9mqukC-Ty#L{Hi#XUiIIB1snV9i2 z@%|U^|7QIkFaM2JwDL5w)fBa|GqZR3HzIx}X3qan`u~^wziMjze`@|;lK;`?!@UU**ot}o;G z>NIIFG(iX@1HpvmNryJLiRbERm7-PU(^TF_oJ>0>hLuss)Y9{ksUy;c&}hsgFif=2 zz_Y=ix50!0!Juf}F?|eJI$0WBb{@9hd<(93cy5AIMYU3s^WXHg6a>B=7yeVdm0kWI zUN6=jac@9+UzBc=G>2bVm8cY3*<31^F@GqhUt5+af0@U{cd$9DJ2aIm$N5eu%X<~i zMLJYt5z&H+!qCFMfgUJyJxOKygbD^|pY-l2*9{wam!`pzlaP1?a8Gn?#WN%sfa-pZ)t5GOPW-aik|0e}5d6?uw=Y~GeY z$UzG#n>~=^x+&(dE(7^IQa&*=Ns2}=heQu811G_pga|_mLh?K zm^ZbkVo~)pA#-N!?|fAn(6y`i4dJlXThz2WnS$l>IPPxK=)O^TUAeLV*?6`n75YXb z?FvVJ1p$@+CScmH^pco(i^A3Q@NA*Djkc~xEP!oI@i$D+Y13x(=h~B4l#yo-AYvcU zw2MkeYTM5?Cp~e<8{GSPGF?q3o*YYK_BP5mgA*i&OXq|ldOcj7Ri}^A2Iab9@p&6z zue+V=6_z0Z!H_CN4Os>-k>l+gNNw7r; zXzKz3#YDM6?Lxz!g{7rTPfVLljbJo_>#0Pe!{+w9CcNd~4T8p2l2lU$K|=@&BVDlS zZt4^J6;&sjrk)X%6d6?fyS^M(Cc8!I)k&xqGBR{q6tQ!hwD1=lR5q_;$ptYPL?k|> z^rx7_K4|VdO0KV0bOt{50r%1Xq%M?;V1ykYEd#crj`A%r{I+BKXou+MjvsQBZQ_8% zissu&!{B7`O5n>4?4x!itm%h)-t(ORZC#oqBuo2X@X7kiq|Sxm^A})tgDQ$PRypPp z92G`F_GNi0tGDZHq3$B~cRJ%1C~x%bZ$WgiHrIqA;PPzO z(JLzGppZ|-KaAs12&Yk&i^-(u(n@BS9C?Q1o1GPbd(?efblZ@(0QJwh_2tF?af_vQPI(Zqmlz7Xy!uQYl&2Vb>gBT zLwOp9-|hS!2$8#|*y~A}GW%}JmGZOKDDwHf$NY{-4)mXwcRy2DFXb+HtuE57unQ>8 z<&GbJ0vmRNv5!qrvo)P0CX8yv_yvXfIfDh8l4~Q#?ef|u5LZNgLq7N=f?s`YKL@K_ z!sdJOWj}`3L}VwN_UBs|Alk(v7Z>A(QxF~CC6=`~ zER`2M=v3Ks@7Y7RWa&^>gj%=1BPLz2V9b$X{VPu=6j~Kx3ws{~3jhmj*l}jSL7%{2 z22%qy8W|tqW!*&`Cs@!2TAdUe*p=ljx-6@l*B`jZM(>%{6T)GIS@#=xQ~vw$_^gA0 zg97c-UVqp%GILHP6#3!g`#UIN%&H_k@YQ;KKA?lU;Jquax5t`2 z-tTKX{aBXjbF^LZDnR#eSu;f8^Tp)I`bm^7<-JxV?!7`hdXHVEB3#*hBJcezU*kvl zx{EfYHnbQ)O4hHl1*P+V!^nYLQ?8+|vzH|;;S^UawkTS8FdSW9uZW7m{IDzgJ(3g+ ziZgWK%(A~+K7gc*>ShQ7qe%t8Jko1rM~MUD;zCV$|4I1}Od^}MbU+-qr^i{iG!AM6 z1fO&e5st0Ols%nQh!bC@-Z4B{0;s%4IW_Fy*n4#}KzvBd<3y%+Zet?9Lbus%LPoQg!A^hq}>d`+|9yJ*< zDCda`l2Gf2$^1$)Eu(XAVk8a9&K1}B5e(*dJ3OnXF!mftZUPl#sb$iq zu?vn=%GIA~*>+dt3N%3>;>-Zo9A1!+^Q0@R=c#1Fx#qn+JYViBGRyIQt1YScu?G2C z?KMQA7f7`;-G=Ng2uxB?1VS-i!81-^=_Y&WN3@)&XvpGpBKBIT>M4$Zl~oqJm;Vf+ z_?sjCGEe6?bHKyhb0>ca$>!U9$P-6g6ACuKc{kJ0+FE%y2KQJP}9Z%QQX2?;7U@5Z}I~E=GMdC06#+0LNT@}qD{p=zMV{g>#?a5`@ZC^~t~ZgcI|WKG z1vuwhQqg|=t)-kEuu|1X)a0-lZytQa!2N)6?Y;gbrxGQD{z(4s~b>pJu4 zF*izfBd9wz*~8UtM`8NZKQ-pOexfIavqdE#Ho|21Q{@`urC<&s*rLkb!t+D)qR0f~ zvZqv`#BP84qB)38h?L+@*l21GP!K~m=6v3PZ6wKth-1AumRHQfY}cim78Yo5)X{f< z6wQnqsFjByW1l_20PuH+tTM8^H@tiVaz?O#bW-|X&HVY0UdkBT<7nh)fv-2O&?vH= zh({?UI4QA6(i&+>bVbID%)!JcqeCE0gbR$9r;9SNA%13F{+}xD@0e`%TcklRy|Z6t za`CBnZxMNG+mBy~PX&p~Qjt5wmy{P$5PUxGt9OpVx{`b^OoF;HhT30zm7yhMy1yRJ z{9$16^L1Vje;d~Uz z{UDA%he{kQ7~?%71Ql}zOaBH-jFK!#GW!zyxa#PUW9DM@FFia@SD&T`QqUES#*K%0 z91UaP-jZWE|B~WoxPx&GbLfsx29Fu-CtxiShK!x!jS>}uMbu9%t2ss61p-LQ^G2dG zMx{!-Atyo-X3(qGs8Qf+wv3TtCmXU6Kb!Ey3uXW>qaf&ymzFq{6;z6Mn@6y^klqCtK`|6mFOy2 zN|^;(K=}<7PbkGQk|IE#h&g~8WB7)7C7*#opVV?9HhZW>D82JQf;-2siWA(AN(h}W z8N{C!`pGwZn^(JdwMFr~z8B>`dBoywW!+DW-9FBYRV2JdUBt1`d5nFtHI~vM z=z~p9jLD7HYds& zDp_eAaH8;Y0^No@&;aDePzJDBwqjls7~utidD&1s1LK1GezIe3{w-lmPvo?=(-Si! z-)s*d&oETE_?Rw=SWHzG`$`}k{K-=0A2R3XYBihB8L$zs>{I{4$png71^)(4-H$1c z=cOtI^lEnihl&kOO@^k0YIBSD@W?zm7`9VfR!#pb-DR;{coC+h(6Sb7s}Wa@6uMp1 z6Ws-h=Wom~dIw&<5UJx-rkU=YE>RGkw1`9oL?;Nxm{`Trcy1{|kwRDxpxe&bCK$P3 zVNa2ij+A&}O24ENN9a08Pq;8|!$!h9OdwJ(Shzw&HSCkV#8X>ZDLU=VY%^?Oz zcYR*HT|UTyrw2(5vJyo-7d1(!Fg>590@B%d7zUydjDuSdfZZ>WfICI_aEzC~erKqY z6!+Xjn>m13hM3zB4Vjn6jOv%y$mD|@B{t|OJBU1T@`eA3gPyLP?>)}*lY%|$V8O|^ zaL_m3NLIntI&SXN#td93O~P{twTXoCg}Z|FI92+#-pcC+mrpe_PLrhzIAp@~G8bx{9TxRsVSCVoHEgAl&eXTTeD_{q&xFj?z z4@@M*sKU_M&g&^wQo<6d_?|T{@WcR_V4ead5Ubyn*Q9Ac5xUe38z=R*!r0Jo2FP(X zB3%!jQs1d%>Rt49c8&3k_B1)@GA0t3i%39)meO3DR(`qsMBH$;U_-#@9+2pHMU&Y3 zTyEnuoT4sc3X(yRNj-;R1;FSI?;4YZmUM;k0YmGtH8-6T6hj%tP{a(n?m+MBgibwn zRackG6+1c283A82%@sewLEESFc;At7JrCO>_qEsKe{?Wqj5owsg=uKyGGwDfFNKdQ z6HBX%Ue>8yV^;gR-o)o>I65wUi&ye15LacMgw*3ss$;Ll&;3S=8=hr@WM5su<&b-i z7-l#+fh2X?!3Z%L4^j(2qqO9T9>`ZwxRxbcrAFsn z4tOJh`HNBn$%e}vET3ZUz!Z>&eM?%WI_|mDol9-An=@;-HJj|Rpl)qk0W0DV>(#yG zhE(A^(|I~|V%*U*Y_fRB_*tZ#ZTL37yGrNy48Dt8LtvGRZHW9Sd-B`zcpv7HCBojg zZ!*(a)bp>wBGGPVbDXm=4)}=niNuQlp`YQLM4NMArzVSI22)Kd0kc*zJDMCkIJ^Fj zUo)3z!8A{ZJ0H(?Do>>e_{~cSk7X0ZVwwBTv?)kx;RdGKk~kEb$T_~2kk-0}k_&V; znFb{Ccr2kku|bp1Wh+-ji-4dFgpKS2y*}K#i6Xd86?aq!QTp8**tEJyJ;PghL*uOB zHr`w!Cj2JuqJ33cXEn(^Wu$MAFvr%1S4I6nMPh|u5USvqHsJ|;woNd!+0zPBv>8~r z8zoM6LQfU!cNgt3)FiMOB#bMq^?YyNf~^4K&3Ig#7F!}46^|BMH&A*beO#=I`VR@8 ztDrexoHNSx%gr)7dkwqpVCFj_#k4s3y;K-$l*6+&3Jxk^W^V%;i2p5`R7q2tWK#&Tp-R8L z$94Rk(eAJGtIR74dz@Fp-}8C5$7UNdMet2y48eD((=gl@5AHq$=7u@-%7(B} zTU5HuAjOyFlj`^(4Mv{j^j15jyhar5cGVhfxikpUhDp$!P^vbL0E%x90q{~AiU=Zo zMS7wB@Z3v5Q8<0zt-SgpUIBOD+0eq%ku9Y2`ZU(d|xZ{%4SiHl55rWerF^DFB*H?EXY z5?EF7hQt)PR^H_(WMxSy!*U8wmpRw;@aUR1Z)myn_R>2Bug_gW<>KC($VJ!djI&e% zk}edu-X6HTBJ=lYs6sr$c(17U#e1{N$G|bsdm@ADcmAVEN*7j>8=KPO`kkyM8|d>C zJ*l!CcweOW3&i2P6u#=*Onmo5n%~{v_rrPPX}e|)KC4e{2~*UeNU3GNLjDweFP zRb`S+m@)^A6!E?RA<`Snk7o>W#qNeNn7Q`0Ep!ALII1f2R?b}}ofSW^GlwlsEP9!% zoduyzdH;4>c=RZoN_lcrSh0%n?;}T-$Z=vRNdnafa(y^08BLH|&F{y*oJrNw*R7|< z6M=T_ko4wqrhNYm)?h=1Aia%6?|*>GiP80`^G&TX2ULsV|K55+v+v07tqvlOUa)^k z>_4zlwy)Gsg7;4G4n=1WM-l78%Ff*E>d9jqtZPNSNG(uJ(2fvoRlAr{_Em&HIQaJiNmNb>p={qE*$NMx|6fCfBDAX%DdC@lD zh0+*Kw#eMIywa81=DFw6&W5Br$5!am*>BbSlvCQL4R5ssK&D3#eiN#GOAc0<2qLlR za*{qvfJOBhiCi3k3~_qeUwLDn`X^!9k>SQ}^~Y-EG&1}iIu6D037y^2;keKRHl6OF zXNWRkT}+*rTZY$&Ld-aglzw_Qc_tL7D_8(nStGT9S_D6(IB-14!DJyJR6~##ed~jP z*F-kpA?MWgzLf0NVkGaKQcnfOxn7y%f z?`i!ee_5mvgMK<5r8#5K09X#Pwg;>%BtC7BTcym=lj~JN(KG4V7NUGUI5BsUXdk3q zK383eUt9zS=kgAXczAqp#m(%$rPXPk;AX9KD$%dBD;LsLygDIvYFXEjoS{9YC*)t^ zX+s~yL>%Qs##DuK7sx6@2#LB%hTB0NIT=MfHJrvSQ77{bW}8xEh-7LqCCJEX@d^nI z?|+HVG;@|vb7}CWP!P*=a5Rz*QBGkxR&Xu23t!4#{XO{RavjQ2p!mN8Vz+-b$ zaUIx1*LdtYjKYh;wXxDz2&896l%h>iESPJk-kT3{|0s^frBGSm$S<3nDJQf%uDEW? zom^@nK(R0NsC8v2@mb*;0b5VJ7olDEfa!dgck2}4;!dH%E&4lnqnjG~Jh8j675fK> z@Hu$K8)rZolt)OrW{AOx#;;a0Y0RTf!= zRO=krCeLf{p?adA_JN8|Vk&>V!J01|;u+8~Gl_nY6_)cKW;idDA=3HwR<9QSwZb>0 zbaJp>2(J*$voxxVONirvD1wi=jkJoSpgnONtx}x4UT75eHq)PQ4aT_e;?cNiI+?vo zi9_&#-qTO(7&ao0h@6(Wrw6nP!vK_bn5;-^8Ve^RY{I=-hM^)u6&0CuK%QbEc#6=o zqF@&x5ckqOr3PtwXeuN7@7e@MGd;%?9E~0v{&Mt82xrUvb(U)T+{_Xpe z!Pz<(1WT)EAM65kPpzAu4N3`@i56$LPVeCX=bO59xSn&m%Y&V5)G<9Z1%1AV&lpdc z5|9oHja-=;Itrc%1x+Tc_zg`c^i5ra(gt8N0)_DcCk%+;&_u{}l$%|AA#P)1N7^xh z;T!!Rc0Y$RS-}wu^|zwbERq)`?g|@nU5R3o-Rb0F66axz#_<1T_etrJf$EEBWQ2)w#LG1$g;HLiAm0QLReX@K zI!jg&UEvMw=<5sUBE`U+78=z|v8OdDzW2gLj@g()mh!}WCfu(!%11&jW=&Er6n;fM zMt0WK-_R{E{B>i^9J_*cI$T}-ENrnS(u6T6YBI-WImU(T;fxx#d3S83-q3eSjgokj zV}wB=2O_J*ZteQ0sPe?zvo3aQ*59cbZpcQ9+K%%k9h&7Oq`4RH#?M7%viN_A_WzC??jkSafA`duRMHHtzp=^`uvQkh+-%jrciR&`@ zzgJJWaHkCPjHf7dS6>CNelFm@LTq$ za7#sSfNXj}33J23SM%~fc+J>{Nq`(lfFr@WPYZl46&!XF1O^Xs_PrjB3+N}8r((_f zi0GT;4^Jc)MX4V~L$=sbmCDc5V&>_Bv#Mtf!=;nj=FZ&HwU`>WhAtxKJs5NZZd86m zs6KGmE52VQrSED@JoTE3MA2L)GR~adiltS$zy%YFe9(aVE`faMcYGX z`o8^-oyzsk-W$i|d9_%Mu4XuDYWqD5fN+E;!yECadWeL{JEr!VH2<~G7b2%ysb;CF z*7ZL9N;kI0(P*TdWyy#F}gX6cpN)R|S7LKgJcR)1l|( z4#%4ZrEo7WgpxOC8jvTq&5TgWc#9!vuDI+f>)2fzB(6)2j^@n#-Nr=)91s zH9Ik@>Zsnkz8*PwO&lM2n)uS_udaxLovuiQ-O4m}_h}zoq93htdokal*S~+mBDGNi zrC9w0`+71TI)Napg0PxD!XtbD$K<1xb71PylyEFF6ivW>x9Ux+z@O`S8CTER#tJzR z-vLZUn1X<|g6(}wh9HCSR#;KWE5cbRLBdcU;a}D24F_PJ(5}I}P@0iQp)xlUT7nqY z10jeD7sI+E+%aCA7F|2!;oMt2GbS+U%Zwmc=YO40Mz{SsuO^JAYG!KII1D<2H)rLk zV>Uynq#C0>+2+RUt5}S!$+47A0LLk0;}}F=$JT< zTME&Nh(*aWY5j48P#|J6Pwu?;ewO!SgYj%}>8(XW~}lt_+wYFm9zDSbuCM>qM* zf-62H{nD4t+st82?oc)hxPEjD+7klRu za2P!xl2M=Ho$L_lT5;?J_QKA?LeLL^D6&c&2uNne4V?RX9=#p8YxOl-Auv+6-| zRy=!HN7%yR+V=rZ8l_LUrgqKbM{Reajz%=Z`RijRApnP~D2VYW?y4FPXX3@rd0o9m z7W^g=@@d3QN$#kuFC&#`M{H?b^VxPEd%ilaCsKdU^SX=myUMY!vx;B3$zt=lG#$QX zWa49+Ox{~qc%H2p97Azu$IcTnMR9^j6HGZybfzRV6Un%A<}w?WQFUt9J?m4+0Keao zw8$65_W|~sA|rBX^Csv=EW)kJPb2(c)K=&XT0wqq{X9%gNF0mDOtd#>Lp1CIMsb*e zV;wc95anKH&nf=9!Ig(zy`>o;DVvPMFp|baOzZ8L9K^ro7Nx>Ww2FF2LUs6y0~iV_ z*)rfeh10nAn~X84kNj;OiENu_)9Q|)oFuJ0n3+BUkfORn?y%u%S4udm%3Z}EF4Cv$ z&e}XeJrrGS;{Ro3y;;UsAWQ?`RRlsaO^d6ah)N)-3P@Z*D2!EzgUx8FBF~#>8a!f- z26=_BTB4eaJw-~il$GTvh{jJpb7^pqO|*)TwN#@*D5D-}=MXc?k`X{d7J6r4FNXbSfh?3{ih6 zhpqu;C95lR&3n+r#s_HqTsVuM#5ADDv-@1H(CzMKf?F9eW$>x+0*R(Q#OydA(INyaT!Jd-|L<15~o21TNdH2^t` z$<7PBulR{nWO!G$yieVUw<*gBq@?Vx2R+tGMk*iWEa!`W4$8CAA(L^adlcl6%lyTp zK2i~g2mZQ_yyMhy;UG7)0sb5xE$_kby%oaa^J|GeRd~M%|37@uy47x29@l=gKE%yuQmN_HI%=HKEJ38_442zq%{Y1m z+6|HNxjZ@AcUMlonv_)t5TN)6m^hUbiFUPw88PdNcFEVEyH%;?CfuSEFNHPoyPecV zt{k!Vu(wSbgZV{uU+OogSJm+`&^EIZv!AXWEmU^@vL1-Oh`&^S zr>wFKpItBbW|Cs*2@MeR{bHIboC_M!Sz_G|C_*`1I9CO}!2Ag(2zIS3b*f|nVXA=x zFE1WH)JkkV{FBzR9->Zl2+^?Z-2D;VWbL00MGbj_`tu_y?m;wWE35jRWGceQ8@ZX+ z<>r&M*V~E_|IrnpqhF_#t3`fa?uIkJpPt>dIW#D+wXI+yv=Ow}2a1QKY+`x;R6A^- zq@94|SW!@%*qPZ)VyG|s!RXy8FK3gc?1r5kudY)XNE%eDw$4oh;Gdf|M*Yu?LbK`I zJTNY43Vfz}UiQ5%%pE;;JlDS;dItd&D)2a$rul~UQ}#RC5H*&QI$|4ao8a`?nAED# z>LEplZ3BI%%hiL=VWtv>9DTkk`=8$0v))pjTN z{qz^^Qi{jAg?RA6gDSPVD*bHDMZDdL=#dXEg3_-T<(@Hjd`dyk9sgW zQ=YI6rmu{vkgLWxYv<2l*Vk&A+6YB&gnom{b0k2)iv+;Lxl++ty4(|v!A`RP0z;nz z2L}(Uy8wEs?X1}cc_uK^K1+-$0L=$y6!>d8&0zs-I~>< zHLZ_*SeE6LtojH9w~d-0K=+3oqRvlJx2sWl_2W62Om&0Wbc6)5^!qObHHQtpEcgpN z?7Az+9di*9%aLnfy1fE~X*`{oH>@Hg{ir+DcAK=;R z=5c6y|0(wIS>9_hIeF32&}5B>XY$amgY%p}TIrto=Wx=jip~}giE+747fyQO(xN)C zUc)ESqF%B3={-(eLXzHrn-pJ}aHwK+UWNi)002)BF$*gH41og=@bW|x8&onH6RoUX zU*k+P_~>GbK_=32L~c(7bMlgeqY zGx9Juznsn^+gM#~aci=3YqV993z(EIi!~*)@nz4L(gE(L1}tr0MP+t-FT6{H|5;r# zx`KKm8GTvZJ_63s*KKrJxmoRarm{YS)_*J%@>z#mE=lA8u?pJObGx^6} zV_0deUB!B?BG*$b@oyCz@9BW*T1na*6TCbYP$f{!*k@Ur??J7nsX&Af9&Y-lEjhyG16E1+D`vSXPPU2ms@G7&9B{A}8A)TiSdSH_R1^n9D=b`nTrB)L(n>cXZnFs@UMt@LD7#FD%%xE7 z!18ttz-atN(E`UD1g}@c$1c#I{q3BEVWawD!F?}IW?4ye^<&=s{QHmJ?s&EvBS(J{ zq53xA&TeIm!#eh8rh&1mi4}{3m>L50?0K`*ypg3^bs}c?buvUiTS5<7HfUMg6SWTn zEIXTqaRiSaFco~E@aC;6)??-rP-^3o=^A4@K_Z|~1dNGB_?)btxE5pTki-ldT}h%L z#vG%l*aL-rxZIp=b)K%Xq8_3=>zg%?tO%V41)(Ti9Q_aO_LOTHn^aUK>)u&Q_7OrL zWKhi%OBaWPcec{r4#^vmvFN-gWo}7{zup-LH*}r6Px``{pD-s7A?X$&I9_#mqM?xMGeC$wz-&?IZ#+P z;(|%$^lrBw*Tzns$XJ8AslI_osG28zTnoaC!@$Kjn?Jz1*_y+%AYZpBt3s^vHYDcx zGsB>65D|Be+w^A_Grz8uH(=WQSi?33IwPU?C$%=E-Rmy-YmOjb{J30WS7!?0nre0Q zhrQ(&-CSA~*T*1(;^h?-!O5RLJDNf~9vkizgZ9;jmsJ+t)%kX3`-3ezt&HWxBgv`=?@8<&_pz& zGa8V}=`)2kv_>t`-OqbNOwY;kr~G53!NX`2ebnxP*dqptm<5L2c`WS_5<%rEH@#Sj zr^&LZp}kXXTDsBsU(qm(2c5Bz=@LNrPzx`7oi>v>AEeYA6Ic9YCrQ zbvn<1)UD?pk$yPhJ=No5zIGj8*@|Z|Z}iizbndsl{oDfT{y9XCgMZed;CJq2I|u(E z(8~!usq%aqM9<@Gy-NQ#{c6YeDLb#b-8#dbp5>QvWA~O8&uU7mM||^I&~wuhQC~Nd z2XcN2+e!OEc@p@&vc)e~900o#{(L58M%DAX@UVT&%GIMVI??dA{zs4=x62y7_dYO> z+kR%V2Z1RmSmr}5D!)ao?+4tB84iKD7G0H(|JBXn6=wvw19RubmU^=WgWHCu!4krw zz2Qwk>!;$@F~={De0=e$WjjZ}r27p{GrDIH3Fb1>?m}#Oq#84EiRHjw#;%A8wL=lH zR;lfDD<*n5yIWBn8K-JyVu~z6*-qy!fx#-C;3SAIE6IRB0>J#u4=^BAJFf>-fUQ#- zZ2`HKKcBBo8H6stYD^T055XS^7Z=|K@WGU69l4l41iT z7ZGQ=e#wp3%wb=>mbPI7*QsV3xYynt8?+T8Sa3JAYfH) zyf)dqEt4N6)4C8uBBdR+T{>>TanI2^z?rOS3EJ|xz&0QIidZWjllPxE{!nq{b}+8m zF}{IEH}z#T`5^xrPr#0YCyLX!qb=-z%&a{4=z)j*@OQCAsognKh?P8FJ%_t26UQb; zHq3b}v&*+^A$=wc_Y(lRhXgBC@9<^dkjsg{f@xZ!B)REcYiQr`-x06mhS` zg@EXA%|5PbfJS>s%E^TSA^9yD&|a#`?pPox3lk;3Fz%5`yy;=KSutYL?1ufxjQs{q zD_13~d-qd)i2ICCxWryXQ{-O;EvpxNtj2(M1^p%Ck>0M zu$7amXW|dtNS9D>fqq*B@$?q(%K6oJ-+)ubxVAnqppg^{Y`hu{s_@CX{YSqJFg0Efr-7x#(32jw_F{?Arx?bx zAq)6SW!>X`bwgfnR!h;gJx`Ov82LzM(lCS^3lqvnQKazt{HEP$%Fb(C`DO1Hfq(?r3%6;9wG$n_|WQCxwhFvVylG<_D(OLd6#~MSj;Y74#)HNYN#v*fQq|MfV)n zlKQ+0T8~Pm%S>|*N*7-D#Dd#52YL6k)?Z$)BeKK!?fMNg7WQq|^CfW0(Q$EyS0Xnv ztF@oB>q>Y6MI&7@=Vq##Q@Jl37`qNDNF4f=Q!MViJ;x;1y6jpahKaG2LESlCyKic_*2 zU1QO3->S?IPv{Jjk)h>rGBj{q7^*ftxXHyioWj(OcEj+EaTI!kN#t?o@qyYUsP0dn=*`Tc1kz0+RHNO4~thyeS#_M7PDPQeY&BDWDG+>Dg8Vz4?N-L@u1uyx7fROfZHN^Pz96c~GoPL+ zxfCb*tb&cAjo{HAmcJQBo1JkxV$%yowX^fpB)3)8L`Chjy&KNM#3U51idpv>Vpb^F zV;aU&9B!s3^(iWhj#w^|?du%t<}#D6;o~o)#ducJ3c94WdZ8#wF7#+h`H$84xF0*n zYar8llM-%BGP6L02}4w0dI^Wo6fH{577qZttCZf9FQN1k_e!>gcuxJV5T$dy$KL zFZ;-^Z|wL7S{a%D#K*2Pe3d7xvCMRt&(QywM=HCl_y+KWUg_!@Yamb%r6HX%<8|3V zQ(DEyuFV+dL8RY9vEL_*oEVy&j=3MvzAS&OcTfJF?MPElnBO4Q*P$Ta!Jo9JUkwQ} z7>1m&5~9!aQEgg_S_j|8`XjmrwI2ZA8ko~px8JfC+Pk!1x_&V zu7WPfzm%kG!`k@25yqbCEQ;jVld`eVgHhNEIfdSWnD;6MF(K87jV}8@Ek@%;~q17cSF7hFV4l7;g=~b zqGm~S8mM|tX@n$pFSXz!%%>Fu-|ZJmhiE>dv%yD_P7=3%9OxaI4hS}LN7U+`w>WF} zTGsiyz9Z0OsH2+BVmYXhVdH+MJ(yWyhUYTD|FxF=b-93*^Gi+#gU2%mp}5J#&Q9)% zTP%_;LH+yljGrd}CvHOZ<<>F*kJo){dd7Y=#-cp1xZy())wS|3TOeUSIRo?)JwNud z*@9&F+#isOn}{aIBQ6$u>5J{U5`H<$?8`2!6BGk5!8{*QKo z)ozK=tCN6hWE+WE-o7!3u;b6+8-wP?`3ctMQK{NE8B!ZTNh%+s`x>)MU!f=rdZOb@ zAb4tR_;fm2VoQsaYKsdrJhlU0F*#Cjrcvnp2=#*3*a`*UsAB7sZkqrX4^;MR{Gq{u@Sek3g4AmZ> zEy9qiRP?m@+bLdK63(R}l%htXWvdGoxyM)yO#e27yz6QlDWr|Y=cQ>PsOhFpGO7*X zeRR&t&K@yeSJD(R9?FjabhXB3=@*+y>q2+{@_Yz$X3da`7DOvko@t-F3W2CLG_lkWg5FP?z%4A&$~UaJ->xMobDrnO8^{XS=x+M zKy{Kl88vBd`5r$lKNzsEyUy;_%RZGVK!+pHv3I+l7gKu6NuOW;M`RIcchIc{D<=q; zd$V8I7I8i+Fjy@%*rG`ntH@#{8bcGVE93&3{QD^ATDPdn6yIok&P9 zB_lEuV#VzFRz)sbJ?XdoUF=SUPty+g*4g)k(AukQ32MaUQ8+qHk-56PPoigEgQ{ayFCAQL>2;hDqDXI z%=02bz-uJn`IW7=ZOR!ZRo>cKzsHIoT9Jh*el+`{`rgTpqiObce~Hr*AKTk|!F|{7 zBP%PUCrwW0ef}cdY@}H7q~?kpZ{y=dY*&Adizw?Q7SFc5kX;i3AC`hUv1vc>l=#Xw8@oo|#=mOK!95 zgQB73=dVS|22RShD!QaV_l*ES^Q^{Gg&*%>|lGLYD0`f ztztrKFybPcc$soo-Oez^%&!R0?-?AX;`Oonerb!T?~0$A>Z1}Q2b-J;;>F$Whkcsi z3QF>nc#4tkS_1Sc|LCRS#wkU7l8&7Mc^BiP6*N1&gz#Ri7VHl8zGBeWizON70K&^H*~DY8a$lwRweJSP^lmsyiQ#|C=5eB%5LUtm>1I{Gq_ zN%Q~!KmbWZK~!*~17lRA)CeR`fs`3DU+|=HYp+EjgiBgiwFEHl+-cnj#$jrJ@nD2c zi8-Abp^(YrPWhDZ2|<=J&e3ER?Albuo_!%_-+YA;4Azb?r0T27#^^}*W3ucX$k14?c&Eaoxcm`XYC40 zI1lb0v0+9$MmWU$$dPedUMks{*-4wmP;W=mu>j30gS5SCB^4KVl^6M>n4G}aK$#$n zoEd%d`wKSymJu7dx8DZde%KbDeU({8e(6RNEEi_IeDvGrs+l#+DB;-0G~kI|#>Z)S zURkNxmtO6%2gg^e8-Z@)=LAmf+wckGnboX)=6l^ftL-d*HCO_x0OzFHJI* z%-UyEX@>GF!s9Y@diPB1g<$oIU^gj-Z$0>Q=YG8TFkSR>wE!Ol<0zuP9>Fj1)s#03 z2uMN-sXBrpK+J(_xEmZ%fn&<1F3w~bsg3c86wG362N0VScqPinhN zoEzYs;yPc-+aq*T#&b2>#nn(xUASZ~I_`ki(Idm|WS<^^i_k<}^T`-v(Ua!`CN?Cn zGB2btHF6;VSE;LZh>Qde_|c_!c#3W(mr89mzf`aRm~u$Qq@g~DPg9ok z9m+~DaxxS&j4W7(hv!Y@D`egT2v#kbONF8-9Xb&_b-K?y+IWhLEL7QcgI1PFq0U}{ z)DZ{tp~i`b=)xNU<7!vQB(X$mcvpQ}WrF`aT6yW=SaIg^xmISGNPTiWIpigw|8-p*Xg+1Fo5AVu_L1!w!)~!6}DEraH+#bd5V}t1DF~| z?mK9=Xcewbvx5c`W^|;}?q?0l1BV9qotQN{zNf=YJy=C1Ljs6<$na8wPqnWr;DcaQ%+kRkT6=W_Oo{Si# zDJ{!g1yR;(^syw+Z3l=yzS76Ew1P7@@$*Ec8x7&(9;Wpb{`nE z-TQajcbO2na&r-rEMtep`|Q}>K07qlZl_;*!ww(4hdq%Uc6*-PD{~TPGT@cTlZ`jg zE}6u- z!~9LQ&hdQDuKQ1X-k8DzHb-cGb39mePHFe38u zHAX`=ZFJXhA6k3I7Q#Ku~UU!Mk6&6s}48?Ej~ee zy4cOyXqG9}w>h6_o5~}@k>ON2p<|c+j3Yb<$owHwP;vCrdg@Y%sc(?9?$}5!7P{## z3ZeUD?*IAwKY1G=R%cHpKxhmgT0+X@Hjh8`PGr3+L1zIsIeDwb`BRJxe*W#@szag< zCm~aS-z9V~6`ZmVHel8o=7%cS00%)x87eH~OiwQVlrqT+p&`ca> z7W6@2xzb_ZIo*jyF4$+D%i0n<%!e5JzJGVde(7y_Y{r7!gPGCB@IhmpT^lRRnk?U; zhr5IzGy8z1RMJ{kAXBW0X|}z@{=G#OFVe|+jV(ypPNZZXJhhv>1ZnF)SR|yg%%I(3 zJwz2P?;S*FJj|MoWA~1-t%=SnJQ2rq@Z?(&<_90#V@K{CxBaZ4e&EC&d+_8Q8^zvU zVi$;ZQ*SVdG0l%K>BLVd+rcbN7I{_H<@B=_Y5{fVP7U)&zbBbN&_#QeVJNZ9%ND+5 znBmM|zI3;@vsr-y=NUfS&>9lPI4hKmMo=^vbK>D6cKpG^cIfDShV62!neMieM~Ce2 zzHYXRUAG^+aMsSS88=M@(>jg1U%Lg}A0tt!Yq%@ilVFDRJ zBL+Y2{3nw#iQsz$!Cwoh<|+6J%-dbjPd_kjN+7Kp4#`liJyJ~I&5uA3zL9#h=StB1 z^%{h^LQ8aOzQB*}WbO1tI;gWW^OzX-45#hEy<7o$goj!UR8Gsq+&lRyZZ*rlZ5PaV5i zm23dPJ~h~DSFr7~>nIx8qdttQPO{1Y1+>0p^K9DHT97st-8A?$;mzd@yL$e*%}vc& zWu4!&>||>eM*wfqQso)pX=gSuuRf24&ZGoeU9Qk8tQcta+CcDOU;fYOy%ma@EauQbB8voSq6;?RVyHYK}q&DW_IdG7lW~f&4G*4J{ zz^Fp_r5j95K|yP#K$j9!>g3U+c6#{#u&ZK1TKE;JxR*oP88q`6FCotN~Az70(LX_LAYZ#2^gMKTvw=i6=V4kJL*obI~XVf~m*Ed8-Fj8g zsWyc5;NdYkhWrW(9kbclWy>=Ked7KJwC^rDk!+HMWNGTd96vD145HS0G_)QX8(YT& z7a5tD*xk?X7XshK0wyZmZMIcSmN&7nON>skz@CnxG&bNat9}X*v~R$V9BWB+NTW8~ zcCj;D^H*Xi`XiJv{K^+Gcj%l-yAH4_aFR1Vgh)D7qccma8oV_*YnLwEq+;E%8yBzH zh1V|G^Uu9(*IvDBMMhU9h6b(P)xi+v8gv%yfrpRU>yztjpk)~-6FuH3^_Credogjt z=^o4ry?KC_v&uS@w*!PPmj%6Yj#{;Tg*xNWL!cMDqR3A!NWEv)QK8}RD%A_NS?Zy% z`f2V4xCX(+5452HYCOe6Y1a%}-itYQL*!?9GM-tSVWgCwBG+<6@C8~D5)pFbM4}?M zLd)?2wp$lX{v&PMwm-)#7<9=r2{Z?|yY4Q$0KgrYIJ(fW$TLqR$?>(9Z?@U@&KB+e z`U0AiV}1LXC41^{#y;_OMlaCHjBqgtfi|8;kfo6kY-ghrOCw3)Z_#-wZDOL`ZnxBO z8&l9MQYTrhb5Pn!@8NviF0#n}7Rw($^O@J|D8hLkzhKpgaQA}b*FN#M-C#%eXaD5; zrfKngd(hz6uBw2}5tXARJz@ssr*}2fUO{OY23c4A)I0CBeQYF9=*x@&-)1D?-!(V~ zgwd7*xi%(8S*Ias0c)1#za!6Yz_5O#y|!hYoT#+S0-(Nr%p;mX&EnNDUsT5F9Gbbi z(>}a!%vb!~Kh$l{T${Cd;@;v2g>5E-rdbzqi(_)7{B&}PeyMAi_1_=cz02}F{kBr< zu+L9VA{#0({h<)BsOU1G2pL|avN&l_C;BDCg7W!p4M*1Nbmu}9k}2ie~;Sda)uAp+}cdhD|etw+dg zGA=rX0Nv&shb2Z4_$eJu)*0YlEwGYJeSnaSZ2+$@!#D%nX@p+uFLZ9k4C@-c z^xRo&=mI80pAB&8k<5l7>x4h_fd@I^i1Vut4AT^A0xG7(BP6P)Ja-=9LrQ~{a4c#% zfIz?h{SUCpu4LDlc3xO6*-K?+2I0+djumS|1#3)Kyvk}hCVLkvNE91dEQiU{MpLMX zo*brtv^2I4vx@xS2b#H))}zS5gAcRlD39&D%pSt)>|j`?1G|Nm-`1!LJnv?PrJL~G zOsP*`f8Wft+f~Z1iVd!Pf*C57I_cVVBe_=F>UmAdP9Lp#*L%EtA|_@!Xl{KdFnNUP zBA=`>s%B&d08wxuAwdeJMn-Ei|66F|h0Wcrkry{Og{{m4wmOljZXkCvf_MogA(u&# zrogvSy@aE&IitDM+0W6dH<|v{S#7gqRvb)-6CPm*L&)UYHo)NVq!m= z_U3^PzcgA=;xFeq0BxXnn50w)Oc%z|rQ7pq&WD)pw3jbd?S*rkAWb?4v6&y*o3XbY z#Jr&y_uUw>W4ACb5Jca{h!&B`QpK+`KD)V=waq)MR@=lDCI4D@r9TaSPGg%t&sgns z^8CGW)_NIxR(@&}`q#dC&JG_M^}(5ezAns-95aJljCyFdwM+s(Wz~m;0uPiYFABZf zP@7^G*^Ld}S>_7AME3yuySk}3 zLmb_34WWGlU2vNfhE)#5X=k=JPq+kHlTCgEnh0`*s0-z8rd3)uU-Pzc0MMez{_PuDsU6&aaLx5t3gBQTniQ!5Jrc|#p=1QN# z&Le0e{Iv22W7ch?-AhSmYFVHXV*MD;8n*2+*G(4MHyF|y;O7QTrTXkM&u-b-^EBg( z#qJq2`}iX{dtgFmTX5n(!mp){DXpp-KV*$XrU|#009jwcW@gO-9lv#!N-nVpv=h@x z%Q`iUExs=kcZT%-1zP*HQh~`SI(68+pZJw07zWGR^5Uxft51F1{^;MoXa|^Zxc|P7 z1A&8RjhpAtUa&kAs?>cm-vYwLZ@nnJP^5YzfcU~S#G;a4{(En;lMhVT@BHo;ZHArW z-zhE87b)AvIeU7Hkq>t4d8^gNS$o>!xQ(5?fURFwHssiVR^vnmtd_)XFyeBF_0`YNqF&_`rG;e;<*nQJo?TSB0pu)e z8!VP8v(_WDti)H|{31W_GzczIsMUc4C4!thol(FAmPpGZe+gF*7>+Rzz7WiBzp)mT zGw$iwEh5MZ>j!93WL9WqNOQ=lDc)WLBJc?>5Fi!iUm|12!EYDQ#3w^Oe9h%sWoys!%#qb~nhysm7Qkhhr@?qFZ0d6*J7Hoa4 z-8Q+}poBhQR^-q#NVB zj8-UHiD>Fg^)fA&uM)W7Wt@8^A>+E^lW_`>UN<$-u95PC)LFLCbs{zx%1Zyy* zuF73!6h)g^-641y#kj%3r(5)UUaA*uk}1bK%ZsEx0}_;nj^Sme%6kWp@7eTsM>c?z5mjZL0N=sn?Z6Nc~|FtMtTpV@W$mqBwzD%Q7qSwYodOB=iC zJdDy5(b>b~NF#{qka+<(uDeJ{u>WufaYUNpNeDbX1))Xq)e5H!ZA^Gb2X=KwfzFs4 zaSj-7f!uIcZ0uN)PJRF-F}38u6A zSb&ssQ?rB%(Nt!2*fTO|z5@uQ+JR}0D{SS+gsPQu5NywNaH z0ciCyt7h`Uw=gG`wg`3WIL%5MSm7{4X$pWO zPNjo()fv*q7)|+mzx230`|N3Z?#t)cO}=4Y++JicQ^6i%7WUCX52GMO)<84iK_^k` zKD4-M73FoC5f`<>g*7$>a7|P`_@IG*`*lBIeh5OqW~iaA$K1 z8kiGOZ{Dy?`XM?=cF&=4J9zJ2j+*GSFMaI_GnQI_7HQW@%zChs`Nk>ViHYGLAwmq( zBSzvatVi)6WQ)CzH|8JmmmnBWM2*u;!*2fLG7#>Jl{Av+7?o6mfD5$*R%8Sxe_1v9 z4t`;L8!`mPErf8Fkn)f)-&{OFAPZZ%FL7GXP1YhPtzc*%J0z#7A#la<1j9G4fp!Jz zBcvnkbBI$wZ=I)u@6{}Yeo=?*OJcpfLA}oWTkBoLQ+HjKLxn0i3PvpzyX!JGFq=Enoa_hAor*pb5%_Gym6y>Vla zV++>p3k*ZP&Vr$PvM3PNfgI#Kj4pDg$&@YxzLuw-1dbBT)(q3-Q|j%y6aADdG?dZO z%XI$M7^__7+zz^;m=p6H->^X|xI}rf?Td=gH`HSv_~_d?!KuhM zMn$N1|AzlAZOS&4&1D5z#5b9=v3T(gej-b95p=xd3LCnPW)5-+N^pcuA-IB+Dvmn| zX)EJ}G^9Xk&Ue2hz#$Q##5=KoM0CuG!>JaESn1R%9Y)#gvJ0zp00+8n&>L6hL5zej zph6|lyJ(3`m6Daj^DU>lI;fn?z|kTsq`Ardy&KrVOxd!K%qHk@-@{rBV_1q=5$!<& z9a>rkJ&TDny;?%M%_v4`m631u%V|WUnF23YF)_|yVw`0IfP`7&w^=%r$4~6GeFukG zyTNY{ssIv#cyWF<1yun*!Z|Zyz6e%)$KjyjoOrO~^qxQm3KbSOTx3dn7eB9-W#nRG zy=>q9&Lz&4Ub4xXOLnWY$;nGqn`SKfMwN9V2yz=d>%ly0M`H)=s4|g?k-(^bf{B4d z!6kMlark3p)0SE8yG)C=%u;}LW>QPMSJ+sa!&aGKx$L3)c5}wvsJ+ZC_KQ=ie!iVA zC>NPtT&=kYUQHkI92s*kz&)?YhvGNg4o@T|bPA=7LqylVL~>)@1-2Q>Q%j;cYke+0 zCP)Tdy8*7X!14{^2N^0v;lhdOF@_T;%^m!yS-h@p4ZFD`8@^Crb}6ORTN=_*@`@X( zhME~+RE_oc9_}RiS_bvzi*#PvnX$ai!k?>b2$1R8i$)n`$I1j}jz|mJ3M=I(T);7i z(bS?RR-WxO1bR7d8BB_dcA^s`{!lL%X-PBA%vy2!0jx(t2 zjW=!s)39mA#i!BKHxbG!H5N}H$eoPtj3L-VOvZ?RITV6+hU(YEv|~nN4%^UCrL5O5 zNp9A+Y-M}fR;nAmpjZpqMg2a!!EJHP|98{ojX0iE1{K> zPSRUYRWcvt7hx0SAV0xJZ$3S%JD->wilZ|RgiT_iL6DdP3QHv&!hEJJe(H>jI!(3g zL!Hb++e}G^VU`+0J4mDNC~ok3AXsCLQz<)JTna^kF7A zagI@m1t&bT5}}Dndf75Jypkl00cRHz6za{dvw8Iz!hG`%JD};!jia4M8Exuiw@iJC zg+?sY@ohq$&yZ^+w8h5UjXNwdq9fR$!@MC?)XLhPWVGkYjAmS9xA#Df&R)Ib+xJJt zy6oNWJjzM^jQM&q9V%U9CNZ7GAPQC8J>Gm%8F+!T1c+aORiX5fApAm>V<7Qj4k9?r zgkbe21~``Nr~mfDw$5nFP1b#U{)?yW{Q28<^ZGpNz}M^&)6l}Dim9O?{bk9tmMwUP z1#j^f)#r6ai<(?TA;6SF@mnnF2_o?%-UhL|Q>u76!C7WM_%`#*ZYOe~BA``9tr>SE0 zD`FoGr#USA5}lSs_T@38#2OqsIKr88Y|T&8MAk~I(@>hOk(~r?R5`8BVB=?F13iT% z_Md)M0{k;~X3t?a-=gzWMyvHP3^q%%J;E-4hd4TSWP~POt%ukCh*KGIrx#^d&!(q` zgd2VmW}NaO=OP+jJxqeubRzx#P7EusI zlQJpV5!PZq$YDSDNlywp;7~a1P=sIQkn9IrB*S6aG(k}yNP-{$VgU5)d+&R9b$6}Z zwRP=P{=Sp>-+Q}fNQM{+|5f+i|Ig**$&)AZKY8-x$=XA?DQWF8wa7@f&9XELD!4D` zKDmeee|>3gc8L!f5E%T@g(+4}S5dVsKr2q`0)IFE`q#>gP|Lg?Rsd(Q@zz9iirptN zVmlg~E>=Hx?dwa&STx!-Hk9@p8fU4zE&c4{x%BZh%v*H{>}yRfl|h+&2bw%Oj`AW1 zvNThs3onwuPn4cnimH@~Sxs)`P5$GG0U%^%Ivg4)nz@RqGWncGkvKLNouMOfqO!PQ z$6#kUZO_dzdLe_lOsuhcTsgm@w|c{!c4oO4z&AN^Q(zM-O^J~LHAWO!m0B{_Ko}mA z4-B5P6LEPxWNB7a+Sz&0*~XFe+t?YDv&HQ~s*kLwi$R-=pu9j+&kky$>2;1sAj*-7 z5o8448$C`o#T#==W#&dEal*2J8g8ADxf#ZWyn&bBx@mCHMsWiNvb>U&H5pro9Ks;~ z@S$BHc4Pu)TI5PKerI@%A^*SJ2Rd|p(Cx;I^FYrKJ7RiaPWBtJNHU5_Z4n!gskwRP z4%mFdTpLVcwG3=yNn4+Ix-`3TaVAZ%sdw@&q8eQ1QvU9J!|5by!m&L=sf)MM8lC(K zi#q3T&Zo;0Yyd{9(GqfbH4aDCplmQN1c;SsNF#MB3Yl7dmYFMt&I6zs8WQ?gBe(lg z={feu+#iYMIT{(xY+{|CcT(E9JC(MtU1$3aVg^Hh2qn?ID3;zUQ&osW;c~T`L{Z&r zPO*>d`b26TVzK*)W2yPjzHkpkrjVZk7WaWuOaLt%W&-RE3q4xw-I{wkO)VWlXS#$f z$n`YZca1apmLQZ%*jWvv=&?!qwe_CV+`gMh4yKRSFS1BPCDB0W9AymIxvv%bk>K)7 zt{4ui0p+b@r?Il!o>r&3^3EAn0-f3^-@E#F9cF$TGtt2g{5&Ib&eO5n%5-4=aC-K+ z!;Cm2tWy`z6;-O>`m^<~T@C3B`_xncx1l9@t=6oZiQ!*&C-XGMB(D1v^td z^MxnVH-GKb^!A6h(@32CUWPjIT6uq> z?0D-7$AI|qCi1%DK0jC+(!|9G9YA~?SWk4a+w+JL57_2DF_kuNa!i6u%ywtB9|40| zbHL7YAyY;?2Nu8qlzWj^JYeFrJ-L$B=5R|jeIm8W)Z>UEcAiq9K*2_$l0uO=GBo8P zWL~y}t!|(vT^Ybr&ncK0dujBXEuIKT!Wdm)x^`Zzr)ZhB&c$^7?uVE!yCB5!I33TU z(YhJs!$7|fDPGT%XCGW;i_ru2%yl#Js$KCQ9trLa=8G`%Ype#MkirA7p4)fQ)s=Y~ zm6NSlI5^B1e$|R4kqHSC z#`nibZ)SAqRlwA0v)y58SAOqOJDCsdzv|^cjh`o`EIDwpE zqr&;~x6|kG9Qw1@Z)1u(oi4G=@4UpL>Y{Lv3s=JNHZ#l)lX1>WUEw9pIl>a#;hO;# zzzmyV%UDpr2-C!G&KI2}-^O?AHb;wXAvd8sWaf`J!TP-nyrX!5hxeH5DUi!?Fsif@ z9w^0qj1m-L8$>y^@^UK2+n5MIyk^9Yts4`-7Z(I&eEX0STbRjZR7C7oWh933usxf?sMwG1zGt4xMA zma)o%sogAIjjq;s8NAT`rSljk4Pe;Q&ZxD4*_f+qBg2?zqDAP#kUwKAg&w_xQgt2T zB1vPqjK!n50=Ytyit;`x61bdxXNrA(*hc7POnlvoIKU=?aZEisk#8$4QoyZ>h+=)n z{-IC@=V1 z;L^cgzGcpaHm{1(J$2|$=INfc3h=&I5f7~F0EjiCqwV>csvH{qD1S=l;9 z7Ao2R#Fu^T66tvG#%Z8W;1;c0r7|3O7M~v->XFfj&T@R3jqfC~8`WDMHp=Z*g7WiK z6$nGG@E%|yxC2wSq7iX%!OPmsG2-1+EAs@Vd3pZW&(hO%0O5?-04bYzBsi*g)gE$=b z6so+`-ayMw0B;Pa7Zg}DpkhoXJJ|c#>^sin@7l#l)ODP;1;5NODDK(Q%dyUz>D|kB z%bbSp4Ni(IzKNqd!?6wBItp$mBHlC#D1L^S^E|$%4UbSe>9zCBnH*5dRfADwwyod` z2b9*0AHL^1Dgv_XM1+l^2N3|vSXDkV_!o>+0%a~!G%}!?j$FLowc<0AAaibWPIOx4 zTs!2sj_03D%}y41MP-?g5() zG+rNup$FK--GQM(Xl4Xd>R`Ex*f?)nS!@ zvlMQz_1gkBej;4&A>@dU$sBf6Ipm?r5I)fSJfJ`W&hx3znv!$pd5rIr8lIs z5}A}TC5fs357m`x%FWNcCbtx^v)ptu3wMfSw+-v zZ9r69l+$&u@CG~D9gx~(Z9?#hJfy%->a0@SevxNsNG zjsb3$+sz3nF2U>OKn;uP{3&**Px2YZ72IB2xb4B=&opQ9yp}1-QxbfbI_$~3(Ph=nhP004lOf2j)vm>IJ9$o>9B*HcS zqd=@6-S@Ds&}(km6J`;$5ChKR?(4*f$#ja&)^`;7UYZ3hBkAAh%Wo^*U7nR(NFTNG* zNABS`UUlEZJ(K~&sbw0$v&6i;S(jI zfN7}csR}YpE+P;!T$clT=@S>3X@QVd-REM+bi&zJj(v z*7zc_Ax*sAOrPU?tbvGR?gpok5utwX|9zX2r>4*uud#?Rn11o=PlUXD%PZGiXBa1(JW-N9ruR!^!CN|07C=m=$$ zE4Wvy^xSb)iCIy+KDm_MzA~5YPpcL7aL<&Ejj(G9(P?TC`m5cEkvQkAkr19xP;R&y zD_|`fpJghW28o&9I4&uq9e~4(A?FaT&j&}qtdb!=2xSJzOj*r(W%ZyVqo+)^dFCwo zV@A>ads8bbi@^l(`UMSPSY}-QQbuVMJD$>PC(Qg9C&G?yFQhkT<~V(67CN>fZg8p- ze(0XthbKm^eQ8yU$}j zpx6P;17wCPMw!mu?ce!%T4PuEwM#eB|M|as zH+}8ze?EN{BdzC;?@52~XJp52vD;_h}9Wggx=rc?P``S^5DQ+NkpqIfyK^&|Zv_RVtZwtcy%B#?{N>hz0 zlBFJ1zcVo6qz7*lUZv^C;QBQ3|u?*z7_moZ)=v6~ffRCIO!%813l5tUNb3e0l z50bG`;#4Cp4?c?*|GqJFA27_pnosv`q>JaKaU6q#LgX-4!^W6I?8iO95IfA9aKy5s zM?xAwv{qo|bxcHCQOh~I7Gy34XXI>fxPhAP26hQgVOQLTA(HkGo~Rt#?@8=p&Niwl z-Bf+@3M3y1Hq5J5P=55=sEDr8@JnwEUmP@E543&`CjR*yA*N^h*_Uw2h#R7tDnk`KO2yLa`aKK5#@ zVKO>9gU`CnyJ_;)e0uNoGwfEuj1>Am|M?ejhsM5p#Dqx(nY^xBFMNb;U89^jJB~V# zm30P~2bdpdXyBC#l{cKLdA9gITo}Lncn@Yoc*o`Jor}|K0YfB=v%e7qv9^P090el3 zY#TSBOZ1HHE!AldbE&^CEz__YSkrC6z>e0T%^m9f{L3P&7q;Hf% z(H*U`$9d5NxhN#MNR*aKBo4$kCuh+buwKYE{?C|w<092P$mBeYYm4n{+}q+1D0_f?x?S|aIPB( zgjMT=0hoaLl}AaRA%>ZxNtJAcX2-R`HpfG3OJwwm+_U+&Eyq*xvy|_ zyfSB%Pf&pApiO_{H(m~Zc(?GI(Ty*V5PK{mBj!#0if|syT<-k|u#It5j_4h>jjon_Qqty|WA*m;-=N z8D^WpHtAi<$X%PLd^UI;tYHeet*jgbRAM$0ACRJdfL{huvFRqr@34J-78kUGb9e_r zN2?Q%u*M^)a(Io%Icr9WnnXvse1j!;^vF0nX+C)@ZQ_=y3-#M$J)7z2eh##0*`7bl1uxiXB1eSDtTApV>8^4zsOm``#?LG6{rP*D*kvx!#jn zk)hqiB45aSj<^r#+^?bWcoYBAx0-uW&%l00dgN3vcXHZEr|n@j+of?57~erfwXlF( zE-Cz~F5o@H3lUYtS231rn9t<4(_+=Qb)My8I?4`5t;MUvIFdB6%)h-xT|5M6k*!_$ zkzSZaEmbX3L>p-W${QT{3>*2 zJh9~o*w}o(lk;cQ78`Mrm&Y@9gFb07fR=Xzgd8+djmHKJ4Gx7^VBzR&)jZ z>;xmh`Rn)Cc!C}p31}3{x)U6yFoJ`dE{xdq*~ScxMMA9QU}%@QF>sA}N`;6cKa=S2 zt1*M5`~c(h-VWSh(Ftk^Pc{m^w=rf>JH#<8q2-~CXpW3rh3j!J5SvPaa*OvNR7-QLUYg@ zMzgqHHc&WFt)Y$5ld1!gHL`QG<$C(jI}@BG#X&b)wzqrgLb9>Wtb^?I!&57NhpR;qc6bA>3K@>|!Q@ zA=NxSI-r5Lwljh0N1W-ycc1i`#jJJ-@o1Z!&%UK<6GY+)ALjbyidxxx1r53Nm+~Vq zIBea)=QKW@Sx3gE+^JwmBRt_p8Q{WM-CH<&Y-Y1-6C+yC&cwufAIlo{Q0f#ws`6y) zI$}g})#57V$ia=@QTu>hlGo~!%hLv2EzuaK-2apR;uq2r>}C8OhZX(dAH0*^f9K;g z&3eP=_;C8dvj+j&%*kQU%;5pemiV>MkzYMEjzgNJ7`^Y#U{s+7_ieA+Kc0l;e4AVz9)BYq*q7o;k{=Ck3ld7XGA+k@c7)R%hdMd%|Ye}9HAx*xL4z1*`WZH_#S0ee3?y|I3lsCKg8J5E|{!AUy?{?>bf zJ$h zNN3Ye{`hqIrT^?#(gDtrIfT0JI>uF*s1B;l>5c1%9ZY~dbhH~&-!GkHfd(4?^y3-q zITmYg#ckd?!KdJ+7*b*5Z}SFvV1fBjgAt~GCJ}k@m!nEW#5s@3GCL3P@v8z^-I=QV z5fvi~uRukYEnfSo{vvag)#3>8s(zz64L3iGq%UQcT3b;WYH;*`NzocRW_Go%r&GPF z$ki+9WcO0q-@eKOagC!8m@M$tUdJWZ8ZHP{@k6)C1h9#fK~G_|-#U1$P{19Qj5XZ9 zjs@Rbb8p(|9>&QND>RJ6PBPr5<`TQO(LY%PXTKu#5ymQ$l0{a;?(2a+QV{qzy{xOw zFnGNp+-E2jS`o#NXh0f~_-50PJU51!P0(;v&(&{3)L(r|1_|%gSauGnhee!UrZta0 z`PV~5M@IWl?Ty857dzj5)O)KOuhqfZaxknD&625R)+MYUmtkhlH1|ZXe$;fT>U{Hg z`qmHbtR0di~u;{84;?@MEc<|u98sjpW1=#|lFor+^4S%bs zs8_Cr!Cb;)8h|QOZ%du5YW>=;d?uaycoK({w=gy3@SyY8IHF^Bdi==l^byPDN=26F z#N6{)1gE~-zh3p~&{C&3^XR7apY0nUGUTsXoyo=(3oE4p85c5S3}a_Cz;fLs7RiHP zCd@;WB*Il>;Jdc`zCwHGa5ou(Mj!mFiC6IEl0tcV(nZIER}CI&1z!`W+` z=)~x}#HjomzleXlxi{JBvzGqVrGYdx(UlIdne_{Uo98&htu}J0ZxX(*E7uA#G63g@gxB|ndi+c0gFvx zX-`uJ+LJy!1}%k+MOXLP^tE3+#h{)i&lE$|$m9N()`Y%gA^OMo9w8)QoR%P=E^nMpaj!R-<}^ zT1M?AqyBI}6b2|^nizyL^qkYDbtdI+ymc`xu~n}X4a^s?!h8C8PW56n_{}$Oq^lRM zr{fH4;|KOLP+>of4m)>1>c$`u)#1z4!P8d|8{t81k+zw;M7vT{{dfw=rsl@p&If#W zo03~f@`)d!3{wCXSt8<7spWiReDjNh#F`{(7dM%10SFkti5?}0xOj#`mf5VyTRx4T zZ*Gaj{3>3MLH`HH)xyvqWmaY*cKEOQd zMRdxeaPbIomh%lKq2jTI>gNusxCv&-H&Dc%<9-gtUcq30ZP($nz3XJ!?&xErkRf4v z>J<4(C9RS!v)D+U4wG*;9)n&$=YE~-{8Jd`oIP_RUAa7!j^oFzlkG~HdsGZ9VWo~R z;>z5R?+uH{`XfC!wy8A(Cv9N!s+>c*I5%509dFKjhIXd8i(Rvs2s$RsaRoX+>V2;pUQ69*tX1{RP4WZJVR;1%+Tu94ES(|*5 zCl9odz38FyJux!1iA@xbd{vPRzq!bjehm!k7z z7-bNs<*!4|ucXV^1+=#uO$WyZP~U8%b69)LG1@PQGppJjIEzM((G>NaP$=9{c?r?t zCcZRo$k6y&xUWb>bMNi}mrc;#qITB7_MBILloB{ zyu>7voI{5=%1o=PzwQ!@AFt{+2*rcH6j;+#}267`ne*vJ_ zV3e1;z`bIKHzE>d;2EI|H1GBxJ}@n?%$ETpPcu<#=}j}cb{M7ar4A}-8&wDg#6UU% zqnJ)crWJISKYn*QJ$~>?`rEG_OW%6+I7g^8af;P7jy&7IapF$;7=MrMhjX)}PIMqg zlI{BmPB%#cej-dM@F108{(`06+jqL_t({{_UITAPWpVxM*@B9&ab0Mty>w zJd`VkRZsp_RBpTvAi=~jDhVkV*+Ca8k z9VAVcuG~%Uy>}!1^Z)7h(F=E{zx}Oe)30K6_qop=<&6Yy09Omd{p>yb81vOzF!em! zv@~LJB)1Ohs8F}uby*j`SnEc&eV@5k+e8(+OBqn6BzD5`_e=Q+-xF?xPSf^mJlBxYPUOo#g!ub-$7M)4g zxgUOTEo?W|8GYAjhcA8cWK7;ntEyESj)jE zM!I^xuLzTY`cw)lM9L%(HlLiRJUkR2)JUU@yn*=9%xYo>pVnA$%UL4_U;b8?Ag$aI zsPBp;`$tk&C|AFY(PnuhtB;GU)Gcy~mHRt) z~g(j-yG$5X+c6U)Noh$ zTx38eOG#lgPGVPN^9V{B!tMRS$d{2NL@@=##oZJ_Tj%7`E#xpKIs-Gv)2`}402{jT zl^tjR&|IB#f}fwAOK+T;OK+Z?O@H^*eQ6vO)>rY3ab&n7eSnLrAANW$y}{9GiVNCe z>|yKFXy*vUxLCt}6U8C%VPtR#mcjsDN(ub3A=CmR_$>Pj*QtXx*L_TC=bW^$So1iO znlG|36{Ed0iRt6n#o6@7td4zz3h((Bj;15HHgJ=w`g0Hu@RqO+6D^~*lz!bXi8$8E z4x*8mD+Y|XtAEug3nc#q7?*i+zFe6S9PyOTL^h(KtDaRZT)30oe&-tU|5EyUzxqnr zkHZ+R8o0*n-20{*W>s#M^E`9k6 zC+GnE813JT4kYweM7SpWQ^)CP%E*dPT=Gxu5*EfkpXS)#$us;=S!ujR?l^!bYdWo&@bb9gC`DqzGEz}}zMLShQ0@c^ zEF;Ly+gQNC*NJ2MViD?6cTakS&ho`w*d}9@_s`xw9Xmzl@2#eP`7ghh{^>vc6;6fi zWg&rbe09=cq>GyezW;;M%t`QWe_$LN=O-BbQ87wC;ET&cm$a)Zh9*sJ&j z42@af2>#K=@j#IkUwT`xDE0FI(ZDmFOEmXBW>)u(PtN8y$t#W&FaTm#M#wollXd`t zo*ZpWFCW7+ksS3)L>|5j5e4y*@f{Ggx{CqQ@RD3(s1^L-Ee&#t03wKp=Su|3MdCoW zWD@SCE)jShVMF00^4d*ahqw5cdz{JMUX1fQ5i_cuZ2el1-NS+|O1INK(v$+EeA#>& zhMt7yraKAP&cQN~k;lD%ufKkg-y3BR%7}}$ zOT)WHh5+A^e)Jb-(`!FHpDuA^nxl3#C{@+XzvikwC8oxphI82mf-vz^|Ek)tA|cPd zVfV4A^=aJQs*$*G=}tI|(Vpj#QtEKZo$+mSzI}T}(qo6mI5TDpx)NH@$jQnBWi2h? zKjhB6G|e8vX6oHDgdMlOrP(GI3n}t3e}Sf7_UL$sh-g>g$6|~4fqRr^frNWs{~%np zANj_&Gk}bWZ>H+qSmEh!Z8eZG9oxp~O)s73NYC;4lXq95ae`CLUg{%6nbz5DAYtMD z#c!3)N?4>LHL5)1VQsEkSsBuSUo=vD$#4QIj91DKFJ-t<7976#%x-j=tDJN-$tkf@ zsD*HG+clW>b>K^*O^a#r7983z1i81#DX8G~pmzi=!>UeViL~kH4(g%pRGO)FAuo2~ zg4R=?ax6%bYM2R7KOJTlM!gzHU0$9~OQfB_hCvs*YiMSUo#4<-(gj^9z+EPGp=B0N z{`gNnz%q?hLBQ!hPX8X(Dd-iLSmjb#QG4hjyo%EP!^>W5u;G5ieF+FgA&8EoD5P(? zzj*Cj7zEjwPCm|JhYJ|yHGBRkca2Z@Ibkh9=Q{mZL57GJX>R+@!mu?G*28EeB8!TrR>nzYD%!JY0Q5U{Ieg4URd zctwN(G##TbbSFkbeK5l~vhOQnY!YCo*4uwGuh3^kMmeV(vsOm`E7<*By)v05a0H_p z*(Xo2SCYC#wW;kOr$~*A45p!hf%LEcx1Xf9Saf*n?aM3{b%%$dHq9uJ*EJIJihQ<3 zCRfm|!qs3Q=LU|uT0NpOWDpgUXqO&NcHM;+(oI}3{Mnzs&!Wd=#Dt!7h}|%)Oc29x zEAshep|+Lx!ly-@=O{+;TLWLaVB6nH0nWIH4O~4z|eRZC7pvrFfsKtYcMeR07Zas0vz95Jk%P%I6gT|PG|f! zqo`)A>m1~`&NAsb`b;c9!w}6*Xk|S9Yiy)D?H}t+r%nu~-}}>d(_LJ}ZnJ9mL^u2E zdd5<3OHaCr3tZ>o!O;Bbt6~wg9ljUSeMih5c1{OFXS}M$6IC~Dc2UkC%>3p4)^q~V z=3rkN=V7BgK@Yyd41S6ct`nGhdV13l&bK~4JCo*_;66YkxpR9V?K?041EZ0_)KmKe z-$>e24~?L8QM}^$%GKHQ7TcyS;;!K0MLZBO((C;b?h0e1@Z&8lgTB%$V;OX#4pJ^? zN)(YcwKwHEZfjo-O75s0!wb?H3qu{y`7d6(08aQQ!O&`q^Tj=+-a)2nn_A`yrYMwl ztI9HsqRXAh`Sbz1zJKfA{4C9|udxjk?HJBF_dowkn!KkQ-wBR`%=SFNzVd)|@E3-0 zK*@s&m6egAV_TnK;rPx$QEM?;MlAMddsfMY9|&~+fQwQR013Ri{a z@u9*=IErCQ;Bw#et+)_?kzJMc(9I@#_!6&HPmG;mSI!Vx8*NXX>K(*42>z6jr&Z;> zhu6*{hel~wT+^x|qdb{Me{?Uscql{@H}+nJnYAX=Wvv#5^UMiGIIE-|by>e632&`d z1`}7=94NwG*v2O;7{FQ*9t;-M%{7nu8Bz2rsBdihx`t2rf3*0As2M!=Oj|p|5{i^^uHa&!~D@r7|;v1Y#1*sjHst$I%6S zEFB{T+?ZqO`8o$+;(qJJgS=Mvwxq|{a*#vdaKgRH>-_Pj4&WNLJKg7u?l)flC^m&^3HPnO zz3E_kKb@>SUBlJxx(h%Mgr;X=CP!kDiaXw!6*d739fUbyG_VYVs-Op}RVbkCS4`%k zF-{;->?=-BL|mqD8<*Zq-{Z~D%Pwa3**(Q-;eky7EJ;ZXQ3jhl%bEzBbOM zkD1V3xpp`8vyH0@LnxR0RSG}`p#+>Pe&%QCAY_?&i3PIv-o2In-5-3IzVrWlzN7F&+9sHZ%7@h_@T>U7c9R!m64O!x+Shvd z&dqbQIO&;%6#^?>^0!u59)KOMLXjO|rR?b=J!uceI%uzYWnl{$2p@8cK!*=?(J1Zg zR**e+(hW`%Wvf_Bd>lC*DnMWjSK!EVH7-Upm5fu5N;>t9d9Wvz46ZEdLP31DV9cGp z9I(E#mTsTF6&=ZmvTk+9Q4eXH?@nV}+mS|w&DRErdfM5@MO`{KCphwLF^ph@EiN`u z2g~gvW1LOMs5(E_#x4tvhhrznD2{QC!r>!KL^VjK@5b9mUG-a&v)FkwrO%-m`Ssz0 z=>n@|zctP7>)Dm`fBo*;>F|;3>A(GF?7!2f2LdZH`Tp2Hh8HB{+5tw!kIj`vtcrYEn)$gGL zgXstxRQDo6bUNCSx0L}WS~}>=n}Rp*5T?2R;5T1MM>rt!3Z3Z>zxz@8@BaHgWT*Ll z95ME%ul>S_bPSVE?VP*uGTIFNGaJiXys>#B&(Y|oIh^RXf9rI*b&b_rbo1?Wh?8IZ zOd2_OfNfSy=_9m0bNAUejW`qeL51ugM%6?J!xRIdXYdD|-?q-Jl7Hp2xXjydMGKp_ zb_pS%fT$(#Z_k^8f!{p$0C%<7WBvv%7LJTkIehq@;S7_vF0Zk^Ph#?3o!v?cjLv~5 z%$1R$geZtF!4es!qNU)fa`}-ok(MXYdgUK+@!j&>rCg4%e5c-+emuedN#wjEo-nW>a0|_dpj%!Z87Tu@_H352k}jl^a#(ef5h^ z0-F^X=|EatE)4WErK2p=SiLd46AdAAYX~&W5fJy-vUGor^R*GDwm6&H0lpQJMLR_c za$vkkU~GNdX+Pf8aW7pQ(FB(X_O7DhdJo}AdbpA!#p6%tRf(s0ajZ* zv{QfA&2*G^-oAyd8DAN!3wVUZkpn{*8F3T`?h6K(Kq^|bQ8v6B?h^C^^494K=$&U+ zB8R?o+I`QSOe2R5v2mdXe|$GFSHKy%b{`BO@ z)iO~hpI(^6SGqg%=yze&ry9{Ex+2)KCqYqcBO1(*?RLv{|2hO4i=2S?J;W4k$uZ8qKDbBhIvdpK)Z zLsnns)!s@cc4XY7qdEC(dXUZK6%jT!F%6(G^!L|G83&FG$Cjv`5TWqIH>U03{V-E~{fQ~gzr~1iHE@Fp)htW5#rH^@YbO393cTXDb>%-`XHw2wW z2A!H-L0no&7cWgWNr#?)I<;a0e~+E<=g!|?=ZSu<5F2D@@Qi{j-0}+! z+?59>y0*BV>dN<-sflfjA_@JgAtacOX8_AgWq^)n`_WdPV-J~-MF-G89ORXId@tvX zz*MYe2BZ)b$Y_4mS;D9;J4x zxvWn%^{u?dDWeVTMhA8xYwTEgBMqd>i&zX!&)`XknK}*QmU}NJ&Els~`WqZwI|OZB z9od&YT)Cg#T;y;{7H9tOJMX7wpFVL^Cpu#1zrwpeBBePVAq z$wwM2G1+p&bd+CUMRkqe`^eFEn0Wo*hv%p}bfVr(Oln#&A_73D)z;~7=RTTBXFr@w zfA*(mu?QRqHKMA-uYBov+J69(S7x~$4ulMajLJDrOhSL-*I!J({H;^$_}NI8n5>?D z>pEh^GFEq!sNyc*5qX_KguR*Oqi{$0Rx~yvhxesJ&pws*o_d@)PjC9^Pv6Hy*-W~( zxWr)LXy>3pW&JN7DG;wFs3#wITz9^5XUn`1St8#45ElSkg_TuIlWjQ+;PP8y#(g~G zK*|hA!H^Njqm4*}mQv=74iI-%&K%W;_<~JLN+Q@Vuj)6KU42J(vjs+^;@-_+kwf&1 zD>w%cVPO369bljfM>0FtII3jr<&jHU(bhJjzg)!6y;?x48>1(_>Kesl;4i-jB>c}GvmFcI(0bezg zvV+6N?ew+LeQ6Q~zmDz1GH-`J`r{AMshhLu@yEy6zR%)BX%Th#x@%BlM7yUMPN#Bl zW(zG!8>8V6{+S2R80Y|zrsC^Up$#w89kfOn{Q))v_5@5 zJwT1-Nex?wEHiABcw_MjR&zJg&wp|u9mVZ{>cdk{jik(Y>rBOBg3hm&%skqrr|?qGl;*5O#Q*@XIVJ9A9m2K&aSN# zbcr^$8RQKc!~hA%k5?8)b4%I&C77gg8c#7&`U`~-AEUcx};89wpYX)1C%f(VpPEYOK4ukvn5=D}4nqb@Em*s? z@@ZnbTI$6E6{CI|3shTJ*ljSvKVTo^0;B63qx>S4iMk6LApJ5MSoe6E6{^7jRscJx zvz2fq)+Ow_?99<|DSk)u$wLU}?BWWJ{1LSh68bQK7JUIHS46 zfFHqwoY4|tWcJ)aRv_FCf*n{`wh%NQh`ZrPolzybP+&3U$gDbN%` z1fJr7_`!?g4x`gkEZ*#E>rPj&Gr7xRi#7TF4?e=(?QT{e)f(h_MW^7QM-9ekH|Daf zvFbJlBPp-C1|W^_5f!%ITC|Na@mpdZv&Cq>!K;0fBi6Rr71WH$>@G%L=MYWUE^ok; za~E!Kqh^ z7`~Jt^1YoszmcVo!TdTa1{p(QEQmYa7&%wT8HpWN9ARX{D3fPW$)zp@dI4nt`EyB& zoq*^|-5V~LNtp2zali^H7@V0gk_oD@00V28ysf&A5ne`$lcQ>m6@(%W^P?!S3)LbT zq>f+l&IyyoJxiS97Y!rR-I^xJ}M)+5^Zl^)uW$9l$K?fwoa}q7c2%89Y!34)~ zk#Ko!DJFP7_`#XZ5=FiQt& zv?J)UZ(o{a6ER{18x5Lv?@BW>?4-d@bjRiUX_(Ck11vu6-#eZj|2ro!>ZVTkoW6bL za+5p@aARf|+0%rn8ojmBNd=P-LK2NMk)+Ly+VmB)@8OoMy( zr8DT+Z=b!LE?%BUYluhYYr#+}pCL(a;!^wynnYX5BfxjGrMk8DCP8jrb4a-yXBs<0 zB!|HAqY#3%91OT|8D0)(xC$c{Kn)QQV&))qV1?|&v;3>ts6s*rYKU`BjMRis@Tb7c zz^YPm+UlwHn<+rSnJ5J?&!o2!j364pIKFi;0ns6hqwX5ayo_wsA2^F2hUaw1AvVws z5I@f**LclSkOuc^4Z51T(^$s{tBn(BY2rp&nP&;TZ&#it2#1gTn*XR#h5r((k()5q z+4jM7a&4J1vA~0|eQ^ZQ`G&peU^YN&dW^~E_4NnH##^zILnnu78u|xz1xVpnS2QAZ z_3Z6lCvG&}It=rGPPWQu+^gR+XmI4Q(eySuLKawA+`{O76mevY6Tue9yMiay8D_yt zXhB@;x{tWghZ#W^E2%?I98G=f9@#=Xd4Ln3HS%tvl3epBJ}N8OZQE`p-rbmlw$iCO zG4<`;HJVy5pIs;XBdql<-I@$B;{o%IXq%{jZCbUfT;L<$@$XZnq`^7N=*HSdOmvP& zVm>~ma8&lH+Cw_I_!C-=I*57!kv@RSj9j%u#>gOi2h<#IXe0q>-jQp9NLtJ9WBsaE zu+&lhj8BDhJ#7Z%b1;YrtBaR}YAl>sV*D}`uQn^WA=6@G!NGCxm1Sig(j%}I$Ec@8 z&gw2Ti?`PrivVqiEQ4)BX(ZiA%d>YFwb-Jyj_(T^E&Im+SYst9M+fijYFS79ceZU1 z7h$|3HdoUg4&{`5A*zuFs<5zQ_U3d5hVEFH4)I|TRo;gm-e7sV7gJ1JkJUzvs)Axk zt%2djhECob%F`=&dU6#`TaRrP5wA?mVNSqm;{zO=M5kncqD_0yBlqp%=x0_! zJ2*r&;rDN@$jR@1cqPr_Yei>^&5q)QNVzIe=|VS&mw89lu^x?=b@Yl~qN>>ZmdH?p zH%dP58T!Ucgrl1A2%y(42|h-26hwl6&?aWx|AqBrM}rh`+(+)yLS) z?Ig>Ipawa+k)vCv%p{8_tH{!7Pt?`2qRnW}#Et>)=*V%Ly?9ryv3p^m}#kf~ose>niKFD>6mdv@?WCmlm}tQZqdnmB+Q>&(Ys%rOyt z9cSSO4veN}k=qq3f~hT{c4b=RcFc6^LC4;W8dWlBW^nxEUXF_B4=3lVXcq<$DLT=H zG}B4$urlZ1}*O&uLBlfJLSN6O{;=u!{T0+Dn#?mLxbxN4g5e7KpYZ#SyGWh2un4qus zl&`o#_L7JE0`MZa<_F%W=~Anop&JwcO_c%qo59;CK5_9|6CVolGFW&#B07)Gk&-Xi z#Sz;M!zFwH_#Mq6wLmjMiF+uo1?Cnct=L-~E`oFZ>ai)^#+l<5e&r4v9!H*ZGK8v$ z*ZKP^b9nV1Nkce=Q4qp%1JxZ%)=co8!fyIJD}@V8O12aQC{F_=Wk{KDq;-sC^QF|p zNIJWN1Mfck-Sv*)SAC4GW?xs&QV8JcTjU_J&X%T8%6Tv zP8T&ES{H7i+g3h~Q8qUq5N)%am8F66=AVawpEZ#st2UpzkT)VtHqIe3gx}% zE##&P=#pgzO-Lv5v`34r?r@+xM>m~1)ohmQ%zmzHfp^U zeCBoFj0Q=8E7wTPM;8;OPULw+99t7%H*EV*1kkMeAMhDW6Lk;X7@c(M%cO%t*H@~qtX z(1n;0naLtnYsh@={63CF*Yey13k>R4@3DsvAJO>V=tXBd3TxLejHnM~J7L`#+Uxrqz5VwBiida)J=Ra{4 zR`5^B@3WUVLjz}D+}XO^(suak-&R~ODj3OIvd3r>cRZ2163m4lGe-eFM0yIYkcxMV z@eyHSF^NxRsFJ0`t4|fSmrecfm0>*0&?3{2iX4%^&*Facva z@qzDfjUX~XK7IrLQdi?$L}tuQ6UgSBOH&CQ0moTb8@6VF*9y#c3mcCXbmyKIu8qXY zI&E<>_D~&d*y?Jyi?VXKq21VGJ1CsxKzU6|Wj-14(5ZvzCN6)Mk*kFij7&P?Z8!7A zZyC_yp76XLK&)xN$Kp(^NaCNes{@%$9Ok9oD0iDKC(Sq2cgY{{V(>C;6$t2Hv?^nX zBR(iwctlVIeEce!WGP^0nW8TTXI2$3MTW@@fFhj0Xs7^Ks9Zr5dg%;QsT7qX{f<#x zgv%$84+fT4W)`;Jd>RmrD8CBqT&m6BUvBFNtKc$ntfD);i7eeav^x!r?M;JYr@hS^Fn3H71Luk^9mv`;^+@Y*8sWsO zp2fSVeF0S)Favw>1faFa^(o9v;3gBvWk&TY*o;iEqBy_d>0Gos?{8I&zG38+4P@A#JX_3JvGZl0Csl3%zKU;f}mJ|vAT7M*ZTWQ zbI6FgTSU$RXvH)d6OABGAICA?!RB=wrQ@Os;29@wM3Opm;dyDOMU~z_8d$!cdKYe| zwxvmS@5HK3B(%znms*u(I@=a%x?612y-oSk*xlMdo~IJq)=DNBO=F~o8w-FB!36P4 z5DC#(RNU+BbC8k#x#teC;zvhf#c+;;O+B<}*H90;;_-qXs<_N-wMxPTGIz8EznSqY zN<#5p3oG~pqmtUTRn&=RTaZ5)**e9?G~AafhnIX&G2^NVaT{stCa1YV5^@4t>*;OiZm6LyX4c5#3a zv!4l`;zdPFVRgXe1B}$;h#)R=ud4l^iL1$nX=y5!qq_q478Y*Sm#?QCJTdJsSyZm} zb(g6CKwpKW);97+YcJ;_-c1XP&?AT}tZ$@6)O$Bp=df`=hGsH%5EIWYymA7ZiHr&c zk${sS`TbBk)R@|I(o``3oiY08AF)4h5xb2IXfnEISK7s=6OrV?)oBKR!gOXLy~9it z7jMKUE|+Or5D}eUF`38QKH!189@zzvQ^$AADTp&`4YCgrpqOLXKGLbdzmy!JOTBKu z2U_qLY4TH5PDJo!3eq?@NcE;B4vufW+|v2jH@+P)ewBhVqsh!>vxzbRs`?5lUME%0 zG+$7}hQO`h6<@-#6Uu(#(gs8K^I*T1{cH>M`GR%85L54d|2Lqg)+pFOO8EQl86Ns~hVxXmOWEMM_R89_V0VVDjUKi+=tT3TS6))EUhE$Ed!2(uF- zqO0tHQ4ei>D_Z&+f5K^i?|qC*L3ahDEF@)Gm>#jx{%c-8 zlBv3{$L6~#oZlKyVjjJJG+TMDlGUOg4JglgyL7YZ9IImEj~!3_EYY@Op6OEfwe_WR zjxAAVQNzu^OzVuI5-%=$EBDq>IeJ&q2JUisRU?9E*c3Y1lGIHBU96N1paJQ{AgL4W zM+?U;HzQKS6|Gzn$B%VpYd`xNS6LpP-NKHUGh-fXVZ7r=MbTQz4Px;YN{ULS1)X@zK0o7u-bL8%3=GKo0f}`EU;c~1rqKX46 zQ8AUPe?5pBTZj#t8(6Ka;C7&E3>lssCu$E&C4quS{8Gj?YP@ZhBDWW=aFz(m(dc|# z&}qWX`o$Ly;tTFr+S{;!){;ui@?Df|Xb#Uf6Bywor3f-0&eN%Hv`+jKZ*sWhaw&qu>z_0guMibw#7Jv! zhM%+g1~Xse4p0G!uPQz!uTeQi?fR!wI5K9DmiE)KU}rl!n#q7bottX4PJ}}jNjAfC z1$^KWh;d^?1Q?b-21RfQk9BGx+^S(ZC$rUkw9Y%(epEE;K8h8dzNdG7+VoVx2 ztM&_?7i`4vCHj_AuDBO*Q?K1LHu7J%~RLL}fIHeikRVE~+ zu#AeBxijWOo6P1_pgsBjWS+{5U) z8xzj~CXH%8gzZOpdW`2yT7b>$Y!V0-4qj+xr0;3wY)3RI3y2;YOVemDm@xKZ7FFsO zbSN!tXWZ_9>9q@?9&If8Jb{n7T`a8FZaOzqBNk*Ne42`QG8Rgar=cWYY6(}DI9%RZ<_Re4v zktu-%rYVTBsirv;^V0R(Y2WVQ^wLu&k#S+gRt`IN)sNTXEOr!gd~P#J-$kZ=0z;;g zI|J!4&RXe#QQe&I8={F3+G-hM@6UAJI48kX$!`UT-?)DzgJUZUj|Dz|F+ zJI98C1-4-=j}Bpi${CGlLFTd4Tf>|*{96F!lTaHO&-lg^V%891-}r!49DshB$I zLml(gP`?PsFiRvqk-9tG-@6 zIu>sc#|VuL##g@iWOx=*e`i_Un6bKDDR+nk|iXV5zUFnW#)mp=8rTL0|=l3650JSEo!?|sqNy~ zFe3|5%*1m95hY{U@P5=m)_S&CK&;wg6G_P=luFMSI79?t0TT{|Da0QL>v__ioUxynH1y={T z5?R3{O8 zS^*IzkrXv@RRS}ikWMzs`RYI1<=2UojM@s%#?0wM9Ld?Eb`=EUExcZKWFSq>S!fz* zOe!AHDDl8o29Td*fKt;6UbXBy!!G6@y?GvoF0E-CU(HY87y0BD_NQmQ@a1&p!i99^ zt#{KbwjuNP7Gi7B877i9))(@R}8s3K8f z2M8+{)ol2UdRBqfnesXqg?rIGE90;4=)@7%1^BH#ped-{b2JPWQsnciYK7cVs?jRC z`Tua?N0ddc~&B7t#@SCp6otWgwF9=Wfe zWR}mpzaDD3Dn-c?Kc=oq%}Hvh8sO(7RY1;RLp*THKcYrk>vEc6R8;Ri$VP#_U1RKM z<`gTuobK#Qq-AzTyIibza08io5_^n3R||0wpge7v74*<$Gn$18k&ULQ-Gv>b&srT} z7Bng`ER;-3_{&&kBkO?M*M&#*J-ft%MF$wYL8}Ho68x24naMT~TQqpm*PX?Pqf7jr zM&+R3NNPkup`^%R5!zTOg5#=%k;^u$E*^CWW@~85>z1s0OPB-Di4@-J@^h8pZ}ux^ z>CHNIs(2#|SmXdSk z?N}0hp@1O^7zT4Vhn?#6*K;zZsMGi<_Fe zl=@I-jo~-=^UoYhpZTSuX?6Zy`simrPw&0{W?Ewsr7!CDkd1YHcA#rL9px;TNk+e_ z`&mjWql8Q260m8Fb4Ac=H)A%+kQfLy@iuHiwbw)ku`X%@&b)t%MVZ)S6#M!d@HB^= z!R=OmH+pWiMY-c9>TTWP%5=zLm0{FS8URy9p3(0HBfXj_aZ-EkZuoWP2huj`Uk28o z7b$GFc$-Q-!AUebCqGWCBOl+A&YdzP36bX*#UY^OgxF$y)%|l~2xC48k@E-g=JA>TAY4QRkc@1MYB@e&7q$sl zmMs@~MOpktQoqD0Kj+h}EGL&?{cIMa17V-dLI;(wi*EYFDdGf6#!o#q&hg7b=_|kb ztGKutO6T5vKV3t+cCu>@;iN$ag~c9h8H zdzA})0HaV#I(4`&oxg>_4$6LCTTyOai9mD=5|LV97O4I=lL`u!aI;u0k6s`df92VG zbNF(J=!g}X0m3IYwi_Oju3Ox*IQ+glyMT+{_4MSkFTlJyr@;>5>_v8(Fak2-y}vw{ zp5SC!w)wc zXy1p1XO*p38@d?NlpAeIra{gf

z~Ujm~xgm_t}JeXCbRY+{uL8w!eEy77(%UuvH z%^uK{#iPB5i??=W3F1mU#J&2I0(~w5LclP%TypH1B8Ss&(wUPe`8jT?bdUaK5EU~A z^&-9D4W(Ln9t+6$_1?yl;DNgVl&r6b!($!k_6!zq>?UTvX3htIcr^uFVb@BiN{X;} z;7sCx@f^Ut8W9pFHqVSKk;KYsx&1`J4= z`^dsko}I^x0mLTM+M31+sv0O$GjcJhY(@+ThhpVbZmEu%c7!cD@*Ms!Y}{2mE$N4O znBD9>`j11^Hh@LmUw2s=#jTG);ALS^>8k8RB38Sgz*TdPXTSJxEzooIRK(VKbjdrw=!YD|H)1taTx3t zB>35~_rUYMa{O~)qv}pFvlAV=gjbf0<1RDtqgct=rh|r~DDvHQ{(w~^Wi4Th545EJ z@*BI-8a{;IVf47V=&044Mv))&4KYLKUoDDxM}SZrdf`hir!()oj%=+wiWefB$@n_duScLk zS<744Afv^|SW-e1ir#l=hC@ZKrB;lREO!f0!^kG;7l~kS<<}0FcZp*r=Gg&$3D;U5 zK6^R6z&^vz@ELsN7|Y^$F~`nUa*{m?ffjT~-X0rFCZ}hn`K4>HvwcekfQ-)CiSIwK zJDt9TZ3hf59>rNfMuF#wNK(s=P@`iW=}f@|W5wu7xrMG3b%X2%=Y%nGId%lC`SRWB zl^GH^RXYh^xc4Uk1({jvjo+2op;Y=D?0`PcUJE@ggTGc^!-Ve%Bgo~LP%?^V&iGS=gP--aF=^8 z{rsnw(ygmg>6^dsBqpWOS!r6PVQ5K~JZxoK4V6-3EJ(zk1 zhtt&otSVF0pWjY182>BhI=DnQkA!|dglaA)GDUJDi)dLfb2VbZhPG8H#nf_UTs0D)z@Z_QG)_V(8aqQvlB#$g ztA6Kg2KNY7k*1!b5#!7*=BkDAu)t9Tdv|g6_5f$H^y6z7AI-Xqy*TjzRS&00QHf6M zgHP=5!v8S@VFI(Rr^Et828)SBC5#ocYWPv!Uw+jvc_>K*qA}1g*p|Qh001e}NklNYKSamhO#2UxFj{*aO#Si& ztF@jk3l@R7h^>Z2f-P2e11x=WN-qq*=nfv=5TtKt;X0roHnfsl50T7=QsO80p-O0c zzJHj3>);I!($t~VBLk=Ws8C>g*NUuehz^D(ttAy$+l(t~EuBZc`BefB5zfRgvPU*& z{)!SY(hvnAv5xfAk>0e4$Nh;}90@LN zrgOXouTH@*Nc5we|#27kx3M|2s0`Ya5MB6AqWrA2z+EMV=@Zj zT|U;w+C$Cw;WpPoJpHRKVoB4D6$FwVkI{%+`XILfBk1Tv0?WI{+pcvViu-m5=MFYd22y5X%;A~pr@Fq`DXhMW~@zv*XJhMODP7--^=TRUa6F}Im+B^^Je$rLtWjx{9Tfr~s-wPM^`OEa22w~XI8oj4d?UFI(z zBnA}^4&s&xsA)vxKgTk1<7#tr+iHL!)K_1=su9*0in4-LTvf9O6EJDL=c?Wob;hA# zYapB0O|p^x-D`K#Pv4#i9~EpfNb5`rZy|b^%gDIs$lkHE|JhUNho{eA1&BkOMKlqJGAn)xd z@lLQl`v$Ddzj6XXd7prX`!u}_t~fD@CyqXvSuygEmh!m8KWEbv%lXZBDPX;-SELD0 z8P$O3v&dJ8GUOZ>Y3qc@wJc;Qz#KQ7`*_6KI-`XvM>D)?J0Q0D0Kpb|C~EWSP8<3DK}Y9|ckuiC{Xab)=Y&81{8~D}c`d5yE}Tc*IH3#=5h!~dr;zt?4te&@ zLRus5GACcgx4IE*1!WA6|9A@8Wa^qAcY;iK;pFI=ingSd#w9AUmJ-OX@DqK! z7T=hzWG60{T@8{soRs{_%(ky@Vy`^VMwrH`^Q|pAEjKu&l@XdhGmuDdjny$@Jv0~R zfcH?Eia_;dRft*}4n2Kw`1pM%hOZwy&m&Ku+PGS@ zQA%yLoVi8=M9zPkF%SJI8)d_ zPh31!yx^VD2|aw~ZgKZD!&~oqJF5w=W{&$hoRt|JBlR+)`GW_a8ovAZqui)rCmp8s zd4Q~qkk$cuNJ?80=6JR4@*;KLy@$_9@GbE(r-#L}ytIt1t-hDfQ}=^>nd)1-ZS;R| z=En~l#lcxoVbjs_-dFJ$7#EN`cVZ7Z4V}??r~YA1d!m1BTkZ0(P=-KImCw%=tf<3b zY^#ReM@K(fooPnnt1V}$6uA~@>vn**{-j4$U4@VQBbmX?i)3+T_=T$ZO4pHhkwChB zVbi%w2REHtK6GZ!uG4}I?#UNaU-C_y-+27u zaQF=O${4AiWe$4a2V8w;4u`RvYgi|6bIB(kvn*{rc8m``@;+kx3mo1&&!~OmG#8G} zUs`Z3D33tGqu2?Mb;nefjX|OQI$jyhyOPiF9^^0ak;vDw)9vTp^$y;`bjxt!siVVj zwv`^oxmVbnRE@#S4(7hQdE@D|dv_1F{Nx?O)@ym=KXcV@o#Isq%#q!bahh+9IKTB( zUplYOpWf(^7u<{uNm)$MPVG?{z&a!TgsI2{oOG2DcQa4gY-OLxRyIHRZjcG99uGb6 z1W(|s@N_yaU*B{6u(J0CE;M-oI{7%H%-~gKP!2ybjtef=8fq{qo1{%KU?yVV1wV{P zw|MF+(6*kE`xRY^{1K3qyGV!>8PH}pt3IIYQmQZ_-bzCopNnE6j>YK=V}p{Ln>!5h zk&|Ek#`31&!H->9f7eHj!}A!puPd%sJA&1PbS*|}K{HcP(KLdlI&zZ7ea^G1jpeu% zZt=PkOFmiJ24}p$YhtDIO-5&yc%dQFla&dt&*JYQbH^p;fT}U0;;7OL?0J)&C`JRr zxc?-G&fGs`u6mf;-ZtEgEV1pn;YN(lV^N&Kx9vL39F|>ll+E!W< z<-K}Kd?xN3-|l;YhY9@3)J1M`oV~!8XIXljURQNR6#BwJlV&940&jw2>tYix_IMwN z%Y1AMW%T6%U2ewsV#bMg0(V|BtZrs59)a=?lZvh6C|<|b02@PO3bLr7Ux_uP30g;J zyp2XNqQ(Im!$`$`WOIY2(~2gQaA{s-fWlMeiDCFRcG?i=yGCqly~6VZYS`Lp%;SAg?hR70B>Za zVTm>CGdT3&(|nAL`FBn|jBYOJM6UAe{*BNR{hg;y3~#;lCcbfg!*I(@w+?S&3dI)YjBGmBb3BW+#Or*YM`cyVY>7heP647&Vrq*-EsS_U#oC7Swx(on&ntVH%4u^Pu>rb%|`WckYQaQ9nw z4R_wYW4Qkzwr3u8X%1!MYap|AYcoCP_uluq;W%^V<9sLZQ(xyLjBaBH4l$v#C&ga{ z%{yuXLiB2fICIW@U;ztQO8!-^&tuD};n}7FOPtQXdf*saFrUuFo?ndE#@slkV&OB@dmshs;A+!LUOr(50)cry6GoO-E3%gceT~o$8B>(9(M^@vepOc>t|Z43Afb0 zmH|&kFFJ>k9zqXNY=9lSB|oJBOBVh>)J#r4*L^y`0K8gR8x_c7^dP^my1Jk9-}i*Y zq1WaoM^RjLT$yMB82@aETV zV>Muo2Q_)qK8|oLj|lzL8+Hx{j`Qi?z`WgjVfdNbcJd_2j^SHRT^zp827EUy_0G}7 zD7^GUpAqP26EjCijbX0LTzaQ2P4U{zCtL;%3#MTQ&V+fedu-jFcAh=an>ghgFbUHk zBifZ0mzcEs~Dq?+g<`_eL zMD9&zy46*_U6<%a(QKG%*i)AwH00t@e8sHQ3{vsPD(&(mX%N)t{ESORhlp2@aBMm& zLk11YqJZE?l}U4JZp&kQ9qfqo89SHu{gtm2I*PEzLE=JRXV#}Frg7}UvdbtvjwCt~ zC*9IOUQxzufs`s$Tqm%3Jm9W7*i&%r=HY1`ob&>3g*CeC_*~g9y=BjE^L1PJ5IyUx z$oS^>&N4sUGQ1H-zwM?SI1##_h`thkk$3xbhtimWAg7Ev`0LsPH|jJ9>B@4{NgNUU zk+#l_k9&%(WZoQvAG;KMkD}4(u@+iWGaiJd3Pv5hl+w7k=T(PC-AP2 zH&Pxxurxez>eBF?BNw<}0?q{J8g`hy^Nwqnek={AS=Bhn#o*VTr2OBXX7qx0KbueZ`c`xVPs`=bn=#W8Lpf7fQu{TxMbsKU^h-nVKvW%%N^&vKgP(hDcI(I?E4yount zZ@xxVUdKafJS}{ZkIO&9*Il92Dcm2C(b%hv9wM;vnn$OKP*sIaqZvFp@(Q+IIlGV( z?xRUP#E2l|>?F_*Qk9pTOa$^P9!Zc7Cw0lMWX$(DptTo1(p7oUj$nYKtz%@Eg)cDI zku6hi`*ni2rUjbLfqHbfs)Wo7cx$CCs{YXy86oTZWEOt%YAo#}ZLrEHsjQ+xEF9Id z)2DtR?I;!7Av+G_eR)q(Ejt#CIzpB@P}1xWERmadH%V}nz;;1Ck29>_qwhA!;aTbZ zA6nbBxbq03#glm151QU7Q)vHHV$5|u8{-&GvrYfhMV~*#I`la<+LZqTpoK25=zrkY zMZRb4GjC!N5V6EE$Qf>tpXE+iMmfb2a{450n1SU0K$r%JQ38A+U2W##(pWbJGMUzS zEDOIn*dh8)UE{Ecr${x%WDF{X)1om|yvt6}9l_SmpFs^T4~18%R$1W&J9?=PCHy=y zj{1q*;OQfzJFnt%`LXi_9*0X*L=CmE8?`iV=yBzq@7Q_w_;Q@9!NId=eewf_xhM76 z0pIP^HIBF3(xdlY+V;j@-o-S zfHmO5i>xmVeDo+6ekYc*R2PTD<7-rFyr5E6+=Iioc0Eops$A}EJSu&oi4H?8sv=QA z-real+CXP0Ez7}@22UM(J=MUeL#mO=715|`reGQl3gl%Du4tI_*@Jw0M{*eLXAarb z3W%BzLQt}%`dc6eTcNqTPAr(9o(}77=5m>>mfFI&5ImOhBzk8vR$us_r^Th829q;6 zBeVWOrj0r)frY7jNA5sEGc60_anvnZQ4Ia8lv5JaRrO9gVnr`ai}X*S>i!d-{=ip? zLmj76js~5dyYwIH>zkiu%JLiQlX<@0j=AM)Et@h{I%~(U_b)rBh}(a0O16wtjsw8P zHWNc@8`5;Ci=5gH@%WY9ET=Z%ws&0FV7_LeN{aan!M9N*zO=<|!j;!`%7p74=O!XgBpL4mq|?6qzGe5*viH zf)QpSt;q~U>rro%wWC&zs^aP|pH61!s29M9rp?6mo`(_&ICu>) z^|G0&TqV_0#r^bJzcNoHqLmIQ?|=$-8^9vt(lk9j#acf^{v9Ql%rHbBGc( zE;^|C@=N0hMjcVb4NrB`^FuEr6^!tt#3hsrV;K|^>2eX7Y#5dbO-6N?-hxe$@UM0? zX=&+$>|O^2Hn~QlzKw4Q@uHJobV(J%Imi-$i=IqM=l5|(nUzz;E@m}+|2ayvk!oZiP8<%dsYb&I9GHzCnJH`?gTe%2 z!CKfJ6R?L?u5LP=dm8xZT+t4BrIjNve>QGHLAxu3d3qvn*vQq`jvh<_AvF=~s1r>= zEQe1KhbS2aV&~VHn$rfY6PuMs1~iL;*Q|&>HD^al;n0k2FvGXQLZvQ^hjFUgVBN>O zW>;UV%_hh7bNue(ft#cHDr`3db$gyb^WFKk*Il!9(nmO!E$x&vC=glA5cdOCU*m8&GK&IBcOlb=mUXt-TotcoY5 ztnoBT;}$z}`8QkmNrb<7d1c<-@QmVgF$irJ%!1jEw6!pj6-OB|Eo2_-bPkJ(69GiZ z4-JXPw9F92st$2J=cHC3(>bD2ybwwEI>d>A+F@MNk5-WSw0b(cW#pUwN3iR6&z`^d zJHrEi`3z81*$}GzH-OB5xX9a77KV?K+Q*M&5gd-SHotPJ5^Ibq`J_T(rzOI5N@v3T zrzXm5Kg!WNjwihpS5c=G;+W3qwx?rcDoGrN(kNh=3B?R+OENmxW5i3D2QiT)K;iOC zaPh}2`IdnpPkyFH^5lR-kD~HeYSrjm87NX0=+zYx_d=BHXqvi>96CSnl+}Ye`q$4! zrHFRn&$+gB%de_;IbF7ivV0K~TDJ8q(5$0vQ*Ae;R{B%})pAhCFZwG1U~FjYulVXX z%JJfySpX%L#Z8;84UuR=h`7`eVrUxMfSW4nJ)RlUX6V1p6Uf8*KJY&p-+UftR?bx% zni7^mwrt-1FjvbD)6NG<@+cnxC>4c_!B4t5OaQXCppMn7qLt%|U!`SI>(a~-ntmww zMx4MT#EJWn2`ce`Iy*CyqoEQx9m{Pxh%<64aUo zsXmR4;>-pCsf^YkY$&%t_Qd|r{0g4pD-V*jpX_FTW>m{q(WZMm5;enVQG@6kLx=RZ z;h4p)#otVC3sS{uBb(>Vi3n|MCy(-xc09mn`tX*`n;)KCrn{U?op&#Xw*2zJ`&6i`8+C%}>A77rK=as z8fp7tojZnsOBTv5%S}1WkihkMQJe;pE)8H=N+h-xHB}I|iA$+@LlBh zedT4*OOkGUikFa?fRaM`w5lX27O2KfDA`e2oe8}?jk5y}F8+mE=uC5NF4f>g32AW> z7zFu*$6s@UZr_=Ge|E5d&wspP+3s?*b7%KFx_#4`XBW25{VezX-;4a4RK5%db}FND zs{p@Is~QON5Lh=E2!$to&COKYQ1BY5OdG^8)G3&0jIx}|TiJ%xZ6IE6q@E5+M-;W z(1t#$O5UK2b1T2Hp(~dXpn@VQh?G;F7!w@=QjP^2_@Gg>19{8BKL_&C6%WhCo3Nxk zk#(MC(ze1$JH1l_DSg^Ja%3%A20L%D$G#q$sB|)>nkpb2dum4&V-rmYZsdYd)1>ud zECt?s?$X+S4y${3;r0uM7aXBOdhFiG>h14X*)g}UOk?59KCC^*`ZS87RpzZac&QjQ zVjnd&(VQ|>Zv__hn+e@X(wQx=M$G`3Gs-vl=75o8LpN~44NmwA2%{WLb=`VO*zCDM zP9u(m-A6lz@CANZC`afDG#i9D2WTueYY1*KIzr**s0V02Wz76cW{tXOR!#wK3c`{D zE;Z&ukOE!7|B;=n$mpE%i5kKh(#S$;%Bw^kVA^3DO(gV#MZpvRMZ-zPf~L2r)EAg$ ztxlojvVrBrvKYo3=@sFBkkW@ZCH%{!Ef>BseD#C1=~1GqgdgtE5+2&Wdg0K29o+VY zuke5yTkYqDTan2II8qu)oG4*UP&F2+{+p4=eU1j<{`0ev>6MKxBpl4<2YPTMleU>) zWI#T4OIaP{5m+mbuH%G1dE@C%^^qBXg^eIOnIRapWM?i`gMi*=Ey&F9&_^Z9dM`14N;hklXW zV?R9n&?(21#oYRtxexvG_Q|FPd5_Ru-0kO?3h-S@lyp8l>R(P$6`&I6myQmjnvPV> zdvA4w)}}VUFB9y>DieT3xu0z4&LgI$G>zk5%;j90kUd5SR;CsXO`A&8?zd6NoT5h$ zC^lg&Wpt2PHXL(f#D1$R$aBV&jlWbb6dtlH=q=|Ir;$rXZ(MkTrM8#4=3tn5fT&d$ z;lcCO;QYAq>WxWb1YQ$cV4W`I3FfnIHozWN0jGS6Boh0Y?VwCHmc1A5KDdgAc zL0J>o_AFUef@+$8I1sd7YL{YCo=A|MP?hbuQpsHSKtLU6@#mNge3c#W|FAl@`fz|# ziWf}1xDmRuIJE!L>Md_SGe5uQ+gs+>uEUwPvy*F2Rl1OLEi2QSmC6A@PY<@g6|+v7 zCY9^}aWd}^mvK(#4qdPWhA^N`+u}ZLnZYdHade;v%xze#E`8@wNTpAdvn0I%?V(Z6 z#8@e5b#Pfs?QLB31;3oh3q%pjxiiqBl4M0<2L;MkHZhX&%(P!hWFbc9L_C%Um@*Fm zdmxBYQ#9a`!@ulTcwt>^3pZ5NN=bTvNA`p_J*ExYdo)+47Mc&>4;hF2|4kMy5sYY42S-ku1-j=H2gXSETv=oFel z${fyG5Tw@d&D_@;G;Jtwg&|8yI+n8A2--!5UzgVuE)|=ul#O~)p6=Hz)M9x_({;0M zDkR9M2|K(kWO^Y?sCEk7T&Fw8n|EN}fr zB^*FNlC`p$@SF)abj}eF=L9)A&J1QnuFy)^u_xYJTZxjF z7+(66V@AN)BcEAa-FxeW#ZA|pW6uYthq+U{R`Ghwu!FiV>;Xv)by(|1F0js|!O4m@ zHB;;sB+xA+RB0KousfE;`HlP=Bz9}Y6UU@6yt*D?ZR2<*5lE?j35i--ngClo@|MIB zxDr(=h@^|6cuHWtT%kK=K_%p8rr|_c7*07*5=SVMS%>bNLoI=IF@SGfQM7=6DO{(kCOGiZ|pj=)#Ll$Lq0%-{{q8||*h3&m$KFfvkzLn*J zPYw@!_=*ijp?Q&qmoY*&3B0I=T_TTM|Equh%w%Qlk-4?WEv$F$q#Dexd1eut_EF9{ z_vt~LJ1m4+zcNyAOt+>i_bCe$m?l`$`3gV8G*@>fIeE^_V@t)laZ*U*BT>rC6Q->e zxJBL=h)$ljH-t`8z~nfT3za~f#P+ns$|YUHA%)K38+-Ohh?619dCJ4Wwl;`cVO4Z;(ok~O6W9(t6n3hta5)5?lg zb+qAl5F1SA$KPY^=U=zXEj)bkOMmK%j$U?n`3~JwIQf}pxr=l3bHkl)_{QFC^Y7(V zUhm`b_T9V^ZVx8Y9vG#Ywkj8AZ3eL3Hhwop497uO112h$a7og_luqNO%g9$NGfE^c zHQ73pv}xMY?I@=LN7?A@V^=vyC_ewvyE;;~x21AoMP)7R zKv6c1Ih={oSQ!=ms^d zSu}?8Q9~VLAxw-ZIO?Xsvq7>iv z5t6gzGFVSzhke{9zn_=89h{q6JbLbnAK+n<8D^d7%ZOjr9QtZ+U65=Nl9N>K#9Vyo9BD6we54%w`yi zTA_@T8$wM=p~G^js5z&Wl7OFZ$7g|~;drM-}*{Xr- z3q+_Rr&0J%7Fmt#ZIT6kRLC=B3LWO+J>ETcoYwJMlxgLy`H)1?JR+ny25YSt@k z70ek#?~5K$B0K;jq=bqarz=E&XOf1{BLJQSYK5lwIO=w^#62S?&pyyRf%)kY;0r>y4uonl&N3(a+Drn5JmS9~Mpab6_E@D?A^R8`E6MECJgpk7SzGxAN!b^o(j9U zh=J=hWkdzUy&|bb2Z+U~1H~F!esS3=oFPq-X+ozKubu-89rRs7*!rd-f}J3|Q7D~D zN41MI*%=k#JK~AnNUWF-7Kp3V>BOjT%E=otb7)zX3mTIT9l#X8m4BZm>JFXd%JMyM z(T}u)hj`&rBmiNM`q|sWp`Zn|a{9(xtvaD~>xIU$gK-TkspVnhA4A?lj2-*o{n+ZJ z$y4VqEH4jV+m9pfAIGj)Hm`JggO0B>^Q-aO_3jVv-L|&rwOoMQ$ycx5f+O6pzPk1r z46+E#W^Byr->`*|c@s~O(1Mc%MvGXT9C@3r8^61o4PteG+fZW=uSWZ7@Ufs0qJlrt zk}6RYq_M*>oP$$Z6fNc5DRk0uXc53{e1j++VLajtj)c*YgB_>`ar7fYx?uTQ0Rk&P zr&Y&b;`kjEH_IrTdTFWd(8A@!LEiQ@rx1aub4!V$R`zq+CwFLcYw}#B>dL(2Z*85o z{PDc$`s5OvcjjU@U79?=cNh;ZJ-{pGe$1hn?#C?k3UR-+aQ!d5eQ|Ye z{Z>wgd-09kjMg`>=(iW=+R9^JJB^uiFYp)`-%`tYcx+RRZ|Du$E9FOL(Nid8`r46$*1LPR0YLrSgj_ zT`BavBFOYEU-eIQ0#GC{nO>Tyj*mf=Yz0h1bn15K;9T7GjI@?vkPjh|3 zyJ7tT$2xBzTsVg;HV& - - - - - - - - diff --git a/frontend/dist/favicon_new.png b/frontend/dist/favicon_new.png deleted file mode 100644 index cb0db4953b1a1824ee9dcbfde24908595a025c1e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 33818 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 diff --git a/frontend/dist/fonts.json b/frontend/dist/fonts.json deleted file mode 100644 index 4be1f6c..0000000 --- a/frontend/dist/fonts.json +++ /dev/null @@ -1,170 +0,0 @@ -[ - { - "id": "0001", - "name": "AlimamaDaoLiTi", - "filename": "AlimamaDaoLiTi.ttf", - "category": "其他字体", - "path": "/fonts/其他字体/AlimamaDaoLiTi.ttf" - }, - { - "id": "0002", - "name": "Hangeuljaemin4-Regular", - "filename": "Hangeuljaemin4-Regular.ttf", - "category": "其他字体", - "path": "/fonts/其他字体/Hangeuljaemin4-Regular.ttf" - }, - { - "id": "0003", - "name": "I.顏體", - "filename": "I.顏體.ttf", - "category": "其他字体", - "path": "/fonts/其他字体/I.顏體.ttf" - }, - { - "id": "0004", - "name": "XCDUANZHUANGSONGTI", - "filename": "XCDUANZHUANGSONGTI.ttf", - "category": "其他字体", - "path": "/fonts/其他字体/XCDUANZHUANGSONGTI.ttf" - }, - { - "id": "0005", - "name": "qiji-combo", - "filename": "qiji-combo.ttf", - "category": "其他字体", - "path": "/fonts/其他字体/qiji-combo.ttf" - }, - { - "id": "0006", - "name": "临海隶书", - "filename": "临海隶书.ttf", - "category": "其他字体", - "path": "/fonts/其他字体/临海隶书.ttf" - }, - { - "id": "0007", - "name": "京華老宋体_KingHwa_OldSong", - "filename": "京華老宋体_KingHwa_OldSong.ttf", - "category": "其他字体", - "path": "/fonts/其他字体/京華老宋体_KingHwa_OldSong.ttf" - }, - { - "id": "0008", - "name": "优设标题黑", - "filename": "优设标题黑.ttf", - "category": "其他字体", - "path": "/fonts/其他字体/优设标题黑.ttf" - }, - { - "id": "0009", - "name": "包图小白体", - "filename": "包图小白体.ttf", - "category": "其他字体", - "path": "/fonts/其他字体/包图小白体.ttf" - }, - { - "id": "0010", - "name": "源界明朝", - "filename": "源界明朝.ttf", - "category": "其他字体", - "path": "/fonts/其他字体/源界明朝.ttf" - }, - { - "id": "0011", - "name": "演示佛系体", - "filename": "演示佛系体.ttf", - "category": "其他字体", - "path": "/fonts/其他字体/演示佛系体.ttf" - }, - { - "id": "0012", - "name": "站酷快乐体", - "filename": "站酷快乐体.ttf", - "category": "其他字体", - "path": "/fonts/其他字体/站酷快乐体.ttf" - }, - { - "id": "0013", - "name": "问藏书房", - "filename": "问藏书房.ttf", - "category": "其他字体", - "path": "/fonts/其他字体/问藏书房.ttf" - }, - { - "id": "0014", - "name": "霞鹜臻楷", - "filename": "霞鹜臻楷.ttf", - "category": "其他字体", - "path": "/fonts/其他字体/霞鹜臻楷.ttf" - }, - { - "id": "0015", - "name": "庞门正道标题体", - "filename": "庞门正道标题体.ttf", - "category": "庞门正道", - "path": "/fonts/庞门正道/庞门正道标题体.ttf" - }, - { - "id": "0016", - "name": "庞门正道标题体", - "filename": "庞门正道标题体.ttf", - "category": "庞门正道-测试", - "path": "/fonts/庞门正道-测试/庞门正道标题体.ttf" - }, - { - "id": "0017", - "name": "王漢宗勘亭流繁", - "filename": "王漢宗勘亭流繁.ttf", - "category": "王漢宗", - "path": "/fonts/王漢宗/王漢宗勘亭流繁.ttf" - }, - { - "id": "0018", - "name": "王漢宗新潮體", - "filename": "王漢宗新潮體.ttf", - "category": "王漢宗", - "path": "/fonts/王漢宗/王漢宗新潮體.ttf" - }, - { - "id": "0019", - "name": "王漢宗波卡體空陰", - "filename": "王漢宗波卡體空陰.ttf", - "category": "王漢宗", - "path": "/fonts/王漢宗/王漢宗波卡體空陰.ttf" - }, - { - "id": "0020", - "name": "王漢宗細黑體繁", - "filename": "王漢宗細黑體繁.ttf", - "category": "王漢宗", - "path": "/fonts/王漢宗/王漢宗細黑體繁.ttf" - }, - { - "id": "0021", - "name": "王漢宗綜藝體雙空陰", - "filename": "王漢宗綜藝體雙空陰.ttf", - "category": "王漢宗", - "path": "/fonts/王漢宗/王漢宗綜藝體雙空陰.ttf" - }, - { - "id": "0022", - "name": "王漢宗超明體繁", - "filename": "王漢宗超明體繁.ttf", - "category": "王漢宗", - "path": "/fonts/王漢宗/王漢宗超明體繁.ttf" - }, - { - "id": "0023", - "name": "王漢宗酷儷海報", - "filename": "王漢宗酷儷海報.ttf", - "category": "王漢宗", - "path": "/fonts/王漢宗/王漢宗酷儷海報.ttf" - }, - { - "id": "0024", - "name": "王漢宗顏楷體繁", - "filename": "王漢宗顏楷體繁.ttf", - "category": "王漢宗", - "path": "/fonts/王漢宗/王漢宗顏楷體繁.ttf" - } -] \ No newline at end of file diff --git a/frontend/dist/index.html b/frontend/dist/index.html deleted file mode 100644 index 7f31bae..0000000 --- a/frontend/dist/index.html +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - Font2SVG - 字体转SVG工具 - - - - -

- - diff --git a/miniprogram/assets/fonts.json b/miniprogram/assets/fonts.json deleted file mode 100644 index d06b486..0000000 --- a/miniprogram/assets/fonts.json +++ /dev/null @@ -1,2585 +0,0 @@ -[ - { - "id": "0001", - "name": "No.1-上首锐博体", - "filename": "No.1-上首锐博体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.1-上首锐博体.ttf" - }, - { - "id": "0002", - "name": "No.10-上首叮当体", - "filename": "No.10-上首叮当体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.10-上首叮当体.ttf" - }, - { - "id": "0003", - "name": "No.100-上首纤宋体", - "filename": "No.100-上首纤宋体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.100-上首纤宋体.ttf" - }, - { - "id": "0004", - "name": "No.101-上首武士黑体", - "filename": "No.101-上首武士黑体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.101-上首武士黑体.ttf" - }, - { - "id": "0005", - "name": "No.102-上首玄藏体", - "filename": "No.102-上首玄藏体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.102-上首玄藏体.ttf" - }, - { - "id": "0006", - "name": "No.103-上首星际体", - "filename": "No.103-上首星际体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.103-上首星际体.ttf" - }, - { - "id": "0007", - "name": "No.104-上首鸿志手写体", - "filename": "No.104-上首鸿志手写体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.104-上首鸿志手写体.ttf" - }, - { - "id": "0008", - "name": "No.105-上首逍遥体", - "filename": "No.105-上首逍遥体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.105-上首逍遥体.ttf" - }, - { - "id": "0009", - "name": "No.106-上首简墨体", - "filename": "No.106-上首简墨体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.106-上首简墨体.ttf" - }, - { - "id": "0010", - "name": "No.107-上首松羽体", - "filename": "No.107-上首松羽体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.107-上首松羽体.ttf" - }, - { - "id": "0011", - "name": "No.108-上首燕尾体", - "filename": "No.108-上首燕尾体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.108-上首燕尾体.ttf" - }, - { - "id": "0012", - "name": "No.109-上首韶华体", - "filename": "No.109-上首韶华体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.109-上首韶华体.ttf" - }, - { - "id": "0013", - "name": "No.11-上首车车体", - "filename": "No.11-上首车车体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.11-上首车车体.ttf" - }, - { - "id": "0014", - "name": "No.110-上首烈宋体", - "filename": "No.110-上首烈宋体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.110-上首烈宋体.ttf" - }, - { - "id": "0015", - "name": "No.111-上首方舟体", - "filename": "No.111-上首方舟体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.111-上首方舟体.ttf" - }, - { - "id": "0016", - "name": "No.112-上首壹方体", - "filename": "No.112-上首壹方体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.112-上首壹方体.ttf" - }, - { - "id": "0017", - "name": "No.113-上首轩正体", - "filename": "No.113-上首轩正体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.113-上首轩正体.ttf" - }, - { - "id": "0018", - "name": "No.114-上首长城体", - "filename": "No.114-上首长城体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.114-上首长城体.ttf" - }, - { - "id": "0019", - "name": "No.115-上首音符体", - "filename": "No.115-上首音符体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.115-上首音符体.ttf" - }, - { - "id": "0020", - "name": "No.116-上首如意体", - "filename": "No.116-上首如意体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.116-上首如意体.ttf" - }, - { - "id": "0021", - "name": "No.117-上首酷峰体", - "filename": "No.117-上首酷峰体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.117-上首酷峰体.ttf" - }, - { - "id": "0022", - "name": "No.118-上首星耀体", - "filename": "No.118-上首星耀体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.118-上首星耀体.ttf" - }, - { - "id": "0023", - "name": "No.119-上首罗马体", - "filename": "No.119-上首罗马体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.119-上首罗马体.ttf" - }, - { - "id": "0024", - "name": "No.12-上首秀圆体", - "filename": "No.12-上首秀圆体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.12-上首秀圆体.ttf" - }, - { - "id": "0025", - "name": "No.120-上首宽言体", - "filename": "No.120-上首宽言体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.120-上首宽言体.ttf" - }, - { - "id": "0026", - "name": "No.121-上首刻宋体", - "filename": "No.121-上首刻宋体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.121-上首刻宋体.ttf" - }, - { - "id": "0027", - "name": "No.122-上首云润体", - "filename": "No.122-上首云润体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.122-上首云润体.ttf" - }, - { - "id": "0028", - "name": "No.123-上首方义手刷体", - "filename": "No.123-上首方义手刷体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.123-上首方义手刷体.ttf" - }, - { - "id": "0029", - "name": "No.124-上首艺圆体", - "filename": "No.124-上首艺圆体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.124-上首艺圆体.ttf" - }, - { - "id": "0030", - "name": "No.125-上首方尊体", - "filename": "No.125-上首方尊体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.125-上首方尊体.ttf" - }, - { - "id": "0031", - "name": "No.126-上首吉言体", - "filename": "No.126-上首吉言体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.126-上首吉言体.ttf" - }, - { - "id": "0032", - "name": "No.127-上首简一体", - "filename": "No.127-上首简一体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.127-上首简一体.ttf" - }, - { - "id": "0033", - "name": "No.128-上首玄黑体", - "filename": "No.128-上首玄黑体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.128-上首玄黑体.ttf" - }, - { - "id": "0034", - "name": "No.129-上首墨遥体", - "filename": "No.129-上首墨遥体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.129-上首墨遥体.ttf" - }, - { - "id": "0035", - "name": "No.13-上首华凤书法体", - "filename": "No.13-上首华凤书法体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.13-上首华凤书法体.ttf" - }, - { - "id": "0036", - "name": "No.130-上首追光手写体", - "filename": "No.130-上首追光手写体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.130-上首追光手写体.ttf" - }, - { - "id": "0037", - "name": "No.131-上首斗金体", - "filename": "No.131-上首斗金体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.131-上首斗金体.ttf" - }, - { - "id": "0038", - "name": "No.132-上首豆干体", - "filename": "No.132-上首豆干体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.132-上首豆干体.ttf" - }, - { - "id": "0039", - "name": "No.133-上首魔法体", - "filename": "No.133-上首魔法体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.133-上首魔法体.ttf" - }, - { - "id": "0040", - "name": "No.134-上首文化体", - "filename": "No.134-上首文化体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.134-上首文化体.ttf" - }, - { - "id": "0041", - "name": "No.135-上首龙吟体", - "filename": "No.135-上首龙吟体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.135-上首龙吟体.ttf" - }, - { - "id": "0042", - "name": "No.136-上首悠然体", - "filename": "No.136-上首悠然体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.136-上首悠然体.ttf" - }, - { - "id": "0043", - "name": "No.137-上首本草纲目体", - "filename": "No.137-上首本草纲目体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.137-上首本草纲目体.ttf" - }, - { - "id": "0044", - "name": "No.138-上首星斗体", - "filename": "No.138-上首星斗体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.138-上首星斗体.ttf" - }, - { - "id": "0045", - "name": "No.139-上首鼎宋体", - "filename": "No.139-上首鼎宋体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.139-上首鼎宋体.ttf" - }, - { - "id": "0046", - "name": "No.14-上首水滴体", - "filename": "No.14-上首水滴体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.14-上首水滴体.ttf" - }, - { - "id": "0047", - "name": "No.140-上首妖刀体", - "filename": "No.140-上首妖刀体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.140-上首妖刀体.ttf" - }, - { - "id": "0048", - "name": "No.141-上首高达体", - "filename": "No.141-上首高达体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.141-上首高达体.ttf" - }, - { - "id": "0049", - "name": "No.142-上首综艺体", - "filename": "No.142-上首综艺体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.142-上首综艺体.ttf" - }, - { - "id": "0050", - "name": "No.143-上首圆木体", - "filename": "No.143-上首圆木体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.143-上首圆木体.ttf" - }, - { - "id": "0051", - "name": "No.144-上首逍遥书法体", - "filename": "No.144-上首逍遥书法体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.144-上首逍遥书法体.ttf" - }, - { - "id": "0052", - "name": "No.145-上首高光体", - "filename": "No.145-上首高光体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.145-上首高光体.ttf" - }, - { - "id": "0053", - "name": "No.146-上首清雅宋体", - "filename": "No.146-上首清雅宋体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.146-上首清雅宋体.ttf" - }, - { - "id": "0054", - "name": "No.147-上首云隶体", - "filename": "No.147-上首云隶体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.147-上首云隶体.ttf" - }, - { - "id": "0055", - "name": "No.148-上首标榜体", - "filename": "No.148-上首标榜体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.148-上首标榜体.ttf" - }, - { - "id": "0056", - "name": "No.149-上首奶酪体", - "filename": "No.149-上首奶酪体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.149-上首奶酪体.ttf" - }, - { - "id": "0057", - "name": "No.15-上首润黑体", - "filename": "No.15-上首润黑体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.15-上首润黑体.ttf" - }, - { - "id": "0058", - "name": "No.150-上首秋刀体", - "filename": "No.150-上首秋刀体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.150-上首秋刀体.ttf" - }, - { - "id": "0059", - "name": "No.151-上首凤鸣体", - "filename": "No.151-上首凤鸣体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.151-上首凤鸣体.ttf" - }, - { - "id": "0060", - "name": "No.152-上首南枝体", - "filename": "No.152-上首南枝体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.152-上首南枝体.ttf" - }, - { - "id": "0061", - "name": "No.152上首南枝体", - "filename": "No.152上首南枝体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.152上首南枝体.ttf" - }, - { - "id": "0062", - "name": "No.153-上首可乐体", - "filename": "No.153-上首可乐体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.153-上首可乐体.ttf" - }, - { - "id": "0063", - "name": "No.154-上首长青体", - "filename": "No.154-上首长青体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.154-上首长青体.ttf" - }, - { - "id": "0064", - "name": "No.155-上首中正宋体", - "filename": "No.155-上首中正宋体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.155-上首中正宋体.ttf" - }, - { - "id": "0065", - "name": "No.156-上首曲奇体", - "filename": "No.156-上首曲奇体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.156-上首曲奇体.ttf" - }, - { - "id": "0066", - "name": "No.157-上首萌萌手写体", - "filename": "No.157-上首萌萌手写体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.157-上首萌萌手写体.ttf" - }, - { - "id": "0067", - "name": "No.158-上首朗润体", - "filename": "No.158-上首朗润体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.158-上首朗润体.ttf" - }, - { - "id": "0068", - "name": "No.159-上首财神体", - "filename": "No.159-上首财神体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.159-上首财神体.ttf" - }, - { - "id": "0069", - "name": "No.16-上首锐圆体", - "filename": "No.16-上首锐圆体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.16-上首锐圆体.ttf" - }, - { - "id": "0070", - "name": "No.160-上首混沌体", - "filename": "No.160-上首混沌体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.160-上首混沌体.ttf" - }, - { - "id": "0071", - "name": "No.161-上首刺云体", - "filename": "No.161-上首刺云体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.161-上首刺云体.ttf" - }, - { - "id": "0072", - "name": "No.162-上首幻视体", - "filename": "No.162-上首幻视体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.162-上首幻视体.ttf" - }, - { - "id": "0073", - "name": "No.163-上首万象体", - "filename": "No.163-上首万象体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.163-上首万象体.ttf" - }, - { - "id": "0074", - "name": "No.164-上首简正体", - "filename": "No.164-上首简正体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.164-上首简正体.ttf" - }, - { - "id": "0075", - "name": "No.165-上首刺秦体", - "filename": "No.165-上首刺秦体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.165-上首刺秦体.ttf" - }, - { - "id": "0076", - "name": "No.166-上首暗黑体", - "filename": "No.166-上首暗黑体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.166-上首暗黑体.ttf" - }, - { - "id": "0077", - "name": "No.167-上首萌虎体", - "filename": "No.167-上首萌虎体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.167-上首萌虎体.ttf" - }, - { - "id": "0078", - "name": "No.168-上首雪糕体", - "filename": "No.168-上首雪糕体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.168-上首雪糕体.ttf" - }, - { - "id": "0079", - "name": "No.169-上首逐浪书法体", - "filename": "No.169-上首逐浪书法体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.169-上首逐浪书法体.ttf" - }, - { - "id": "0080", - "name": "No.17-上首钝黑体", - "filename": "No.17-上首钝黑体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.17-上首钝黑体.ttf" - }, - { - "id": "0081", - "name": "No.170-上首方玉体", - "filename": "No.170-上首方玉体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.170-上首方玉体.ttf" - }, - { - "id": "0082", - "name": "No.171-上首龙猫体", - "filename": "No.171-上首龙猫体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.171-上首龙猫体.ttf" - }, - { - "id": "0083", - "name": "No.172-上首木兰体", - "filename": "No.172-上首木兰体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.172-上首木兰体.ttf" - }, - { - "id": "0084", - "name": "No.173-上首山水宋体", - "filename": "No.173-上首山水宋体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.173-上首山水宋体.ttf" - }, - { - "id": "0085", - "name": "No.174-上首扑克体", - "filename": "No.174-上首扑克体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.174-上首扑克体.ttf" - }, - { - "id": "0086", - "name": "No.175-上首潮玩体", - "filename": "No.175-上首潮玩体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.175-上首潮玩体.ttf" - }, - { - "id": "0087", - "name": "No.176-上首鲁班宋体", - "filename": "No.176-上首鲁班宋体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.176-上首鲁班宋体.ttf" - }, - { - "id": "0088", - "name": "No.177-上首奶糖体", - "filename": "No.177-上首奶糖体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.177-上首奶糖体.ttf" - }, - { - "id": "0089", - "name": "No.178-上首浓墨体", - "filename": "No.178-上首浓墨体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.178-上首浓墨体.ttf" - }, - { - "id": "0090", - "name": "No.179-上首朋克体", - "filename": "No.179-上首朋克体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.179-上首朋克体.ttf" - }, - { - "id": "0091", - "name": "No.18-上首疾风书法体", - "filename": "No.18-上首疾风书法体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.18-上首疾风书法体.ttf" - }, - { - "id": "0092", - "name": "No.180-上首风云书法体", - "filename": "No.180-上首风云书法体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.180-上首风云书法体.ttf" - }, - { - "id": "0093", - "name": "No.181-上首未来体", - "filename": "No.181-上首未来体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.181-上首未来体.ttf" - }, - { - "id": "0094", - "name": "No.182-上首象牙体", - "filename": "No.182-上首象牙体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.182-上首象牙体.ttf" - }, - { - "id": "0095", - "name": "No.183-上首悦圆体", - "filename": "No.183-上首悦圆体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.183-上首悦圆体.ttf" - }, - { - "id": "0096", - "name": "No.184-上首月牙体", - "filename": "No.184-上首月牙体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.184-上首月牙体.ttf" - }, - { - "id": "0097", - "name": "No.185-上首矩正体", - "filename": "No.185-上首矩正体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.185-上首矩正体.ttf" - }, - { - "id": "0098", - "name": "No.186-上首鸿运体", - "filename": "No.186-上首鸿运体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.186-上首鸿运体.ttf" - }, - { - "id": "0099", - "name": "No.187-上首童年体", - "filename": "No.187-上首童年体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.187-上首童年体.ttf" - }, - { - "id": "0100", - "name": "No.188-上首凌宋体", - "filename": "No.188-上首凌宋体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.188-上首凌宋体.ttf" - }, - { - "id": "0101", - "name": "No.189-上首品黑体", - "filename": "No.189-上首品黑体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.189-上首品黑体.ttf" - }, - { - "id": "0102", - "name": "No.19-上首简黑极细体", - "filename": "No.19-上首简黑极细体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.19-上首简黑极细体.ttf" - }, - { - "id": "0103", - "name": "No.190-上首波波手写体", - "filename": "No.190-上首波波手写体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.190-上首波波手写体.ttf" - }, - { - "id": "0104", - "name": "No.191-上首祥瑞体", - "filename": "No.191-上首祥瑞体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.191-上首祥瑞体.ttf" - }, - { - "id": "0105", - "name": "No.192-上首傲骨体", - "filename": "No.192-上首傲骨体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.192-上首傲骨体.ttf" - }, - { - "id": "0106", - "name": "No.193-上首轩隶体", - "filename": "No.193-上首轩隶体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.193-上首轩隶体.ttf" - }, - { - "id": "0107", - "name": "No.194-上首品宋体", - "filename": "No.194-上首品宋体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.194-上首品宋体.ttf" - }, - { - "id": "0108", - "name": "No.195-上首金枝体", - "filename": "No.195-上首金枝体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.195-上首金枝体.ttf" - }, - { - "id": "0109", - "name": "No.196-上首游龙体", - "filename": "No.196-上首游龙体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.196-上首游龙体.ttf" - }, - { - "id": "0110", - "name": "No.197-上首魔方体", - "filename": "No.197-上首魔方体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.197-上首魔方体.ttf" - }, - { - "id": "0111", - "name": "No.198-上首呆呆体", - "filename": "No.198-上首呆呆体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.198-上首呆呆体.ttf" - }, - { - "id": "0112", - "name": "No.199-上首新潮体", - "filename": "No.199-上首新潮体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.199-上首新潮体.ttf" - }, - { - "id": "0113", - "name": "No.2-上首维黑体", - "filename": "No.2-上首维黑体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.2-上首维黑体.ttf" - }, - { - "id": "0114", - "name": "No.20-上首简宋纤细体", - "filename": "No.20-上首简宋纤细体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.20-上首简宋纤细体.ttf" - }, - { - "id": "0115", - "name": "No.200-上首博雅体", - "filename": "No.200-上首博雅体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.200-上首博雅体.ttf" - }, - { - "id": "0116", - "name": "No.201-上首鹊桥体", - "filename": "No.201-上首鹊桥体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.201-上首鹊桥体.ttf" - }, - { - "id": "0117", - "name": "No.202-上首雅倩体", - "filename": "No.202-上首雅倩体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.202-上首雅倩体.ttf" - }, - { - "id": "0118", - "name": "No.203-上首祥瑞手写体", - "filename": "No.203-上首祥瑞手写体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.203-上首祥瑞手写体.ttf" - }, - { - "id": "0119", - "name": "No.204-上首茶颜体", - "filename": "No.204-上首茶颜体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.204-上首茶颜体.ttf" - }, - { - "id": "0120", - "name": "No.205-上首羽刃体", - "filename": "No.205-上首羽刃体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.205-上首羽刃体.ttf" - }, - { - "id": "0121", - "name": "No.206-上首幻灵体", - "filename": "No.206-上首幻灵体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.206-上首幻灵体.ttf" - }, - { - "id": "0122", - "name": "No.207-上首西游体", - "filename": "No.207-上首西游体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.207-上首西游体.ttf" - }, - { - "id": "0123", - "name": "No.208-上首古居体", - "filename": "No.208-上首古居体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.208-上首古居体.ttf" - }, - { - "id": "0124", - "name": "No.209-上首润泽体", - "filename": "No.209-上首润泽体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.209-上首润泽体.ttf" - }, - { - "id": "0125", - "name": "No.21-上首传奇书法体", - "filename": "No.21-上首传奇书法体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.21-上首传奇书法体.ttf" - }, - { - "id": "0126", - "name": "No.210-上首醒狮体", - "filename": "No.210-上首醒狮体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.210-上首醒狮体.ttf" - }, - { - "id": "0127", - "name": "No.211-上首冰刃体", - "filename": "No.211-上首冰刃体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.211-上首冰刃体.ttf" - }, - { - "id": "0128", - "name": "No.212-上首玄武体", - "filename": "No.212-上首玄武体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.212-上首玄武体.ttf" - }, - { - "id": "0129", - "name": "No.213-上首雪兔体", - "filename": "No.213-上首雪兔体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.213-上首雪兔体.ttf" - }, - { - "id": "0130", - "name": "No.214-上首朱雀体", - "filename": "No.214-上首朱雀体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.214-上首朱雀体.ttf" - }, - { - "id": "0131", - "name": "No.215-上首朗月体", - "filename": "No.215-上首朗月体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.215-上首朗月体.ttf" - }, - { - "id": "0132", - "name": "No.216-上首招财猫体", - "filename": "No.216-上首招财猫体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.216-上首招财猫体.ttf" - }, - { - "id": "0133", - "name": "No.217-上首星舰体", - "filename": "No.217-上首星舰体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.217-上首星舰体.ttf" - }, - { - "id": "0134", - "name": "No.218-上首正舟体", - "filename": "No.218-上首正舟体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.218-上首正舟体.ttf" - }, - { - "id": "0135", - "name": "No.219-上首白虎书法体", - "filename": "No.219-上首白虎书法体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.219-上首白虎书法体.ttf" - }, - { - "id": "0136", - "name": "No.22-上首简圆体", - "filename": "No.22-上首简圆体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.22-上首简圆体.ttf" - }, - { - "id": "0137", - "name": "No.220-上首梧桐体", - "filename": "No.220-上首梧桐体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.220-上首梧桐体.ttf" - }, - { - "id": "0138", - "name": "No.221-上首标题体", - "filename": "No.221-上首标题体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.221-上首标题体.ttf" - }, - { - "id": "0139", - "name": "No.222-上首阿呆体", - "filename": "No.222-上首阿呆体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.222-上首阿呆体.ttf" - }, - { - "id": "0140", - "name": "No.223-上首月兔体", - "filename": "No.223-上首月兔体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.223-上首月兔体.ttf" - }, - { - "id": "0141", - "name": "No.224-上首绫黑体", - "filename": "No.224-上首绫黑体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.224-上首绫黑体.ttf" - }, - { - "id": "0142", - "name": "No.225-上首福禄体", - "filename": "No.225-上首福禄体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.225-上首福禄体.ttf" - }, - { - "id": "0143", - "name": "No.226-上首机甲体", - "filename": "No.226-上首机甲体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.226-上首机甲体.ttf" - }, - { - "id": "0144", - "name": "No.227-上首晴竹体", - "filename": "No.227-上首晴竹体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.227-上首晴竹体.ttf" - }, - { - "id": "0145", - "name": "No.228-上首光折体", - "filename": "No.228-上首光折体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.228-上首光折体.ttf" - }, - { - "id": "0146", - "name": "No.229-上首时光体", - "filename": "No.229-上首时光体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.229-上首时光体.ttf" - }, - { - "id": "0147", - "name": "No.23-上首布丁体", - "filename": "No.23-上首布丁体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.23-上首布丁体.ttf" - }, - { - "id": "0148", - "name": "No.230-上首胖虎体", - "filename": "No.230-上首胖虎体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.230-上首胖虎体.ttf" - }, - { - "id": "0149", - "name": "No.231-上首奇妙体", - "filename": "No.231-上首奇妙体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.231-上首奇妙体.ttf" - }, - { - "id": "0150", - "name": "No.232-上首龙腾体", - "filename": "No.232-上首龙腾体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.232-上首龙腾体.ttf" - }, - { - "id": "0151", - "name": "No.233-上首怪兽体", - "filename": "No.233-上首怪兽体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.233-上首怪兽体.ttf" - }, - { - "id": "0152", - "name": "No.234-上首极限体", - "filename": "No.234-上首极限体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.234-上首极限体.ttf" - }, - { - "id": "0153", - "name": "No.235-上首御风书法体", - "filename": "No.235-上首御风书法体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.235-上首御风书法体.ttf" - }, - { - "id": "0154", - "name": "No.236-上首东坡体", - "filename": "No.236-上首东坡体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.236-上首东坡体.ttf" - }, - { - "id": "0155", - "name": "No.237-上首木鱼体", - "filename": "No.237-上首木鱼体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.237-上首木鱼体.ttf" - }, - { - "id": "0156", - "name": "No.238-上首妙趣体", - "filename": "No.238-上首妙趣体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.238-上首妙趣体.ttf" - }, - { - "id": "0157", - "name": "No.239-上首青云体", - "filename": "No.239-上首青云体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.239-上首青云体.ttf" - }, - { - "id": "0158", - "name": "No.24-上首软糖体", - "filename": "No.24-上首软糖体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.24-上首软糖体.ttf" - }, - { - "id": "0159", - "name": "No.240-上首雅隶体", - "filename": "No.240-上首雅隶体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.240-上首雅隶体.ttf" - }, - { - "id": "0160", - "name": "No.241-上首蔷薇体", - "filename": "No.241-上首蔷薇体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.241-上首蔷薇体.ttf" - }, - { - "id": "0161", - "name": "No.242-上首海浪体", - "filename": "No.242-上首海浪体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.242-上首海浪体.ttf" - }, - { - "id": "0162", - "name": "No.243-上首青柏体", - "filename": "No.243-上首青柏体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.243-上首青柏体.ttf" - }, - { - "id": "0163", - "name": "No.244-上首墩墩体", - "filename": "No.244-上首墩墩体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.244-上首墩墩体.ttf" - }, - { - "id": "0164", - "name": "No.245-上首无限体", - "filename": "No.245-上首无限体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.245-上首无限体.ttf" - }, - { - "id": "0165", - "name": "No.246-上首本墨体", - "filename": "No.246-上首本墨体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.246-上首本墨体.ttf" - }, - { - "id": "0166", - "name": "No.247-上首祥云体", - "filename": "No.247-上首祥云体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.247-上首祥云体.ttf" - }, - { - "id": "0167", - "name": "No.248-上首非凡体", - "filename": "No.248-上首非凡体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.248-上首非凡体.ttf" - }, - { - "id": "0168", - "name": "No.249-上首市井体", - "filename": "No.249-上首市井体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.249-上首市井体.ttf" - }, - { - "id": "0169", - "name": "No.25-上首锐圆极细体", - "filename": "No.25-上首锐圆极细体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.25-上首锐圆极细体.ttf" - }, - { - "id": "0170", - "name": "No.250-上首松柏体", - "filename": "No.250-上首松柏体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.250-上首松柏体.ttf" - }, - { - "id": "0171", - "name": "No.251-上首水波体", - "filename": "No.251-上首水波体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.251-上首水波体.ttf" - }, - { - "id": "0172", - "name": "No.252-上首大头手写体", - "filename": "No.252-上首大头手写体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.252-上首大头手写体.ttf" - }, - { - "id": "0173", - "name": "No.253-上首银蛇体", - "filename": "No.253-上首银蛇体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.253-上首银蛇体.ttf" - }, - { - "id": "0174", - "name": "No.254-上首琥珀体", - "filename": "No.254-上首琥珀体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.254-上首琥珀体.ttf" - }, - { - "id": "0175", - "name": "No.255-上首敦煌隶书体", - "filename": "No.255-上首敦煌隶书体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.255-上首敦煌隶书体.ttf" - }, - { - "id": "0176", - "name": "No.256-上首楼兰体", - "filename": "No.256-上首楼兰体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.256-上首楼兰体.ttf" - }, - { - "id": "0177", - "name": "No.257-上首福袋体", - "filename": "No.257-上首福袋体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.257-上首福袋体.ttf" - }, - { - "id": "0178", - "name": "No.258-上首惊鸿体", - "filename": "No.258-上首惊鸿体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.258-上首惊鸿体.ttf" - }, - { - "id": "0179", - "name": "No.259-上首果冻体", - "filename": "No.259-上首果冻体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.259-上首果冻体.ttf" - }, - { - "id": "0180", - "name": "No.26-上首悦风体", - "filename": "No.26-上首悦风体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.26-上首悦风体.ttf" - }, - { - "id": "0181", - "name": "No.260-上首山岳体", - "filename": "No.260-上首山岳体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.260-上首山岳体.ttf" - }, - { - "id": "0182", - "name": "No.261-上首惊云体", - "filename": "No.261-上首惊云体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.261-上首惊云体.ttf" - }, - { - "id": "0183", - "name": "No.262-上首江南宋体", - "filename": "No.262-上首江南宋体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.262-上首江南宋体.ttf" - }, - { - "id": "0184", - "name": "No.263-上首蜡笔体", - "filename": "No.263-上首蜡笔体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.263-上首蜡笔体.ttf" - }, - { - "id": "0185", - "name": "No.264-上首赛博体", - "filename": "No.264-上首赛博体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.264-上首赛博体.ttf" - }, - { - "id": "0186", - "name": "No.265-上首心动体", - "filename": "No.265-上首心动体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.265-上首心动体.ttf" - }, - { - "id": "0187", - "name": "No.266-上首千禧体", - "filename": "No.266-上首千禧体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.266-上首千禧体.ttf" - }, - { - "id": "0188", - "name": "No.267-上首柔黑体", - "filename": "No.267-上首柔黑体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.267-上首柔黑体.ttf" - }, - { - "id": "0189", - "name": "No.268-上首黑仪体", - "filename": "No.268-上首黑仪体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.268-上首黑仪体.ttf" - }, - { - "id": "0190", - "name": "No.269-上首涂鸦体", - "filename": "No.269-上首涂鸦体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.269-上首涂鸦体.ttf" - }, - { - "id": "0191", - "name": "No.27-上首锐棱体", - "filename": "No.27-上首锐棱体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.27-上首锐棱体.ttf" - }, - { - "id": "0192", - "name": "No.270-上首天坛体", - "filename": "No.270-上首天坛体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.270-上首天坛体.ttf" - }, - { - "id": "0193", - "name": "No.271-上首麒麟体", - "filename": "No.271-上首麒麟体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.271-上首麒麟体.ttf" - }, - { - "id": "0194", - "name": "No.272-上首青瓦体", - "filename": "No.272-上首青瓦体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.272-上首青瓦体.ttf" - }, - { - "id": "0195", - "name": "No.273-上首风云体", - "filename": "No.273-上首风云体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.273-上首风云体.ttf" - }, - { - "id": "0196", - "name": "No.274-上首战魂体", - "filename": "No.274-上首战魂体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.274-上首战魂体.ttf" - }, - { - "id": "0197", - "name": "No.275-上首招福体", - "filename": "No.275-上首招福体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.275-上首招福体.ttf" - }, - { - "id": "0198", - "name": "No.276-上首佛陀体", - "filename": "No.276-上首佛陀体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.276-上首佛陀体.ttf" - }, - { - "id": "0199", - "name": "No.277-上首大漠体", - "filename": "No.277-上首大漠体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.277-上首大漠体.ttf" - }, - { - "id": "0200", - "name": "No.278-上首绘梦体", - "filename": "No.278-上首绘梦体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.278-上首绘梦体.ttf" - }, - { - "id": "0201", - "name": "No.279-上首东方体", - "filename": "No.279-上首东方体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.279-上首东方体.ttf" - }, - { - "id": "0202", - "name": "No.28-上首星岩体", - "filename": "No.28-上首星岩体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.28-上首星岩体.ttf" - }, - { - "id": "0203", - "name": "No.280-上首英雄体", - "filename": "No.280-上首英雄体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.280-上首英雄体.ttf" - }, - { - "id": "0204", - "name": "No.281-上首破冰体", - "filename": "No.281-上首破冰体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.281-上首破冰体.ttf" - }, - { - "id": "0205", - "name": "No.282-上首玄机体", - "filename": "No.282-上首玄机体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.282-上首玄机体.ttf" - }, - { - "id": "0206", - "name": "No.283-上首舞狮体", - "filename": "No.283-上首舞狮体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.283-上首舞狮体.ttf" - }, - { - "id": "0207", - "name": "No.284-上首北斗体", - "filename": "No.284-上首北斗体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.284-上首北斗体.ttf" - }, - { - "id": "0208", - "name": "No.285-上首万福体", - "filename": "No.285-上首万福体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.285-上首万福体.ttf" - }, - { - "id": "0209", - "name": "No.286-上首云木体", - "filename": "No.286-上首云木体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.286-上首云木体.ttf" - }, - { - "id": "0210", - "name": "No.287-上首方印体", - "filename": "No.287-上首方印体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.287-上首方印体.ttf" - }, - { - "id": "0211", - "name": "No.288-上首几何体", - "filename": "No.288-上首几何体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.288-上首几何体.ttf" - }, - { - "id": "0212", - "name": "No.289-上首江湖书法体", - "filename": "No.289-上首江湖书法体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.289-上首江湖书法体.ttf" - }, - { - "id": "0213", - "name": "No.29-上首先锋体", - "filename": "No.29-上首先锋体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.29-上首先锋体.ttf" - }, - { - "id": "0214", - "name": "No.290-上首书印体", - "filename": "No.290-上首书印体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.290-上首书印体.ttf" - }, - { - "id": "0215", - "name": "No.291-上首淘气体", - "filename": "No.291-上首淘气体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.291-上首淘气体.ttf" - }, - { - "id": "0216", - "name": "No.292-上首暗格体", - "filename": "No.292-上首暗格体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.292-上首暗格体.ttf" - }, - { - "id": "0217", - "name": "No.293-上首逸尘体", - "filename": "No.293-上首逸尘体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.293-上首逸尘体.ttf" - }, - { - "id": "0218", - "name": "No.294-上首小新体", - "filename": "No.294-上首小新体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.294-上首小新体.ttf" - }, - { - "id": "0219", - "name": "No.295-上首荒原体", - "filename": "No.295-上首荒原体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.295-上首荒原体.ttf" - }, - { - "id": "0220", - "name": "No.296-上首松针体", - "filename": "No.296-上首松针体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.296-上首松针体.ttf" - }, - { - "id": "0221", - "name": "No.297-上首墨玄体", - "filename": "No.297-上首墨玄体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.297-上首墨玄体.ttf" - }, - { - "id": "0222", - "name": "No.298-上首沧海书法体", - "filename": "No.298-上首沧海书法体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.298-上首沧海书法体.ttf" - }, - { - "id": "0223", - "name": "No.299-上首王朝体", - "filename": "No.299-上首王朝体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.299-上首王朝体.ttf" - }, - { - "id": "0224", - "name": "No.3-上首方圆体", - "filename": "No.3-上首方圆体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.3-上首方圆体.ttf" - }, - { - "id": "0225", - "name": "No.30-上首倾城体", - "filename": "No.30-上首倾城体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.30-上首倾城体.ttf" - }, - { - "id": "0226", - "name": "No.300-上首古皇体", - "filename": "No.300-上首古皇体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.300-上首古皇体.ttf" - }, - { - "id": "0227", - "name": "No.301-上首言亭体", - "filename": "No.301-上首言亭体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.301-上首言亭体.ttf" - }, - { - "id": "0228", - "name": "No.302-上首流金体", - "filename": "No.302-上首流金体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.302-上首流金体.ttf" - }, - { - "id": "0229", - "name": "No.303-上首墨宋体", - "filename": "No.303-上首墨宋体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.303-上首墨宋体.ttf" - }, - { - "id": "0230", - "name": "No.304-上首龙虎体", - "filename": "No.304-上首龙虎体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.304-上首龙虎体.ttf" - }, - { - "id": "0231", - "name": "No.305-上首点墨体", - "filename": "No.305-上首点墨体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.305-上首点墨体.ttf" - }, - { - "id": "0232", - "name": "No.306-上首万圣体", - "filename": "No.306-上首万圣体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.306-上首万圣体.ttf" - }, - { - "id": "0233", - "name": "No.307-上首润元体", - "filename": "No.307-上首润元体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.307-上首润元体.ttf" - }, - { - "id": "0234", - "name": "No.308-上首极速体", - "filename": "No.308-上首极速体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.308-上首极速体.ttf" - }, - { - "id": "0235", - "name": "No.309-上首栏栅体", - "filename": "No.309-上首栏栅体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.309-上首栏栅体.ttf" - }, - { - "id": "0236", - "name": "No.31-上首简黑纤细体", - "filename": "No.31-上首简黑纤细体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.31-上首简黑纤细体.ttf" - }, - { - "id": "0237", - "name": "No.310-上首浮华体", - "filename": "No.310-上首浮华体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.310-上首浮华体.ttf" - }, - { - "id": "0238", - "name": "No.311-上首梦想体", - "filename": "No.311-上首梦想体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.311-上首梦想体.ttf" - }, - { - "id": "0239", - "name": "No.312-上首诗宋体", - "filename": "No.312-上首诗宋体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.312-上首诗宋体.ttf" - }, - { - "id": "0240", - "name": "No.313-上首亦方体", - "filename": "No.313-上首亦方体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.313-上首亦方体.ttf" - }, - { - "id": "0241", - "name": "No.314-上首心愿体", - "filename": "No.314-上首心愿体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.314-上首心愿体.ttf" - }, - { - "id": "0242", - "name": "No.315-上首西施体", - "filename": "No.315-上首西施体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.315-上首西施体.ttf" - }, - { - "id": "0243", - "name": "No.316-上首国美体", - "filename": "No.316-上首国美体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.316-上首国美体.ttf" - }, - { - "id": "0244", - "name": "No.317-上首润玉体", - "filename": "No.317-上首润玉体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.317-上首润玉体.ttf" - }, - { - "id": "0245", - "name": "No.318-上首炫酷体", - "filename": "No.318-上首炫酷体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.318-上首炫酷体.ttf" - }, - { - "id": "0246", - "name": "No.319-上首云烟体", - "filename": "No.319-上首云烟体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.319-上首云烟体.ttf" - }, - { - "id": "0247", - "name": "No.32-上首芊芊体", - "filename": "No.32-上首芊芊体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.32-上首芊芊体.ttf" - }, - { - "id": "0248", - "name": "No.320-上首蜀汉体", - "filename": "No.320-上首蜀汉体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.320-上首蜀汉体.ttf" - }, - { - "id": "0249", - "name": "No.321-上首盛唐体", - "filename": "No.321-上首盛唐体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.321-上首盛唐体.ttf" - }, - { - "id": "0250", - "name": "No.322-上首折扇体", - "filename": "No.322-上首折扇体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.322-上首折扇体.ttf" - }, - { - "id": "0251", - "name": "No.323-上首青竹体", - "filename": "No.323-上首青竹体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.323-上首青竹体.ttf" - }, - { - "id": "0252", - "name": "No.324-上首胭脂体", - "filename": "No.324-上首胭脂体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.324-上首胭脂体.ttf" - }, - { - "id": "0253", - "name": "No.33-上首方糖体", - "filename": "No.33-上首方糖体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.33-上首方糖体.ttf" - }, - { - "id": "0254", - "name": "No.34-上首简黑中细体", - "filename": "No.34-上首简黑中细体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.34-上首简黑中细体.ttf" - }, - { - "id": "0255", - "name": "No.35-上首积木体", - "filename": "No.35-上首积木体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.35-上首积木体.ttf" - }, - { - "id": "0256", - "name": "No.36-上首金牛体", - "filename": "No.36-上首金牛体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.36-上首金牛体.ttf" - }, - { - "id": "0257", - "name": "No.37-上首朗倩体", - "filename": "No.37-上首朗倩体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.37-上首朗倩体.ttf" - }, - { - "id": "0258", - "name": "No.38-上首漠云体", - "filename": "No.38-上首漠云体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.38-上首漠云体.ttf" - }, - { - "id": "0259", - "name": "No.39-上首至尊书法体", - "filename": "No.39-上首至尊书法体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.39-上首至尊书法体.ttf" - }, - { - "id": "0260", - "name": "No.4-上首秀黑体", - "filename": "No.4-上首秀黑体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.4-上首秀黑体.ttf" - }, - { - "id": "0261", - "name": "No.40-上首星芒体", - "filename": "No.40-上首星芒体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.40-上首星芒体.ttf" - }, - { - "id": "0262", - "name": "No.41-上首山川体", - "filename": "No.41-上首山川体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.41-上首山川体.ttf" - }, - { - "id": "0263", - "name": "No.42-上首芋圆体", - "filename": "No.42-上首芋圆体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.42-上首芋圆体.ttf" - }, - { - "id": "0264", - "name": "No.43-上首星辰体", - "filename": "No.43-上首星辰体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.43-上首星辰体.ttf" - }, - { - "id": "0265", - "name": "No.44-上首哥特体", - "filename": "No.44-上首哥特体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.44-上首哥特体.ttf" - }, - { - "id": "0266", - "name": "No.45-上首黑岩体 ", - "filename": "No.45-上首黑岩体 .ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.45-上首黑岩体 .ttf" - }, - { - "id": "0267", - "name": "No.46-上首言黑体", - "filename": "No.46-上首言黑体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.46-上首言黑体.ttf" - }, - { - "id": "0268", - "name": "No.47-上首御宋体", - "filename": "No.47-上首御宋体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.47-上首御宋体.ttf" - }, - { - "id": "0269", - "name": "No.48-上首三国体", - "filename": "No.48-上首三国体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.48-上首三国体.ttf" - }, - { - "id": "0270", - "name": "No.49-上首熊猫体", - "filename": "No.49-上首熊猫体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.49-上首熊猫体.ttf" - }, - { - "id": "0271", - "name": "No.5-上首时尚体", - "filename": "No.5-上首时尚体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.5-上首时尚体.ttf" - }, - { - "id": "0272", - "name": "No.50-上首国潮体", - "filename": "No.50-上首国潮体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.50-上首国潮体.ttf" - }, - { - "id": "0273", - "name": "No.51-上首酷方体", - "filename": "No.51-上首酷方体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.51-上首酷方体.ttf" - }, - { - "id": "0274", - "name": "No.52-上首碑楷体", - "filename": "No.52-上首碑楷体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.52-上首碑楷体.ttf" - }, - { - "id": "0275", - "name": "No.53-上首逸飞体", - "filename": "No.53-上首逸飞体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.53-上首逸飞体.ttf" - }, - { - "id": "0276", - "name": "No.54-上首少年体", - "filename": "No.54-上首少年体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.54-上首少年体.ttf" - }, - { - "id": "0277", - "name": "No.55-上首锋芒体", - "filename": "No.55-上首锋芒体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.55-上首锋芒体.ttf" - }, - { - "id": "0278", - "name": "No.56-上首新艺体", - "filename": "No.56-上首新艺体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.56-上首新艺体.ttf" - }, - { - "id": "0279", - "name": "No.57-上首嘉木体", - "filename": "No.57-上首嘉木体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.57-上首嘉木体.ttf" - }, - { - "id": "0280", - "name": "No.58-上首力方体", - "filename": "No.58-上首力方体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.58-上首力方体.ttf" - }, - { - "id": "0281", - "name": "No.59-上首折言体", - "filename": "No.59-上首折言体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.59-上首折言体.ttf" - }, - { - "id": "0282", - "name": "No.6-上首宽窄体", - "filename": "No.6-上首宽窄体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.6-上首宽窄体.ttf" - }, - { - "id": "0283", - "name": "No.60-上首本刻体", - "filename": "No.60-上首本刻体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.60-上首本刻体.ttf" - }, - { - "id": "0284", - "name": "No.61-上首古宋体", - "filename": "No.61-上首古宋体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.61-上首古宋体.ttf" - }, - { - "id": "0285", - "name": "No.62-上首黑风体", - "filename": "No.62-上首黑风体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.62-上首黑风体.ttf" - }, - { - "id": "0286", - "name": "No.63-上首迎风手写体", - "filename": "No.63-上首迎风手写体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.63-上首迎风手写体.ttf" - }, - { - "id": "0287", - "name": "No.64-上首奕星体", - "filename": "No.64-上首奕星体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.64-上首奕星体.ttf" - }, - { - "id": "0288", - "name": "No.65-上首山河体", - "filename": "No.65-上首山河体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.65-上首山河体.ttf" - }, - { - "id": "0289", - "name": "No.66-上首和风体", - "filename": "No.66-上首和风体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.66-上首和风体.ttf" - }, - { - "id": "0290", - "name": "No.67-上首轩宋体", - "filename": "No.67-上首轩宋体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.67-上首轩宋体.ttf" - }, - { - "id": "0291", - "name": "No.68-上首正雅体", - "filename": "No.68-上首正雅体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.68-上首正雅体.ttf" - }, - { - "id": "0292", - "name": "No.69-上首太空体", - "filename": "No.69-上首太空体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.69-上首太空体.ttf" - }, - { - "id": "0293", - "name": "No.7-上首文正体", - "filename": "No.7-上首文正体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.7-上首文正体.ttf" - }, - { - "id": "0294", - "name": "No.70-上首夏木体", - "filename": "No.70-上首夏木体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.70-上首夏木体.ttf" - }, - { - "id": "0295", - "name": "No.71-上首锐锋体", - "filename": "No.71-上首锐锋体.TTF", - "category": "上首造字", - "path": "/fonts/上首造字/No.71-上首锐锋体.TTF" - }, - { - "id": "0296", - "name": "No.72-上首喵尾体", - "filename": "No.72-上首喵尾体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.72-上首喵尾体.ttf" - }, - { - "id": "0297", - "name": "No.73-上首粉笔体", - "filename": "No.73-上首粉笔体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.73-上首粉笔体.ttf" - }, - { - "id": "0298", - "name": "No.74-上首战戟体", - "filename": "No.74-上首战戟体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.74-上首战戟体.ttf" - }, - { - "id": "0299", - "name": "No.75-上首玉立体", - "filename": "No.75-上首玉立体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.75-上首玉立体.ttf" - }, - { - "id": "0300", - "name": "No.76-上首战刃体", - "filename": "No.76-上首战刃体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.76-上首战刃体.ttf" - }, - { - "id": "0301", - "name": "No.77-上首苍穹书法体", - "filename": "No.77-上首苍穹书法体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.77-上首苍穹书法体.ttf" - }, - { - "id": "0302", - "name": "No.78-上首梦黑体", - "filename": "No.78-上首梦黑体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.78-上首梦黑体.ttf" - }, - { - "id": "0303", - "name": "No.79-上首博瀚体", - "filename": "No.79-上首博瀚体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.79-上首博瀚体.ttf" - }, - { - "id": "0304", - "name": "No.8-上首京东体", - "filename": "No.8-上首京东体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.8-上首京东体.ttf" - }, - { - "id": "0305", - "name": "No.80-上首乐高体", - "filename": "No.80-上首乐高体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.80-上首乐高体.ttf" - }, - { - "id": "0306", - "name": "No.81-上首胖墩体", - "filename": "No.81-上首胖墩体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.81-上首胖墩体.ttf" - }, - { - "id": "0307", - "name": "No.82-上首简黑粗体", - "filename": "No.82-上首简黑粗体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.82-上首简黑粗体.ttf" - }, - { - "id": "0308", - "name": "No.83-上首粗楷体", - "filename": "No.83-上首粗楷体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.83-上首粗楷体.ttf" - }, - { - "id": "0309", - "name": "No.84-上首状元体", - "filename": "No.84-上首状元体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.84-上首状元体.ttf" - }, - { - "id": "0310", - "name": "No.85-上首元气体", - "filename": "No.85-上首元气体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.85-上首元气体.ttf" - }, - { - "id": "0311", - "name": "No.86-上首圆盾体", - "filename": "No.86-上首圆盾体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.86-上首圆盾体.ttf" - }, - { - "id": "0312", - "name": "No.87-上首乾坤体", - "filename": "No.87-上首乾坤体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.87-上首乾坤体.ttf" - }, - { - "id": "0313", - "name": "No.88-上首典宋体", - "filename": "No.88-上首典宋体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.88-上首典宋体.ttf" - }, - { - "id": "0314", - "name": "No.89-上首金刚体", - "filename": "No.89-上首金刚体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.89-上首金刚体.ttf" - }, - { - "id": "0315", - "name": "No.9-上首宽云体", - "filename": "No.9-上首宽云体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.9-上首宽云体.ttf" - }, - { - "id": "0316", - "name": "No.90-上首嘻哈体", - "filename": "No.90-上首嘻哈体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.90-上首嘻哈体.ttf" - }, - { - "id": "0317", - "name": "No.91-上首婷雅体", - "filename": "No.91-上首婷雅体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.91-上首婷雅体.ttf" - }, - { - "id": "0318", - "name": "No.92-上首虎啸体", - "filename": "No.92-上首虎啸体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.92-上首虎啸体.ttf" - }, - { - "id": "0319", - "name": "No.93-上首萌动体", - "filename": "No.93-上首萌动体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.93-上首萌动体.ttf" - }, - { - "id": "0320", - "name": "No.94-上首奥丁体", - "filename": "No.94-上首奥丁体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.94-上首奥丁体.ttf" - }, - { - "id": "0321", - "name": "No.95-上首昆仑体", - "filename": "No.95-上首昆仑体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.95-上首昆仑体.ttf" - }, - { - "id": "0322", - "name": "No.96-上首锦宋体", - "filename": "No.96-上首锦宋体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.96-上首锦宋体.ttf" - }, - { - "id": "0323", - "name": "No.97-上首国宋体", - "filename": "No.97-上首国宋体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.97-上首国宋体.ttf" - }, - { - "id": "0324", - "name": "No.98-上首趣泡手写体", - "filename": "No.98-上首趣泡手写体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.98-上首趣泡手写体.ttf" - }, - { - "id": "0325", - "name": "No.99-上首元正体", - "filename": "No.99-上首元正体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/No.99-上首元正体.ttf" - }, - { - "id": "0326", - "name": "Sounso Art", - "filename": "Sounso Art.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/Sounso Art.ttf" - }, - { - "id": "0327", - "name": "Sounso Beauty", - "filename": "Sounso Beauty.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/Sounso Beauty.ttf" - }, - { - "id": "0328", - "name": "Sounso Cecily", - "filename": "Sounso Cecily.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/Sounso Cecily.ttf" - }, - { - "id": "0329", - "name": "Sounso Diamond", - "filename": "Sounso Diamond.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/Sounso Diamond.ttf" - }, - { - "id": "0330", - "name": "Sounso Earnestly", - "filename": "Sounso Earnestly.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/Sounso Earnestly.ttf" - }, - { - "id": "0331", - "name": "上首兰亭体", - "filename": "上首兰亭体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/上首兰亭体.ttf" - }, - { - "id": "0332", - "name": "上首凤凰体", - "filename": "上首凤凰体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/上首凤凰体.ttf" - }, - { - "id": "0333", - "name": "上首刀锋体", - "filename": "上首刀锋体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/上首刀锋体.ttf" - }, - { - "id": "0334", - "name": "上首华光体", - "filename": "上首华光体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/上首华光体.ttf" - }, - { - "id": "0335", - "name": "上首华木体", - "filename": "上首华木体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/上首华木体.ttf" - }, - { - "id": "0336", - "name": "上首南城体", - "filename": "上首南城体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/上首南城体.ttf" - }, - { - "id": "0337", - "name": "上首品尚体", - "filename": "上首品尚体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/上首品尚体.ttf" - }, - { - "id": "0338", - "name": "上首战马体", - "filename": "上首战马体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/上首战马体.ttf" - }, - { - "id": "0339", - "name": "上首星语体", - "filename": "上首星语体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/上首星语体.ttf" - }, - { - "id": "0340", - "name": "上首熔岩体", - "filename": "上首熔岩体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/上首熔岩体.ttf" - }, - { - "id": "0341", - "name": "上首纤云体", - "filename": "上首纤云体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/上首纤云体.ttf" - }, - { - "id": "0342", - "name": "上首纯元体", - "filename": "上首纯元体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/上首纯元体.ttf" - }, - { - "id": "0343", - "name": "上首苍兰体", - "filename": "上首苍兰体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/上首苍兰体.ttf" - }, - { - "id": "0344", - "name": "上首轩辕体", - "filename": "上首轩辕体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/上首轩辕体.ttf" - }, - { - "id": "0345", - "name": "上首锦云体", - "filename": "上首锦云体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/上首锦云体.ttf" - }, - { - "id": "0346", - "name": "上首雅居体", - "filename": "上首雅居体.ttf", - "category": "上首造字", - "path": "/fonts/上首造字/上首雅居体.ttf" - }, - { - "id": "0347", - "name": "AlimamaDaoLiTi", - "filename": "AlimamaDaoLiTi.ttf", - "category": "其他字体", - "path": "/fonts/其他字体/AlimamaDaoLiTi.ttf" - }, - { - "id": "0348", - "name": "Hangeuljaemin4-Regular", - "filename": "Hangeuljaemin4-Regular.ttf", - "category": "其他字体", - "path": "/fonts/其他字体/Hangeuljaemin4-Regular.ttf" - }, - { - "id": "0349", - "name": "I.顏體", - "filename": "I.顏體.ttf", - "category": "其他字体", - "path": "/fonts/其他字体/I.顏體.ttf" - }, - { - "id": "0350", - "name": "XCDUANZHUANGSONGTI", - "filename": "XCDUANZHUANGSONGTI.ttf", - "category": "其他字体", - "path": "/fonts/其他字体/XCDUANZHUANGSONGTI.ttf" - }, - { - "id": "0351", - "name": "qiji-combo", - "filename": "qiji-combo.ttf", - "category": "其他字体", - "path": "/fonts/其他字体/qiji-combo.ttf" - }, - { - "id": "0352", - "name": "临海隶书", - "filename": "临海隶书.ttf", - "category": "其他字体", - "path": "/fonts/其他字体/临海隶书.ttf" - }, - { - "id": "0353", - "name": "京華老宋体_KingHwa_OldSong", - "filename": "京華老宋体_KingHwa_OldSong.ttf", - "category": "其他字体", - "path": "/fonts/其他字体/京華老宋体_KingHwa_OldSong.ttf" - }, - { - "id": "0354", - "name": "优设标题黑", - "filename": "优设标题黑.ttf", - "category": "其他字体", - "path": "/fonts/其他字体/优设标题黑.ttf" - }, - { - "id": "0355", - "name": "包图小白体", - "filename": "包图小白体.ttf", - "category": "其他字体", - "path": "/fonts/其他字体/包图小白体.ttf" - }, - { - "id": "0356", - "name": "源界明朝", - "filename": "源界明朝.ttf", - "category": "其他字体", - "path": "/fonts/其他字体/源界明朝.ttf" - }, - { - "id": "0357", - "name": "演示佛系体", - "filename": "演示佛系体.ttf", - "category": "其他字体", - "path": "/fonts/其他字体/演示佛系体.ttf" - }, - { - "id": "0358", - "name": "站酷快乐体", - "filename": "站酷快乐体.ttf", - "category": "其他字体", - "path": "/fonts/其他字体/站酷快乐体.ttf" - }, - { - "id": "0359", - "name": "问藏书房", - "filename": "问藏书房.ttf", - "category": "其他字体", - "path": "/fonts/其他字体/问藏书房.ttf" - }, - { - "id": "0360", - "name": "霞鹜臻楷", - "filename": "霞鹜臻楷.ttf", - "category": "其他字体", - "path": "/fonts/其他字体/霞鹜臻楷.ttf" - }, - { - "id": "0361", - "name": "庞门正道标题体", - "filename": "庞门正道标题体.ttf", - "category": "庞门正道", - "path": "/fonts/庞门正道/庞门正道标题体.ttf" - }, - { - "id": "0362", - "name": "王漢宗勘亭流繁", - "filename": "王漢宗勘亭流繁.ttf", - "category": "王漢宗", - "path": "/fonts/王漢宗/王漢宗勘亭流繁.ttf" - }, - { - "id": "0363", - "name": "王漢宗新潮體", - "filename": "王漢宗新潮體.ttf", - "category": "王漢宗", - "path": "/fonts/王漢宗/王漢宗新潮體.ttf" - }, - { - "id": "0364", - "name": "王漢宗波卡體空陰", - "filename": "王漢宗波卡體空陰.ttf", - "category": "王漢宗", - "path": "/fonts/王漢宗/王漢宗波卡體空陰.ttf" - }, - { - "id": "0365", - "name": "王漢宗細黑體繁", - "filename": "王漢宗細黑體繁.ttf", - "category": "王漢宗", - "path": "/fonts/王漢宗/王漢宗細黑體繁.ttf" - }, - { - "id": "0366", - "name": "王漢宗綜藝體雙空陰", - "filename": "王漢宗綜藝體雙空陰.ttf", - "category": "王漢宗", - "path": "/fonts/王漢宗/王漢宗綜藝體雙空陰.ttf" - }, - { - "id": "0367", - "name": "王漢宗超明體繁", - "filename": "王漢宗超明體繁.ttf", - "category": "王漢宗", - "path": "/fonts/王漢宗/王漢宗超明體繁.ttf" - }, - { - "id": "0368", - "name": "王漢宗酷儷海報", - "filename": "王漢宗酷儷海報.ttf", - "category": "王漢宗", - "path": "/fonts/王漢宗/王漢宗酷儷海報.ttf" - }, - { - "id": "0369", - "name": "王漢宗顏楷體繁", - "filename": "王漢宗顏楷體繁.ttf", - "category": "王漢宗", - "path": "/fonts/王漢宗/王漢宗顏楷體繁.ttf" - } -] \ No newline at end of file diff --git a/scripts/font-id-state.json b/scripts/font-id-state.json new file mode 100644 index 0000000..b72a1ce --- /dev/null +++ b/scripts/font-id-state.json @@ -0,0 +1,376 @@ +{ + "version": 1, + "nextId": 370, + "pathToId": { + "上首造字/No.1-上首锐博体.ttf": "0001", + "上首造字/No.10-上首叮当体.ttf": "0002", + "上首造字/No.100-上首纤宋体.ttf": "0003", + "上首造字/No.101-上首武士黑体.ttf": "0004", + "上首造字/No.102-上首玄藏体.ttf": "0005", + "上首造字/No.103-上首星际体.ttf": "0006", + "上首造字/No.104-上首鸿志手写体.ttf": "0007", + "上首造字/No.105-上首逍遥体.ttf": "0008", + "上首造字/No.106-上首简墨体.ttf": "0009", + "上首造字/No.107-上首松羽体.ttf": "0010", + "上首造字/No.108-上首燕尾体.ttf": "0011", + "上首造字/No.109-上首韶华体.ttf": "0012", + "上首造字/No.11-上首车车体.ttf": "0013", + "上首造字/No.110-上首烈宋体.ttf": "0014", + "上首造字/No.111-上首方舟体.ttf": "0015", + "上首造字/No.112-上首壹方体.ttf": "0016", + "上首造字/No.113-上首轩正体.ttf": "0017", + "上首造字/No.114-上首长城体.ttf": "0018", + "上首造字/No.115-上首音符体.ttf": "0019", + "上首造字/No.116-上首如意体.ttf": "0020", + "上首造字/No.117-上首酷峰体.ttf": "0021", + "上首造字/No.118-上首星耀体.ttf": "0022", + "上首造字/No.119-上首罗马体.ttf": "0023", + "上首造字/No.12-上首秀圆体.ttf": "0024", + "上首造字/No.120-上首宽言体.ttf": "0025", + "上首造字/No.121-上首刻宋体.ttf": "0026", + "上首造字/No.122-上首云润体.ttf": "0027", + "上首造字/No.123-上首方义手刷体.ttf": "0028", + "上首造字/No.124-上首艺圆体.ttf": "0029", + "上首造字/No.125-上首方尊体.ttf": "0030", + "上首造字/No.126-上首吉言体.ttf": "0031", + "上首造字/No.127-上首简一体.ttf": "0032", + "上首造字/No.128-上首玄黑体.ttf": "0033", + "上首造字/No.129-上首墨遥体.ttf": "0034", + "上首造字/No.13-上首华凤书法体.ttf": "0035", + "上首造字/No.130-上首追光手写体.ttf": "0036", + "上首造字/No.131-上首斗金体.ttf": "0037", + "上首造字/No.132-上首豆干体.ttf": "0038", + "上首造字/No.133-上首魔法体.ttf": "0039", + "上首造字/No.134-上首文化体.ttf": "0040", + "上首造字/No.135-上首龙吟体.ttf": "0041", + "上首造字/No.136-上首悠然体.ttf": "0042", + "上首造字/No.137-上首本草纲目体.ttf": "0043", + "上首造字/No.138-上首星斗体.ttf": "0044", + "上首造字/No.139-上首鼎宋体.ttf": "0045", + "上首造字/No.14-上首水滴体.ttf": "0046", + "上首造字/No.140-上首妖刀体.ttf": "0047", + "上首造字/No.141-上首高达体.ttf": "0048", + "上首造字/No.142-上首综艺体.ttf": "0049", + "上首造字/No.143-上首圆木体.ttf": "0050", + "上首造字/No.144-上首逍遥书法体.ttf": "0051", + "上首造字/No.145-上首高光体.ttf": "0052", + "上首造字/No.146-上首清雅宋体.ttf": "0053", + "上首造字/No.147-上首云隶体.ttf": "0054", + "上首造字/No.148-上首标榜体.ttf": "0055", + "上首造字/No.149-上首奶酪体.ttf": "0056", + "上首造字/No.15-上首润黑体.ttf": "0057", + "上首造字/No.150-上首秋刀体.ttf": "0058", + "上首造字/No.151-上首凤鸣体.ttf": "0059", + "上首造字/No.152-上首南枝体.ttf": "0060", + "上首造字/No.152上首南枝体.ttf": "0061", + "上首造字/No.153-上首可乐体.ttf": "0062", + "上首造字/No.154-上首长青体.ttf": "0063", + "上首造字/No.155-上首中正宋体.ttf": "0064", + "上首造字/No.156-上首曲奇体.ttf": "0065", + "上首造字/No.157-上首萌萌手写体.ttf": "0066", + "上首造字/No.158-上首朗润体.ttf": "0067", + "上首造字/No.159-上首财神体.ttf": "0068", + "上首造字/No.16-上首锐圆体.ttf": "0069", + "上首造字/No.160-上首混沌体.ttf": "0070", + "上首造字/No.161-上首刺云体.ttf": "0071", + "上首造字/No.162-上首幻视体.ttf": "0072", + "上首造字/No.163-上首万象体.ttf": "0073", + "上首造字/No.164-上首简正体.ttf": "0074", + "上首造字/No.165-上首刺秦体.ttf": "0075", + "上首造字/No.166-上首暗黑体.ttf": "0076", + "上首造字/No.167-上首萌虎体.ttf": "0077", + "上首造字/No.168-上首雪糕体.ttf": "0078", + "上首造字/No.169-上首逐浪书法体.ttf": "0079", + "上首造字/No.17-上首钝黑体.ttf": "0080", + "上首造字/No.170-上首方玉体.ttf": "0081", + "上首造字/No.171-上首龙猫体.ttf": "0082", + "上首造字/No.172-上首木兰体.ttf": "0083", + "上首造字/No.173-上首山水宋体.ttf": "0084", + "上首造字/No.174-上首扑克体.ttf": "0085", + "上首造字/No.175-上首潮玩体.ttf": "0086", + "上首造字/No.176-上首鲁班宋体.ttf": "0087", + "上首造字/No.177-上首奶糖体.ttf": "0088", + "上首造字/No.178-上首浓墨体.ttf": "0089", + "上首造字/No.179-上首朋克体.ttf": "0090", + "上首造字/No.18-上首疾风书法体.ttf": "0091", + "上首造字/No.180-上首风云书法体.ttf": "0092", + "上首造字/No.181-上首未来体.ttf": "0093", + "上首造字/No.182-上首象牙体.ttf": "0094", + "上首造字/No.183-上首悦圆体.ttf": "0095", + "上首造字/No.184-上首月牙体.ttf": "0096", + "上首造字/No.185-上首矩正体.ttf": "0097", + "上首造字/No.186-上首鸿运体.ttf": "0098", + "上首造字/No.187-上首童年体.ttf": "0099", + "上首造字/No.188-上首凌宋体.ttf": "0100", + "上首造字/No.189-上首品黑体.ttf": "0101", + "上首造字/No.19-上首简黑极细体.ttf": "0102", + "上首造字/No.190-上首波波手写体.ttf": "0103", + "上首造字/No.191-上首祥瑞体.ttf": "0104", + "上首造字/No.192-上首傲骨体.ttf": "0105", + "上首造字/No.193-上首轩隶体.ttf": "0106", + "上首造字/No.194-上首品宋体.ttf": "0107", + "上首造字/No.195-上首金枝体.ttf": "0108", + "上首造字/No.196-上首游龙体.ttf": "0109", + "上首造字/No.197-上首魔方体.ttf": "0110", + "上首造字/No.198-上首呆呆体.ttf": "0111", + "上首造字/No.199-上首新潮体.ttf": "0112", + "上首造字/No.2-上首维黑体.ttf": "0113", + "上首造字/No.20-上首简宋纤细体.ttf": "0114", + "上首造字/No.200-上首博雅体.ttf": "0115", + "上首造字/No.201-上首鹊桥体.ttf": "0116", + "上首造字/No.202-上首雅倩体.ttf": "0117", + "上首造字/No.203-上首祥瑞手写体.ttf": "0118", + "上首造字/No.204-上首茶颜体.ttf": "0119", + "上首造字/No.205-上首羽刃体.ttf": "0120", + "上首造字/No.206-上首幻灵体.ttf": "0121", + "上首造字/No.207-上首西游体.ttf": "0122", + "上首造字/No.208-上首古居体.ttf": "0123", + "上首造字/No.209-上首润泽体.ttf": "0124", + "上首造字/No.21-上首传奇书法体.ttf": "0125", + "上首造字/No.210-上首醒狮体.ttf": "0126", + "上首造字/No.211-上首冰刃体.ttf": "0127", + "上首造字/No.212-上首玄武体.ttf": "0128", + "上首造字/No.213-上首雪兔体.ttf": "0129", + "上首造字/No.214-上首朱雀体.ttf": "0130", + "上首造字/No.215-上首朗月体.ttf": "0131", + "上首造字/No.216-上首招财猫体.ttf": "0132", + "上首造字/No.217-上首星舰体.ttf": "0133", + "上首造字/No.218-上首正舟体.ttf": "0134", + "上首造字/No.219-上首白虎书法体.ttf": "0135", + "上首造字/No.22-上首简圆体.ttf": "0136", + "上首造字/No.220-上首梧桐体.ttf": "0137", + "上首造字/No.221-上首标题体.ttf": "0138", + "上首造字/No.222-上首阿呆体.ttf": "0139", + "上首造字/No.223-上首月兔体.ttf": "0140", + "上首造字/No.224-上首绫黑体.ttf": "0141", + "上首造字/No.225-上首福禄体.ttf": "0142", + "上首造字/No.226-上首机甲体.ttf": "0143", + "上首造字/No.227-上首晴竹体.ttf": "0144", + "上首造字/No.228-上首光折体.ttf": "0145", + "上首造字/No.229-上首时光体.ttf": "0146", + "上首造字/No.23-上首布丁体.ttf": "0147", + "上首造字/No.230-上首胖虎体.ttf": "0148", + "上首造字/No.231-上首奇妙体.ttf": "0149", + "上首造字/No.232-上首龙腾体.ttf": "0150", + "上首造字/No.233-上首怪兽体.ttf": "0151", + "上首造字/No.234-上首极限体.ttf": "0152", + "上首造字/No.235-上首御风书法体.ttf": "0153", + "上首造字/No.236-上首东坡体.ttf": "0154", + "上首造字/No.237-上首木鱼体.ttf": "0155", + "上首造字/No.238-上首妙趣体.ttf": "0156", + "上首造字/No.239-上首青云体.ttf": "0157", + "上首造字/No.24-上首软糖体.ttf": "0158", + "上首造字/No.240-上首雅隶体.ttf": "0159", + "上首造字/No.241-上首蔷薇体.ttf": "0160", + "上首造字/No.242-上首海浪体.ttf": "0161", + "上首造字/No.243-上首青柏体.ttf": "0162", + "上首造字/No.244-上首墩墩体.ttf": "0163", + "上首造字/No.245-上首无限体.ttf": "0164", + "上首造字/No.246-上首本墨体.ttf": "0165", + "上首造字/No.247-上首祥云体.ttf": "0166", + "上首造字/No.248-上首非凡体.ttf": "0167", + "上首造字/No.249-上首市井体.ttf": "0168", + "上首造字/No.25-上首锐圆极细体.ttf": "0169", + "上首造字/No.250-上首松柏体.ttf": "0170", + "上首造字/No.251-上首水波体.ttf": "0171", + "上首造字/No.252-上首大头手写体.ttf": "0172", + "上首造字/No.253-上首银蛇体.ttf": "0173", + "上首造字/No.254-上首琥珀体.ttf": "0174", + "上首造字/No.255-上首敦煌隶书体.ttf": "0175", + "上首造字/No.256-上首楼兰体.ttf": "0176", + "上首造字/No.257-上首福袋体.ttf": "0177", + "上首造字/No.258-上首惊鸿体.ttf": "0178", + "上首造字/No.259-上首果冻体.ttf": "0179", + "上首造字/No.26-上首悦风体.ttf": "0180", + "上首造字/No.260-上首山岳体.ttf": "0181", + "上首造字/No.261-上首惊云体.ttf": "0182", + "上首造字/No.262-上首江南宋体.ttf": "0183", + "上首造字/No.263-上首蜡笔体.ttf": "0184", + "上首造字/No.264-上首赛博体.ttf": "0185", + "上首造字/No.265-上首心动体.ttf": "0186", + "上首造字/No.266-上首千禧体.ttf": "0187", + "上首造字/No.267-上首柔黑体.ttf": "0188", + "上首造字/No.268-上首黑仪体.ttf": "0189", + "上首造字/No.269-上首涂鸦体.ttf": "0190", + "上首造字/No.27-上首锐棱体.ttf": "0191", + "上首造字/No.270-上首天坛体.ttf": "0192", + "上首造字/No.271-上首麒麟体.ttf": "0193", + "上首造字/No.272-上首青瓦体.ttf": "0194", + "上首造字/No.273-上首风云体.ttf": "0195", + "上首造字/No.274-上首战魂体.ttf": "0196", + "上首造字/No.275-上首招福体.ttf": "0197", + "上首造字/No.276-上首佛陀体.ttf": "0198", + "上首造字/No.277-上首大漠体.ttf": "0199", + "上首造字/No.278-上首绘梦体.ttf": "0200", + "上首造字/No.279-上首东方体.ttf": "0201", + "上首造字/No.28-上首星岩体.ttf": "0202", + "上首造字/No.280-上首英雄体.ttf": "0203", + "上首造字/No.281-上首破冰体.ttf": "0204", + "上首造字/No.282-上首玄机体.ttf": "0205", + "上首造字/No.283-上首舞狮体.ttf": "0206", + "上首造字/No.284-上首北斗体.ttf": "0207", + "上首造字/No.285-上首万福体.ttf": "0208", + "上首造字/No.286-上首云木体.ttf": "0209", + "上首造字/No.287-上首方印体.ttf": "0210", + "上首造字/No.288-上首几何体.ttf": "0211", + "上首造字/No.289-上首江湖书法体.ttf": "0212", + "上首造字/No.29-上首先锋体.ttf": "0213", + "上首造字/No.290-上首书印体.ttf": "0214", + "上首造字/No.291-上首淘气体.ttf": "0215", + "上首造字/No.292-上首暗格体.ttf": "0216", + "上首造字/No.293-上首逸尘体.ttf": "0217", + "上首造字/No.294-上首小新体.ttf": "0218", + "上首造字/No.295-上首荒原体.ttf": "0219", + "上首造字/No.296-上首松针体.ttf": "0220", + "上首造字/No.297-上首墨玄体.ttf": "0221", + "上首造字/No.298-上首沧海书法体.ttf": "0222", + "上首造字/No.299-上首王朝体.ttf": "0223", + "上首造字/No.3-上首方圆体.ttf": "0224", + "上首造字/No.30-上首倾城体.ttf": "0225", + "上首造字/No.300-上首古皇体.ttf": "0226", + "上首造字/No.301-上首言亭体.ttf": "0227", + "上首造字/No.302-上首流金体.ttf": "0228", + "上首造字/No.303-上首墨宋体.ttf": "0229", + "上首造字/No.304-上首龙虎体.ttf": "0230", + "上首造字/No.305-上首点墨体.ttf": "0231", + "上首造字/No.306-上首万圣体.ttf": "0232", + "上首造字/No.307-上首润元体.ttf": "0233", + "上首造字/No.308-上首极速体.ttf": "0234", + "上首造字/No.309-上首栏栅体.ttf": "0235", + "上首造字/No.31-上首简黑纤细体.ttf": "0236", + "上首造字/No.310-上首浮华体.ttf": "0237", + "上首造字/No.311-上首梦想体.ttf": "0238", + "上首造字/No.312-上首诗宋体.ttf": "0239", + "上首造字/No.313-上首亦方体.ttf": "0240", + "上首造字/No.314-上首心愿体.ttf": "0241", + "上首造字/No.315-上首西施体.ttf": "0242", + "上首造字/No.316-上首国美体.ttf": "0243", + "上首造字/No.317-上首润玉体.ttf": "0244", + "上首造字/No.318-上首炫酷体.ttf": "0245", + "上首造字/No.319-上首云烟体.ttf": "0246", + "上首造字/No.32-上首芊芊体.ttf": "0247", + "上首造字/No.320-上首蜀汉体.ttf": "0248", + "上首造字/No.321-上首盛唐体.ttf": "0249", + "上首造字/No.322-上首折扇体.ttf": "0250", + "上首造字/No.323-上首青竹体.ttf": "0251", + "上首造字/No.324-上首胭脂体.ttf": "0252", + "上首造字/No.33-上首方糖体.ttf": "0253", + "上首造字/No.34-上首简黑中细体.ttf": "0254", + "上首造字/No.35-上首积木体.ttf": "0255", + "上首造字/No.36-上首金牛体.ttf": "0256", + "上首造字/No.37-上首朗倩体.ttf": "0257", + "上首造字/No.38-上首漠云体.ttf": "0258", + "上首造字/No.39-上首至尊书法体.ttf": "0259", + "上首造字/No.4-上首秀黑体.ttf": "0260", + "上首造字/No.40-上首星芒体.ttf": "0261", + "上首造字/No.41-上首山川体.ttf": "0262", + "上首造字/No.42-上首芋圆体.ttf": "0263", + "上首造字/No.43-上首星辰体.ttf": "0264", + "上首造字/No.44-上首哥特体.ttf": "0265", + "上首造字/No.45-上首黑岩体 .ttf": "0266", + "上首造字/No.46-上首言黑体.ttf": "0267", + "上首造字/No.47-上首御宋体.ttf": "0268", + "上首造字/No.48-上首三国体.ttf": "0269", + "上首造字/No.49-上首熊猫体.ttf": "0270", + "上首造字/No.5-上首时尚体.ttf": "0271", + "上首造字/No.50-上首国潮体.ttf": "0272", + "上首造字/No.51-上首酷方体.ttf": "0273", + "上首造字/No.52-上首碑楷体.ttf": "0274", + "上首造字/No.53-上首逸飞体.ttf": "0275", + "上首造字/No.54-上首少年体.ttf": "0276", + "上首造字/No.55-上首锋芒体.ttf": "0277", + "上首造字/No.56-上首新艺体.ttf": "0278", + "上首造字/No.57-上首嘉木体.ttf": "0279", + "上首造字/No.58-上首力方体.ttf": "0280", + "上首造字/No.59-上首折言体.ttf": "0281", + "上首造字/No.6-上首宽窄体.ttf": "0282", + "上首造字/No.60-上首本刻体.ttf": "0283", + "上首造字/No.61-上首古宋体.ttf": "0284", + "上首造字/No.62-上首黑风体.ttf": "0285", + "上首造字/No.63-上首迎风手写体.ttf": "0286", + "上首造字/No.64-上首奕星体.ttf": "0287", + "上首造字/No.65-上首山河体.ttf": "0288", + "上首造字/No.66-上首和风体.ttf": "0289", + "上首造字/No.67-上首轩宋体.ttf": "0290", + "上首造字/No.68-上首正雅体.ttf": "0291", + "上首造字/No.69-上首太空体.ttf": "0292", + "上首造字/No.7-上首文正体.ttf": "0293", + "上首造字/No.70-上首夏木体.ttf": "0294", + "上首造字/No.71-上首锐锋体.TTF": "0295", + "上首造字/No.72-上首喵尾体.ttf": "0296", + "上首造字/No.73-上首粉笔体.ttf": "0297", + "上首造字/No.74-上首战戟体.ttf": "0298", + "上首造字/No.75-上首玉立体.ttf": "0299", + "上首造字/No.76-上首战刃体.ttf": "0300", + "上首造字/No.77-上首苍穹书法体.ttf": "0301", + "上首造字/No.78-上首梦黑体.ttf": "0302", + "上首造字/No.79-上首博瀚体.ttf": "0303", + "上首造字/No.8-上首京东体.ttf": "0304", + "上首造字/No.80-上首乐高体.ttf": "0305", + "上首造字/No.81-上首胖墩体.ttf": "0306", + "上首造字/No.82-上首简黑粗体.ttf": "0307", + "上首造字/No.83-上首粗楷体.ttf": "0308", + "上首造字/No.84-上首状元体.ttf": "0309", + "上首造字/No.85-上首元气体.ttf": "0310", + "上首造字/No.86-上首圆盾体.ttf": "0311", + "上首造字/No.87-上首乾坤体.ttf": "0312", + "上首造字/No.88-上首典宋体.ttf": "0313", + "上首造字/No.89-上首金刚体.ttf": "0314", + "上首造字/No.9-上首宽云体.ttf": "0315", + "上首造字/No.90-上首嘻哈体.ttf": "0316", + "上首造字/No.91-上首婷雅体.ttf": "0317", + "上首造字/No.92-上首虎啸体.ttf": "0318", + "上首造字/No.93-上首萌动体.ttf": "0319", + "上首造字/No.94-上首奥丁体.ttf": "0320", + "上首造字/No.95-上首昆仑体.ttf": "0321", + "上首造字/No.96-上首锦宋体.ttf": "0322", + "上首造字/No.97-上首国宋体.ttf": "0323", + "上首造字/No.98-上首趣泡手写体.ttf": "0324", + "上首造字/No.99-上首元正体.ttf": "0325", + "上首造字/Sounso Art.ttf": "0326", + "上首造字/Sounso Beauty.ttf": "0327", + "上首造字/Sounso Cecily.ttf": "0328", + "上首造字/Sounso Diamond.ttf": "0329", + "上首造字/Sounso Earnestly.ttf": "0330", + "上首造字/上首兰亭体.ttf": "0331", + "上首造字/上首凤凰体.ttf": "0332", + "上首造字/上首刀锋体.ttf": "0333", + "上首造字/上首华光体.ttf": "0334", + "上首造字/上首华木体.ttf": "0335", + "上首造字/上首南城体.ttf": "0336", + "上首造字/上首品尚体.ttf": "0337", + "上首造字/上首战马体.ttf": "0338", + "上首造字/上首星语体.ttf": "0339", + "上首造字/上首熔岩体.ttf": "0340", + "上首造字/上首纤云体.ttf": "0341", + "上首造字/上首纯元体.ttf": "0342", + "上首造字/上首苍兰体.ttf": "0343", + "上首造字/上首轩辕体.ttf": "0344", + "上首造字/上首锦云体.ttf": "0345", + "上首造字/上首雅居体.ttf": "0346", + "其他字体/AlimamaDaoLiTi.ttf": "0347", + "其他字体/Hangeuljaemin4-Regular.ttf": "0348", + "其他字体/I.顏體.ttf": "0349", + "其他字体/XCDUANZHUANGSONGTI.ttf": "0350", + "其他字体/qiji-combo.ttf": "0351", + "其他字体/临海隶书.ttf": "0352", + "其他字体/京華老宋体_KingHwa_OldSong.ttf": "0353", + "其他字体/优设标题黑.ttf": "0354", + "其他字体/包图小白体.ttf": "0355", + "其他字体/源界明朝.ttf": "0356", + "其他字体/演示佛系体.ttf": "0357", + "其他字体/站酷快乐体.ttf": "0358", + "其他字体/问藏书房.ttf": "0359", + "其他字体/霞鹜臻楷.ttf": "0360", + "庞门正道-测试/庞门正道标题体.ttf": "0016", + "庞门正道/庞门正道标题体.ttf": "0361", + "王漢宗/王漢宗勘亭流繁.ttf": "0362", + "王漢宗/王漢宗新潮體.ttf": "0363", + "王漢宗/王漢宗波卡體空陰.ttf": "0364", + "王漢宗/王漢宗細黑體繁.ttf": "0365", + "王漢宗/王漢宗綜藝體雙空陰.ttf": "0366", + "王漢宗/王漢宗超明體繁.ttf": "0367", + "王漢宗/王漢宗酷儷海報.ttf": "0368", + "王漢宗/王漢宗顏楷體繁.ttf": "0369" + } +} diff --git a/scripts/generate-font-list.py b/scripts/generate-font-list.py index c0fcd8f..ceabff5 100644 --- a/scripts/generate-font-list.py +++ b/scripts/generate-font-list.py @@ -1,15 +1,176 @@ #!/usr/bin/env python3 """ -生成字体清单文件 +生成字体清单文件(稳定 ID 版本) 扫描 fonts/ 目录下的所有字体文件,同时生成: 1. frontend/public/fonts.json 2. miniprogram/assets/fonts.json 3. miniprogram/assets/fonts.js + +ID 分配规则: +1. 已存在字体(按 relativePath 识别)保持原 ID 不变。 +2. 新增字体按“上次游标”分配新 ID。 +3. ID 从 0001 递增到 10000,之后循环分配(跳过当前正在使用的 ID)。 """ import os import json from pathlib import Path +from urllib.parse import unquote, urlparse + +FONT_DIR = Path('fonts') +WEB_FONTS_JSON = Path('frontend/public/fonts.json') +MP_FONTS_JSON = Path('miniprogram/assets/fonts.json') +MP_FONTS_JS = Path('miniprogram/assets/fonts.js') +ID_STATE_FILE = Path('scripts/font-id-state.json') + +ID_MIN = 1 +ID_MAX = 10000 + + +def format_font_id(num): + return str(num).zfill(4) + + +def parse_font_id(raw): + try: + value = int(str(raw).strip()) + except (TypeError, ValueError): + return None + if ID_MIN <= value <= ID_MAX: + return value + return None + + +def increment_id(num): + return ID_MIN if num >= ID_MAX else num + 1 + + +def normalize_relative_path(raw_path): + if not raw_path: + return None + + text = str(raw_path).strip() + if not text: + return None + + parsed = urlparse(text) + if parsed.scheme and parsed.netloc: + text = parsed.path + + text = unquote(text) + text = text.split('?', 1)[0].split('#', 1)[0] + text = text.replace('\\', '/') + + if '/fonts/' in text: + text = text.split('/fonts/', 1)[1] + elif text.startswith('fonts/'): + text = text[len('fonts/'):] + elif text.startswith('/fonts'): + text = text[len('/fonts'):] + + text = text.lstrip('/') + return text or None + + +def load_manifest_id_map(manifest_file): + mapping = {} + if not manifest_file.exists(): + return mapping + + try: + with open(manifest_file, 'r', encoding='utf-8') as f: + data = json.load(f) + except (OSError, json.JSONDecodeError): + return mapping + + if not isinstance(data, list): + return mapping + + for item in data: + if not isinstance(item, dict): + continue + relative_path = normalize_relative_path( + item.get('path') or item.get('relativePath') + ) + id_num = parse_font_id(item.get('id')) + if relative_path and id_num: + mapping[relative_path] = format_font_id(id_num) + + return mapping + + +def load_id_state(state_file): + default_state = { + 'version': 1, + 'nextId': ID_MIN, + 'pathToId': {}, + } + + if not state_file.exists(): + return default_state + + try: + with open(state_file, 'r', encoding='utf-8') as f: + data = json.load(f) + except (OSError, json.JSONDecodeError): + return default_state + + if not isinstance(data, dict): + return default_state + + path_to_id = {} + raw_map = data.get('pathToId') + if isinstance(raw_map, dict): + for path_key, raw_id in raw_map.items(): + relative_path = normalize_relative_path(path_key) + id_num = parse_font_id(raw_id) + if relative_path and id_num: + path_to_id[relative_path] = format_font_id(id_num) + + next_id = parse_font_id(data.get('nextId')) or ID_MIN + + return { + 'version': 1, + 'nextId': next_id, + 'pathToId': path_to_id, + } + + +def save_id_state(state, state_file): + state_file.parent.mkdir(parents=True, exist_ok=True) + normalized_map = dict(sorted(state['pathToId'].items(), key=lambda x: x[0])) + data = { + 'version': 1, + 'nextId': state['nextId'], + 'pathToId': normalized_map, + } + with open(state_file, 'w', encoding='utf-8') as f: + json.dump(data, f, ensure_ascii=False, indent=2) + f.write('\n') + + +def bootstrap_state_mappings(state): + # 优先级:state 文件 > 小程序现有清单 > web 现有清单 + for manifest_path in (MP_FONTS_JSON, WEB_FONTS_JSON): + mapping = load_manifest_id_map(manifest_path) + for relative_path, font_id in mapping.items(): + state['pathToId'].setdefault(relative_path, font_id) + + if parse_font_id(state.get('nextId')) is None: + state['nextId'] = ID_MIN + + if state['nextId'] == ID_MIN and state['pathToId']: + max_id = max(parse_font_id(v) for v in state['pathToId'].values()) + state['nextId'] = increment_id(max_id) + + +def allocate_new_id(start_id, used_ids): + candidate = start_id + for _ in range(ID_MAX): + if candidate not in used_ids: + return candidate, increment_id(candidate) + candidate = increment_id(candidate) + raise RuntimeError('可用 ID 已耗尽(0001-10000 全部被当前字体占用)') def scan_fonts(font_dir='fonts'): """扫描字体目录,返回字体信息列表""" @@ -45,14 +206,48 @@ def scan_fonts(font_dir='fonts'): fonts.append(font_info) - # 统一排序后分配 4 位数字 id(0001、0002...) - fonts = sorted(fonts, key=lambda x: (x['category'], x['name'], x['filename'])) - for index, font in enumerate(fonts, start=1): - font['id'] = f"{index:04d}" - + # 固定顺序,保证分配冲突时结果稳定 + fonts = sorted(fonts, key=lambda x: (x['category'], x['name'], x['filename'], x['relativePath'])) return fonts +def assign_stable_ids(fonts): + state = load_id_state(ID_STATE_FILE) + bootstrap_state_mappings(state) + + cursor = parse_font_id(state.get('nextId')) or ID_MIN + used_ids = set() + new_count = 0 + + for font in fonts: + relative_path = font['relativePath'] + existing_id = state['pathToId'].get(relative_path) + existing_num = parse_font_id(existing_id) + + if existing_num and existing_num not in used_ids: + assigned_num = existing_num + else: + if existing_num and existing_num in used_ids: + print( + f"警告: 发现 ID 冲突,路径 {relative_path} 原 ID {existing_id} 将重新分配。" + ) + assigned_num, cursor = allocate_new_id(cursor, used_ids) + state['pathToId'][relative_path] = format_font_id(assigned_num) + new_count += 1 + + used_ids.add(assigned_num) + font['id'] = format_font_id(assigned_num) + + state['nextId'] = cursor + save_id_state(state, ID_STATE_FILE) + + return { + 'newCount': new_count, + 'nextId': format_font_id(cursor), + 'stateFile': str(ID_STATE_FILE), + } + + def build_manifest(fonts, path_prefix): """根据路径前缀构建对外清单""" prefix = f"/{str(path_prefix or '').strip('/')}" @@ -91,18 +286,25 @@ def write_fonts_js(fonts, output_file): def main(): """主函数""" # 扫描字体(唯一来源:仓库根目录 fonts/) - fonts = scan_fonts('fonts') + fonts = scan_fonts(str(FONT_DIR)) print(f"找到 {len(fonts)} 个字体文件") + + allocation_result = assign_stable_ids(fonts) + print( + f"ID 分配完成:新增 {allocation_result['newCount']} 个," + f"下次起始 ID {allocation_result['nextId']}," + f"状态文件 {allocation_result['stateFile']}" + ) # Web 清单:统一指向根目录 fonts web_fonts = build_manifest(fonts, '/fonts') - write_fonts_json(web_fonts, 'frontend/public/fonts.json') + write_fonts_json(web_fonts, str(WEB_FONTS_JSON)) # 小程序清单:同样指向根目录 fonts(与 web 共用一份字体目录) miniprogram_fonts = build_manifest(fonts, '/fonts') - write_fonts_json(miniprogram_fonts, 'miniprogram/assets/fonts.json') - write_fonts_js(miniprogram_fonts, 'miniprogram/assets/fonts.js') + write_fonts_json(miniprogram_fonts, str(MP_FONTS_JSON)) + write_fonts_js(miniprogram_fonts, str(MP_FONTS_JS)) # 统计信息 categories = {}