urdu-text-utils 0.1.5 → 0.1.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +5 -0
- package/README.md +24 -0
- package/dist/index.iife.js +2 -0
- package/dist/index.iife.js.map +1 -0
- package/package.json +4 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.1.6
|
|
4
|
+
|
|
5
|
+
- Add dedicated minified IIFE browser bundle (`dist/index.iife.js`) exposing `window.UrduTextUtils` for seamless jsDelivr and unpkg CDN usage without a bundler.
|
|
6
|
+
- Add `jsdelivr` and `unpkg` fields and `browser` export condition in `package.json`.
|
|
7
|
+
|
|
3
8
|
## 0.1.5
|
|
4
9
|
|
|
5
10
|
- Expand transliteration dictionary to 1,700+ entries across classical/poetic register, commerce & digital terminology, law & governance, geography, and rich verbal inflections.
|
package/README.md
CHANGED
|
@@ -17,6 +17,30 @@ Zero runtime dependencies. ESM + CJS. Fully typed.
|
|
|
17
17
|
npm install urdu-text-utils
|
|
18
18
|
```
|
|
19
19
|
|
|
20
|
+
### CDN (Browser / Vanilla JS)
|
|
21
|
+
|
|
22
|
+
You can use `urdu-text-utils` directly in the browser without any bundler or build step via **jsDelivr** or **unpkg**:
|
|
23
|
+
|
|
24
|
+
```html
|
|
25
|
+
<!-- jsDelivr (global UrduTextUtils) -->
|
|
26
|
+
<script src="https://cdn.jsdelivr.net/npm/urdu-text-utils/dist/index.iife.js"></script>
|
|
27
|
+
|
|
28
|
+
<script>
|
|
29
|
+
const { normalizeUrdu, romanize, isStopWord, searchUrdu } = window.UrduTextUtils;
|
|
30
|
+
console.log(normalizeUrdu("كيا حال ہے")); // "کیا حال ہے"
|
|
31
|
+
</script>
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
Or as an ES Module:
|
|
35
|
+
|
|
36
|
+
```html
|
|
37
|
+
<script type="module">
|
|
38
|
+
import { normalizeUrdu, romanize } from "https://cdn.jsdelivr.net/npm/urdu-text-utils/+esm";
|
|
39
|
+
console.log(normalizeUrdu("كيا حال ہے"));
|
|
40
|
+
</script>
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
|
|
20
44
|
```ts
|
|
21
45
|
import {
|
|
22
46
|
normalizeUrdu,
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
var UrduTextUtils=(function(exports){'use strict';var oa="\\u0610-\\u061A\\u064B-\\u065F\\u0670\\u06D6-\\u06ED",w=new RegExp(`[${oa}]`,"gu"),C=/ـ/gu,v=/[----]/gu,W=//gu,L="\\u0620-\\u063F\\u0641-\\u064A\\u066E\\u066F\\u0671-\\u06D3\\u06D5\\u06EE\\u06EF\\u06FA-\\u06FF\\u0750-\\u077F\\u08A0-\\u08FF\\uFB50-\\uFDFF\\uFE70-\\uFEFC",q=new RegExp(`[${L}]`,"u");var I=/\p{L}/gu,f="\u06F0\u06F1\u06F2\u06F3\u06F4\u06F5\u06F6\u06F7\u06F8\u06F9",y="\u0660\u0661\u0662\u0663\u0664\u0665\u0666\u0667\u0668\u0669",j="0123456789",F=new RegExp(`[${j}${f}${y}]`,"gu"),M=/[۔؟?!.…]+/u,P=/[\s،؛؟۔٫٬…!-\/:-@\[-`{-~‐-‧«»‘’“”]+/u;var z="\u06CC",G="\u06A9",S="\u06C1",T="\u0627",_="\u0648",la={\u064A:z,\u0649:z,\u06CD:z,\u06D0:z,"\u0620":z,\u0643:G,\u06AA:G,\u0647:S,\u06C0:S,\u0629:S,\u06C3:S,\u06D5:S,\u0623:T,\u0625:T,\u0671:T,\u0672:T,\u0673:T,\u06CB:_,\u06C6:_,\u06C7:_},ma={urdu:f,english:j,arabic:y},ca={",":"\u060C",";":"\u061B","?":"\u061F"},B=new Map;for(let a of [j,f,y])for(let e=0;e<10;e++)B.set(a[e],e);function d(a,e={}){if(!a)return "";let{compatibility:t=true,stripDiacritics:r=false,stripTatweel:i=true,stripZwnj:n=false,collapseWhitespace:h=true,digits:o="preserve",urduPunctuation:u=false}=e,s=t?a.normalize("NFKC"):a.normalize("NFC");s=s.replace(v,""),n&&(s=s.replace(W,"")),i&&(s=s.replace(C,"")),r&&(s=s.replace(w,""));let c=o==="preserve"?null:ma[o],l="";for(let m of s){let b=la[m];if(b!==void 0){l+=b;continue}if(c){let g=B.get(m);if(g!==void 0){l+=c[g];continue}}if(u){let g=ca[m];if(g!==void 0){l+=g;continue}}l+=m;}return h&&(l=l.replace(/\s+/gu," ").trim()),l}function R(a){return a?a.normalize("NFC").replace(w,""):""}function p(a){return d(a,{stripDiacritics:true,stripZwnj:true,collapseWhitespace:true}).toLowerCase()}var V={urdu:f,english:j,arabic:y},Y=new Map;for(let a of Object.values(V))for(let e=0;e<10;e++)Y.set(a[e],e);function E(a,e){if(!a)return "";let t=V[e],r="";for(let i of a){let n=Y.get(i);r+=n===void 0?i:t[n];}return r}function da(a){return E(a,"urdu")}function H(a){return E(a,"english")}function ka(a){return E(a,"arabic")}function pa(a,e="urdu"){return E(a,e)}function ba(a){if(!a)return NaN;let e=H(a).replace(/[٬,\s]/gu,"").replace(/٫/gu,".");return /^[+-]?(\d+(\.\d*)?|\.\d+)$/u.test(e)?Number(e):NaN}var $=["","\u0627\u06CC\u06A9","\u062F\u0648","\u062A\u06CC\u0646","\u0686\u0627\u0631","\u067E\u0627\u0646\u0686","\u0686\u06BE","\u0633\u0627\u062A","\u0622\u0679\u06BE","\u0646\u0648"],A={10:"\u062F\u0633",11:"\u06AF\u06CC\u0627\u0631\u06C1",12:"\u0628\u0627\u0631\u06C1",13:"\u062A\u06CC\u0631\u06C1",14:"\u0686\u0648\u062F\u06C1",15:"\u067E\u0646\u062F\u0631\u06C1",16:"\u0633\u0648\u0644\u06C1",17:"\u0633\u062A\u0631\u06C1",18:"\u0627\u0679\u06BE\u0627\u0631\u06C1",19:"\u0627\u0646\u06CC\u0633",20:"\u0628\u06CC\u0633",30:"\u062A\u06CC\u0633",40:"\u0686\u0627\u0644\u06CC\u0633",50:"\u067E\u0686\u0627\u0633",60:"\u0633\u0627\u0679\u06BE",70:"\u0633\u062A\u0631",80:"\u0627\u0633\u06CC",90:"\u0646\u0648\u06D2",100:"\u0633\u0648"};function D(a){if(!Number.isFinite(a))return "";if(!Number.isInteger(a))throw new TypeError("numberToUrduWords expects an integer");if(a<0)return `\u0645\u0646\u0641\u06CC ${D(-a)}`;if(a===0)return "\u0635\u0641\u0631";let e=[[1e7,"\u06A9\u0631\u0648\u0691"],[1e5,"\u0644\u0627\u06A9\u06BE"],[1e3,"\u06C1\u0632\u0627\u0631"],[100,"\u0633\u0648"]],t=[],r=a;for(let[i,n]of e)if(r>=i){let h=Math.floor(r/i);r%=i,t.push(`${D(h)} ${n}`);}if(r>0)if(A[r])t.push(A[r]);else if(r<10)t.push($[r]);else {let i=Math.floor(r/10)*10;t.push(`${A[i]??""} ${$[r%10]??""}`.trim());}return t.join(" ").replace(/\s+/gu," ").trim()}function U(a){if(!a)return 0;let e=0,t=0;for(let r of a.match(I)??[])e++,q.test(r)&&t++;return e===0?0:t/e}function ga(a,e={}){let{threshold:t=.5,minLetters:r=1}=e;if(!a)return false;let i=0,n=0;for(let h of a.match(I)??[])i++,q.test(h)&&n++;return n<r?false:i>0&&n/i>=t}var fa=new Set(["\u0679","\u0688","\u0691","\u06BA","\u06D2","\u06D3","\u06C1","\u06BE","\u06A9","\u06AF","\u0686","\u067E","\u0698","\u06CC"]);function ya(a){for(let e of a)if(fa.has(e))return true;return false}function Z(a){return k(a).length}function k(a){return a?a.split(P).map(e=>e.trim()).filter(e=>e.length>0):[]}var ja=["\u0688\u0627\u06A9\u0679\u0631","\u067E\u0631\u0648\u0641\u06CC\u0633\u0631","\u0627\u0646\u062C\u06CC\u0646\u0626\u0631","\u0627\u06CC\u0688\u0648\u0648\u06A9\u06CC\u0679","\u062C\u0646\u0627\u0628","\u0635\u0627\u062D\u0628","\u0635\u0627\u062D\u0628\u06C1","\u0645\u062D\u062A\u0631\u0645","\u0645\u062D\u062A\u0631\u0645\u06C1","\u0645\u0648\u0644\u0627\u0646\u0627","\u0645\u0641\u062A\u06CC","\u0639\u0644\u0627\u0645\u06C1","\u0628\u06CC\u06AF\u0645","\u0648\u063A\u06CC\u0631\u06C1","\u0631\u062D\u0645\u062A\u06C1","\u0631\u0636\u06CC","\u062A\u0639\u0627\u0644\u06CC","\u062A\u0639\u0627\u0644\u06CC\u0670","\u0639\u0644\u06CC\u06C1","\u0627\u0644\u0633\u0644\u0627\u0645","\u0635\u0644\u06CC","\u0648\u0633\u0644\u0645"],wa=new RegExp(`(?:${ja.join("|")})[.\u06D4]`,"gu");function K(a,e){return J(a,e).length}function J(a,e={}){if(!a)return [];let{preserveTerminators:t=false}=e,r="\uE000",i="\uE001",n=a.replace(/(\d)\.(\d)/gu,`$1${r}$2`).replace(wa,h=>h.replace(/\./g,r).replace(/۔/g,i));return t?(n.match(/[^۔؟?!.…]+[۔؟?!.…]+|[^۔؟?!.…]+$/gu)??[]).map(o=>o.replace(new RegExp(r,"gu"),".").replace(new RegExp(i,"gu"),"\u06D4").trim()).filter(o=>o.length>0):n.split(M).map(h=>h.replace(new RegExp(r,"gu"),".").replace(new RegExp(i,"gu"),"\u06D4").trim()).filter(h=>h.length>0)}function za(a){let e=a??"",t=[...e].length,r=[...e.replace(/\s/gu,"")].length,i=Z(e),n=K(e),h=e.split(/\n\s*\n/u).map(o=>o.trim()).filter(o=>o.length>0).length;return {characters:t,charactersNoSpaces:r,words:i,sentences:n,paragraphs:h,urduPercentage:Math.round(U(e)*100),diacritics:(e.match(w)??[]).length,digits:(e.match(F)??[]).length,averageWordsPerSentence:n===0?0:Math.round(i/n*10)/10,readingTimeMinutes:Math.round(i/180*10)/10}}var Q=new Set(["\u06C1\u06D2","\u06C1\u06CC\u06BA","\u06C1\u0648\u06BA","\u06C1\u0648","\u062A\u06BE\u0627","\u062A\u06BE\u06CC","\u062A\u06BE\u06D2","\u062A\u06BE\u06CC\u06BA","\u06C1\u0648\u06AF\u0627","\u06C1\u0648\u06AF\u06CC","\u06C1\u0648\u0646\u06AF\u06D2","\u06C1\u0648\u06BA\u06AF\u06D2","\u06C1\u0648\u0646\u0627","\u06C1\u0648\u0646\u06D2","\u06C1\u0648\u0627","\u06C1\u0648\u0626\u06CC","\u06C1\u0648\u0626\u06D2","\u06A9\u0627","\u06A9\u06CC","\u06A9\u06D2","\u06A9\u0648","\u0646\u06D2","\u0633\u06D2","\u067E\u0631","\u062A\u06A9","\u0645\u06CC\u06BA","\u0644\u06CC\u06D2","\u0633\u0627\u062A\u06BE","\u0628\u063A\u06CC\u0631","\u0637\u0631\u062D","\u0637\u0631\u0641","\u0628\u0627\u0631\u06D2","\u0628\u0639\u062F","\u067E\u06C1\u0644\u06D2","\u062F\u0648\u0631\u0627\u0646","\u062F\u0631\u0645\u06CC\u0627\u0646","\u0639\u0644\u0627\u0648\u06C1","\u0633\u0648\u0627\u0626\u06D2","\u0633\u0648\u0627","\u0645\u0637\u0627\u0628\u0642","\u0628\u0627\u0639\u062B","\u0630\u0631\u06CC\u0639\u06D2","\u062A\u062D\u062A","\u0627\u0648\u067E\u0631","\u0646\u06CC\u0686\u06D2","\u0622\u06AF\u06D2","\u067E\u06CC\u0686\u06BE\u06D2","\u0627\u0646\u062F\u0631","\u0628\u0627\u06C1\u0631","\u067E\u0627\u0633","\u0642\u0631\u06CC\u0628","\u0646\u0632\u062F\u06CC\u06A9","\u0627\u0648\u0631","\u06CC\u0627","\u0627\u06AF\u0631","\u0644\u06CC\u06A9\u0646","\u0645\u06AF\u0631","\u062A\u0648","\u0628\u06BE\u06CC","\u06C1\u06CC","\u0646\u06C1","\u0646\u06C1\u06CC\u06BA","\u0645\u062A","\u0646\u0627","\u0628\u0644\u06A9\u06C1","\u062D\u0627\u0644\u0627\u0646\u06A9\u06C1","\u0686\u0648\u0646\u06A9\u06C1","\u06A9\u06CC\u0648\u0646\u06A9\u06C1","\u062A\u0627\u06A9\u06C1","\u0648\u0631\u0646\u06C1","\u0627\u0644\u0628\u062A\u06C1","\u0645\u062B\u0644\u0627\u064B","\u06CC\u0639\u0646\u06CC","\u062E\u0635\u0648\u0635\u0627\u064B","\u0639\u0645\u0648\u0645\u0627\u064B","\u0686\u0646\u0627\u0646\u0686\u06C1","\u062E\u0648\u0627\u06C1","\u0686\u0627\u06C1\u06D2","\u06AF\u0648\u06CC\u0627","\u062A\u0627\u06C1\u0645","\u0646\u06CC\u0632","\u062D\u062A\u06CC","\u0648\u063A\u06CC\u0631\u06C1","\u0635\u0631\u0641","\u0645\u062D\u0636","\u0641\u0642\u0637","\u06C1\u0645","\u062A\u0645","\u0622\u067E","\u0648\u06C1","\u06CC\u06C1","\u0645\u06CC\u0631\u0627","\u0645\u06CC\u0631\u06CC","\u0645\u06CC\u0631\u06D2","\u06C1\u0645\u0627\u0631\u0627","\u06C1\u0645\u0627\u0631\u06CC","\u06C1\u0645\u0627\u0631\u06D2","\u062A\u0645\u06C1\u0627\u0631\u0627","\u062A\u0645\u06C1\u0627\u0631\u06CC","\u062A\u0645\u06C1\u0627\u0631\u06D2","\u0622\u067E\u06A9\u0627","\u0622\u067E\u06A9\u06CC","\u0622\u067E\u06A9\u06D2","\u0627\u0633","\u0627\u0633\u06A9\u0627","\u0627\u0633\u06A9\u06CC","\u0627\u0633\u06A9\u06D2","\u0627\u0633\u06D2","\u0627\u0646","\u0627\u0646\u06A9\u0627","\u0627\u0646\u06A9\u06CC","\u0627\u0646\u06A9\u06D2","\u0627\u0646\u06C1\u06CC\u06BA","\u0645\u062C\u06BE\u06D2","\u06C1\u0645\u06CC\u06BA","\u062A\u0645\u06C1\u06CC\u06BA","\u062C\u0633","\u062C\u0633\u06A9\u0627","\u062C\u0633\u06A9\u06CC","\u062C\u0633\u06A9\u06D2","\u062C\u0633\u06D2","\u062C\u0646","\u062C\u0646\u06A9\u0627","\u062C\u0646\u06A9\u06CC","\u062C\u0646\u06A9\u06D2","\u062C\u0646\u06C1\u0648\u06BA","\u0627\u0646\u06C1\u0648\u06BA","\u06A9\u0633","\u06A9\u0633\u06A9\u0627","\u06A9\u0633\u06A9\u06CC","\u06A9\u0633\u06A9\u06D2","\u06A9\u0633\u06D2","\u06A9\u0633\u06A9\u0648","\u06A9\u0648\u0646","\u06A9\u06CC\u0627","\u06A9\u06C1\u0627\u06BA","\u06A9\u062F\u06BE\u0631","\u0627\u062F\u06BE\u0631","\u062C\u062F\u06BE\u0631","\u06A9\u0628","\u06A9\u06CC\u0648\u06BA","\u06A9\u06CC\u0633\u06D2","\u06A9\u06CC\u0633\u0627","\u06A9\u06CC\u0633\u06CC","\u06A9\u062A\u0646\u0627","\u06A9\u062A\u0646\u06CC","\u06A9\u062A\u0646\u06D2","\u062C\u0648","\u0633\u0628","\u0633\u0628\u06BE\u06CC","\u06A9\u0648\u0626\u06CC","\u06A9\u0686\u06BE","\u06C1\u0631","\u0627\u06CC\u06A9","\u0627\u067E\u0646\u0627","\u0627\u067E\u0646\u06CC","\u0627\u067E\u0646\u06D2","\u062E\u0648\u062F","\u06A9\u0631\u0646\u0627","\u06A9\u0631\u062A\u0627","\u06A9\u0631\u062A\u06CC","\u06A9\u0631\u062A\u06D2","\u06A9\u0631\u06CC\u06BA","\u06A9\u0631\u0648","\u06A9\u0631","\u06A9\u0631\u0646\u06D2","\u06A9\u06CC\u06D2","\u062C\u0627\u0646\u0627","\u062C\u0627\u062A\u0627","\u062C\u0627\u062A\u06CC","\u062C\u0627\u062A\u06D2","\u062C\u0627\u0626\u06D2","\u062C\u0627\u0626\u06CC\u06BA","\u062C\u0627\u0624","\u062C\u0627","\u062C\u0627\u0646\u06D2","\u06AF\u06CC\u0627","\u06AF\u0626\u06CC","\u06AF\u0626\u06D2","\u0622\u0646\u0627","\u0622\u062A\u0627","\u0622\u062A\u06CC","\u0622\u062A\u06D2","\u0622\u0626\u06D2","\u0622\u0626\u06CC\u06BA","\u0622\u06CC\u0627","\u0622\u0626\u06CC","\u0622\u0646\u06D2","\u0622\u0624","\u0622","\u062F\u06CC\u0646\u0627","\u062F\u06CC\u062A\u0627","\u062F\u06CC\u062A\u06CC","\u062F\u06CC\u062A\u06D2","\u062F\u06CC\u0627","\u062F\u06CC\u06D2","\u062F\u06D2","\u062F\u0648","\u062F\u06CC\u06BA","\u062F\u06CC\u0646\u06D2","\u0644\u06CC\u0646\u0627","\u0644\u06CC\u062A\u0627","\u0644\u06CC\u062A\u06CC","\u0644\u06CC\u062A\u06D2","\u0644\u06CC\u0627","\u0644\u06D2","\u0644\u0648","\u0644\u06CC\u06BA","\u0644\u06CC\u0646\u06D2","\u0631\u06C1\u0646\u0627","\u0631\u06C1\u0627","\u0631\u06C1\u06CC","\u0631\u06C1\u06D2","\u0631\u06C1\u062A\u0627","\u0631\u06C1\u062A\u06CC","\u0631\u06C1\u062A\u06D2","\u0631\u06C1\u0646\u06D2","\u0633\u06A9\u0646\u0627","\u0633\u06A9\u062A\u0627","\u0633\u06A9\u062A\u06CC","\u0633\u06A9\u062A\u06D2","\u0648\u0627\u0644\u0627","\u0648\u0627\u0644\u06CC","\u0648\u0627\u0644\u06D2"]);function X(a){return a?a instanceof Set?a:new Set(a.map(e=>d(e.trim()))):Q}function Sa(a,e){if(!a)return false;let t=d(a.trim());return X(e).has(t)}function aa(a,e){if(!a||a.length===0)return [];let t=X(e);return a.filter(r=>{let i=d(r.trim());return i.length>0&&!t.has(i)})}function Ta(a,e){if(!a)return "";let t=k(a);return aa(t,e).join(" ")}var ra=["\u0627","\u0622","\u0628","\u067E","\u062A","\u0679","\u062B","\u062C","\u0686","\u062D","\u062E","\u062F","\u0688","\u0630","\u0631","\u0691","\u0632","\u0698","\u0633","\u0634","\u0635","\u0636","\u0637","\u0638","\u0639","\u063A","\u0641","\u0642","\u06A9","\u06AF","\u0644","\u0645","\u0646","\u06BA","\u0648","\u06C1","\u06BE","\u0621","\u06CC","\u06D2"],Ra={\u0624:["\u0648",1],\u0626:["\u06CC",1],\u06C2:["\u06C1",1],\u06D3:["\u06D2",1]},x=new Map;ra.forEach((a,e)=>x.set(a,[(e+1)*10,0]));for(let[a,[e,t]]of Object.entries(Ra)){let r=x.get(e);r&&x.set(a,[r[0],t]);}var Ea=(ra.length+1)*10;function ea(a){let e=[];for(let t of a){let r=x.get(t);r?e.push(r[0],r[1]):t===" "?e.push(1,0):e.push(Ea+(t.codePointAt(0)??0),0);}return e}function ta(a,e){let t=ea(p(a)),r=ea(p(e)),i=Math.min(t.length,r.length);for(let n=0;n<i;n++){let h=t[n]-r[n];if(h!==0)return h}return t.length-r.length}function xa(a,e={}){let{descending:t=false,getText:r}=e,i=r??(h=>String(h)),n=[...a].sort((h,o)=>ta(i(h),i(o)));return t?n.reverse():n}function na(a,e,t=1/0){if(a===e)return 0;if(Math.abs(a.length-e.length)>t)return t+1;let r=Array.from({length:e.length+1},(n,h)=>h),i=new Array(e.length+1);for(let n=1;n<=a.length;n++){i[0]=n;let h=i[0];for(let o=1;o<=e.length;o++){let u=a[n-1]===e[o-1]?0:1;i[o]=Math.min(i[o-1]+1,r[o]+1,r[o-1]+u),h=Math.min(h,i[o]);}if(h>t)return t+1;[r,i]=[i,r];}return r[e.length]}function qa(a,e,t){if(!a)return 0;if(e===a)return 1;if(e.startsWith(a))return .9;if(e.includes(a))return .8;if(!t.fuzzy)return 0;let r=k(a),i=k(e);if(r.length===0||i.length===0)return 0;let n=0;for(let h of r){let o=Math.min(t.maxDistance,Math.max(1,Math.floor(h.length/3)));i.some(s=>s.includes(h)||na(h,s,o)<=o)&&n++;}return n===0?0:n/r.length*.7}function Ia(a,e,t={}){return ia(a,e,t).map(r=>r.item)}function ia(a,e,t={}){let{getText:r,fuzzy:i=false,maxDistance:n=1,limit:h,sortByScore:o=true}=t,u=r??(l=>String(l)),s=p(a);if(!s)return [];let c=[];for(let l of e){let m=qa(s,p(u(l)),{fuzzy:i,maxDistance:n});m>0&&c.push({item:l,score:m});}return o&&c.sort((l,m)=>m.score-l.score),h===void 0?c:c.slice(0,h)}function _a(a,e,t=r=>`<mark>${r}</mark>`){let r=p(e);if(!r||!a)return a;let i=[...a],n=[],h=[];i.forEach((l,m)=>{let b=d(l,{stripDiacritics:true,stripZwnj:true,collapseWhitespace:false}).toLowerCase();for(let g of b)n.push(g),h.push(m);});let o=n.join(""),u="",s=0,c=0;for(;;){let l=o.indexOf(r,c);if(l===-1)break;let m=h[l],b=(h[l+r.length-1]??m)+1;u+=i.slice(s,m).join(""),u+=t(i.slice(m,b).join("")),s=b,c=l+r.length;}return u+=i.slice(s).join(""),u}var N={\u0645\u06CC\u06BA:"mein",\u06C1\u0645:"hum",\u062A\u0645:"tum",\u0622\u067E:"aap",\u0648\u06C1:"woh",\u06CC\u06C1:"yeh",\u0645\u06CC\u0631\u0627:"mera",\u0645\u06CC\u0631\u06CC:"meri",\u0645\u06CC\u0631\u06D2:"mere",\u06C1\u0645\u0627\u0631\u0627:"hamara",\u06C1\u0645\u0627\u0631\u06CC:"hamari",\u06C1\u0645\u0627\u0631\u06D2:"hamaray",\u062A\u0645\u06C1\u0627\u0631\u0627:"tumhara",\u062A\u0645\u06C1\u0627\u0631\u06CC:"tumhari",\u062A\u0645\u06C1\u0627\u0631\u06D2:"tumharay",\u0622\u067E\u06A9\u0627:"aapka",\u0622\u067E\u06A9\u06CC:"aapki",\u0622\u067E\u06A9\u06D2:"aapke",\u0627\u0633:"is",\u0627\u0633\u06A9\u0627:"iska",\u0627\u0633\u06A9\u06CC:"iski",\u0627\u0633\u06A9\u06D2:"iske",\u0627\u0646:"un",\u0627\u0646\u06A9\u0627:"unka",\u0627\u0646\u06A9\u06CC:"unki",\u0627\u0646\u06A9\u06D2:"unke",\u0645\u062C\u06BE\u06D2:"mujhe",\u06C1\u0645\u06CC\u06BA:"humein",\u062A\u0645\u06C1\u06CC\u06BA:"tumhein",\u0627\u0646\u06C1\u06CC\u06BA:"unhein",\u0627\u0633\u06D2:"isay",\u062C\u0633\u06D2:"jisay",\u06A9\u0633\u06D2:"kisay",\u06A9\u0633:"kis",\u06A9\u0633\u06A9\u0627:"kiska",\u06A9\u0633\u06A9\u06CC:"kiski",\u06A9\u0633\u06A9\u06D2:"kiske",\u06A9\u0633\u06A9\u0648:"kisko",\u062C\u0646:"jin",\u062C\u0646\u06A9\u0627:"jinka",\u062C\u0646\u06A9\u06CC:"jinki",\u062C\u0646\u06A9\u06D2:"jinke",\u062C\u0646\u06C1\u0648\u06BA:"jinhon",\u0627\u0646\u06C1\u0648\u06BA:"unhon",\u0627\u067E\u0646\u0627:"apna",\u0905\u092A\u0928\u0940:"apni",\u0627\u067E\u0646\u06D2:"apnay",\u062E\u0648\u062F:"khud",\u06A9\u0648\u0646:"kaun",\u06A9\u06CC\u0627:"kya",\u06A9\u06C1\u0627\u06BA:"kahan",\u06A9\u062F\u06BE\u0631:"kidhar",\u0627\u062F\u06BE\u0631:"idhar",\u062C\u062F\u06BE\u0631:"jidhar",\u06A9\u0628:"kab",\u06A9\u06CC\u0648\u06BA:"kyun",\u06A9\u06CC\u0633\u06D2:"kaisay",\u06A9\u06CC\u0633\u0627:"kaisa",\u06A9\u06CC\u0633\u06CC:"kaisi",\u06A9\u062A\u0646\u0627:"kitna",\u06A9\u062A\u0646\u06CC:"kitni",\u06A9\u062A\u0646\u06D2:"kitnay",\u062C\u0648:"jo",\u062C\u0633:"jis",\u062C\u0633\u06A9\u0648:"jisko",\u062C\u0633\u06A9\u0627:"jiska",\u062C\u0633\u06A9\u06CC:"jiski",\u062C\u0633\u06A9\u06D2:"jiske",\u0633\u0628:"sab",\u0633\u0628\u06BE\u06CC:"sabhi",\u06A9\u0648\u0626\u06CC:"koi",\u06A9\u0686\u06BE:"kuch",\u06C1\u0631:"har",\u0627\u06CC\u06A9:"aik",\u0627\u0648\u0631:"aur",\u06CC\u0627:"ya",\u0627\u06AF\u0631:"agar",\u0644\u06CC\u06A9\u0646:"lekin",\u0645\u06AF\u0631:"magar",\u062A\u0648:"to",\u0628\u06BE\u06CC:"bhi",\u0646\u06C1:"na",\u0646\u06C1\u06CC\u06BA:"nahi",\u0645\u062A:"mat",\u06A9\u0627:"ka",\u06A9\u06CC:"ki",\u06A9\u06D2:"ke",\u06A9\u0648:"ko",\u0646\u06D2:"ne",\u0633\u06D2:"se",\u067E\u0631:"par",\u062A\u06A9:"tak",\u0644\u06CC\u06D2:"liye",\u0633\u0627\u062A\u06BE:"sath",\u0628\u063A\u06CC\u0631:"baghair",\u0648\u062C\u06C1:"wajah",\u0637\u0631\u062D:"tarah",\u0637\u0631\u0641:"taraf",\u0628\u0627\u0631\u06D2:"baray",\u0628\u0639\u062F:"baad",\u067E\u06C1\u0644\u06D2:"pehlay",\u062F\u0648\u0631\u0627\u0646:"doran",\u062F\u0631\u0645\u06CC\u0627\u0646:"darmiyan",\u0639\u0644\u0627\u0648\u06C1:"alawa",\u0633\u0648\u0627\u0626\u06D2:"siwaye",\u0633\u0648\u0627:"siwa",\u0645\u0637\u0627\u0628\u0642:"mutabiq",\u0628\u0627\u0639\u062B:"baais",\u0630\u0631\u06CC\u0639\u06D2:"zariye",\u062A\u062D\u062A:"tehat",\u062E\u0644\u0627\u0641:"khilaf",\u062D\u0642:"haq",\u062D\u062A\u06CC:"hatta",\u06AF\u0648\u06CC\u0627:"goya",\u0686\u0646\u0627\u0646\u0686\u06C1:"chunancha",\u062E\u0648\u0627\u06C1:"khwah",\u0686\u0627\u06C1\u06D2:"chahe",\u0628\u0644\u06A9\u06C1:"balkeh",\u062D\u0627\u0644\u0627\u0646\u06A9\u06C1:"halankeh",\u0686\u0648\u0646\u06A9\u06C1:"chunkeh",\u06A9\u06CC\u0648\u0646\u06A9\u06C1:"kyunkeh",\u062A\u0627\u06A9\u06C1:"taakeh",\u0648\u0631\u0646\u06C1:"warna",\u0627\u0644\u0628\u062A\u06C1:"albatta",\u0645\u062B\u0644\u0627\u064B:"maslan",\u06CC\u0639\u0646\u06CC:"yaani",\u062E\u0635\u0648\u0635\u0627\u064B:"khasosan",\u0639\u0645\u0648\u0645\u0627\u064B:"amuman",\u0641\u0648\u0631\u0627\u064B:"fauran",\u062F\u0648\u0628\u0627\u0631\u06C1:"dobara",\u06CC\u0642\u06CC\u0646\u0627\u064B:"yaqeenan",\u062A\u0642\u0631\u06CC\u0628\u0627\u064B:"taqreeban",\u0628\u0639\u0636:"baaz",\u062A\u0645\u0627\u0645:"tamam",\u067E\u0648\u0631\u0627:"poora",\u067E\u0648\u0631\u06CC:"poori",\u067E\u0648\u0631\u06D2:"pooray",\u0622\u062F\u06BE\u0627:"aadha",\u062F\u0648\u0646\u0648\u06BA:"donon",\u062A\u06CC\u0646\u0648\u06BA:"teenon",\u0686\u0627\u0631\u0648\u06BA:"charon",\u0633\u0627\u0631\u0627:"sara",\u0633\u0627\u0631\u06CC:"sari",\u0633\u0627\u0631\u06D2:"saray",\u0628\u0627\u0642\u06CC:"baqi",\u06CC\u06C1\u0627\u06BA:"yahan",\u0648\u06C1\u0627\u06BA:"wahan",\u06A9\u06C1\u06CC\u06BA:"kahin",\u0648\u06C1\u06CC\u06BA:"wahin",\u06CC\u06C1\u06CC\u06BA:"yahin",\u0633\u0627\u0645\u0646\u06D2:"samnay",\u067E\u06CC\u0686\u06BE\u06D2:"peechay",\u0622\u06AF\u06D2:"agay",\u0627\u0648\u067E\u0631:"oopar",\u0646\u06CC\u0686\u06D2:"neechay",\u0627\u0646\u062F\u0631:"andar",\u0628\u0627\u06C1\u0631:"bahar",\u067E\u0627\u0633:"paas",\u062F\u0648\u0631:"door",\u0642\u0631\u06CC\u0628:"qareeb",\u062F\u0627\u0626\u06CC\u06BA:"dayen",\u0628\u0627\u0626\u06CC\u06BA:"bayen",\u0633\u06CC\u062F\u06BE\u0627:"seedha",\u0627\u0644\u0679\u0627:"ulta",\u0634\u0645\u0627\u0644:"shumal",\u062C\u0646\u0648\u0628:"janoob",\u0645\u0634\u0631\u0642:"mashriq",\u0645\u063A\u0631\u0628:"maghrib",\u0648\u0633\u0637:"wast",\u06C1\u06D2:"hai",\u06C1\u06CC\u06BA:"hain",\u06C1\u0648\u06BA:"hoon",\u06C1\u0648:"ho",\u062A\u06BE\u0627:"tha",\u062A\u06BE\u06CC:"thi",\u062A\u06BE\u06D2:"thay",\u062A\u06BE\u06CC\u06BA:"thein",\u06C1\u0648\u06AF\u0627:"hoga",\u06C1\u0648\u06AF\u06CC:"hogi",\u06C1\u0648\u0646\u06AF\u06D2:"honge",\u06C1\u0648\u06BA\u06AF\u06D2:"honge",\u06C1\u0648\u0646\u0627:"hona",\u06C1\u0648\u0627:"hua",\u06C1\u0648\u0626\u06CC:"hui",\u06C1\u0648\u0626\u06D2:"hue",\u06A9\u0631\u0646\u0627:"karna",\u06A9\u0631\u062A\u0627:"karta",\u06A9\u0631\u062A\u06CC:"karti",\u06A9\u0631\u062A\u06D2:"karte",\u06A9\u0631\u06CC\u06BA:"karain",\u06A9\u0631\u0648:"karo",\u06A9\u0631:"kar",\u06A9\u0631\u0646\u06D2:"karne",\u06A9\u06CC\u06D2:"kiye",\u062C\u0627\u0646\u0627:"jana",\u062C\u0627\u062A\u0627:"jata",\u062C\u0627\u062A\u06CC:"jati",\u062C\u0627\u062A\u06D2:"jate",\u062C\u0627\u0626\u06D2:"jaye",\u062C\u0627\u0626\u06CC\u06BA:"jayen",\u062C\u0627\u0624:"jao",\u062C\u0627:"ja",\u062C\u0627\u0646\u06D2:"jane",\u06AF\u06CC\u0627:"gaya",\u06AF\u0626\u06CC:"gayi",\u06AF\u0626\u06D2:"gaye",\u0622\u0646\u0627:"aana",\u0622\u062A\u0627:"aata",\u0622\u062A\u06CC:"aati",\u0622\u062A\u06D2:"aate",\u0622\u0626\u06D2:"aaye",\u0622\u0626\u06CC\u06BA:"aayen",\u0622\u06CC\u0627:"aaya",\u0622\u0626\u06CC:"aayi",\u0622\u0646\u06D2:"aane",\u0622\u0624:"aao",\u0622:"aa",\u062F\u06CC\u0646\u0627:"dena",\u062F\u06CC\u062A\u0627:"deta",\u062F\u06CC\u062A\u06CC:"deti",\u062F\u06CC\u062A\u06D2:"dete",\u062F\u06CC\u0627:"diya",\u062F\u06CC\u06D2:"diye",\u062F\u06D2:"de",\u062F\u0648:"do",\u062F\u06CC\u06BA:"dain",\u062F\u06CC\u0646\u06D2:"dene",\u0644\u06CC\u0646\u0627:"lena",\u0644\u06CC\u062A\u0627:"leta",\u0644\u06CC\u062A\u06CC:"leti",\u0644\u06CC\u062A\u06D2:"lete",\u0644\u06CC\u0627:"liya",\u0644\u06D2:"le",\u0644\u0648:"lo",\u0644\u06CC\u06BA:"lain",\u0644\u06CC\u0646\u06D2:"lene",\u06A9\u06C1\u0646\u0627:"kehna",\u06A9\u06C1\u0627:"kaha",\u06A9\u06C1\u062A\u0627:"kehta",\u06A9\u06C1\u062A\u06CC:"kehti",\u06A9\u06C1\u062A\u06D2:"kehte",\u06A9\u06C1\u0648:"kaho",\u06A9\u06C1\u0646\u06D2:"kehne",\u062F\u06CC\u06A9\u06BE\u0646\u0627:"dekhna",\u062F\u06CC\u06A9\u06BE\u0627:"dekha",\u062F\u06CC\u06A9\u06BE\u0648:"dekho",\u062F\u06CC\u06A9\u06BE\u062A\u0627:"dekhta",\u062F\u06CC\u06A9\u06BE\u062A\u06CC:"dekhti",\u062F\u06CC\u06A9\u06BE\u062A\u06D2:"dekhte",\u062F\u06CC\u06A9\u06BE\u0646\u06D2:"dekhne",\u0633\u0646\u0646\u0627:"sunna",\u0633\u0646\u0627:"suna",\u0633\u0646\u0648:"suno",\u0633\u0646\u062A\u0627:"sunta",\u0633\u0646\u062A\u06CC:"sunti",\u0633\u0646\u062A\u06D2:"sunte",\u0633\u0646\u0646\u06D2:"sunne",\u0628\u0648\u0644\u0646\u0627:"bolna",\u0628\u0648\u0644\u0627:"bola",\u0628\u0648\u0644\u0648:"bolo",\u0628\u0648\u0644\u062A\u0627:"bolta",\u067E\u0691\u06BE\u0646\u0627:"parhna",\u067E\u0691\u06BE\u0627:"parha",\u067E\u0691\u06BE\u0648:"parho",\u067E\u0691\u06BE\u062A\u0627:"parhta",\u067E\u0691\u06BE\u062A\u06CC:"parhti",\u067E\u0691\u06BE\u062A\u06D2:"parhte",\u067E\u0691\u06BE\u0646\u06D2:"parhne",\u0644\u06A9\u06BE\u0646\u0627:"likhna",\u0644\u06A9\u06BE\u0627:"likha",\u0644\u06A9\u06BE\u0648:"likho",\u0644\u06A9\u06BE\u062A\u0627:"likhta",\u0644\u06A9\u06BE\u062A\u06CC:"likhti",\u0644\u06A9\u06BE\u062A\u06D2:"likhte",\u0644\u06A9\u06BE\u0646\u06D2:"likhne",\u0633\u0645\u062C\u06BE\u0646\u0627:"samajhna",\u0633\u0645\u062C\u06BE\u0627:"samjha",\u0633\u0645\u062C\u06BE:"samajh",\u0633\u0645\u062C\u06BE\u0648:"samjho",\u0633\u0645\u062C\u06BE\u0646\u06D2:"samajhne",\u0633\u0645\u062C\u06BE\u0627\u0646\u0627:"samjhana",\u0633\u0645\u062C\u06BE\u0627\u06CC\u0627:"samjhaya",\u062C\u0627\u0646\u0646\u0627:"janna",\u062C\u0627\u0646\u062A\u0627:"janta",\u062C\u0627\u0646\u062A\u06CC:"janti",\u062C\u0627\u0646\u062A\u06D2:"jante",\u0645\u0639\u0644\u0648\u0645:"maloom",\u0686\u0627\u06C1\u0646\u0627:"chahna",\u0686\u0627\u06C1\u062A\u0627:"chahta",\u0686\u0627\u06C1\u062A\u06CC:"chahti",\u0686\u0627\u06C1\u062A\u06D2:"chahte",\u0686\u0627\u06C1\u06CC\u06D2:"chahiye",\u0633\u06A9\u0646\u0627:"sakna",\u0633\u06A9\u062A\u0627:"sakta",\u0633\u06A9\u062A\u06CC:"sakti",\u0633\u06A9\u062A\u06D2:"sakte",\u0631\u06C1\u0646\u0627:"rehna",\u0631\u06C1\u0627:"raha",\u0631\u06C1\u06CC:"rahi",\u0631\u06C1\u06D2:"rahe",\u0631\u06C1\u062A\u0627:"rehta",\u0631\u06C1\u062A\u06CC:"rehti",\u0631\u06C1\u062A\u06D2:"rehte",\u0631\u06C1\u0646\u06D2:"rehne",\u0628\u0646\u0646\u0627:"banna",\u0628\u0646\u0627\u0646\u0627:"banana",\u0628\u0646\u0627\u06CC\u0627:"banaya",\u0628\u0646\u0627\u0626\u06CC:"banayi",\u0628\u0646\u0627\u0626\u06D2:"banaye",\u0628\u0646\u0627:"bana",\u0645\u0644\u0646\u0627:"milna",\u0645\u0644\u0627:"mila",\u0645\u0644\u062A\u0627:"milta",\u0645\u0644\u062A\u06CC:"milti",\u0645\u0644\u062A\u06D2:"milte",\u0645\u0644\u06CC:"mili",\u0645\u0644\u06D2:"mile",\u0645\u0644\u0627\u0646\u0627:"milana",\u06A9\u06BE\u0627\u0646\u0627:"khana",\u06A9\u06BE\u0627\u06CC\u0627:"khaya",\u06A9\u06BE\u0627\u0624:"khao",\u06A9\u06BE\u0627\u062A\u0627:"khata",\u06A9\u06BE\u0627\u062A\u06CC:"khati",\u067E\u06CC\u0646\u0627:"peena",\u067E\u06CC\u0627:"piya",\u067E\u06CC\u0648:"peeyo",\u067E\u06CC\u062A\u0627:"peeta",\u0633\u0648\u0646\u0627:"sona",\u0633\u0648\u06CC\u0627:"soya",\u0633\u0648\u062A\u06D2:"sote",\u0627\u0679\u06BE\u0646\u0627:"uthna",\u0627\u0679\u06BE\u0627:"utha",\u0627\u0679\u06BE\u0648:"utho",\u0627\u0679\u06BE\u0627\u0646\u0627:"uthana",\u0627\u0679\u06BE\u0627\u06CC\u0627:"uthaya",\u0628\u06CC\u0679\u06BE\u0646\u0627:"baithna",\u0628\u06CC\u0679\u06BE\u0627:"baitha",\u0628\u06CC\u0679\u06BE\u0648:"baitho",\u0686\u0644\u0646\u0627:"chalna",\u0686\u0644\u0627:"chala",\u0686\u0644\u0648:"chalo",\u0686\u0644\u062A\u0627:"chalta",\u0686\u0644\u062A\u06CC:"chalti",\u0686\u0644\u062A\u06D2:"chalte",\u0686\u0644\u0627\u0646\u0627:"chalana",\u0686\u0644\u0627\u06CC\u0627:"chalaya",\u062F\u0648\u0691\u0646\u0627:"daurna",\u062F\u0648\u0691\u0627:"daura",\u0628\u06BE\u0627\u06AF\u0646\u0627:"bhagna",\u0628\u06BE\u0627\u06AF\u0627:"bhaga",\u0644\u0627\u0646\u0627:"lana",\u0644\u0627\u06CC\u0627:"laya",\u0644\u0627\u0626\u06D2:"laye",\u0644\u0627\u0626\u06CC:"layi",\u0644\u0627\u0624:"lao",\u0631\u06A9\u06BE\u0646\u0627:"rakhna",\u0631\u06A9\u06BE\u0627:"rakha",\u0631\u06A9\u06BE\u0648:"rakho",\u0631\u06A9\u06BE\u062A\u06D2:"rakhte",\u0645\u0627\u0646\u06AF\u0646\u0627:"mangna",\u0645\u0627\u0646\u06AF\u0627:"manga",\u067E\u0648\u0686\u06BE\u0646\u0627:"poochna",\u067E\u0648\u0686\u06BE\u0627:"poocha",\u067E\u0648\u0686\u06BE\u0648:"poocho",\u0628\u062A\u0627\u0646\u0627:"batana",\u0628\u062A\u0627\u06CC\u0627:"bataya",\u0628\u062A\u0627\u0624:"batao",\u06A9\u06BE\u0648\u0644\u0646\u0627:"kholna",\u06A9\u06BE\u0648\u0644\u0627:"khola",\u06A9\u06BE\u0644\u0627:"khula",\u0645\u0631\u0646\u0627:"marna",\u0645\u0631\u0627:"mara",\u0645\u0631\u06AF\u06CC\u0627:"margaya",\u062C\u06CC\u0646\u0627:"jeena",\u062C\u06CC\u0627:"jiya",\u0645\u0627\u0631\u0646\u0627:"maarna",\u0645\u0627\u0631\u0627:"maara",\u0645\u0627\u0631\u0648:"maaro",\u0628\u0686\u0627\u0646\u0627:"bachana",\u0628\u0686\u0627\u06CC\u0627:"bachaya",\u0628\u0686\u0646\u0627:"bachna",\u0628\u0686\u0627:"bacha",\u062C\u0644\u0627\u0646\u0627:"jalana",\u062C\u0644\u0627\u06CC\u0627:"jalaya",\u062C\u0644\u0646\u0627:"jalna",\u062C\u0644\u0627:"jala",\u0628\u062C\u06BE\u0627\u0646\u0627:"bujhana",\u0628\u062C\u06BE\u0646\u0627:"bujhna",\u0646\u0627\u0686\u0646\u0627:"nachna",\u06AF\u0627\u0646\u0627:"gana",\u06AF\u0627\u06CC\u0627:"gaya",\u0644\u0691\u0646\u0627:"larna",\u0644\u0691\u0627:"lara",\u062C\u06CC\u062A\u0646\u0627:"jeetna",\u062C\u06CC\u062A\u0627:"jeeta",\u06C1\u0627\u0631\u0646\u0627:"haarna",\u06C1\u0627\u0631\u0627:"haara",\u0686\u06BE\u067E\u0627\u0646\u0627:"chhupana",\u0686\u06BE\u067E\u0646\u0627:"chhupna",\u0688\u06BE\u0648\u0646\u0688\u0646\u0627:"dhoondna",\u0688\u06BE\u0648\u0646\u0688\u0627:"dhoonda",\u0628\u062F\u0644\u0646\u0627:"badalna",\u0628\u062F\u0644\u0627:"badla",\u0631\u06A9\u0646\u0627:"rukna",\u0631\u0648\u06A9\u0646\u0627:"rokna",\u0631\u0648\u06A9\u0627:"roka",\u0627\u0691\u0646\u0627:"urna",\u0627\u0691\u0627\u0646\u0627:"urana",\u062A\u06CC\u0631\u0646\u0627:"tairna",\u06A9\u06BE\u06CC\u0644\u0646\u0627:"khelna",\u06A9\u06BE\u06CC\u0644\u0627:"khela",\u06A9\u06BE\u06CC\u0644\u062A\u0627:"khelta",\u06C1\u0646\u0633\u0646\u0627:"hansna",\u06C1\u0646\u0633\u0627:"hansa",\u0631\u0648\u0646\u0627:"rona",\u0631\u0648\u06CC\u0627:"roya",\u0688\u0631\u0646\u0627:"darna",\u0688\u0631\u0627:"dara",\u0688\u0631\u0627\u0646\u0627:"darana",\u0628\u06BE\u0648\u0644\u0646\u0627:"bhoolna",\u0628\u06BE\u0648\u0644\u0627:"bhoola",\u06CC\u0627\u062F:"yaad",\u0633\u06CC\u06A9\u06BE\u0646\u0627:"seekhna",\u0633\u06CC\u06A9\u06BE\u0627:"seekha",\u0633\u06A9\u06BE\u0627\u0646\u0627:"sikhana",\u0633\u06A9\u06BE\u0627\u06CC\u0627:"sikhaya",\u067E\u06A9\u0627\u0646\u0627:"pakana",\u067E\u06A9\u0627\u06CC\u0627:"pakaya",\u067E\u06A9\u0646\u0627:"pakna",\u067E\u06A9\u0627:"paka",\u062F\u06BE\u0648\u0646\u0627:"dhona",\u062F\u06BE\u0648\u06CC\u0627:"dhoya",\u067E\u06C1\u0646\u0646\u0627:"pehanna",\u067E\u06C1\u0646\u0627:"pehna",\u0627\u062A\u0627\u0631\u0646\u0627:"utarna",\u0627\u062A\u0627\u0631\u0627:"utara",\u0627\u062A\u0631\u0648:"utro",\u0627\u062A\u0631\u0646\u0627:"utarna",\u0628\u06CC\u0686\u0646\u0627:"bechna",\u0628\u06CC\u0686\u0627:"becha",\u062E\u0631\u06CC\u062F\u0646\u0627:"khareedna",\u062E\u0631\u06CC\u062F\u0627:"khareeda",\u0628\u06BE\u06CC\u062C\u0646\u0627:"bhejna",\u0628\u06BE\u06CC\u062C\u0627:"bheja",\u067E\u06C1\u0646\u0686\u0646\u0627:"pohanchna",\u067E\u06C1\u0646\u0686\u0627:"pohancha",\u067E\u06C1\u0646\u0686\u0627\u0646\u0627:"pohonchana",\u0646\u06A9\u0644\u0646\u0627:"nikalna",\u0646\u06A9\u0644\u0627:"nikla",\u0646\u06A9\u0627\u0644\u0646\u0627:"nikalna",\u0646\u06A9\u0627\u0644\u0627:"nikala",\u06AF\u0631\u0646\u0627:"girna",\u06AF\u0631\u0627:"gira",\u06AF\u0631\u0627\u0646\u0627:"girana",\u067E\u06A9\u0691\u0646\u0627:"pakarna",\u067E\u06A9\u0691\u0627:"pakra",\u0686\u06BE\u0648\u0691\u0646\u0627:"chhorna",\u0686\u06BE\u0648\u0691\u0627:"chhora",\u062A\u0648\u0691\u0646\u0627:"torna",\u062A\u0648\u0691\u0627:"tora",\u0679\u0648\u0679\u0646\u0627:"tootna",\u062C\u0648\u0691\u0646\u0627:"jorna",\u062C\u0648\u0691\u0627:"jora",\u06A9\u0627\u0679\u0646\u0627:"katna",\u06A9\u0627\u0679\u0627:"kata",\u0688\u0627\u0644\u0646\u0627:"daalna",\u0688\u0627\u0644\u0627:"dala",\u0645\u0627\u0646\u0646\u0627:"manna",\u0645\u0627\u0646\u0627:"mana",\u067E\u06C1\u0686\u0627\u0646\u0646\u0627:"pehchanna",\u067E\u06C1\u0686\u0627\u0646\u0627:"pehchana",\u0628\u0644\u0627\u0646\u0627:"bulana",\u0628\u0644\u0627\u06CC\u0627:"bulaya",\u067E\u06A9\u0627\u0631\u0646\u0627:"pukarna",\u062F\u06A9\u06BE\u0627\u0646\u0627:"dikhana",\u062F\u06A9\u06BE\u0627\u06CC\u0627:"dikhaya",\u0633\u0646\u0627\u0646\u0627:"sunana",\u0633\u0646\u0627\u06CC\u0627:"sunaya",\u067E\u06BE\u06CC\u0646\u06A9\u0646\u0627:"phenkna",\u067E\u06BE\u06CC\u0646\u06A9\u0627:"phenka",\u06A9\u06BE\u06CC\u0646\u0686\u0646\u0627:"kheinchna",\u06A9\u06BE\u06CC\u0646\u0686\u0627:"kheincha",\u0644\u06CC\u0679\u0646\u0627:"letna",\u062C\u0627\u06AF\u0646\u0627:"jagna",\u062C\u06AF\u0627\u0646\u0627:"jagana",\u06A9\u06BE\u0644\u0627\u0646\u0627:"khilana",\u067E\u0644\u0627\u0646\u0627:"pilana",\u067E\u0644\u0679\u0646\u0627:"palatna",\u0644\u0648\u0679\u0646\u0627:"lautna",\u0679\u0648\u06A9\u0646\u0627:"tokna",\u06AF\u0632\u0627\u0631\u0646\u0627:"guzarna",\u06AF\u0632\u0631\u0646\u0627:"guzarna",\u06AF\u0632\u0631:"guzar",\u0628\u06CC\u062A\u0646\u0627:"beetna",\u062C\u06BE\u06AF\u0691\u0646\u0627:"jhagarna",\u0633\u06C1\u0646\u0627:"sehna",\u06A9\u0645\u0627\u0646\u0627:"kamana",\u06A9\u0645\u0627\u06CC\u0627:"kamaya",\u0686\u06BE\u0648\u0646\u0627:"chhoona",\u0686\u06A9\u06BE\u0646\u0627:"chakhna",\u0633\u0648\u0646\u06AF\u06BE\u0646\u0627:"soonghna",\u06AF\u0646\u0646\u0627:"ginna",\u062A\u0648\u0644\u0646\u0627:"tolna",\u0646\u0627\u067E\u0646\u0627:"naapna",\u0628\u0627\u0646\u062F\u06BE\u0646\u0627:"bandhna",\u0628\u0627\u0646\u062F\u06BE\u0627:"bandha",\u0628\u06BE\u0631\u0646\u0627:"bharna",\u0628\u06BE\u0631\u0627:"bhara",\u0688\u0648\u0628\u0646\u0627:"doobna",\u0688\u0648\u0628\u0627:"dooba",\u0686\u0645\u06A9\u0646\u0627:"chamakna",\u0686\u0645\u06A9\u0627:"chamka",\u0645\u06C1\u06A9\u0646\u0627:"mehakna",\u06AF\u06BE\u0648\u0645\u0646\u0627:"ghoomna",\u067E\u06BE\u0631\u0646\u0627:"phirna",\u0686\u06BE\u06CC\u0646\u0646\u0627:"chheenna",\u067E\u06BE\u06CC\u0644\u0646\u0627:"phailna",\u067E\u06BE\u06CC\u0644\u0627\u0646\u0627:"phailana",\u0633\u0645\u0679\u0646\u0627:"simatna",\u0648\u0627\u0644\u0627:"wala",\u0648\u0627\u0644\u06CC:"wali",\u0648\u0627\u0644\u06D2:"walay",\u0634\u0631\u0648\u0639:"shuru",\u062E\u062A\u0645:"khatam",\u0628\u0646\u062F:"band",\u067E\u06CC\u062F\u0627:"paida",\u0622\u062F\u0645\u06CC:"aadmi",\u0639\u0648\u0631\u062A:"aurat",\u0644\u0691\u06A9\u0627:"larka",\u0644\u0691\u06A9\u06CC:"larki",\u0644\u0691\u06A9\u06D2:"larke",\u0644\u0691\u06A9\u06CC\u0627\u06BA:"larkiyan",\u0628\u0686\u06C1:"bacha",\u0628\u0686\u06CC:"bachi",\u0628\u0686\u06D2:"bache",\u0628\u0686\u0648\u06BA:"bachon",\u0645\u0627\u06BA:"maan",\u0628\u0627\u067E:"baap",\u0648\u0627\u0644\u062F:"walid",\u0648\u0627\u0644\u062F\u06C1:"walida",\u0648\u0627\u0644\u062F\u06CC\u0646:"walidain",\u0627\u0645\u06CC:"ammi",\u0627\u0628\u0648:"abbu",\u0628\u06BE\u0627\u0626\u06CC:"bhai",\u0628\u06C1\u0646:"behan",\u0628\u0627\u062C\u06CC:"baji",\u0622\u067E\u06CC:"api",\u0628\u06CC\u0679\u0627:"beta",\u0628\u06CC\u0679\u06CC:"beti",\u0628\u06CC\u0679\u06D2:"bete",\u0628\u06CC\u0679\u06CC\u0627\u06BA:"betiyan",\u067E\u0648\u062A\u0627:"pota",\u067E\u0648\u062A\u06CC:"poti",\u0646\u0648\u0627\u0633\u0627:"nawasa",\u0646\u0648\u0627\u0633\u06CC:"nawasi",\u062F\u0627\u062F\u0627:"dada",\u062F\u0627\u062F\u06CC:"dadi",\u0646\u0627\u0646\u0627:"nana",\u0646\u0627\u0646\u06CC:"nani",\u0686\u0686\u0627:"chacha",\u0686\u0686\u06CC:"chachi",\u0645\u0627\u0645\u0648\u06BA:"mamoon",\u0645\u0645\u0627\u0646\u06CC:"mami",\u062E\u0627\u0644\u06C1:"khala",\u062E\u0627\u0644\u0648:"khalu",\u067E\u06BE\u0648\u067E\u06BE\u06CC:"phupi",\u067E\u06BE\u0648\u067E\u06BE\u0627:"phupha",\u0634\u0648\u06C1\u0631:"shauhar",\u0628\u06CC\u0648\u06CC:"biwi",\u062F\u0648\u0644\u06C1\u0627:"dulha",\u062F\u0644\u06C1\u0646:"dulhan",\u0634\u0627\u062F\u06CC:"shaadi",\u0646\u06A9\u0627\u062D:"nikah",\u0631\u0634\u062A\u06C1:"rishta",\u062E\u0627\u0646\u062F\u0627\u0646:"khandan",\u0645\u06C1\u0645\u0627\u0646:"mehman",\u0645\u06CC\u0632\u0628\u0627\u0646:"mezban",\u062F\u0648\u0633\u062A:"dost",\u062F\u0634\u0645\u0646:"dushman",\u067E\u0691\u0648\u0633\u06CC:"parosi",\u06C1\u0645\u0633\u0627\u06CC\u06C1:"humsaya",\u0633\u0627\u062A\u06BE\u06CC:"sathi",\u0628\u0632\u0631\u06AF:"buzurg",\u062C\u0648\u0627\u0646:"jawan",\u0646\u0648\u062C\u0648\u0627\u0646:"naujawan",\u0628\u0648\u0691\u06BE\u0627:"boorha",\u0628\u0648\u0691\u06BE\u06CC:"boorhi",\u0627\u0646\u0633\u0627\u0646:"insan",\u0644\u0648\u06AF:"log",\u0639\u0648\u0627\u0645:"awam",\u0634\u062E\u0635:"shakhs",\u0641\u0631\u062F:"fard",\u0627\u0633\u062A\u0627\u062F:"ustad",\u0627\u0633\u062A\u0627\u0646\u06CC:"ustani",\u0637\u0627\u0644\u0628:"talib",\u0634\u0627\u06AF\u0631\u062F:"shagird",\u0688\u0627\u06A9\u0679\u0631:"doctor",\u062D\u06A9\u06CC\u0645:"hakeem",\u0637\u0628\u06CC\u0628:"tabeeb",\u0646\u0631\u0633:"nurse",\u0633\u0631\u062C\u0646:"surgeon",\u0648\u06A9\u06CC\u0644:"wakeel",\u062C\u062C:"judge",\u0645\u0646\u0635\u0641:"munsif",\u06A9\u0633\u0627\u0646:"kisan",\u0632\u0645\u06CC\u0646\u062F\u0627\u0631:"zameendar",\u0645\u0632\u062F\u0648\u0631:"mazdoor",\u06A9\u0627\u0631\u06CC\u06AF\u0631:"karigar",\u062F\u0631\u0632\u06CC:"darzi",\u0645\u0648\u0686\u06CC:"mochi",\u062F\u06BE\u0648\u0628\u06CC:"dhobi",\u062D\u062C\u0627\u0645:"hajam",\u0646\u0627\u0626\u06CC:"nai",\u0628\u0627\u0648\u0631\u0686\u06CC:"bawarchi",\u062E\u0627\u0646\u0633\u0627\u0645\u0627\u06BA:"khansama",\u0686\u0648\u06A9\u06CC\u062F\u0627\u0631:"chowkidar",\u06AF\u0627\u0631\u0688:"guard",\u067E\u0648\u0644\u06CC\u0633:"police",\u0633\u067E\u0627\u06C1\u06CC:"sipahi",\u0641\u0648\u062C\u06CC:"fauji",\u0627\u0641\u0633\u0631:"afsar",\u0645\u06CC\u0646\u06CC\u062C\u0631:"manager",\u0688\u0627\u0626\u0631\u06CC\u06A9\u0679\u0631:"director",\u0635\u062F\u0631:"sadar",\u0648\u0632\u06CC\u0631:"wazeer",\u0633\u0641\u06CC\u0631:"safeer",\u062A\u0627\u062C\u0631:"tajir",\u062F\u06A9\u0627\u0646\u062F\u0627\u0631:"dukandar",\u0688\u0631\u0627\u0626\u06CC\u0648\u0631:"driver",\u067E\u0627\u0626\u0644\u0679:"pilot",\u0627\u0646\u062C\u06CC\u0646\u0626\u0631:"engineer",\u0633\u0627\u0626\u0646\u0633\u062F\u0627\u0646:"sciencedan",\u0634\u0627\u0639\u0631:"shair",\u0627\u062F\u06CC\u0628:"adeeb",\u0645\u0635\u0646\u0641:"musannif",\u0635\u062D\u0627\u0641\u06CC:"sahafi",\u0641\u0646\u06A9\u0627\u0631:"fankar",\u06AF\u0644\u0648\u06A9\u0627\u0631:"gulokar",\u0627\u062F\u0627\u06A9\u0627\u0631:"adakar",\u06A9\u06BE\u0644\u0627\u0691\u06CC:"khilari",\u06AF\u06BE\u0631:"ghar",\u0645\u06A9\u0627\u0646:"makan",\u06A9\u0645\u0631\u06C1:"kamra",\u062F\u0631\u0648\u0627\u0632\u06C1:"darwaza",\u06A9\u06BE\u0691\u06A9\u06CC:"khirki",\u0686\u06BE\u062A:"chhat",\u062F\u06CC\u0648\u0627\u0631:"deewar",\u0641\u0631\u0634:"farsh",\u0635\u062D\u0646:"sehan",\u062E\u0627\u0646\u06C1:"khana",\u0645\u062F\u0631\u0633\u06C1:"madrasa",\u0633\u06A9\u0648\u0644:"school",\u06A9\u0627\u0644\u062C:"college",\u06CC\u0648\u0646\u06CC\u0648\u0631\u0633\u0679\u06CC:"university",\u0645\u06A9\u062A\u0628:"maktab",\u062C\u0627\u0645\u0639\u06C1:"jamia",\u0644\u0627\u0626\u0628\u0631\u06CC\u0631\u06CC:"library",\u06C1\u0633\u067E\u062A\u0627\u0644:"hospital",\u0634\u0641\u0627\u062E\u0627\u0646\u06C1:"shifakhana",\u06A9\u0644\u06CC\u0646\u06A9:"clinic",\u062F\u0648\u0627\u062E\u0627\u0646\u06C1:"dawakhana",\u062F\u06A9\u0627\u0646:"dukan",\u0645\u0627\u0631\u06A9\u06CC\u0679:"market",\u0628\u0627\u0632\u0627\u0631:"bazaar",\u0645\u0627\u0644:"mall",\u067E\u0644\u0627\u0632\u06C1:"plaza",\u06C1\u0648\u0679\u0644:"hotel",\u0631\u06CC\u0633\u062A\u0648\u0631\u0627\u0646:"restaurant",\u0688\u06BE\u0627\u0628\u06C1:"dhaba",\u0645\u0633\u062C\u062F:"masjid",\u0645\u0646\u062F\u0631:"mandir",\u06AF\u0631\u062C\u0627:"girja",\u0645\u0632\u0627\u0631:"mazar",\u062F\u0631\u06AF\u0627\u06C1:"dargah",\u0642\u0628\u0631\u0633\u062A\u0627\u0646:"qabristan",\u0634\u06C1\u0631:"shehar",\u0642\u0635\u0628\u06C1:"qasba",\u06AF\u0627\u0624\u06BA:"gaon",\u062F\u06CC\u06C1\u0627\u062A:"dehat",\u0645\u0644\u06A9:"mulk",\u0648\u0637\u0646:"watan",\u062F\u0646\u06CC\u0627:"dunya",\u062C\u06C1\u0627\u06BA:"jahan",\u0631\u0627\u0633\u062A\u06C1:"rasta",\u0633\u0691\u06A9:"sarak",\u06AF\u0644\u06CC:"gali",\u06A9\u0648\u0686\u06C1:"koocha",\u0645\u062D\u0644\u06C1:"mohalla",\u0686\u0648\u06A9:"chowk",\u0634\u0627\u06C1\u0631\u0627\u06C1:"shahrah",\u067E\u0644:"pul",\u0628\u0627\u063A:"bagh",\u067E\u0627\u0631\u06A9:"park",\u0645\u06CC\u062F\u0627\u0646:"maidan",\u0627\u0633\u0679\u06CC\u0688\u06CC\u0645:"stadium",\u062F\u0641\u062A\u0631:"daftar",\u062A\u06BE\u0627\u0646\u06C1:"thana",\u0686\u0648\u06A9\u06CC:"chowki",\u062C\u06CC\u0644:"jail",\u0642\u06CC\u062F\u062E\u0627\u0646\u06C1:"qaidkhana",\u0639\u062F\u0627\u0644\u062A:"adalat",\u06A9\u0686\u06C1\u0631\u06CC:"kachehri",\u0627\u0633\u0679\u06CC\u0634\u0646:"station",\u0627\u06CC\u0626\u0631\u067E\u0648\u0631\u0679:"airport",\u0628\u0646\u062F\u0631\u06AF\u0627\u06C1:"bandargah",\u06A9\u0627\u0631\u062E\u0627\u0646\u06C1:"karkhana",\u0641\u06CC\u06A9\u0679\u0631\u06CC:"factory",\u06A9\u0645\u067E\u06CC\u0648\u0679\u0631:"computer",\u0645\u0648\u0628\u0627\u0626\u0644:"mobile",\u0641\u0648\u0646:"phone",\u0627\u0646\u0679\u0631\u0646\u06CC\u0679:"internet",\u0628\u0633:"bus",\u0679\u0631\u06CC\u0646:"train",\u06A9\u0627\u0631:"car",\u0633\u0627\u0626\u06CC\u06A9\u0644:"cycle",\u0645\u0648\u0679\u0631:"motor",\u0679\u0631\u06CC\u0641\u06A9:"traffic",\u0633\u06AF\u0646\u0644:"signal",\u067E\u06CC\u0679\u0631\u0648\u0644:"petrol",\u0688\u06CC\u0632\u0644:"diesel",\u06AF\u06CC\u0633:"gas",\u0628\u06CC\u0679\u0631\u06CC:"battery",\u0686\u0627\u0631\u062C\u0631:"charger",\u06A9\u06CC\u0645\u0631\u06C1:"camera",\u0631\u06CC\u0688\u06CC\u0648:"radio",\u0679\u06CC\u0644\u06CC\u0648\u06CC\u0698\u0646:"television",\u0679\u06CC\u0644\u06CC\u06AF\u0631\u0627\u0645:"telegram",\u0648\u06CC\u0688\u06CC\u0648:"video",\u0622\u0688\u06CC\u0648:"audio",\u0645\u0627\u0626\u06CC\u06A9:"mic",\u0633\u067E\u06CC\u06A9\u0631:"speaker",\u0633\u06A9\u0631\u06CC\u0646:"screen",\u0633\u0627\u0641\u0679\u0648\u06CC\u0626\u0631:"software",\u06C1\u0627\u0631\u0688\u0648\u06CC\u0626\u0631:"hardware",\u0648\u06CC\u0628:"web",\u0627\u06CC\u067E:"app",\u0627\u06CC\u067E\u0644\u06CC\u06A9\u06CC\u0634\u0646:"application",\u0627\u06CC\u0645\u06CC\u0644:"email",\u0645\u06CC\u0633\u062C:"message",\u0686\u06CC\u0679:"chat",\u0622\u0646\u0644\u0627\u0626\u0646:"online",\u0622\u0641\u0644\u0627\u0626\u0646:"offline",\u0627\u06A9\u0627\u0624\u0646\u0679:"account",\u067E\u0627\u0633\u0648\u0631\u0688:"password",\u0633\u06CC\u06A9\u06CC\u0648\u0631\u0679\u06CC:"security",\u0633\u0631\u0648\u0631:"server",\u0646\u06CC\u0679\u0648\u0631\u06A9:"network",\u0641\u0627\u0626\u0644:"file",\u0641\u0648\u0644\u0688\u0631:"folder",\u0644\u0646\u06A9:"link",\u067E\u0648\u0633\u0679:"post",\u06A9\u0645\u0646\u0679:"comment",\u0686\u06CC\u0646\u0644:"channel",\u06AF\u0631\u0648\u067E:"group",\u0688\u0627\u0624\u0646\u0644\u0648\u0688:"download",\u0627\u067E\u0644\u0648\u0688:"upload",\u0633\u0631\u0686:"search",\u06A9\u0644\u06A9:"click",\u0679\u0627\u0626\u067E:"type",\u0679\u06CC\u0633\u0679:"test",\u0646\u0645\u0628\u0631:"number",\u06A9\u0644\u0627\u0633:"class",\u0688\u06AF\u0631\u06CC:"degree",\u0633\u0633\u0679\u0645:"system",\u067E\u0631\u0648\u06AF\u0631\u0627\u0645:"program",\u0679\u06CC\u06A9\u0646\u0627\u0644\u0648\u062C\u06CC:"technology",\u0688\u06CC\u0679\u0627:"data",\u0679\u06A9\u0679:"ticket",\u067E\u0627\u0633\u067E\u0648\u0631\u0679:"passport",\u0648\u06CC\u0632\u0627:"visa",\u0628\u06CC\u0646\u06A9:"bank",\u0686\u06CC\u06A9:"cheque",\u06A9\u0627\u0631\u0688:"card",\u0679\u06CC\u06A9\u0633:"tax",\u0628\u0644:"bill",\u0648\u0627\u0631\u0688:"ward",\u0622\u067E\u0631\u06CC\u0634\u0646:"operation",\u0627\u06CC\u0645\u0628\u0648\u0644\u06CC\u0646\u0633:"ambulance",\u062F\u0646:"din",\u0631\u0627\u062A:"raat",\u0635\u0628\u062D:"subah",\u0634\u0627\u0645:"shaam",\u0633\u062D\u0631:"sehar",\u062F\u0648\u067E\u06C1\u0631:"dopahar",\u067E\u06C1\u0631:"pehar",\u0648\u0642\u062A:"waqt",\u06AF\u06BE\u0646\u0679\u06C1:"ghanta",\u0645\u0646\u0679:"minute",\u0633\u06CC\u06A9\u0646\u0688:"second",\u0644\u0645\u062D\u06C1:"lamha",\u06C1\u0641\u062A\u06C1:"hafta",\u0645\u06C1\u06CC\u0646\u06C1:"maheena",\u0633\u0627\u0644:"saal",\u0635\u062F\u06CC:"sadi",\u0632\u0645\u0627\u0646\u06C1:"zamana",\u0645\u062F\u062A:"muddat",\u0639\u0645\u0631:"umar",\u0622\u062C:"aaj",\u06A9\u0644:"kal",\u067E\u0631\u0633\u0648\u06BA:"parson",\u062A\u0631\u0633\u0648\u06BA:"tarson",\u0627\u0628\u06BE\u06CC:"abhi",\u0627\u0628:"ab",\u067E\u06BE\u0631:"phir",\u062A\u0628:"tab",\u062C\u0628:"jab",\u06C1\u0645\u06CC\u0634\u06C1:"hamesha",\u06A9\u0628\u06BE\u06CC:"kabhi",\u0627\u06A9\u062B\u0631:"aksar",\u0631\u0648\u0632:"roz",\u0631\u0648\u0632\u0627\u0646\u06C1:"rozana",\u0645\u0627\u06C1\u0627\u0646\u06C1:"mahana",\u0633\u0627\u0644\u0627\u0646\u06C1:"salana",\u067E\u06CC\u0631:"peer",\u0645\u0646\u06AF\u0644:"mangal",\u0628\u062F\u06BE:"budh",\u062C\u0645\u0639\u0631\u0627\u062A:"jumeraat",\u062C\u0645\u0639\u06C1:"jumma",\u0627\u062A\u0648\u0627\u0631:"itwar",\u062C\u0646\u0648\u0631\u06CC:"january",\u0641\u0631\u0648\u0631\u06CC:"february",\u0645\u0627\u0631\u0686:"march",\u0627\u067E\u0631\u06CC\u0644:"april",\u0645\u0626\u06CC:"may",\u062C\u0648\u0646:"june",\u062C\u0648\u0644\u0627\u0626\u06CC:"july",\u0627\u06AF\u0633\u062A:"august",\u0633\u062A\u0645\u0628\u0631:"september",\u0627\u06A9\u062A\u0648\u0628\u0631:"october",\u0646\u0648\u0645\u0628\u0631:"november",\u062F\u0633\u0645\u0628\u0631:"december",\u0645\u0648\u0633\u0645:"mausam",\u06AF\u0631\u0645\u06CC:"garmi",\u0633\u0631\u062F\u06CC:"sardi",\u0628\u06C1\u0627\u0631:"bahaar",\u062E\u0632\u0627\u06BA:"khazan",\u0628\u0631\u0633\u0627\u062A:"barsaat",\u0628\u0627\u0631\u0634:"barish",\u062F\u06BE\u0648\u067E:"dhoop",\u0686\u06BE\u0627\u0624\u06BA:"chhaon",\u0628\u0627\u062F\u0644:"badal",\u0628\u0631\u0641:"baraf",\u0627\u0648\u0644\u06D2:"olay",\u06A9\u06C1\u0631:"kohar",\u062F\u06BE\u0646\u062F:"dhund",\u0622\u0646\u062F\u06BE\u06CC:"aandhi",\u0637\u0648\u0641\u0627\u0646:"toofan",\u0633\u06CC\u0644\u0627\u0628:"sailab",\u0632\u0644\u0632\u0644\u06C1:"zalzala",\u0622\u0633\u0645\u0627\u0646:"asman",\u0632\u0645\u06CC\u0646:"zameen",\u0633\u0648\u0631\u062C:"sooraj",\u0686\u0627\u0646\u062F:"chand",\u0633\u062A\u0627\u0631\u06C1:"sitara",\u06A9\u06C1\u06A9\u0634\u0627\u0646:"kahkashan",\u06A9\u062A\u0627\u0628:"kitaab",\u0642\u0644\u0645:"qalam",\u06A9\u0627\u063A\u0630:"kaghaz",\u062F\u0648\u0627\u062A:"dawat",\u0633\u06CC\u0627\u06C1\u06CC:"siyahi",\u067E\u0646\u0633\u0644:"pencil",\u0628\u0633\u062A\u06C1:"basta",\u0628\u06CC\u06AF:"bag",\u0645\u06CC\u0632:"mez",\u06A9\u0631\u0633\u06CC:"kursi",\u0627\u0644\u0645\u0627\u0631\u06CC:"almari",\u0635\u0648\u0641\u06C1:"sofa",\u067E\u0644\u0646\u06AF:"palang",\u0628\u0633\u062A\u0631:"bistar",\u06AF\u062F\u0627:"gadda",\u0686\u0627\u062F\u0631:"chadar",\u062A\u06A9\u06CC\u06C1:"takiya",\u06A9\u0645\u0628\u0644:"kambal",\u0644\u062D\u0627\u0641:"lihaf",\u067E\u0631\u062F\u06C1:"parda",\u0642\u0627\u0644\u06CC\u0646:"qaleen",\u0686\u0679\u0627\u0626\u06CC:"chatai",\u067E\u0646\u06A9\u06BE\u0627:"pankha",\u0686\u0648\u0644\u06C1\u0627:"choolha",\u0641\u0631\u06CC\u062C:"fridge",\u0628\u0631\u062A\u0646:"bartan",\u0686\u0645\u0686:"chamach",\u06A9\u0627\u0646\u0679\u0627:"kanta",\u0686\u06BE\u0631\u06CC:"chhuri",\u0686\u0627\u0642\u0648:"chaqoo",\u067E\u0644\u06CC\u0679:"plate",\u067E\u06CC\u0627\u0644\u06CC:"pyali",\u067E\u06CC\u0627\u0644\u06C1:"pyala",\u06A9\u067E:"cup",\u06AF\u0644\u0627\u0633:"glass",\u062C\u06AF:"jug",\u0628\u0648\u062A\u0644:"botal",\u0688\u0628\u06C1:"dabba",\u0628\u0627\u0644\u0679\u06CC:"balti",\u0645\u06AF:"mug",\u062C\u06BE\u0627\u0691\u0648:"jharoo",\u0635\u0627\u0628\u0646:"sabun",\u062A\u0648\u0644\u06CC\u06C1:"toliya",\u0622\u0626\u06CC\u0646\u06C1:"aaina",\u0634\u06CC\u0634\u06C1:"sheesha",\u06A9\u0646\u06AF\u06BE\u06CC:"kanghi",\u0633\u0648\u0626\u06CC:"sui",\u062F\u06BE\u0627\u06AF\u06C1:"dhaga",\u0642\u06CC\u0646\u0686\u06CC:"qainchi",\u062A\u0627\u0644\u0627:"tala",\u0686\u0627\u0628\u06CC:"chabi",\u06AF\u06BE\u0691\u06CC:"ghari",\u0679\u0648\u067E\u06CC:"topi",\u067E\u06AF\u0691\u06CC:"pagri",\u0642\u0645\u06CC\u0636:"qameez",\u0634\u0644\u0648\u0627\u0631:"shalwar",\u067E\u0627\u062C\u0627\u0645\u06C1:"pajama",\u067E\u06CC\u0646\u0679:"pant",\u0634\u0631\u0679:"shirt",\u06A9\u0648\u0679:"coat",\u0648\u0627\u0633\u06A9\u0648\u0679:"waistcoat",\u0634\u0627\u0644:"shawl",\u062F\u0648\u067E\u0679\u06C1:"dupatta",\u062C\u0631\u0627\u0628:"jurab",\u062F\u0633\u062A\u0627\u0646\u06D2:"dastaney",\u062C\u0648\u062A\u0627:"joota",\u0686\u067E\u0644:"chappal",\u0635\u0646\u062F\u0644:"sandal",\u06A9\u067E\u0691\u0627:"kapra",\u0631\u06CC\u0634\u0645:"resham",\u0633\u0648\u062A:"soot",\u0627\u0648\u0646:"oon",\u067E\u0627\u0646\u06CC:"paani",\u062F\u0648\u062F\u06BE:"doodh",\u062F\u06C1\u06CC:"dahi",\u0645\u06A9\u06BE\u0646:"makhan",\u06AF\u06BE\u06CC:"ghee",\u067E\u0646\u06CC\u0631:"paneer",\u0645\u0644\u0627\u0626\u06CC:"malai",\u0686\u0627\u0626\u06D2:"chai",\u0642\u06C1\u0648\u06C1:"qehwa",\u06A9\u0627\u0641\u06CC:"coffee",\u0634\u0631\u0628\u062A:"sharbat",\u0644\u0633\u06CC:"lassi",\u062C\u0648\u0633:"juice",\u0631\u0648\u0679\u06CC:"roti",\u0646\u0627\u0646:"naan",\u067E\u0631\u0627\u0679\u06BE\u0627:"paratha",\u06A9\u0644\u0686\u06C1:"kulcha",\u0686\u0627\u0648\u0644:"chawal",\u0628\u0631\u06CC\u0627\u0646\u06CC:"biryani",\u067E\u0644\u0627\u0624:"pulao",\u0633\u0627\u0644\u0646:"salan",\u0634\u0648\u0631\u0628\u06C1:"shorba",\u0642\u0648\u0631\u0645\u06C1:"qorma",\u06A9\u0691\u0627\u06C1\u06CC:"karahi",\u0646\u06C1\u0627\u0631\u06CC:"nihari",\u062D\u0644\u06CC\u0645:"haleem",\u06A9\u0628\u0627\u0628:"kabab",\u062A\u06A9\u06C1:"tikka",\u0633\u0645\u0648\u0633\u06C1:"samosa",\u067E\u06A9\u0648\u0691\u0627:"pakaura",\u0631\u0648\u0644:"roll",\u062F\u0627\u0644:"daal",\u06AF\u0648\u0634\u062A:"gosht",\u0642\u06CC\u0645\u06C1:"qeema",\u0645\u0631\u063A\u06CC:"murghi",\u0645\u0686\u06BE\u0644\u06CC:"machhli",\u0627\u0646\u0688\u0627:"anda",\u0633\u0628\u0632\u06CC:"sabzi",\u0622\u0679\u0627:"aata",\u0645\u06CC\u062F\u06C1:"maida",\u0633\u0648\u062C\u06CC:"sooji",\u0628\u06CC\u0633\u0646:"besan",\u062A\u06CC\u0644:"tel",\u0646\u0645\u06A9:"namak",\u0686\u06CC\u0646\u06CC:"cheeni",\u0634\u06A9\u0631:"shukr",\u06AF\u0691:"gur",\u0634\u06C1\u062F:"shehad",\u0645\u0631\u0686:"mirch",\u06C1\u0644\u062F\u06CC:"haldi",\u062F\u06BE\u0646\u06CC\u0627:"dhaniya",\u0632\u06CC\u0631\u06C1:"zeera",\u0644\u06C1\u0633\u0646:"lehsun",\u0627\u062F\u0631\u06A9:"adrak",\u067E\u06CC\u0627\u0632:"pyaz",\u0679\u0645\u0627\u0679\u0631:"tamatar",\u0622\u0644\u0648:"aloo",\u06AF\u0627\u062C\u0631:"gajar",\u0645\u0648\u0644\u06CC:"mooli",\u0634\u0644\u062C\u0645:"shaljam",\u0645\u0679\u0631:"matar",\u067E\u0627\u0644\u06A9:"palak",\u0645\u06CC\u062A\u06BE\u06CC:"methi",\u06AF\u0648\u0628\u06BE\u06CC:"gobhi",\u0628\u06CC\u0646\u06AF\u0646:"baingan",\u0628\u06BE\u0646\u0688\u06CC:"bhindi",\u06A9\u0631\u06CC\u0644\u0627:"karela",\u06A9\u062F\u0648:"kaddu",\u0644\u0648\u06A9\u06CC:"lauki",\u0679\u06CC\u0646\u0688\u0627:"tinda",\u06A9\u06BE\u06CC\u0631\u0627:"kheera",\u067E\u06BE\u0644:"phal",\u0622\u0645:"aam",\u0633\u06CC\u0628:"saib",\u06A9\u06CC\u0644\u0627:"kela",\u0627\u0646\u06AF\u0648\u0631:"angoor",\u0627\u0646\u0627\u0631:"anar",\u0627\u0645\u0631\u0648\u062F:"amrood",\u0645\u0627\u0644\u0679\u0627:"malta",\u06A9\u06CC\u0646\u0648:"kinnu",\u0644\u06CC\u0645\u0648:"leemo",\u0644\u06CC\u0645\u0648\u06BA:"leemo",\u062A\u0631\u0628\u0648\u0632:"tarbooz",\u062E\u0631\u0628\u0648\u0632\u06C1:"kharbooza",\u0622\u0691\u0648:"aadoo",\u062E\u0648\u0628\u0627\u0646\u06CC:"khubani",\u0646\u0627\u0634\u067E\u0627\u062A\u06CC:"nashpati",\u0686\u06CC\u0631\u06CC:"cherry",\u067E\u067E\u06CC\u062A\u0627:"papeeta",\u0644\u06CC\u0686\u06CC:"lychee",\u0628\u0627\u062F\u0627\u0645:"badam",\u067E\u0633\u062A\u06C1:"pista",\u0627\u062E\u0631\u0648\u0679:"akhrot",\u06A9\u0627\u062C\u0648:"kaju",\u0645\u0648\u0646\u06AF\u0641\u0644\u06CC:"moongphali",\u06A9\u0634\u0645\u0634:"kishmish",\u06A9\u06BE\u062C\u0648\u0631:"khajoor",\u06A9\u06BE\u06CC\u0631:"kheer",\u062D\u0644\u0648\u06C1:"halwa",\u0632\u0631\u062F\u06C1:"zarda",\u062C\u0627\u0645\u0646:"jamun",\u062C\u0644\u06CC\u0628\u06CC:"jalebi",\u0628\u0631\u0641\u06CC:"barfi",\u0631\u0633\u06AF\u0644\u06C1:"rasgulla",\u06A9\u0644\u0641\u06CC:"kulfi",\u0622\u0626\u0633\u06A9\u0631\u06CC\u0645:"icecream",\u06A9\u06CC\u06A9:"cake",\u0628\u0633\u06A9\u0679:"biscuit",\u0686\u0627\u06A9\u0644\u06CC\u0679:"chocolate",\u0645\u0679\u06BE\u0627\u0626\u06CC:"mithai",\u0633\u0644\u0627\u062F:"salad",\u0631\u0627\u0626\u062A\u06C1:"raita",\u0686\u0679\u0646\u06CC:"chatni",\u0627\u0686\u0627\u0631:"achaar",\u0645\u0631\u0628\u06C1:"murabba",\u062F\u0644:"dil",\u062F\u0645\u0627\u063A:"dimagh",\u062C\u0633\u0645:"jism",\u0628\u062F\u0646:"badan",\u062C\u0627\u0646:"jaan",\u0631\u0648\u062D:"rooh",\u0633\u0631:"sar",\u06A9\u06BE\u0648\u067E\u0691\u06CC:"khopri",\u067E\u06CC\u0634\u0627\u0646\u06CC:"peshani",\u0645\u0627\u062A\u06BE\u0627:"matha",\u0622\u0646\u06A9\u06BE:"aankh",\u0622\u0646\u06A9\u06BE\u06CC\u06BA:"aankhein",\u067E\u0644\u06A9:"palak",\u0627\u0628\u0631\u0648:"abroo",\u06A9\u0627\u0646:"kaan",\u0646\u0627\u06A9:"naak",\u0645\u0646\u06C1:"munh",\u06C1\u0648\u0646\u0679:"hont",\u062F\u0627\u0646\u062A:"daant",\u0632\u0628\u0627\u0646:"zuban",\u06AF\u0644\u0627:"gala",\u06AF\u0631\u062F\u0646:"gardan",\u06A9\u0646\u062F\u06BE\u0627:"kandha",\u0628\u0627\u0632\u0648:"bazu",\u06A9\u06C1\u0646\u06CC:"kohni",\u06A9\u0644\u0627\u0626\u06CC:"kalai",\u06C1\u0627\u062A\u06BE:"hath",\u0627\u0646\u06AF\u0644\u06CC:"ungli",\u0627\u0646\u06AF\u0644\u06CC\u0627\u06BA:"ungliyan",\u0627\u0646\u06AF\u0648\u0679\u06BE\u0627:"angootha",\u0646\u0627\u062E\u0646:"nakhun",\u0633\u06CC\u0646\u06C1:"seena",\u0686\u06BE\u0627\u062A\u06CC:"chhati",\u067E\u06CC\u0679:"pet",\u06A9\u0645\u0631:"kamar",\u067E\u0634\u062A:"pusht",\u0631\u0627\u0646:"raan",\u06AF\u06BE\u0679\u0646\u0627:"ghutna",\u0679\u0627\u0646\u06AF:"taang",\u0679\u0627\u0646\u06AF\u06CC\u06BA:"taangein",\u067E\u0627\u0624\u06BA:"paon",\u0627\u06CC\u0691\u06CC:"eeri",\u062A\u0627\u0644\u0648:"talu",\u06C1\u0688\u06CC:"haddi",\u062E\u0648\u0646:"khoon",\u0631\u06AF:"rag",\u067E\u0679\u06BE\u0627:"pattha",\u062C\u0644\u062F:"jild",\u0686\u0645\u0691\u0627:"chamra",\u0628\u0627\u0644:"baal",\u062F\u0627\u0691\u06BE\u06CC:"darhi",\u0645\u0648\u0646\u0686\u06BE:"moochh",\u0686\u06C1\u0631\u06C1:"chehra",\u0631\u062E\u0633\u0627\u0631:"rukhsar",\u06AF\u0627\u0644:"gaal",\u0679\u06BE\u0648\u0691\u06CC:"thori",\u062C\u06AF\u0631:"jigar",\u06AF\u0631\u062F\u06C1:"gurda",\u067E\u06BE\u06CC\u067E\u06BE\u0691\u0627:"phepra",\u0645\u0639\u062F\u06C1:"maida",\u0635\u062D\u062A:"sehat",\u062A\u0646\u062F\u0631\u0633\u062A\u06CC:"tandurusti",\u0628\u06CC\u0645\u0627\u0631\u06CC:"beemari",\u0645\u0631\u0636:"marz",\u0645\u0631\u06CC\u0636:"mareez",\u0628\u062E\u0627\u0631:"bukhar",\u062F\u0631\u062F:"dard",\u062A\u06A9\u0644\u06CC\u0641:"takleef",\u06A9\u06BE\u0627\u0646\u0633\u06CC:"khansi",\u0646\u0632\u0644\u06C1:"nazla",\u0632\u06A9\u0627\u0645:"zukam",\u0627\u0644\u0631\u062C\u06CC:"allergy",\u0627\u0646\u0641\u06CC\u06A9\u0634\u0646:"infection",\u0648\u0627\u0626\u0631\u0633:"virus",\u0632\u062E\u0645:"zakhm",\u0686\u0648\u0679:"chot",\u0639\u0644\u0627\u062C:"ilaj",\u062F\u0648\u0627:"dawa",\u0627\u062F\u0648\u06CC\u0627\u062A:"adwiyat",\u0634\u0641\u0627:"shifa",\u06AF\u0648\u0644\u06CC:"goli",\u0679\u06CC\u06A9\u06C1:"teeka",\u0645\u0631\u06C1\u0645:"marham",\u067E\u0679\u06CC:"patti",\u0645\u062D\u0628\u062A:"mohabbat",\u0639\u0634\u0642:"ishq",\u067E\u06CC\u0627\u0631:"pyaar",\u0627\u0644\u0641\u062A:"ulfat",\u0686\u0627\u06C1\u062A:"chahat",\u0646\u0641\u0631\u062A:"nafrat",\u062D\u0633\u062F:"hasad",\u06A9\u06CC\u0646\u06C1:"keena",\u0628\u063A\u0636:"bughz",\u062E\u0648\u0634\u06CC:"khushi",\u0645\u0633\u0631\u062A:"musarrat",\u063A\u0645:"gham",\u062F\u06A9\u06BE:"dukh",\u0631\u0646\u062C:"ranj",\u0627\u0644\u0645:"alam",\u0627\u0641\u0633\u0648\u0633:"afsos",\u067E\u0686\u06BE\u062A\u0627\u0648\u0627:"pachtawa",\u0646\u062F\u0627\u0645\u062A:"nadamat",\u0688\u0631:"dar",\u062E\u0648\u0641:"khauf",\u062F\u06C1\u0634\u062A:"dehshat",\u0627\u0645\u06CC\u062F:"umeed",\u0622\u0633:"aas",\u06CC\u0627\u0633:"yaas",\u0645\u0627\u06CC\u0648\u0633\u06CC:"mayoosi",\u06CC\u0642\u06CC\u0646:"yaqeen",\u0627\u0639\u062A\u0645\u0627\u062F:"aitamad",\u0628\u06BE\u0631\u0648\u0633\u06C1:"bharosa",\u0634\u06A9:"shak",\u0633\u0686:"sach",\u062C\u06BE\u0648\u0679:"jhoot",\u0627\u0646\u0635\u0627\u0641:"insaf",\u0639\u062F\u0644:"adl",\u0638\u0644\u0645:"zulm",\u0633\u062A\u0645:"sitam",\u0639\u0632\u062A:"izzat",\u0627\u062D\u062A\u0631\u0627\u0645:"ehtiram",\u0628\u06D2\u0639\u0632\u062A\u06CC:"beizzati",\u0630\u0644\u062A:"zillat",\u0631\u0633\u0648\u0627\u0626\u06CC:"ruswai",\u0634\u06A9\u0631\u06CC\u06C1:"shukriya",\u0635\u0628\u0631:"sabr",\u0627\u062D\u0633\u0627\u0646:"ehsan",\u0645\u0639\u0627\u0641:"maaf",\u0645\u0639\u0627\u0641\u06CC:"maafi",\u062F\u0639\u0627:"dua",\u0628\u062F\u062F\u0639\u0627:"baddua",\u062E\u0648\u0627\u0628:"khwab",\u062E\u06CC\u0627\u0644:"khayal",\u0627\u0631\u0627\u062F\u06C1:"irada",\u062E\u0648\u0627\u06C1\u0634:"khwahish",\u062A\u0645\u0646\u0627:"tamanna",\u0622\u0631\u0632\u0648:"aarzoo",\u062D\u0633\u0631\u062A:"hasrat",\u0632\u0646\u062F\u06AF\u06CC:"zindagi",\u062D\u06CC\u0627\u062A:"hayat",\u0645\u0648\u062A:"maut",\u0648\u0641\u0627\u062A:"wafat",\u0637\u0627\u0642\u062A:"taqat",\u0642\u0648\u062A:"quwwat",\u0632\u0648\u0631:"zor",\u06C1\u0645\u062A:"himmat",\u062D\u0648\u0635\u0644\u06C1:"hosla",\u062C\u0630\u0628\u06C1:"jazba",\u0634\u0648\u0642:"shauq",\u06A9\u0645\u0632\u0648\u0631\u06CC:"kamzori",\u0646\u0627\u062A\u0648\u0627\u0646\u06CC:"natawani",\u0636\u0631\u0648\u0631\u062A:"zaroorat",\u062D\u0627\u062C\u062A:"hajat",\u0645\u062F\u062F:"madad",\u062A\u0639\u0627\u0648\u0646:"taawun",\u06A9\u0648\u0634\u0634:"koshish",\u062C\u062F\u0648\u062C\u06C1\u062F:"jaddojahad",\u0645\u062D\u0646\u062A:"mehnat",\u0645\u0634\u0642\u062A:"mushaqqat",\u06A9\u0627\u0645\u06CC\u0627\u0628\u06CC:"kamyabi",\u0641\u062A\u062D:"fateh",\u0646\u0627\u06A9\u0627\u0645\u06CC:"nakami",\u0634\u06A9\u0633\u062A:"shikast",\u06C1\u0627\u0631:"haar",\u062C\u06CC\u062A:"jeet",\u0641\u06CC\u0635\u0644\u06C1:"faisla",\u0631\u0627\u0626\u06D2:"raye",\u0645\u0634\u0648\u0631\u06C1:"mashwara",\u063A\u0635\u06C1:"ghussa",\u0637\u06CC\u0634:"taish",\u063A\u0631\u0648\u0631:"ghuroor",\u062A\u06A9\u0628\u0631:"takabbur",\u0639\u0627\u062C\u0632\u06CC:"aajzi",\u0627\u0646\u06A9\u0633\u0627\u0631\u06CC:"inkisari",\u0633\u0627\u062F\u06AF\u06CC:"sadgi",\u0635\u0641\u0627\u0626\u06CC:"safai",\u067E\u0627\u06A9\u06CC:"paki",\u0634\u0631\u0645:"sharm",\u062D\u06CC\u0627:"haya",\u063A\u06CC\u0631\u062A:"ghairat",\u062D\u0645\u06CC\u062A:"hameeyat",\u0627\u062E\u0644\u0627\u0642:"akhlaq",\u0634\u0631\u0627\u0641\u062A:"sharafat",\u062F\u06CC\u0627\u0646\u062A:"diyanat",\u0627\u0645\u0627\u0646\u062A:"amanat",\u062E\u06CC\u0627\u0646\u062A:"khiyanat",\u0648\u0641\u0627:"wafa",\u0628\u06D2\u0648\u0641\u0627\u0626\u06CC:"bewafai",\u062F\u0648\u0633\u062A\u06CC:"dosti",\u062F\u0634\u0645\u0646\u06CC:"dushmani",\u062D\u06CC\u0631\u062A:"hairat",\u062A\u0639\u062C\u0628:"taajjub",\u0631\u0627\u062D\u062A:"rahat",\u0633\u06A9\u0648\u0646:"sakoon",\u0627\u0637\u0645\u06CC\u0646\u0627\u0646:"itminan",\u0628\u06D2\u0686\u06CC\u0646\u06CC:"bechaini",\u0627\u0636\u0637\u0631\u0627\u0628:"iztirab",\u0627\u062D\u0633\u0627\u0633:"ehsas",\u0634\u0639\u0648\u0631:"shaoor",\u0644\u0627\u067E\u0631\u0648\u0627\u06C1\u06CC:"laparwahi",\u062D\u0642\u06CC\u0642\u062A:"haqeeqat",\u0631\u0627\u0632:"raaz",\u0628\u06BE\u06CC\u062F:"bhed",\u0639\u0644\u0645:"ilm",\u062A\u0639\u0644\u06CC\u0645:"taleem",\u062A\u0631\u0628\u06CC\u062A:"tarbiyat",\u0633\u0628\u0642:"sabaq",\u062F\u0631\u0633:"dars",\u0627\u0645\u062A\u062D\u0627\u0646:"imtihan",\u0622\u0632\u0645\u0627\u0626\u0634:"azmaish",\u0646\u062A\u06CC\u062C\u06C1:"nateeja",\u0645\u0633\u0626\u0644\u06C1:"masla",\u062D\u0644:"hal",\u0633\u0648\u0627\u0644:"sawal",\u062C\u0648\u0627\u0628:"jawab",\u0628\u062D\u062B:"behas",\u0645\u0628\u0627\u062D\u062B\u06C1:"mubahisa",\u0628\u0627\u062A:"baat",\u0628\u0627\u062A\u06CC\u06BA:"baatein",\u06AF\u0641\u062A\u06AF\u0648:"guftagu",\u06A9\u0644\u0627\u0645:"kalam",\u0644\u0641\u0638:"lafz",\u0627\u0644\u0641\u0627\u0638:"alfaz",\u062C\u0645\u0644\u06C1:"jumla",\u0641\u0642\u0631\u06C1:"fiqra",\u062D\u0631\u0641:"harf",\u062D\u0631\u0648\u0641:"haroof",\u0645\u0639\u0646\u06CC:"maani",\u0645\u0637\u0644\u0628:"matlab",\u0646\u0627\u0645:"naam",\u067E\u062A\u06C1:"pata",\u062E\u0628\u0631:"khabar",\u0627\u062E\u0628\u0627\u0631:"akhbar",\u0631\u0633\u0627\u0644\u06C1:"risala",\u0645\u062C\u0644\u06C1:"majalla",\u06A9\u06C1\u0627\u0646\u06CC:"kahani",\u0642\u0635\u06C1:"qissa",\u062F\u0627\u0633\u062A\u0627\u0646:"dastan",\u0646\u0627\u0648\u0644:"novel",\u0627\u0641\u0633\u0627\u0646\u06C1:"afsana",\u0645\u0636\u0645\u0648\u0646:"mazmoon",\u0645\u0642\u0627\u0644\u06C1:"maqala",\u0634\u0639\u0631:"sher",\u0627\u0634\u0639\u0627\u0631:"ashaar",\u063A\u0632\u0644:"ghazal",\u0646\u0638\u0645:"nazm",\u0645\u0631\u062B\u06CC\u06C1:"marsiya",\u0642\u0635\u06CC\u062F\u06C1:"qaseeda",\u0627\u062F\u0628:"adab",\u062A\u0627\u0631\u06CC\u062E:"tareekh",\u062C\u063A\u0631\u0627\u0641\u06CC\u06C1:"jughrafia",\u0631\u06CC\u0627\u0636\u06CC:"riyazi",\u0633\u0627\u0626\u0646\u0633:"science",\u0641\u0644\u0633\u0641\u06C1:"falsafa",\u0645\u0646\u0637\u0642:"mantiq",\u062B\u0642\u0627\u0641\u062A:"saqafat",\u062A\u06C1\u0630\u06CC\u0628:"tehzeeb",\u062A\u0645\u062F\u0646:"tamaddun",\u0631\u0633\u0645:"rasm",\u0631\u0648\u0627\u062C:"riwaj",\u0645\u0648\u0633\u06CC\u0642\u06CC:"moseeqi",\u0631\u0627\u06AF:"raag",\u0633\u0627\u0632:"saaz",\u062A\u0635\u0648\u06CC\u0631:"tasweer",\u0646\u0642\u0634\u06C1:"naqsha",\u0631\u0646\u06AF:"rang",\u0622\u0648\u0627\u0632:"awaz",\u0634\u0648\u0631:"shor",\u062E\u0627\u0645\u0648\u0634\u06CC:"khamoshi",\u0633\u06A9\u0648\u062A:"sakoot",\u062A\u062D\u0642\u06CC\u0642:"tehqeeq",\u062A\u0644\u0627\u0634:"talash",\u06A9\u06BE\u0648\u062C:"khoj",\u0646\u0645\u0627\u0632:"namaz",\u0635\u0644\u0648\u06C1:"salat",\u0631\u0648\u0632\u06C1:"roza",\u0635\u0648\u0645:"saum",\u0632\u06A9\u0648\u06C1:"zakat",\u062D\u062C:"hajj",\u0639\u0645\u0631\u06C1:"umrah",\u0639\u06CC\u062F:"eid",\u0642\u0631\u0628\u0627\u0646\u06CC:"qurbani",\u0645\u0630\u06C1\u0628:"mazhab",\u0627\u0633\u0644\u0627\u0645:"islam",\u0627\u0644\u0644\u06C1:"allah",\u0631\u0628:"rabb",\u062E\u062F\u0627:"khuda",\u0631\u0633\u0648\u0644:"rasool",\u0646\u0628\u06CC:"nabi",\u067E\u06CC\u063A\u0645\u0628\u0631:"paighambar",\u0635\u062D\u0627\u0628\u06CC:"sahabi",\u0635\u062D\u0627\u0628\u06C1:"sahaba",\u0627\u06C1\u0644:"ahl",\u0628\u06CC\u062A:"bait",\u0642\u0631\u0622\u0646:"quran",\u062D\u062F\u06CC\u062B:"hadees",\u0633\u0646\u062A:"sunnat",\u0634\u0631\u06CC\u0639\u062A:"shariat",\u0641\u0642\u06C1:"fiqh",\u062F\u06CC\u0646:"deen",\u0627\u06CC\u0645\u0627\u0646:"imaan",\u0639\u0642\u06CC\u062F\u06C1:"aqeeda",\u062C\u0646\u062A:"jannat",\u0641\u0631\u062F\u0648\u0633:"firdaus",\u062C\u06C1\u0646\u0645:"jahannum",\u062F\u0648\u0632\u062E:"dozakh",\u0641\u0631\u0634\u062A\u06C1:"farishta",\u0645\u0644\u0627\u0626\u06A9\u06C1:"malaika",\u0634\u06CC\u0637\u0627\u0646:"shaitan",\u0627\u0628\u0644\u06CC\u0633:"iblees",\u062C\u0646\u0627\u062A:"jinnat",\u0642\u06CC\u0627\u0645\u062A:"qayamat",\u062D\u0634\u0631:"hashr",\u062D\u0633\u0627\u0628:"hisaab",\u0645\u06CC\u0632\u0627\u0646:"meezan",\u0635\u0631\u0627\u0637:"sirat",\u0639\u0628\u0627\u062F\u062A:"ibadat",\u0628\u0646\u062F\u06AF\u06CC:"bandagi",\u0633\u062C\u062F\u06C1:"sajda",\u0631\u06A9\u0648\u0639:"rukoo",\u062A\u0644\u0627\u0648\u062A:"tilawat",\u062A\u0633\u0628\u06CC\u062D:"tasbeeh",\u0630\u06A9\u0631:"zikr",\u062A\u0648\u0628\u06C1:"tauba",\u0627\u0633\u062A\u063A\u0641\u0627\u0631:"istighfar",\u062B\u0648\u0627\u0628:"sawab",\u0627\u062C\u0631:"ajar",\u06AF\u0646\u0627\u06C1:"gunah",\u0645\u0639\u0635\u06CC\u062A:"masiyat",\u0639\u0630\u0627\u0628:"azaab",\u0631\u062D\u0645\u062A:"rehmat",\u0628\u0631\u06A9\u062A:"barkat",\u0641\u0636\u0644:"fazal",\u06A9\u0631\u0645:"karam",\u0646\u06CC\u06A9\u06CC:"naiki",\u0628\u062F\u06CC:"badi",\u062A\u0642\u0648\u06CC:"taqwa",\u067E\u0631\u06C1\u06CC\u0632\u06AF\u0627\u0631\u06CC:"parhezgari",\u0648\u0644\u0627\u06CC\u062A:"wilayat",\u0648\u0644\u06CC:"wali",\u0635\u0648\u0641\u06CC:"sufi",\u062F\u0631\u0648\u06CC\u0634:"darwesh",\u0641\u0642\u06CC\u0631:"faqeer",\u0633\u06CC\u0627\u0633\u062A:"siyasat",\u0633\u06CC\u0627\u0633\u06CC:"siyasi",\u0627\u0644\u06CC\u06A9\u0634\u0646:"election",\u0627\u0646\u062A\u062E\u0627\u0628:"intikhab",\u0627\u0646\u062A\u062E\u0627\u0628\u0627\u062A:"intikhabat",\u0648\u0648\u0679:"vote",\u0627\u0645\u06CC\u062F\u0648\u0627\u0631:"ummedwar",\u067E\u0627\u0631\u0679\u06CC:"party",\u062C\u0645\u0627\u0639\u062A:"jamaat",\u0627\u0633\u0645\u0628\u0644\u06CC:"assembly",\u067E\u0627\u0631\u0644\u06CC\u0645\u0646\u0679:"parliament",\u0627\u06CC\u0648\u0627\u0646:"aiwan",\u0633\u06CC\u0646\u06CC\u0679:"senate",\u0642\u0627\u0646\u0648\u0646:"qanoon",\u062F\u0633\u062A\u0648\u0631:"dastoor",\u0622\u0626\u06CC\u0646:"aaeen",\u062C\u0645\u06C1\u0648\u0631\u06CC\u062A:"jamhooriat",\u0622\u0645\u0631\u06CC\u062A:"aamriyat",\u062D\u06A9\u0648\u0645\u062A:"hukumat",\u0631\u06CC\u0627\u0633\u062A:"riyasat",\u0633\u0644\u0637\u0646\u062A:"saltanat",\u062D\u06A9\u0645\u0631\u0627\u0646:"hukmaran",\u0627\u067E\u0648\u0632\u06CC\u0634\u0646:"opposition",\u062D\u0632\u0628:"hizb",\u0627\u062E\u062A\u0644\u0627\u0641:"ikhtilaf",\u0627\u062A\u062D\u0627\u062F:"ittehad",\u062A\u0646\u0638\u06CC\u0645:"tanzeem",\u0627\u062F\u0627\u0631\u06C1:"idara",\u06A9\u0645\u067E\u0646\u06CC:"company",\u062C\u0631\u0645:"jurm",\u0645\u062C\u0631\u0645:"mujrim",\u0645\u0644\u0632\u0645:"mulzim",\u0642\u06CC\u062F\u06CC:"qaidi",\u06AF\u0648\u0627\u06C1:"gawah",\u0634\u06C1\u0627\u062F\u062A:"shahadat",\u062B\u0628\u0648\u062A:"saboot",\u0633\u0632\u0627:"saza",\u062C\u0631\u0645\u0627\u0646\u06C1:"jurmana",\u0641\u0648\u062C:"fauj",\u0644\u0634\u06A9\u0631:"lashkar",\u0639\u0633\u0627\u06A9\u0631:"asakir",\u062C\u0646\u06AF:"jang",\u0645\u0639\u0631\u06A9\u06C1:"maraka",\u0644\u0691\u0627\u0626\u06CC:"larai",\u0627\u0645\u0646:"aman",\u0635\u0644\u062D:"sulah",\u0645\u0639\u0627\u06C1\u062F\u06C1:"muahida",\u067E\u06CC\u0645\u0627\u0646:"paiman",\u0645\u0639\u06CC\u0634\u062A:"maeeshat",\u0627\u0642\u062A\u0635\u0627\u062F\u06CC\u0627\u062A:"iqtisadiyat",\u062A\u062C\u0627\u0631\u062A:"tijarat",\u06A9\u0627\u0631\u0648\u0628\u0627\u0631:"karobar",\u0635\u0646\u0639\u062A:"sanat",\u062D\u0631\u0641\u062A:"hirfat",\u0628\u062C\u0679:"budget",\u062E\u0633\u0627\u0631\u06C1:"khasara",\u0645\u0646\u0627\u0641\u0639:"munafa",\u0646\u0642\u0635\u0627\u0646:"nuqsan",\u062A\u0631\u0642\u06CC:"taraqqi",\u062A\u0646\u0632\u0644:"tanazzul",\u0645\u0646\u0635\u0648\u0628\u06C1:"mansooba",\u067E\u0631\u0648\u062C\u06CC\u06A9\u0679:"project",\u0627\u0639\u0644\u0627\u0646:"elaan",\u0627\u0634\u062A\u06C1\u0627\u0631:"ishtihar",\u0631\u067E\u0648\u0631\u0679:"report",\u0628\u06CC\u0627\u0646:"bayan",\u0627\u062C\u0644\u0627\u0633:"ijlas",\u06A9\u0627\u0646\u0641\u0631\u0646\u0633:"conference",\u062F\u0648\u0631\u06C1:"dora",\u0645\u0644\u0627\u0642\u0627\u062A:"mulaqat",\u0645\u0630\u0627\u06A9\u0631\u0627\u062A:"muzakrat",\u062A\u0642\u0631\u06CC\u0628:"taqreeb",\u062C\u0644\u0633\u06C1:"jalsa",\u062C\u0644\u0648\u0633:"juloos",\u06C1\u0691\u062A\u0627\u0644:"hartal",\u0645\u0638\u0627\u06C1\u0631\u06C1:"muzahira",\u0627\u062D\u062A\u062C\u0627\u062C:"ehtejaj",\u062A\u0642\u0631\u06CC\u0631:"taqreer",\u062E\u0637\u0627\u0628:"khitab",\u067E\u06CC\u063A\u0627\u0645:"paigham",\u062F\u0631\u062E\u062A:"darakht",\u0634\u062C\u0631:"shajar",\u067E\u0648\u062F\u0627:"pauda",\u067E\u0648\u062F\u06D2:"pauday",\u067E\u062A\u06D2:"pattay",\u067E\u06BE\u0648\u0644:"phool",\u06A9\u0644\u06CC:"kali",\u0634\u0627\u062E:"shaakh",\u0679\u06C1\u0646\u06CC:"tahni",\u062C\u0691:"jar",\u062A\u0646\u0627:"tana",\u06AF\u06BE\u0627\u0633:"ghaas",\u0633\u0628\u0632\u06C1:"sabza",\u062C\u0646\u06AF\u0644:"jungle",\u0628\u06CC\u0627\u0628\u0627\u0646:"bayaban",\u0635\u062D\u0631\u0627:"sehra",\u0631\u06CC\u06AF\u0633\u062A\u0627\u0646:"registan",\u067E\u06C1\u0627\u0691:"pahar",\u06A9\u0648\u06C1:"koh",\u0686\u0648\u0679\u06CC:"choti",\u0648\u0627\u062F\u06CC:"wadi",\u062F\u0631\u06C1:"darra",\u063A\u0627\u0631:"ghaar",\u062F\u0631\u06CC\u0627:"darya",\u0646\u06C1\u0631:"nehar",\u0646\u062F\u06CC:"nadi",\u0646\u0627\u0644\u06C1:"nala",\u0633\u0645\u0646\u062F\u0631:"samandar",\u0628\u062D\u0631:"behar",\u0633\u0627\u062D\u0644:"sahil",\u06A9\u0646\u0627\u0631\u06C1:"kinara",\u062C\u0632\u06CC\u0631\u06C1:"jazeera",\u062C\u06BE\u06CC\u0644:"jheel",\u062A\u0627\u0644\u0627\u0628:"talab",\u062D\u0648\u0636:"hauz",\u06A9\u0646\u0648\u0627\u06BA:"kuan",\u0686\u0634\u0645\u06C1:"chashma",\u0622\u0628\u0634\u0627\u0631:"aabshar",\u0645\u0679\u06CC:"mitti",\u0631\u06CC\u062A:"rait",\u067E\u062A\u06BE\u0631:"patthar",\u0686\u0679\u0627\u0646:"chatan",\u0686\u0627\u0646\u062F\u06CC:"chandi",\u062A\u0627\u0646\u0628\u0627:"tanba",\u0644\u0648\u06C1\u0627:"loha",\u067E\u06CC\u062A\u0644:"peetal",\u06A9\u0648\u0626\u0644\u06C1:"koyla",\u0622\u06AF:"aag",\u0634\u0639\u0644\u06C1:"shola",\u062F\u06BE\u0648\u0627\u06BA:"dhuwan",\u0631\u0627\u06A9\u06BE:"raakh",\u0631\u0648\u0634\u0646\u06CC:"roshni",\u0646\u0648\u0631:"noor",\u0627\u0646\u062F\u06BE\u06CC\u0631\u0627:"andhera",\u062A\u0627\u0631\u06CC\u06A9\u06CC:"tareeki",\u0633\u0627\u06CC\u06C1:"saya",\u06A9\u062A\u0627:"kutta",\u06A9\u062A\u06CC\u0627:"kutiya",\u0628\u0644\u06CC:"billi",\u0628\u0644\u0627:"billa",\u06AF\u06BE\u0648\u0691\u0627:"ghora",\u06AF\u06BE\u0648\u0691\u06CC:"ghori",\u06AF\u062F\u06BE\u0627:"gadha",\u06AF\u062F\u06BE\u06CC:"gadhi",\u062E\u0686\u0631:"khachhar",\u06AF\u0627\u0626\u06D2:"gaye",\u0628\u06CC\u0644:"bail",\u0628\u0686\u06BE\u0691\u0627:"bachhra",\u0628\u06BE\u06CC\u0646\u0633:"bhains",\u0628\u06A9\u0631\u06CC:"bakri",\u0628\u06A9\u0631\u0627:"bakra",\u0628\u06BE\u06CC\u0691:"bheed",\u062F\u0646\u0628\u06C1:"dumbah",\u0634\u06CC\u0631:"sheer",\u0628\u0628\u0631:"babar",\u0686\u06CC\u062A\u0627:"cheeta",\u062A\u06CC\u0646\u062F\u0648\u0627:"tendwa",\u0628\u06BE\u06CC\u0691\u06CC\u0627:"bhediya",\u0644\u0648\u0645\u0691\u06CC:"lomri",\u0631\u06CC\u0686\u06BE:"reech",\u06C1\u0627\u062A\u06BE\u06CC:"hathi",\u06C1\u062A\u06BE\u0646\u06CC:"hathni",\u0627\u0648\u0646\u0679:"oont",\u0633\u0627\u0646\u0688\u0646\u06CC:"sandni",\u06C1\u0631\u0646:"hiran",\u0633\u0646\u06AF\u06BE\u0627:"singha",\u062E\u0631\u06AF\u0648\u0634:"khargosh",\u0628\u0646\u062F\u0631:"bandar",\u0686\u0648\u06C1\u0627:"chooha",\u0686\u0648\u06C1\u06CC\u0627:"chuhiya",\u067E\u0631\u0646\u062F\u06C1:"parinda",\u0686\u0631\u0646\u062F:"charand",\u067E\u0631\u0646\u062F:"parand",\u06A9\u0648\u0627:"kawa",\u0637\u0648\u0637\u0627:"tota",\u0645\u06CC\u0646\u0627:"maina",\u0686\u0691\u06CC\u0627:"chiriya",\u06A9\u0628\u0648\u062A\u0631:"kabootar",\u0641\u0627\u062E\u062A\u06C1:"fakhta",\u0639\u0642\u0627\u0628:"uqaab",\u0628\u0627\u0632:"baaz",\u0634\u0627\u06C1\u06CC\u0646:"shaheen",\u0686\u06CC\u0644:"cheel",\u06AF\u062F\u06BE:"gidh",\u0627\u0644\u0648:"ulloo",\u0628\u06AF\u0644\u0627:"bagla",\u0628\u0637\u062E:"battakh",\u06C1\u0646\u0633:"hans",\u0645\u0648\u0631:"mor",\u0645\u0631\u063A:"murgh",\u0645\u0631\u063A\u0627:"murgha",\u0645\u0631\u063A\u0627\u0628\u06CC:"murghabi",\u06A9\u0648\u0626\u0644:"koyal",\u0628\u0644\u0628\u0644:"bulbul",\u0633\u0627\u0646\u067E:"saanp",\u0646\u0627\u06AF:"naag",\u0686\u06BE\u067E\u06A9\u0644\u06CC:"chhipkali",\u0645\u06AF\u0631\u0645\u0686\u06BE:"magarmachh",\u06A9\u0686\u06BE\u0648\u0627:"kachhwa",\u0645\u06CC\u0646\u0688\u06A9:"maindak",\u0645\u0686\u06BE\u0631:"machhar",\u0645\u06A9\u06BE\u06CC:"makkhi",\u0645\u06A9\u0691\u06CC:"makri",\u062A\u062A\u0644\u06CC:"titli",\u06A9\u06CC\u0691\u0627:"keera",\u06A9\u06CC\u0691\u06D2:"keeray",\u067E\u062A\u0646\u06AF\u0627:"patanga",\u0686\u06CC\u0648\u0646\u0679\u06CC:"cheenti",\u0628\u0686\u06BE\u0648:"bichhoo",\u0627\u0686\u06BE\u0627:"acha",\u0627\u0686\u06BE\u06CC:"achi",\u0627\u0686\u06BE\u06D2:"achay",\u0628\u0631\u0627:"bura",\u0628\u0631\u06CC:"buri",\u0628\u0631\u06D2:"buray",\u0628\u0691\u0627:"bara",\u0628\u0691\u06CC:"bari",\u0628\u0691\u06D2:"baray",\u0686\u06BE\u0648\u0679\u0627:"chhota",\u0686\u06BE\u0648\u0679\u06CC:"chhoti",\u0686\u06BE\u0648\u0679\u06D2:"chhotay",\u0646\u06CC\u0627:"naya",\u0646\u0626\u06CC:"nayi",\u0646\u0626\u06D2:"naye",\u067E\u0631\u0627\u0646\u0627:"purana",\u067E\u0631\u0627\u0646\u06CC:"purani",\u067E\u0631\u0627\u0646\u06D2:"puranay",\u0644\u0645\u0628\u0627:"lamba",\u0644\u0645\u0628\u06CC:"lambi",\u0644\u0645\u0628\u06D2:"lambay",\u0645\u0648\u0679\u0627:"mota",\u0645\u0648\u0679\u06CC:"moti",\u0645\u0648\u0679\u06D2:"motay",\u067E\u062A\u0644\u0627:"patla",\u067E\u062A\u0644\u06CC:"patli",\u067E\u062A\u0644\u06D2:"patlay",\u062F\u0628\u0644\u0627:"dubla",\u062A\u06CC\u0632:"tez",\u0633\u0633\u062A:"sust",\u0622\u06C1\u0633\u062A\u06C1:"ahista",\u06AF\u0631\u0645:"garam",\u0679\u06BE\u0646\u0688\u0627:"thanda",\u0679\u06BE\u0646\u0688\u06CC:"thandi",\u0679\u06BE\u0646\u0688\u06D2:"thanday",\u0633\u0631\u062F:"sard",\u062E\u0634\u06A9:"khushk",\u06AF\u06CC\u0644\u0627:"geela",\u06AF\u06CC\u0644\u06CC:"geeli",\u062A\u0631:"tarr",\u0645\u06CC\u0679\u06BE\u0627:"meetha",\u0645\u06CC\u0679\u06BE\u06CC:"meethi",\u0645\u06CC\u0679\u06BE\u06D2:"meethay",\u06A9\u0691\u0648\u0627:"karwa",\u06A9\u0691\u0648\u06CC:"karwi",\u06A9\u06BE\u0679\u0627:"khatta",\u06A9\u06BE\u0679\u06CC:"khatti",\u0646\u0645\u06A9\u06CC\u0646:"namkeen",\u067E\u06BE\u06CC\u06A9\u0627:"pheeka",\u0635\u0627\u0641:"saaf",\u0633\u062A\u06BE\u0631\u0627:"suthra",\u06AF\u0646\u062F\u0627:"ganda",\u06AF\u0646\u062F\u06CC:"gandi",\u062E\u0627\u0644\u06CC:"khali",\u0628\u06BE\u0631\u06CC:"bhari",\u0628\u06BE\u0631\u06D2:"bharay",\u0645\u0634\u06A9\u0644:"mushkil",\u062F\u0634\u0648\u0627\u0631:"dushwar",\u0622\u0633\u0627\u0646:"aasan",\u0633\u06C1\u0644:"sehal",\u0636\u0631\u0648\u0631\u06CC:"zaroori",\u0644\u0627\u0632\u0645\u06CC:"lazmi",\u0645\u06A9\u0645\u0644:"mukammal",\u0627\u062F\u06BE\u0648\u0631\u0627:"adhoora",\u062A\u06CC\u0627\u0631:"tayyar",\u062E\u0648\u0634:"khush",\u0646\u0627\u0631\u0627\u0636:"naraz",\u062E\u0641\u0627:"khafa",\u067E\u0631\u06CC\u0634\u0627\u0646:"pareshan",\u0627\u062F\u0627\u0633:"udaas",\u063A\u0645\u06AF\u06CC\u0646:"ghamgeen",\u062A\u06BE\u06A9\u0627:"thaka",\u062A\u06BE\u06A9\u06CC:"thaki",\u062A\u06BE\u06A9\u06D2:"thakay",\u0628\u06CC\u0645\u0627\u0631:"beemar",\u062A\u0646\u062F\u0631\u0633\u062A:"tandurust",\u0627\u0645\u06CC\u0631:"ameer",\u063A\u0631\u06CC\u0628:"ghareeb",\u0646\u0627\u062F\u0627\u0631:"nadar",\u0645\u0641\u0644\u0633:"muflis",\u0645\u0634\u06C1\u0648\u0631:"mashhoor",\u0645\u0639\u0631\u0648\u0641:"maroof",\u06AF\u0645\u0646\u0627\u0645:"gumnam",\u062E\u0648\u0628\u0635\u0648\u0631\u062A:"khoobsurat",\u0628\u062F\u0635\u0648\u0631\u062A:"badsurat",\u0642\u0628\u06CC\u062D:"qabeeh",\u0630\u06C1\u06CC\u0646:"zaheen",\u0639\u0642\u0644\u0645\u0646\u062F:"aqlmand",\u062F\u0627\u0646\u0627:"dana",\u06C1\u0648\u0634\u06CC\u0627\u0631:"hoshiyar",\u0686\u0627\u0644\u0627\u06A9:"chalak",\u0628\u06D2\u0648\u0642\u0648\u0641:"bewaqoof",\u0627\u062D\u0645\u0642:"ahmaq",\u0646\u0627\u062F\u0627\u0646:"nadan",\u0628\u06C1\u0627\u062F\u0631:"bahadur",\u0634\u062C\u0627\u0639:"shuja",\u062F\u0644\u06CC\u0631:"daler",\u0628\u0632\u062F\u0644:"buzdil",\u0688\u0631\u067E\u0648\u06A9:"darpok",\u0645\u062D\u0646\u062A\u06CC:"mehnati",\u0633\u0686\u0627:"sacha",\u0633\u0686\u06CC:"sachi",\u0633\u0686\u06D2:"sachay",\u062C\u06BE\u0648\u0679\u0627:"jhoota",\u062C\u06BE\u0648\u0679\u06CC:"jhooti",\u062C\u06BE\u0648\u0679\u06D2:"jhootay",\u0627\u06CC\u0645\u0627\u0646\u062F\u0627\u0631:"imandar",\u062F\u06CC\u0627\u0646\u062A\u062F\u0627\u0631:"diyanatdar",\u0628\u06D2\u0627\u06CC\u0645\u0627\u0646:"beiman",\u067E\u06CC\u0627\u0631\u0627:"pyara",\u067E\u06CC\u0627\u0631\u06CC:"pyari",\u067E\u06CC\u0627\u0631\u06D2:"pyaray",\u0639\u062C\u06CC\u0628:"ajeeb",\u0627\u0646\u0648\u06A9\u06BE\u0627:"anokha",\u0646\u0631\u0627\u0644\u0627:"nirala",\u062E\u0627\u0635:"khaas",\u0645\u062E\u0635\u0648\u0635:"makhsoos",\u0639\u0627\u0645:"aam",\u0633\u0633\u062A\u0627:"sasta",\u0633\u0633\u062A\u06CC:"sasti",\u0645\u06C1\u0646\u06AF\u0627:"mehanga",\u0645\u06C1\u0646\u06AF\u06CC:"mehangi",\u0628\u06BE\u0627\u0631\u06CC:"bhari",\u0648\u0632\u0646\u06CC:"wazni",\u06C1\u0644\u06A9\u0627:"halka",\u06C1\u0644\u06A9\u06CC:"halki",\u0633\u062E\u062A:"sakht",\u0646\u0631\u0645:"naram",\u0645\u0644\u0627\u0626\u0645:"mulaim",\u0631\u0648\u0634\u0646:"roshan",\u062A\u0627\u0631\u06CC\u06A9:"tareek",\u06AF\u06C1\u0631\u0627:"gehra",\u06AF\u06C1\u0631\u06CC:"gehri",\u0627\u0648\u0646\u0686\u0627:"ooncha",\u0627\u0648\u0646\u0686\u06CC:"oonchi",\u067E\u0633\u062A:"past",\u0686\u0648\u0691\u0627:"chaura",\u0686\u0648\u0691\u06CC:"chauri",\u062A\u0646\u06AF:"tang",\u0645\u0636\u0628\u0648\u0637:"mazboot",\u067E\u0627\u0626\u06CC\u062F\u0627\u0631:"paayedar",\u06A9\u0645\u0632\u0648\u0631:"kamzor",\u0646\u0627\u0632\u06A9:"nazuk",\u0633\u0641\u06CC\u062F:"safaid",\u06A9\u0627\u0644\u0627:"kala",\u06A9\u0627\u0644\u06CC:"kali",\u06A9\u0627\u0644\u06D2:"kalay",\u0633\u06CC\u0627\u06C1:"siyah",\u0633\u0631\u062E:"surkh",\u0644\u0627\u0644:"laal",\u0646\u06CC\u0644\u0627:"neela",\u0646\u06CC\u0644\u06CC:"neeli",\u0646\u06CC\u0644\u06D2:"neelay",\u06C1\u0631\u0627:"hara",\u06C1\u0631\u06CC:"hari",\u06C1\u0631\u06D2:"haray",\u0633\u0628\u0632:"sabz",\u067E\u06CC\u0644\u0627:"peela",\u067E\u06CC\u0644\u06CC:"peeli",\u067E\u06CC\u0644\u06D2:"peelay",\u0632\u0631\u062F:"zard",\u0628\u06BE\u0648\u0631\u0627:"bhura",\u0628\u06BE\u0648\u0631\u06CC:"bhuri",\u06AF\u0644\u0627\u0628\u06CC:"gulabi",\u0646\u0627\u0631\u0646\u062C\u06CC:"naranji",\u062C\u0627\u0645\u0646\u06CC:"jamni",\u0628\u06CC\u06AF\u0646\u06CC:"baingani",\u0633\u0631\u0645\u0626\u06CC:"surmai",\u0633\u0646\u06C1\u0631\u06CC:"sunehri",\u0631\u0648\u067E\u06C1\u0644\u06CC:"rupahli",\u0635\u0641\u0631:"sifar",\u062A\u06CC\u0646:"teen",\u0686\u0627\u0631:"char",\u067E\u0627\u0646\u0686:"panch",\u0686\u06BE:"chhe",\u0633\u0627\u062A:"saat",\u0622\u0679\u06BE:"aath",\u0646\u0648:"nau",\u062F\u0633:"das",\u06AF\u06CC\u0627\u0631\u06C1:"gyarah",\u0628\u0627\u0631\u06C1:"barah",\u062A\u06CC\u0631\u06C1:"terah",\u0686\u0648\u062F\u06C1:"chaudah",\u067E\u0646\u062F\u0631\u06C1:"pandrah",\u0633\u0648\u0644\u06C1:"solah",\u0633\u062A\u0631\u06C1:"satrah",\u0627\u0679\u06BE\u0627\u0631\u06C1:"atharah",\u0627\u0646\u06CC\u0633:"unnees",\u0628\u06CC\u0633:"bees",\u0627\u06A9\u06CC\u0633:"ikkees",\u0628\u0627\u0626\u06CC\u0633:"baees",\u062A\u06CC\u0626\u06CC\u0633:"taees",\u0686\u0648\u0628\u06CC\u0633:"chaubees",\u067E\u0686\u06CC\u0633:"pachees",\u0686\u06BE\u0628\u06CC\u0633:"chhabees",\u0633\u062A\u0627\u0626\u06CC\u0633:"sataees",\u0627\u0679\u0627\u0626\u06CC\u0633:"athaees",\u0627\u0646\u062A\u06CC\u0633:"untees",\u062A\u06CC\u0633:"tees",\u0686\u0627\u0644\u06CC\u0633:"chalees",\u067E\u0686\u0627\u0633:"pachas",\u0633\u0627\u0679\u06BE:"saath",\u0633\u062A\u0631:"sattar",\u0627\u0633\u06CC:"assi",\u0646\u0648\u06D2:"nabbay",\u0633\u0648:"so",\u06C1\u0632\u0627\u0631:"hazar",\u0644\u0627\u06A9\u06BE:"lakh",\u06A9\u0631\u0648\u0691:"karor",\u0627\u0631\u0628:"arab",\u067E\u06C1\u0644\u0627:"pehla",\u067E\u06C1\u0644\u06CC:"pehli",\u062F\u0648\u0633\u0631\u0627:"dosra",\u062F\u0648\u0633\u0631\u06CC:"dosri",\u062F\u0648\u0633\u0631\u06D2:"dosray",\u062A\u06CC\u0633\u0631\u0627:"teesra",\u062A\u06CC\u0633\u0631\u06CC:"teesri",\u062A\u06CC\u0633\u0631\u06D2:"teesray",\u0686\u0648\u062A\u06BE\u0627:"chautha",\u0686\u0648\u062A\u06BE\u06CC:"chauthi",\u0686\u0648\u062A\u06BE\u06D2:"chauthay",\u067E\u0627\u0646\u0686\u0648\u0627\u06BA:"panchwan",\u067E\u0627\u0646\u0686\u0648\u06CC\u06BA:"panchwein",\u0686\u06BE\u0679\u0627:"chhatta",\u0686\u06BE\u0679\u06CC:"chhatti",\u0633\u0627\u062A\u0648\u0627\u06BA:"saatwan",\u0633\u0627\u062A\u0648\u06CC\u06BA:"saatwein",\u0622\u0679\u06BE\u0648\u0627\u06BA:"aathwan",\u0622\u0679\u06BE\u0648\u06CC\u06BA:"aathwein",\u0646\u0648\u0627\u06BA:"nawwan",\u0646\u0648\u06CC\u06BA:"nawein",\u062F\u0633\u0648\u0627\u06BA:"daswan",\u062F\u0633\u0648\u06CC\u06BA:"daswein",\u0622\u062E\u0631\u06CC:"aakhri",\u0627\u0648\u0644:"awwal",\u062F\u0648\u0645:"dom",\u0633\u0648\u0645:"som",\u0633\u0644\u0627\u0645:"salam",\u062E\u062F\u0627\u062D\u0627\u0641\u0638:"khudahafiz",\u062D\u0627\u0641\u0638:"hafiz",\u0645\u06C1\u0631\u0628\u0627\u0646\u06CC:"meherbani",\u0645\u0628\u0627\u0631\u06A9:"mubarak",\u0645\u0628\u0627\u0631\u06A9\u0628\u0627\u062F:"mubarakbaad",\u062E\u0648\u0634\u0627\u0645\u062F:"khushamad",\u062E\u0648\u0634\u0627\u0645\u062F\u06CC\u062F:"khushamdeed",\u0627\u06C1\u0644\u0627\u064B:"ahlan",\u0648\u0633\u06C1\u0644\u0627\u064B:"wasahlan",\u06C1\u0627\u06BA:"haan",\u062C\u06CC:"ji",\u0679\u06BE\u06CC\u06A9:"theek",\u062F\u0631\u0633\u062A:"durust",\u0635\u062D\u06CC\u062D:"sahi",\u063A\u0644\u0637:"ghalat",\u0628\u0627\u0644\u06A9\u0644:"bilkul",\u0636\u0631\u0648\u0631:"zaroor",\u0634\u0627\u06CC\u062F:"shayad",\u06A9\u0627\u0634:"kaash",\u0648\u0627\u06C1:"waah",\u0634\u0627\u0628\u0627\u0634:"shabash",\u0622\u0641\u0631\u06CC\u0646:"aafreen",\u0645\u0631\u062D\u0628\u0627:"marhaba",\u0633\u0628\u062D\u0627\u0646:"subhan",\u0627\u0644\u062D\u0645\u062F:"alhamd",\u0645\u0627\u0634\u0627\u0621:"masha",\u0627\u0646\u0634\u0627\u0621:"insha",\u062C\u0644\u062F\u06CC:"jaldi",\u0634\u062A\u0627\u0628\u06CC:"shitabi",\u062F\u06CC\u0631:"der",\u062A\u0627\u062E\u06CC\u0631:"takheer",\u0622\u0631\u0627\u0645:"aaram",\u062A\u06BE\u0648\u0691\u0627:"thora",\u062A\u06BE\u0648\u0691\u06CC:"thori",\u062A\u06BE\u0648\u0691\u06D2:"thoray",\u0632\u06CC\u0627\u062F\u06C1:"ziyada",\u0628\u06C1\u062A:"bohat",\u06A9\u0645:"kam",\u0635\u0631\u0641:"sirf",\u0645\u062D\u0636:"mahez",\u0641\u0642\u0637:"faqat",\u0648\u0627\u0642\u0639\u06CC:"waqai",\u0645\u0686:"mach",\u067E\u0627\u06A9\u0633\u062A\u0627\u0646:"pakistan",\u06A9\u0631\u0627\u0686\u06CC:"karachi",\u0644\u0627\u06C1\u0648\u0631:"lahore",\u0622\u0628\u0627\u062F:"abad",\u0631\u0627\u0648\u0644\u067E\u0646\u0688\u06CC:"rawalpindi",\u067E\u0634\u0627\u0648\u0631:"peshawar",\u06A9\u0648\u0626\u0679\u06C1:"quetta",\u0645\u0644\u062A\u0627\u0646:"multan",\u0641\u06CC\u0635\u0644:"faisal",\u0633\u06CC\u0627\u0644\u06A9\u0648\u0679:"sialkot",\u06AF\u0648\u062C\u0631\u0627\u0646\u0648\u0627\u0644\u06C1:"gujranwala",\u062D\u06CC\u062F\u0631\u0622\u0628\u0627\u062F:"hyderabad",\u0628\u06C1\u0627\u0648\u0644\u067E\u0648\u0631:"bahawalpur",\u0633\u0631\u06AF\u0648\u062F\u06BE\u0627:"sargodha",\u0633\u06A9\u06BE\u0631:"sukkur",\u0644\u0627\u0691\u06A9\u0627\u0646\u06C1:"larkana",\u0634\u06CC\u062E\u0648\u067E\u0648\u0631\u06C1:"sheikhupura",\u062C\u06BE\u0646\u06AF:"jhang",\u06AF\u062C\u0631\u0627\u062A:"gujrat",\u0645\u0631\u062F\u0627\u0646:"mardan",\u0642\u0635\u0648\u0631:"kasur",\u0635\u0648\u0627\u0628\u06CC:"swabi",\u0627\u06CC\u0628\u0679:"abbott",\u06AF\u0644\u06AF\u062A:"gilgit",\u0628\u0644\u062A\u0633\u062A\u0627\u0646:"baltistan",\u0645\u0638\u0641\u0631\u0622\u0628\u0627\u062F:"muzaffarabad",\u06AF\u0648\u0627\u062F\u0631:"gwadar",\u0633\u06A9\u0631\u062F\u0648:"skardu",\u0633\u0648\u0627\u062A:"swat",\u0686\u062A\u0631\u0627\u0644:"chitral",\u067E\u0646\u062C\u0627\u0628:"punjab",\u0633\u0646\u062F\u06BE:"sindh",\u0628\u0644\u0648\u0686\u0633\u062A\u0627\u0646:"balochistan",\u062E\u06CC\u0628\u0631:"khyber",\u067E\u062E\u062A\u0648\u0646\u062E\u0648\u0627:"pakhtunkhwa",\u06A9\u0634\u0645\u06CC\u0631:"kashmir",\u0628\u06BE\u0627\u0631\u062A:"bharat",\u06C1\u0646\u062F\u0648\u0633\u062A\u0627\u0646:"hindustan",\u0686\u06CC\u0646:"cheen",\u0627\u0641\u063A\u0627\u0646\u0633\u062A\u0627\u0646:"afghanistan",\u0627\u06CC\u0631\u0627\u0646:"iran",\u0633\u0639\u0648\u062F\u06CC:"saudi",\u0639\u0631\u0628:"arab",\u0627\u0645\u0627\u0631\u0627\u062A:"imarat",\u062F\u0628\u0626\u06CC:"dubai",\u0642\u0637\u0631:"qatar",\u06A9\u0648\u06CC\u062A:"kuwait",\u0628\u062D\u0631\u06CC\u0646:"bahrain",\u0639\u0645\u0627\u0646:"oman",\u0639\u0631\u0627\u0642:"iraq",\u0641\u0644\u0633\u0637\u06CC\u0646:"palestine",\u0627\u0631\u062F\u0646:"urdan",\u0645\u0635\u0631:"misr",\u062A\u0631\u06A9\u06CC:"turkey",\u0628\u0631\u0637\u0627\u0646\u06CC\u06C1:"bartania",\u0644\u0646\u062F\u0646:"london",\u0627\u0645\u0631\u06CC\u06A9\u06C1:"amreeka",\u0648\u0627\u0634\u0646\u06AF\u0679\u0646:"washington",\u0646\u06CC\u0648\u06CC\u0627\u0631\u06A9:"newyork",\u06A9\u06CC\u0646\u06CC\u0688\u0627:"canada",\u062C\u0631\u0645\u0646\u06CC:"germany",\u0641\u0631\u0627\u0646\u0633:"france",\u067E\u06CC\u0631\u0633:"paris",\u0627\u0679\u0644\u06CC:"italy",\u0631\u0648\u0633:"roos",\u0645\u0627\u0633\u06A9\u0648:"moscow",\u062C\u0627\u067E\u0627\u0646:"japan",\u0679\u0648\u06A9\u06CC\u0648:"tokyo",\u0622\u0633\u0679\u0631\u06CC\u0644\u06CC\u0627:"australia",\u0628\u06CC\u062C\u0646\u06AF:"beijing",\u062F\u06C1\u0644\u06CC:"delhi",\u0642\u0627\u06C1\u0631\u06C1:"cairo",\u0645\u06A9\u06C1:"makkah",\u0645\u062F\u06CC\u0646\u06C1:"madina",\u0645\u0642\u062F\u0633:"muqaddas",\u0645\u062D\u0645\u062F:"muhammad",\u0627\u062D\u0645\u062F:"ahmed",\u0639\u0644\u06CC:"ali",\u062E\u0627\u0646:"khan",\u0632\u06CC\u062F:"zaid",\u062D\u0633\u0646:"hasan",\u062D\u0633\u06CC\u0646:"hussain",\u0639\u062B\u0645\u0627\u0646:"usman",\u0627\u0628\u0648\u0628\u06A9\u0631:"abubakar",\u0628\u0644\u0627\u0644:"bilal",\u0627\u0633\u0644\u0645:"aslam",\u062D\u0645\u0632\u06C1:"hamza",\u0633\u0639\u062F:"saad",\u062E\u0627\u0644\u062F:"khalid",\u0637\u0627\u0631\u0642:"tariq",\u0648\u0644\u06CC\u062F:"waleed",\u0634\u0627\u06C1:"shah",\u0686\u0648\u06C1\u062F\u0631\u06CC:"chaudhary",\u0634\u06CC\u062E:"sheikh",\u0633\u06CC\u062F:"syed",\u0642\u0631\u06CC\u0634\u06CC:"qureshi",\u0628\u0679:"butt",\u0645\u063A\u0644:"mughal",\u0627\u0646\u0635\u0627\u0631\u06CC:"ansari",\u0641\u0627\u0631\u0648\u0642:"farooq",\u0633\u0644\u0645\u0627\u0646:"salman",\u0639\u0645\u0631\u0627\u0646:"imran",\u0646\u0648\u06CC\u062F:"naveed",\u06A9\u0627\u0645\u0631\u0627\u0646:"kamran",\u0627\u0631\u0633\u0644\u0627\u0646:"arslan",\u0639\u0631\u0641\u0627\u0646:"irfan",\u0631\u0636\u0648\u0627\u0646:"rizwan",\u0639\u062F\u0646\u0627\u0646:"adnan",\u0641\u06CC\u0636\u0627\u0646:"faizan",\u0634\u06C1\u0632\u0627\u062F:"shehzad",\u0648\u0642\u0627\u0631:"waqar",\u0628\u0627\u0628\u0631:"babar",\u0631\u0636\u0627:"raza",\u0637\u0627\u06C1\u0631:"tahir",\u0646\u0627\u0635\u0631:"nasir",\u0632\u0628\u06CC\u0631:"zubair",\u0633\u06C1\u06CC\u0644:"sohail",\u0646\u062F\u06CC\u0645:"nadeem",\u0648\u0633\u06CC\u0645:"waseem",\u0646\u0639\u06CC\u0645:"naeem",\u0633\u0644\u06CC\u0645:"saleem",\u062C\u0645\u06CC\u0644:"jameel",\u0631\u0627\u0634\u062F:"rashid",\u0633\u0627\u062C\u062F:"sajid",\u0645\u0627\u062C\u062F:"majid",\u0639\u0627\u0628\u062F:"abid",\u0632\u0627\u06C1\u062F:"zahid",\u0634\u0627\u06C1\u062F:"shahid",\u0632\u06CC\u0646:"zain",\u062D\u0627\u0631\u062B:"haris",\u0631\u06CC\u0627\u0646:"rayyan",\u0642\u0627\u0633\u0645:"qasim",\u0637\u06CC\u0628:"tayyab",\u0627\u0628\u0631\u0627\u06C1\u06CC\u0645:"ibrahim",\u0627\u0633\u0645\u0627\u0639\u06CC\u0644:"ismail",\u0627\u0633\u062D\u0627\u0642:"ishaq",\u06CC\u0639\u0642\u0648\u0628:"yaqoob",\u06CC\u0648\u0633\u0641:"yousuf",\u0645\u0648\u0633\u06CC:"musa",\u0639\u06CC\u0633\u06CC:"eesa",\u062F\u0627\u0624\u062F:"dawood",\u0633\u0644\u06CC\u0645\u0627\u0646:"sulaiman",\u06CC\u0648\u0646\u0633:"younus",\u0627\u06CC\u0648\u0628:"ayub",\u06C1\u0627\u0631\u0648\u0646:"haroon",\u06CC\u062D\u06CC\u06CC:"yahya",\u0641\u0627\u0637\u0645\u06C1:"fatima",\u0639\u0627\u0626\u0634\u06C1:"ayesha",\u0645\u0631\u06CC\u0645:"maryam",\u0632\u06CC\u0646\u0628:"zainab",\u062E\u062F\u06CC\u062C\u06C1:"khadija",\u062D\u0641\u0635\u06C1:"hafsa",\u0633\u0627\u0631\u06C1:"sara",\u06C1\u062F\u06CC:"huda",\u062B\u0646\u0627:"sana",\u062D\u0646\u0627:"hina",\u0627\u0642\u0631\u0627:"iqra",\u0633\u062F\u0631\u06C1:"sidra",\u0627\u0642\u0635\u06CC:"aqsa",\u0641\u0631\u062D:"farah",\u0646\u062F\u0627:"nida",\u0635\u0628\u0627:"saba",\u0645\u06C1\u0648\u0634:"mehwish",\u0627\u0646\u0639\u0645:"anam",\u0627\u0631\u0645:"iram",\u0628\u0634\u0631\u06CC:"bushra",\u0633\u0645\u06CC\u0631\u0627:"sumaira",\u0646\u0627\u0632\u06CC\u06C1:"nazia",\u0634\u0627\u0632\u06CC\u06C1:"shazia",\u0631\u0648\u0628\u06CC\u0646\u06C1:"rubina",\u0646\u0633\u0631\u06CC\u0646:"nasreen",\u06CC\u0627\u0633\u0645\u06CC\u0646:"yasmeen",\u062B\u0645\u06CC\u0646\u06C1:"samina",\u067E\u0631\u0648\u06CC\u0646:"parveen",\u0634\u0628\u0627\u0646\u06C1:"shabana",\u0641\u0631\u0632\u0627\u0646\u06C1:"farzana",\u0637\u0627\u06C1\u0631\u06C1:"tahira",\u0639\u0635\u0645\u062A:"ismat",\u0646\u0635\u0631\u062A:"nusrat",\u06AF\u0644\u0633\u062A\u0627\u06BA:"gulistan",\u06AF\u0644\u0634\u0646:"gulshan",\u0628\u06C1\u0627\u0631\u0627\u06BA:"baharan",\u067E\u0631\u0648\u0627\u0646\u06C1:"parwana",\u0634\u0645\u0639:"shama",\u0633\u0627\u0642\u06CC:"saqi",\u0645\u06CC\u062E\u0627\u0646\u06C1:"maikhana",\u062C\u0627\u0645:"jaam",\u0635\u0631\u0627\u062D\u06CC:"surahi",\u0631\u0646\u062F:"rind",\u0645\u062D\u062A\u0633\u0628:"muhtasib",\u0642\u0627\u0635\u062F:"qasid",\u067E\u06CC\u0627\u0645\u0628\u0631:"payambar",\u0631\u0642\u06CC\u0628:"raqeeb",\u062D\u0628\u06CC\u0628:"habeeb",\u0645\u062D\u0628\u0648\u0628:"mahboob",\u0645\u0639\u0634\u0648\u0642:"mashooq",\u0635\u0646\u0645:"sanam",\u0633\u0646\u06AF\u062F\u0644:"sangdil",\u0628\u06CC\u062F\u0631\u062F:"bedard",\u063A\u0645\u06AF\u0633\u0627\u0631:"ghamgusar",\u0645\u0633\u06CC\u062D\u0627:"maseeha",\u0646\u0627\u0635\u062D:"nasih",\u0648\u0627\u0639\u0638:"waiz",\u062A\u0634\u0646\u06C1:"tishna",\u06AF\u06CC\u0633\u0648:"gesu",\u0632\u0644\u0641:"zulf",\u062F\u06CC\u062F\u0627\u0631:"deedar",\u062C\u0644\u0648\u06C1:"jalwa",\u062D\u062C\u0627\u0628:"hijab",\u0646\u0642\u0627\u0628:"niqab",\u0633\u0648\u0632:"soz",\u0622\u06C1\u0646\u06AF:"aahang",\u0646\u063A\u0645\u06C1:"naghma",\u062A\u0631\u0627\u0646\u06C1:"tarana",\u062F\u0627\u0633\u062A\u0627\u06BA:"dastan",\u062D\u0648\u0631:"hoor",\u067E\u0631\u06CC:"pari",\u062F\u06CC\u0648:"deo",\u062C\u0627\u062F\u0648:"jadoo",\u0637\u0644\u0633\u0645:"tilism",\u0627\u0641\u0633\u0648\u0646:"afsoon",\u0633\u062D\u0631\u0627\u0646\u06AF\u06CC\u0632:"sehrangeez",\u0641\u0633\u0648\u06BA:"fusoon",\u062C\u0646\u0648\u06BA:"junoon",\u0633\u0648\u062F\u0627:"sauda",\u0648\u062D\u0634\u062A:"wahshat",\u0627\u0631\u0645\u0627\u0646:"arman",\u0630\u0648\u0642:"zauq",\u0648\u062C\u062F:"wajd",\u0645\u0633\u062A\u06CC:"masti",\u06A9\u06CC\u0641:"kaif",\u062E\u0645\u0627\u0631:"khumar",\u0646\u0634\u06C1:"nasha",\u0628\u06D2\u062E\u0648\u062F\u06CC:"bekhudi",\u062E\u0631\u06CC\u062F\u0627\u0631\u06CC:"khareedari",\u0641\u0631\u0648\u062E\u062A:"farokht",\u0633\u0631\u0645\u0627\u06CC\u06C1:"sarmaya",\u0642\u0631\u0636\u06C1:"qarza",\u0628\u06CC\u0646\u06A9\u0627\u0631\u06CC:"bainkari",\u0642\u0633\u0637:"qist",\u0627\u062F\u0627\u0626\u06CC\u06AF\u06CC:"adaigi",\u0622\u0645\u062F\u0646\u06CC:"aamdani",\u062E\u0631\u0686\u06C1:"kharcha",\u0628\u0686\u062A:"bachat",\u0645\u062D\u0635\u0648\u0644:"mahsool",\u0645\u0627\u0644\u06CC\u062A:"maliyat",\u06A9\u062A\u0627\u0628\u062A:"kitabat",\u0645\u0646\u0688\u06CC:"mandi",\u0646\u06CC\u0644\u0627\u0645\u06CC:"neelami",\u0628\u0648\u0644\u06CC:"boli",\u0634\u0631\u0627\u06A9\u062A:"sharakat",\u062D\u0635\u0635:"hisas",\u0627\u0633\u0679\u0627\u06A9:"stock",\u062F\u0648\u0644\u062A:"daulat",\u062B\u0631\u0648\u062A:"sarwat",\u063A\u0631\u0628\u062A:"ghurbat",\u0627\u0641\u0644\u0627\u0633:"iflas",\u067E\u0631\u0648\u0641\u0627\u0626\u0644:"profile",\u0633\u06CC\u0679\u0646\u06AF\u0632:"settings",\u0646\u0648\u0679\u06CC\u0641\u06A9\u06CC\u0634\u0646:"notification",\u0633\u0627\u0626\u0679:"site",\u067E\u0648\u0631\u0679\u0644:"portal",\u0639\u062F\u0644\u06CC\u06C1:"adliya",\u0645\u0642\u0646\u0646\u06C1:"muqannana",\u0627\u0646\u062A\u0638\u0627\u0645\u06CC\u06C1:"intizamia",\u062D\u06A9\u0645\u0631\u0627\u0646\u06CC:"hukmrani",\u062C\u0645\u06C1\u0648\u0631\u06CC\u06C1:"jamhooria",\u0635\u062F\u0627\u0631\u062A:"sadarat",\u0648\u0632\u0627\u0631\u062A:"wazarat",\u0633\u0641\u0627\u0631\u062A:"safarat",\u0642\u0648\u0646\u0635\u0644:"consul",\u0633\u0641\u0627\u0631\u062A\u062E\u0627\u0646\u06C1:"safaratkhana",\u0622\u0626\u06CC\u0646\u06CC:"aaeeni",\u062F\u0633\u062A\u0648\u0631\u06CC:"dastoori",\u0641\u0648\u062C\u062F\u0627\u0631\u06CC:"faujdari",\u062F\u06CC\u0648\u0627\u0646\u06CC:"deewani",\u0645\u0642\u062F\u0645\u06C1:"muqaddama",\u0633\u0645\u0627\u0639\u062A:"samaat",\u062F\u0631\u062E\u0648\u0627\u0633\u062A:"darkhwast",\u0627\u067E\u06CC\u0644:"appeal",\u0636\u0645\u0627\u0646\u062A:"zamanat",\u0628\u0631\u06CC\u062A:"bariyat",\u0639\u0645\u0631\u0642\u06CC\u062F:"umrqaid",\u067E\u06BE\u0627\u0646\u0633\u06CC:"phansi",\u0648\u06A9\u0627\u0644\u062A:"wukalat",\u062D\u0642\u0648\u0642:"huqooq",\u0641\u0631\u0627\u0626\u0636:"faraiz",\u0634\u06C1\u0631\u06CC:"shahri",\u0634\u06C1\u0631\u06CC\u062A:"shahriyat",\u0634\u0646\u0627\u062E\u062A:"shanakht",\u0646\u0627\u062F\u0631\u0627:"nadra",\u0645\u062C\u0644\u0633:"majlis",\u0634\u0648\u0631\u06CC:"shoora",\u062D\u0644\u06CC\u0641:"haleef",\u0645\u062E\u0627\u0644\u0641:"mukhalif",\u0628\u063A\u0627\u0648\u062A:"baghawat",\u062E\u0637\u06C1:"khitta",\u0635\u0648\u0628\u06C1:"sooba",\u0636\u0644\u0639:"zila",\u062A\u062D\u0635\u06CC\u0644:"tehsil",\u06CC\u0648\u0646\u06CC\u0646:"union",\u06A9\u0648\u0646\u0633\u0644:"council",\u0642\u0631\u06CC\u06C1:"qarya",\u0628\u0633\u062A\u06CC:"basti",\u0634\u06C1\u0631\u0633\u062A\u0627\u0646:"shehristan",\u0646\u062E\u0644\u0633\u062A\u0627\u0646:"nakhalistan",\u06A9\u0648\u06C1\u0633\u0627\u0631:"kohsar",\u06A9\u06C1\u0633\u0627\u0631:"kuhsar",\u06AF\u06BE\u0627\u0679\u06CC:"ghati",\u0648\u0627\u062F\u06CC\u0627\u06BA:"wadiyan",\u06A9\u06BE\u0627\u0626\u06CC:"khaai",\u062E\u0644\u06CC\u062C:"khaleej",\u0631\u0627\u0633:"raas",\u0645\u0627\u0646\u062A\u06D2:"mante",\u0645\u0627\u0646\u062A\u06CC:"manti",\u0645\u0627\u0646\u0648:"mano",\u0679\u06BE\u06C1\u0631\u0646\u0627:"theharna",\u0679\u06BE\u06C1\u0631\u0627:"thehra",\u0679\u06BE\u06C1\u0631\u0648:"thehro",\u0679\u06BE\u06C1\u0631\u062A\u06D2:"thehrte",\u0633\u0645\u062C\u06BE\u0627\u0624:"samjhao",\u067E\u06C1\u0646\u0686\u0627\u0624:"pohonchao",\u0644\u0679\u0627\u0646\u0627:"lutana",\u0644\u0679\u0627\u06CC\u0627:"lutaya",\u0644\u0648\u0679\u0627:"loota",\u067E\u06A9\u0627\u0631\u0627:"pukara",\u067E\u06A9\u0627\u0631\u0648:"pukaro",\u062C\u06BE\u06A9\u0646\u0627:"jhukna",\u062C\u06BE\u06A9\u0627:"jhuka",\u062C\u06BE\u06A9\u0627\u0624:"jhukao",\u062C\u06BE\u06A9\u0627\u0646\u0627:"jhukana",\u062A\u06BE\u0627\u0645\u0646\u0627:"thamna",\u062A\u06BE\u0627\u0645\u0627:"thama",\u062A\u06BE\u0627\u0645\u0648:"thamo",\u0633\u0646\u0648\u0627\u0631\u0646\u0627:"sanwarna",\u0633\u0646\u0648\u0627\u0631\u0627:"sanwara",\u0646\u06A9\u06BE\u0627\u0631\u0646\u0627:"nikharna",\u0646\u06A9\u06BE\u0627\u0631\u0627:"nikhara",\u0633\u0646\u0628\u06BE\u0627\u0644\u0646\u0627:"sambhalna",\u0633\u0646\u0628\u06BE\u0627\u0644\u0627:"sambhala",\u0633\u0646\u0628\u06BE\u0627\u0644\u0648:"sambhalo",\u067E\u0686\u06BE\u062A\u0627\u0646\u0627:"pachtana",\u067E\u0686\u06BE\u062A\u0627\u06CC\u0627:"pachtaya",\u06AF\u06BE\u0628\u0631\u0627\u0646\u0627:"ghabrana",\u06AF\u06BE\u0628\u0631\u0627\u06CC\u0627:"ghabraya",\u0645\u0633\u06A9\u0631\u0627\u0646\u0627:"muskurana",\u0645\u0633\u06A9\u0631\u0627\u06CC\u0627:"muskuraya",\u0645\u0633\u06A9\u0631\u0627\u06C1\u0679:"muskurahat",\u062C\u06BE\u0646\u062C\u06BE\u0644\u0627\u0646\u0627:"jhanjhlana",\u062A\u0644\u0645\u0644\u0627\u0646\u0627:"tilmilana",\u0628\u0644\u0628\u0644\u0627\u0646\u0627:"bilbilana",\u06A9\u06BE\u0644\u06A9\u06BE\u0644\u0627\u0646\u0627:"khilkhilana",\u06A9\u06BE\u0679\u06A9\u06BE\u0679\u0627\u0646\u0627:"khatkhatana",\u062C\u06BE\u0644\u0645\u0644\u0627\u0646\u0627:"jhilmilana",\u0686\u0645\u0686\u0645\u0627\u062A\u0627:"chamchamata",\u0644\u06C1\u0631\u0627\u0646\u0627:"lehrana",\u0644\u06C1\u0631\u0627\u06CC\u0627:"lehraya",\u0644\u06C1\u0631:"lehar"},ha={hay:"\u06C1\u06D2",he:"\u06C1\u06D2",hei:"\u06C1\u06D2",hein:"\u06C1\u06CC\u06BA",hn:"\u06C1\u06CC\u06BA",hain:"\u06C1\u06CC\u06BA",hun:"\u06C1\u0648\u06BA",hoon:"\u06C1\u0648\u06BA",ap:"\u0622\u067E",aap:"\u0622\u067E",aapko:"\u0622\u067E\u06A9\u0648",aapka:"\u0622\u067E\u06A9\u0627",aapki:"\u0622\u067E\u06A9\u06CC",aapke:"\u0622\u067E\u06A9\u06D2",kaise:"\u06A9\u06CC\u0633\u06D2",kese:"\u06A9\u06CC\u0633\u06D2",kaisey:"\u06A9\u06CC\u0633\u06D2",kaisa:"\u06A9\u06CC\u0633\u0627",kaisi:"\u06A9\u06CC\u0633\u06CC",nam:"\u0646\u0627\u0645",naam:"\u0646\u0627\u0645",mai:"\u0645\u06CC\u06BA",main:"\u0645\u06CC\u06BA",me:"\u0645\u06CC\u06BA",mein:"\u0645\u06CC\u06BA",mujhe:"\u0645\u062C\u06BE\u06D2",mujhey:"\u0645\u062C\u06BE\u06D2",mjhe:"\u0645\u062C\u06BE\u06D2",mjhy:"\u0645\u062C\u06BE\u06D2",mj:"\u0645\u062C\u06BE\u06D2",humein:"\u06C1\u0645\u06CC\u06BA",hume:"\u06C1\u0645\u06CC\u06BA",hmein:"\u06C1\u0645\u06CC\u06BA",hmain:"\u06C1\u0645\u06CC\u06BA",tumhein:"\u062A\u0645\u06C1\u06CC\u06BA",tumhe:"\u062A\u0645\u06C1\u06CC\u06BA",tumhey:"\u062A\u0645\u06C1\u06CC\u06BA",tmhein:"\u062A\u0645\u06C1\u06CC\u06BA",tmhe:"\u062A\u0645\u06C1\u06CC\u06BA",unhein:"\u0627\u0646\u06C1\u06CC\u06BA",unhe:"\u0627\u0646\u06C1\u06CC\u06BA",unhey:"\u0627\u0646\u06C1\u06CC\u06BA",inhein:"\u0627\u0646\u06C1\u06CC\u06BA",inhe:"\u0627\u0646\u06C1\u06CC\u06BA",usey:"\u0627\u0633\u06D2",usay:"\u0627\u0633\u06D2",use:"\u0627\u0633\u06D2",isay:"\u0627\u0633\u06D2",ise:"\u0627\u0633\u06D2",jisay:"\u062C\u0633\u06D2",jise:"\u062C\u0633\u06D2",kisay:"\u06A9\u0633\u06D2",kise:"\u06A9\u0633\u06D2",kyu:"\u06A9\u06CC\u0648\u06BA",kyn:"\u06A9\u06CC\u0648\u06BA",kyo:"\u06A9\u06CC\u0648\u06BA",kyun:"\u06A9\u06CC\u0648\u06BA",kyoon:"\u06A9\u06CC\u0648\u06BA",kaha:"\u06A9\u06C1\u0627\u06BA",kahan:"\u06A9\u06C1\u0627\u06BA",khn:"\u06A9\u06C1\u0627\u06BA",kidhar:"\u06A9\u062F\u06BE\u0631",idhar:"\u0627\u062F\u06BE\u0631",jidhar:"\u062C\u062F\u06BE\u0631",kab:"\u06A9\u0628",kya:"\u06A9\u06CC\u0627",kia:"\u06A9\u06CC\u0627",kiya:"\u06A9\u06CC\u0627",kuch:"\u06A9\u0686\u06BE",kuchh:"\u06A9\u0686\u06BE",kch:"\u06A9\u0686\u06BE",bhi:"\u0628\u06BE\u06CC",b:"\u0628\u06BE\u06CC",nahin:"\u0646\u06C1\u06CC\u06BA",nahi:"\u0646\u06C1\u06CC\u06BA",nai:"\u0646\u06C1\u06CC\u06BA",nhi:"\u0646\u06C1\u06CC\u06BA",nahe:"\u0646\u06C1\u06CC\u06BA",nhn:"\u0646\u06C1\u06CC\u06BA",bahut:"\u0628\u06C1\u062A",bhot:"\u0628\u06C1\u062A",bohot:"\u0628\u06C1\u062A",bohat:"\u0628\u06C1\u062A",bht:"\u0628\u06C1\u062A",achha:"\u0627\u0686\u06BE\u0627",acha:"\u0627\u0686\u06BE\u0627",accha:"\u0627\u0686\u06BE\u0627",achi:"\u0627\u0686\u06BE\u06CC",achhi:"\u0627\u0686\u06BE\u06CC",ache:"\u0627\u0686\u06BE\u06D2",achay:"\u0627\u0686\u06BE\u06D2",shukria:"\u0634\u06A9\u0631\u06CC\u06C1",shukriya:"\u0634\u06A9\u0631\u06CC\u06C1",thx:"\u0634\u06A9\u0631\u06CC\u06C1",thanks:"\u0634\u06A9\u0631\u06CC\u06C1",plz:"\u0645\u06C1\u0631\u0628\u0627\u0646\u06CC",please:"\u0645\u06C1\u0631\u0628\u0627\u0646\u06CC",salaam:"\u0633\u0644\u0627\u0645",salam:"\u0633\u0644\u0627\u0645",mohabat:"\u0645\u062D\u0628\u062A",muhabbat:"\u0645\u062D\u0628\u062A",mohabbat:"\u0645\u062D\u0628\u062A",pyar:"\u067E\u06CC\u0627\u0631",pyaar:"\u067E\u06CC\u0627\u0631",zindagi:"\u0632\u0646\u062F\u06AF\u06CC",zindgi:"\u0632\u0646\u062F\u06AF\u06CC",dost:"\u062F\u0648\u0633\u062A",dst:"\u062F\u0648\u0633\u062A",khush:"\u062E\u0648\u0634",khushi:"\u062E\u0648\u0634",theak:"\u0679\u06BE\u06CC\u06A9",thik:"\u0679\u06BE\u06CC\u06A9",theek:"\u0679\u06BE\u06CC\u06A9",bhai:"\u0628\u06BE\u0627\u0626\u06CC",bhaiya:"\u0628\u06BE\u0627\u0626\u06CC",behen:"\u0628\u06C1\u0646",behan:"\u0628\u06C1\u0646",baji:"\u0628\u0627\u062C\u06CC",api:"\u0622\u067E\u06CC",ammi:"\u0627\u0645\u06CC",ami:"\u0627\u0645\u06CC",abbu:"\u0627\u0628\u0648",abu:"\u0627\u0628\u0648",paisay:"\u067E\u06CC\u0633\u06D2",paise:"\u067E\u06CC\u0633\u06D2",paisa:"\u067E\u06CC\u0633\u06C1",kaam:"\u06A9\u0627\u0645",kam:"\u06A9\u0645",ghar:"\u06AF\u06BE\u0631",ghr:"\u06AF\u06BE\u0631",pehle:"\u067E\u06C1\u0644\u06D2",pehlay:"\u067E\u06C1\u0644\u06D2",pehly:"\u067E\u06C1\u0644\u06D2",baad:"\u0628\u0639\u062F",bad:"\u0628\u0639\u062F",lekin:"\u0644\u06CC\u06A9\u0646",lkn:"\u0644\u06CC\u06A9\u0646",magar:"\u0645\u06AF\u0631",mgr:"\u0645\u06AF\u0631",waqt:"\u0648\u0642\u062A",wqt:"\u0648\u0642\u062A",zroor:"\u0636\u0631\u0648\u0631",zaroor:"\u0636\u0631\u0648\u0631",zarur:"\u0636\u0631\u0648\u0631",zroori:"\u0636\u0631\u0648\u0631\u06CC",zaroori:"\u0636\u0631\u0648\u0631\u06CC",chahiye:"\u0686\u0627\u06C1\u06CC\u06D2",chahye:"\u0686\u0627\u06C1\u06CC\u06D2",chaheye:"\u0686\u0627\u06C1\u06CC\u06D2",khuda:"\u062E\u062F\u0627",allah:"\u0627\u0644\u0644\u06C1",hafiz:"\u062D\u0627\u0641\u0638",haafiz:"\u062D\u0627\u0641\u0638",khudahafiz:"\u062E\u062F\u0627\u062D\u0627\u0641\u0638",aam:"\u0622\u0645",hawa:"\u06C1\u0648\u0627",ho:"\u06C1\u0648",hoga:"\u06C1\u0648\u06AF\u0627",hogi:"\u06C1\u0648\u06AF\u06CC",honge:"\u06C1\u0648\u06BA\u06AF\u06D2",karna:"\u06A9\u0631\u0646\u0627",krna:"\u06A9\u0631\u0646\u0627",karo:"\u06A9\u0631\u0648",kro:"\u06A9\u0631\u0648",dekhna:"\u062F\u06CC\u06A9\u06BE\u0646\u0627",dekho:"\u062F\u06CC\u06A9\u06BE\u0648",sunna:"\u0633\u0646\u0646\u0627",suno:"\u0633\u0646\u0648",samajh:"\u0633\u0645\u062C\u06BE",smjh:"\u0633\u0645\u062C\u06BE",laikin:"\u0644\u06CC\u06A9\u0646",shukr:"\u0634\u06A9\u0631",sabr:"\u0635\u0628\u0631",dil:"\u062F\u0644",kitab:"\u06A9\u062A\u0627\u0628",kitaab:"\u06A9\u062A\u0627\u0628",school:"\u0633\u06A9\u0648\u0644",college:"\u06A9\u0627\u0644\u062C",hospital:"\u06C1\u0633\u067E\u062A\u0627\u0644",pal:"\u067E\u0644",daur:"\u062F\u0648\u0631",kurta:"\u06A9\u0631\u062A\u0627",haseen:"\u062D\u0633\u06CC\u0646",malik:"\u0645\u0644\u06A9",kidhr:"\u06A9\u062F\u06BE\u0631",idhr:"\u0627\u062F\u06BE\u0631",jdhr:"\u062C\u062F\u06BE\u0631",thek:"\u0679\u06BE\u06CC\u06A9",thk:"\u0679\u06BE\u06CC\u06A9",sahi:"\u0635\u062D\u06CC\u062D",galat:"\u063A\u0644\u0637",ghalat:"\u063A\u0644\u0637",sb:"\u0633\u0628",hmsha:"\u06C1\u0645\u06CC\u0634\u06C1",kbhi:"\u06A9\u0628\u06BE\u06CC",aksar:"\u0627\u06A9\u062B\u0631",behtareen:"\u0628\u06C1\u062A\u0631\u06CC\u0646",zabardast:"\u0632\u0628\u0631\u062F\u0633\u062A",shandar:"\u0634\u0627\u0646\u062F\u0627\u0631",khoob:"\u062E\u0648\u0628",khub:"\u062E\u0648\u0628",sharam:"\u0634\u0631\u0645",haya:"\u062D\u06CC\u0627",ghairat:"\u063A\u06CC\u0631\u062A",himmat:"\u06C1\u0645\u062A",hosla:"\u062D\u0648\u0635\u0644\u06C1",mashaallah:"\u0645\u0627\u0634\u0627\u0621\u0627\u0644\u0644\u06C1",inshaallah:"\u0627\u0646\u0634\u0627\u0621\u0627\u0644\u0644\u06C1",mashallah:"\u0645\u0627\u0634\u0627\u0621\u0627\u0644\u0644\u06C1",inshallah:"\u0627\u0646\u0634\u0627\u0621\u0627\u0644\u0644\u06C1",alhamdulillah:"\u0627\u0644\u062D\u0645\u062F\u0644\u0644\u06C1",jazakallah:"\u062C\u0632\u0627\u06A9\u200C\u0627\u0644\u0644\u06C1"};var Aa={\u0628\u06BE:"bh",\u067E\u06BE:"ph",\u062A\u06BE:"th",\u0679\u06BE:"th",\u062C\u06BE:"jh",\u0686\u06BE:"chh",\u062F\u06BE:"dh",\u0688\u06BE:"dh",\u0691\u06BE:"rh",\u06A9\u06BE:"kh",\u06AF\u06BE:"gh",\u0644\u06BE:"lh",\u0645\u06BE:"mh",\u0646\u06BE:"nh",\u0631\u06BE:"rh"},Da={\u0627:"a",\u0622:"aa",\u0628:"b",\u067E:"p",\u062A:"t",\u0679:"t",\u062B:"s",\u062C:"j",\u0686:"ch",\u062D:"h",\u062E:"kh",\u062F:"d",\u0688:"d",\u0630:"z",\u0631:"r",\u0691:"r",\u0632:"z",\u0698:"zh",\u0633:"s",\u0634:"sh",\u0635:"s",\u0636:"z",\u0637:"t",\u0638:"z",\u0639:"a",\u063A:"gh",\u0641:"f",\u0642:"q",\u06A9:"k",\u06AF:"g",\u0644:"l",\u0645:"m",\u0646:"n",\u06BA:"n",\u0648:"o",\u06C1:"h",\u06BE:"h",\u0621:"",\u06CC:"i",\u0626:"i",\u06D2:"e",\u06D3:"e",\u0624:"o",\u06C2:"h"},Ua=new Set(["\u0627","\u0622","\u0648","\u06CC","\u06D2","\u0624","\u0626","\u06D3","\u06C2","\u0639"]);function sa(a){let e=N[a];if(e)return e;let t=[...a],r=[];for(let n=0;n<t.length;n++){let h=n===t.length-1,o=t[n]+(t[n+1]??""),u=Aa[o];if(u){r.push({text:u,vowel:false}),n++;continue}let s=t[n];if(n===0&&s==="\u0627"){let c=t[1];if(c==="\u0648"){r.push({text:"o",vowel:true}),n++;continue}if(c==="\u06CC"){r.push({text:"i",vowel:true}),n++;continue}r.push({text:"a",vowel:true});continue}if(n===0&&s==="\u0648"){r.push({text:"w",vowel:false});continue}if(n===0&&s==="\u06CC"){r.push({text:"y",vowel:false});continue}if(h&&s==="\u06C1"&&r.length>0){r.push({text:"a",vowel:true});continue}if(s==="\u06CC"&&t[n+1]==="\u06BA"&&n+1===t.length-1){r.push({text:"ein",vowel:true}),n++;continue}if(s==="\u06CC"&&!h){r.push({text:"e",vowel:true});continue}r.push({text:Da[s]??s,vowel:Ua.has(s)});}return r.length>2&&!r[0].vowel&&!r[1].vowel&&r.splice(1,0,{text:"a",vowel:true}),r.map(n=>n.text).join("")}function Na(a,e={}){if(!a)return "";let r=R(d(a)).split(/(\s+)/u).map(i=>/^\s+$/u.test(i)?i:sa(i)).join("");return e.capitalize?r.charAt(0).toUpperCase()+r.slice(1):r}var O={};for(let[a,e]of Object.entries(N))O[e]=a;Object.assign(O,ha);var Oa=[[/^kh/u,"\u06A9\u06BE"],[/^gh/u,"\u06AF\u06BE"],[/^chh/u,"\u0686\u06BE"],[/^ch/u,"\u0686"],[/^sh/u,"\u0634"],[/^th/u,"\u062A\u06BE"],[/^ph/u,"\u067E\u06BE"],[/^bh/u,"\u0628\u06BE"],[/^aa/u,"\u0622"],[/^oo/u,"\u0648"],[/^ee/u,"\u06CC"],[/^ai/u,"\u06CC"],[/^b/u,"\u0628"],[/^p/u,"\u067E"],[/^t/u,"\u062A"],[/^j/u,"\u062C"],[/^d/u,"\u062F"],[/^r/u,"\u0631"],[/^z/u,"\u0632"],[/^s/u,"\u0633"],[/^f/u,"\u0641"],[/^q/u,"\u0642"],[/^k/u,"\u06A9"],[/^g/u,"\u06AF"],[/^l/u,"\u0644"],[/^m/u,"\u0645"],[/^n/u,"\u0646"],[/^v|^w/u,"\u0648"],[/^h/u,"\u06C1"],[/^y/u,"\u06CC"],[/^a/u,"\u0627"],[/^e/u,"\u06CC"],[/^i/u,"\u06CC"],[/^o/u,"\u0648"],[/^u/u,"\u0648"]];function Ca(a){let e=a.toLowerCase(),t=O[e];if(t)return t;let r=e,i="",n=0;for(;r.length>0;){let h=false;for(let[o,u]of Oa){let s=o.exec(r);if(!s)continue;/^[aeiou]$/u.test(s[0])&&n>0&&r.length>1||(i+=u),r=r.slice(s[0].length),n++,h=true;break}h||(i+=r[0],r=r.slice(1),n++);}return i}function va(a){return a?a.split(/(\s+)/u).map(e=>/^\s+$/u.test(e)?e:Ca(e)).join(""):""}function Wa(a,e={}){let{separator:t="-",maxLength:r,preserveUrdu:i=false}=e;if(!a)return "";let n=k(R(d(a))),h=i?n:n.map(sa),o=i?/[^\p{L}\p{N}]+/gu:/[^a-z0-9]+/gu,u=h.map(s=>s.toLowerCase().replace(o," ").trim()).flatMap(s=>s.split(/\s+/u)).filter(s=>s.length>0).join(t);if(r&&u.length>r){u=u.slice(0,r);let s=u.lastIndexOf(t);s>0&&(u=u.slice(0,s));}return u}exports.URDU_STOP_WORDS=Q;exports.analyzeUrdu=za;exports.compareUrdu=ta;exports.convertNumbers=pa;exports.countSentences=K;exports.countWords=Z;exports.editDistance=na;exports.filterStopWords=aa;exports.foldUrdu=p;exports.hasUrduSpecificLetters=ya;exports.highlightUrdu=_a;exports.isStopWord=Sa;exports.isUrdu=ga;exports.normalizeUrdu=d;exports.numberToUrduWords=D;exports.parseUrduNumber=ba;exports.removeDiacritics=R;exports.removeStopWords=Ta;exports.romanToUrdu=va;exports.romanize=Na;exports.searchUrdu=Ia;exports.searchUrduRanked=ia;exports.sortUrdu=xa;exports.splitSentences=J;exports.splitWords=k;exports.toArabicIndicDigits=ka;exports.toEnglishDigits=H;exports.toUrduDigits=da;exports.urduRatio=U;exports.urduSlug=Wa;return exports;})({});//# sourceMappingURL=index.iife.js.map
|
|
2
|
+
//# sourceMappingURL=index.iife.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/chars.ts","../src/normalize.ts","../src/numbers.ts","../src/detect.ts","../src/stats.ts","../src/stopwords.ts","../src/collate.ts","../src/search.ts","../src/dictionary.ts","../src/transliterate.ts"],"names":["DIACRITIC_RANGES","DIACRITICS_RE","TATWEEL_RE","INVISIBLE_RE","ZWNJ_RE","ARABIC_LETTER_RANGES","ARABIC_LETTER_RE","ANY_LETTER_RE_G","URDU_DIGITS","ARABIC_INDIC_DIGITS","ASCII_DIGITS","ANY_DIGIT_RE_G","SENTENCE_SPLIT_RE","WORD_SPLIT_RE","URDU_YEH","URDU_KEHEH","URDU_HEH_GOAL","ALEF","WAW","LETTER_MAP","digitTargets","PUNCTUATION_MAP","DIGIT_LOOKUP","set","i","normalizeUrdu","input","options","compatibility","stripDiacritics","stripTatweel","stripZwnj","collapseWhitespace","digits","urduPunctuation","text","digitTarget","out","ch","mapped","value","punct","removeDiacritics","foldUrdu","SETS","VALUE_OF","convert","target","toUrduDigits","toEnglishDigits","toArabicIndicDigits","convertNumbers","to","parseUrduNumber","ascii","ONES","TEENS_AND_TENS","numberToUrduWords","scales","parts","rest","size","name","count","tens","urduRatio","letters","urdu","isUrdu","threshold","minLetters","URDU_ONLY","hasUrduSpecificLetters","countWords","splitWords","w","ABBREVIATIONS","ABBREV_PATTERN","countSentences","splitSentences","preserveTerminators","PROTECTED_DOT","PROTECTED_URDU_FULL_STOP","sanitized","match","s","analyzeUrdu","characters","charactersNoSpaces","words","sentences","paragraphs","p","URDU_STOP_WORDS","toStopWordSet","custom","isStopWord","word","customStopWords","normalized","filterStopWords","stopSet","removeStopWords","ALPHABET","VARIANTS","WEIGHTS","index","base","secondary","baseWeight","NON_LETTER_BASE","weightsOf","weight","compareUrdu","b","left","right","length","diff","sortUrdu","items","descending","getText","key","item","sorted","a","editDistance","limit","previous","_","current","rowMin","j","cost","scoreOf","query","queryWords","textWords","matched","qw","tw","searchUrdu","searchUrduRanked","fuzzy","maxDistance","sortByScore","read","folded","results","score","highlightUrdu","wrap","m","foldedQuery","sourceChars","foldedChars","sourceIndexOf","f","haystack","cursor","from","hit","startSource","endSource","WORD_DICTIONARY","ROMAN_VARIANTS","DIGRAPHS","LETTERS","VOWEL_LETTERS","romanizeWord","dictionary","chars","pieces","last","pair","digraph","next","romanize","roman","chunk","ROMAN_DICTIONARY","urduWord","ROMAN_RULES","romanWordToUrdu","lower","position","pattern","replacement","romanToUrdu","urduSlug","separator","maxLength","preserveUrdu","allowed","slug","part","lastSeparator"],"mappings":"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","file":"index.iife.js","sourcesContent":["/**\n * Shared Unicode building blocks for the Arabic script as used by Urdu.\n *\n * Blocks worth remembering:\n * U+0600-U+06FF Arabic (Urdu letters live here, plus the U+06Ax-U+06Dx extras)\n * U+0750-U+077F Arabic Supplement\n * U+08A0-U+08FF Arabic Extended-A\n * U+FB50-U+FDFF Arabic Presentation Forms-A\n * U+FE70-U+FEFC Arabic Presentation Forms-B\n *\n * Every class below is written with \\u escapes on purpose: these characters are\n * invisible or shape-shifting in an editor, and a silently wrong literal is the\n * single easiest way to break an Urdu pipeline.\n */\n\n/**\n * Combining marks: harakat (ً-ٟ), quranic annotation (ۖ-ۭ),\n * superscript alef (ٰ) and the ؐ-ؚ honorific marks.\n * Deliberately excludes U+06D4 (Urdu full stop ۔), U+06D2 (ے) and U+06D3 (ۓ).\n */\nexport const DIACRITIC_RANGES = \"\\\\u0610-\\\\u061A\\\\u064B-\\\\u065F\\\\u0670\\\\u06D6-\\\\u06ED\";\n\nexport const DIACRITICS_RE = new RegExp(`[${DIACRITIC_RANGES}]`, \"gu\");\n\n/** Tatweel / kashida U+0640 — display padding, never meaning. */\nexport const TATWEEL_RE = /ـ/gu;\n\n/** Bidi controls, joiners and BOM that leak in from copy-paste. ZWNJ is handled separately. */\nexport const INVISIBLE_RE = /[----]/gu;\n\n/** Zero-width non-joiner U+200C: occasionally meaningful, so stripped only on request. */\nexport const ZWNJ_RE = //gu;\n\nconst ARABIC_SCRIPT_RANGES = \"\\\\u0600-\\\\u06FF\\\\u0750-\\\\u077F\\\\u08A0-\\\\u08FF\\\\uFB50-\\\\uFDFF\\\\uFE70-\\\\uFEFC\";\n\n/** Any Arabic-script character: letters, marks, punctuation, digits, presentation forms. */\nexport const ARABIC_SCRIPT_RE = new RegExp(`[${ARABIC_SCRIPT_RANGES}]`, \"u\");\n\nconst ARABIC_LETTER_RANGES =\n \"\\\\u0620-\\\\u063F\\\\u0641-\\\\u064A\\\\u066E\\\\u066F\\\\u0671-\\\\u06D3\\\\u06D5\\\\u06EE\\\\u06EF\\\\u06FA-\\\\u06FF\" +\n \"\\\\u0750-\\\\u077F\\\\u08A0-\\\\u08FF\\\\uFB50-\\\\uFDFF\\\\uFE70-\\\\uFEFC\";\n\n/** Arabic-script letters only — no marks, no digits, no punctuation, no tatweel. */\nexport const ARABIC_LETTER_RE = new RegExp(`[${ARABIC_LETTER_RANGES}]`, \"u\");\nexport const ARABIC_LETTER_RE_G = new RegExp(`[${ARABIC_LETTER_RANGES}]`, \"gu\");\n\n/** Letters of any script — the denominator when measuring \"how Urdu is this text\". */\nexport const ANY_LETTER_RE = /\\p{L}/u;\nexport const ANY_LETTER_RE_G = /\\p{L}/gu;\n\n/** Urdu digits ۰-۹ (U+06F0) and Arabic-Indic digits ٠-٩ (U+0660) are two distinct blocks. */\nexport const URDU_DIGITS = \"۰۱۲۳۴۵۶۷۸۹\";\nexport const ARABIC_INDIC_DIGITS = \"٠١٢٣٤٥٦٧٨٩\";\nexport const ASCII_DIGITS = \"0123456789\";\n\nexport const ANY_DIGIT_RE_G = new RegExp(`[${ASCII_DIGITS}${URDU_DIGITS}${ARABIC_INDIC_DIGITS}]`, \"gu\");\n\n/** Sentence terminators: Urdu full stop ۔, Arabic question mark ؟, ASCII . ! ? and ellipsis. */\nexport const SENTENCE_SPLIT_RE = /[۔؟?!.…]+/u;\n\n/** Word separators: whitespace plus punctuation that cannot occur inside an Urdu word. */\nexport const WORD_SPLIT_RE =\n /[\\s،؛؟۔٫٬…!-\\/:-@\\[-`{-~‐-‧«»‘’“”]+/u;\n","import {\n ARABIC_INDIC_DIGITS,\n ASCII_DIGITS,\n DIACRITICS_RE,\n INVISIBLE_RE,\n TATWEEL_RE,\n URDU_DIGITS,\n ZWNJ_RE,\n} from \"./chars.js\";\nimport type { DigitStyle } from \"./numbers.js\";\n\n/**\n * Arabic-script characters that Urdu writes with a different codepoint.\n *\n * The direction matters and is a common source of bugs: Urdu uses\n * ہ (U+06C1 heh goal) and ی (U+06CC farsi yeh), NOT the Arabic\n * ه (U+0647) and ي (U+064A). Text pasted from Arabic keyboards,\n * Windows-1256 conversions or older CMSes carries the Arabic forms,\n * which then fail every naive `===` comparison.\n */\nconst URDU_YEH = \"ی\"; // ی farsi yeh\nconst URDU_KEHEH = \"ک\"; // ک keheh\nconst URDU_HEH_GOAL = \"ہ\"; // ہ heh goal\nconst ALEF = \"ا\"; // ا\nconst WAW = \"و\"; // و\n\nconst LETTER_MAP: Record<string, string> = {\n // yeh family -> ی. Note ے (U+06D2 bari ye) is a distinct letter and is preserved.\n \"ي\": URDU_YEH, // ي arabic yeh\n \"ى\": URDU_YEH, // ى alef maksura\n \"ۍ\": URDU_YEH, // ۍ yeh with tail\n \"ې\": URDU_YEH, // ې pashto e\n \"ؠ\": URDU_YEH, // ؠ kashmiri yeh\n // kaf family -> ک\n \"ك\": URDU_KEHEH, // ك arabic kaf\n \"ڪ\": URDU_KEHEH, // ڪ swash kaf\n // heh family -> ہ. ھ (U+06BE do-chashmi heh) is a distinct letter and is preserved.\n \"ه\": URDU_HEH_GOAL, // ه arabic heh\n \"ۀ\": URDU_HEH_GOAL, // ۀ heh with yeh above\n \"ة\": URDU_HEH_GOAL, // ة teh marbuta\n \"ۃ\": URDU_HEH_GOAL, // ۃ teh marbuta goal\n \"ە\": URDU_HEH_GOAL, // ە ae\n // alef family -> ا. آ (U+0622 alef madda) is a real Urdu letter and is preserved.\n \"أ\": ALEF, // أ alef with hamza above\n \"إ\": ALEF, // إ alef with hamza below\n \"ٱ\": ALEF, // ٱ alef wasla\n \"ٲ\": ALEF, // ٲ alef with wavy hamza above\n \"ٳ\": ALEF, // ٳ alef with wavy hamza below\n // waw family -> و. ؤ (U+0624) is preserved: it carries hamza meaningfully in Urdu.\n \"ۋ\": WAW, // ۋ ve\n \"ۆ\": WAW, // ۆ oe\n \"ۇ\": WAW, // ۇ u\n};\n\nconst digitTargets: Record<DigitStyle, string> = {\n urdu: URDU_DIGITS,\n english: ASCII_DIGITS,\n arabic: ARABIC_INDIC_DIGITS,\n};\n\nexport interface NormalizeOptions {\n /** Apply Unicode NFKC first, folding presentation forms (ﻻ, ﮐ) back to real letters. Default `true`. */\n compatibility?: boolean;\n /** Strip harakat and quranic marks. Default `false` — see {@link removeDiacritics}. */\n stripDiacritics?: boolean;\n /** Remove tatweel/kashida padding. Default `true`. */\n stripTatweel?: boolean;\n /** Remove zero-width non-joiner. Default `false`, since ZWNJ can be meaningful. */\n stripZwnj?: boolean;\n /** Collapse whitespace runs to a single space and trim. Default `true`. */\n collapseWhitespace?: boolean;\n /** Rewrite every digit to one style. Default `\"preserve\"`. */\n digits?: DigitStyle | \"preserve\";\n /** Map ASCII `,` `;` `?` to Urdu `،` `؛` `؟`. Default `false`. */\n urduPunctuation?: boolean;\n}\n\nconst PUNCTUATION_MAP: Record<string, string> = {\n \",\": \"،\", // ،\n \";\": \"؛\", // ؛\n \"?\": \"؟\", // ؟\n};\n\nconst DIGIT_LOOKUP = new Map<string, number>();\nfor (const set of [ASCII_DIGITS, URDU_DIGITS, ARABIC_INDIC_DIGITS]) {\n for (let i = 0; i < 10; i++) DIGIT_LOOKUP.set(set[i]!, i);\n}\n\n/**\n * Fold an Urdu string to a single canonical Unicode form.\n *\n * @example\n * normalizeUrdu(\"كيا حال ہے\") // \"کیا حال ہے\"\n */\nexport function normalizeUrdu(input: string, options: NormalizeOptions = {}): string {\n if (!input) return \"\";\n\n const {\n compatibility = true,\n stripDiacritics = false,\n stripTatweel = true,\n stripZwnj = false,\n collapseWhitespace = true,\n digits = \"preserve\",\n urduPunctuation = false,\n } = options;\n\n let text = compatibility ? input.normalize(\"NFKC\") : input.normalize(\"NFC\");\n\n text = text.replace(INVISIBLE_RE, \"\");\n if (stripZwnj) text = text.replace(ZWNJ_RE, \"\");\n if (stripTatweel) text = text.replace(TATWEEL_RE, \"\");\n if (stripDiacritics) text = text.replace(DIACRITICS_RE, \"\");\n\n const digitTarget = digits === \"preserve\" ? null : digitTargets[digits];\n\n let out = \"\";\n for (const ch of text) {\n const mapped = LETTER_MAP[ch];\n if (mapped !== undefined) {\n out += mapped;\n continue;\n }\n if (digitTarget) {\n const value = DIGIT_LOOKUP.get(ch);\n if (value !== undefined) {\n out += digitTarget[value];\n continue;\n }\n }\n if (urduPunctuation) {\n const punct = PUNCTUATION_MAP[ch];\n if (punct !== undefined) {\n out += punct;\n continue;\n }\n }\n out += ch;\n }\n\n if (collapseWhitespace) out = out.replace(/\\s+/gu, \" \").trim();\n\n return out;\n}\n\n/**\n * Strip harakat, quranic annotation marks and superscript alef.\n * Keeps ۔ ے ۓ, which are letters/punctuation rather than marks.\n *\n * @example\n * removeDiacritics(\"مُحَمَّد\") // \"محمد\"\n */\nexport function removeDiacritics(input: string): string {\n if (!input) return \"\";\n return input.normalize(\"NFC\").replace(DIACRITICS_RE, \"\");\n}\n\n/**\n * The comparison key used by {@link searchUrdu} and {@link sortUrdu}:\n * normalized, diacritic-free, lowercased, whitespace-collapsed.\n * Two strings that a reader would call \"the same word\" should fold to the same key.\n */\nexport function foldUrdu(input: string): string {\n return normalizeUrdu(input, {\n stripDiacritics: true,\n stripZwnj: true,\n collapseWhitespace: true,\n }).toLowerCase();\n}\n","import { ARABIC_INDIC_DIGITS, ASCII_DIGITS, URDU_DIGITS } from \"./chars.js\";\n\nconst SETS = {\n urdu: URDU_DIGITS,\n english: ASCII_DIGITS,\n arabic: ARABIC_INDIC_DIGITS,\n} as const;\n\nexport type DigitStyle = keyof typeof SETS;\n\nconst VALUE_OF = new Map<string, number>();\nfor (const set of Object.values(SETS)) {\n for (let i = 0; i < 10; i++) VALUE_OF.set(set[i]!, i);\n}\n\nfunction convert(input: string, target: DigitStyle): string {\n if (!input) return \"\";\n const digits = SETS[target];\n let out = \"\";\n for (const ch of input) {\n const value = VALUE_OF.get(ch);\n out += value === undefined ? ch : digits[value];\n }\n return out;\n}\n\n/** `12345` -> `۱۲۳۴۵`. Accepts Arabic-Indic digits as input too. */\nexport function toUrduDigits(input: string): string {\n return convert(input, \"urdu\");\n}\n\n/** `۱۲۳۴۵` -> `12345`. Safe to feed into `Number()` afterwards. */\nexport function toEnglishDigits(input: string): string {\n return convert(input, \"english\");\n}\n\n/** `۱۲۳۴۵` -> `١٢٣٤٥` (Arabic-Indic, U+0660 block — a different block from Urdu's). */\nexport function toArabicIndicDigits(input: string): string {\n return convert(input, \"arabic\");\n}\n\n/**\n * Rewrite every digit in `input` to one style.\n *\n * @example\n * convertNumbers(\"12345\") // \"۱۲۳۴۵\"\n * convertNumbers(\"۱۲۳۴۵\", \"english\") // \"12345\"\n */\nexport function convertNumbers(input: string, to: DigitStyle = \"urdu\"): string {\n return convert(input, to);\n}\n\n/**\n * Parse a number written with Urdu or Arabic-Indic digits.\n * Handles the Urdu decimal separator ٫ and thousands separator ٬.\n * Returns `NaN` when the string is not a number.\n */\nexport function parseUrduNumber(input: string): number {\n if (!input) return NaN;\n const ascii = toEnglishDigits(input)\n .replace(/[٬,\\s]/gu, \"\")\n .replace(/٫/gu, \".\");\n if (!/^[+-]?(\\d+(\\.\\d*)?|\\.\\d+)$/u.test(ascii)) return NaN;\n return Number(ascii);\n}\n\nconst ONES = [\"\", \"ایک\", \"دو\", \"تین\", \"چار\", \"پانچ\", \"چھ\", \"سات\", \"آٹھ\", \"نو\"];\nconst TEENS_AND_TENS: Record<number, string> = {\n 10: \"دس\",\n 11: \"گیارہ\",\n 12: \"بارہ\",\n 13: \"تیرہ\",\n 14: \"چودہ\",\n 15: \"پندرہ\",\n 16: \"سولہ\",\n 17: \"سترہ\",\n 18: \"اٹھارہ\",\n 19: \"انیس\",\n 20: \"بیس\",\n 30: \"تیس\",\n 40: \"چالیس\",\n 50: \"پچاس\",\n 60: \"ساٹھ\",\n 70: \"ستر\",\n 80: \"اسی\",\n 90: \"نوے\",\n 100: \"سو\",\n};\n\n/**\n * Spell a whole number in Urdu words, using the South Asian scale\n * (ہزار, لاکھ, کروڑ, ارب) rather than the western million/billion scale.\n *\n * Coverage note: 21-99 that are not multiples of ten are written compositionally\n * (`اکیس` etc. are irregular in real Urdu, so this returns `بیس ایک`-style forms\n * only as a fallback). Marked experimental for that reason.\n *\n * @experimental\n */\nexport function numberToUrduWords(value: number): string {\n if (!Number.isFinite(value)) return \"\";\n if (!Number.isInteger(value)) throw new TypeError(\"numberToUrduWords expects an integer\");\n if (value < 0) return `منفی ${numberToUrduWords(-value)}`;\n if (value === 0) return \"صفر\";\n\n const scales: Array<[number, string]> = [\n [10_000_000, \"کروڑ\"],\n [100_000, \"لاکھ\"],\n [1_000, \"ہزار\"],\n [100, \"سو\"],\n ];\n\n const parts: string[] = [];\n let rest = value;\n for (const [size, name] of scales) {\n if (rest >= size) {\n const count = Math.floor(rest / size);\n rest %= size;\n parts.push(`${numberToUrduWords(count)} ${name}`);\n }\n }\n if (rest > 0) {\n if (TEENS_AND_TENS[rest]) {\n parts.push(TEENS_AND_TENS[rest]!);\n } else if (rest < 10) {\n parts.push(ONES[rest]!);\n } else {\n const tens = Math.floor(rest / 10) * 10;\n parts.push(`${TEENS_AND_TENS[tens] ?? \"\"} ${ONES[rest % 10] ?? \"\"}`.trim());\n }\n }\n return parts.join(\" \").replace(/\\s+/gu, \" \").trim();\n}\n","import { ANY_LETTER_RE_G, ARABIC_LETTER_RE } from \"./chars.js\";\n\nexport interface IsUrduOptions {\n /**\n * Minimum share of Arabic-script letters among all letters, 0-1. Default `0.5`.\n * A ratio rather than \"contains any Urdu\" so that a mostly-English string with\n * one Urdu word does not count as Urdu.\n */\n threshold?: number;\n /** Require at least this many Arabic-script letters. Default `1`. */\n minLetters?: number;\n}\n\n/**\n * Ratio of Arabic-script letters to all letters, 0-1.\n * Returns 0 for text with no letters at all (digits, punctuation, emoji).\n */\nexport function urduRatio(input: string): number {\n if (!input) return 0;\n let letters = 0;\n let urdu = 0;\n for (const ch of input.match(ANY_LETTER_RE_G) ?? []) {\n letters++;\n if (ARABIC_LETTER_RE.test(ch)) urdu++;\n }\n return letters === 0 ? 0 : urdu / letters;\n}\n\n/**\n * Is this text Urdu (more precisely: predominantly Arabic-script)?\n *\n * The Arabic script is shared by Urdu, Arabic, Persian, Pashto and others, so\n * this cannot distinguish Urdu from Arabic on script alone. Use\n * {@link hasUrduSpecificLetters} when that distinction matters.\n *\n * @example\n * isUrdu(\"آپ کیسے ہیں؟\") // true\n */\nexport function isUrdu(input: string, options: IsUrduOptions = {}): boolean {\n const { threshold = 0.5, minLetters = 1 } = options;\n if (!input) return false;\n\n let letters = 0;\n let urdu = 0;\n for (const ch of input.match(ANY_LETTER_RE_G) ?? []) {\n letters++;\n if (ARABIC_LETTER_RE.test(ch)) urdu++;\n }\n if (urdu < minLetters) return false;\n return letters > 0 && urdu / letters >= threshold;\n}\n\n/** Letters that exist in Urdu but not in Arabic — the only reliable script-level signal. */\nconst URDU_ONLY = new Set([\n \"ٹ\", // ٹ tteh\n \"ڈ\", // ڈ ddal\n \"ڑ\", // ڑ rreh\n \"ں\", // ں noon ghunna\n \"ے\", // ے bari ye\n \"ۓ\", // ۓ bari ye with hamza\n \"ہ\", // ہ heh goal\n \"ھ\", // ھ do-chashmi heh\n \"ک\", // ک keheh\n \"گ\", // گ gaf\n \"چ\", // چ tcheh\n \"پ\", // پ peh\n \"ژ\", // ژ jeh\n \"ی\", // ی farsi yeh\n]);\n\n/**\n * True when the text contains at least one letter that Arabic does not use.\n * Cheap way to separate Urdu/Persian-family text from Arabic text.\n */\nexport function hasUrduSpecificLetters(input: string): boolean {\n for (const ch of input) if (URDU_ONLY.has(ch)) return true;\n return false;\n}\n","import {\n ANY_DIGIT_RE_G,\n DIACRITICS_RE,\n SENTENCE_SPLIT_RE,\n WORD_SPLIT_RE,\n} from \"./chars.js\";\nimport { urduRatio } from \"./detect.js\";\n\n/** Words in the text. Splits on whitespace and punctuation, so `ہے۔` counts once. */\nexport function countWords(input: string): number {\n return splitWords(input).length;\n}\n\n/** The word list behind {@link countWords}. Useful for tokenizing before search or indexing. */\nexport function splitWords(input: string): string[] {\n if (!input) return [];\n return input\n .split(WORD_SPLIT_RE)\n .map((w) => w.trim())\n .filter((w) => w.length > 0);\n}\n\nexport interface SplitSentenceOptions {\n /** If true, the sentence-ending punctuation (۔ ؟ ! . etc.) is preserved with each sentence. Default `false`. */\n preserveTerminators?: boolean;\n}\n\n/** Common Urdu abbreviations and honorifics that should not cause false sentence splits. */\nconst ABBREVIATIONS = [\n \"ڈاکٹر\",\n \"پروفیسر\",\n \"انجینئر\",\n \"ایڈووکیٹ\",\n \"جناب\",\n \"صاحب\",\n \"صاحبہ\",\n \"محترم\",\n \"محترمہ\",\n \"مولانا\",\n \"مفتی\",\n \"علامہ\",\n \"بیگم\",\n \"وغیرہ\",\n \"رحمتہ\",\n \"رضی\",\n \"تعالی\",\n \"تعالیٰ\",\n \"علیہ\",\n \"السلام\",\n \"صلی\",\n \"وسلم\",\n];\n\nconst ABBREV_PATTERN = new RegExp(`(?:${ABBREVIATIONS.join(\"|\")})[.۔]`, \"gu\");\n\n/**\n * Sentences count, split on Urdu and standard terminators (۔ ؟ ! . …).\n * Protects common titles, abbreviations, and numeric decimals from false splits.\n */\nexport function countSentences(input: string, options?: SplitSentenceOptions): number {\n return splitSentences(input, options).length;\n}\n\n/**\n * Split text into sentences using Urdu punctuation rules.\n *\n * Handles Urdu full stop `۔`, Arabic question mark `؟`, exclamation `!`,\n * ASCII `.`, `?`, `!`, and ellipses `…`, while protecting abbreviations and numbers.\n *\n * @param input - Input text.\n * @param options - Options controlling termination preservation.\n *\n * @example\n * splitSentences(\"پاکستان ایک خوبصورت ملک ہے۔ اس کی تاریخ پرانی ہے۔\")\n * // [\"پاکستان ایک خوبصورت ملک ہے\", \"اس کی تاریخ پرانی ہے\"]\n */\nexport function splitSentences(input: string, options: SplitSentenceOptions = {}): string[] {\n if (!input) return [];\n\n const { preserveTerminators = false } = options;\n\n // Placeholder for protected dots\n const PROTECTED_DOT = \"\\uE000\";\n const PROTECTED_URDU_FULL_STOP = \"\\uE001\";\n\n let sanitized = input\n // Protect decimal numbers (1.5, 3.14, ۱٫۵)\n .replace(/(\\d)\\.(\\d)/gu, `$1${PROTECTED_DOT}$2`)\n // Protect abbreviations followed by dot or Urdu full stop\n .replace(ABBREV_PATTERN, (match) => {\n return match.replace(/\\./g, PROTECTED_DOT).replace(/۔/g, PROTECTED_URDU_FULL_STOP);\n });\n\n if (preserveTerminators) {\n // Split keeping delimiter\n const matches = sanitized.match(/[^۔؟?!.…]+[۔؟?!.…]+|[^۔؟?!.…]+$/gu) ?? [];\n return matches\n .map((s) =>\n s\n .replace(new RegExp(PROTECTED_DOT, \"gu\"), \".\")\n .replace(new RegExp(PROTECTED_URDU_FULL_STOP, \"gu\"), \"۔\")\n .trim(),\n )\n .filter((s) => s.length > 0);\n }\n\n return sanitized\n .split(SENTENCE_SPLIT_RE)\n .map((s) =>\n s\n .replace(new RegExp(PROTECTED_DOT, \"gu\"), \".\")\n .replace(new RegExp(PROTECTED_URDU_FULL_STOP, \"gu\"), \"۔\")\n .trim(),\n )\n .filter((s) => s.length > 0);\n}\n\nexport interface UrduStats {\n /** Every codepoint, including spaces and diacritics. */\n characters: number;\n charactersNoSpaces: number;\n words: number;\n sentences: number;\n /** Whitespace-delimited blocks separated by a blank line. */\n paragraphs: number;\n /** Share of Arabic-script letters among all letters, 0-100, rounded. */\n urduPercentage: number;\n diacritics: number;\n digits: number;\n averageWordsPerSentence: number;\n /** At 180 Urdu words per minute — slower than English because the script is denser. */\n readingTimeMinutes: number;\n}\n\n/**\n * Character, word, sentence and script statistics for a block of text.\n *\n * @example\n * analyzeUrdu(\"پاکستان ایک خوبصورت ملک ہے۔ اس کی آبادی زیادہ ہے۔\")\n */\nexport function analyzeUrdu(input: string): UrduStats {\n const text = input ?? \"\";\n const characters = [...text].length;\n const charactersNoSpaces = [...text.replace(/\\s/gu, \"\")].length;\n const words = countWords(text);\n const sentences = countSentences(text);\n const paragraphs = text\n .split(/\\n\\s*\\n/u)\n .map((p) => p.trim())\n .filter((p) => p.length > 0).length;\n\n return {\n characters,\n charactersNoSpaces,\n words,\n sentences,\n paragraphs,\n urduPercentage: Math.round(urduRatio(text) * 100),\n diacritics: (text.match(DIACRITICS_RE) ?? []).length,\n digits: (text.match(ANY_DIGIT_RE_G) ?? []).length,\n averageWordsPerSentence: sentences === 0 ? 0 : Math.round((words / sentences) * 10) / 10,\n readingTimeMinutes: Math.round((words / 180) * 10) / 10,\n };\n}\n","import { normalizeUrdu } from \"./normalize.js\";\nimport { splitWords } from \"./stats.js\";\n\n/**\n * Standard list of Urdu stop words.\n *\n * Covers pronouns, postpositions, auxiliaries, conjunctions, particles,\n * and high-frequency functional words used across Urdu texts.\n * All keys are canonical normalized Urdu.\n */\nexport const URDU_STOP_WORDS = new Set([\n // Tense auxiliaries & copulas\n \"ہے\",\n \"ہیں\",\n \"ہوں\",\n \"ہو\",\n \"تھا\",\n \"تھی\",\n \"تھے\",\n \"تھیں\",\n \"ہوگا\",\n \"ہوگی\",\n \"ہونگے\",\n \"ہوںگے\",\n \"ہونا\",\n \"ہونے\",\n \"ہوا\",\n \"ہوئی\",\n \"ہوئے\",\n\n // Postpositions, relations & prepositions\n \"کا\",\n \"کی\",\n \"کے\",\n \"کو\",\n \"نے\",\n \"سے\",\n \"پر\",\n \"تک\",\n \"میں\",\n \"لیے\",\n \"ساتھ\",\n \"بغیر\",\n \"طرح\",\n \"طرف\",\n \"بارے\",\n \"بعد\",\n \"پہلے\",\n \"دوران\",\n \"درمیان\",\n \"علاوہ\",\n \"سوائے\",\n \"سوا\",\n \"مطابق\",\n \"باعث\",\n \"ذریعے\",\n \"تحت\",\n \"اوپر\",\n \"نیچے\",\n \"آگے\",\n \"پیچھے\",\n \"اندر\",\n \"باہر\",\n \"پاس\",\n \"قریب\",\n \"نزدیک\",\n\n // Conjunctions & discourse markers\n \"اور\",\n \"یا\",\n \"اگر\",\n \"لیکن\",\n \"مگر\",\n \"تو\",\n \"بھی\",\n \"ہی\",\n \"نہ\",\n \"نہیں\",\n \"مت\",\n \"نا\",\n \"بلکہ\",\n \"حالانکہ\",\n \"چونکہ\",\n \"کیونکہ\",\n \"تاکہ\",\n \"ورنہ\",\n \"البتہ\",\n \"مثلاً\",\n \"یعنی\",\n \"خصوصاً\",\n \"عموماً\",\n \"چنانچہ\",\n \"خواہ\",\n \"چاہے\",\n \"گویا\",\n \"تاہم\",\n \"نیز\",\n \"حتی\",\n \"وغیرہ\",\n \"صرف\",\n \"محض\",\n \"فقط\",\n\n // Pronouns, determiners & question words\n \"ہم\",\n \"تم\",\n \"آپ\",\n \"وہ\",\n \"یہ\",\n \"میرا\",\n \"میری\",\n \"میرے\",\n \"ہمارا\",\n \"ہماری\",\n \"ہمارے\",\n \"تمہارا\",\n \"تمہاری\",\n \"تمہارے\",\n \"آپکا\",\n \"آپکی\",\n \"آپکے\",\n \"اس\",\n \"اسکا\",\n \"اسکی\",\n \"اسکے\",\n \"اسے\",\n \"ان\",\n \"انکا\",\n \"انکی\",\n \"انکے\",\n \"انہیں\",\n \"مجھے\",\n \"ہمیں\",\n \"تمہیں\",\n \"جس\",\n \"جسکا\",\n \"جسکی\",\n \"جسکے\",\n \"جسے\",\n \"جن\",\n \"جنکا\",\n \"جنکی\",\n \"جنکے\",\n \"جنہوں\",\n \"انہوں\",\n \"کس\",\n \"کسکا\",\n \"کسکی\",\n \"کسکے\",\n \"کسے\",\n \"کسکو\",\n \"کون\",\n \"کیا\",\n \"کہاں\",\n \"کدھر\",\n \"ادھر\",\n \"جدھر\",\n \"کب\",\n \"کیوں\",\n \"کیسے\",\n \"کیسا\",\n \"کیسی\",\n \"کتنا\",\n \"کتنی\",\n \"کتنے\",\n \"جو\",\n \"سب\",\n \"سبھی\",\n \"کوئی\",\n \"کچھ\",\n \"ہر\",\n \"ایک\",\n \"اپنا\",\n \"اپنی\",\n \"اپنے\",\n \"خود\",\n\n // Common light/auxiliary verb forms\n \"کرنا\",\n \"کرتا\",\n \"کرتی\",\n \"کرتے\",\n \"کریں\",\n \"کرو\",\n \"کر\",\n \"کرنے\",\n \"کیے\",\n \"جانا\",\n \"جاتا\",\n \"جاتی\",\n \"جاتے\",\n \"جائے\",\n \"جائیں\",\n \"جاؤ\",\n \"جا\",\n \"جانے\",\n \"گیا\",\n \"گئی\",\n \"گئے\",\n \"آنا\",\n \"آتا\",\n \"آتی\",\n \"آتے\",\n \"آئے\",\n \"آئیں\",\n \"آیا\",\n \"آئی\",\n \"آنے\",\n \"آؤ\",\n \"آ\",\n \"دینا\",\n \"دیتا\",\n \"دیتی\",\n \"دیتے\",\n \"دیا\",\n \"دیے\",\n \"دے\",\n \"دو\",\n \"دیں\",\n \"دینے\",\n \"لینا\",\n \"لیتا\",\n \"لیتی\",\n \"لیتے\",\n \"لیا\",\n \"لے\",\n \"لو\",\n \"لیں\",\n \"لینے\",\n \"رہنا\",\n \"رہا\",\n \"رہی\",\n \"رہے\",\n \"رہتا\",\n \"رہتی\",\n \"رہتے\",\n \"رہنے\",\n \"سکنا\",\n \"سکتا\",\n \"سکتی\",\n \"سکتے\",\n \"والا\",\n \"والی\",\n \"والے\",\n]);\n\nfunction toStopWordSet(custom?: Set<string> | string[]): Set<string> {\n if (!custom) return URDU_STOP_WORDS;\n if (custom instanceof Set) return custom;\n return new Set(custom.map((w) => normalizeUrdu(w.trim())));\n}\n\n/**\n * Checks if a given Urdu word is a stop word.\n *\n * @param word - Word to test.\n * @param customStopWords - Optional custom stop words set or array. Defaults to {@link URDU_STOP_WORDS}.\n *\n * @example\n * isStopWord(\"اور\") // true\n * isStopWord(\"کتاب\") // false\n */\nexport function isStopWord(word: string, customStopWords?: Set<string> | string[]): boolean {\n if (!word) return false;\n const normalized = normalizeUrdu(word.trim());\n const stopSet = toStopWordSet(customStopWords);\n return stopSet.has(normalized);\n}\n\n/**\n * Filters out stop words from an array of words.\n *\n * @param words - Array of words to filter.\n * @param customStopWords - Optional custom stop words set or array.\n *\n * @example\n * filterStopWords([\"یہ\", \"ایک\", \"اچھی\", \"کتاب\", \"ہے\"]) // [\"اچھی\", \"کتاب\"]\n */\nexport function filterStopWords(\n words: string[],\n customStopWords?: Set<string> | string[],\n): string[] {\n if (!words || words.length === 0) return [];\n const stopSet = toStopWordSet(customStopWords);\n return words.filter((w) => {\n const normalized = normalizeUrdu(w.trim());\n return normalized.length > 0 && !stopSet.has(normalized);\n });\n}\n\n/**\n * Removes stop words from an Urdu text string, returning the cleaned text.\n *\n * @param text - Input Urdu text.\n * @param customStopWords - Optional custom stop words set or array.\n *\n * @example\n * removeStopWords(\"یہ ایک بہترین کتاب ہے\") // \"بہترین کتاب\"\n */\nexport function removeStopWords(text: string, customStopWords?: Set<string> | string[]): string {\n if (!text) return \"\";\n const words = splitWords(text);\n const filtered = filterStopWords(words, customStopWords);\n return filtered.join(\" \");\n}\n","import { foldUrdu } from \"./normalize.js\";\n\n/**\n * Urdu alphabetical order (حروف تہجی).\n *\n * `Intl.Collator(\"ur\")` is not usable here: in most runtimes the `ur` locale\n * falls back to root Arabic collation, which orders ک/گ/ٹ/ڈ/ڑ/ں/ے by codepoint\n * instead of by their place in the Urdu alphabet. So the order is spelled out.\n *\n * Variant letters (ؤ, ئ, ۂ) are given the weight of their base letter plus a\n * tiebreaker, so `پاؤں` sorts next to `پاوں` rather than at the end of the list.\n */\nconst ALPHABET = [\n \"ا\",\n \"آ\",\n \"ب\",\n \"پ\",\n \"ت\",\n \"ٹ\",\n \"ث\",\n \"ج\",\n \"چ\",\n \"ح\",\n \"خ\",\n \"د\",\n \"ڈ\",\n \"ذ\",\n \"ر\",\n \"ڑ\",\n \"ز\",\n \"ژ\",\n \"س\",\n \"ش\",\n \"ص\",\n \"ض\",\n \"ط\",\n \"ظ\",\n \"ع\",\n \"غ\",\n \"ف\",\n \"ق\",\n \"ک\",\n \"گ\",\n \"ل\",\n \"م\",\n \"ن\",\n \"ں\",\n \"و\",\n \"ہ\",\n \"ھ\",\n \"ء\",\n \"ی\",\n \"ے\",\n];\n\n/** Letters that share a primary weight with a base letter, plus their secondary weight. */\nconst VARIANTS: Record<string, [base: string, secondary: number]> = {\n \"ؤ\": [\"و\", 1], // ؤ waw with hamza\n \"ئ\": [\"ی\", 1], // ئ yeh with hamza\n \"ۂ\": [\"ہ\", 1], // ۂ heh goal with hamza\n \"ۓ\": [\"ے\", 1], // ۓ bari ye with hamza\n};\n\nconst WEIGHTS = new Map<string, [number, number]>();\nALPHABET.forEach((ch, index) => WEIGHTS.set(ch, [(index + 1) * 10, 0]));\nfor (const [ch, [base, secondary]] of Object.entries(VARIANTS)) {\n const baseWeight = WEIGHTS.get(base);\n if (baseWeight) WEIGHTS.set(ch, [baseWeight[0], secondary]);\n}\n\n/** Non-alphabet characters sort after every Urdu letter, ordered by codepoint. */\nconst NON_LETTER_BASE = (ALPHABET.length + 1) * 10;\n\nfunction weightsOf(text: string): number[] {\n const out: number[] = [];\n for (const ch of text) {\n const weight = WEIGHTS.get(ch);\n if (weight) {\n out.push(weight[0], weight[1]);\n } else if (ch === \" \") {\n out.push(1, 0); // spaces sort before letters, so \"ابو بکر\" precedes \"ابوبکر\"\n } else {\n out.push(NON_LETTER_BASE + (ch.codePointAt(0) ?? 0), 0);\n }\n }\n return out;\n}\n\n/**\n * Comparator for Urdu strings, usable directly in `Array.prototype.sort`.\n * Diacritics and Unicode variants are folded first, so spelling noise does not\n * change the order.\n */\nexport function compareUrdu(a: string, b: string): number {\n const left = weightsOf(foldUrdu(a));\n const right = weightsOf(foldUrdu(b));\n const length = Math.min(left.length, right.length);\n for (let i = 0; i < length; i++) {\n const diff = left[i]! - right[i]!;\n if (diff !== 0) return diff;\n }\n return left.length - right.length;\n}\n\nexport interface SortOptions<T> {\n /** Sort descending. Default `false`. */\n descending?: boolean;\n /** Read the sort key out of each item, for sorting objects. */\n getText?: (item: T) => string;\n}\n\n/**\n * Sort strings in Urdu alphabetical order.\n *\n * @example\n * sortUrdu([\"گل\", \"آم\", \"بادام\"]) // [\"آم\", \"بادام\", \"گل\"]\n */\nexport function sortUrdu<T>(items: readonly T[], options: SortOptions<T> = {}): T[] {\n const { descending = false, getText } = options;\n const key = getText ?? ((item: T) => String(item));\n const sorted = [...items].sort((a, b) => compareUrdu(key(a), key(b)));\n return descending ? sorted.reverse() : sorted;\n}\n","import { foldUrdu, normalizeUrdu } from \"./normalize.js\";\nimport { splitWords } from \"./stats.js\";\n\nexport interface SearchOptions<T> {\n /** Read the searchable text out of each item, for searching objects. */\n getText?: (item: T) => string;\n /**\n * Allow small spelling differences via edit distance on individual words.\n * Costs O(query x item) per candidate word, so it runs only after the exact\n * substring pass fails. Default `false`.\n */\n fuzzy?: boolean;\n /** Maximum edit distance per word when `fuzzy` is on. Default `1`. */\n maxDistance?: number;\n /** Cap the number of results. */\n limit?: number;\n /** Return matches ordered by score (best first) instead of input order. Default `true`. */\n sortByScore?: boolean;\n}\n\nexport interface SearchResult<T> {\n item: T;\n /** 1 = exact fold match, 0.9 = prefix, 0.8 = substring, lower = fuzzy word match. */\n score: number;\n}\n\n/** Levenshtein distance with early exit once the limit is exceeded. */\nexport function editDistance(a: string, b: string, limit = Infinity): number {\n if (a === b) return 0;\n if (Math.abs(a.length - b.length) > limit) return limit + 1;\n\n let previous = Array.from({ length: b.length + 1 }, (_, i) => i);\n let current = new Array<number>(b.length + 1);\n\n for (let i = 1; i <= a.length; i++) {\n current[0] = i;\n let rowMin = current[0]!;\n for (let j = 1; j <= b.length; j++) {\n const cost = a[i - 1] === b[j - 1] ? 0 : 1;\n current[j] = Math.min(current[j - 1]! + 1, previous[j]! + 1, previous[j - 1]! + cost);\n rowMin = Math.min(rowMin, current[j]!);\n }\n if (rowMin > limit) return limit + 1;\n [previous, current] = [current, previous];\n }\n return previous[b.length]!;\n}\n\nfunction scoreOf(query: string, text: string, options: { fuzzy: boolean; maxDistance: number }): number {\n if (!query) return 0;\n if (text === query) return 1;\n if (text.startsWith(query)) return 0.9;\n if (text.includes(query)) return 0.8;\n\n if (!options.fuzzy) return 0;\n\n // Compare word by word: a one-letter typo inside a long sentence should still hit.\n const queryWords = splitWords(query);\n const textWords = splitWords(text);\n if (queryWords.length === 0 || textWords.length === 0) return 0;\n\n let matched = 0;\n for (const qw of queryWords) {\n const limit = Math.min(options.maxDistance, Math.max(1, Math.floor(qw.length / 3)));\n const hit = textWords.some(\n (tw) => tw.includes(qw) || editDistance(qw, tw, limit) <= limit,\n );\n if (hit) matched++;\n }\n if (matched === 0) return 0;\n return (matched / queryWords.length) * 0.7;\n}\n\n/**\n * Search a list of Urdu strings, ignoring diacritics and Unicode variant spellings.\n *\n * Both sides are folded with {@link foldUrdu} first, so `محمد` matches `مُحَمَّد`\n * and Arabic-keyboard `محمد` (with ه/ي) matches Urdu-keyboard `محمد`.\n *\n * @example\n * searchUrdu(\"محمد\", [\"مُحَمَّد علی\", \"احمد\", \"محمد خان\"])\n * // [\"مُحَمَّد علی\", \"محمد خان\"]\n */\nexport function searchUrdu<T = string>(\n query: string,\n items: readonly T[],\n options: SearchOptions<T> = {},\n): T[] {\n return searchUrduRanked(query, items, options).map((r) => r.item);\n}\n\n/** Same as {@link searchUrdu} but keeps the match scores. */\nexport function searchUrduRanked<T = string>(\n query: string,\n items: readonly T[],\n options: SearchOptions<T> = {},\n): Array<SearchResult<T>> {\n const { getText, fuzzy = false, maxDistance = 1, limit, sortByScore = true } = options;\n const read = getText ?? ((item: T) => String(item));\n\n const folded = foldUrdu(query);\n if (!folded) return [];\n\n const results: Array<SearchResult<T>> = [];\n for (const item of items) {\n const score = scoreOf(folded, foldUrdu(read(item)), { fuzzy, maxDistance });\n if (score > 0) results.push({ item, score });\n }\n\n if (sortByScore) results.sort((a, b) => b.score - a.score);\n return limit === undefined ? results : results.slice(0, limit);\n}\n\n/**\n * Highlight every occurrence of `query` in `text` by wrapping it.\n * Matching is diacritic-insensitive, but the returned string keeps the original\n * spelling and diacritics intact — offsets are mapped back to the source.\n */\nexport function highlightUrdu(\n text: string,\n query: string,\n wrap: (match: string) => string = (m) => `<mark>${m}</mark>`,\n): string {\n const foldedQuery = foldUrdu(query);\n if (!foldedQuery || !text) return text;\n\n // Fold character by character so folded offsets map back to source offsets.\n const sourceChars = [...text];\n const foldedChars: string[] = [];\n const sourceIndexOf: number[] = [];\n sourceChars.forEach((ch, i) => {\n // Per-character folding must keep whitespace, otherwise multi-word queries\n // could never match: foldUrdu() trims, and a lone space would fold to \"\".\n const folded = normalizeUrdu(ch, {\n stripDiacritics: true,\n stripZwnj: true,\n collapseWhitespace: false,\n }).toLowerCase();\n for (const f of folded) {\n foldedChars.push(f);\n sourceIndexOf.push(i);\n }\n });\n\n const haystack = foldedChars.join(\"\");\n let out = \"\";\n let cursor = 0; // index into sourceChars\n let from = 0; // index into haystack\n\n for (;;) {\n const hit = haystack.indexOf(foldedQuery, from);\n if (hit === -1) break;\n const startSource = sourceIndexOf[hit]!;\n const endSource = (sourceIndexOf[hit + foldedQuery.length - 1] ?? startSource) + 1;\n out += sourceChars.slice(cursor, startSource).join(\"\");\n out += wrap(sourceChars.slice(startSource, endSource).join(\"\"));\n cursor = endSource;\n from = hit + foldedQuery.length;\n }\n\n out += sourceChars.slice(cursor).join(\"\");\n return out;\n}\n","/**\n * Urdu -> Roman Urdu dictionary for the transliteration layer.\n *\n * Every entry here is a word the rule engine would otherwise get wrong, because\n * Urdu script omits short vowels: the rules see کتاب as k-t-aa-b and cannot know\n * that a reader supplies \"kitaab\". So the dictionary carries the vowels and the\n * rules only handle whatever falls through.\n *\n * Roman spellings follow the most common conventions in Pakistani usage\n * (`kaisay`, `bohat`, `mohabbat`) rather than a strict academic scheme, since the\n * output is meant for slugs, search keys and human readers.\n *\n * The reverse direction is derived from this map, so a duplicate Roman value\n * means the later Urdu word wins as the reverse target. Where that matters, the\n * preferred reverse form is pinned explicitly in `transliterate.ts` or `ROMAN_VARIANTS`.\n */\nexport const WORD_DICTIONARY: Record<string, string> = {\n // ---- pronouns, determiners, question words ----\n \"میں\": \"mein\",\n \"ہم\": \"hum\",\n \"تم\": \"tum\",\n \"آپ\": \"aap\",\n \"وہ\": \"woh\",\n \"یہ\": \"yeh\",\n \"میرا\": \"mera\",\n \"میری\": \"meri\",\n \"میرے\": \"mere\",\n \"ہمارا\": \"hamara\",\n \"ہماری\": \"hamari\",\n \"ہمارے\": \"hamaray\",\n \"تمہارا\": \"tumhara\",\n \"تمہاری\": \"tumhari\",\n \"تمہارے\": \"tumharay\",\n \"آپکا\": \"aapka\",\n \"آپکی\": \"aapki\",\n \"آپکے\": \"aapke\",\n \"اس\": \"is\",\n \"اسکا\": \"iska\",\n \"اسکی\": \"iski\",\n \"اسکے\": \"iske\",\n \"ان\": \"un\",\n \"انکا\": \"unka\",\n \"انکی\": \"unki\",\n \"انکے\": \"unke\",\n \"مجھے\": \"mujhe\",\n \"ہمیں\": \"humein\",\n \"تمہیں\": \"tumhein\",\n \"انہیں\": \"unhein\",\n \"اسے\": \"isay\",\n \"جسے\": \"jisay\",\n \"کسے\": \"kisay\",\n \"کس\": \"kis\",\n \"کسکا\": \"kiska\",\n \"کسکی\": \"kiski\",\n \"کسکے\": \"kiske\",\n \"کسکو\": \"kisko\",\n \"جن\": \"jin\",\n \"جنکا\": \"jinka\",\n \"جنکی\": \"jinki\",\n \"جنکے\": \"jinke\",\n \"جنہوں\": \"jinhon\",\n \"انہوں\": \"unhon\",\n \"اپنا\": \"apna\",\n \"अपनी\": \"apni\",\n \"اپنے\": \"apnay\",\n \"خود\": \"khud\",\n \"کون\": \"kaun\",\n \"کیا\": \"kya\",\n \"کہاں\": \"kahan\",\n \"کدھر\": \"kidhar\",\n \"ادھر\": \"idhar\",\n \"جدھر\": \"jidhar\",\n \"کب\": \"kab\",\n \"کیوں\": \"kyun\",\n \"کیسے\": \"kaisay\",\n \"کیسا\": \"kaisa\",\n \"کیسی\": \"kaisi\",\n \"کتنا\": \"kitna\",\n \"کتنی\": \"kitni\",\n \"کتنے\": \"kitnay\",\n \"جو\": \"jo\",\n \"جس\": \"jis\",\n \"جسکو\": \"jisko\",\n \"جسکا\": \"jiska\",\n \"جسکی\": \"jiski\",\n \"جسکے\": \"jiske\",\n \"سب\": \"sab\",\n \"سبھی\": \"sabhi\",\n \"کوئی\": \"koi\",\n \"کچھ\": \"kuch\",\n \"ہر\": \"har\",\n \"ایک\": \"aik\",\n\n // ---- function words, prepositions, conjunctions ----\n \"اور\": \"aur\",\n \"یا\": \"ya\",\n \"اگر\": \"agar\",\n \"لیکن\": \"lekin\",\n \"مگر\": \"magar\",\n \"تو\": \"to\",\n \"بھی\": \"bhi\",\n \"نہ\": \"na\",\n \"نہیں\": \"nahi\",\n \"مت\": \"mat\",\n \"کا\": \"ka\",\n \"کی\": \"ki\",\n \"کے\": \"ke\",\n \"کو\": \"ko\",\n \"نے\": \"ne\",\n \"سے\": \"se\",\n \"پر\": \"par\",\n \"تک\": \"tak\",\n \"لیے\": \"liye\",\n \"ساتھ\": \"sath\",\n \"بغیر\": \"baghair\",\n \"وجہ\": \"wajah\",\n \"طرح\": \"tarah\",\n \"طرف\": \"taraf\",\n \"بارے\": \"baray\",\n \"بعد\": \"baad\",\n \"پہلے\": \"pehlay\",\n \"دوران\": \"doran\",\n \"درمیان\": \"darmiyan\",\n \"علاوہ\": \"alawa\",\n \"سوائے\": \"siwaye\",\n \"سوا\": \"siwa\",\n \"مطابق\": \"mutabiq\",\n \"باعث\": \"baais\",\n \"ذریعے\": \"zariye\",\n \"تحت\": \"tehat\",\n \"خلاف\": \"khilaf\",\n \"حق\": \"haq\",\n \"حتی\": \"hatta\",\n \"گویا\": \"goya\",\n \"چنانچہ\": \"chunancha\",\n \"خواہ\": \"khwah\",\n \"چاہے\": \"chahe\",\n \"بلکہ\": \"balkeh\",\n \"حالانکہ\": \"halankeh\",\n \"چونکہ\": \"chunkeh\",\n \"کیونکہ\": \"kyunkeh\",\n \"تاکہ\": \"taakeh\",\n \"ورنہ\": \"warna\",\n \"البتہ\": \"albatta\",\n \"مثلاً\": \"maslan\",\n \"یعنی\": \"yaani\",\n \"خصوصاً\": \"khasosan\",\n \"عموماً\": \"amuman\",\n \"فوراً\": \"fauran\",\n \"دوبارہ\": \"dobara\",\n \"یقیناً\": \"yaqeenan\",\n \"تقریباً\": \"taqreeban\",\n \"بعض\": \"baaz\",\n \"تمام\": \"tamam\",\n \"پورا\": \"poora\",\n \"پوری\": \"poori\",\n \"پورے\": \"pooray\",\n \"آدھا\": \"aadha\",\n \"دونوں\": \"donon\",\n \"تینوں\": \"teenon\",\n \"چاروں\": \"charon\",\n \"سارا\": \"sara\",\n \"ساری\": \"sari\",\n \"سارے\": \"saray\",\n \"باقی\": \"baqi\",\n\n // ---- place and direction ----\n \"یہاں\": \"yahan\",\n \"وہاں\": \"wahan\",\n \"کہیں\": \"kahin\",\n \"وہیں\": \"wahin\",\n \"یہیں\": \"yahin\",\n \"سامنے\": \"samnay\",\n \"پیچھے\": \"peechay\",\n \"آگے\": \"agay\",\n \"اوپر\": \"oopar\",\n \"نیچے\": \"neechay\",\n \"اندر\": \"andar\",\n \"باہر\": \"bahar\",\n \"پاس\": \"paas\",\n \"دور\": \"door\",\n \"قریب\": \"qareeb\",\n \"دائیں\": \"dayen\",\n \"بائیں\": \"bayen\",\n \"سیدھا\": \"seedha\",\n \"الٹا\": \"ulta\",\n \"شمال\": \"shumal\",\n \"جنوب\": \"janoob\",\n \"مشرق\": \"mashriq\",\n \"مغرب\": \"maghrib\",\n \"وسط\": \"wast\",\n\n // ---- to be, and tense auxiliaries ----\n \"ہے\": \"hai\",\n \"ہیں\": \"hain\",\n \"ہوں\": \"hoon\",\n \"ہو\": \"ho\",\n \"تھا\": \"tha\",\n \"تھی\": \"thi\",\n \"تھے\": \"thay\",\n \"تھیں\": \"thein\",\n \"ہوگا\": \"hoga\",\n \"ہوگی\": \"hogi\",\n \"ہونگے\": \"honge\",\n \"ہوںگے\": \"honge\",\n \"ہونا\": \"hona\",\n \"ہوا\": \"hua\",\n \"ہوئی\": \"hui\",\n \"ہوئے\": \"hue\",\n\n // ---- common verbs & inflections ----\n \"کرنا\": \"karna\",\n \"کرتا\": \"karta\",\n \"کرتی\": \"karti\",\n \"کرتے\": \"karte\",\n \"کریں\": \"karain\",\n \"کرو\": \"karo\",\n \"کر\": \"kar\",\n \"کرنے\": \"karne\",\n \"کیے\": \"kiye\",\n \"جانا\": \"jana\",\n \"جاتا\": \"jata\",\n \"جاتی\": \"jati\",\n \"جاتے\": \"jate\",\n \"جائے\": \"jaye\",\n \"جائیں\": \"jayen\",\n \"جاؤ\": \"jao\",\n \"جا\": \"ja\",\n \"جانے\": \"jane\",\n \"گیا\": \"gaya\",\n \"گئی\": \"gayi\",\n \"گئے\": \"gaye\",\n \"آنا\": \"aana\",\n \"آتا\": \"aata\",\n \"آتی\": \"aati\",\n \"آتے\": \"aate\",\n \"آئے\": \"aaye\",\n \"آئیں\": \"aayen\",\n \"آیا\": \"aaya\",\n \"آئی\": \"aayi\",\n \"آنے\": \"aane\",\n \"آؤ\": \"aao\",\n \"آ\": \"aa\",\n \"دینا\": \"dena\",\n \"دیتا\": \"deta\",\n \"دیتی\": \"deti\",\n \"دیتے\": \"dete\",\n \"دیا\": \"diya\",\n \"دیے\": \"diye\",\n \"دے\": \"de\",\n \"دو\": \"do\",\n \"دیں\": \"dain\",\n \"دینے\": \"dene\",\n \"لینا\": \"lena\",\n \"لیتا\": \"leta\",\n \"لیتی\": \"leti\",\n \"لیتے\": \"lete\",\n \"لیا\": \"liya\",\n \"لے\": \"le\",\n \"لو\": \"lo\",\n \"لیں\": \"lain\",\n \"لینے\": \"lene\",\n \"کہنا\": \"kehna\",\n \"کہا\": \"kaha\",\n \"کہتا\": \"kehta\",\n \"کہتی\": \"kehti\",\n \"کہتے\": \"kehte\",\n \"کہو\": \"kaho\",\n \"کہنے\": \"kehne\",\n \"دیکھنا\": \"dekhna\",\n \"دیکھا\": \"dekha\",\n \"دیکھو\": \"dekho\",\n \"دیکھتا\": \"dekhta\",\n \"دیکھتی\": \"dekhti\",\n \"دیکھتے\": \"dekhte\",\n \"دیکھنے\": \"dekhne\",\n \"سننا\": \"sunna\",\n \"سنا\": \"suna\",\n \"سنو\": \"suno\",\n \"سنتا\": \"sunta\",\n \"سنتی\": \"sunti\",\n \"سنتے\": \"sunte\",\n \"سننے\": \"sunne\",\n \"بولنا\": \"bolna\",\n \"بولا\": \"bola\",\n \"بولو\": \"bolo\",\n \"بولتا\": \"bolta\",\n \"پڑھنا\": \"parhna\",\n \"پڑھا\": \"parha\",\n \"پڑھو\": \"parho\",\n \"پڑھتا\": \"parhta\",\n \"پڑھتی\": \"parhti\",\n \"پڑھتے\": \"parhte\",\n \"پڑھنے\": \"parhne\",\n \"لکھنا\": \"likhna\",\n \"لکھا\": \"likha\",\n \"لکھو\": \"likho\",\n \"لکھتا\": \"likhta\",\n \"لکھتی\": \"likhti\",\n \"لکھتے\": \"likhte\",\n \"لکھنے\": \"likhne\",\n \"سمجھنا\": \"samajhna\",\n \"سمجھا\": \"samjha\",\n \"سمجھ\": \"samajh\",\n \"سمجھو\": \"samjho\",\n \"سمجھنے\": \"samajhne\",\n \"سمجھانا\": \"samjhana\",\n \"سمجھایا\": \"samjhaya\",\n \"جاننا\": \"janna\",\n \"جانتا\": \"janta\",\n \"جانتی\": \"janti\",\n \"جانتے\": \"jante\",\n \"معلوم\": \"maloom\",\n \"چاہنا\": \"chahna\",\n \"چاہتا\": \"chahta\",\n \"چاہتی\": \"chahti\",\n \"چاہتے\": \"chahte\",\n \"چاہیے\": \"chahiye\",\n \"سکنا\": \"sakna\",\n \"سکتا\": \"sakta\",\n \"سکتی\": \"sakti\",\n \"سکتے\": \"sakte\",\n \"رہنا\": \"rehna\",\n \"رہا\": \"raha\",\n \"رہی\": \"rahi\",\n \"رہے\": \"rahe\",\n \"رہتا\": \"rehta\",\n \"رہتی\": \"rehti\",\n \"رہتے\": \"rehte\",\n \"رہنے\": \"rehne\",\n \"بننا\": \"banna\",\n \"بنانا\": \"banana\",\n \"بنایا\": \"banaya\",\n \"بنائی\": \"banayi\",\n \"بنائے\": \"banaye\",\n \"بنا\": \"bana\",\n \"ملنا\": \"milna\",\n \"ملا\": \"mila\",\n \"ملتا\": \"milta\",\n \"ملتی\": \"milti\",\n \"ملتے\": \"milte\",\n \"ملی\": \"mili\",\n \"ملے\": \"mile\",\n \"ملانا\": \"milana\",\n \"کھانا\": \"khana\",\n \"کھایا\": \"khaya\",\n \"کھاؤ\": \"khao\",\n \"کھاتا\": \"khata\",\n \"کھاتی\": \"khati\",\n \"پینا\": \"peena\",\n \"پیا\": \"piya\",\n \"پیو\": \"peeyo\",\n \"پیتا\": \"peeta\",\n \"سونا\": \"sona\",\n \"سویا\": \"soya\",\n \"سوتے\": \"sote\",\n \"اٹھنا\": \"uthna\",\n \"اٹھا\": \"utha\",\n \"اٹھو\": \"utho\",\n \"اٹھانا\": \"uthana\",\n \"اٹھایا\": \"uthaya\",\n \"بیٹھنا\": \"baithna\",\n \"بیٹھا\": \"baitha\",\n \"بیٹھو\": \"baitho\",\n \"چلنا\": \"chalna\",\n \"چلا\": \"chala\",\n \"چلو\": \"chalo\",\n \"چلتا\": \"chalta\",\n \"چلتی\": \"chalti\",\n \"چلتے\": \"chalte\",\n \"چلانا\": \"chalana\",\n \"چلایا\": \"chalaya\",\n \"دوڑنا\": \"daurna\",\n \"دوڑا\": \"daura\",\n \"بھاگنا\": \"bhagna\",\n \"بھاگا\": \"bhaga\",\n \"لانا\": \"lana\",\n \"لایا\": \"laya\",\n \"لائے\": \"laye\",\n \"لائی\": \"layi\",\n \"لاؤ\": \"lao\",\n \"رکھنا\": \"rakhna\",\n \"رکھا\": \"rakha\",\n \"رکھو\": \"rakho\",\n \"رکھتے\": \"rakhte\",\n \"مانگنا\": \"mangna\",\n \"مانگا\": \"manga\",\n \"پوچھنا\": \"poochna\",\n \"پوچھا\": \"poocha\",\n \"پوچھو\": \"poocho\",\n \"بتانا\": \"batana\",\n \"بتایا\": \"bataya\",\n \"بتاؤ\": \"batao\",\n \"کھولنا\": \"kholna\",\n \"کھولا\": \"khola\",\n \"کھلا\": \"khula\",\n \"مرنا\": \"marna\",\n \"مرا\": \"mara\",\n \"مرگیا\": \"margaya\",\n \"جینا\": \"jeena\",\n \"جیا\": \"jiya\",\n \"مارنا\": \"maarna\",\n \"مارا\": \"maara\",\n \"مارو\": \"maaro\",\n \"بچانا\": \"bachana\",\n \"بچایا\": \"bachaya\",\n \"بچنا\": \"bachna\",\n \"بچا\": \"bacha\",\n \"جلانا\": \"jalana\",\n \"جلایا\": \"jalaya\",\n \"جلنا\": \"jalna\",\n \"جلا\": \"jala\",\n \"بجھانا\": \"bujhana\",\n \"بجھنا\": \"bujhna\",\n \"ناچنا\": \"nachna\",\n \"گانا\": \"gana\",\n \"گایا\": \"gaya\",\n \"لڑنا\": \"larna\",\n \"لڑا\": \"lara\",\n \"جیتنا\": \"jeetna\",\n \"جیتا\": \"jeeta\",\n \"ہارنا\": \"haarna\",\n \"ہارا\": \"haara\",\n \"چھپانا\": \"chhupana\",\n \"چھپنا\": \"chhupna\",\n \"ڈھونڈنا\": \"dhoondna\",\n \"ڈھونڈا\": \"dhoonda\",\n \"بدلنا\": \"badalna\",\n \"بدلا\": \"badla\",\n \"رکنا\": \"rukna\",\n \"روکنا\": \"rokna\",\n \"روکا\": \"roka\",\n \"اڑنا\": \"urna\",\n \"اڑانا\": \"urana\",\n \"تیرنا\": \"tairna\",\n \"کھیلنا\": \"khelna\",\n \"کھیلا\": \"khela\",\n \"کھیلتا\": \"khelta\",\n \"ہنسنا\": \"hansna\",\n \"ہنسا\": \"hansa\",\n \"رونا\": \"rona\",\n \"رویا\": \"roya\",\n \"ڈرنا\": \"darna\",\n \"ڈرا\": \"dara\",\n \"ڈرانا\": \"darana\",\n \"بھولنا\": \"bhoolna\",\n \"بھولا\": \"bhoola\",\n \"یاد\": \"yaad\",\n \"سیکھنا\": \"seekhna\",\n \"سیکھا\": \"seekha\",\n \"سکھانا\": \"sikhana\",\n \"سکھایا\": \"sikhaya\",\n \"پکانا\": \"pakana\",\n \"پکایا\": \"pakaya\",\n \"پکنا\": \"pakna\",\n \"پکا\": \"paka\",\n \"دھونا\": \"dhona\",\n \"دھویا\": \"dhoya\",\n \"پہننا\": \"pehanna\",\n \"پہنا\": \"pehna\",\n \"اتارنا\": \"utarna\",\n \"اتارا\": \"utara\",\n \"اترو\": \"utro\",\n \"اترنا\": \"utarna\",\n \"بیچنا\": \"bechna\",\n \"بیچا\": \"becha\",\n \"خریدنا\": \"khareedna\",\n \"خریدا\": \"khareeda\",\n \"بھیجنا\": \"bhejna\",\n \"بھیجا\": \"bheja\",\n \"پہنچنا\": \"pohanchna\",\n \"پہنچا\": \"pohancha\",\n \"پہنچانا\": \"pohonchana\",\n \"نکلنا\": \"nikalna\",\n \"نکلا\": \"nikla\",\n \"نکالنا\": \"nikalna\",\n \"نکالا\": \"nikala\",\n \"گرنا\": \"girna\",\n \"گرا\": \"gira\",\n \"گرانا\": \"girana\",\n \"پکڑنا\": \"pakarna\",\n \"پکڑا\": \"pakra\",\n \"چھوڑنا\": \"chhorna\",\n \"چھوڑا\": \"chhora\",\n \"توڑنا\": \"torna\",\n \"توڑا\": \"tora\",\n \"ٹوٹنا\": \"tootna\",\n \"جوڑنا\": \"jorna\",\n \"جوڑا\": \"jora\",\n \"کاٹنا\": \"katna\",\n \"کاٹا\": \"kata\",\n \"ڈالنا\": \"daalna\",\n \"ڈالا\": \"dala\",\n \"ماننا\": \"manna\",\n \"مانا\": \"mana\",\n \"پہچاننا\": \"pehchanna\",\n \"پہچانا\": \"pehchana\",\n \"بلانا\": \"bulana\",\n \"بلایا\": \"bulaya\",\n \"پکارنا\": \"pukarna\",\n \"دکھانا\": \"dikhana\",\n \"دکھایا\": \"dikhaya\",\n \"سنانا\": \"sunana\",\n \"سنایا\": \"sunaya\",\n \"پھینکنا\": \"phenkna\",\n \"پھینکا\": \"phenka\",\n \"کھینچنا\": \"kheinchna\",\n \"کھینچا\": \"kheincha\",\n \"لیٹنا\": \"letna\",\n \"جاگنا\": \"jagna\",\n \"جگانا\": \"jagana\",\n \"کھلانا\": \"khilana\",\n \"پلانا\": \"pilana\",\n \"پلٹنا\": \"palatna\",\n \"لوٹنا\": \"lautna\",\n \"ٹوکنا\": \"tokna\",\n \"گزارنا\": \"guzarna\",\n \"گزرنا\": \"guzarna\",\n \"گزر\": \"guzar\",\n \"بیتنا\": \"beetna\",\n \"جھگڑنا\": \"jhagarna\",\n \"سہنا\": \"sehna\",\n \"کمانا\": \"kamana\",\n \"کمایا\": \"kamaya\",\n \"چھونا\": \"chhoona\",\n \"چکھنا\": \"chakhna\",\n \"سونگھنا\": \"soonghna\",\n \"گننا\": \"ginna\",\n \"تولنا\": \"tolna\",\n \"ناپنا\": \"naapna\",\n \"باندھنا\": \"bandhna\",\n \"باندھا\": \"bandha\",\n \"بھرنا\": \"bharna\",\n \"بھرا\": \"bhara\",\n \"ڈوبنا\": \"doobna\",\n \"ڈوبا\": \"dooba\",\n \"چمکنا\": \"chamakna\",\n \"چمکا\": \"chamka\",\n \"مہکنا\": \"mehakna\",\n \"گھومنا\": \"ghoomna\",\n \"پھرنا\": \"phirna\",\n \"چھیننا\": \"chheenna\",\n \"پھیلنا\": \"phailna\",\n \"پھیلانا\": \"phailana\",\n \"سمٹنا\": \"simatna\",\n \"والا\": \"wala\",\n \"والی\": \"wali\",\n \"والے\": \"walay\",\n \"شروع\": \"shuru\",\n \"ختم\": \"khatam\",\n \"بند\": \"band\",\n \"پیدا\": \"paida\",\n\n // ---- people and family ----\n \"آدمی\": \"aadmi\",\n \"عورت\": \"aurat\",\n \"لڑکا\": \"larka\",\n \"لڑکی\": \"larki\",\n \"لڑکے\": \"larke\",\n \"لڑکیاں\": \"larkiyan\",\n \"بچہ\": \"bacha\",\n \"بچی\": \"bachi\",\n \"بچے\": \"bache\",\n \"بچوں\": \"bachon\",\n \"ماں\": \"maan\",\n \"باپ\": \"baap\",\n \"والد\": \"walid\",\n \"والدہ\": \"walida\",\n \"والدین\": \"walidain\",\n \"امی\": \"ammi\",\n \"ابو\": \"abbu\",\n \"بھائی\": \"bhai\",\n \"بہن\": \"behan\",\n \"باجی\": \"baji\",\n \"آپی\": \"api\",\n \"بیٹا\": \"beta\",\n \"بیٹی\": \"beti\",\n \"بیٹے\": \"bete\",\n \"بیٹیاں\": \"betiyan\",\n \"پوتا\": \"pota\",\n \"پوتی\": \"poti\",\n \"نواسا\": \"nawasa\",\n \"نواسی\": \"nawasi\",\n \"دادا\": \"dada\",\n \"دادی\": \"dadi\",\n \"نانا\": \"nana\",\n \"نانی\": \"nani\",\n \"چچا\": \"chacha\",\n \"چچی\": \"chachi\",\n \"ماموں\": \"mamoon\",\n \"ممانی\": \"mami\",\n \"خالہ\": \"khala\",\n \"خالو\": \"khalu\",\n \"پھوپھی\": \"phupi\",\n \"پھوپھا\": \"phupha\",\n \"شوہر\": \"shauhar\",\n \"بیوی\": \"biwi\",\n \"دولہا\": \"dulha\",\n \"دلہن\": \"dulhan\",\n \"شادی\": \"shaadi\",\n \"نکاح\": \"nikah\",\n \"رشتہ\": \"rishta\",\n \"خاندان\": \"khandan\",\n \"مہمان\": \"mehman\",\n \"میزبان\": \"mezban\",\n \"دوست\": \"dost\",\n \"دشمن\": \"dushman\",\n \"پڑوسی\": \"parosi\",\n \"ہمسایہ\": \"humsaya\",\n \"ساتھی\": \"sathi\",\n \"بزرگ\": \"buzurg\",\n \"جوان\": \"jawan\",\n \"نوجوان\": \"naujawan\",\n \"بوڑھا\": \"boorha\",\n \"بوڑھی\": \"boorhi\",\n \"انسان\": \"insan\",\n \"لوگ\": \"log\",\n \"عوام\": \"awam\",\n \"شخص\": \"shakhs\",\n \"فرد\": \"fard\",\n\n // ---- professions & roles ----\n \"استاد\": \"ustad\",\n \"استانی\": \"ustani\",\n \"طالب\": \"talib\",\n \"شاگرد\": \"shagird\",\n \"ڈاکٹر\": \"doctor\",\n \"حکیم\": \"hakeem\",\n \"طبیب\": \"tabeeb\",\n \"نرس\": \"nurse\",\n \"سرجن\": \"surgeon\",\n \"وکیل\": \"wakeel\",\n \"جج\": \"judge\",\n \"منصف\": \"munsif\",\n \"کسان\": \"kisan\",\n \"زمیندار\": \"zameendar\",\n \"مزدور\": \"mazdoor\",\n \"کاریگر\": \"karigar\",\n \"درزی\": \"darzi\",\n \"موچی\": \"mochi\",\n \"دھوبی\": \"dhobi\",\n \"حجام\": \"hajam\",\n \"نائی\": \"nai\",\n \"باورچی\": \"bawarchi\",\n \"خانساماں\": \"khansama\",\n \"چوکیدار\": \"chowkidar\",\n \"گارڈ\": \"guard\",\n \"پولیس\": \"police\",\n \"سپاہی\": \"sipahi\",\n \"فوجی\": \"fauji\",\n \"افسر\": \"afsar\",\n \"مینیجر\": \"manager\",\n \"ڈائریکٹر\": \"director\",\n \"صدر\": \"sadar\",\n \"وزیر\": \"wazeer\",\n \"سفیر\": \"safeer\",\n \"تاجر\": \"tajir\",\n \"دکاندار\": \"dukandar\",\n \"ڈرائیور\": \"driver\",\n \"پائلٹ\": \"pilot\",\n \"انجینئر\": \"engineer\",\n \"سائنسدان\": \"sciencedan\",\n \"شاعر\": \"shair\",\n \"ادیب\": \"adeeb\",\n \"مصنف\": \"musannif\",\n \"صحافی\": \"sahafi\",\n \"فنکار\": \"fankar\",\n \"گلوکار\": \"gulokar\",\n \"اداکار\": \"adakar\",\n \"کھلاڑی\": \"khilari\",\n\n // ---- places & buildings ----\n \"گھر\": \"ghar\",\n \"مکان\": \"makan\",\n \"کمرہ\": \"kamra\",\n \"دروازہ\": \"darwaza\",\n \"کھڑکی\": \"khirki\",\n \"چھت\": \"chhat\",\n \"دیوار\": \"deewar\",\n \"فرش\": \"farsh\",\n \"صحن\": \"sehan\",\n \"خانہ\": \"khana\",\n \"مدرسہ\": \"madrasa\",\n \"سکول\": \"school\",\n \"کالج\": \"college\",\n \"یونیورسٹی\": \"university\",\n \"مکتب\": \"maktab\",\n \"جامعہ\": \"jamia\",\n \"لائبریری\": \"library\",\n \"ہسپتال\": \"hospital\",\n \"شفاخانہ\": \"shifakhana\",\n \"کلینک\": \"clinic\",\n \"دواخانہ\": \"dawakhana\",\n \"دکان\": \"dukan\",\n \"مارکیٹ\": \"market\",\n \"بازار\": \"bazaar\",\n \"مال\": \"mall\",\n \"پلازہ\": \"plaza\",\n \"ہوٹل\": \"hotel\",\n \"ریستوران\": \"restaurant\",\n \"ڈھابہ\": \"dhaba\",\n \"مسجد\": \"masjid\",\n \"مندر\": \"mandir\",\n \"گرجا\": \"girja\",\n \"مزار\": \"mazar\",\n \"درگاہ\": \"dargah\",\n \"قبرستان\": \"qabristan\",\n \"شہر\": \"shehar\",\n \"قصبہ\": \"qasba\",\n \"گاؤں\": \"gaon\",\n \"دیہات\": \"dehat\",\n \"ملک\": \"mulk\",\n \"وطن\": \"watan\",\n \"دنیا\": \"dunya\",\n \"جہاں\": \"jahan\",\n \"راستہ\": \"rasta\",\n \"سڑک\": \"sarak\",\n \"گلی\": \"gali\",\n \"کوچہ\": \"koocha\",\n \"محلہ\": \"mohalla\",\n \"چوک\": \"chowk\",\n \"شاہراہ\": \"shahrah\",\n \"پل\": \"pul\",\n \"باغ\": \"bagh\",\n \"پارک\": \"park\",\n \"میدان\": \"maidan\",\n \"اسٹیڈیم\": \"stadium\",\n \"دفتر\": \"daftar\",\n \"تھانہ\": \"thana\",\n \"چوکی\": \"chowki\",\n \"جیل\": \"jail\",\n \"قیدخانہ\": \"qaidkhana\",\n \"عدالت\": \"adalat\",\n \"کچہری\": \"kachehri\",\n \"اسٹیشن\": \"station\",\n \"ایئرپورٹ\": \"airport\",\n \"بندرگاہ\": \"bandargah\",\n \"کارخانہ\": \"karkhana\",\n \"فیکٹری\": \"factory\",\n\n // ---- English loanwords in everyday Urdu ----\n \"کمپیوٹر\": \"computer\",\n \"موبائل\": \"mobile\",\n \"فون\": \"phone\",\n \"انٹرنیٹ\": \"internet\",\n \"بس\": \"bus\",\n \"ٹرین\": \"train\",\n \"کار\": \"car\",\n \"سائیکل\": \"cycle\",\n \"موٹر\": \"motor\",\n \"ٹریفک\": \"traffic\",\n \"سگنل\": \"signal\",\n \"پیٹرول\": \"petrol\",\n \"ڈیزل\": \"diesel\",\n \"گیس\": \"gas\",\n \"بیٹری\": \"battery\",\n \"چارجر\": \"charger\",\n \"کیمرہ\": \"camera\",\n \"ریڈیو\": \"radio\",\n \"ٹیلیویژن\": \"television\",\n \"ٹیلیگرام\": \"telegram\",\n \"ویڈیو\": \"video\",\n \"آڈیو\": \"audio\",\n \"مائیک\": \"mic\",\n \"سپیکر\": \"speaker\",\n \"سکرین\": \"screen\",\n \"سافٹویئر\": \"software\",\n \"ہارڈویئر\": \"hardware\",\n \"ویب\": \"web\",\n \"ایپ\": \"app\",\n \"ایپلیکیشن\": \"application\",\n \"ایمیل\": \"email\",\n \"میسج\": \"message\",\n \"چیٹ\": \"chat\",\n \"آنلائن\": \"online\",\n \"آفلائن\": \"offline\",\n \"اکاؤنٹ\": \"account\",\n \"پاسورڈ\": \"password\",\n \"سیکیورٹی\": \"security\",\n \"سرور\": \"server\",\n \"نیٹورک\": \"network\",\n \"فائل\": \"file\",\n \"فولڈر\": \"folder\",\n \"لنک\": \"link\",\n \"پوسٹ\": \"post\",\n \"کمنٹ\": \"comment\",\n \"چینل\": \"channel\",\n \"گروپ\": \"group\",\n \"ڈاؤنلوڈ\": \"download\",\n \"اپلوڈ\": \"upload\",\n \"سرچ\": \"search\",\n \"کلک\": \"click\",\n \"ٹائپ\": \"type\",\n \"ٹیسٹ\": \"test\",\n \"نمبر\": \"number\",\n \"کلاس\": \"class\",\n \"ڈگری\": \"degree\",\n \"سسٹم\": \"system\",\n \"پروگرام\": \"program\",\n \"ٹیکنالوجی\": \"technology\",\n \"ڈیٹا\": \"data\",\n \"ٹکٹ\": \"ticket\",\n \"پاسپورٹ\": \"passport\",\n \"ویزا\": \"visa\",\n \"بینک\": \"bank\",\n \"چیک\": \"cheque\",\n \"کارڈ\": \"card\",\n \"ٹیکس\": \"tax\",\n \"بل\": \"bill\",\n \"وارڈ\": \"ward\",\n \"آپریشن\": \"operation\",\n \"ایمبولینس\": \"ambulance\",\n\n // ---- time, calendar, days, months, weather ----\n \"دن\": \"din\",\n \"رات\": \"raat\",\n \"صبح\": \"subah\",\n \"شام\": \"shaam\",\n \"سحر\": \"sehar\",\n \"دوپہر\": \"dopahar\",\n \"پہر\": \"pehar\",\n \"وقت\": \"waqt\",\n \"گھنٹہ\": \"ghanta\",\n \"منٹ\": \"minute\",\n \"سیکنڈ\": \"second\",\n \"لمحہ\": \"lamha\",\n \"ہفتہ\": \"hafta\",\n \"مہینہ\": \"maheena\",\n \"سال\": \"saal\",\n \"صدی\": \"sadi\",\n \"زمانہ\": \"zamana\",\n \"مدت\": \"muddat\",\n \"عمر\": \"umar\",\n \"آج\": \"aaj\",\n \"کل\": \"kal\",\n \"پرسوں\": \"parson\",\n \"ترسوں\": \"tarson\",\n \"ابھی\": \"abhi\",\n \"اب\": \"ab\",\n \"پھر\": \"phir\",\n \"تب\": \"tab\",\n \"جب\": \"jab\",\n \"ہمیشہ\": \"hamesha\",\n \"کبھی\": \"kabhi\",\n \"اکثر\": \"aksar\",\n \"روز\": \"roz\",\n \"روزانہ\": \"rozana\",\n \"ماہانہ\": \"mahana\",\n \"سالانہ\": \"salana\",\n \"پیر\": \"peer\",\n \"منگل\": \"mangal\",\n \"بدھ\": \"budh\",\n \"جمعرات\": \"jumeraat\",\n \"جمعہ\": \"jumma\",\n \"اتوار\": \"itwar\",\n \"جنوری\": \"january\",\n \"فروری\": \"february\",\n \"مارچ\": \"march\",\n \"اپریل\": \"april\",\n \"مئی\": \"may\",\n \"جون\": \"june\",\n \"جولائی\": \"july\",\n \"اگست\": \"august\",\n \"ستمبر\": \"september\",\n \"اکتوبر\": \"october\",\n \"نومبر\": \"november\",\n \"دسمبر\": \"december\",\n \"موسم\": \"mausam\",\n \"گرمی\": \"garmi\",\n \"سردی\": \"sardi\",\n \"بہار\": \"bahaar\",\n \"خزاں\": \"khazan\",\n \"برسات\": \"barsaat\",\n \"بارش\": \"barish\",\n \"دھوپ\": \"dhoop\",\n \"چھاؤں\": \"chhaon\",\n \"بادل\": \"badal\",\n \"برف\": \"baraf\",\n \"اولے\": \"olay\",\n \"کہر\": \"kohar\",\n \"دھند\": \"dhund\",\n \"آندھی\": \"aandhi\",\n \"طوفان\": \"toofan\",\n \"سیلاب\": \"sailab\",\n \"زلزلہ\": \"zalzala\",\n \"آسمان\": \"asman\",\n \"زمین\": \"zameen\",\n \"سورج\": \"sooraj\",\n \"چاند\": \"chand\",\n \"ستارہ\": \"sitara\",\n \"کہکشان\": \"kahkashan\",\n\n // ---- household objects, clothing, tools ----\n \"کتاب\": \"kitaab\",\n \"قلم\": \"qalam\",\n \"کاغذ\": \"kaghaz\",\n \"دوات\": \"dawat\",\n \"سیاہی\": \"siyahi\",\n \"پنسل\": \"pencil\",\n \"بستہ\": \"basta\",\n \"بیگ\": \"bag\",\n \"میز\": \"mez\",\n \"کرسی\": \"kursi\",\n \"الماری\": \"almari\",\n \"صوفہ\": \"sofa\",\n \"پلنگ\": \"palang\",\n \"بستر\": \"bistar\",\n \"گدا\": \"gadda\",\n \"چادر\": \"chadar\",\n \"تکیہ\": \"takiya\",\n \"کمبل\": \"kambal\",\n \"لحاف\": \"lihaf\",\n \"پردہ\": \"parda\",\n \"قالین\": \"qaleen\",\n \"چٹائی\": \"chatai\",\n \"پنکھا\": \"pankha\",\n \"چولہا\": \"choolha\",\n \"فریج\": \"fridge\",\n \"برتن\": \"bartan\",\n \"چمچ\": \"chamach\",\n \"کانٹا\": \"kanta\",\n \"چھری\": \"chhuri\",\n \"چاقو\": \"chaqoo\",\n \"پلیٹ\": \"plate\",\n \"پیالی\": \"pyali\",\n \"پیالہ\": \"pyala\",\n \"کپ\": \"cup\",\n \"گلاس\": \"glass\",\n \"جگ\": \"jug\",\n \"بوتل\": \"botal\",\n \"ڈبہ\": \"dabba\",\n \"بالٹی\": \"balti\",\n \"مگ\": \"mug\",\n \"جھاڑو\": \"jharoo\",\n \"صابن\": \"sabun\",\n \"تولیہ\": \"toliya\",\n \"آئینہ\": \"aaina\",\n \"شیشہ\": \"sheesha\",\n \"کنگھی\": \"kanghi\",\n \"سوئی\": \"sui\",\n \"دھاگہ\": \"dhaga\",\n \"قینچی\": \"qainchi\",\n \"تالا\": \"tala\",\n \"چابی\": \"chabi\",\n \"گھڑی\": \"ghari\",\n \"ٹوپی\": \"topi\",\n \"پگڑی\": \"pagri\",\n \"قمیض\": \"qameez\",\n \"شلوار\": \"shalwar\",\n \"پاجامہ\": \"pajama\",\n \"پینٹ\": \"pant\",\n \"شرٹ\": \"shirt\",\n \"کوٹ\": \"coat\",\n \"واسکوٹ\": \"waistcoat\",\n \"شال\": \"shawl\",\n \"دوپٹہ\": \"dupatta\",\n \"جراب\": \"jurab\",\n \"دستانے\": \"dastaney\",\n \"جوتا\": \"joota\",\n \"چپل\": \"chappal\",\n \"صندل\": \"sandal\",\n \"کپڑا\": \"kapra\",\n \"ریشم\": \"resham\",\n \"سوت\": \"soot\",\n \"اون\": \"oon\",\n\n // ---- food, spices, ingredients, kitchen ----\n \"پانی\": \"paani\",\n \"دودھ\": \"doodh\",\n \"دہی\": \"dahi\",\n \"مکھن\": \"makhan\",\n \"گھی\": \"ghee\",\n \"پنیر\": \"paneer\",\n \"ملائی\": \"malai\",\n \"چائے\": \"chai\",\n \"قہوہ\": \"qehwa\",\n \"کافی\": \"coffee\",\n \"شربت\": \"sharbat\",\n \"لسی\": \"lassi\",\n \"جوس\": \"juice\",\n \"روٹی\": \"roti\",\n \"نان\": \"naan\",\n \"پراٹھا\": \"paratha\",\n \"کلچہ\": \"kulcha\",\n \"چاول\": \"chawal\",\n \"بریانی\": \"biryani\",\n \"پلاؤ\": \"pulao\",\n \"سالن\": \"salan\",\n \"شوربہ\": \"shorba\",\n \"قورمہ\": \"qorma\",\n \"کڑاہی\": \"karahi\",\n \"نہاری\": \"nihari\",\n \"حلیم\": \"haleem\",\n \"کباب\": \"kabab\",\n \"تکہ\": \"tikka\",\n \"سموسہ\": \"samosa\",\n \"پکوڑا\": \"pakaura\",\n \"رول\": \"roll\",\n \"دال\": \"daal\",\n \"گوشت\": \"gosht\",\n \"قیمہ\": \"qeema\",\n \"مرغی\": \"murghi\",\n \"مچھلی\": \"machhli\",\n \"انڈا\": \"anda\",\n \"سبزی\": \"sabzi\",\n \"آٹا\": \"aata\",\n \"میدہ\": \"maida\",\n \"سوجی\": \"sooji\",\n \"بیسن\": \"besan\",\n \"تیل\": \"tel\",\n \"نمک\": \"namak\",\n \"چینی\": \"cheeni\",\n \"شکر\": \"shukr\",\n \"گڑ\": \"gur\",\n \"شہد\": \"shehad\",\n \"مرچ\": \"mirch\",\n \"ہلدی\": \"haldi\",\n \"دھنیا\": \"dhaniya\",\n \"زیرہ\": \"zeera\",\n \"لہسن\": \"lehsun\",\n \"ادرک\": \"adrak\",\n \"پیاز\": \"pyaz\",\n \"ٹماٹر\": \"tamatar\",\n \"آلو\": \"aloo\",\n \"گاجر\": \"gajar\",\n \"مولی\": \"mooli\",\n \"شلجم\": \"shaljam\",\n \"مٹر\": \"matar\",\n \"پالک\": \"palak\",\n \"میتھی\": \"methi\",\n \"گوبھی\": \"gobhi\",\n \"بینگن\": \"baingan\",\n \"بھنڈی\": \"bhindi\",\n \"کریلا\": \"karela\",\n \"کدو\": \"kaddu\",\n \"لوکی\": \"lauki\",\n \"ٹینڈا\": \"tinda\",\n \"کھیرا\": \"kheera\",\n \"پھل\": \"phal\",\n \"آم\": \"aam\",\n \"سیب\": \"saib\",\n \"کیلا\": \"kela\",\n \"انگور\": \"angoor\",\n \"انار\": \"anar\",\n \"امرود\": \"amrood\",\n \"مالٹا\": \"malta\",\n \"کینو\": \"kinnu\",\n \"لیمو\": \"leemo\",\n \"لیموں\": \"leemo\",\n \"تربوز\": \"tarbooz\",\n \"خربوزہ\": \"kharbooza\",\n \"آڑو\": \"aadoo\",\n \"خوبانی\": \"khubani\",\n \"ناشپاتی\": \"nashpati\",\n \"چیری\": \"cherry\",\n \"پپیتا\": \"papeeta\",\n \"لیچی\": \"lychee\",\n \"بادام\": \"badam\",\n \"پستہ\": \"pista\",\n \"اخروٹ\": \"akhrot\",\n \"کاجو\": \"kaju\",\n \"مونگفلی\": \"moongphali\",\n \"کشمش\": \"kishmish\",\n \"کھجور\": \"khajoor\",\n \"کھیر\": \"kheer\",\n \"حلوہ\": \"halwa\",\n \"زردہ\": \"zarda\",\n \"جامن\": \"jamun\",\n \"جلیبی\": \"jalebi\",\n \"برفی\": \"barfi\",\n \"رسگلہ\": \"rasgulla\",\n \"کلفی\": \"kulfi\",\n \"آئسکریم\": \"icecream\",\n \"کیک\": \"cake\",\n \"بسکٹ\": \"biscuit\",\n \"چاکلیٹ\": \"chocolate\",\n \"مٹھائی\": \"mithai\",\n \"سلاد\": \"salad\",\n \"رائتہ\": \"raita\",\n \"چٹنی\": \"chatni\",\n \"اچار\": \"achaar\",\n \"مربہ\": \"murabba\",\n\n // ---- anatomy & health ----\n \"دل\": \"dil\",\n \"دماغ\": \"dimagh\",\n \"جسم\": \"jism\",\n \"بدن\": \"badan\",\n \"جان\": \"jaan\",\n \"روح\": \"rooh\",\n \"سر\": \"sar\",\n \"کھوپڑی\": \"khopri\",\n \"پیشانی\": \"peshani\",\n \"ماتھا\": \"matha\",\n \"آنکھ\": \"aankh\",\n \"آنکھیں\": \"aankhein\",\n \"پلک\": \"palak\",\n \"ابرو\": \"abroo\",\n \"کان\": \"kaan\",\n \"ناک\": \"naak\",\n \"منہ\": \"munh\",\n \"ہونٹ\": \"hont\",\n \"دانت\": \"daant\",\n \"زبان\": \"zuban\",\n \"گلا\": \"gala\",\n \"گردن\": \"gardan\",\n \"کندھا\": \"kandha\",\n \"بازو\": \"bazu\",\n \"کہنی\": \"kohni\",\n \"کلائی\": \"kalai\",\n \"ہاتھ\": \"hath\",\n \"انگلی\": \"ungli\",\n \"انگلیاں\": \"ungliyan\",\n \"انگوٹھا\": \"angootha\",\n \"ناخن\": \"nakhun\",\n \"سینہ\": \"seena\",\n \"چھاتی\": \"chhati\",\n \"پیٹ\": \"pet\",\n \"کمر\": \"kamar\",\n \"پشت\": \"pusht\",\n \"ران\": \"raan\",\n \"گھٹنا\": \"ghutna\",\n \"ٹانگ\": \"taang\",\n \"ٹانگیں\": \"taangein\",\n \"پاؤں\": \"paon\",\n \"ایڑی\": \"eeri\",\n \"تالو\": \"talu\",\n \"ہڈی\": \"haddi\",\n \"خون\": \"khoon\",\n \"رگ\": \"rag\",\n \"پٹھا\": \"pattha\",\n \"جلد\": \"jild\",\n \"چمڑا\": \"chamra\",\n \"بال\": \"baal\",\n \"داڑھی\": \"darhi\",\n \"مونچھ\": \"moochh\",\n \"چہرہ\": \"chehra\",\n \"رخسار\": \"rukhsar\",\n \"گال\": \"gaal\",\n \"ٹھوڑی\": \"thori\",\n \"جگر\": \"jigar\",\n \"گردہ\": \"gurda\",\n \"پھیپھڑا\": \"phepra\",\n \"معدہ\": \"maida\",\n \"صحت\": \"sehat\",\n \"تندرستی\": \"tandurusti\",\n \"بیماری\": \"beemari\",\n \"مرض\": \"marz\",\n \"مریض\": \"mareez\",\n \"بخار\": \"bukhar\",\n \"درد\": \"dard\",\n \"تکلیف\": \"takleef\",\n \"کھانسی\": \"khansi\",\n \"نزلہ\": \"nazla\",\n \"زکام\": \"zukam\",\n \"الرجی\": \"allergy\",\n \"انفیکشن\": \"infection\",\n \"وائرس\": \"virus\",\n \"زخم\": \"zakhm\",\n \"چوٹ\": \"chot\",\n \"علاج\": \"ilaj\",\n \"دوا\": \"dawa\",\n \"ادویات\": \"adwiyat\",\n \"شفا\": \"shifa\",\n \"گولی\": \"goli\",\n \"ٹیکہ\": \"teeka\",\n \"مرہم\": \"marham\",\n \"پٹی\": \"patti\",\n\n // ---- feelings, morals, abstraction ----\n \"محبت\": \"mohabbat\",\n \"عشق\": \"ishq\",\n \"پیار\": \"pyaar\",\n \"الفت\": \"ulfat\",\n \"چاہت\": \"chahat\",\n \"نفرت\": \"nafrat\",\n \"حسد\": \"hasad\",\n \"کینہ\": \"keena\",\n \"بغض\": \"bughz\",\n \"خوشی\": \"khushi\",\n \"مسرت\": \"musarrat\",\n \"غم\": \"gham\",\n \"دکھ\": \"dukh\",\n \"رنج\": \"ranj\",\n \"الم\": \"alam\",\n \"افسوس\": \"afsos\",\n \"پچھتاوا\": \"pachtawa\",\n \"ندامت\": \"nadamat\",\n \"ڈر\": \"dar\",\n \"خوف\": \"khauf\",\n \"دہشت\": \"dehshat\",\n \"امید\": \"umeed\",\n \"آس\": \"aas\",\n \"یاس\": \"yaas\",\n \"مایوسی\": \"mayoosi\",\n \"یقین\": \"yaqeen\",\n \"اعتماد\": \"aitamad\",\n \"بھروسہ\": \"bharosa\",\n \"شک\": \"shak\",\n \"سچ\": \"sach\",\n \"جھوٹ\": \"jhoot\",\n \"انصاف\": \"insaf\",\n \"عدل\": \"adl\",\n \"ظلم\": \"zulm\",\n \"ستم\": \"sitam\",\n \"عزت\": \"izzat\",\n \"احترام\": \"ehtiram\",\n \"بےعزتی\": \"beizzati\",\n \"ذلت\": \"zillat\",\n \"رسوائی\": \"ruswai\",\n \"شکریہ\": \"shukriya\",\n \"صبر\": \"sabr\",\n \"احسان\": \"ehsan\",\n \"معاف\": \"maaf\",\n \"معافی\": \"maafi\",\n \"دعا\": \"dua\",\n \"بددعا\": \"baddua\",\n \"خواب\": \"khwab\",\n \"خیال\": \"khayal\",\n \"ارادہ\": \"irada\",\n \"خواہش\": \"khwahish\",\n \"تمنا\": \"tamanna\",\n \"آرزو\": \"aarzoo\",\n \"حسرت\": \"hasrat\",\n \"زندگی\": \"zindagi\",\n \"حیات\": \"hayat\",\n \"موت\": \"maut\",\n \"وفات\": \"wafat\",\n \"طاقت\": \"taqat\",\n \"قوت\": \"quwwat\",\n \"زور\": \"zor\",\n \"ہمت\": \"himmat\",\n \"حوصلہ\": \"hosla\",\n \"جذبہ\": \"jazba\",\n \"شوق\": \"shauq\",\n \"کمزوری\": \"kamzori\",\n \"ناتوانی\": \"natawani\",\n \"ضرورت\": \"zaroorat\",\n \"حاجت\": \"hajat\",\n \"مدد\": \"madad\",\n \"تعاون\": \"taawun\",\n \"کوشش\": \"koshish\",\n \"جدوجہد\": \"jaddojahad\",\n \"محنت\": \"mehnat\",\n \"مشقت\": \"mushaqqat\",\n \"کامیابی\": \"kamyabi\",\n \"فتح\": \"fateh\",\n \"ناکامی\": \"nakami\",\n \"شکست\": \"shikast\",\n \"ہار\": \"haar\",\n \"جیت\": \"jeet\",\n \"فیصلہ\": \"faisla\",\n \"رائے\": \"raye\",\n \"مشورہ\": \"mashwara\",\n \"غصہ\": \"ghussa\",\n \"طیش\": \"taish\",\n \"غرور\": \"ghuroor\",\n \"تکبر\": \"takabbur\",\n \"عاجزی\": \"aajzi\",\n \"انکساری\": \"inkisari\",\n \"سادگی\": \"sadgi\",\n \"صفائی\": \"safai\",\n \"پاکی\": \"paki\",\n \"شرم\": \"sharm\",\n \"حیا\": \"haya\",\n \"غیرت\": \"ghairat\",\n \"حمیت\": \"hameeyat\",\n \"اخلاق\": \"akhlaq\",\n \"شرافت\": \"sharafat\",\n \"دیانت\": \"diyanat\",\n \"امانت\": \"amanat\",\n \"خیانت\": \"khiyanat\",\n \"وفا\": \"wafa\",\n \"بےوفائی\": \"bewafai\",\n \"دوستی\": \"dosti\",\n \"دشمنی\": \"dushmani\",\n \"حیرت\": \"hairat\",\n \"تعجب\": \"taajjub\",\n \"راحت\": \"rahat\",\n \"سکون\": \"sakoon\",\n \"اطمینان\": \"itminan\",\n \"بےچینی\": \"bechaini\",\n \"اضطراب\": \"iztirab\",\n \"احساس\": \"ehsas\",\n \"شعور\": \"shaoor\",\n \"لاپرواہی\": \"laparwahi\",\n \"حقیقت\": \"haqeeqat\",\n \"راز\": \"raaz\",\n \"بھید\": \"bhed\",\n\n // ---- knowledge, education, language, arts ----\n \"علم\": \"ilm\",\n \"تعلیم\": \"taleem\",\n \"تربیت\": \"tarbiyat\",\n \"سبق\": \"sabaq\",\n \"درس\": \"dars\",\n \"امتحان\": \"imtihan\",\n \"آزمائش\": \"azmaish\",\n \"نتیجہ\": \"nateeja\",\n \"مسئلہ\": \"masla\",\n \"حل\": \"hal\",\n \"سوال\": \"sawal\",\n \"جواب\": \"jawab\",\n \"بحث\": \"behas\",\n \"مباحثہ\": \"mubahisa\",\n \"بات\": \"baat\",\n \"باتیں\": \"baatein\",\n \"گفتگو\": \"guftagu\",\n \"کلام\": \"kalam\",\n \"لفظ\": \"lafz\",\n \"الفاظ\": \"alfaz\",\n \"جملہ\": \"jumla\",\n \"فقرہ\": \"fiqra\",\n \"حرف\": \"harf\",\n \"حروف\": \"haroof\",\n \"معنی\": \"maani\",\n \"مطلب\": \"matlab\",\n \"نام\": \"naam\",\n \"پتہ\": \"pata\",\n \"خبر\": \"khabar\",\n \"اخبار\": \"akhbar\",\n \"رسالہ\": \"risala\",\n \"مجلہ\": \"majalla\",\n \"کہانی\": \"kahani\",\n \"قصہ\": \"qissa\",\n \"داستان\": \"dastan\",\n \"ناول\": \"novel\",\n \"افسانہ\": \"afsana\",\n \"مضمون\": \"mazmoon\",\n \"مقالہ\": \"maqala\",\n \"شعر\": \"sher\",\n \"اشعار\": \"ashaar\",\n \"غزل\": \"ghazal\",\n \"نظم\": \"nazm\",\n \"مرثیہ\": \"marsiya\",\n \"قصیدہ\": \"qaseeda\",\n \"ادب\": \"adab\",\n \"تاریخ\": \"tareekh\",\n \"جغرافیہ\": \"jughrafia\",\n \"ریاضی\": \"riyazi\",\n \"سائنس\": \"science\",\n \"فلسفہ\": \"falsafa\",\n \"منطق\": \"mantiq\",\n \"ثقافت\": \"saqafat\",\n \"تہذیب\": \"tehzeeb\",\n \"تمدن\": \"tamaddun\",\n \"رسم\": \"rasm\",\n \"رواج\": \"riwaj\",\n \"موسیقی\": \"moseeqi\",\n \"راگ\": \"raag\",\n \"ساز\": \"saaz\",\n \"تصویر\": \"tasweer\",\n \"نقشہ\": \"naqsha\",\n \"رنگ\": \"rang\",\n \"آواز\": \"awaz\",\n \"شور\": \"shor\",\n \"خاموشی\": \"khamoshi\",\n \"سکوت\": \"sakoot\",\n \"تحقیق\": \"tehqeeq\",\n \"تلاش\": \"talash\",\n \"کھوج\": \"khoj\",\n\n // ---- religion & spiritual ----\n \"نماز\": \"namaz\",\n \"صلوہ\": \"salat\",\n \"روزہ\": \"roza\",\n \"صوم\": \"saum\",\n \"زکوہ\": \"zakat\",\n \"حج\": \"hajj\",\n \"عمرہ\": \"umrah\",\n \"عید\": \"eid\",\n \"قربانی\": \"qurbani\",\n \"مذہب\": \"mazhab\",\n \"اسلام\": \"islam\",\n \"اللہ\": \"allah\",\n \"رب\": \"rabb\",\n \"خدا\": \"khuda\",\n \"رسول\": \"rasool\",\n \"نبی\": \"nabi\",\n \"پیغمبر\": \"paighambar\",\n \"صحابی\": \"sahabi\",\n \"صحابہ\": \"sahaba\",\n \"اہل\": \"ahl\",\n \"بیت\": \"bait\",\n \"قرآن\": \"quran\",\n \"حدیث\": \"hadees\",\n \"سنت\": \"sunnat\",\n \"شریعت\": \"shariat\",\n \"فقہ\": \"fiqh\",\n \"دین\": \"deen\",\n \"ایمان\": \"imaan\",\n \"عقیدہ\": \"aqeeda\",\n \"جنت\": \"jannat\",\n \"فردوس\": \"firdaus\",\n \"جہنم\": \"jahannum\",\n \"دوزخ\": \"dozakh\",\n \"فرشتہ\": \"farishta\",\n \"ملائکہ\": \"malaika\",\n \"شیطان\": \"shaitan\",\n \"ابلیس\": \"iblees\",\n \"جنات\": \"jinnat\",\n \"قیامت\": \"qayamat\",\n \"حشر\": \"hashr\",\n \"حساب\": \"hisaab\",\n \"میزان\": \"meezan\",\n \"صراط\": \"sirat\",\n \"عبادت\": \"ibadat\",\n \"بندگی\": \"bandagi\",\n \"سجدہ\": \"sajda\",\n \"رکوع\": \"rukoo\",\n \"تلاوت\": \"tilawat\",\n \"تسبیح\": \"tasbeeh\",\n \"ذکر\": \"zikr\",\n \"توبہ\": \"tauba\",\n \"استغفار\": \"istighfar\",\n \"ثواب\": \"sawab\",\n \"اجر\": \"ajar\",\n \"گناہ\": \"gunah\",\n \"معصیت\": \"masiyat\",\n \"عذاب\": \"azaab\",\n \"رحمت\": \"rehmat\",\n \"برکت\": \"barkat\",\n \"فضل\": \"fazal\",\n \"کرم\": \"karam\",\n \"نیکی\": \"naiki\",\n \"بدی\": \"badi\",\n \"تقوی\": \"taqwa\",\n \"پرہیزگاری\": \"parhezgari\",\n \"ولایت\": \"wilayat\",\n \"ولی\": \"wali\",\n \"صوفی\": \"sufi\",\n \"درویش\": \"darwesh\",\n \"فقیر\": \"faqeer\",\n\n // ---- news, politics, governance, law ----\n \"سیاست\": \"siyasat\",\n \"سیاسی\": \"siyasi\",\n \"الیکشن\": \"election\",\n \"انتخاب\": \"intikhab\",\n \"انتخابات\": \"intikhabat\",\n \"ووٹ\": \"vote\",\n \"امیدوار\": \"ummedwar\",\n \"پارٹی\": \"party\",\n \"جماعت\": \"jamaat\",\n \"اسمبلی\": \"assembly\",\n \"پارلیمنٹ\": \"parliament\",\n \"ایوان\": \"aiwan\",\n \"سینیٹ\": \"senate\",\n \"قانون\": \"qanoon\",\n \"دستور\": \"dastoor\",\n \"آئین\": \"aaeen\",\n \"جمہوریت\": \"jamhooriat\",\n \"آمریت\": \"aamriyat\",\n \"حکومت\": \"hukumat\",\n \"ریاست\": \"riyasat\",\n \"سلطنت\": \"saltanat\",\n \"حکمران\": \"hukmaran\",\n \"اپوزیشن\": \"opposition\",\n \"حزب\": \"hizb\",\n \"اختلاف\": \"ikhtilaf\",\n \"اتحاد\": \"ittehad\",\n \"تنظیم\": \"tanzeem\",\n \"ادارہ\": \"idara\",\n \"کمپنی\": \"company\",\n \"جرم\": \"jurm\",\n \"مجرم\": \"mujrim\",\n \"ملزم\": \"mulzim\",\n \"قیدی\": \"qaidi\",\n \"گواہ\": \"gawah\",\n \"شہادت\": \"shahadat\",\n \"ثبوت\": \"saboot\",\n \"سزا\": \"saza\",\n \"جرمانہ\": \"jurmana\",\n \"فوج\": \"fauj\",\n \"لشکر\": \"lashkar\",\n \"عساکر\": \"asakir\",\n \"جنگ\": \"jang\",\n \"معرکہ\": \"maraka\",\n \"لڑائی\": \"larai\",\n \"امن\": \"aman\",\n \"صلح\": \"sulah\",\n \"معاہدہ\": \"muahida\",\n \"پیمان\": \"paiman\",\n \"معیشت\": \"maeeshat\",\n \"اقتصادیات\": \"iqtisadiyat\",\n \"تجارت\": \"tijarat\",\n \"کاروبار\": \"karobar\",\n \"صنعت\": \"sanat\",\n \"حرفت\": \"hirfat\",\n \"بجٹ\": \"budget\",\n \"خسارہ\": \"khasara\",\n \"منافع\": \"munafa\",\n \"نقصان\": \"nuqsan\",\n \"ترقی\": \"taraqqi\",\n \"تنزل\": \"tanazzul\",\n \"منصوبہ\": \"mansooba\",\n \"پروجیکٹ\": \"project\",\n \"اعلان\": \"elaan\",\n \"اشتہار\": \"ishtihar\",\n \"رپورٹ\": \"report\",\n \"بیان\": \"bayan\",\n \"اجلاس\": \"ijlas\",\n \"کانفرنس\": \"conference\",\n \"دورہ\": \"dora\",\n \"ملاقات\": \"mulaqat\",\n \"مذاکرات\": \"muzakrat\",\n \"تقریب\": \"taqreeb\",\n \"جلسہ\": \"jalsa\",\n \"جلوس\": \"juloos\",\n \"ہڑتال\": \"hartal\",\n \"مظاہرہ\": \"muzahira\",\n \"احتجاج\": \"ehtejaj\",\n \"تقریر\": \"taqreer\",\n \"خطاب\": \"khitab\",\n \"پیغام\": \"paigham\",\n\n // ---- nature, environment, animals ----\n \"درخت\": \"darakht\",\n \"شجر\": \"shajar\",\n \"پودا\": \"pauda\",\n \"پودے\": \"pauday\",\n \"پتے\": \"pattay\",\n \"پھول\": \"phool\",\n \"کلی\": \"kali\",\n \"شاخ\": \"shaakh\",\n \"ٹہنی\": \"tahni\",\n \"جڑ\": \"jar\",\n \"تنا\": \"tana\",\n \"گھاس\": \"ghaas\",\n \"سبزہ\": \"sabza\",\n \"جنگل\": \"jungle\",\n \"بیابان\": \"bayaban\",\n \"صحرا\": \"sehra\",\n \"ریگستان\": \"registan\",\n \"پہاڑ\": \"pahar\",\n \"کوہ\": \"koh\",\n \"چوٹی\": \"choti\",\n \"وادی\": \"wadi\",\n \"درہ\": \"darra\",\n \"غار\": \"ghaar\",\n \"دریا\": \"darya\",\n \"نہر\": \"nehar\",\n \"ندی\": \"nadi\",\n \"نالہ\": \"nala\",\n \"سمندر\": \"samandar\",\n \"بحر\": \"behar\",\n \"ساحل\": \"sahil\",\n \"کنارہ\": \"kinara\",\n \"جزیرہ\": \"jazeera\",\n \"جھیل\": \"jheel\",\n \"تالاب\": \"talab\",\n \"حوض\": \"hauz\",\n \"کنواں\": \"kuan\",\n \"چشمہ\": \"chashma\",\n \"آبشار\": \"aabshar\",\n \"مٹی\": \"mitti\",\n \"ریت\": \"rait\",\n \"پتھر\": \"patthar\",\n \"چٹان\": \"chatan\",\n \"چاندی\": \"chandi\",\n \"تانبا\": \"tanba\",\n \"لوہا\": \"loha\",\n \"پیتل\": \"peetal\",\n \"کوئلہ\": \"koyla\",\n \"آگ\": \"aag\",\n \"شعلہ\": \"shola\",\n \"دھواں\": \"dhuwan\",\n \"راکھ\": \"raakh\",\n \"روشنی\": \"roshni\",\n \"نور\": \"noor\",\n \"اندھیرا\": \"andhera\",\n \"تاریکی\": \"tareeki\",\n \"سایہ\": \"saya\",\n \"کتا\": \"kutta\",\n \"کتیا\": \"kutiya\",\n \"بلی\": \"billi\",\n \"بلا\": \"billa\",\n \"گھوڑا\": \"ghora\",\n \"گھوڑی\": \"ghori\",\n \"گدھا\": \"gadha\",\n \"گدھی\": \"gadhi\",\n \"خچر\": \"khachhar\",\n \"گائے\": \"gaye\",\n \"بیل\": \"bail\",\n \"بچھڑا\": \"bachhra\",\n \"بھینس\": \"bhains\",\n \"بکری\": \"bakri\",\n \"بکرا\": \"bakra\",\n \"بھیڑ\": \"bheed\",\n \"دنبہ\": \"dumbah\",\n \"شیر\": \"sheer\",\n \"ببر\": \"babar\",\n \"چیتا\": \"cheeta\",\n \"تیندوا\": \"tendwa\",\n \"بھیڑیا\": \"bhediya\",\n \"لومڑی\": \"lomri\",\n \"ریچھ\": \"reech\",\n \"ہاتھی\": \"hathi\",\n \"ہتھنی\": \"hathni\",\n \"اونٹ\": \"oont\",\n \"سانڈنی\": \"sandni\",\n \"ہرن\": \"hiran\",\n \"سنگھا\": \"singha\",\n \"خرگوش\": \"khargosh\",\n \"بندر\": \"bandar\",\n \"چوہا\": \"chooha\",\n \"چوہیا\": \"chuhiya\",\n \"پرندہ\": \"parinda\",\n \"چرند\": \"charand\",\n \"پرند\": \"parand\",\n \"کوا\": \"kawa\",\n \"طوطا\": \"tota\",\n \"مینا\": \"maina\",\n \"چڑیا\": \"chiriya\",\n \"کبوتر\": \"kabootar\",\n \"فاختہ\": \"fakhta\",\n \"عقاب\": \"uqaab\",\n \"باز\": \"baaz\",\n \"شاہین\": \"shaheen\",\n \"چیل\": \"cheel\",\n \"گدھ\": \"gidh\",\n \"الو\": \"ulloo\",\n \"بگلا\": \"bagla\",\n \"بطخ\": \"battakh\",\n \"ہنس\": \"hans\",\n \"مور\": \"mor\",\n \"مرغ\": \"murgh\",\n \"مرغا\": \"murgha\",\n \"مرغابی\": \"murghabi\",\n \"کوئل\": \"koyal\",\n \"بلبل\": \"bulbul\",\n \"سانپ\": \"saanp\",\n \"ناگ\": \"naag\",\n \"چھپکلی\": \"chhipkali\",\n \"مگرمچھ\": \"magarmachh\",\n \"کچھوا\": \"kachhwa\",\n \"مینڈک\": \"maindak\",\n \"مچھر\": \"machhar\",\n \"مکھی\": \"makkhi\",\n \"مکڑی\": \"makri\",\n \"تتلی\": \"titli\",\n \"کیڑا\": \"keera\",\n \"کیڑے\": \"keeray\",\n \"پتنگا\": \"patanga\",\n \"چیونٹی\": \"cheenti\",\n \"بچھو\": \"bichhoo\",\n\n // ---- adjectives ----\n \"اچھا\": \"acha\",\n \"اچھی\": \"achi\",\n \"اچھے\": \"achay\",\n \"برا\": \"bura\",\n \"بری\": \"buri\",\n \"برے\": \"buray\",\n \"بڑا\": \"bara\",\n \"بڑی\": \"bari\",\n \"بڑے\": \"baray\",\n \"چھوٹا\": \"chhota\",\n \"چھوٹی\": \"chhoti\",\n \"چھوٹے\": \"chhotay\",\n \"نیا\": \"naya\",\n \"نئی\": \"nayi\",\n \"نئے\": \"naye\",\n \"پرانا\": \"purana\",\n \"پرانی\": \"purani\",\n \"پرانے\": \"puranay\",\n \"لمبا\": \"lamba\",\n \"لمبی\": \"lambi\",\n \"لمبے\": \"lambay\",\n \"موٹا\": \"mota\",\n \"موٹی\": \"moti\",\n \"موٹے\": \"motay\",\n \"پتلا\": \"patla\",\n \"پتلی\": \"patli\",\n \"پتلے\": \"patlay\",\n \"دبلا\": \"dubla\",\n \"تیز\": \"tez\",\n \"سست\": \"sust\",\n \"آہستہ\": \"ahista\",\n \"گرم\": \"garam\",\n \"ٹھنڈا\": \"thanda\",\n \"ٹھنڈی\": \"thandi\",\n \"ٹھنڈے\": \"thanday\",\n \"سرد\": \"sard\",\n \"خشک\": \"khushk\",\n \"گیلا\": \"geela\",\n \"گیلی\": \"geeli\",\n \"تر\": \"tarr\",\n \"میٹھا\": \"meetha\",\n \"میٹھی\": \"meethi\",\n \"میٹھے\": \"meethay\",\n \"کڑوا\": \"karwa\",\n \"کڑوی\": \"karwi\",\n \"کھٹا\": \"khatta\",\n \"کھٹی\": \"khatti\",\n \"نمکین\": \"namkeen\",\n \"پھیکا\": \"pheeka\",\n \"صاف\": \"saaf\",\n \"ستھرا\": \"suthra\",\n \"گندا\": \"ganda\",\n \"گندی\": \"gandi\",\n \"خالی\": \"khali\",\n \"بھری\": \"bhari\",\n \"بھرے\": \"bharay\",\n \"مشکل\": \"mushkil\",\n \"دشوار\": \"dushwar\",\n \"آسان\": \"aasan\",\n \"سہل\": \"sehal\",\n \"ضروری\": \"zaroori\",\n \"لازمی\": \"lazmi\",\n \"مکمل\": \"mukammal\",\n \"ادھورا\": \"adhoora\",\n \"تیار\": \"tayyar\",\n \"خوش\": \"khush\",\n \"ناراض\": \"naraz\",\n \"خفا\": \"khafa\",\n \"پریشان\": \"pareshan\",\n \"اداس\": \"udaas\",\n \"غمگین\": \"ghamgeen\",\n \"تھکا\": \"thaka\",\n \"تھکی\": \"thaki\",\n \"تھکے\": \"thakay\",\n \"بیمار\": \"beemar\",\n \"تندرست\": \"tandurust\",\n \"امیر\": \"ameer\",\n \"غریب\": \"ghareeb\",\n \"نادار\": \"nadar\",\n \"مفلس\": \"muflis\",\n \"مشہور\": \"mashhoor\",\n \"معروف\": \"maroof\",\n \"گمنام\": \"gumnam\",\n \"خوبصورت\": \"khoobsurat\",\n \"بدصورت\": \"badsurat\",\n \"قبیح\": \"qabeeh\",\n \"ذہین\": \"zaheen\",\n \"عقلمند\": \"aqlmand\",\n \"دانا\": \"dana\",\n \"ہوشیار\": \"hoshiyar\",\n \"چالاک\": \"chalak\",\n \"بےوقوف\": \"bewaqoof\",\n \"احمق\": \"ahmaq\",\n \"نادان\": \"nadan\",\n \"بہادر\": \"bahadur\",\n \"شجاع\": \"shuja\",\n \"دلیر\": \"daler\",\n \"بزدل\": \"buzdil\",\n \"ڈرپوک\": \"darpok\",\n \"محنتی\": \"mehnati\",\n \"سچا\": \"sacha\",\n \"سچی\": \"sachi\",\n \"سچے\": \"sachay\",\n \"جھوٹا\": \"jhoota\",\n \"جھوٹی\": \"jhooti\",\n \"جھوٹے\": \"jhootay\",\n \"ایماندار\": \"imandar\",\n \"دیانتدار\": \"diyanatdar\",\n \"بےایمان\": \"beiman\",\n \"پیارا\": \"pyara\",\n \"پیاری\": \"pyari\",\n \"پیارے\": \"pyaray\",\n \"عجیب\": \"ajeeb\",\n \"انوکھا\": \"anokha\",\n \"نرالا\": \"nirala\",\n \"خاص\": \"khaas\",\n \"مخصوص\": \"makhsoos\",\n \"عام\": \"aam\",\n \"سستا\": \"sasta\",\n \"سستی\": \"sasti\",\n \"مہنگا\": \"mehanga\",\n \"مہنگی\": \"mehangi\",\n \"بھاری\": \"bhari\",\n \"وزنی\": \"wazni\",\n \"ہلکا\": \"halka\",\n \"ہلکی\": \"halki\",\n \"سخت\": \"sakht\",\n \"نرم\": \"naram\",\n \"ملائم\": \"mulaim\",\n \"روشن\": \"roshan\",\n \"تاریک\": \"tareek\",\n \"گہرا\": \"gehra\",\n \"گہری\": \"gehri\",\n \"اونچا\": \"ooncha\",\n \"اونچی\": \"oonchi\",\n \"پست\": \"past\",\n \"چوڑا\": \"chaura\",\n \"چوڑی\": \"chauri\",\n \"تنگ\": \"tang\",\n \"مضبوط\": \"mazboot\",\n \"پائیدار\": \"paayedar\",\n \"کمزور\": \"kamzor\",\n \"نازک\": \"nazuk\",\n\n // ---- colours ----\n \"سفید\": \"safaid\",\n \"کالا\": \"kala\",\n \"کالی\": \"kali\",\n \"کالے\": \"kalay\",\n \"سیاہ\": \"siyah\",\n \"سرخ\": \"surkh\",\n \"لال\": \"laal\",\n \"نیلا\": \"neela\",\n \"نیلی\": \"neeli\",\n \"نیلے\": \"neelay\",\n \"ہرا\": \"hara\",\n \"ہری\": \"hari\",\n \"ہرے\": \"haray\",\n \"سبز\": \"sabz\",\n \"پیلا\": \"peela\",\n \"پیلی\": \"peeli\",\n \"پیلے\": \"peelay\",\n \"زرد\": \"zard\",\n \"بھورا\": \"bhura\",\n \"بھوری\": \"bhuri\",\n \"گلابی\": \"gulabi\",\n \"نارنجی\": \"naranji\",\n \"جامنی\": \"jamni\",\n \"بیگنی\": \"baingani\",\n \"سرمئی\": \"surmai\",\n \"سنہری\": \"sunehri\",\n \"روپہلی\": \"rupahli\",\n\n // ---- numbers & ordinals ----\n \"صفر\": \"sifar\",\n \"تین\": \"teen\",\n \"چار\": \"char\",\n \"پانچ\": \"panch\",\n \"چھ\": \"chhe\",\n \"سات\": \"saat\",\n \"آٹھ\": \"aath\",\n \"نو\": \"nau\",\n \"دس\": \"das\",\n \"گیارہ\": \"gyarah\",\n \"بارہ\": \"barah\",\n \"تیرہ\": \"terah\",\n \"چودہ\": \"chaudah\",\n \"پندرہ\": \"pandrah\",\n \"سولہ\": \"solah\",\n \"سترہ\": \"satrah\",\n \"اٹھارہ\": \"atharah\",\n \"انیس\": \"unnees\",\n \"بیس\": \"bees\",\n \"اکیس\": \"ikkees\",\n \"بائیس\": \"baees\",\n \"تیئیس\": \"taees\",\n \"چوبیس\": \"chaubees\",\n \"پچیس\": \"pachees\",\n \"چھبیس\": \"chhabees\",\n \"ستائیس\": \"sataees\",\n \"اٹائیس\": \"athaees\",\n \"انتیس\": \"untees\",\n \"تیس\": \"tees\",\n \"چالیس\": \"chalees\",\n \"پچاس\": \"pachas\",\n \"ساٹھ\": \"saath\",\n \"ستر\": \"sattar\",\n \"اسی\": \"assi\",\n \"نوے\": \"nabbay\",\n \"سو\": \"so\",\n \"ہزار\": \"hazar\",\n \"لاکھ\": \"lakh\",\n \"کروڑ\": \"karor\",\n \"ارب\": \"arab\",\n \"پہلا\": \"pehla\",\n \"پہلی\": \"pehli\",\n \"دوسرا\": \"dosra\",\n \"دوسری\": \"dosri\",\n \"دوسرے\": \"dosray\",\n \"تیسرا\": \"teesra\",\n \"تیسری\": \"teesri\",\n \"تیسرے\": \"teesray\",\n \"چوتھا\": \"chautha\",\n \"چوتھی\": \"chauthi\",\n \"چوتھے\": \"chauthay\",\n \"پانچواں\": \"panchwan\",\n \"پانچویں\": \"panchwein\",\n \"چھٹا\": \"chhatta\",\n \"چھٹی\": \"chhatti\",\n \"ساتواں\": \"saatwan\",\n \"ساتویں\": \"saatwein\",\n \"آٹھواں\": \"aathwan\",\n \"آٹھویں\": \"aathwein\",\n \"نواں\": \"nawwan\",\n \"نویں\": \"nawein\",\n \"دسواں\": \"daswan\",\n \"دسویں\": \"daswein\",\n \"آخری\": \"aakhri\",\n \"اول\": \"awwal\",\n \"دوم\": \"dom\",\n \"سوم\": \"som\",\n\n // ---- greetings, discourse markers, interjections ----\n \"سلام\": \"salam\",\n \"خداحافظ\": \"khudahafiz\",\n \"حافظ\": \"hafiz\",\n \"مہربانی\": \"meherbani\",\n \"مبارک\": \"mubarak\",\n \"مبارکباد\": \"mubarakbaad\",\n \"خوشامد\": \"khushamad\",\n \"خوشامدید\": \"khushamdeed\",\n \"اہلاً\": \"ahlan\",\n \"وسہلاً\": \"wasahlan\",\n \"ہاں\": \"haan\",\n \"جی\": \"ji\",\n \"ٹھیک\": \"theek\",\n \"درست\": \"durust\",\n \"صحیح\": \"sahi\",\n \"غلط\": \"ghalat\",\n \"بالکل\": \"bilkul\",\n \"ضرور\": \"zaroor\",\n \"شاید\": \"shayad\",\n \"کاش\": \"kaash\",\n \"واہ\": \"waah\",\n \"شاباش\": \"shabash\",\n \"آفرین\": \"aafreen\",\n \"مرحبا\": \"marhaba\",\n \"سبحان\": \"subhan\",\n \"الحمد\": \"alhamd\",\n \"ماشاء\": \"masha\",\n \"انشاء\": \"insha\",\n \"جلدی\": \"jaldi\",\n \"شتابی\": \"shitabi\",\n \"دیر\": \"der\",\n \"تاخیر\": \"takheer\",\n \"آرام\": \"aaram\",\n \"تھوڑا\": \"thora\",\n \"تھوڑی\": \"thori\",\n \"تھوڑے\": \"thoray\",\n \"زیادہ\": \"ziyada\",\n \"بہت\": \"bohat\",\n \"کم\": \"kam\",\n \"صرف\": \"sirf\",\n \"محض\": \"mahez\",\n \"فقط\": \"faqat\",\n \"واقعی\": \"waqai\",\n \"مچ\": \"mach\",\n\n // ---- cities, regions, countries ----\n \"پاکستان\": \"pakistan\",\n \"کراچی\": \"karachi\",\n \"لاہور\": \"lahore\",\n \"آباد\": \"abad\",\n \"راولپنڈی\": \"rawalpindi\",\n \"پشاور\": \"peshawar\",\n \"کوئٹہ\": \"quetta\",\n \"ملتان\": \"multan\",\n \"فیصل\": \"faisal\",\n \"سیالکوٹ\": \"sialkot\",\n \"گوجرانوالہ\": \"gujranwala\",\n \"حیدرآباد\": \"hyderabad\",\n \"بہاولپور\": \"bahawalpur\",\n \"سرگودھا\": \"sargodha\",\n \"سکھر\": \"sukkur\",\n \"لاڑکانہ\": \"larkana\",\n \"شیخوپورہ\": \"sheikhupura\",\n \"جھنگ\": \"jhang\",\n \"گجرات\": \"gujrat\",\n \"مردان\": \"mardan\",\n \"قصور\": \"kasur\",\n \"صوابی\": \"swabi\",\n \"ایبٹ\": \"abbott\",\n \"گلگت\": \"gilgit\",\n \"بلتستان\": \"baltistan\",\n \"مظفرآباد\": \"muzaffarabad\",\n \"گوادر\": \"gwadar\",\n \"سکردو\": \"skardu\",\n \"سوات\": \"swat\",\n \"چترال\": \"chitral\",\n \"پنجاب\": \"punjab\",\n \"سندھ\": \"sindh\",\n \"بلوچستان\": \"balochistan\",\n \"خیبر\": \"khyber\",\n \"پختونخوا\": \"pakhtunkhwa\",\n \"کشمیر\": \"kashmir\",\n \"بھارت\": \"bharat\",\n \"ہندوستان\": \"hindustan\",\n \"چین\": \"cheen\",\n \"افغانستان\": \"afghanistan\",\n \"ایران\": \"iran\",\n \"سعودی\": \"saudi\",\n \"عرب\": \"arab\",\n \"امارات\": \"imarat\",\n \"دبئی\": \"dubai\",\n \"قطر\": \"qatar\",\n \"کویت\": \"kuwait\",\n \"بحرین\": \"bahrain\",\n \"عمان\": \"oman\",\n \"عراق\": \"iraq\",\n \"فلسطین\": \"palestine\",\n \"اردن\": \"urdan\",\n \"مصر\": \"misr\",\n \"ترکی\": \"turkey\",\n \"برطانیہ\": \"bartania\",\n \"لندن\": \"london\",\n \"امریکہ\": \"amreeka\",\n \"واشنگٹن\": \"washington\",\n \"نیویارک\": \"newyork\",\n \"کینیڈا\": \"canada\",\n \"جرمنی\": \"germany\",\n \"فرانس\": \"france\",\n \"پیرس\": \"paris\",\n \"اٹلی\": \"italy\",\n \"روس\": \"roos\",\n \"ماسکو\": \"moscow\",\n \"جاپان\": \"japan\",\n \"ٹوکیو\": \"tokyo\",\n \"آسٹریلیا\": \"australia\",\n \"بیجنگ\": \"beijing\",\n \"دہلی\": \"delhi\",\n \"قاہرہ\": \"cairo\",\n \"مکہ\": \"makkah\",\n \"مدینہ\": \"madina\",\n \"مقدس\": \"muqaddas\",\n\n // ---- names that appear constantly in Urdu content ----\n \"محمد\": \"muhammad\",\n \"احمد\": \"ahmed\",\n \"علی\": \"ali\",\n \"خان\": \"khan\",\n \"زید\": \"zaid\",\n \"حسن\": \"hasan\",\n \"حسین\": \"hussain\",\n \"عثمان\": \"usman\",\n \"ابوبکر\": \"abubakar\",\n \"بلال\": \"bilal\",\n \"اسلم\": \"aslam\",\n \"حمزہ\": \"hamza\",\n \"سعد\": \"saad\",\n \"خالد\": \"khalid\",\n \"طارق\": \"tariq\",\n \"ولید\": \"waleed\",\n \"شاہ\": \"shah\",\n \"چوہدری\": \"chaudhary\",\n \"شیخ\": \"sheikh\",\n \"سید\": \"syed\",\n \"قریشی\": \"qureshi\",\n \"بٹ\": \"butt\",\n \"مغل\": \"mughal\",\n \"انصاری\": \"ansari\",\n \"فاروق\": \"farooq\",\n \"سلمان\": \"salman\",\n \"عمران\": \"imran\",\n \"نوید\": \"naveed\",\n \"کامران\": \"kamran\",\n \"ارسلان\": \"arslan\",\n \"عرفان\": \"irfan\",\n \"رضوان\": \"rizwan\",\n \"عدنان\": \"adnan\",\n \"فیضان\": \"faizan\",\n \"شہزاد\": \"shehzad\",\n \"وقار\": \"waqar\",\n \"بابر\": \"babar\",\n \"رضا\": \"raza\",\n \"طاہر\": \"tahir\",\n \"ناصر\": \"nasir\",\n \"زبیر\": \"zubair\",\n \"سہیل\": \"sohail\",\n \"ندیم\": \"nadeem\",\n \"وسیم\": \"waseem\",\n \"نعیم\": \"naeem\",\n \"سلیم\": \"saleem\",\n \"جمیل\": \"jameel\",\n \"راشد\": \"rashid\",\n \"ساجد\": \"sajid\",\n \"ماجد\": \"majid\",\n \"عابد\": \"abid\",\n \"زاہد\": \"zahid\",\n \"شاہد\": \"shahid\",\n \"زین\": \"zain\",\n \"حارث\": \"haris\",\n \"ریان\": \"rayyan\",\n \"قاسم\": \"qasim\",\n \"طیب\": \"tayyab\",\n \"ابراہیم\": \"ibrahim\",\n \"اسماعیل\": \"ismail\",\n \"اسحاق\": \"ishaq\",\n \"یعقوب\": \"yaqoob\",\n \"یوسف\": \"yousuf\",\n \"موسی\": \"musa\",\n \"عیسی\": \"eesa\",\n \"داؤد\": \"dawood\",\n \"سلیمان\": \"sulaiman\",\n \"یونس\": \"younus\",\n \"ایوب\": \"ayub\",\n \"ہارون\": \"haroon\",\n \"یحیی\": \"yahya\",\n \"فاطمہ\": \"fatima\",\n \"عائشہ\": \"ayesha\",\n \"مریم\": \"maryam\",\n \"زینب\": \"zainab\",\n \"خدیجہ\": \"khadija\",\n \"حفصہ\": \"hafsa\",\n \"سارہ\": \"sara\",\n \"ہدی\": \"huda\",\n \"ثنا\": \"sana\",\n \"حنا\": \"hina\",\n \"اقرا\": \"iqra\",\n \"سدرہ\": \"sidra\",\n \"اقصی\": \"aqsa\",\n \"فرح\": \"farah\",\n \"ندا\": \"nida\",\n \"صبا\": \"saba\",\n \"مہوش\": \"mehwish\",\n \"انعم\": \"anam\",\n \"ارم\": \"iram\",\n \"بشری\": \"bushra\",\n \"سمیرا\": \"sumaira\",\n \"نازیہ\": \"nazia\",\n \"شازیہ\": \"shazia\",\n \"روبینہ\": \"rubina\",\n \"نسرین\": \"nasreen\",\n \"یاسمین\": \"yasmeen\",\n \"ثمینہ\": \"samina\",\n \"پروین\": \"parveen\",\n \"شبانہ\": \"shabana\",\n \"فرزانہ\": \"farzana\",\n \"طاہرہ\": \"tahira\",\n \"عصمت\": \"ismat\",\n \"نصرت\": \"nusrat\",\n\n // ---- classical, poetic and literary vocabulary ----\n \"گلستاں\": \"gulistan\",\n \"گلشن\": \"gulshan\",\n \"بہاراں\": \"baharan\",\n \"پروانہ\": \"parwana\",\n \"شمع\": \"shama\",\n \"ساقی\": \"saqi\",\n \"میخانہ\": \"maikhana\",\n \"جام\": \"jaam\",\n \"صراحی\": \"surahi\",\n \"رند\": \"rind\",\n \"محتسب\": \"muhtasib\",\n \"قاصد\": \"qasid\",\n \"پیامبر\": \"payambar\",\n \"رقیب\": \"raqeeb\",\n \"حبیب\": \"habeeb\",\n \"محبوب\": \"mahboob\",\n \"معشوق\": \"mashooq\",\n \"صنم\": \"sanam\",\n \"سنگدل\": \"sangdil\",\n \"بیدرد\": \"bedard\",\n \"غمگسار\": \"ghamgusar\",\n \"مسیحا\": \"maseeha\",\n \"ناصح\": \"nasih\",\n \"واعظ\": \"waiz\",\n \"تشنہ\": \"tishna\",\n \"گیسو\": \"gesu\",\n \"زلف\": \"zulf\",\n \"دیدار\": \"deedar\",\n \"جلوہ\": \"jalwa\",\n \"حجاب\": \"hijab\",\n \"نقاب\": \"niqab\",\n \"سوز\": \"soz\",\n \"آہنگ\": \"aahang\",\n \"نغمہ\": \"naghma\",\n \"ترانہ\": \"tarana\",\n \"داستاں\": \"dastan\",\n \"حور\": \"hoor\",\n \"پری\": \"pari\",\n \"دیو\": \"deo\",\n \"جادو\": \"jadoo\",\n \"طلسم\": \"tilism\",\n \"افسون\": \"afsoon\",\n \"سحرانگیز\": \"sehrangeez\",\n \"فسوں\": \"fusoon\",\n \"جنوں\": \"junoon\",\n \"سودا\": \"sauda\",\n \"وحشت\": \"wahshat\",\n \"ارمان\": \"arman\",\n \"ذوق\": \"zauq\",\n \"وجد\": \"wajd\",\n \"مستی\": \"masti\",\n \"کیف\": \"kaif\",\n \"خمار\": \"khumar\",\n \"نشہ\": \"nasha\",\n \"بےخودی\": \"bekhudi\",\n\n // ---- commerce, finance and modern technology ----\n \"خریداری\": \"khareedari\",\n \"فروخت\": \"farokht\",\n \"سرمایہ\": \"sarmaya\",\n \"قرضہ\": \"qarza\",\n \"بینکاری\": \"bainkari\",\n \"قسط\": \"qist\",\n \"ادائیگی\": \"adaigi\",\n \"آمدنی\": \"aamdani\",\n \"خرچہ\": \"kharcha\",\n \"بچت\": \"bachat\",\n \"محصول\": \"mahsool\",\n \"مالیت\": \"maliyat\",\n \"کتابت\": \"kitabat\",\n \"منڈی\": \"mandi\",\n \"نیلامی\": \"neelami\",\n \"بولی\": \"boli\",\n \"شراکت\": \"sharakat\",\n \"حصص\": \"hisas\",\n \"اسٹاک\": \"stock\",\n \"دولت\": \"daulat\",\n \"ثروت\": \"sarwat\",\n \"غربت\": \"ghurbat\",\n \"افلاس\": \"iflas\",\n \"پروفائل\": \"profile\",\n \"سیٹنگز\": \"settings\",\n \"نوٹیفکیشن\": \"notification\",\n \"سائٹ\": \"site\",\n \"پورٹل\": \"portal\",\n\n // ---- administration, law, governance and politics ----\n \"عدلیہ\": \"adliya\",\n \"مقننہ\": \"muqannana\",\n \"انتظامیہ\": \"intizamia\",\n \"حکمرانی\": \"hukmrani\",\n \"جمہوریہ\": \"jamhooria\",\n \"صدارت\": \"sadarat\",\n \"وزارت\": \"wazarat\",\n \"سفارت\": \"safarat\",\n \"قونصل\": \"consul\",\n \"سفارتخانہ\": \"safaratkhana\",\n \"آئینی\": \"aaeeni\",\n \"دستوری\": \"dastoori\",\n \"فوجداری\": \"faujdari\",\n \"دیوانی\": \"deewani\",\n \"مقدمہ\": \"muqaddama\",\n \"سماعت\": \"samaat\",\n \"درخواست\": \"darkhwast\",\n \"اپیل\": \"appeal\",\n \"ضمانت\": \"zamanat\",\n \"بریت\": \"bariyat\",\n \"عمرقید\": \"umrqaid\",\n \"پھانسی\": \"phansi\",\n \"وکالت\": \"wukalat\",\n \"حقوق\": \"huqooq\",\n \"فرائض\": \"faraiz\",\n \"شہری\": \"shahri\",\n \"شہریت\": \"shahriyat\",\n \"شناخت\": \"shanakht\",\n \"نادرا\": \"nadra\",\n \"مجلس\": \"majlis\",\n \"شوری\": \"shoora\",\n \"حلیف\": \"haleef\",\n \"مخالف\": \"mukhalif\",\n \"بغاوت\": \"baghawat\",\n\n // ---- geography, nature and terrain ----\n \"خطہ\": \"khitta\",\n \"صوبہ\": \"sooba\",\n \"ضلع\": \"zila\",\n \"تحصیل\": \"tehsil\",\n \"یونین\": \"union\",\n \"کونسل\": \"council\",\n \"قریہ\": \"qarya\",\n \"بستی\": \"basti\",\n \"شہرستان\": \"shehristan\",\n \"نخلستان\": \"nakhalistan\",\n \"کوہسار\": \"kohsar\",\n \"کہسار\": \"kuhsar\",\n \"گھاٹی\": \"ghati\",\n \"وادیاں\": \"wadiyan\",\n \"کھائی\": \"khaai\",\n \"خلیج\": \"khaleej\",\n \"راس\": \"raas\",\n\n // ---- verbs and verbal inflections ----\n \"مانتے\": \"mante\",\n \"مانتی\": \"manti\",\n \"مانو\": \"mano\",\n \"ٹھہرنا\": \"theharna\",\n \"ٹھہرا\": \"thehra\",\n \"ٹھہرو\": \"thehro\",\n \"ٹھہرتے\": \"thehrte\",\n \"سمجھاؤ\": \"samjhao\",\n \"پہنچاؤ\": \"pohonchao\",\n \"لٹانا\": \"lutana\",\n \"لٹایا\": \"lutaya\",\n \"لوٹا\": \"loota\",\n \"پکارا\": \"pukara\",\n \"پکارو\": \"pukaro\",\n \"جھکنا\": \"jhukna\",\n \"جھکا\": \"jhuka\",\n \"جھکاؤ\": \"jhukao\",\n \"جھکانا\": \"jhukana\",\n \"تھامنا\": \"thamna\",\n \"تھاما\": \"thama\",\n \"تھامو\": \"thamo\",\n \"سنوارنا\": \"sanwarna\",\n \"سنوارا\": \"sanwara\",\n \"نکھارنا\": \"nikharna\",\n \"نکھارا\": \"nikhara\",\n \"سنبھالنا\": \"sambhalna\",\n \"سنبھالا\": \"sambhala\",\n \"سنبھالو\": \"sambhalo\",\n \"پچھتانا\": \"pachtana\",\n \"پچھتایا\": \"pachtaya\",\n \"گھبرانا\": \"ghabrana\",\n \"گھبرایا\": \"ghabraya\",\n \"مسکرانا\": \"muskurana\",\n \"مسکرایا\": \"muskuraya\",\n \"مسکراہٹ\": \"muskurahat\",\n \"جھنجھلانا\": \"jhanjhlana\",\n \"تلملانا\": \"tilmilana\",\n \"بلبلانا\": \"bilbilana\",\n \"کھلکھلانا\": \"khilkhilana\",\n \"کھٹکھٹانا\": \"khatkhatana\",\n \"جھلملانا\": \"jhilmilana\",\n \"چمچماتا\": \"chamchamata\",\n \"لہرانا\": \"lehrana\",\n \"لہرایا\": \"lehraya\",\n \"لہر\": \"lehar\",\n};\n\n/**\n * Extra Roman spellings that map back to Urdu, for the reverse direction only.\n *\n * Roman Urdu has no standard orthography, so the same word arrives spelled many\n * ways. These are the variants common enough to be worth hard-coding, plus\n * disambiguations where two Urdu words share one Roman form.\n */\nexport const ROMAN_VARIANTS: Record<string, string> = {\n hay: \"ہے\",\n he: \"ہے\",\n hei: \"ہے\",\n hein: \"ہیں\",\n hn: \"ہیں\",\n hain: \"ہیں\",\n hun: \"ہوں\",\n hoon: \"ہوں\",\n ap: \"آپ\",\n aap: \"آپ\",\n aapko: \"آپکو\",\n aapka: \"آپکا\",\n aapki: \"آپکی\",\n aapke: \"آپکے\",\n kaise: \"کیسے\",\n kese: \"کیسے\",\n kaisey: \"کیسے\",\n kaisa: \"کیسا\",\n kaisi: \"کیسی\",\n nam: \"نام\",\n naam: \"نام\",\n mai: \"میں\",\n main: \"میں\",\n me: \"میں\",\n mein: \"میں\",\n mujhe: \"مجھے\",\n mujhey: \"مجھے\",\n mjhe: \"مجھے\",\n mjhy: \"مجھے\",\n mj: \"مجھے\",\n humein: \"ہمیں\",\n hume: \"ہمیں\",\n hmein: \"ہمیں\",\n hmain: \"ہمیں\",\n tumhein: \"تمہیں\",\n tumhe: \"تمہیں\",\n tumhey: \"تمہیں\",\n tmhein: \"تمہیں\",\n tmhe: \"تمہیں\",\n unhein: \"انہیں\",\n unhe: \"انہیں\",\n unhey: \"انہیں\",\n inhein: \"انہیں\",\n inhe: \"انہیں\",\n usey: \"اسے\",\n usay: \"اسے\",\n use: \"اسے\",\n isay: \"اسے\",\n ise: \"اسے\",\n jisay: \"جسے\",\n jise: \"جسے\",\n kisay: \"کسے\",\n kise: \"کسے\",\n kyu: \"کیوں\",\n kyn: \"کیوں\",\n kyo: \"کیوں\",\n kyun: \"کیوں\",\n kyoon: \"کیوں\",\n kaha: \"کہاں\",\n kahan: \"کہاں\",\n khn: \"کہاں\",\n kidhar: \"کدھر\",\n idhar: \"ادھر\",\n jidhar: \"جدھر\",\n kab: \"کب\",\n kya: \"کیا\",\n kia: \"کیا\",\n kiya: \"کیا\",\n kuch: \"کچھ\",\n kuchh: \"کچھ\",\n kch: \"کچھ\",\n bhi: \"بھی\",\n b: \"بھی\",\n nahin: \"نہیں\",\n nahi: \"نہیں\",\n nai: \"نہیں\",\n nhi: \"نہیں\",\n nahe: \"نہیں\",\n nhn: \"نہیں\",\n bahut: \"بہت\",\n bhot: \"بہت\",\n bohot: \"بہت\",\n bohat: \"بہت\",\n bht: \"بہت\",\n achha: \"اچھا\",\n acha: \"اچھا\",\n accha: \"اچھا\",\n achi: \"اچھی\",\n achhi: \"اچھی\",\n ache: \"اچھے\",\n achay: \"اچھے\",\n shukria: \"شکریہ\",\n shukriya: \"شکریہ\",\n thx: \"شکریہ\",\n thanks: \"شکریہ\",\n plz: \"مہربانی\",\n please: \"مہربانی\",\n salaam: \"سلام\",\n salam: \"سلام\",\n mohabat: \"محبت\",\n muhabbat: \"محبت\",\n mohabbat: \"محبت\",\n pyar: \"پیار\",\n pyaar: \"پیار\",\n zindagi: \"زندگی\",\n zindgi: \"زندگی\",\n dost: \"دوست\",\n dst: \"دوست\",\n khush: \"خوش\",\n khushi: \"خوش\",\n theak: \"ٹھیک\",\n thik: \"ٹھیک\",\n theek: \"ٹھیک\",\n bhai: \"بھائی\",\n bhaiya: \"بھائی\",\n behen: \"بہن\",\n behan: \"بہن\",\n baji: \"باجی\",\n api: \"آپی\",\n ammi: \"امی\",\n ami: \"امی\",\n abbu: \"ابو\",\n abu: \"ابو\",\n paisay: \"پیسے\",\n paise: \"پیسے\",\n paisa: \"پیسہ\",\n kaam: \"کام\",\n kam: \"کم\",\n ghar: \"گھر\",\n ghr: \"گھر\",\n pehle: \"پہلے\",\n pehlay: \"پہلے\",\n pehly: \"پہلے\",\n baad: \"بعد\",\n bad: \"بعد\",\n lekin: \"لیکن\",\n lkn: \"لیکن\",\n magar: \"مگر\",\n mgr: \"مگر\",\n waqt: \"وقت\",\n wqt: \"وقت\",\n zroor: \"ضرور\",\n zaroor: \"ضرور\",\n zarur: \"ضرور\",\n zroori: \"ضروری\",\n zaroori: \"ضروری\",\n chahiye: \"چاہیے\",\n chahye: \"چاہیے\",\n chaheye: \"چاہیے\",\n khuda: \"خدا\",\n allah: \"اللہ\",\n hafiz: \"حافظ\",\n haafiz: \"حافظ\",\n khudahafiz: \"خداحافظ\",\n // aam is both آم (mango) and عام (common); the fruit is the likelier query.\n aam: \"آم\",\n hawa: \"ہوا\",\n // sona is both سونا (to sleep) and سونا (gold) — same spelling, no conflict.\n ho: \"ہو\",\n hoga: \"ہوگا\",\n hogi: \"ہوگی\",\n honge: \"ہوںگے\",\n karna: \"کرنا\",\n krna: \"کرنا\",\n karo: \"کرو\",\n kro: \"کرو\",\n dekhna: \"دیکھنا\",\n dekho: \"دیکھو\",\n sunna: \"سننا\",\n suno: \"سنو\",\n samajh: \"سمجھ\",\n smjh: \"سمجھ\",\n laikin: \"لیکن\",\n shukr: \"شکر\",\n sabr: \"صبر\",\n dil: \"دل\",\n kitab: \"کتاب\",\n kitaab: \"کتاب\",\n school: \"سکول\",\n college: \"کالج\",\n hospital: \"ہسپتال\",\n pal: \"پل\",\n daur: \"دور\",\n kurta: \"کرتا\",\n haseen: \"حسین\",\n malik: \"ملک\",\n kidhr: \"کدھر\",\n idhr: \"ادھر\",\n jdhr: \"جدھر\",\n thek: \"ٹھیک\",\n thk: \"ٹھیک\",\n sahi: \"صحیح\",\n galat: \"غلط\",\n ghalat: \"غلط\",\n sb: \"سب\",\n hmsha: \"ہمیشہ\",\n kbhi: \"کبھی\",\n aksar: \"اکثر\",\n behtareen: \"بہترین\",\n zabardast: \"زبردست\",\n shandar: \"شاندار\",\n khoob: \"خوب\",\n khub: \"خوب\",\n sharam: \"شرم\",\n haya: \"حیا\",\n ghairat: \"غیرت\",\n himmat: \"ہمت\",\n hosla: \"حوصلہ\",\n mashaallah: \"ماشاءاللہ\",\n inshaallah: \"انشاءاللہ\",\n mashallah: \"ماشاءاللہ\",\n inshallah: \"انشاءاللہ\",\n alhamdulillah: \"الحمدللہ\",\n jazakallah: \"جزاکاللہ\",\n};\n","/**\n * Transliteration between Urdu script and Roman Urdu.\n *\n * Read this before shipping it anywhere user-visible:\n *\n * Urdu script omits short vowels, so the mapping is genuinely ambiguous —\n * کتب is `kitab` or `kutub` depending on context, and no rule table can decide\n * which. The reverse direction is worse, because Roman Urdu has no standard\n * orthography (hai / hay / he / hei all occur in the wild).\n *\n * This module therefore works in two layers: a dictionary of common words, then\n * a rule fallback. Expect roughly 70% word accuracy on ordinary prose from the\n * rule layer, and treat every function here as `@experimental`. Anything better\n * needs a real lexicon plus a statistical model, which is planned for a later\n * release and deliberately not faked here.\n */\nimport { removeDiacritics, normalizeUrdu } from \"./normalize.js\";\nimport { splitWords } from \"./stats.js\";\nimport { ROMAN_VARIANTS, WORD_DICTIONARY } from \"./dictionary.js\";\n\n\n/** Consonant + ھ (do-chashmi heh) forms one aspirated sound, so it is matched first. */\nconst DIGRAPHS: Record<string, string> = {\n \"بھ\": \"bh\",\n \"پھ\": \"ph\",\n \"تھ\": \"th\",\n \"ٹھ\": \"th\",\n \"جھ\": \"jh\",\n \"چھ\": \"chh\",\n \"دھ\": \"dh\",\n \"ڈھ\": \"dh\",\n \"ڑھ\": \"rh\",\n \"کھ\": \"kh\",\n \"گھ\": \"gh\",\n \"لھ\": \"lh\",\n \"مھ\": \"mh\",\n \"نھ\": \"nh\",\n \"رھ\": \"rh\",\n};\n\nconst LETTERS: Record<string, string> = {\n \"ا\": \"a\",\n \"آ\": \"aa\",\n \"ب\": \"b\",\n \"پ\": \"p\",\n \"ت\": \"t\",\n \"ٹ\": \"t\",\n \"ث\": \"s\",\n \"ج\": \"j\",\n \"چ\": \"ch\",\n \"ح\": \"h\",\n \"خ\": \"kh\",\n \"د\": \"d\",\n \"ڈ\": \"d\",\n \"ذ\": \"z\",\n \"ر\": \"r\",\n \"ڑ\": \"r\",\n \"ز\": \"z\",\n \"ژ\": \"zh\",\n \"س\": \"s\",\n \"ش\": \"sh\",\n \"ص\": \"s\",\n \"ض\": \"z\",\n \"ط\": \"t\",\n \"ظ\": \"z\",\n \"ع\": \"a\",\n \"غ\": \"gh\",\n \"ف\": \"f\",\n \"ق\": \"q\",\n \"ک\": \"k\",\n \"گ\": \"g\",\n \"ل\": \"l\",\n \"م\": \"m\",\n \"ن\": \"n\",\n \"ں\": \"n\",\n \"و\": \"o\",\n \"ہ\": \"h\",\n \"ھ\": \"h\",\n \"ء\": \"\",\n \"ی\": \"i\",\n \"ئ\": \"i\",\n \"ے\": \"e\",\n \"ۓ\": \"e\",\n \"ؤ\": \"o\",\n \"ۂ\": \"h\",\n};\n\n/** Letters that carry a vowel in the output, used to decide where a schwa is needed. */\nconst VOWEL_LETTERS = new Set([\"ا\", \"آ\", \"و\", \"ی\", \"ے\", \"ؤ\", \"ئ\", \"ۓ\", \"ۂ\", \"ع\"]);\n\nfunction romanizeWord(word: string): string {\n const dictionary = WORD_DICTIONARY[word];\n if (dictionary) return dictionary;\n\n const chars = [...word];\n const pieces: Array<{ text: string; vowel: boolean }> = [];\n\n for (let i = 0; i < chars.length; i++) {\n const last = i === chars.length - 1;\n const pair = chars[i]! + (chars[i + 1] ?? \"\");\n const digraph = DIGRAPHS[pair];\n if (digraph) {\n pieces.push({ text: digraph, vowel: false });\n i++;\n continue;\n }\n\n const ch = chars[i]!;\n\n if (i === 0 && ch === \"ا\") {\n // Word-initial alef is a vowel carrier: اسلام -> islam, not aislam.\n const next = chars[1];\n if (next === \"و\") {\n pieces.push({ text: \"o\", vowel: true });\n i++;\n continue;\n }\n if (next === \"ی\") {\n pieces.push({ text: \"i\", vowel: true });\n i++;\n continue;\n }\n pieces.push({ text: \"a\", vowel: true });\n continue;\n }\n\n // Word-initially و and ی are consonants, not the vowels they spell elsewhere:\n // والا -> wala, یار -> yaar.\n if (i === 0 && ch === \"و\") {\n pieces.push({ text: \"w\", vowel: false });\n continue;\n }\n if (i === 0 && ch === \"ی\") {\n pieces.push({ text: \"y\", vowel: false });\n continue;\n }\n\n // Word-final ہ is the -a ending, not an audible h: کمرہ -> kamra, حصہ -> hasa.\n if (last && ch === \"ہ\" && pieces.length > 0) {\n pieces.push({ text: \"a\", vowel: true });\n continue;\n }\n\n // Final یں is the plural/oblique ending: سڑکیں -> sarkein, not sarkin.\n if (ch === \"ی\" && chars[i + 1] === \"ں\" && i + 1 === chars.length - 1) {\n pieces.push({ text: \"ein\", vowel: true });\n i++;\n continue;\n }\n\n // ی is \"i\" at the end of a word (لڑکی -> larki) but \"e\" inside one\n // (کھیل -> khel, تیز -> tez).\n if (ch === \"ی\" && !last) {\n pieces.push({ text: \"e\", vowel: true });\n continue;\n }\n\n pieces.push({ text: LETTERS[ch] ?? ch, vowel: VOWEL_LETTERS.has(ch) });\n }\n\n // Urdu does not write short vowels, so a word starting with two consonants comes\n // out unpronounceable (رہنے -> \"rhne\"). One schwa after the first consonant fixes\n // the common case without cascading guesses through the rest of the word.\n if (pieces.length > 2 && !pieces[0]!.vowel && !pieces[1]!.vowel) {\n pieces.splice(1, 0, { text: \"a\", vowel: true });\n }\n\n const out = pieces.map((p) => p.text).join(\"\");\n return out;\n}\n\n/**\n * Urdu script -> Roman Urdu.\n *\n * @experimental Rule + dictionary based; see the module note on accuracy.\n * @example\n * romanize(\"آپ کیسے ہیں\") // \"aap kaisay hain\"\n */\nexport function romanize(input: string, options: { capitalize?: boolean } = {}): string {\n if (!input) return \"\";\n const clean = removeDiacritics(normalizeUrdu(input));\n const roman = clean\n .split(/(\\s+)/u)\n .map((chunk) => (/^\\s+$/u.test(chunk) ? chunk : romanizeWord(chunk)))\n .join(\"\");\n if (!options.capitalize) return roman;\n return roman.charAt(0).toUpperCase() + roman.slice(1);\n}\n\n/** Roman spellings seen in the wild, mapped to their Urdu word. */\nconst ROMAN_DICTIONARY: Record<string, string> = {};\nfor (const [urduWord, roman] of Object.entries(WORD_DICTIONARY)) {\n ROMAN_DICTIONARY[roman] = urduWord;\n}\nObject.assign(ROMAN_DICTIONARY, ROMAN_VARIANTS);\n\nconst ROMAN_RULES: Array<[RegExp, string]> = [\n [/^kh/u, \"کھ\"],\n [/^gh/u, \"گھ\"],\n [/^chh/u, \"چھ\"],\n [/^ch/u, \"چ\"],\n [/^sh/u, \"ش\"],\n [/^th/u, \"تھ\"],\n [/^ph/u, \"پھ\"],\n [/^bh/u, \"بھ\"],\n [/^aa/u, \"آ\"],\n [/^oo/u, \"و\"],\n [/^ee/u, \"ی\"],\n [/^ai/u, \"ی\"],\n [/^b/u, \"ب\"],\n [/^p/u, \"پ\"],\n [/^t/u, \"ت\"],\n [/^j/u, \"ج\"],\n [/^d/u, \"د\"],\n [/^r/u, \"ر\"],\n [/^z/u, \"ز\"],\n [/^s/u, \"س\"],\n [/^f/u, \"ف\"],\n [/^q/u, \"ق\"],\n [/^k/u, \"ک\"],\n [/^g/u, \"گ\"],\n [/^l/u, \"ل\"],\n [/^m/u, \"م\"],\n [/^n/u, \"ن\"],\n [/^v|^w/u, \"و\"],\n [/^h/u, \"ہ\"],\n [/^y/u, \"ی\"],\n [/^a/u, \"ا\"],\n [/^e/u, \"ی\"],\n [/^i/u, \"ی\"],\n [/^o/u, \"و\"],\n [/^u/u, \"و\"],\n];\n\nfunction romanWordToUrdu(word: string): string {\n const lower = word.toLowerCase();\n const dictionary = ROMAN_DICTIONARY[lower];\n if (dictionary) return dictionary;\n\n let rest = lower;\n let out = \"\";\n let position = 0;\n while (rest.length > 0) {\n let matched = false;\n for (const [pattern, replacement] of ROMAN_RULES) {\n const hit = pattern.exec(rest);\n if (!hit) continue;\n // Short vowels are not written inside a word — only word-initially.\n const isShortVowel = /^[aeiou]$/u.test(hit[0]!);\n const skip = isShortVowel && position > 0 && rest.length > 1;\n if (!skip) out += replacement;\n rest = rest.slice(hit[0]!.length);\n position++;\n matched = true;\n break;\n }\n if (!matched) {\n out += rest[0]!;\n rest = rest.slice(1);\n position++;\n }\n }\n return out;\n}\n\n/**\n * Roman Urdu -> Urdu script.\n *\n * @experimental Substantially less accurate than {@link romanize}: Roman Urdu has\n * no standard spelling, so anything outside the dictionary is a guess.\n * @example\n * romanToUrdu(\"mera naam zaid hai\") // \"میرا نام زید ہے\"\n */\nexport function romanToUrdu(input: string): string {\n if (!input) return \"\";\n return input\n .split(/(\\s+)/u)\n .map((chunk) => (/^\\s+$/u.test(chunk) ? chunk : romanWordToUrdu(chunk)))\n .join(\"\");\n}\n\nexport interface SlugOptions {\n /** Word separator. Default `\"-\"`. */\n separator?: string;\n /** Cap the slug length, cutting at a word boundary. */\n maxLength?: number;\n /**\n * Keep Urdu characters instead of transliterating. Produces a percent-encoded\n * but human-readable URL, and avoids the accuracy problem entirely. Default `false`.\n */\n preserveUrdu?: boolean;\n}\n\n/**\n * URL slug from an Urdu title.\n *\n * @experimental in transliterating mode, for the reasons in the module note.\n * Pass `preserveUrdu: true` for a lossless slug.\n *\n * @example\n * urduSlug(\"میرا پہلا مضمون\") // \"mera-pehla-mazmoon\"\n * urduSlug(\"میرا پہلا مضمون\", { preserveUrdu: true }) // \"میرا-پہلا-مضمون\"\n */\nexport function urduSlug(input: string, options: SlugOptions = {}): string {\n const { separator = \"-\", maxLength, preserveUrdu = false } = options;\n if (!input) return \"\";\n\n const words = splitWords(removeDiacritics(normalizeUrdu(input)));\n const parts = preserveUrdu ? words : words.map(romanizeWord);\n\n // Built by joining cleaned tokens rather than by regex, so a caller-supplied\n // separator never has to be escaped into a pattern.\n const allowed = preserveUrdu ? /[^\\p{L}\\p{N}]+/gu : /[^a-z0-9]+/gu;\n let slug = parts\n .map((part) => part.toLowerCase().replace(allowed, \" \").trim())\n .flatMap((part) => part.split(/\\s+/u))\n .filter((part) => part.length > 0)\n .join(separator);\n\n if (maxLength && slug.length > maxLength) {\n slug = slug.slice(0, maxLength);\n const lastSeparator = slug.lastIndexOf(separator);\n if (lastSeparator > 0) slug = slug.slice(0, lastSeparator);\n }\n return slug;\n}\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "urdu-text-utils",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.6",
|
|
4
4
|
"description": "Comprehensive Urdu NLP & text processing toolkit: normalization, Roman Urdu transliteration, stop words, script detection, digits, diacritics (aerab), sorting, search, and statistics. Zero dependencies, ESM + CJS.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"urdu",
|
|
@@ -56,9 +56,12 @@
|
|
|
56
56
|
"main": "./dist/index.cjs",
|
|
57
57
|
"module": "./dist/index.js",
|
|
58
58
|
"types": "./dist/index.d.ts",
|
|
59
|
+
"jsdelivr": "./dist/index.iife.js",
|
|
60
|
+
"unpkg": "./dist/index.iife.js",
|
|
59
61
|
"exports": {
|
|
60
62
|
".": {
|
|
61
63
|
"types": "./dist/index.d.ts",
|
|
64
|
+
"browser": "./dist/index.iife.js",
|
|
62
65
|
"import": "./dist/index.js",
|
|
63
66
|
"require": "./dist/index.cjs"
|
|
64
67
|
}
|