"use strict";var ke=Object.defineProperty;var Kt=Object.getOwnPropertyDescriptor;var It=Object.getOwnPropertyNames;var Gt=Object.prototype.hasOwnProperty;var Vt=(o,e)=>{for(var t in e)ke(o,t,{get:e[t],enumerable:!0})},Jt=(o,e,t,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of It(e))!Gt.call(o,n)&&n!==t&&ke(o,n,{get:()=>e[n],enumerable:!(r=Kt(e,n))||r.enumerable});return o};var Xt=o=>Jt(ke({},"__esModule",{value:!0}),o);var or={};Vt(or,{AddedToken:()=>N,BPE:()=>v,BPEDecoder:()=>le,BertNormalizer:()=>A,BertPreTokenizer:()=>J,BertProcessingPostProcessor:()=>oe,ByteFallbackDecoder:()=>ge,ByteLevelDecoder:()=>ae,ByteLevelPostProcessor:()=>re,ByteLevelPreTokenizer:()=>q,CTCDecoder:()=>de,Decoder:()=>d,DigitsPreTokenizer:()=>V,FixedLengthPreTokenizer:()=>Z,FuseDecoder:()=>me,LowercaseNormalizer:()=>j,MetaspaceDecoder:()=>pe,MetaspacePreTokenizer:()=>K,Model:()=>g,NFCNormalizer:()=>M,NFDNormalizer:()=>R,NFKCNormalizer:()=>B,NFKDNormalizer:()=>F,Normalizer:()=>u,PostProcessor:()=>m,PreTokenizer:()=>l,PrecompiledNormalizer:()=>E,PrependNormalizer:()=>U,PunctuationPreTokenizer:()=>G,ReplaceDecoder:()=>he,ReplaceNormalizer:()=>O,ReplacePreTokenizer:()=>X,RobertaProcessingPostProcessor:()=>ne,SequenceDecoder:()=>ue,SequenceNormalizer:()=>D,SequencePostProcessor:()=>se,SequencePreTokenizer:()=>Y,SplitPreTokenizer:()=>I,StripAccentsNormalizer:()=>$,StripDecoder:()=>_e,StripNormalizer:()=>L,TemplateProcessingPostProcessor:()=>te,Tokenizer:()=>Wt,Unigram:()=>C,WhitespacePreTokenizer:()=>W,WhitespaceSplitPreTokenizer:()=>Q,WordPiece:()=>P,WordPieceDecoder:()=>ce});module.exports=Xt(or);var ze=class{constructor(e){this.trie=this._build_trie(e)}_build_trie(e){let t=Object.create(null);for(let r of e){let n=t;for(let s=0;sn&&t.push(e.slice(n,s)),t.push(c),s+=c.length,n=s):++s}return n{let o=[...Array.from({length:94},(n,s)=>s+33),...Array.from({length:12},(n,s)=>s+161),...Array.from({length:82},(n,s)=>s+174)],e=o.slice(),t=0;for(let n=0;n<256;++n)o.includes(n)||(o.push(n),e.push(256+t),t+=1);let r=e.map(n=>String.fromCharCode(n));return Object.fromEntries(o.map((n,s)=>[n,r[s]]))})(),Yt=o=>Object.fromEntries(Object.entries(o).map(([e,t])=>[t,e])),vt=Yt(Te),Ct=".,!?\u2026\u3002\uFF0C\u3001\u0964\u06D4\u060C",Nt=new Map([["(?i:'s|'t|'re|'ve|'m|'ll|'d)","(?:'([sS]|[tT]|[rR][eE]|[vV][eE]|[mM]|[lL][lL]|[dD]))"],["(?i:[sdmt]|ll|ve|re)","(?:[sS]|[dD]|[mM]|[tT]|[lL][lL]|[vV][eE]|[rR][eE])"],["[^\\r\\n\\p{L}\\p{N}]?+","[^\\r\\n\\p{L}\\p{N}]?"],["[^\\s\\p{L}\\p{N}]++","[^\\s\\p{L}\\p{N}]+"],["(?>\\p{Nd}{510})","(?:\\p{Nd}{510})"],["\\p{Nd}{3}+","(?:\\p{Nd}{3})+"],["\\G",""],[` ?[^(\\s|[${Ct}])]+`,` ?[^\\s${Ct}]+`]]),x="\\p{P}\\u0021-\\u002F\\u003A-\\u0040\\u005B-\\u0060\\u007B-\\u007E";var T=o=>o.replace(/ \./g,".").replace(/ \?/g,"?").replace(/ \!/g,"!").replace(/ ,/g,",").replace(/ \' /g,"'").replace(/ n't/g,"n't").replace(/ 'm/g,"'m").replace(/ 's/g,"'s").replace(/ 've/g,"'ve").replace(/ 're/g,"'re"),z=(o,e=!0)=>{if(o.Regex!==void 0){let t=o.Regex.replace(/\\([#&~])/g,"$1");t=t.replace(/\\A/g,"^").replace(/\\z/g,"$").replace(/\\Z/g,"(?=\\r?\\n?$)");for(let[r,n]of Nt)t=t.replaceAll(r,n);try{return new RegExp(t,"gu")}catch(r){if(!(r instanceof SyntaxError)||!r.message.toLowerCase().includes("invalid property name"))throw r;let n=!1,s=t.replace(/(\\[pP])\{([^}=]+)\}/g,(i,c,a)=>{try{return new RegExp(`\\p{${a}}`,"u"),`${c}{${a}}`}catch{return n=!0,`${c}{Script=${a}}`}});if(!n)throw r;try{return new RegExp(s,"gu")}catch{throw r}}}else if(o.String!==void 0){let t=Ht(o.String);return new RegExp(e?t:`(${t})`,"gu")}else return console.warn("Unknown pattern type:",o),null},Ht=o=>o.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),At=(o,e,t)=>{let r=[],n=0;for(;no>=19968&&o<=40959||o>=13312&&o<=19903||o>=131072&&o<=173791||o>=173824&&o<=177983||o>=177984&&o<=178207||o>=178208&&o<=183983||o>=63744&&o<=64255||o>=194560&&o<=195103,Dt=o=>Number.isInteger(o)||typeof o=="bigint",St=o=>{let e=0;for(let t of o)++e;return e},Ot=o=>ye(o.toLowerCase()),h=(...o)=>Array.prototype.concat.apply([],o),y=o=>new Map(Object.entries(o)),Mt=(o,e)=>{let t=[],r=0;for(let n of o.matchAll(e)){let s=n[0];r0&&t.push(s),r=n.index+s.length}return ro.replace(/\p{M}/gu,""),Pe=(o,e,t=[])=>{if(!o||Array.isArray(o)||typeof o!="object")return`${e} must be a valid object`;for(let r of t)if(!(r in o))return`${e} must contain a "${r}" property`;return null},Rt=o=>o.match(/\S+/g)||[];var we=class{constructor(){let e=function(...t){return e._call(...t)};return Object.setPrototypeOf(e,new.target.prototype)}},_=we;var Ce=class extends _{constructor(e){super(),this.config=e}_call(e){return this.normalize(e)}},u=Ce;var ve=class extends u{tokenize_chinese_chars(e){let t=[];for(let r=0;rr.normalize("NFKC")).join("\uFF5E"):e=e.normalize("NFKC"),e}},E=Ne;var Ae=class extends u{constructor(e){super(e),this.normalizers=(e.normalizers??[]).map(t=>S(t))}normalize(e){return this.normalizers.reduce((t,r)=>r?r.normalize(t):t,e)}},D=Ae;var Ee=class extends u{normalize(e){let t=z(this.config.pattern??{});return t===null?e:e.replaceAll(t,this.config.content??"")}},O=Ee;var De=class extends u{constructor(){super(...arguments);this.form="NFC"}normalize(t){return t=t.normalize(this.form),t}},b=De;var Se=class extends b{constructor(){super(...arguments);this.form="NFC"}},M=Se;var Oe=class extends b{constructor(){super(...arguments);this.form="NFD"}},R=Oe;var Me=class extends b{constructor(){super(...arguments);this.form="NFKC"}},B=Me;var Re=class extends b{constructor(){super(...arguments);this.form="NFKD"}},F=Re;var Be=class extends u{normalize(e){return this.config.strip_left&&this.config.strip_right?e=e.trim():(this.config.strip_left&&(e=e.trimStart()),this.config.strip_right&&(e=e.trimEnd())),e}},L=Be;var Fe=class extends u{normalize(e){return ye(e)}},$=Fe;var Le=class extends u{normalize(e){return e.toLowerCase()}},j=Le;var $e=class extends u{normalize(e){return e=this.config.prepend+e,e}},U=$e;function Qt(o){if(o===null)return null;switch(o.type){case"BertNormalizer":return new A(o);case"Precompiled":return new E(o);case"Sequence":return new D(o);case"Replace":return new O(o);case"NFC":return new M(o);case"NFD":return new R(o);case"NFKC":return new B(o);case"NFKD":return new F(o);case"Strip":return new L(o);case"StripAccents":return new $(o);case"Lowercase":return new j(o);case"Prepend":return new U(o);default:throw new Error(`Unknown Normalizer type: ${o.type}`)}}var S=Qt;var je=class extends _{pre_tokenize(e,t){return(Array.isArray(e)?e.map(r=>this.pre_tokenize_text(r,t)):this.pre_tokenize_text(e,t)).flat()}_call(e,t){return this.pre_tokenize(e,t)}},l=je;var Ue=class extends l{constructor(e){super(),this.config=e,this.add_prefix_space=this.config.add_prefix_space??!1,this.trim_offsets=this.config.trim_offsets??!1,this.use_regex=this.config.use_regex??!0,this.pattern=/'s|'t|'re|'ve|'m|'ll|'d| ?\p{L}+| ?\p{N}+| ?[^\s\p{L}\p{N}]+|\s+(?!\S)|\s+/gu,this.byte_encoder=Te,this.text_encoder=new TextEncoder}pre_tokenize_text(e,t){return this.add_prefix_space&&!e.startsWith(" ")&&(e=" "+e),(this.use_regex?e.match(this.pattern)||[]:[e]).map(n=>Array.from(this.text_encoder.encode(n),s=>this.byte_encoder[s]).join(""))}},q=Ue;var qe=class extends l{pre_tokenize_text(e,t){return e.match(/\w+|[^\w\s]+/g)||[]}},W=qe;var We=class extends l{constructor(e){super(),this.replacement=e.replacement??"\u2581",this.str_rep=e.str_rep||this.replacement,this.prepend_scheme=e.prepend_scheme??"always"}pre_tokenize_text(e,t){let{section_index:r=void 0}=t??{},n=e.replaceAll(" ",this.str_rep);return!n.startsWith(this.replacement)&&(this.prepend_scheme==="always"||this.prepend_scheme==="first"&&r===0)&&(n=this.str_rep+n),[n]}},K=We;var Ke=class extends l{constructor(e){super(),this.config=e,this.pattern=z(this.config.pattern??{},this.config.invert??!0)}pre_tokenize_text(e){return this.pattern===null?[]:this.config.invert?e.match(this.pattern)||[]:this.config.behavior?.toLowerCase()==="removed"?e.split(this.pattern).filter(t=>t):Mt(e,this.pattern)}},I=Ke;var Ie=class extends l{constructor(e){super(),this.config=e,this.pattern=new RegExp(`[^${x}]+|[${x}]+`,"gu")}pre_tokenize_text(e){return e.match(this.pattern)||[]}},G=Ie;var Ge=class extends l{constructor(e){super(),this.config=e;let t=`[^\\d]+|\\d${this.config.individual_digits?"":"+"}`;this.pattern=new RegExp(t,"gu")}pre_tokenize_text(e){return e.match(this.pattern)||[]}},V=Ge;var Ve=class extends l{constructor(){super(),this.pattern=new RegExp(`[^\\s${x}]+|[${x}]`,"gu")}pre_tokenize_text(e,t){return e.trim().match(this.pattern)||[]}},J=Ve;var Je=class extends l{constructor(e){super(),this.config=e,this.pattern=z(this.config.pattern??{}),this.content=this.config.content??""}pre_tokenize_text(e){return this.pattern===null?[e]:[e.replaceAll(this.pattern,this.config.content??"")]}},X=Je;var Xe=class extends l{constructor(e){super(),this.tokenizers=(e.pretokenizers??[]).map(t=>H(t))}pre_tokenize_text(e,t){return this.tokenizers.reduce((r,n)=>n?n.pre_tokenize(r,t):r,[e])}},Y=Xe;var Ye=class extends l{pre_tokenize_text(e){return Rt(e)}},Q=Ye;var He=class extends l{constructor(e){super(),this.config=e,this._length=e.length}pre_tokenize_text(e){let t=[];for(let r=0;rthis.max_input_chars_per_word){r.push(this.unk_token);continue}let i=!1,c=0,a=[];for(;c0&&(k=this.config.continuing_subword_prefix+k),this.tokens_to_ids.has(k)){f=k;break}--p}if(f===null){i=!0;break}a.push(f),c=p}i?r.push(this.unk_token):r.push(...a)}return r}},P=Ze;var ee=class o{constructor(e,t){this.is_leaf=e,this.children=t}static default(){return new o(!1,new Map)}},et=class{constructor(){this.root=ee.default()}extend(e){for(let t of e)this.push(t)}push(e){let t=this.root;for(let r of e){let n=t.children.get(r);n===void 0&&(n=ee.default(),t.children.set(r,n)),t=n}t.is_leaf=!0}*common_prefix_search(e){let t=this.root;if(t===void 0)return;let r="";for(let n of e){if(r+=n,t=t.children.get(n),t===void 0)return;t.is_leaf&&(yield r)}}},Bt=et;var w=class o{constructor(e,t,r,n,s){this.token_id=e,this.node_id=t,this.pos=r,this.length=n,this.score=s,this.prev=null,this.backtrace_score=0}clone(){let e=new o(this.token_id,this.node_id,this.pos,this.length,this.score);return e.prev=this.prev,e.backtrace_score=this.backtrace_score,e}},tt=class{constructor(e,t,r){this.chars=Array.from(e),this.len=this.chars.length,this.bos_token_id=t,this.eos_token_id=r,this.nodes=[],this.begin_nodes=Array.from({length:this.len+1},()=>[]),this.end_nodes=Array.from({length:this.len+1},()=>[]);let n=new w(this.bos_token_id??0,0,0,0,0),s=new w(this.eos_token_id??0,1,this.len,0,0);this.nodes.push(n.clone()),this.nodes.push(s.clone()),this.begin_nodes[this.len].push(s),this.end_nodes[0].push(n)}insert(e,t,r,n){let s=this.nodes.length,i=new w(n,s,e,t,r);this.begin_nodes[e].push(i),this.end_nodes[e+t].push(i),this.nodes.push(i)}viterbi(){let e=this.len,t=0;for(;t<=e;){if(this.begin_nodes[t].length==0)return[];for(let c of this.begin_nodes[t]){c.prev=null;let a=0,p=null;for(let f of this.end_nodes[t]){let k=f.backtrace_score+c.score;(p===null||k>a)&&(p=f.clone(),a=k)}if(p!==null)c.prev=p,c.backtrace_score=a;else return[]}++t}let r=[],s=this.begin_nodes[e][0].prev;if(s===null)return[];let i=s.clone();for(;i.prev!==null;)r.push(i.clone()),i=i.clone().prev.clone();return r.reverse(),r}piece(e){return this.chars.slice(e.pos,e.pos+e.length).join("")}tokens(){return this.viterbi().map(t=>this.piece(t))}token_ids(){return this.viterbi().map(t=>t.token_id)}},Ft=tt;function Lt(o){if(o.length===0)throw new Error("Array must not be empty");let e=o[0],t=0;for(let r=1;r[n,s])),this.bos_token=" ",this.bos_token_id=this.tokens_to_ids.get(this.bos_token),this.eos_token=t,this.eos_token_id=this.tokens_to_ids.get(this.eos_token),this.unk_token=this.vocab[this.unk_token_id],this.min_score=Lt(this.scores)[0],this.unk_score=this.min_score-10,this.scores[this.unk_token_id]=this.unk_score,this.trie=new Bt,this.trie.extend(this.vocab),this.fuse_unk=!0}populate_nodes(e){let t=e.chars,r=1,n=0;for(;nr>n,t=1/0){this._heap=[],this._comparator=e,this._max_size=t}get size(){return this._heap.length}is_empty(){return this.size===0}peek(){return this._heap[0]}push(...e){return this.extend(e)}extend(e){for(let t of e)if(this.size0&&this._swap(0,t),this._heap.pop(),this._sift_down(),e}replace(e){let t=this.peek();return this._heap[0]=e,this._sift_down(),t}_parent(e){return(e+1>>>1)-1}_left(e){return(e<<1)+1}_right(e){return e+1<<1}_greater(e,t){return this._comparator(this._heap[e],this._heap[t])}_swap(e,t){let r=this._heap[e];this._heap[e]=this._heap[t],this._heap[t]=r}_sift_up(){this._sift_up_from(this.size-1)}_sift_up_from(e){for(;e>0&&this._greater(e,this._parent(e));)this._swap(e,this._parent(e)),e=this._parent(e)}_sift_down(){let e=0;for(;this._left(e)this.capacity&&this.cache.delete(this.cache.keys().next().value)}clear(){this.cache.clear()}},jt=nt;var st=class extends g{constructor(e){super(e),this.tokens_to_ids=y(e.vocab),this.unk_token_id=this.tokens_to_ids.get(e.unk_token),this.unk_token=e.unk_token,this.vocab=new Array(this.tokens_to_ids.size);for(let[r,n]of this.tokens_to_ids)this.vocab[n]=r;let t=Array.isArray(e.merges[0]);this.merges=t?e.merges:e.merges.map(r=>r.split(" ",2)),this.bpe_ranks=new Map(this.merges.map((r,n)=>[JSON.stringify(r),n])),this.end_of_word_suffix=e.end_of_word_suffix,this.continuing_subword_suffix=e.continuing_subword_suffix??null,this.byte_fallback=this.config.byte_fallback??!1,this.byte_fallback&&(this.text_encoder=new TextEncoder),this.ignore_merges=this.config.ignore_merges??!1,this.max_length_to_cache=256,this.cache_capacity=1e4,this.cache=new jt(this.cache_capacity)}clear_cache(){this.cache.clear()}bpe(e){if(e.length===0)return[];let t=this.cache.get(e);if(t!==void 0)return t;let r=Array.from(e);this.end_of_word_suffix&&(r[r.length-1]+=this.end_of_word_suffix);let n=[];if(r.length>1){let s=new $t((a,p)=>a.score`<0x${c.toString(16).toUpperCase().padStart(2,"0")}>`);i.every(c=>this.tokens_to_ids.has(c))?t.push(...i):this.unk_token!=null&&t.push(this.unk_token)}else this.unk_token!=null&&t.push(this.unk_token)}return t}},v=st;var it=class extends g{constructor(e,t){super(e);let r=e.vocab;this.tokens_to_ids=y(t.target_lang?r[t.target_lang]:r),this.bos_token=t.bos_token,this.bos_token_id=this.tokens_to_ids.get(this.bos_token),this.eos_token=t.eos_token,this.eos_token_id=this.tokens_to_ids.get(this.eos_token),this.pad_token=t.pad_token,this.pad_token_id=this.tokens_to_ids.get(this.pad_token),this.unk_token=t.unk_token,this.unk_token_id=this.tokens_to_ids.get(this.unk_token),this.vocab=new Array(this.tokens_to_ids.size);for(let[n,s]of this.tokens_to_ids)this.vocab[s]=n}encode(e){return e}},Ut=it;function er(o,e){switch(o.type){case"WordPiece":return new P(o);case"Unigram":return new C(o,e.eos_token);case"BPE":return new v(o);default:if(o.vocab)return Array.isArray(o.vocab)?new C(o,e.eos_token):Object.hasOwn(o,"continuing_subword_prefix")&&Object.hasOwn(o,"unk_token")?Object.hasOwn(o,"merges")?new v(o):new P(o):new Ut(o,{target_lang:e.target_lang,bos_token:e.bos_token,eos_token:e.eos_token,pad_token:e.pad_token,unk_token:e.unk_token});throw new Error(`Unknown TokenizerModel type: ${o?.type}`)}}var qt=er;var at=class extends _{constructor(e){super(),this.config=e}_call(e,...t){return this.post_process(e,...t)}},m=at;var ct=class extends m{post_process(e,t=null,r=!0){let n=t===null?this.config.single:this.config.pair,s=[],i=[];for(let c of n)"SpecialToken"in c?r&&(s.push(c.SpecialToken.id),i.push(c.SpecialToken.type_id)):"Sequence"in c&&(c.Sequence.id==="A"?(s=h(s,e),i=h(i,new Array(e.length).fill(c.Sequence.type_id))):c.Sequence.id==="B"&&(s=h(s,t),i=h(i,new Array(t.length).fill(c.Sequence.type_id))));return{tokens:s,token_type_ids:i}}},te=ct;var pt=class extends m{post_process(e,t=null){return{tokens:e,tokens_pair:t}}},re=pt;var lt=class extends m{constructor(e){super(e),this.sep=e.sep,this.cls=e.cls}post_process(e,t=null,r=!0){r&&(e=h([this.cls[0]],e,[this.sep[0]]));let n=new Array(e.length).fill(0);if(t){let s=[],i=r?[this.sep[0]]:[];e=h(e,s,t,i),n=h(n,new Array(t.length+s.length+i.length).fill(1))}return{tokens:e,token_type_ids:n}}},oe=lt;var dt=class extends m{constructor(e){super(e),this.sep=e.sep,this.cls=e.cls}post_process(e,t,r=!0){r&&(e=h([this.cls[0]],e,[this.sep[0]]));let n=new Array(e.length).fill(0);if(t){let s=r?[this.sep[0]]:[],i=r?[this.sep[0]]:[];e=h(e,s,t,i),n=h(n,new Array(t.length+s.length+i.length).fill(1))}return{tokens:e,token_type_ids:n}}},ne=dt;var ut=class extends m{constructor(e){super(e),this.processors=(e.processors??[]).map(t=>ie(t))}post_process(e,t=null,r=!0){let n={tokens:e,tokens_pair:t};for(let s of this.processors)n=s.post_process(n.tokens,n.tokens_pair,r);return n}},se=ut;function tr(o){if(o===null)return null;switch(o.type){case"TemplateProcessing":return new te(o);case"ByteLevel":return new re(o);case"BertProcessing":return new oe(o);case"RobertaProcessing":return new ne(o);case"Sequence":return new se(o);default:throw new Error(`Unknown PostProcessor type: ${o.type}`)}}var ie=tr;var ft=class extends _{constructor(e){super(),this.config=e,this.added_tokens=[],this.end_of_word_suffix=null,this.trim_offsets="trim_offsets"in e?e.trim_offsets:!1}_call(e){return this.decode(e)}decode(e){return this.decode_chain(e).join("")}},d=ft;var ht=class extends d{constructor(e){super(e),this.byte_decoder=vt,this.text_decoder=new TextDecoder("utf-8",{fatal:!1,ignoreBOM:!0}),this.end_of_word_suffix=null}convert_tokens_to_string(e){let t=e.join(""),r=new Uint8Array([...t].map(n=>this.byte_decoder[n]));return this.text_decoder.decode(r)}decode_chain(e){let t=[],r=[];for(let n of e)this.added_tokens.find(s=>s.content===n)!==void 0?(r.length>0&&(t.push(this.convert_tokens_to_string(r)),r=[]),t.push(n)):r.push(n);return r.length>0&&t.push(this.convert_tokens_to_string(r)),t}},ae=ht;var mt=class extends d{constructor(e){super(e),this.cleanup=e.cleanup}decode_chain(e){return e.map((t,r)=>{if(r!==0){let n=this.config.prefix;n&&t.startsWith(n)?t=t.replace(n,""):t=" "+t}return this.cleanup&&(t=T(t)),t})}},ce=mt;var _t=class extends d{constructor(e){super(e),this.replacement=e.replacement??"\u2581"}decode_chain(e){let t=[];for(let r=0;rt.replaceAll(this.suffix,r===e.length-1?"":" "))}},le=gt;var kt=class extends d{constructor(e){super(e),this.pad_token=e.pad_token??"",this.word_delimiter_token=e.word_delimiter_token??"",this.cleanup=e.cleanup}convert_tokens_to_string(e){if(e.length===0)return"";let t=[e[0]];for(let s=1;ss!==this.pad_token).join("");return this.cleanup&&(n=T(n).replaceAll(this.word_delimiter_token," ").trim()),n}decode_chain(e){return[this.convert_tokens_to_string(e)]}},de=kt;var zt=class extends d{constructor(e){super(e),this.decoders=(e.decoders??[]).map(t=>fe(t))}decode_chain(e){return this.decoders.reduce((t,r)=>r.decode_chain(t),e)}},ue=zt;var bt=class extends d{decode_chain(e){let t=z(this.config.pattern),r=this.config.content??"";return t===null?e:e.map(n=>n.replaceAll(t,r))}},he=bt;var xt=class extends d{decode_chain(e){return[e.join("")]}},me=xt;var Tt=class extends d{constructor(e){super(e),this.content=e.content??"",this.start=e.start??0,this.stop=e.stop??0}decode_chain(e){return e.map(t=>{let r=0;for(let s=0;s")){let i=parseInt(n.slice(3,5),16);isNaN(i)||(s=i)}if(s!==null)r.push(s);else{if(r.length>0){let i=this.text_decoder.decode(Uint8Array.from(r));t.push(i),r=[]}t.push(n)}}if(r.length>0){let n=this.text_decoder.decode(Uint8Array.from(r));t.push(n),r=[]}return t}},ge=yt;function rr(o){if(o===null)return null;switch(o.type){case"ByteLevel":return new ae(o);case"WordPiece":return new ce(o);case"Metaspace":return new pe(o);case"BPEDecoder":return new le(o);case"CTC":return new de(o);case"Sequence":return new ue(o);case"Replace":return new he(o);case"Fuse":return new me(o);case"Strip":return new _e(o);case"ByteFallback":return new ge(o);default:throw new Error(`Unknown Decoder type: ${o.type}`)}}var fe=rr;var Pt=class{constructor(e,t){let r=Pe(e,"Tokenizer",["model","decoder","post_processor","pre_tokenizer","normalizer"]);if(r)throw new Error(r);let n=Pe(t,"Config");if(n)throw new Error(n);this.tokenizer=e,this.config=t,this.normalizer=S(this.tokenizer.normalizer),this.pre_tokenizer=H(this.tokenizer.pre_tokenizer),this.model=qt(this.tokenizer.model,this.config),this.post_processor=ie(this.tokenizer.post_processor),this.decoder=fe(this.tokenizer.decoder),this.special_tokens=[],this.all_special_ids=[],this.added_tokens=[];let s=[],i=[];this.added_tokens_map=new Map;for(let c of this.tokenizer.added_tokens){let a=new N(c);if(this.added_tokens.push(a),this.model.tokens_to_ids.set(a.content,a.id),this.model.vocab[a.id]=a.content,a.special&&(this.special_tokens.push(a.content),this.all_special_ids.push(a.id)),this.added_tokens_map.set(a.content,a),a.normalized&&this.normalizer!==null){let p=this.normalizer(a.content);i.push(p),this.added_tokens_map.set(p,a)}else s.push(a.content)}(this.config.additional_special_tokens??[]).forEach(c=>{this.special_tokens.includes(c)||this.special_tokens.push(c)}),this.decoder&&(this.decoder.added_tokens=this.added_tokens,this.decoder.end_of_word_suffix=this.model.end_of_word_suffix),this.splitter_unnormalized=new be(s),this.splitter_normalized=new be(i),this.remove_space=this.config.remove_space,this.clean_up_tokenization_spaces=this.config.clean_up_tokenization_spaces??!0,this.do_lowercase_and_remove_accent=this.config.do_lowercase_and_remove_accent??!1}encode(e,{text_pair:t=null,add_special_tokens:r=!0,return_token_type_ids:n=null}={}){let{tokens:s,token_type_ids:i}=this.tokenize_helper(e,{text_pair:t,add_special_tokens:r}),c=s.map(p=>this.added_tokens_map.get(p)?.id??this.model.tokens_to_ids.get(p)??this.model.unk_token_id),a={ids:c,tokens:s,attention_mask:new Array(c.length).fill(1)};return n&&i&&(a.token_type_ids=i),a}decode(e,t={}){if(!Array.isArray(e)||e.length===0||!Dt(e[0]))throw Error("token_ids must be a non-empty array of integers.");let r=e.map(s=>this.model.vocab[Number(s)]??this.model.unk_token);t.skip_special_tokens&&(r=r.filter(s=>!this.special_tokens.includes(s)));let n=this.decoder?this.decoder(r):r.join(" ");return this.decoder&&this.decoder.end_of_word_suffix&&(n=n.replaceAll(this.decoder.end_of_word_suffix," "),t.skip_special_tokens&&(n=n.trim())),(t.clean_up_tokenization_spaces??this.clean_up_tokenization_spaces)&&(n=T(n)),n}tokenize(e,{text_pair:t=null,add_special_tokens:r=!1}={}){return this.tokenize_helper(e,{text_pair:t,add_special_tokens:r}).tokens}encode_text(e){if(e===null)return null;let t=this.splitter_unnormalized.split(e);return t.forEach((r,n)=>{let s=this.added_tokens_map.get(r);s&&(s.lstrip&&n>0&&(t[n-1]=t[n-1].trimEnd()),s.rstrip&&n{if(r.length===0)return[];if(this.added_tokens_map.has(r))return[r];if(this.remove_space===!0&&(r=r.trim().split(/\s+/).join(" ")),this.do_lowercase_and_remove_accent&&(r=Ot(r)),this.normalizer!==null&&(r=this.normalizer(r)),r.length===0)return[];let s=this.splitter_normalized.split(r);return s.forEach((i,c)=>{let a=this.added_tokens_map.get(i);a&&(a.lstrip&&c>0&&(s[c-1]=s[c-1].trimEnd()),a.rstrip&&c{if(i.length===0)return[];if(this.added_tokens_map.has(i))return[i];let c=this.pre_tokenizer!==null?this.pre_tokenizer(i,{section_index:n}):[i];return this.model(c)})})}tokenize_helper(e,{text_pair:t=null,add_special_tokens:r=!0}){let n=this.encode_text(e),s=this.encode_text(t||null);return this.post_processor?this.post_processor(n,s,r):{tokens:h(n??[],s??[])}}token_to_id(e){return this.model.tokens_to_ids.get(e)}id_to_token(e){return this.model.vocab[e]}get_added_tokens_decoder(){let e=new Map;for(let t of this.added_tokens)e.set(t.id,t);return e}get_vocab(e=!0){let t=new Map;for(let r=0;r