const w={а:"a",б:"b",в:"v",г:"g",д:"d",е:"e",ё:"yo",ж:"zh",з:"z",и:"i",й:"y",к:"k",л:"l",м:"m",н:"n",о:"o",п:"p",р:"r",с:"s",т:"t",у:"u",ф:"f",х:"kh",ц:"ts",ч:"ch",ш:"sh",щ:"shch",ъ:"",ы:"y",ь:"",э:"e",ю:"yu",я:"ya",А:"A",Б:"B",В:"V",Г:"G",Д:"D",Е:"E",Ё:"Yo",Ж:"Zh",З:"Z",И:"I",Й:"Y",К:"K",Л:"L",М:"M",Н:"N",О:"O",П:"P",Р:"R",С:"S",Т:"T",У:"U",Ф:"F",Х:"Kh",Ц:"Ts",Ч:"Ch",Ш:"Sh",Щ:"Shch",Ъ:"",Ы:"Y",Ь:"",Э:"E",Ю:"Yu",Я:"Ya"},u={shch:"щ",Shch:"Щ",SHCH:"Щ",zh:"ж",Zh:"Ж",ZH:"Ж",ch:"ч",Ch:"Ч",CH:"Ч",sh:"ш",Sh:"Ш",SH:"Ш",yo:"ё",Yo:"Ё",YO:"Ё",yu:"ю",Yu:"Ю",YU:"Ю",ya:"я",Ya:"Я",YA:"Я",kh:"х",Kh:"Х",KH:"Х",ts:"ц",Ts:"Ц",TS:"Ц",ck:"к",Ck:"К",CK:"К",sc:"с",Sc:"С",SC:"С",ow:"о",Ow:"О",OW:"О",a:"а",b:"б",v:"в",g:"г",d:"д",e:"е",f:"ф",z:"з",i:"и",j:"й",k:"к",l:"л",m:"м",n:"н",o:"о",p:"п",r:"р",s:"с",t:"т",u:"у",w:"в",x:"кс",y:"й",A:"А",B:"Б",V:"В",G:"Г",D:"Д",E:"Е",F:"Ф",Z:"З",I:"И",J:"Й",K:"К",L:"Л",M:"М",N:"Н",O:"О",P:"П",R:"Р",S:"С",T:"Т",U:"У",W:"В",X:"КС",Y:"Й"},L=t=>/[а-яё]/i.test(t),g=t=>/[a-z]/i.test(t),S=t=>t.replace(/[а-яёА-ЯЁ]/g,r=>w[r]||r),Y=t=>{const r=Object.keys(u).sort((n,e)=>e.length-n.length);let o=t;return r.forEach(n=>{const e=new RegExp(n,"gi");o=o.replace(e,s=>{if(s===s.toUpperCase())return u[n].toUpperCase();if(s[0]===s[0].toUpperCase()){const i=u[n.toLowerCase()];return i.charAt(0).toUpperCase()+i.slice(1)}else return u[n.toLowerCase()]})}),o},p=t=>{const r=[t.toLowerCase()];return L(t)&&r.push(S(t).toLowerCase()),g(t)&&r.push(Y(t).toLowerCase()),[...new Set(r)]},z=(t,r)=>{if(!r||typeof r!="string")return!1;const o=p(t),n=r.toLowerCase();return o.some(e=>n.includes(e))},d=(t,r,o)=>{const n=t.length,e=r.length;if(Math.abs(n-e)>o)return o+1;if(n===0)return e;if(e===0)return n;let s=new Array(e+1),i=new Array(e+1);for(let c=0;c<=e;c++)s[c]=c;for(let c=1;c<=n;c++){i[0]=c;let a=i[0];const h=t.charCodeAt(c-1);for(let l=1;l<=e;l++){const y=h===r.charCodeAt(l-1)?0:1,C=Math.min(s[l]+1,i[l-1]+1,s[l-1]+y);i[l]=C,C<a&&(a=C)}if(a>o)return o+1;const f=s;s=i,i=f}return s[e]},T=t=>t<=3?0:t<=5?1:t<=8?2:3,A=(t,r)=>{if(!r||typeof r!="string")return!1;const o=r.toLowerCase();if(!o)return!1;for(const n of p(t)){const e=n.length,s=T(e);if(s===0||!o.includes(n[0]))continue;const i=Math.max(1,e-s),c=Math.min(o.length,e+s);for(let a=i;a<=c;a++)for(let h=0;h+a<=o.length;h++){const f=o.slice(h,h+a);if(d(n,f,s)<=s)return!0}}return!1};export{A as f,z as m};