From 6b3cc361468294a1c556d11fa98d4e02bc9ad905 Mon Sep 17 00:00:00 2001 From: noureddin Date: Tue, 16 Jul 2024 11:06:28 +0200 Subject: [PATCH] add search functionality + many small fixes data-related changes: - use lzma instead of gzip, b/c it provides way better compression. and merge all ayat parts into one (one imlaai & one uthmani). use `-1e`, as it's the lowest level that provides the highest possible compression for both of these files. - remove the space after alef+fatha+waw+fatha in the data itself not code. see: https://github.com/aliftype/quran-data/issues/17 interactivity fixes: - remove the hash params when clicking "New". hash params are most likely introduced by the app itself not the user; the user would generally use the search params (if at all). style fixes: - improve the dropdown list in darkmode on Blink-based browsers. - fix the top margin inside the options dialog. - fix the top padding of #selectors. - fix the margin-bottom of #title. - fix the almost invisible selection color in darkmode. - fix tafsirhint end-of-ayah sign having a help cursor. - fix tafsir fonts. - show texts in a local font, then swap when the remote fonts load. code fixes: - load goatcounter from javascript, b/c if it's in the html, the page waits for it to load (or fail) before executing any javascript. - rename all suar_* constants to sura_*. - various code improvements and general clean up. --- .index.html | 32 ++++---- .lzma-d-min.js | 1 + .scripts.gen.min.js | 2 +- .scripts.js | 15 ++++ Makefile | 3 +- a.gen.js | 45 ++++++++--- a.js | 38 ++++++--- data.gen.js | 8 +- data.js | 8 +- index.html | 2 +- javascript.js | 22 +++-- res/i.lzma | Bin 0 -> 178052 bytes res/imla1.gz | Bin 32308 -> 0 bytes res/imla2.gz | Bin 32165 -> 0 bytes res/imla3.gz | Bin 31087 -> 0 bytes res/imla4.gz | Bin 33836 -> 0 bytes res/imla5.gz | Bin 35590 -> 0 bytes res/imla6.gz | Bin 35859 -> 0 bytes res/imla7.gz | Bin 36683 -> 0 bytes res/imla8.gz | Bin 37800 -> 0 bytes res/u.lzma | Bin 0 -> 200382 bytes res/uthm1.gz | Bin 37446 -> 0 bytes res/uthm2.gz | Bin 37176 -> 0 bytes res/uthm3.gz | Bin 35527 -> 0 bytes res/uthm4.gz | Bin 39209 -> 0 bytes res/uthm5.gz | Bin 40993 -> 0 bytes res/uthm6.gz | Bin 41302 -> 0 bytes res/uthm7.gz | Bin 42543 -> 0 bytes res/uthm8.gz | Bin 43530 -> 0 bytes search.js | 169 ++++++++++++++++++++++++++++++++++++++ style.css | 192 +++++++++++++++++++++++++++++++++++--------- style.min.css | 2 +- tafsir.js | 13 ++- versligilumi.js | 4 +- z.js | 151 +++++++++------------------------- 35 files changed, 495 insertions(+), 212 deletions(-) create mode 100644 .lzma-d-min.js create mode 100644 res/i.lzma delete mode 100644 res/imla1.gz delete mode 100644 res/imla2.gz delete mode 100644 res/imla3.gz delete mode 100644 res/imla4.gz delete mode 100644 res/imla5.gz delete mode 100644 res/imla6.gz delete mode 100644 res/imla7.gz delete mode 100644 res/imla8.gz create mode 100644 res/u.lzma delete mode 100644 res/uthm1.gz delete mode 100644 res/uthm2.gz delete mode 100644 res/uthm3.gz delete mode 100644 res/uthm4.gz delete mode 100644 res/uthm5.gz delete mode 100644 res/uthm6.gz delete mode 100644 res/uthm7.gz delete mode 100644 res/uthm8.gz create mode 100644 search.js diff --git a/.index.html b/.index.html index 69ce9fd..834aa93 100644 --- a/.index.html +++ b/.index.html @@ -25,7 +25,7 @@
-
+
@@ -130,16 +130,12 @@
- +
- +
@@ -193,23 +189,31 @@ مد حركتين -
-
- + + - - - +
+
+ diff --git a/.lzma-d-min.js b/.lzma-d-min.js new file mode 100644 index 0000000..2d23383 --- /dev/null +++ b/.lzma-d-min.js @@ -0,0 +1 @@ +var e=function(){"use strict";function r(e,r){postMessage({action:nr,cbn:r,result:e})}function o(e){var r=[];return r[e-1]=void 0,r}function n(e,r){return i(e[0]+r[0],e[1]+r[1])}function t(e,r){var o,n;return e[0]==r[0]&&e[1]==r[1]?0:(o=0>e[1],n=0>r[1],o&&!n?-1:!o&&n?1:d(e,r)[1]<0?-1:1)}function i(e,r){var o,n;for(r%=0x10000000000000000,e%=0x10000000000000000,o=r%ir,n=Math.floor(e/ir)*ir,r=r-o+n,e=e-n+o;0>e;)e+=ir,r-=ir;for(;e>4294967295;)e-=ir,r+=ir;for(r%=0x10000000000000000;r>0x7fffffff00000000;)r-=0x10000000000000000;for(;-0x8000000000000000>r;)r+=0x10000000000000000;return[e,r]}function u(e){return e>=0?[e,0]:[e+ir,-ir]}function s(e){return e[0]>=2147483648?~~Math.max(Math.min(e[0]-ir,2147483647),-2147483648):~~Math.max(Math.min(e[0],2147483647),-2147483648)}function d(e,r){return i(e[0]-r[0],e[1]-r[1])}function c(e,r){return e.ab=r,e.cb=0,e.O=r.length,e}function m(e){return e.cb>=e.O?-1:255&e.ab[e.cb++]}function a(e){return e.ab=o(32),e.O=0,e}function _(e){var r=e.ab;return r.length=e.O,r}function f(e,r,o,n){p(r,o,e.ab,e.O,n),e.O+=n}function p(e,r,o,n,t){for(var i=0;t>i;++i)o[n+i]=e[r+i]}function D(e,r,o){var n,t,i,s,d="",c=[];for(t=0;5>t;++t){if(i=m(r),-1==i)throw Error("truncated input");c[t]=i<<24>>24}if(n=N({}),!z(n,c))throw Error("corrupted input");for(t=0;64>t;t+=8){if(i=m(r),-1==i)throw Error("truncated input");i=i.toString(16),1==i.length&&(i="0"+i),d=i+""+d}/^0+$|^f+$/i.test(d)?e.N=ur:(s=parseInt(d,16),e.N=s>4294967295?ur:u(s)),e.Q=B(n,r,o,e.N)}function l(e,r){return e.S=a({}),D(e,c({},r),e.S),e}function g(e,r,o){var n=e.D-r-1;for(0>n&&(n+=e.c);0!=o;--o)n>=e.c&&(n=0),e.x[e.D++]=e.x[n++],e.D>=e.c&&w(e)}function v(e,r){(null==e.x||e.c!=r)&&(e.x=o(r)),e.c=r,e.D=0,e.w=0}function w(e){var r=e.D-e.w;r&&(f(e.V,e.x,e.w,r),e.D>=e.c&&(e.D=0),e.w=e.D)}function R(e,r){var o=e.D-r-1;return 0>o&&(o+=e.c),e.x[o]}function h(e,r){e.x[e.D++]=r,e.D>=e.c&&w(e)}function P(e){w(e),e.V=null}function C(e){return e-=2,4>e?e:3}function S(e){return 4>e?0:10>e?e-3:e-6}function M(e,r){return e.h=r,e.bb=null,e.X=1,e}function L(e){if(!e.X)throw Error("bad state");if(e.bb)throw Error("No encoding");return y(e),e.X}function y(e){var r=I(e.h);if(-1==r)throw Error("corrupted input");e.$=ur,e.Z=e.h.d,(r||t(e.h.U,sr)>=0&&t(e.h.d,e.h.U)>=0)&&(w(e.h.b),P(e.h.b),e.h.a.K=null,e.X=0)}function B(e,r,o,n){return e.a.K=r,P(e.b),e.b.V=o,b(e),e.f=0,e.l=0,e.T=0,e.R=0,e._=0,e.U=n,e.d=sr,e.I=0,M({},e)}function I(e){var r,o,i,d,c,m;if(m=s(e.d)&e.P,Q(e.a,e.q,(e.f<<4)+m)){if(Q(e.a,e.E,e.f))i=0,Q(e.a,e.s,e.f)?(Q(e.a,e.u,e.f)?(Q(e.a,e.r,e.f)?(o=e._,e._=e.R):o=e.R,e.R=e.T):o=e.T,e.T=e.l,e.l=o):Q(e.a,e.n,(e.f<<4)+m)||(e.f=7>e.f?9:11,i=1),i||(i=x(e.o,e.a,m)+2,e.f=7>e.f?8:11);else if(e._=e.R,e.R=e.T,e.T=e.l,i=2+x(e.C,e.a,m),e.f=7>e.f?7:10,c=q(e.j[C(i)],e.a),c>=4){if(d=(c>>1)-1,e.l=(2|1&c)<c)e.l+=J(e.J,e.l-c-1,e.a,d);else if(e.l+=U(e.a,d-4)<<4,e.l+=F(e.t,e.a),0>e.l)return-1==e.l?1:-1}else e.l=c;if(t(u(e.l),e.d)>=0||e.l>=e.m)return-1;g(e.b,e.l,i),e.d=n(e.d,u(i)),e.I=R(e.b,0)}else r=Z(e.k,s(e.d),e.I),e.I=7>e.f?T(r,e.a):$(r,e.a,R(e.b,e.l)),h(e.b,e.I),e.f=S(e.f),e.d=n(e.d,dr);return 0}function N(e){e.b={},e.a={},e.q=o(192),e.E=o(12),e.s=o(12),e.u=o(12),e.r=o(12),e.n=o(192),e.j=o(4),e.J=o(114),e.t=K({},4),e.C=G({}),e.o=G({}),e.k={};for(var r=0;4>r;++r)e.j[r]=K({},6);return e}function b(e){e.b.w=0,e.b.D=0,X(e.q),X(e.n),X(e.E),X(e.s),X(e.u),X(e.r),X(e.J),H(e.k);for(var r=0;4>r;++r)X(e.j[r].B);A(e.C),A(e.o),X(e.t.B),V(e.a)}function z(e,r){var o,n,t,i,u,s,d;if(5>r.length)return 0;for(d=255&r[0],t=d%9,s=~~(d/9),i=s%5,u=~~(s/5),o=0,n=0;4>n;++n)o+=(255&r[1+n])<<8*n;return o>99999999||!W(e,t,i,u)?0:O(e,o)}function O(e,r){return 0>r?0:(e.z!=r&&(e.z=r,e.m=Math.max(e.z,1),v(e.b,Math.max(e.m,4096))),1)}function W(e,r,o,n){if(r>8||o>4||n>4)return 0;E(e.k,o,r);var t=1<e.e;++e.e)e.G[e.e]=K({},3),e.H[e.e]=K({},3)}function x(e,r,o){if(!Q(r,e.M,0))return q(e.G[o],r);var n=8;return n+=Q(r,e.M,1)?8+q(e.L,r):q(e.H[o],r)}function G(e){return e.M=o(2),e.G=o(16),e.H=o(16),e.L=K({},8),e.e=0,e}function A(e){X(e.M);for(var r=0;e.e>r;++r)X(e.G[r].B),X(e.H[r].B);X(e.L.B)}function E(e,r,n){var t,i;if(null==e.F||e.g!=n||e.y!=r)for(e.y=r,e.Y=(1<t;++t)e.F[t]=j({})}function Z(e,r,o){return e.F[((r&e.Y)<>>8-e.g)]}function H(e){var r,o;for(o=1<r;++r)X(e.F[r].v)}function T(e,r){var o=1;do o=o<<1|Q(r,e.v,o);while(256>o);return o<<24>>24}function $(e,r,o){var n,t,i=1;do if(t=o>>7&1,o<<=1,n=Q(r,e.v,(1+t<<8)+i),i=i<<1|n,t!=n){for(;256>i;)i=i<<1|Q(r,e.v,i);break}while(256>i);return i<<24>>24}function j(e){return e.v=o(768),e}function K(e,r){return e.A=r,e.B=o(1<n;++n)o=Q(r,e.B,t),t<<=1,t+=o,i|=o<i;++i)t=Q(o,e,r+u),u<<=1,u+=t,s|=t<>>11)*t,(-2147483648^n)>(-2147483648^e.p)?(e.i=n,r[o]=t+(2048-t>>>5)<<16>>16,-16777216&e.i||(e.p=e.p<<8|m(e.K),e.i<<=8),0):(e.i-=n,e.p-=n,r[o]=t-(t>>>5)<<16>>16,-16777216&e.i||(e.p=e.p<<8|m(e.K),e.i<<=8),1)}function U(e,r){var o,n,t=0;for(o=r;0!=o;--o)e.i>>>=1,n=e.p-e.i>>>31,e.p-=e.i&n-1,t=t<<1|1-n,-16777216&e.i||(e.p=e.p<<8|m(e.K),e.i<<=8);return t}function V(e){e.p=0,e.i=-1;for(var r=0;5>r;++r)e.p=e.p<<8|m(e.K)}function X(e){for(var r=e.length-1;r>=0;--r)e[r]=1024}function Y(e){for(var r,o,n,t=0,i=0,u=e.length,s=[],d=[];u>t;++t,++i){if(r=255&e[t],128&r)if(192==(224&r)){if(t+1>=u)return e;if(o=255&e[++t],128!=(192&o))return e;d[i]=(31&r)<<6|63&o}else{if(224!=(240&r))return e;if(t+2>=u)return e;if(o=255&e[++t],128!=(192&o))return e;if(n=255&e[++t],128!=(192&n))return e;d[i]=(15&r)<<12|(63&o)<<6|63&n}else{if(!r)return e;d[i]=r}16383==i&&(s.push(String.fromCharCode.apply(String,d)),i=-1)}return i>0&&(d.length=i,s.push(String.fromCharCode.apply(String,d))),s.join("")}function er(e){return e[1]+e[0]}function rr(e,o,n){function t(){try{for(var e,r=0,u=(new Date).getTime();L(c.d.Q);)if(++r%1e3==0&&(new Date).getTime()-u>200)return s&&(i=er(c.d.Q.h.d)/d,n(i)),tr(t,0),0;n(1),e=Y(_(c.d.S)),tr(o.bind(null,e),0)}catch(m){o(null,m)}}var i,u,s,d,c={},m=void 0===o&&void 0===n;if("function"!=typeof o&&(u=o,o=n=0),n=n||function(e){return void 0!==u?r(s?e:-1,u):void 0},o=o||function(e,r){return void 0!==u?postMessage({action:or,cbn:u,result:e,error:r}):void 0},m){for(c.d=l({},e);L(c.d.Q););return Y(_(c.d.S))}try{c.d=l({},e),d=er(c.d.N),s=d>-1,n(0)}catch(a){return o(null,a)}tr(t,0)}var or=2,nr=3,tr="function"==typeof setImmediate?setImmediate:setTimeout,ir=4294967296,ur=[4294967295,-ir],sr=[0,0],dr=[1,0];return"undefined"==typeof onmessage||"undefined"!=typeof window&&void 0!==window.document||!function(){onmessage=function(r){r&&r.W&&r.W.action==or&&e.decompress(r.W.W,r.W.cbn)}}(),{decompress:rr}}();this.LZMA=this.LZMA_WORKER=e; \ No newline at end of file diff --git a/.scripts.gen.min.js b/.scripts.gen.min.js index a53ffc9..d8df3ac 100644 --- a/.scripts.gen.min.js +++ b/.scripts.gen.min.js @@ -1 +1 @@ -let H=e=>[...Array(e).keys()];function j(e){return document.querySelector(e)}function D(e){return document.querySelectorAll(e)}function n(e){return document.getElementById(e)}Element.prototype.Q=Element.prototype.querySelector,Element.prototype.Qall=Element.prototype.querySelectorAll;let y=location,l=localStorage,a=(e,t=!0)=>{t?l.setItem(e,"Y"):l.removeItem(e)},t=n("dark"),f=n("body"),R=(n("all"),n("help"),n("helptoggle"),n("optiontoggle"),n("options"),n("guide"),n("darkmode_option"),n("darkmode_input")),N=n("teacher_option"),p=n("teacher_input"),F=n("qaris"),P=n("qariurl"),Q=n("cn"),W=n("zz"),V=n("quizmode_option"),v=n("quizmode"),U=n("uthm_options"),Y=(n("uthm_options_title"),n("tafsir")),O=n("mvbtns_input"),X=n("textclr_input"),G=n("ayatnum_input"),J=n("linebreaks_input"),Z=n("tl_input"),ee=n("imla_options"),te=(n("imla_options_title"),n("feedbackrate")),ne=(n("helpcontent"),n("player")),ae=n("preloader"),le=n("title"),ie=n("selectors"),x=n("sura_bgn"),q=n("aaya_bgn"),L=n("sura_end"),S=n("aaya_end"),i=n("ok"),re=n("header"),oe=n("zzignore"),ue=n("new"),se=n("repeat"),ce=n("end_of_header"),m=n("tafsirhint"),g=n("uthm_txt"),d=n("imla_txt_container"),h=n("imla_txt"),w=n("endmsg"),de=n("zzback"),he=n("mvbtns"),fe=n("prevaaya"),me=n("prevjmla"),ye=n("prevword"),pe=n("nextword"),ve=n("nextjmla"),ge=n("nextaaya"),b=n("tl"),we=(n("N"),n("X"),n("R"),n("Q"),n("L"),n("W"),n("J"),n("T"),n("tvc")),be=n("tv"),ke=n("tvx"),Ke=e=>e.scrollTo({top:0}),_e=e=>e.scrollTo({top:e.scrollHeight}),Ae=()=>Ke(f),xe=()=>_e(f),qe=()=>{_e(f),_e(h)},Le=e=>{e.style.visibility="hidden",e.style.opacity="0"},Se=e=>{e.style.visibility="visible",e.style.opacity="1"},T=e=>e.toString().replace(/[0٠]/g,"٠").replace(/[1١]/g,"١").replace(/[2٢]/g,"٢").replace(/[3٣]/g,"٣").replace(/[4٤]/g,"٤").replace(/[5٥]/g,"٥").replace(/[6٦]/g,"٦").replace(/[7٧]/g,"٧").replace(/[8٨]/g,"٨").replace(/[9٩]/g,"٩").replace(/[^٠١٢٣٤٥٦٧٨٩]/g,""),e,Te,ze=()=>""===x.value?0:I[+x.value],Me=()=>""===L.value?0:I[+L.value],Ee=()=>""===x.value?"":+x.value,Ie=()=>""===L.value?"":+L.value,$e=()=>""===q.value?"":+q.value,Ce=()=>""===S.value?"":+S.value,Be=e=>H(e).map(e=>``).join(""),z=(e,t,n)=>{$e(),e.innerHTML=Be(t),e.value=n||t};function He(e){var t=e.target,e="blur"===e.type;t!==q&&S,e||t!==x?e||t!==L||(z(S,Me()),Ie()=t.length}function r(e){if(!i(e=l(e)))return n+t[e]+".mp3"}function o(e){i(e=l(e))||(ae.src=r(e))}function u(e){a=e,o()}function s(){(i()?Le:Se)(ne)}function c(e){n=e?`https://www.everyayah.com/data/${e}/`:void 0,o()}return{update_qari:function(e){c(e),s()},init:function(e,t){c(e),!e&&t&&(n=t.endsWith("/")?t:t+"/"),u(0)},fill:function(e){t=e,u(0),s()},play:function(e){null!=e&&u(e),s(),i()||(ne.src=r(),ne.addEventListener("loadeddata",()=>o(a+1)),ne.play())},set_index:function(e){u(e)},next:function(){u(a+1)},back:function(){u(a-1)}}}();function je(e){var t=e.slice(-1);return""===t||"\n"===t?"a":e.match(/[\u06D6-\u06DC]\t/)?"j":""}function E(e,t){(e="zz_set_"+e)in parent&&parent[e](t)}function change_qari(){var e=F.value;""!==e?l.setItem("qari",e):l.removeItem("qari"),M.update_qari(e),E("qari",e)}function change_quizmode(){E("quizmode",v.value),a("imla","imla"===v.value),"imla"===v.value?(U.style.display="none",ee.style.display="block",m.hidden=g.hidden||w.hidden):(ee.style.display="none",U.style.display="block",m.hidden=ie.hidden,m.hidden=g.hidden^w.hidden)}let De=e=>e.replace(/[\u064B-\u0652\xA0\u06DD٠-٩]+/g,""),Re=e=>e,Ne=e=>e.replace(/\S*$/,""),Fe=e=>e.replace(/[^\n]*$/,"");function change_feedbackrate(){var e=te.value;window.imlafilter="a"===e?Fe:"w"===e?Ne:Re,h.value&&h.oninput&&h.oninput(),"l"===e?l.removeItem("fbrate"):l.setItem("fbrate",e),E("feedbackrate",e)}window.imlafilter=Re;let Pe=(e,t,n=window.imlafilter)=>De(e).startsWith(De(n(t))),Qe=(e,t)=>g.classList.toggle(e,t);function change_tajweed(){var e=X.value;a("notajweed","taj"!==e),Qe("letter-parts","bas"===e),Qe("letter-nocolor","no"===e),E("tajweed",e.slice(0,1))}function change_teacher(){var e=p.checked;a("teacher",e),E("teacher",e)}function change_ayatnum(){var e=!G.checked;a("noayatnumcolor",e),Qe("ayat-nocolor",e),E("ayatnum",!e)}function change_linebreaks(){var e=!J.checked;a("nolinebreaks",e),Qe("nb",e),E("linebreaks",!e)}function change_dark(){var e=R.checked;l.setItem("dark",e?"Y":"N"),E("dark",t.checked=e)}function change_mvbtns(){var e=O.value,t=("b"===e?l.removeItem("mvbtns"):l.setItem("mvbtns",e),"r"===e?"sidebtns rightside":"l"===e?"sidebtns leftside":"");he.className=t,g.classList.toggle("sidebtns",t),b.classList.toggle("right","l"===e),E("mvbtns",e)}function change_tafsir(){var e=Y.value;"ar_muyassar"===e?l.removeItem("tafsir"):l.setItem("tafsir",e),E("tafsir",e)}function change_tajweedlegend(){a("notajweedlegend",!Z.checked),Z.checked?g.hidden||(b.style.display=""):("true"===b.getAttribute("aria-expanded")&&b.onclick({}),b.style.display="none")}let We={arak:{Backquote:["`","~"],Minus:["[","{"],Equal:["]","}"],KeyQ:["ض",'"'],KeyW:["ع","غ"],KeyE:["ب","پ"],KeyR:["ح","َ"],KeyT:["س","ً"],KeyY:["خ","ٌ"],KeyU:["د","ُ"],KeyI:["أ","آ"],KeyO:["ك","گ"],KeyP:["ج","چ"],BracketLeft:["/","؟"],BracketRight:["=","+"],KeyA:["ه","؛"],KeyS:["ي","»"],KeyD:["م","«"],KeyF:["ن","ْ"],KeyG:["ف","ڤ"],KeyH:["ت","ث"],KeyJ:["ل","ّ"],KeyK:["ا","ء"],KeyL:["و","ؤ"],Semicolon:["ر",">"],Quote:["إ","<"],KeyZ:[".",":"],KeyX:["،","ـ"],KeyC:["ش","_"],KeyV:["ق","-"],KeyB:["ص","'"],KeyN:["ذ","ٍ"],KeyM:["ة","ِ"],Comma:["ى","ئ"],Period:["ز","ژ"],Slash:["ط","ظ"]},dv:{Backquote:["`","~"],Minus:["[","{"],Equal:["]","}"],KeyQ:["'",'"'],KeyW:["،","<"],KeyE:[".",">"],KeyR:["ط","ظ"],KeyT:["ى","آ"],KeyY:["ف","ڤ"],KeyU:["غ","ـ"],KeyI:["ص","ض"],KeyO:["ر","»"],KeyP:["ل","«"],BracketLeft:["/","؟"],BracketRight:["=","+"],KeyA:["ا","أ"],KeyS:["ع","إ"],KeyD:["ه","ة"],KeyF:["و","ؤ"],KeyG:["ي","ئ"],KeyH:["د","َ"],KeyJ:["ح","ً"],KeyK:["ت","ٌ"],KeyL:["ن","ُ"],Semicolon:["س","ش"],Quote:["-","_"],KeyZ:["؛",":"],KeyX:["ق","ء"],KeyC:["ج","چ"],KeyV:["ك","گ"],KeyB:["خ","ْ"],KeyN:["ب","پ"],KeyM:["م","ّ"],Comma:["ث","ٍ"],Period:["ذ","ِ"],Slash:["ز","ژ"]},ibm:{Backquote:["ذ","ّ"],Minus:["-","_"],Equal:["=","+"],KeyQ:["ض","َ"],KeyW:["ص","ً"],KeyE:["ث","ُ"],KeyR:["ق","ٌ"],KeyT:["ف","لإ"],KeyY:["غ","إ"],KeyU:["ع","`"],KeyI:["ه","÷"],KeyO:["خ","×"],KeyP:["ح","؛"],BracketLeft:["ج","<"],BracketRight:["د",">"],KeyA:["ش","ِ"],KeyS:["س","ٍ"],KeyD:["ي","]"],KeyF:["ب","["],KeyG:["ل","لأ"],KeyH:["ا","أ"],KeyJ:["ت","ـ"],KeyK:["ن","،"],KeyL:["م","/"],Semicolon:["ك",":"],Quote:["ط",'"'],KeyZ:["ئ","~"],KeyX:["ء","ْ"],KeyC:["ؤ","}"],KeyV:["ر","{"],KeyB:["لا","لآ"],KeyN:["ى","آ"],KeyM:["ة","'"],Comma:["و",","],Period:["ز","."],Slash:["ظ","؟"]},mac:{Backquote:["§","±"],Minus:["-","_"],Equal:["=","+"],KeyQ:["ض","َ"],KeyW:["ص","ً"],KeyE:["ث","ِ"],KeyR:["ق","ٍ"],KeyT:["ف","ُ"],KeyY:["غ","ٌ"],KeyU:["ع","ْ"],KeyI:["ه","ّ"],KeyO:["خ","]"],KeyP:["ح","["],BracketLeft:["ج","}"],BracketRight:["ة","{"],KeyA:["ش","»"],KeyS:["س","«"],KeyD:["ي","ى"],KeyF:["ب",""],KeyG:["ل",""],KeyH:["ا","آ"],KeyJ:["ت",""],KeyK:["ن",""],KeyL:["م",""],Semicolon:["ك",":"],Quote:["؛",'"'],KeyZ:["ظ",""],KeyX:["ط",""],KeyC:["ذ","ئ"],KeyV:["د","ء"],KeyB:["ز","أ"],KeyN:["ر","إ"],KeyM:["و","ؤ"],Comma:["،",">"],Period:[".","<"],Slash:["/","؟"]}},Ve={l:"l",letter:"l",w:"w",word:"w",a:"a",aaya:"a"},Ue={t:"taj",taj:"taj",tajweed:"taj",b:"bas",bas:"bas",basic:"bas",n:"no",no:"no",none:"no"},Ye={i:"imla",imla:"imla",imlaai:"imla",u:"uthm",uthm:"uthm",uthmani:"uthm"};function Oe(e){return Ye[e.toLowerCase()]}function Xe(e,t,n,a){e.value=null!=t?t:l.getItem(n),e.value||(e.value=a),e.value!==a&&l.setItem(n,e.value),e.onchange()}function Ge(e,t,n){e.checked=null!=t?!t:!l.getItem(n),a(n,!e.checked),e.onchange()}null==(e=function(e){let l,i,r,o,u,s,c,d,h,f,m,y,p,v,g,w,b,k,K;return e.slice(1).split("&").map(e=>e.split("=")).forEach((t,e)=>{var n,a=(...e)=>e.includes(t[0]);a("dark","d")?l=!0:a("light","l")?l=!1:a("color","c")?i=(n=t[1],Ue[n.toLowerCase()]||i):a("mvbtns","mv","m")?r=(""==(n=(n=t[1]).toLowerCase())||"b"==n?"b":"r"==n?"r":"l"==n?"l":void 0)||r:a("quizmode","qz","q")?o=Oe(t[1])||o:a("txt")?o=Oe("imlaai"):a("byaaya")?u="a":a("byword")?u="w":a("byletter")?u="l":a("by")?u=(n=t[1],Ve[n.toLowerCase()]||u):a("linebreaks")?s=!1:a("nolinebreaks")?s=!0:a("t","teach","teacher")?h=!0:a("n","noteach","noteacher")?h=!1:a("dt","disableteacher")?f=!0:a("dq","disablequizmode")?m=!0:a("dc","disablecheat")?y=!0:a("hc","highcontrast")?p=!0:a("lc","lowcontrast")?v=!0:a("emu","emulate","emulation")?w=t[1]:a("qari")?c=t[1]:a("qariurl")?d=t[1]:a("tafsir")?g=t[1]:a("fp","fullpage")?b=!0:a("cn")?k=!0:a("zz")&&(K=!0)}),{dark:l,color:i,mv:r,quizmode:o,fbrate:u,nolinebreaks:s,teacher:h,disableteacher:f,disablequizmode:m,disablecheat:y,highcontrast:p,lowcontrast:v,emulate:w,qari:c,qariurl:d,fullpage:b,cn:k,zz:K}}(y.hash||y.search)).quizmode?l.imla&&(v.value="imla",v.onchange()):(v.value=e.quizmode,v.onchange(),a("imla","imla"===e.quizmode)),e.highcontrast&&f.classList.add("highcontrast"),e.lowcontrast&&f.classList.add("lowcontrast"),null==e.dark&&null==l.getItem("dark")?e.dark=window.matchMedia("(prefers-color-scheme: dark)").matches:null!=e.dark&&l.setItem("dark",e.dark?"Y":"N"),R.checked=e.dark||"Y"===l.dark,R.onchange(),window.prefers_reduced_motion=window.matchMedia("(prefers-reduced-motion: reduce)").matches,null==e.teacher?p.checked=!!l.teacher:(p.checked=e.teacher,a("teacher",e.teacher)),Xe(Y,e.tafsir,"tafsir","ar_muyassar"),Xe(F,e.qari,"qari",""),Xe(O,e.mv,"mvbtns","b"),Xe(te,e.fbrate,"fbrate","l"),e.qariurl&&(F.value="_"),P.value=e.qariurl||"",X.value=null!=e.color?e.color:l.notajweed?"no":"taj","taj"!==X.value&&l.setItem("notajweed","Y"),X.onchange(),Ge(J,e.nolinebreaks,"nolinebreaks"),Ge(G,null,"noayatnumcolor"),Ge(Z,null,"notajweedlegend"),Te=e=>e.style.display="none",e.disableteacher&&Te(N),e.disablequizmode&&(Te(V),D(".mode_options_title").forEach(Te)),window.allow_cheating=!e.disablecheat,e.emulate&&We[e.emulate]&&(window.emulate=e.emulate),e.fullpage&&f.classList.add("fullpage"),e.cn&&(Q.value=e.cn?"1":""),e.zz&&(W.value=e.zz?"1":"");let I=[7,286,200,176,120,165,206,75,129,109,123,111,43,52,99,128,111,110,98,135,112,78,118,64,77,227,93,88,69,60,34,30,73,54,45,83,182,88,75,85,54,53,89,59,37,35,38,29,18,45,60,49,62,55,78,96,29,22,24,13,14,11,11,18,12,12,30,52,52,44,28,28,20,56,40,31,50,40,46,42,29,19,36,25,22,17,19,26,30,20,15,21,11,8,8,19,5,8,8,11,11,8,3,9,5,4,7,3,6,3,5,4,5,6],Je=["الفاتحة","البقرة","آل عمران","النساء","المائدة","الأنعام","الأعراف","الأنفال","التوبة","يونس","هود","يوسف","الرعد","إبراهيم","الحجر","النحل","الإسراء","الكهف","مريم","طه","الأنبياء","الحج","المؤمنون","النور","الفرقان","الشعراء","النمل","القصص","العنكبوت","الروم","لقمان","السجدة","الأحزاب","سبأ","فاطر","يس","الصافات","ص","الزمر","غافر","فصلت","الشورى","الزخرف","الدخان","الجاثية","الأحقاف","محمد","الفتح","الحجرات","ق","الذاريات","الطور","النجم","القمر","الرحمن","الواقعة","الحديد","المجادلة","الحشر","الممتحنة","الصف","الجمعة","المنافقون","التغابن","الطلاق","التحريم","الملك","القلم","الحاقة","المعارج","نوح","الجن","المزمل","المدثر","القيامة","الإنسان","المرسلات","النبأ","النازعات","عبس","التكوير","الانفطار","المطففين","الانشقاق","البروج","الطارق","الأعلى","الغاشية","الفجر","البلد","الشمس","الليل","الضحى","الشرح","التين","العلق","القدر","البينة","الزلزلة","العاديات","القارعة","التكاثر","العصر","الهمزة","الفيل","قريش","الماعون","الكوثر","الكافرون","النصر","المسد","الإخلاص","الفلق","الناس"],o=[0,32,50,66,81,98,112,130,148,164,183,195,209,225,239,249,259,269,278,289,307,325,344,367,385,405,425,445,463,478,493,504,516,528,550,566,580,592,606,627,640,655,669,680,695,709,719,735,750,765,777,801,824,847,862,883,899,915,929,939,954,984,1e3,1018,1041,1070,1095,1109,1124,1142,1160,1181,1200,1220,1235,1253,1268,1280,1294,1309,1327,1345,1356,1374,1389,1416,1434,1453,1478,1496,1513,1533,1556,1580,1602,1625,1648,1672,1696,1711,1725,1741,1759,1777,1802,1851,1901,1930,1951,1975,1990,2011,2029,2051,2078,2098,2127,2156,2171,2190,2214,2238,2271,2308,2348,2402,2430,2458,2483,2511,2533,2565,2595,2613,2632,2654,2673,2708,2747,2791,2811,2825,2843,2855,2875,2907,2932,2983,3042,3112,3159,3185,3214,3240,3263,3280,3302,3327,3340,3365,3385,3409,3439,3462,3490,3513,3533,3550,3563,3583,3592,3615,3629,3651,3674,3700,3732,3764,3809,3870,3932,3990,4021,4065,4089,4110,4133,4153,4173,4198,4226,4242,4264,4284,4298,4322,4348,4381,4430,4484,4510,4530,4554,4577,4600,4612,4625,4656,4705,4758,4809,4854,4901,4979,5053,5090,5104,5117,5136,5156,5177,5191,5217,5229,5241,5271,5323,5393,5447,5494,5551,5609,5672,5758,5829,5884,5948,6023,6090,6154,6236],Ze=[0,7,12,23,31,36,44,55,64,68,76,83,90,95,100,108,112,119,126,133,141,148,152,160,170,176,183,188,193,197,203,209,217,222,226,231,237,240,244,252,255,259,263,266,271,276,281,288,289,293,302,308,315,322,330,338,345,354,363,370,376,384,393,401,408,414,425,433,441,446,450,458,466,473,479,487,493,499,504,507,512,516,519,526,530,537,544,552,558,567,572,579,584,587,594,598,606,614,620,627,633,640,647,655,663,668,671,674,678,682,686,692,700,705,710,714,719,726,733,739,745,751,758,764,772,777,782,789,797,807,816,824,833,841,848,857,862,870,879,883,890,899,907,913,920,926,931,935,940,946,954,965,976,984,991,997,1005,1011,1021,1027,1035,1041,1049,1058,1074,1084,1091,1097,1103,1109,1113,1117,1124,1132,1141,1149,1160,1168,1176,1185,1193,1200,1205,1212,1221,1229,1235,1241,1248,1255,1261,1266,1271,1275,1282,1289,1296,1303,1307,1314,1321,1328,1334,1341,1346,1352,1357,1364,1370,1378,1384,1389,1397,1406,1417,1425,1434,1442,1452,1461,1470,1478,1485,1492,1501,1510,1518,1526,1535,1544,1554,1561,1570,1581,1590,1600,1610,1618,1626,1633,1639,1648,1659,1665,1674,1682,1691,1699,1707,1712,1720,1725,1735,1741,1749,1755,1760,1768,1774,1783,1792,1802,1817,1833,1853,1872,1892,1907,1915,1927,1935,1943,1955,1965,1973,1980,1988,1994,2003,2011,2019,2029,2036,2046,2056,2067,2078,2087,2095,2104,2115,2125,2133,2144,2155,2160,2167,2174,2185,2193,2201,2214,2223,2237,2250,2261,2275,2288,2301,2314,2326,2345,2360,2385,2399,2412,2424,2435,2446,2461,2473,2483,2493,2507,2518,2527,2540,2555,2564,2573,2584,2595,2600,2610,2618,2625,2633,2641,2650,2659,2667,2673,2690,2700,2715,2732,2747,2762,2777,2791,2801,2811,2818,2822,2827,2834,2844,2849,2852,2857,2866,2875,2887,2898,2910,2922,2932,2951,2971,2992,3015,3043,3068,3091,3115,3138,3159,3172,3181,3194,3203,3214,3222,3235,3247,3257,3265,3273,3280,3287,3295,3302,3311,3322,3329,3336,3346,3354,3363,3370,3378,3385,3392,3403,3414,3424,3433,3441,3450,3459,3469,3480,3488,3497,3503,3514,3523,3533,3539,3548,3555,3563,3568,3576,3583,3587,3595,3606,3613,3620,3628,3637,3645,3654,3663,3671,3678,3690,3698,3704,3717,3732,3745,3759,3775,3788,3812,3839,3864,3890,3914,3941,3970,3986,3996,4012,4031,4053,4063,4068,4079,4089,4098,4105,4114,4125,4132,4140,4149,4158,4166,4173,4182,4191,4199,4210,4218,4229,4238,4247,4256,4264,4272,4282,4287,4294,4303,4316,4323,4335,4347,4358,4372,4385,4398,4414,4432,4453,4473,4486,4495,4505,4515,4524,4530,4538,4545,4556,4564,4574,4583,4592,4598,4606,4611,4616,4623,4630,4645,4665,4681,4705,4726,4749,4766,4784,4810,4828,4852,4873,4895,4917,4941,4968,4995,5029,5055,5078,5086,5093,5099,5104,5110,5115,5125,5129,5135,5142,5150,5155,5161,5168,5177,5185,5192,5199,5208,5217,5222,5229,5236,5241,5253,5267,5286,5313,5331,5357,5385,5414,5429,5447,5460,5475,5494,5512,5542,5570,5596,5616,5641,5672,5702,5727,5758,5800,5829,5854,5882,5909,5931,5963,5993,6016,6043,6072,6098,6125,6137,6155,6176,6193,6207,6221,6236],r=[[1],[1,8,21,30,40,47,60,62,72,83,87,97,104,113,122,130,142,148,153,164,168,177,183,189,197,211,217,222,229,232,236,243,249,254,258,261,267,274,282,284],[1,10,21,31,42,55,64,72,81,92,102,110,121,130,144,149,156,172,181,190],[1,11,15,23,26,34,43,51,60,71,77,88,92,97,101,105,113,116,127,135,142,153,163,172],[1,6,12,20,27,35,44,51,57,67,78,87,94,101,109,116],[1,11,21,31,42,51,56,61,71,83,91,95,101,111,122,130,141,145,151,155],[1,11,26,32,40,48,54,59,65,73,85,94,100,109,127,130,142,148,152,158,163,172,182,189],[1,11,20,29,38,45,49,59,65,70],[1,7,17,25,30,38,43,60,67,73,81,90,100,111,119,123],[1,11,21,31,41,54,61,71,83,93,104],[1,9,25,36,50,61,69,84,96,110],[1,7,21,30,36,43,50,58,69,80,94,105],[1,8,19,27,32,38],[1,7,13,22,28,35,42],[1,16,26,45,61,80],[1,10,22,26,35,41,51,61,66,71,77,84,90,101,111,120],[1,11,23,31,41,53,61,71,78,85,94,101],[1,13,18,23,32,45,50,54,60,71,83,102],[1,16,41,51,66,83],[1,25,55,77,90,105,116,129],[1,11,30,42,51,76,94],[1,11,23,26,34,39,49,58,65,73],[1,23,33,51,78,93],[1,11,21,27,35,41,51,58,62],[1,10,21,35,45,61],[1,10,34,53,70,105,123,141,160,176,192],[1,15,32,45,59,67,83],[1,14,22,29,43,51,61,76],[1,14,23,31,45,52,64],[1,11,20,28,41,54],[1,12,20],[1,12,23],[1,9,21,28,35,41,53,59,69],[1,10,22,31,37,46],[1,8,15,27,38],[1,13,33,51,68],[1,22,75,114,139],[1,15,27,41,65],[1,10,22,32,42,53,64,71],[1,10,21,28,38,51,61,69,79],[1,9,19,26,33,45],[1,10,20,30,44],[1,16,26,36,46,57,68],[1,30,43],[1,12,22,27],[1,11,21,27],[1,12,20,29],[1,11,18,27],[1,11],[1,16,30],[1,24,47],[1,29],[1,26,33],[1,23,41],[1,26,46],[1,39,75],[1,11,20,26],[1,7,14],[1,11,18],[1,7],[1,10],[1,9],[1,9],[1,11],[1,8],[1,8],[1,15],[1,34],[1,38],[1,36],[1,21],[1,20],[1,20],[1,32],[1,31],[1,23],[1,41],[1,31],[1,27],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1]];function u(e){return+I.slice(0,e).reduce((e,t)=>e+t,0)}let e1=H(115).map(u);function t1(t){return H(115).find(e=>e1[e]>=t)}let s=30,n1=60,a1=240,l1=6236,i1=114,r1=556;function o1(e){return null==e?e:!!e.match(/^[0-9]+$/)}function u1(e,t){return 2===(e=e.split(t)).length&&e.every(o1)}function s1(e){return""===e||o1(e)||u1(e,"//")||u1(e,"/")}function c(e){var t;return""===e?[null,null]:1===(t=e.split("-")).length&&t.every(s1)?[e,e]:2===t.length&&t.every(s1)?t:[null,null]}function c1(t){var e;return t<0||6236t>=u(e)&&ti1))return t=I[n-1],t=Math.max(1,Math.min(t,a)),u(n-1)+t}}else if(!(+e>l1))return+e}function h1(e,t){return t>r[e-1].length?null:[u(e-1)+r[e-1][t-1],t===r[e-1].length?-1+u(e)+r[e][0]:-1+u(e-1)+r[e-1][t]]}function f1(n){var e;if(n.includes("/"))return 2!==(e=n.split("/")).length||+e[0]>i1?null:h1(+e[0],+e[1]);if(!(+n>r1))for(let t=0;tt||+n[1]<0||+n[1]>e))return(+n[0]-1)*e+ +n[1]+1}function y1(e){return e.includes("//")?m1(a1/s,s,e.split("//")):e.includes("/")?m1(a1/n1,n1,e.split("/")):+e>a1?void 0:+e}function p1(e){return e.includes("/")?m1(n1/s,s,e.split("/")):+e>n1?void 0:+e}var v1,g1,k,K,w1,_,b1,A,$={maxCount:150,speed:2,frameInterval:15,alpha:1,gradient:!1,start:null,stop:null,toggle:null,pause:null,resume:null,togglePause:null,remove:null,isPaused:null,isRunning:null};function k1(e,t,n){return e.color=g1[Math.random()*g1.length|0]+($.alpha+")"),e.color2=g1[Math.random()*g1.length|0]+($.alpha+")"),e.x=Math.random()*t,e.y=Math.random()*n-n,e.diameter=10*Math.random()+5,e.tilt=10*Math.random()-10,e.tiltAngleIncrement=.07*Math.random()+.05,e.tiltAngle=Math.random()*Math.PI,e}function K1(){K=!0}function _1(){K=!1,A1()}function A1(){if(!K)if(0===_.length)A.clearRect(0,0,window.innerWidth,window.innerHeight);else{var e=Date.now(),t=e-w1;if(!v1||t>$.frameInterval){A.clearRect(0,0,window.innerWidth,window.innerHeight);var n,a=window.innerWidth,l=window.innerHeight;b1+=.01;for(var i=0;i<_.length;i++)n=_[i],!k&&n.y<-15?n.y=l+100:(n.tiltAngle+=n.tiltAngleIncrement,n.x+=Math.sin(b1)-.5,n.y+=.5*(Math.cos(b1)+n.diameter+$.speed),n.tilt=15*Math.sin(n.tiltAngle)),(n.x>a+20||n.x<-20||n.y>l)&&(k&&_.length<=$.maxCount?k1(n,a,l):(_.splice(i,1),i--));for(var r,o,u,s=A,c=0;c<_.length;c++){var d,h=_[c];s.beginPath(),s.lineWidth=h.diameter,r=(o=h.x+h.tilt)+h.diameter/2,u=h.y+h.tilt+h.diameter/2,$.gradient?((d=s.createLinearGradient(r,h.y,o,u)).addColorStop("0",h.color),d.addColorStop("1.0",h.color2),s.strokeStyle=d):s.strokeStyle=h.color,s.moveTo(r,h.y),s.lineTo(o,u),s.stroke()}w1=e-t%$.frameInterval}requestAnimationFrame(A1)}}function x1(e,t,n){var a,l=window.innerWidth,i=window.innerHeight,r=(window.requestAnimationFrame=window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(e){return window.setTimeout(e,$.frameInterval)},document.getElementById("confetti-canvas")),o=(null===r?((r=document.createElement("canvas")).setAttribute("id","confetti-canvas"),r.setAttribute("style","display:block;z-index:999999;pointer-events:none;position:fixed;top:0"),document.body.prepend(r),r.width=l,r.height=i,window.addEventListener("resize",function(){r.width=window.innerWidth,r.height=window.innerHeight},!0),A=r.getContext("2d")):null===A&&(A=r.getContext("2d")),$.maxCount);for(t?o=n?t==n?_.length+n:(nS1.findIndex(e=>t<=e);function tv(a){let e,l=Y.value,t=(e=l.match(/^([a-z]+)_/))?e[1]:"ar",n="ar"===t?" ":T1.has(t)?` lang="${t}" `:` lang="${t}" dir="ltr" `;var i,r=Y.innerHTML.match('value="'+Y.value+'"[^<>]*>([^<>]+)')[1],r=" "==n?r:`ترجمة ${r}`,o=(we.style.display="block",Se(we),t1(a)-1),u=B.uthm[a-1].replace(/[#A-Z<>]+/g,"");let s=`

${r} للآية ${T(a-e1[o])} من سورة ${Je[o]}

(يمكن تغيير التفسير من «الخيارات» في أعلى الصفحة بعد إغلاق التفسير)

${u}


`;be.innerHTML=s+L1,i=e=>{be.innerHTML=s+"'+e+"
"};{var c=l,d=a;let e=M1(d),t=e-1,n=()=>{return e=z1[c][t][d-S1[t]-1],i(""===e?"
(لا يوجد تفسير لهذه الآية؛ اختر تفسيرا آخر أو آية أخرى)
":e.replace(/اً/g,"ًا"));var e};null==z1[c]&&(z1[c]=[]),z1[c][t]?n():Q1("rt/"+c+"-"+e+".gz").then(e=>{z1[c][t]=e.split("\n"),n()})}}ke.onclick=()=>{Le(we),setTimeout(()=>{we.style.display="none"},1e3)};let C={},E1=f.classList.contains("fullpage");function I1(){B1(C.st,C.en)}function $1(e){var t=e.target.id;"Enter"!==e.key||"aaya_bgn"!==t&&"aaya_end"!==t&&"sura_bgn"!==t&&"sura_end"!==t||("sura_bgn"===t?q:"aaya_bgn"===t?L:"sura_end"===t?S:"aaya_end"===t?i:1).focus()}function C1(){w.hidden&&(w.hidden=!1,$.start(1200,50,150),de.hidden?(N1(),setTimeout(()=>i.focus(),500)):(he.hidden=!0,setTimeout(()=>de.focus(),500)),d.hidden?g.classList.add("done"):(P1(),qe()))}function tab_toggled(e){e.checked&&setTimeout(Ae,100)}function B1(g,w){C.st=g||C.st,C.en=w||C.en,Q.value;var e,t,n,a,l,i=!!W.value,r=F.value,o=P.value,b=v.value,u=(p.checked,!!y.search||!!y.hash),s=(R1(b),de.style.display=i?"block":"none",de.hidden=!i,oe.hidden=!i,ue.hidden=!!i,c1(g-1)),c=c1(w-1),d=([t,d,m,h]=[...s,...c],t=+t,d=+d,m=+m,h=+h,a=I[t-1],f=I[m-1],n=Je[t-1],l=Je[m-1],a=1==d?"الأولى":d===a?T(d)+" الأخيرة":T(d),e=1==h?"الأولى":h===f?T(h)+" الأخيرة":T(h),t==m?d==h?`تسميع الآية ${a} من سورة `+n:h==1+d?`تسميع الآيتين ${a} و${e} من سورة `+n:1==d&&h===f?`تسميع سورة ${n} كاملة`:`تسميع سورة ${n} من الآية ${a} حتى الآية `+e:1==d&&h===f?m==1+t?`تسميع سورتي ${n} و${l} كاملتين`:`تسميع السور من ${n} حتى `+l:`تسميع من سورة ${n} الآية ${a} حتى سورة ${l} الآية `+e),h=s,f=c,m=le.innerHTML=d;u||(y.hash=h.join("/")+"-"+f.join("/")),j("title").innerHTML=m+" | رسيت",E("title",m),x.value=h[0]-1,L.value=f[0]-1,z(q,ze(),h[1]),z(S,Me(),f[1]),t=s,n=c,a=r,l=o,M.init(a,l),M.fill(W1(t[0]-1,t[1],n[0]-1,n[1])),i&&parent.zz_show();{var k=b,K=g,_=w,A="imla"===b?H1:j1;let e=(e,t)=>e<=K&&K=Z1||_>=Z1,s=(e,t,n,a)=>{B[k][t]?a():Q1("res/"+k+e+".gz").then(e=>{B[k]=[...B[k].slice(0,t&&t-1),...e.split("\n"),...B[k].slice(n)],a()})},c=e=>s(1,0,U1,e),d=e=>s(2,U1,Y1,e),h=e=>s(3,Y1,O1,e),f=e=>s(4,O1,X1,e),m=e=>s(5,X1,G1,e),y=e=>s(6,G1,J1,e),p=e=>s(7,J1,Z1,e),v=e=>s(8,Z1,V1,e);if(t&&u)c(()=>d(()=>h(()=>f(()=>m(()=>y(()=>p(()=>v(A))))))));else if(t&&o)c(()=>d(()=>h(()=>f(()=>m(()=>y(()=>p(A)))))));else if(n&&u)d(()=>h(()=>f(()=>m(()=>y(()=>p(()=>v(A)))))));else if(t&&r)c(()=>d(()=>h(()=>f(()=>m(()=>y(A))))));else if(n&&o)d(()=>h(()=>f(()=>m(()=>y(()=>p(A))))));else if(a&&u)h(()=>f(()=>m(()=>y(()=>p(()=>v(A))))));else if(t&&i)c(()=>d(()=>h(()=>f(()=>m(A)))));else if(n&&r)d(()=>h(()=>f(()=>m(()=>y(A)))));else if(a&&o)h(()=>f(()=>m(()=>y(()=>p(A)))));else if(l&&u)f(()=>m(()=>y(()=>p(()=>v(A)))));else if(t&&l)c(()=>d(()=>h(()=>f(A))));else if(n&&i)d(()=>h(()=>f(()=>m(A))));else if(a&&r)h(()=>f(()=>m(()=>y(A))));else if(l&&o)f(()=>m(()=>y(()=>p(A))));else if(i&&u)m(()=>y(()=>p(()=>v(A))));else if(t&&a)c(()=>d(()=>h(A)));else if(n&&l)d(()=>h(()=>f(A)));else if(a&&i)h(()=>f(()=>m(A)));else if(l&&r)f(()=>m(()=>y(A)));else if(i&&o)m(()=>y(()=>p(A)));else if(r&&u)y(()=>p(()=>v(A)));else if(t&&n)c(()=>d(A));else if(n&&a)d(()=>h(A));else if(a&&l)h(()=>f(A));else if(l&&i)f(()=>m(A));else if(i&&r)m(()=>y(A));else if(r&&o)y(()=>p(A));else if(o&&u)p(()=>v(A));else if(t)c(A);else if(n)d(A);else if(a)h(A);else if(l)f(A);else if(i)m(A);else if(r)y(A);else if(o)p(A);else{if(!u)throw`cannot load that: ${K} - `+_;v(A)}}}function H1(){var e=C.st,t=C.en;function i(){if(w.hidden){a&&(h.value=h.value.replace(/ \u06dd/g," ۝").replace(/[^ \xA0\nء-غف-\u0652٠-٩\u06DD]+/g,"").replace(/ +(\n)/g,"$1").replace(/(\A|\n| )[ \n]+/g,"$1"),a=!1);var e=h.value.slice(-2);if(" "!==e&&"\n"!==e||(h.value="")," "!==e&&"\n "!==e&&"\n\n"!==e||(h.value=h.value.slice(0,-1))," \n"===e&&(h.value=h.value.slice(0,-2)+"\n"),Pe(r,h.value)){if(d.classList="",!l)return;("\n"===(e=h.value.slice(-1))||"a"!==te.value&&" "===e)&&u(e),"\n"===e&&M.play(h.value.split("\n").length-2+(n?1:0)),h.value===r&&(h.value=h.value.slice(0,-1),C1(),xe(),h.disabled=!0,d.classList="done",ue.focus())}else e=h.value.slice(-1),"a"!==te.value&&(" "===e&&Pe(r,h.value.slice(0,-1)+"\n")||"\n"===e&&Pe(r,h.value.slice(0,-1)+" "))?d.classList="spacewrong":d.classList="wrong";h.selectionStart===h.value.length&&requestAnimationFrame(qe)}}let n=p.checked,r=(h.focus(),B.imla.slice(e-1,t).map(e=>e.startsWith("#")?e.replace("#","بِسْمِ اللَّهِ الرَّحْمَنِ الرَّحِيمِ\n"):e).join("\n")+"\n"),a=!1,l=h.selectionStart===h.value.length,o=(e,t)=>{let n=0,a=e.replace(new RegExp("[^"+t+"]+","g"),"").length;for(let e=0;e{var t,e=o(h.value,e);h.selectionStart===h.value.length?h.value=r.slice(0,e):(t=De(h.value.slice(0,h.selectionStart)),t=o(t,t.slice(-1)),h.value=r.slice(0,e),h.selectionStart=h.selectionEnd=t+1)},s=0,c=0;h.onkeydown=e=>{var t,n,a=!e.altKey&&!e.ctrlKey;if(a&&"!"===e.key&&window.allow_cheating){e.preventDefault();var l=(new Date).getTime();if(l-c<250)return;if(c=l,10===(s+=1)&&(s=0,Pe(r,h.value,Re))){for(u(De(h.value).slice(-1));h.value=r.slice(0,h.value.length+1),""===De(h.value.slice(-1)););return i(),void qe()}}else s=0,c=0;a&&1===e.key.length&&(e.preventDefault(),(l=window.emulate&&We[window.emulate]&&We[window.emulate][e.code]?We[window.emulate][e.code][+e.shiftKey]:e.key).match(/^[ \nء-غف-\u0652]$|^ل[اأإآ]$/))&&(a=h,(e=l)&&(l=a.selectionStart,n=a.selectionEnd,t=a.value.substring(0,l),n=a.value.substring(n,a.value.length),a.value=t+e+n,a.selectionStart=a.selectionEnd=l+e.length),i())},h.oninput=i,h.onpaste=e=>{a=!0},document.onkeyup=null,document.ondblclick=null,n&&M.play(0)}function j1(){function e(a){if(0!==r.length){let e="a"===a?e=>"a"!==e:"j"===a?e=>"a"!==e&&"j"!==e:e=>!1,t,n="";do{var l=r.shift()}while(n+=l,t=je(l.slice(-2)),e(t));"a"===t&&(M.next(),M.play()),g.innerHTML+=n,0===r.length&&C1(),xe()}}function t(e){let t=g.innerHTML;if(0!==t.length&&w.hidden){for(;0e.replace(/A/,t+a+"A")).reduce((e,t,n)=>(t.startsWith("#")&&(e.push(r+"
"),t=t.replace("#","")),i&&n===l-a&&(t=t.replace(/([\u06DC\u06D6\u06D7\u06D8\u06DA\u06DB]) .*/,"$1")),e.push(t),e),[]).map(e=>e.replace(/أ\u064eو\u064e /g,"أَوَ")).map(e=>e.replace(/([A-Z])<([^>]+)>/g,'$2')).map(e=>e.replace(/ /g,"\t")+"\n").map(e=>e.replace(/_/g," ")).map(e=>e.replace(/([0-9]+)((e.push(...t.split("",-1)),e),[])}(n,a,l)),o=()=>e(""),u=()=>e("a"),s=()=>e("j"),c=()=>t(""),d=()=>t("a"),h=()=>t("j");document.onkeyup=function(e){var t=e.target.nodeName,n=e.key,e=e.shiftKey||e.ctrlKey||e.altKey,a="Backspace"===n||"ArrowRight"===n;"INPUT"!==t&&"SELECT"!==t&&"BUTTON"!==t&&(" "===n||"Enter"===n||"ArrowLeft"===n?(e?u:o)():a?(e?d:c)():"0"!==n&&"["!==n||e?"1"!==n&&"]"!==n||e||h():s())},document.ondblclick=e=>{e.target!==g&&e.target!==f||o()},ge.onclick=u,ve.onclick=s,pe.onclick=o,ye.onclick=c,me.onclick=h,fe.onclick=d,i&&M.play(0)}function D1(){g.hidden=!0,document.onkeyup=null,document.ondblclick=null,m.style.marginTop="4em",d.hidden=!0,w.hidden=!0}document.body.addEventListener("click",e=>{"BUTTON"===e.target.tagName&&("new"===e.target.id?i.focus():e.target.blur())}),b.onclick=e=>{e.target!==b&&("true"===b.getAttribute("aria-expanded")?(b.setAttribute("aria-expanded",!1),b.Qall("circle").forEach(e=>e.setAttribute("cx",950==e.getAttribute("cx")?105:35)),b.Qall("text").forEach(e=>Le(e)),Le(b.Q("line")),b.Q("rect").setAttribute("width",140),setTimeout(()=>b.setAttribute("viewBox","0 0 140 400"),500)):(b.setAttribute("viewBox","0 0 1000 400"),b.setAttribute("aria-expanded",!0),b.Qall("circle").forEach(e=>e.setAttribute("cx",e.getAttribute("cx")<50?450:950)),b.Qall("text").forEach(e=>Se(e)),Se(b.Q("line")),b.Q("rect").setAttribute("width",1e3)))},document.addEventListener("keyup",e=>{"Escape"===e.key&&(M.play(),!d.hidden)&&w.hidden&&h.focus()}),i.onclick=function(){var e=Ee(),t=$e(),n=Ie(),a=Ce();""!==e&&""!==t&&""!==n&&""!==a&&e<=n&&(t<=a||e{D1(),parent.zz_done()},oe.onclick=()=>{D1(),parent.zz_ignore()},onload=function(){{q.innerHTML=S.innerHTML=Be(I[0]),S.value=I[0],q.value=1,x.value=L.value=0,x.oninput=q.oninput=L.oninput=S.oninput=He,x.onblur=q.onblur=L.onblur=S.onblur=He,x.onkeyup=q.onkeyup=L.onkeyup=S.onkeyup=$1;let a="",l=0;q.onkeydown=S.onkeydown=e=>{var t,n;e.key.match(/[0-9]/)&&(t=(new Date).getTime(),l=(t-l<500?a+=e.key:a=e.key,t),n=+e.target.lastChild.value,1<=a&&a<=n?e.target.value=a:1<=e.key&&e.key<=n&&(e.target.value=a=e.key,l=t))}}D("input, select").forEach(e=>e.onchange&&e.onchange()),t=n("xyz"),e=j("body").innerHTML.match(/github[.]com\/([a-z0-9]+)\//)[1],t.innerHTML=e+String.fromCharCode(64)+"pro"+(""+!0)[0]+"moc.liamno".split("").reverse().join(""),t.href=t.innerHTML.slice(16,20)+"to"+String.fromCharCode(64^"xyz".charCodeAt(2))+t.innerHTML;var[e,t]=function(e){let a,l,i=0,r=0;return e.slice(1).split("&").map(e=>e.split("=")).forEach((t,e)=>{var n=(...e)=>e.includes(t[0]);n("a")?i=isNaN(+t[1])?i:+t[1]:n("b")?r=isNaN(+t[1])?r:+t[1]:n("p")?[a,l]=function(e,t){if(null!=e&&(t=+t||604,!(604<(e=+e||1)||604i1||t>i1)))return[u(e-1)+1,u(t-1)+I[t-1]]}(...c(t[1]))||[a,l]:n("r")?[a,l]=function(e,t){if(null!=e&&(e=y1(e),t=y1(t),null!=e)&&null!=t)return[o[(e||1)-1]+1,o[t||240]]}(...c(t[1]))||[a,l]:n("h")?[a,l]=function(e,t){if(null!=e){var n,e=p1(e),t=p1(t);if(null!=e&&null!=t)return n=a1/n1,[o[((e||1)-1)*n]+1,o[(t||60)*n]]}}(...c(t[1]))||[a,l]:n("j")?[a,l]=function(e,t){var n;if(null!=e&&(e=+e||1,t=+t||s,!(e>s||t>s)))return n=a1/s,[o[((e||1)-1)*n]+1,o[(t||s)*n]]}(...c(t[1]))||[a,l]:n("k")?[a,l]=function(e,t){if(null!=e&&(e=f1(e),t=f1(t),null!=e)&&null!=t)return[e[0],t[1]]}(...c(t[1]))||[a,l]:[a,l]=function(e,t){if(e&&(e=d1(e),t=d1(t),null!=e)&&null!=t)return[+e||1,+t||l1]}(...c(t[0]))||[a,l]}),null==a||null==l?[null,null]:(a-=r,l+=i,a<=0&&(a=1),6236{t.addEventListener("toggle",e=>{t.open&&(window.prefers_reduced_motion?t.scrollIntoView({block:"nearest",inline:"nearest"}):t.scrollIntoView({behavior:"smooth",block:"nearest",inline:"nearest"}))})})},h.onfocus=()=>h.scrollIntoView(window.scroll_behavior),window.visualViewport&&window.visualViewport.addEventListener("resize",e=>{d.hidden||(w.hidden?(d.style.height=E1?e.target.height+"px":Math.trunc(.95*e.target.height)+"px",h.scrollIntoView()):P1())});var Q1=(()=>{var t=Uint8Array,n=Uint16Array,C=e=>new t(e),c=e=>new n(e),e=(t.prototype.S=t.prototype.subarray,e=>C(e.split("").map(e=>parseInt(e,36)))),B=e("00000000111122223333444455550000"),H=e("0000112233445566778899AABBCCDD00"),j=e("GHI08796A5B4C3D2E1F"),D=(i=(t,n)=>{var a=c(31);for(let e=0;e<31;++e)a[e]=n+=1<>1|(21845&e)<<1))>>2|(13107&a)<<2))>>4|(3855&a)<<4;d[e]=((65280&a)>>8|(255&a)<<8)>>1}var N=(a,l,e)=>{let t=a.length,i=0;for(var n=c(l);i>u]=e}}else for(o=c(t),i=0;i>15-a[i]);return o},l=C(288);for(let e=0;e<144;++e)l[e]=8;for(let e=144;e<256;++e)l[e]=9;for(let e=256;e<280;++e)l[e]=7;for(let e=280;e<288;++e)l[e]=8;var i=e("5".repeat(32)),F=N(l,9,1),P=N(i,5,1),Q=t=>{let n=t[0];for(let e=1;en&&(n=t[e]);return n},W=(e,t,n)=>{var a=t/8|0;return(e[a]|e[1+a]<<8)>>(7&t)&n},V=(e,t)=>{var n=t/8|0;return(e[n]|e[1+n]<<8|e[2+n]<<16)>>(7&t)},r=["unexpected EOF","bad block type","bad length/literal","bad distance","bad gzip data"],U=(e,t)=>{throw new Error(r[e]||t)};return e=>fetch(e).then(e=>(e.ok||U(9,"HTTP error, status = "+e.status),e.arrayBuffer())).then(e=>{return(new TextDecoder).decode(((t=(t=>{31==t[0]&&139==t[1]&&8==t[2]||U(4);let n=t[3],a=10;4&n&&(a+=2+(t[10]|t[11]<<8));for(let e=(n>>3&1)+(n>>4&1);0e.length&&U(4),((a,l,i)=>{var e,t,r=a.length;if(!r||l.f&&!l.l)return i||C(0);let n=!i,o=n||2!=l.i,u=l.i,s=(n&&(i=C(3*r)),e=>{var t=i.length;t>=4)<16)K[n++]=L;else{let e=0,t=0;for(16==L?(t=3+W(a,d,3),d+=2,e=K[n-1]):17==L?(t=3+W(a,d,7),d+=3):18==L&&(t=11+W(a,d,127),d+=7);t--;)K[n++]=e}}var S=K.S(0,w),T=K.S(w);y=Q(S),p=Q(T),f=N(S,y,1),m=N(T,p,1)}else U(1);if(d>v){u&&U(0);break}}o&&s(h+131072);let e=(1<>4;if((d+=15&M)>v){u&&U(0);break}if(M||U(2),z<256)i[h++]=z;else{if(256==z){t=d,f=null;break}{let e=z-254;264>4;M||U(3),d+=15&M;let t=R[z];if(3v){u&&U(0);break}o&&s(h+131072);var E=h+e;if(he.length)&&(t=e.length),C(e.S(0,t))):i.S(0,h)})(e.S(t,-8),{i:2},C((e=(t=e).length,(t[e-4]|t[e-3]<<8|t[e-2]<<16|t[e-1]<<24)>>>0)))));var t})})();let W1=(e,n,a,l)=>H(115).slice(+e+1,+a+2).map(t=>H(+I[t-1]+1).slice(t===+e+1?+n:1,t===+a+1?+l+1:300).map(e=>t.toString().padStart(3,"0")+e.toString().padStart(3,"0"))).reduce((e,t)=>(!t[0].match(/001$/)||t[0].match(/^001/)||t[0].match(/^009/)||t.unshift("001001"),e.push(...t),e),[]),V1=6236;var B={imla:Array(V1),uthm:Array(V1)};let U1=494,Y1=955,O1=1474,X1=2141,G1=2933,J1=3789,Z1=4736 \ No newline at end of file +let D=e=>[...Array(e).keys()];function j(e){return document.querySelector(e)}function l(e){return document.querySelectorAll(e)}function n(e){return document.getElementById(e)}function N(e,t={}){var n,a=document.createElement(e);for(n in t)if("data"===n)for(var r in t[n])a.dataset[r]=t[n][r];else a[n]=t[n];return a}function t(e,t={}){var n,a=document.createElementNS("http://www.w3.org/2000/svg",e);for(n in t)a.setAttribute(n,t[n]);return a}Element.prototype.Q=Element.prototype.querySelector,Element.prototype.Qall=Element.prototype.querySelectorAll;let R=t("svg",{id:"spinner-svg",viewBox:"0 0 100 100"}),v=(R.appendChild(t("circle",{id:"spinner",cx:50,cy:50,r:35,fill:"none","stroke-width":"10","stroke-dasharray":"40 30"})),location),r=localStorage,a=(e,t=!0)=>{t?r.setItem(e,"Y"):r.removeItem(e)},F=n("dark"),h=n("body"),Q=(n("all"),n("help"),n("helptoggle"),n("optiontoggle"),n("options"),n("guide"),n("darkmode_option"),n("darkmode_input")),P=n("teacher_option"),W=n("teacher_input"),O=n("qaris"),V=n("qariurl"),U=n("cn"),Y=n("zz"),X=n("quizmode_option"),g=n("quizmode"),Z=n("uthm_options"),G=(n("uthm_options_title"),n("tafsir")),J=n("mvbtns_input"),ee=n("textclr_input"),te=n("ayatnum_input"),ne=n("linebreaks_input"),ae=n("tl_input"),re=n("imla_options"),ie=(n("imla_options_title"),n("feedbackrate")),le=(n("helpcontent"),n("player")),oe=n("preloader"),ue=n("title"),ce=n("selectors"),y=n("sura_bgn"),w=n("aaya_bgn"),b=n("sura_end"),k=n("aaya_end"),se=n("ok"),de=n("header"),fe=n("zzignore"),he=n("new"),pe=n("repeat"),me=n("end_of_header"),p=n("tafsirhint"),m=n("uthm_txt"),d=n("imla_txt_container"),f=n("imla_txt"),K=n("endmsg"),ve=n("zzback"),ge=n("mvbtns"),ye=n("prevaaya"),we=n("prevjmla"),be=n("prevword"),ke=n("nextword"),Ke=n("nextjmla"),xe=n("nextaaya"),x=n("tl"),Te=(n("N"),n("X"),n("R"),n("Q"),n("L"),n("W"),n("J"),n("T"),n("tvc")),Ae=n("tv"),Me=n("sxc"),_e=(n("sx"),n("sxi"),n("sura_sx")),T=n("sxq"),A=n("sxr"),Le=e=>e.scrollTo({top:0}),Se=e=>e.scrollTo({top:e.scrollHeight}),Ee=()=>Le(h),qe=()=>Se(h),ze=()=>{Se(h),Se(f)},Ie=e=>{e.style.visibility="hidden",e.style.opacity="0"},Ce=e=>{e.style.visibility="visible",e.style.opacity="1"},M=e=>e.toString().replace(/[0٠]/g,"٠").replace(/[1١]/g,"١").replace(/[2٢]/g,"٢").replace(/[3٣]/g,"٣").replace(/[4٤]/g,"٤").replace(/[5٥]/g,"٥").replace(/[6٦]/g,"٦").replace(/[7٧]/g,"٧").replace(/[8٨]/g,"٨").replace(/[9٩]/g,"٩").replace(/[^٠١٢٣٤٥٦٧٨٩]/g,""),e,$e,Be=()=>""===y.value?0:S[+y.value],He=()=>""===b.value?0:S[+b.value],De=()=>""===y.value?"":+y.value,je=()=>""===b.value?"":+b.value,Ne=()=>""===w.value?"":+w.value,Re=()=>""===k.value?"":+k.value,Fe=e=>D(e).map(e=>``).join(""),Qe=(e,t,n)=>{Ne(),e.innerHTML=Fe(t),e.value=n||t};function Pe(e){var t=e.target,e="blur"===e.type;t!==w&&k,e||t!==y?e||t!==b||(Qe(k,He()),je()=t.length}function l(e){if(!i(e=r(e)))return n+t[e]+".mp3"}function o(e){i(e=r(e))||(oe.src=l(e))}function u(e){a=e,o()}function c(){(i()?Ie:Ce)(le)}function s(e){n=e?`https://www.everyayah.com/data/${e}/`:void 0,o()}return{update_qari:function(e){s(e),c()},init:function(e,t){s(e),!e&&t&&(n=t.endsWith("/")?t:t+"/"),u(0)},fill:function(e){t=e,u(0),c()},play:function(e){null!=e&&u(e),c(),i()||(le.src=l(),le.addEventListener("loadeddata",()=>o(a+1)),le.play())},set_index:function(e){u(e)},next:function(){u(a+1)},back:function(){u(a-1)}}}();function We(e){var t=e.slice(-1);return""===t||"\n"===t?"a":e.match(/[\u06D6-\u06DC]\t/)?"j":""}function L(e,t){(e="zz_set_"+e)in parent&&parent[e](t)}function change_qari(){var e=O.value;""!==e?r.setItem("qari",e):r.removeItem("qari"),_.update_qari(e),L("qari",e)}function change_quizmode(){L("quizmode",g.value),a("imla","imla"===g.value),"imla"===g.value?(Z.style.display="none",re.style.display="block",p.hidden=m.hidden||K.hidden):(re.style.display="none",Z.style.display="block",p.hidden=ce.hidden,p.hidden=m.hidden^K.hidden)}let Oe=e=>e.replace(/[\u064B-\u0652\xA0\u06DD٠-٩]+/g,""),Ve=e=>e,Ue=e=>e.replace(/\S*$/,""),Ye=e=>e.replace(/[^\n]*$/,"");function change_feedbackrate(){var e=ie.value;window.imlafilter="a"===e?Ye:"w"===e?Ue:Ve,f.value&&f.oninput&&f.oninput(),"l"===e?r.removeItem("fbrate"):r.setItem("fbrate",e),L("feedbackrate",e)}window.imlafilter=Ve;let Xe=(e,t,n=window.imlafilter)=>Oe(e).startsWith(Oe(n(t))),Ze=(e,t)=>m.classList.toggle(e,t);function change_tajweed(){var e=ee.value;a("notajweed","taj"!==e),Ze("letter-parts","bas"===e),Ze("letter-nocolor","no"===e),L("tajweed",e.slice(0,1))}function change_teacher(){var e=W.checked;a("teacher",e),L("teacher",e)}function change_ayatnum(){var e=!te.checked;a("noayatnumcolor",e),Ze("ayat-nocolor",e),L("ayatnum",!e)}function change_linebreaks(){var e=!ne.checked;a("nolinebreaks",e),Ze("nb",e),L("linebreaks",!e)}function change_dark(){var e=Q.checked;r.setItem("dark",e?"Y":"N"),L("dark",F.checked=e)}function change_mvbtns(){var e=J.value,t=("b"===e?r.removeItem("mvbtns"):r.setItem("mvbtns",e),"r"===e?"sidebtns rightside":"l"===e?"sidebtns leftside":"");ge.className=t,m.classList.toggle("sidebtns",t),x.classList.toggle("right","l"===e),L("mvbtns",e)}function change_tafsir(){var e=G.value;"ar_muyassar"===e?r.removeItem("tafsir"):r.setItem("tafsir",e),L("tafsir",e)}function change_tajweedlegend(){a("notajweedlegend",!ae.checked),ae.checked?m.hidden||(x.style.display=""):("true"===x.getAttribute("aria-expanded")&&x.onclick({}),x.style.display="none")}let Ge={arak:{Backquote:["`","~"],Minus:["[","{"],Equal:["]","}"],KeyQ:["ض",'"'],KeyW:["ع","غ"],KeyE:["ب","پ"],KeyR:["ح","َ"],KeyT:["س","ً"],KeyY:["خ","ٌ"],KeyU:["د","ُ"],KeyI:["أ","آ"],KeyO:["ك","گ"],KeyP:["ج","چ"],BracketLeft:["/","؟"],BracketRight:["=","+"],KeyA:["ه","؛"],KeyS:["ي","»"],KeyD:["م","«"],KeyF:["ن","ْ"],KeyG:["ف","ڤ"],KeyH:["ت","ث"],KeyJ:["ل","ّ"],KeyK:["ا","ء"],KeyL:["و","ؤ"],Semicolon:["ر",">"],Quote:["إ","<"],KeyZ:[".",":"],KeyX:["،","ـ"],KeyC:["ش","_"],KeyV:["ق","-"],KeyB:["ص","'"],KeyN:["ذ","ٍ"],KeyM:["ة","ِ"],Comma:["ى","ئ"],Period:["ز","ژ"],Slash:["ط","ظ"]},dv:{Backquote:["`","~"],Minus:["[","{"],Equal:["]","}"],KeyQ:["'",'"'],KeyW:["،","<"],KeyE:[".",">"],KeyR:["ط","ظ"],KeyT:["ى","آ"],KeyY:["ف","ڤ"],KeyU:["غ","ـ"],KeyI:["ص","ض"],KeyO:["ر","»"],KeyP:["ل","«"],BracketLeft:["/","؟"],BracketRight:["=","+"],KeyA:["ا","أ"],KeyS:["ع","إ"],KeyD:["ه","ة"],KeyF:["و","ؤ"],KeyG:["ي","ئ"],KeyH:["د","َ"],KeyJ:["ح","ً"],KeyK:["ت","ٌ"],KeyL:["ن","ُ"],Semicolon:["س","ش"],Quote:["-","_"],KeyZ:["؛",":"],KeyX:["ق","ء"],KeyC:["ج","چ"],KeyV:["ك","گ"],KeyB:["خ","ْ"],KeyN:["ب","پ"],KeyM:["م","ّ"],Comma:["ث","ٍ"],Period:["ذ","ِ"],Slash:["ز","ژ"]},ibm:{Backquote:["ذ","ّ"],Minus:["-","_"],Equal:["=","+"],KeyQ:["ض","َ"],KeyW:["ص","ً"],KeyE:["ث","ُ"],KeyR:["ق","ٌ"],KeyT:["ف","لإ"],KeyY:["غ","إ"],KeyU:["ع","`"],KeyI:["ه","÷"],KeyO:["خ","×"],KeyP:["ح","؛"],BracketLeft:["ج","<"],BracketRight:["د",">"],KeyA:["ش","ِ"],KeyS:["س","ٍ"],KeyD:["ي","]"],KeyF:["ب","["],KeyG:["ل","لأ"],KeyH:["ا","أ"],KeyJ:["ت","ـ"],KeyK:["ن","،"],KeyL:["م","/"],Semicolon:["ك",":"],Quote:["ط",'"'],KeyZ:["ئ","~"],KeyX:["ء","ْ"],KeyC:["ؤ","}"],KeyV:["ر","{"],KeyB:["لا","لآ"],KeyN:["ى","آ"],KeyM:["ة","'"],Comma:["و",","],Period:["ز","."],Slash:["ظ","؟"]},mac:{Backquote:["§","±"],Minus:["-","_"],Equal:["=","+"],KeyQ:["ض","َ"],KeyW:["ص","ً"],KeyE:["ث","ِ"],KeyR:["ق","ٍ"],KeyT:["ف","ُ"],KeyY:["غ","ٌ"],KeyU:["ع","ْ"],KeyI:["ه","ّ"],KeyO:["خ","]"],KeyP:["ح","["],BracketLeft:["ج","}"],BracketRight:["ة","{"],KeyA:["ش","»"],KeyS:["س","«"],KeyD:["ي","ى"],KeyF:["ب",""],KeyG:["ل",""],KeyH:["ا","آ"],KeyJ:["ت",""],KeyK:["ن",""],KeyL:["م",""],Semicolon:["ك",":"],Quote:["؛",'"'],KeyZ:["ظ",""],KeyX:["ط",""],KeyC:["ذ","ئ"],KeyV:["د","ء"],KeyB:["ز","أ"],KeyN:["ر","إ"],KeyM:["و","ؤ"],Comma:["،",">"],Period:[".","<"],Slash:["/","؟"]}},Je={l:"l",letter:"l",w:"w",word:"w",a:"a",aaya:"a"},e1={t:"taj",taj:"taj",tajweed:"taj",b:"bas",bas:"bas",basic:"bas",n:"no",no:"no",none:"no"},t1={i:"imla",imla:"imla",imlaai:"imla",u:"uthm",uthm:"uthm",uthmani:"uthm"};function n1(e){return t1[e.toLowerCase()]}function a1(e,t,n,a){e.value=null!=t?t:r.getItem(n),e.value||(e.value=a),e.value!==a&&r.setItem(n,e.value),e.onchange()}function r1(e,t,n){e.checked=null!=t?!t:!r.getItem(n),a(n,!e.checked),e.onchange()}null==(e=function(e){let r,i,l,o,u,c,s,d,f,h,p,m,v,g,y,w,b,k,K;return e.slice(1).split("&").map(e=>e.split("=")).forEach((t,e)=>{var n,a=(...e)=>e.includes(t[0]);a("dark","d")?r=!0:a("light","l")?r=!1:a("color","c")?i=(n=t[1],e1[n.toLowerCase()]||i):a("mvbtns","mv","m")?l=(""==(n=(n=t[1]).toLowerCase())||"b"==n?"b":"r"==n?"r":"l"==n?"l":void 0)||l:a("quizmode","qz","q")?o=n1(t[1])||o:a("txt")?o=n1("imlaai"):a("byaaya")?u="a":a("byword")?u="w":a("byletter")?u="l":a("by")?u=(n=t[1],Je[n.toLowerCase()]||u):a("linebreaks")?c=!1:a("nolinebreaks")?c=!0:a("t","teach","teacher")?f=!0:a("n","noteach","noteacher")?f=!1:a("dt","disableteacher")?h=!0:a("dq","disablequizmode")?p=!0:a("dc","disablecheat")?m=!0:a("hc","highcontrast")?v=!0:a("lc","lowcontrast")?g=!0:a("emu","emulate","emulation")?w=t[1]:a("qari")?s=t[1]:a("qariurl")?d=t[1]:a("tafsir")?y=t[1]:a("fp","fullpage")?b=!0:a("cn")?k=!0:a("zz")&&(K=!0)}),{dark:r,color:i,mv:l,quizmode:o,fbrate:u,nolinebreaks:c,teacher:f,disableteacher:h,disablequizmode:p,disablecheat:m,highcontrast:v,lowcontrast:g,emulate:w,qari:s,qariurl:d,fullpage:b,cn:k,zz:K}}(v.hash||v.search)).quizmode?r.imla&&(g.value="imla",g.onchange()):(g.value=e.quizmode,g.onchange(),a("imla","imla"===e.quizmode)),e.highcontrast&&h.classList.add("highcontrast"),e.lowcontrast&&h.classList.add("lowcontrast"),null==e.dark&&null==r.getItem("dark")?e.dark=window.matchMedia("(prefers-color-scheme: dark)").matches:null!=e.dark&&r.setItem("dark",e.dark?"Y":"N"),Q.checked=e.dark||"Y"===r.dark,Q.onchange(),window.prefers_reduced_motion=window.matchMedia("(prefers-reduced-motion: reduce)").matches,null==e.teacher?W.checked=!!r.teacher:(W.checked=e.teacher,a("teacher",e.teacher)),a1(G,e.tafsir,"tafsir","ar_muyassar"),a1(O,e.qari,"qari",""),a1(J,e.mv,"mvbtns","b"),a1(ie,e.fbrate,"fbrate","l"),e.qariurl&&(O.value="_"),V.value=e.qariurl||"",ee.value=null!=e.color?e.color:r.notajweed?"no":"taj","taj"!==ee.value&&r.setItem("notajweed","Y"),ee.onchange(),r1(ne,e.nolinebreaks,"nolinebreaks"),r1(te,null,"noayatnumcolor"),r1(ae,null,"notajweedlegend"),$e=e=>e.style.display="none",e.disableteacher&&$e(P),e.disablequizmode&&($e(X),l(".mode_options_title").forEach($e)),window.allow_cheating=!e.disablecheat,e.emulate&&Ge[e.emulate]&&(window.emulate=e.emulate),e.fullpage&&h.classList.add("fullpage"),e.cn&&(U.value=e.cn?"1":""),e.zz&&(Y.value=e.zz?"1":"");let S=[7,286,200,176,120,165,206,75,129,109,123,111,43,52,99,128,111,110,98,135,112,78,118,64,77,227,93,88,69,60,34,30,73,54,45,83,182,88,75,85,54,53,89,59,37,35,38,29,18,45,60,49,62,55,78,96,29,22,24,13,14,11,11,18,12,12,30,52,52,44,28,28,20,56,40,31,50,40,46,42,29,19,36,25,22,17,19,26,30,20,15,21,11,8,8,19,5,8,8,11,11,8,3,9,5,4,7,3,6,3,5,4,5,6],i1=["الفاتحة","البقرة","آل عمران","النساء","المائدة","الأنعام","الأعراف","الأنفال","التوبة","يونس","هود","يوسف","الرعد","إبراهيم","الحجر","النحل","الإسراء","الكهف","مريم","طه","الأنبياء","الحج","المؤمنون","النور","الفرقان","الشعراء","النمل","القصص","العنكبوت","الروم","لقمان","السجدة","الأحزاب","سبأ","فاطر","يس","الصافات","ص","الزمر","غافر","فصلت","الشورى","الزخرف","الدخان","الجاثية","الأحقاف","محمد","الفتح","الحجرات","ق","الذاريات","الطور","النجم","القمر","الرحمن","الواقعة","الحديد","المجادلة","الحشر","الممتحنة","الصف","الجمعة","المنافقون","التغابن","الطلاق","التحريم","الملك","القلم","الحاقة","المعارج","نوح","الجن","المزمل","المدثر","القيامة","الإنسان","المرسلات","النبأ","النازعات","عبس","التكوير","الانفطار","المطففين","الانشقاق","البروج","الطارق","الأعلى","الغاشية","الفجر","البلد","الشمس","الليل","الضحى","الشرح","التين","العلق","القدر","البينة","الزلزلة","العاديات","القارعة","التكاثر","العصر","الهمزة","الفيل","قريش","الماعون","الكوثر","الكافرون","النصر","المسد","الإخلاص","الفلق","الناس"],l1=[0,32,50,66,81,98,112,130,148,164,183,195,209,225,239,249,259,269,278,289,307,325,344,367,385,405,425,445,463,478,493,504,516,528,550,566,580,592,606,627,640,655,669,680,695,709,719,735,750,765,777,801,824,847,862,883,899,915,929,939,954,984,1e3,1018,1041,1070,1095,1109,1124,1142,1160,1181,1200,1220,1235,1253,1268,1280,1294,1309,1327,1345,1356,1374,1389,1416,1434,1453,1478,1496,1513,1533,1556,1580,1602,1625,1648,1672,1696,1711,1725,1741,1759,1777,1802,1851,1901,1930,1951,1975,1990,2011,2029,2051,2078,2098,2127,2156,2171,2190,2214,2238,2271,2308,2348,2402,2430,2458,2483,2511,2533,2565,2595,2613,2632,2654,2673,2708,2747,2791,2811,2825,2843,2855,2875,2907,2932,2983,3042,3112,3159,3185,3214,3240,3263,3280,3302,3327,3340,3365,3385,3409,3439,3462,3490,3513,3533,3550,3563,3583,3592,3615,3629,3651,3674,3700,3732,3764,3809,3870,3932,3990,4021,4065,4089,4110,4133,4153,4173,4198,4226,4242,4264,4284,4298,4322,4348,4381,4430,4484,4510,4530,4554,4577,4600,4612,4625,4656,4705,4758,4809,4854,4901,4979,5053,5090,5104,5117,5136,5156,5177,5191,5217,5229,5241,5271,5323,5393,5447,5494,5551,5609,5672,5758,5829,5884,5948,6023,6090,6154,6236],o1=[0,7,12,23,31,36,44,55,64,68,76,83,90,95,100,108,112,119,126,133,141,148,152,160,170,176,183,188,193,197,203,209,217,222,226,231,237,240,244,252,255,259,263,266,271,276,281,288,289,293,302,308,315,322,330,338,345,354,363,370,376,384,393,401,408,414,425,433,441,446,450,458,466,473,479,487,493,499,504,507,512,516,519,526,530,537,544,552,558,567,572,579,584,587,594,598,606,614,620,627,633,640,647,655,663,668,671,674,678,682,686,692,700,705,710,714,719,726,733,739,745,751,758,764,772,777,782,789,797,807,816,824,833,841,848,857,862,870,879,883,890,899,907,913,920,926,931,935,940,946,954,965,976,984,991,997,1005,1011,1021,1027,1035,1041,1049,1058,1074,1084,1091,1097,1103,1109,1113,1117,1124,1132,1141,1149,1160,1168,1176,1185,1193,1200,1205,1212,1221,1229,1235,1241,1248,1255,1261,1266,1271,1275,1282,1289,1296,1303,1307,1314,1321,1328,1334,1341,1346,1352,1357,1364,1370,1378,1384,1389,1397,1406,1417,1425,1434,1442,1452,1461,1470,1478,1485,1492,1501,1510,1518,1526,1535,1544,1554,1561,1570,1581,1590,1600,1610,1618,1626,1633,1639,1648,1659,1665,1674,1682,1691,1699,1707,1712,1720,1725,1735,1741,1749,1755,1760,1768,1774,1783,1792,1802,1817,1833,1853,1872,1892,1907,1915,1927,1935,1943,1955,1965,1973,1980,1988,1994,2003,2011,2019,2029,2036,2046,2056,2067,2078,2087,2095,2104,2115,2125,2133,2144,2155,2160,2167,2174,2185,2193,2201,2214,2223,2237,2250,2261,2275,2288,2301,2314,2326,2345,2360,2385,2399,2412,2424,2435,2446,2461,2473,2483,2493,2507,2518,2527,2540,2555,2564,2573,2584,2595,2600,2610,2618,2625,2633,2641,2650,2659,2667,2673,2690,2700,2715,2732,2747,2762,2777,2791,2801,2811,2818,2822,2827,2834,2844,2849,2852,2857,2866,2875,2887,2898,2910,2922,2932,2951,2971,2992,3015,3043,3068,3091,3115,3138,3159,3172,3181,3194,3203,3214,3222,3235,3247,3257,3265,3273,3280,3287,3295,3302,3311,3322,3329,3336,3346,3354,3363,3370,3378,3385,3392,3403,3414,3424,3433,3441,3450,3459,3469,3480,3488,3497,3503,3514,3523,3533,3539,3548,3555,3563,3568,3576,3583,3587,3595,3606,3613,3620,3628,3637,3645,3654,3663,3671,3678,3690,3698,3704,3717,3732,3745,3759,3775,3788,3812,3839,3864,3890,3914,3941,3970,3986,3996,4012,4031,4053,4063,4068,4079,4089,4098,4105,4114,4125,4132,4140,4149,4158,4166,4173,4182,4191,4199,4210,4218,4229,4238,4247,4256,4264,4272,4282,4287,4294,4303,4316,4323,4335,4347,4358,4372,4385,4398,4414,4432,4453,4473,4486,4495,4505,4515,4524,4530,4538,4545,4556,4564,4574,4583,4592,4598,4606,4611,4616,4623,4630,4645,4665,4681,4705,4726,4749,4766,4784,4810,4828,4852,4873,4895,4917,4941,4968,4995,5029,5055,5078,5086,5093,5099,5104,5110,5115,5125,5129,5135,5142,5150,5155,5161,5168,5177,5185,5192,5199,5208,5217,5222,5229,5236,5241,5253,5267,5286,5313,5331,5357,5385,5414,5429,5447,5460,5475,5494,5512,5542,5570,5596,5616,5641,5672,5702,5727,5758,5800,5829,5854,5882,5909,5931,5963,5993,6016,6043,6072,6098,6125,6137,6155,6176,6193,6207,6221,6236],u1=[[1],[1,8,21,30,40,47,60,62,72,83,87,97,104,113,122,130,142,148,153,164,168,177,183,189,197,211,217,222,229,232,236,243,249,254,258,261,267,274,282,284],[1,10,21,31,42,55,64,72,81,92,102,110,121,130,144,149,156,172,181,190],[1,11,15,23,26,34,43,51,60,71,77,88,92,97,101,105,113,116,127,135,142,153,163,172],[1,6,12,20,27,35,44,51,57,67,78,87,94,101,109,116],[1,11,21,31,42,51,56,61,71,83,91,95,101,111,122,130,141,145,151,155],[1,11,26,32,40,48,54,59,65,73,85,94,100,109,127,130,142,148,152,158,163,172,182,189],[1,11,20,29,38,45,49,59,65,70],[1,7,17,25,30,38,43,60,67,73,81,90,100,111,119,123],[1,11,21,31,41,54,61,71,83,93,104],[1,9,25,36,50,61,69,84,96,110],[1,7,21,30,36,43,50,58,69,80,94,105],[1,8,19,27,32,38],[1,7,13,22,28,35,42],[1,16,26,45,61,80],[1,10,22,26,35,41,51,61,66,71,77,84,90,101,111,120],[1,11,23,31,41,53,61,71,78,85,94,101],[1,13,18,23,32,45,50,54,60,71,83,102],[1,16,41,51,66,83],[1,25,55,77,90,105,116,129],[1,11,30,42,51,76,94],[1,11,23,26,34,39,49,58,65,73],[1,23,33,51,78,93],[1,11,21,27,35,41,51,58,62],[1,10,21,35,45,61],[1,10,34,53,70,105,123,141,160,176,192],[1,15,32,45,59,67,83],[1,14,22,29,43,51,61,76],[1,14,23,31,45,52,64],[1,11,20,28,41,54],[1,12,20],[1,12,23],[1,9,21,28,35,41,53,59,69],[1,10,22,31,37,46],[1,8,15,27,38],[1,13,33,51,68],[1,22,75,114,139],[1,15,27,41,65],[1,10,22,32,42,53,64,71],[1,10,21,28,38,51,61,69,79],[1,9,19,26,33,45],[1,10,20,30,44],[1,16,26,36,46,57,68],[1,30,43],[1,12,22,27],[1,11,21,27],[1,12,20,29],[1,11,18,27],[1,11],[1,16,30],[1,24,47],[1,29],[1,26,33],[1,23,41],[1,26,46],[1,39,75],[1,11,20,26],[1,7,14],[1,11,18],[1,7],[1,10],[1,9],[1,9],[1,11],[1,8],[1,8],[1,15],[1,34],[1,38],[1,36],[1,21],[1,20],[1,20],[1,32],[1,31],[1,23],[1,41],[1,31],[1,27],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1]];function o(e){return+S.slice(0,e).reduce((e,t)=>e+t,0)}let E=D(115).map(o);function c1(t){return D(115).find(e=>E[e]>=t)}let u=30,s1=60,d1=240,f1=6236,h1=114,p1=604,m1=556;function v1(e){return null==e?e:!!e.match(/^[0-9]+$/)}function g1(e,t){return 2===(e=e.split(t)).length&&e.every(v1)}function y1(e){return""===e||v1(e)||g1(e,"//")||g1(e,"/")}function c(e){var t;return""===e?[null,null]:1===(t=e.split("-")).length&&t.every(y1)?[e,e]:2===t.length&&t.every(y1)?t:[null,null]}function w1(t){var e;return t<0||6236t>=o(e)&&th1))return t=S[n-1],t=Math.max(1,Math.min(t,a)),o(n-1)+t}}else if(!(+e>f1))return+e}function k1(e,t){return t>u1[e-1].length?null:[o(e-1)+u1[e-1][t-1],t===u1[e-1].length?-1+o(e)+u1[e][0]:-1+o(e-1)+u1[e-1][t]]}function K1(n){var e;if(n.includes("/"))return 2!==(e=n.split("/")).length||+e[0]>h1?null:k1(+e[0],+e[1]);if(!(+n>m1))for(let t=0;tt||+n[1]<0||+n[1]>e))return(+n[0]-1)*e+ +n[1]+1}function T1(e){return e.includes("//")?x1(d1/u,u,e.split("//")):e.includes("/")?x1(d1/s1,s1,e.split("/")):+e>d1?void 0:+e}function A1(e){return e.includes("/")?x1(s1/u,u,e.split("/")):+e>s1?void 0:+e}var M1,_1,L1,q,S1,z,E1,q1,I={maxCount:150,speed:2,frameInterval:15,alpha:1,gradient:!1,start:null,stop:null,toggle:null,pause:null,resume:null,togglePause:null,remove:null,isPaused:null,isRunning:null};function z1(e,t,n){return e.color=_1[Math.random()*_1.length|0]+(I.alpha+")"),e.color2=_1[Math.random()*_1.length|0]+(I.alpha+")"),e.x=Math.random()*t,e.y=Math.random()*n-n,e.diameter=10*Math.random()+5,e.tilt=10*Math.random()-10,e.tiltAngleIncrement=.07*Math.random()+.05,e.tiltAngle=Math.random()*Math.PI,e}function I1(){q=!0}function C1(){q=!1,$1()}function $1(){if(!q)if(0===z.length)q1.clearRect(0,0,window.innerWidth,window.innerHeight);else{var e=Date.now(),t=e-S1;if(!M1||t>I.frameInterval){q1.clearRect(0,0,window.innerWidth,window.innerHeight);var n,a=window.innerWidth,r=window.innerHeight;E1+=.01;for(var i=0;ia+20||n.x<-20||n.y>r)&&(L1&&z.length<=I.maxCount?z1(n,a,r):(z.splice(i,1),i--));for(var l,o,u,c=q1,s=0;sD1.findIndex(e=>t<=e);function tv(a){let e,r=G.value,t=(e=r.match(/^([a-z]+)_/))?e[1]:"ar",n="ar"===t?" ":j1.has(t)?` lang="${t}" `:` lang="${t}" dir="ltr" `;var i,l=G.innerHTML.match('value="'+G.value+'"[^<>]*>([^<>]+)')[1],l=" "==n?l:`ترجمة ${l}`,o=(Te.style.display="block",Ce(Te),c1(a)-1),u=H.u[a-1].replace(/[#A-Z<>]+/g,"");let c=`

${l} للآية ${M(a-E[o])} من سورة ${i1[o]}

(يمكن تغيير التفسير من «الخيارات» في أعلى الصفحة بعد إغلاق التفسير)

${u}


`;Ae.innerHTML=c,Ae.append(R),i=e=>{Ae.innerHTML=c+"'+e+""};{var s=r,d=a;let e=R1(d),t=e-1,n=()=>{return e=N1[s][t][d-D1[t]-1],i(""===e?"
(لا يوجد تفسير لهذه الآية؛ اختر تفسيرا آخر أو آية أخرى)
":e.replace(/اً/g,"ًا"));var e};null==N1[s]&&(N1[s]=[]),N1[s][t]?n():ot("rt/"+s+"-"+e+".gz").then(e=>{N1[s][t]=e.split("\n"),n()})}}function F1(){Ie(Me),setTimeout(()=>{Me.style.display="none"},1e3)}j("#tvc > .x").onclick=()=>{Ie(Te),setTimeout(()=>{Te.style.display="none"},1e3)},j("#sxc > .x").onclick=F1;let Q1="آأإئؤء]",P1="
أدخل جزءًا من آية للبحث عنها
",C={},W1=h.classList.contains("fullpage");function O1(){Y1(C.st,C.en)}function V1(e){var t=e.target.id;"Enter"!==e.key||"aaya_bgn"!==t&&"aaya_end"!==t&&"sura_bgn"!==t&&"sura_end"!==t||("sura_bgn"===t?w:"aaya_bgn"===t?b:"sura_end"===t?k:"aaya_end"===t?se:1).focus()}function U1(){K.hidden&&(K.hidden=!1,I.start(1200,50,150),ve.hidden?(J1(),setTimeout(()=>se.focus(),500)):(ge.hidden=!0,setTimeout(()=>ve.focus(),500)),d.hidden?m.classList.add("done"):(nt(),ze()))}function tab_toggled(e){e.checked&&setTimeout(Ee,100)}function Y1(e,t){C.st=e||C.st,C.en=t||C.en,U.value;var n,a,r,i,l,o,u,c=!!Y.value,s=O.value,d=V.value,f=g.value,h=(W.checked,!!v.search||!!v.hash),e=(G1(f),ve.style.display=c?"block":"none",ve.hidden=!c,fe.hidden=!c,he.hidden=!!c,w1(e-1)),t=w1(t-1),p=([i,p,r,n]=[...e,...t],i=+i,p=+p,r=+r,n=+n,o=S[i-1],a=S[r-1],l=i1[i-1],u=i1[r-1],o=1==p?"الأولى":p===o?M(p)+" الأخيرة":M(p),m=1==n?"الأولى":n===a?M(n)+" الأخيرة":M(n),i==r?p==n?`تسميع الآية ${o} من سورة `+l:n==1+p?`تسميع الآيتين ${o} و${m} من سورة `+l:1==p&&n===a?`تسميع سورة ${l} كاملة`:`تسميع سورة ${l} من الآية ${o} حتى الآية `+m:1==p&&n===a?r==1+i?`تسميع سورتي ${l} و${u} كاملتين`:`تسميع السور من ${l} حتى `+u:`تسميع من سورة ${l} الآية ${o} حتى سورة ${u} الآية `+m),m=(n=e,a=t,r=ue.innerHTML=p,h||(v.hash=n.join("/")+"-"+a.join("/")),j("title").innerHTML=r+" | رسيت",L("title",r),y.value=n[0]-1,b.value=a[0]-1,Qe(w,Be(),n[1]),Qe(k,He(),a[1]),i=e,l=t,o=s,u=d,_.init(o,u),_.fill(St(i[0]-1,i[1],l[0]-1,l[1])),c&&parent.zz_show(),"imla"===f?X1:Z1);Et(f.slice(0,1),m)}function X1(){var e=C.st,t=C.en;function i(){if(K.hidden){a&&(f.value=f.value.replace(/ \u06dd/g," ۝").replace(/[^ \xA0\nء-غف-\u0652٠-٩\u06DD]+/g,"").replace(/ +(\n)/g,"$1").replace(/(\A|\n| )[ \n]+/g,"$1"),a=!1);var e=f.value.slice(-2);if(" "!==e&&"\n"!==e||(f.value="")," "!==e&&"\n "!==e&&"\n\n"!==e||(f.value=f.value.slice(0,-1))," \n"===e&&(f.value=f.value.slice(0,-2)+"\n"),Xe(l,f.value)){if(d.classList="",!r)return;("\n"===(e=f.value.slice(-1))||"a"!==ie.value&&" "===e)&&u(e),"\n"===e&&_.play(f.value.split("\n").length-2+(n?1:0)),f.value===l&&(f.value=f.value.slice(0,-1),U1(),qe(),f.disabled=!0,d.classList="done",he.focus())}else e=f.value.slice(-1),"a"!==ie.value&&(" "===e&&Xe(l,f.value.slice(0,-1)+"\n")||"\n"===e&&Xe(l,f.value.slice(0,-1)+" "))?d.classList="spacewrong":d.classList="wrong";f.selectionStart===f.value.length&&requestAnimationFrame(ze)}}let n=W.checked,l=(f.focus(),H.i.slice(e-1,t).map(e=>e.startsWith("#")?e.replace("#","بِسْمِ اللَّهِ الرَّحْمَنِ الرَّحِيمِ\n"):e).join("\n")+"\n"),a=!1,r=f.selectionStart===f.value.length,o=(e,t)=>{let n=0,a=e.replace(new RegExp("[^"+t+"]+","g"),"").length;for(let e=0;e{var t,e=o(f.value,e);f.selectionStart===f.value.length?f.value=l.slice(0,e):(t=Oe(f.value.slice(0,f.selectionStart)),t=o(t,t.slice(-1)),f.value=l.slice(0,e),f.selectionStart=f.selectionEnd=t+1)},c=0,s=0;f.onkeydown=e=>{var t,n,a=!e.altKey&&!e.ctrlKey;if(a&&"!"===e.key&&window.allow_cheating){e.preventDefault();var r=(new Date).getTime();if(r-s<250)return;if(s=r,10===(c+=1)&&(c=0,Xe(l,f.value,Ve))){for(u(Oe(f.value).slice(-1));f.value=l.slice(0,f.value.length+1),""===Oe(f.value.slice(-1)););return i(),void ze()}}else c=0,s=0;a&&1===e.key.length&&(e.preventDefault(),(r=window.emulate&&Ge[window.emulate]&&Ge[window.emulate][e.code]?Ge[window.emulate][e.code][+e.shiftKey]:e.key).match(/^[ \nء-غف-\u0652]$|^ل[اأإآ]$/))&&(a=f,(e=r)&&(r=a.selectionStart,n=a.selectionEnd,t=a.value.substring(0,r),n=a.value.substring(n,a.value.length),a.value=t+e+n,a.selectionStart=a.selectionEnd=r+e.length),i())},f.oninput=i,f.onpaste=e=>{a=!0},document.onkeyup=null,document.ondblclick=null,n&&_.play(0)}function Z1(){function e(a){if(0!==l.length){let e="a"===a?e=>"a"!==e:"j"===a?e=>"a"!==e&&"j"!==e:e=>!1,t,n="";do{var r=l.shift()}while(n+=r,t=We(r.slice(-2)),e(t));"a"===t&&(_.next(),_.play()),m.innerHTML+=n,0===l.length&&U1(),qe()}}function t(e){let t=m.innerHTML;if(0!==t.length&&K.hidden){for(;0e.replace(/A/,t+a+"A")).reduce((e,t,n)=>(t.startsWith("#")&&(e.push(l+"
"),t=t.replace("#","")),i&&n===r-a&&(t=t.replace(/([\u06DC\u06D6\u06D7\u06D8\u06DA\u06DB]) .*/,"$1")),e.push(t),e),[]).map(e=>(e.replace(/([A-Z])<([^>]+)>/g,'$2').replace(/ /g,"\t")+"\n").replace(/_/g," ").replace(/([0-9]+)((e.push(...t.split("",-1)),e),[])}(n,a,r)),o=()=>e(""),u=()=>e("a"),c=()=>e("j"),s=()=>t(""),d=()=>t("a"),f=()=>t("j");document.onkeyup=function(e){var t=e.target.nodeName,n=e.key,e=e.shiftKey||e.ctrlKey||e.altKey,a="Backspace"===n||"ArrowRight"===n;"INPUT"!==t&&"SELECT"!==t&&"BUTTON"!==t&&(" "===n||"Enter"===n||"ArrowLeft"===n?(e?u:o)():a?(e?d:s)():"0"!==n&&"["!==n||e?"1"!==n&&"]"!==n||e||f():c())},document.ondblclick=e=>{e.target!==m&&e.target!==h||o()},xe.onclick=u,Ke.onclick=c,ke.onclick=o,be.onclick=s,we.onclick=f,ye.onclick=d,i&&_.play(0)}document.body.addEventListener("click",e=>{"BUTTON"===e.target.tagName&&("new"===e.target.id?se.focus():e.target.blur())}),x.onclick=e=>{e.target!==x&&("true"===x.getAttribute("aria-expanded")?(x.setAttribute("aria-expanded",!1),x.Qall("circle").forEach(e=>e.setAttribute("cx",950==e.getAttribute("cx")?105:35)),x.Qall("text").forEach(e=>Ie(e)),Ie(x.Q("line")),x.Q("rect").setAttribute("width",140),setTimeout(()=>x.setAttribute("viewBox","0 0 140 400"),500)):(x.setAttribute("viewBox","0 0 1000 400"),x.setAttribute("aria-expanded",!0),x.Qall("circle").forEach(e=>e.setAttribute("cx",e.getAttribute("cx")<50?450:950)),x.Qall("text").forEach(e=>Ce(e)),Ce(x.Q("line")),x.Q("rect").setAttribute("width",1e3)))},document.addEventListener("keyup",e=>{"Escape"===e.key&&(_.play(),!d.hidden)&&K.hidden&&f.focus()}),se.onclick=function(){var e=De(),t=Ne(),n=je(),a=Re();""!==e&&""!==t&&""!==n&&""!==a&&e<=n&&(t<=a||e{et(),parent.zz_done()},fe.onclick=()=>{et(),parent.zz_ignore()},onload=function(){{var e=i1.map((e,t)=>``).join("");y.innerHTML=b.innerHTML=e,_e.innerHTML=''+e,w.innerHTML=k.innerHTML=Fe(S[0]),k.value=S[0],w.value=1,y.value=b.value=0,y.oninput=w.oninput=b.oninput=k.oninput=Pe,y.onblur=w.onblur=b.onblur=k.onblur=Pe,y.onkeyup=w.onkeyup=b.onkeyup=k.onkeyup=V1;let a="",r=0;w.onkeydown=k.onkeydown=e=>{var t,n;e.key.match(/[0-9]/)&&(t=(new Date).getTime(),r=(t-r<500?a+=e.key:a=e.key,t),n=+e.target.lastChild.value,1<=a&&a<=n?e.target.value=a:1<=e.key&&e.key<=n&&(e.target.value=a=e.key,r=t))},l(".search").forEach(e=>e.onclick=({target:n})=>{{var c=(n=(n="SPAN"===n.tagName?n.parentElement:n).previousElementSibling).previousElementSibling.previousElementSibling,s=n;T.value="",A.innerHTML=P1,Me.style.display="block",Ce(Me),T.focus();let i=!1,e=()=>{i=!1;let e=_e.value,n=""===e?0:E[e],a=""===e?6236:n+S[e],r=T.value.replace(/[هتة]\b/g,"T").replace(/ا/g,"A").replace(/ى/g,"Y").replace(/ي/g,"I").replace(/و/g,"W").replace(/[آأإ]/g,"a").replace(/ئ/g,"i").replace(/ؤ/g,"w").replace(/ء/g,"x").replace(/T/g,"[هتة]").replace(/A/g,"[اىأإآ]").replace(/Y/g,"[ايىئأإ]").replace(/I/g,"[يىئ]").replace(/W/g,"[وؤ]").replace(/a/g,"[ا"+Q1).replace(/i/g,"[يى"+Q1).replace(/w/g,"[و"+Q1).replace(/x/g,"["+Q1),o=H.p.map((e,t)=>n<=t&&t-1!==e);if(50يطابق بحثك "+M(o.length)+" من الآيات، وهو أكثر من ٥٠؛ حاول التحديد أكثر";else if(0===o.length)A.innerHTML="
تعذر إيجاد العبارة التي أدخلتها
";else{A.innerHTML=`
يوجد ${M(o.length)} من الآيات
`;let t=D(o.length).map(e=>N("div",{className:"ac"}));t.forEach((e,t)=>{let n=o[t],a=c1(n+1)-1,r=n-E[a]+1,i=M(r),l=i1[a];e.onclick=()=>{c.value=a,Pe({target:c}),s.value=r,Pe({target:s}),F1()},e.append(N("span",{className:"s_a",innerHTML:`سورة ${l} آية ${i}:`}),N("span",{className:"aya",innerHTML:"يحمّل"}))}),A.append(...t,R),Et("u",()=>{for(let e=0;e]+/g,"");A.removeChild(R)})}},l;function d(){clearTimeout(l),l=null,i||A.insertBefore(R,A.firstChild),i=!0,l=setTimeout(t,1e3)}let t=()=>(H.p?e:d)(),o=e=>e.replace(/\s+/g," ").replace(/\u06A9/g,"ك").replace(/\u06CC/g,"ي").replace(/[\u06BE\u06C1]/g,"ه").replace(/[^ء-غف-ي ]/g,""),u="";T.oninput=e=>{var t=T.selectionStart,n=T.value.length,a=T.value[t-1],r=T.value[t],t=(T.value=o(T.value),T.selectionStart=T.selectionEnd=t-(n-T.value.length)+(" "===a&&" "===r?1:0)," "===T.value?"":T.value);u===t?u=t:""===(u=t)?(clearTimeout(l),l=null,i=!1,A.innerHTML=P1):d()},_e.oninput=()=>{var e=o(T.value);""!==e&&" "!==e&&(clearTimeout(l),l=null,t())},H.p||Et("i",()=>{H.p=H.i.map(e=>e.replace(/[^ ء-ي\n]/g,"").replace(/^|$/g," "))})}})}l("input, select").forEach(e=>e.onchange&&e.onchange()),e=n("xyz"),t=j("body").innerHTML.match(/github[.]com\/([a-z0-9]+)\//)[1],e.innerHTML=t+String.fromCharCode(64)+"pro"+(""+!0)[0]+"moc.liamno".split("").reverse().join(""),e.href=e.innerHTML.slice(16,20)+"to"+String.fromCharCode(64^"xyz".charCodeAt(2))+e.innerHTML;var[t,e]=function(e){let a,r,i=0,l=0;return e.slice(1).split("&").map(e=>e.split("=")).forEach((t,e)=>{var n=(...e)=>e.includes(t[0]);n("a")?i=isNaN(+t[1])?i:+t[1]:n("b")?l=isNaN(+t[1])?l:+t[1]:n("p")?[a,r]=function(e,t){if(null!=e&&(e=+e||1,t=+t||p1,!(e>p1||t>p1)))return[o1[+e-1]+1,o1[+t]]}(...c(t[1]))||[a,r]:n("s")?[a,r]=function(e,t){if(""===t&&(t="114"),v1(e=""===e?"1":e)&&v1(t)&&(e=+e||1,t=+t||h1,!(e<1||t<1||e>h1||t>h1)))return[o(e-1)+1,o(t-1)+S[t-1]]}(...c(t[1]))||[a,r]:n("r")?[a,r]=function(e,t){if(null!=e&&(e=T1(e),t=T1(t),null!=e)&&null!=t)return[l1[(e||1)-1]+1,l1[t||240]]}(...c(t[1]))||[a,r]:n("h")?[a,r]=function(e,t){if(null!=e){var n,e=A1(e),t=A1(t);if(null!=e&&null!=t)return n=d1/s1,[l1[((e||1)-1)*n]+1,l1[(t||60)*n]]}}(...c(t[1]))||[a,r]:n("j")?[a,r]=function(e,t){var n;if(null!=e&&(e=+e||1,t=+t||u,!(e>u||t>u)))return n=d1/u,[l1[((e||1)-1)*n]+1,l1[(t||u)*n]]}(...c(t[1]))||[a,r]:n("k")?[a,r]=function(e,t){if(null!=e&&(e=K1(e),t=K1(t),null!=e)&&null!=t)return[e[0],t[1]]}(...c(t[1]))||[a,r]:[a,r]=function(e,t){if(e&&(e=b1(e),t=b1(t),null!=e)&&null!=t)return[+e||1,+t||f1]}(...c(t[0]))||[a,r]}),null==a||null==r?[null,null]:(a-=l,r+=i,a<=0&&(a=1),6236{t.addEventListener("toggle",e=>{t.open&&(window.prefers_reduced_motion?t.scrollIntoView({block:"nearest",inline:"nearest"}):t.scrollIntoView({behavior:"smooth",block:"nearest",inline:"nearest"}))})})},f.onfocus=()=>f.scrollIntoView(window.scroll_behavior),window.visualViewport&&window.visualViewport.addEventListener("resize",e=>{d.hidden||(K.hidden?(d.style.height=W1?e.target.height+"px":Math.trunc(.95*e.target.height)+"px",f.scrollIntoView()):nt())});var at,i,rt,it,lt,ot=(()=>{var t=Uint8Array,n=Uint16Array,$=e=>new t(e),s=e=>new n(e),e=(t.prototype.S=t.prototype.subarray,e=>$(e.split("").map(e=>parseInt(e,36)))),B=e("00000000111122223333444455550000"),H=e("0000112233445566778899AABBCCDD00"),D=e("GHI08796A5B4C3D2E1F"),j=(i=(t,n)=>{var a=s(31);for(let e=0;e<31;++e)a[e]=n+=1<>1|(21845&e)<<1))>>2|(13107&a)<<2))>>4|(3855&a)<<4;d[e]=((65280&a)>>8|(255&a)<<8)>>1}var R=(a,r,e)=>{let t=a.length,i=0;for(var n=s(r);i>u]=e}}else for(o=s(t),i=0;i>15-a[i]);return o},r=$(288);for(let e=0;e<144;++e)r[e]=8;for(let e=144;e<256;++e)r[e]=9;for(let e=256;e<280;++e)r[e]=7;for(let e=280;e<288;++e)r[e]=8;var i=e("5".repeat(32)),F=R(r,9,1),Q=R(i,5,1),P=t=>{let n=t[0];for(let e=1;en&&(n=t[e]);return n},W=(e,t,n)=>{var a=t/8|0;return(e[a]|e[1+a]<<8)>>(7&t)&n},O=(e,t)=>{var n=t/8|0;return(e[n]|e[1+n]<<8|e[2+n]<<16)>>(7&t)},l=["unexpected EOF","bad block type","bad length/literal","bad distance","bad gzip data"],V=(e,t)=>{throw new Error(l[e]||t)};return e=>fetch(e).then(e=>(e.ok||V(9,"HTTP error, status = "+e.status),e.arrayBuffer())).then(e=>{return(new TextDecoder).decode(((t=(t=>{31==t[0]&&139==t[1]&&8==t[2]||V(4);let n=t[3],a=10;4&n&&(a+=2+(t[10]|t[11]<<8));for(let e=(n>>3&1)+(n>>4&1);0e.length&&V(4),((a,r,i)=>{var e,t,l=a.length;if(!l||r.f&&!r.l)return i||$(0);let n=!i,o=n||2!=r.i,u=r.i,c=(n&&(i=$(3*l)),e=>{var t=i.length;t>=4)<16)K[n++]=_;else{let e=0,t=0;for(16==_?(t=3+W(a,d,3),d+=2,e=K[n-1]):17==_?(t=3+W(a,d,7),d+=3):18==_&&(t=11+W(a,d,127),d+=7);t--;)K[n++]=e}}var L=K.S(0,w),S=K.S(w);m=P(L),v=P(S),h=R(L,m,1),p=R(S,v,1)}else V(1);if(d>g){u&&V(0);break}}o&&c(f+131072);let e=(1<>4;if((d+=15&q)>g){u&&V(0);break}if(q||V(2),E<256)i[f++]=E;else{if(256==E){t=d,h=null;break}{let e=E-254;264>4;q||V(3),d+=15&q;let t=N[E];if(3g){u&&V(0);break}o&&c(f+131072);var z=f+e;if(fe.length)&&(t=e.length),$(e.S(0,t))):i.S(0,f)})(e.S(t,-8),{i:2},$((e=(t=e).length,(t[e-4]|t[e-3]<<8|t[e-2]<<16|t[e-1]<<24)>>>0)))));var t})})(),ut=(at="function"==typeof setImmediate?setImmediate:setTimeout,rt=[4294967295,-(i=4294967296)],it=[0,0],lt=[1,0],"undefined"==typeof onmessage||"undefined"!=typeof window&&void 0!==window.document||(onmessage=function(e){e&&e.W&&2==e.W.action&&ut.decompress(e.W.W,e.W.cbn)}),{decompress:function(e,r,i){var l,n,o,u,c={},t=void 0===r&&void 0===i;if("function"!=typeof r&&(n=r,r=i=0),i=i||function(e){return void 0!==n?void postMessage({action:3,cbn:n,result:o?e:-1}):void 0},r=r||function(e,t){return void 0!==n?postMessage({action:2,cbn:n,result:e,error:t}):void 0},t){for(c.d=vt({},e);bt(c.d.Q););return _t(mt(c.d.S))}try{c.d=vt({},e),u=Lt(c.d.N),o=-1=e.O?-1:255&e.ab[e.cb++]}function mt(e){var t=e.ab;return t.length=e.O,t}function vt(e,t){e.S=((i={}).ab=s(32),i.O=0,i);for(var n,a,r,i=e,l=((r={}).ab=t,r.cb=0,r.O=t.length,r),t=e.S,o="",u=[],c=0;c<5;++c){if(-1==(n=pt(l)))throw Error("truncated input");u[c]=n<<24>>24}if(!function(e,t){var n,a,u,c,r;if(!(t.length<5)){for(u=(r=255&t[0])%9,c=(r=~~(r/9))%5,r=~~(r/5),a=n=0;a<4;++a)n+=(255&t[1+a])<<8*a;return!(99999999=e.c&&(e.D=0),e.w=e.D}}function yt(e,t){return(t=e.D-t-1)<0&&(t+=e.c),e.x[t]}function wt(e){gt(e),e.V=null}function bt(e){if(!e.X)throw Error("bad state");if(e.bb)throw Error("No encoding");var t=e,n=function(e){var r,t,n=ht(e.d)&e.P;if($(e.a,e.q,(e.f<<4)+n)){if($(e.a,e.E,e.f))t=0,$(e.a,e.s,e.f)?($(e.a,e.u,e.f)?($(e.a,e.r,e.f)?(i=e._,e._=e.R):i=e.R,e.R=e.T):i=e.T,e.T=e.l,e.l=i):$(e.a,e.n,(e.f<<4)+n)||(e.f=e.f<7?9:11,t=1),t||(t=Kt(e.o,e.a,n)+2,e.f=e.f<7?8:11);else if(e._=e.R,e.R=e.T,e.T=e.l,t=2+Kt(e.C,e.a,n),e.f=e.f<7?7:10,4<=(n=Mt(e.j[i=t,(i-=2)<4?i:3],e.a))){if(e.l=(2|1&n)<<(r=(n>>1)-1),n<14)e.l+=function(e,t,n,a){for(var r,i=1,l=0,o=0;o>>=1,t=e.p-e.i>>>31,e.p-=e.i&t-1,n=n<<1|1-t,-16777216&e.i||(e.p=e.p<<8|pt(e.K),e.i<<=8);return n}(e.a)<<4,e.l+=function(e,t){for(var n,a=1,r=0,i=0;e.A>i;++i)a=(a<<1)+(n=$(t,e.B,a)),r|=n<=e.m)return-1;var a=e.b,i=e.l,l=t,o=a.D-i-1;for(o<0&&(o+=a.c);0!=l;--l)o>=a.c&&(o=0),a.x[a.D++]=a.x[o++],a.D>=a.c&>(a);e.d=ct(e.d,ft(t)),e.I=yt(e.b,0)}else n=e.k,i=ht(e.d),t=e.I,i=n.F[((i&n.Y)<>>8-n.g)],e.I=e.f<7?function(e,t){for(var n=1;(n=n<<1|$(t,e.v,n))<256;);return n<<24>>24}(i,e.a):function(e,t,n){var a,r,i=1;do{if(r=n>>7&1,n<<=1,i=i<<1|(a=$(t,e.v,(1+r<<8)+i)),r!=a){for(;i<256;)i=i<<1|$(t,e.v,i);break}}while(i<256);return i<<24>>24}(i,e.a,yt(e.b,e.l)),t=e.b,n=e.I,t.x[t.D++]=n,t.D>=t.c&>(t),e.f=(i=e.f)<4?0:i<10?i-3:i-6,e.d=ct(e.d,lt);return 0}(t.h);if(-1==n)throw Error("corrupted input");return t.$=rt,t.Z=t.h.d,(n||0<=st(t.h.U,it)&&0<=st(t.h.d,t.h.U))&&(gt(t.h.b),wt(t.h.b),t.h.a.K=null,t.X=0),e.X}function kt(e,t){for(;t>e.e;++e.e)e.G[e.e]=At({},3),e.H[e.e]=At({},3)}function Kt(e,t,n){return $(t,e.M,0)?8+($(t,e.M,1)?8+Mt(e.L,t):Mt(e.H[n],t)):Mt(e.G[n],t)}function xt(e){return e.M=s(2),e.G=s(16),e.H=s(16),e.L=At({},8),e.e=0,e}function Tt(e){B(e.M);for(var t=0;e.e>t;++t)B(e.G[t].B),B(e.H[t].B);B(e.L.B)}function At(e,t){return e.A=t,e.B=s(1<>>11)*a;return(-2147483648^r)>(-2147483648^e.p)?(e.i=r,t[n]=a+(2048-a>>>5)<<16>>16,-16777216&e.i||(e.p=e.p<<8|pt(e.K),e.i<<=8),0):(e.i-=r,e.p-=r,t[n]=a-(a>>>5)<<16>>16,-16777216&e.i||(e.p=e.p<<8|pt(e.K),e.i<<=8),1)}function B(e){for(var t=e.length-1;0<=t;--t)e[t]=1024}function _t(e){for(var t,n,a,r=0,i=0,l=e.length,o=[],u=[];rD(115).slice(+e+1,+a+2).map(t=>D(+S[t-1]+1).slice(t===+e+1?+n:1,t===+a+1?+r+1:300).map(e=>t.toString().padStart(3,"0")+e.toString().padStart(3,"0"))).reduce((e,t)=>(!t[0].match(/001$/)||t[0].match(/^001/)||t[0].match(/^009/)||t.unshift("001001"),e.push(...t),e),[]);var H={};function Et(t,n){H[t]?n():fetch(`res/${t}.lzma`).then(e=>e.ok?e.arrayBuffer():null).then(e=>{H[t]=LZMA.decompress(new Uint8Array(e)).split("\n").slice(0,-1),n()})}window.goatcounter={path:location.href.replace(/[?#].*/,""),allow_frame:!0},document.body.append(N("script",{data:{goatcounter:"https://recite.goatcounter.com/count"},async:!0,src:"//gc.zgo.at/count.js"})) \ No newline at end of file diff --git a/.scripts.js b/.scripts.js index 093b3ce..a0c2c3c 100644 --- a/.scripts.js +++ b/.scripts.js @@ -1,16 +1,31 @@ 'use strict' + <> <> <> <> <> + // from: https://github.com/mathusummut/confetti.js. Copyright (c) 2018 MathuSum Mut. MIT License <> + <> // remove the '#' in the previous line to perform the tests + <> +<> <> + // gunzipSync from fflate with a few modifications (check .g.ts) // MIT License; original source: https://github.com/101arrowz/fflate <> + +// lmza-d-min.js from LZMA-JS by Nathan Rugg; v2.3.0; License: MIT. +// https://github.com/LZMA-JS/LZMA-JS/blob/master/src/lzma-d-min.js +<> + <> + +window.goatcounter = { path: location.href.replace(/[?#].*/,''), allow_frame: true } +// privacy-friendly statistics, no tracking of personal data, no need for GDPR consent; see goatcounter.com +document.body.append(make_elem('script', { data: { goatcounter: 'https://recite.goatcounter.com/count' }, async: true, src: '//gc.zgo.at/count.js' })) diff --git a/Makefile b/Makefile index bbb1268..5130a63 100644 --- a/Makefile +++ b/Makefile @@ -23,6 +23,7 @@ index.html: .index.html .scripts.gen.min.js style.min.css .minify.pl %.min.css: %.css $C "$<" > "$@" + # cat "$<" > "$@" %.min.js: %.js $J "$<" > "$@" @@ -30,7 +31,7 @@ index.html: .index.html .scripts.gen.min.js style.min.css .minify.pl %.gen.js: %.js $P "$<" > "$@" -.scripts.gen.min.js: .scripts.js .g.js a.gen.js mappings.js tafsir.js tajlorligilumi.js data.gen.js versligilumi.js res/confetti.min.js javascript.js z.js +.scripts.gen.min.js: .scripts.js .g.js a.gen.js mappings.js tafsir.js search.js tajlorligilumi.js data.gen.js versligilumi.js res/confetti.min.js javascript.js z.js $P "$<" | perl -CDAS -pe 's/const +say += +console\.log//' | $J | perl -pe 's/;?\s*\Z//' > "$@" # $P "$<" > "$@" diff --git a/a.gen.js b/a.gen.js index fd98959..84cded6 100644 --- a/a.gen.js +++ b/a.gen.js @@ -4,7 +4,6 @@ // with similar names, eg scroll_to_top. I also use it for variables and consts. // The only exception is the Q* shorthand functions defined next. -// const say = console.log const range = (i) => [...Array(i).keys()] // Q*, el_* @@ -16,6 +15,27 @@ Element.prototype.Q = Element.prototype.querySelector Element.prototype.Qall = Element.prototype.querySelectorAll // Element.prototype.Qid = Element.prototype.getElementById +function make_elem (tag, opts={}) { + const el = document.createElement(tag) + for (let opt in opts) + if (opt === 'data') + for (let k in opts[opt]) + el.dataset[k] = opts[opt][k] + else + el[opt] = opts[opt] + return el +} + +function make_svgelem (tag, attrs={}, opts={}) { + const el = document.createElementNS("http://www.w3.org/2000/svg", tag) + for (let attr in attrs) + el.setAttribute(attr, attrs[attr]) + return el +} + +const spinner = make_svgelem('svg', { id: 'spinner-svg', viewBox: '0 0 100 100' }) +spinner.appendChild(make_svgelem('circle', { id: 'spinner', cx: 50, cy: 50, r: 35, fill: 'none', 'stroke-width': '10', 'stroke-dasharray': '40 30' })) + const L = location const S = localStorage // defaults are not stored: @@ -100,7 +120,12 @@ const el_J = Qid("J") const el_T = Qid("T") const el_tvc = Qid("tvc") const el_tv = Qid("tv") -const el_tvx = Qid("tvx") +const el_sxc = Qid("sxc") +const el_sx = Qid("sx") +const el_sxi = Qid("sxi") +const el_sura_sx = Qid("sura_sx") +const el_sxq = Qid("sxq") +const el_sxr = Qid("sxr") const __scroll_top = (el) => el.scrollTo({ top: 0 }) @@ -143,8 +168,8 @@ const toascii = (n) => // convert numerals to ASCII .replace(/٨/g, '8') .replace(/٩/g, '9') -const sura_bgn_length = () => el_sura_bgn.value === '' ? 0 : suar_length[+el_sura_bgn.value] -const sura_end_length = () => el_sura_end.value === '' ? 0 : suar_length[+el_sura_end.value] +const sura_bgn_length = () => el_sura_bgn.value === '' ? 0 : sura_length[+el_sura_bgn.value] +const sura_end_length = () => el_sura_end.value === '' ? 0 : sura_length[+el_sura_end.value] const sura_bgn_val = () => el_sura_bgn.value === '' ? '' : +el_sura_bgn.value const sura_end_val = () => el_sura_end.value === '' ? '' : +el_sura_end.value const aaya_bgn_val = () => el_aaya_bgn.value === '' ? '' : +el_aaya_bgn.value @@ -278,8 +303,8 @@ function valid_inputs (sura_bgn, aaya_bgn, sura_end, aaya_end) { // {{{ sura_end !== '' && aaya_end !== '' && sura_bgn <= sura_end && (aaya_bgn <= aaya_end || sura_bgn < sura_end) && - 1 <= aaya_bgn && aaya_bgn <= suar_length[sura_bgn] && - 1 <= aaya_end && aaya_end <= suar_length[sura_end] + 1 <= aaya_bgn && aaya_bgn <= sura_length[sura_bgn] && + 1 <= aaya_end && aaya_end <= sura_length[sura_end] ) } // }}} @@ -435,10 +460,10 @@ function make_title (sura_bgn, aaya_bgn, sura_end, aaya_end) { // {{{ aaya_bgn = +aaya_bgn sura_end = +sura_end aaya_end = +aaya_end - const s_bgn_len = suar_length[sura_bgn - 1] - const s_end_len = suar_length[sura_end - 1] - const s_bgn_txt = suar_name[sura_bgn - 1] - const s_end_txt = suar_name[sura_end - 1] + const s_bgn_len = sura_length[sura_bgn - 1] + const s_end_len = sura_length[sura_end - 1] + const s_bgn_txt = sura_name[sura_bgn - 1] + const s_end_txt = sura_name[sura_end - 1] // converts to Eastern Arabic numerals, and state the first and last in words const a_bgn_txt = aaya_bgn === 1? 'الأولى' : aaya_bgn === s_bgn_len? toarab(aaya_bgn) + nbsp+'الأخيرة' : toarab(aaya_bgn) const a_end_txt = aaya_end === 1? 'الأولى' : aaya_end === s_end_len? toarab(aaya_end) + nbsp+'الأخيرة' : toarab(aaya_end) diff --git a/a.js b/a.js index f504873..636b656 100644 --- a/a.js +++ b/a.js @@ -4,7 +4,6 @@ // with similar names, eg scroll_to_top. I also use it for variables and consts. // The only exception is the Q* shorthand functions defined next. -// const say = console.log const range = (i) => [...Array(i).keys()] // Q*, el_* @@ -16,6 +15,27 @@ Element.prototype.Q = Element.prototype.querySelector Element.prototype.Qall = Element.prototype.querySelectorAll // Element.prototype.Qid = Element.prototype.getElementById +function make_elem (tag, opts={}) { + const el = document.createElement(tag) + for (let opt in opts) + if (opt === 'data') + for (let k in opts[opt]) + el.dataset[k] = opts[opt][k] + else + el[opt] = opts[opt] + return el +} + +function make_svgelem (tag, attrs={}, opts={}) { + const el = document.createElementNS("http://www.w3.org/2000/svg", tag) + for (let attr in attrs) + el.setAttribute(attr, attrs[attr]) + return el +} + +const spinner = make_svgelem('svg', { id: 'spinner-svg', viewBox: '0 0 100 100' }) +spinner.appendChild(make_svgelem('circle', { id: 'spinner', cx: 50, cy: 50, r: 35, fill: 'none', 'stroke-width': '10', 'stroke-dasharray': '40 30' })) + const L = location const S = localStorage // defaults are not stored: @@ -74,8 +94,8 @@ const toascii = (n) => // convert numerals to ASCII .replace(/٨/g, '8') .replace(/٩/g, '9') -const sura_bgn_length = () => el_sura_bgn.value === '' ? 0 : suar_length[+el_sura_bgn.value] -const sura_end_length = () => el_sura_end.value === '' ? 0 : suar_length[+el_sura_end.value] +const sura_bgn_length = () => el_sura_bgn.value === '' ? 0 : sura_length[+el_sura_bgn.value] +const sura_end_length = () => el_sura_end.value === '' ? 0 : sura_length[+el_sura_end.value] const sura_bgn_val = () => el_sura_bgn.value === '' ? '' : +el_sura_bgn.value const sura_end_val = () => el_sura_end.value === '' ? '' : +el_sura_end.value const aaya_bgn_val = () => el_aaya_bgn.value === '' ? '' : +el_aaya_bgn.value @@ -209,8 +229,8 @@ function valid_inputs (sura_bgn, aaya_bgn, sura_end, aaya_end) { // {{{ sura_end !== '' && aaya_end !== '' && sura_bgn <= sura_end && (aaya_bgn <= aaya_end || sura_bgn < sura_end) && - 1 <= aaya_bgn && aaya_bgn <= suar_length[sura_bgn] && - 1 <= aaya_end && aaya_end <= suar_length[sura_end] + 1 <= aaya_bgn && aaya_bgn <= sura_length[sura_bgn] && + 1 <= aaya_end && aaya_end <= sura_length[sura_end] ) } // }}} @@ -366,10 +386,10 @@ function make_title (sura_bgn, aaya_bgn, sura_end, aaya_end) { // {{{ aaya_bgn = +aaya_bgn sura_end = +sura_end aaya_end = +aaya_end - const s_bgn_len = suar_length[sura_bgn - 1] - const s_end_len = suar_length[sura_end - 1] - const s_bgn_txt = suar_name[sura_bgn - 1] - const s_end_txt = suar_name[sura_end - 1] + const s_bgn_len = sura_length[sura_bgn - 1] + const s_end_len = sura_length[sura_end - 1] + const s_bgn_txt = sura_name[sura_bgn - 1] + const s_end_txt = sura_name[sura_end - 1] // converts to Eastern Arabic numerals, and state the first and last in words const a_bgn_txt = aaya_bgn === 1? 'الأولى' : aaya_bgn === s_bgn_len? toarab(aaya_bgn) + nbsp+'الأخيرة' : toarab(aaya_bgn) const a_end_txt = aaya_end === 1? 'الأولى' : aaya_end === s_end_len? toarab(aaya_end) + nbsp+'الأخيرة' : toarab(aaya_end) diff --git a/data.gen.js b/data.gen.js index 5c84bdb..17e574f 100644 --- a/data.gen.js +++ b/data.gen.js @@ -1,5 +1,5 @@ -const suar_length = [7,286,200,176,120,165,206,75,129,109,123,111,43,52,99,128,111,110,98,135,112,78,118,64,77,227,93,88,69,60,34,30,73,54,45,83,182,88,75,85,54,53,89,59,37,35,38,29,18,45,60,49,62,55,78,96,29,22,24,13,14,11,11,18,12,12,30,52,52,44,28,28,20,56,40,31,50,40,46,42,29,19,36,25,22,17,19,26,30,20,15,21,11,8,8,19,5,8,8,11,11,8,3,9,5,4,7,3,6,3,5,4,5,6] -const suar_name = ['الفاتحة','البقرة','آل عمران','النساء','المائدة','الأنعام','الأعراف','الأنفال','التوبة','يونس','هود','يوسف','الرعد','إبراهيم','الحجر','النحل','الإسراء','الكهف','مريم','طه','الأنبياء','الحج','المؤمنون','النور','الفرقان','الشعراء','النمل','القصص','العنكبوت','الروم','لقمان','السجدة','الأحزاب','سبأ','فاطر','يس','الصافات','ص','الزمر','غافر','فصلت','الشورى','الزخرف','الدخان','الجاثية','الأحقاف','محمد','الفتح','الحجرات','ق','الذاريات','الطور','النجم','القمر','الرحمن','الواقعة','الحديد','المجادلة','الحشر','الممتحنة','الصف','الجمعة','المنافقون','التغابن','الطلاق','التحريم','الملك','القلم','الحاقة','المعارج','نوح','الجن','المزمل','المدثر','القيامة','الإنسان','المرسلات','النبأ','النازعات','عبس','التكوير','الانفطار','المطففين','الانشقاق','البروج','الطارق','الأعلى','الغاشية','الفجر','البلد','الشمس','الليل','الضحى','الشرح','التين','العلق','القدر','البينة','الزلزلة','العاديات','القارعة','التكاثر','العصر','الهمزة','الفيل','قريش','الماعون','الكوثر','الكافرون','النصر','المسد','الإخلاص','الفلق','الناس',] +const sura_length = [7,286,200,176,120,165,206,75,129,109,123,111,43,52,99,128,111,110,98,135,112,78,118,64,77,227,93,88,69,60,34,30,73,54,45,83,182,88,75,85,54,53,89,59,37,35,38,29,18,45,60,49,62,55,78,96,29,22,24,13,14,11,11,18,12,12,30,52,52,44,28,28,20,56,40,31,50,40,46,42,29,19,36,25,22,17,19,26,30,20,15,21,11,8,8,19,5,8,8,11,11,8,3,9,5,4,7,3,6,3,5,4,5,6] +const sura_name = ['الفاتحة','البقرة','آل عمران','النساء','المائدة','الأنعام','الأعراف','الأنفال','التوبة','يونس','هود','يوسف','الرعد','إبراهيم','الحجر','النحل','الإسراء','الكهف','مريم','طه','الأنبياء','الحج','المؤمنون','النور','الفرقان','الشعراء','النمل','القصص','العنكبوت','الروم','لقمان','السجدة','الأحزاب','سبأ','فاطر','يس','الصافات','ص','الزمر','غافر','فصلت','الشورى','الزخرف','الدخان','الجاثية','الأحقاف','محمد','الفتح','الحجرات','ق','الذاريات','الطور','النجم','القمر','الرحمن','الواقعة','الحديد','المجادلة','الحشر','الممتحنة','الصف','الجمعة','المنافقون','التغابن','الطلاق','التحريم','الملك','القلم','الحاقة','المعارج','نوح','الجن','المزمل','المدثر','القيامة','الإنسان','المرسلات','النبأ','النازعات','عبس','التكوير','الانفطار','المطففين','الانشقاق','البروج','الطارق','الأعلى','الغاشية','الفجر','البلد','الشمس','الليل','الضحى','الشرح','التين','العلق','القدر','البينة','الزلزلة','العاديات','القارعة','التكاثر','العصر','الهمزة','الفيل','قريش','الماعون','الكوثر','الكافرون','النصر','المسد','الإخلاص','الفلق','الناس',] // both rubs and pages are based on http://tanzil.net/res/text/metadata/quran-data.js // but changed from sura-aya pairs to aya indexes (0-6235) const rubs = [0,32,50,66,81,98,112,130,148,164,183,195,209,225,239,249,259,269,278,289,307,325,344,367,385,405,425,445,463,478,493,504,516,528,550,566,580,592,606,627,640,655,669,680,695,709,719,735,750,765,777,801,824,847,862,883,899,915,929,939,954,984,1000,1018,1041,1070,1095,1109,1124,1142,1160,1181,1200,1220,1235,1253,1268,1280,1294,1309,1327,1345,1356,1374,1389,1416,1434,1453,1478,1496,1513,1533,1556,1580,1602,1625,1648,1672,1696,1711,1725,1741,1759,1777,1802,1851,1901,1930,1951,1975,1990,2011,2029,2051,2078,2098,2127,2156,2171,2190,2214,2238,2271,2308,2348,2402,2430,2458,2483,2511,2533,2565,2595,2613,2632,2654,2673,2708,2747,2791,2811,2825,2843,2855,2875,2907,2932,2983,3042,3112,3159,3185,3214,3240,3263,3280,3302,3327,3340,3365,3385,3409,3439,3462,3490,3513,3533,3550,3563,3583,3592,3615,3629,3651,3674,3700,3732,3764,3809,3870,3932,3990,4021,4065,4089,4110,4133,4153,4173,4198,4226,4242,4264,4284,4298,4322,4348,4381,4430,4484,4510,4530,4554,4577,4600,4612,4625,4656,4705,4758,4809,4854,4901,4979,5053,5090,5104,5117,5136,5156,5177,5191,5217,5229,5241,5271,5323,5393,5447,5494,5551,5609,5672,5758,5829,5884,5948,6023,6090,6154,6236] @@ -7,6 +7,6 @@ const pages = [0,7,12,23,31,36,44,55,64,68,76,83,90,95,100,108,112,119,126,133,1 // from tanzil metadata too, but in a more compact format const rukus = [[1],[1,8,21,30,40,47,60,62,72,83,87,97,104,113,122,130,142,148,153,164,168,177,183,189,197,211,217,222,229,232,236,243,249,254,258,261,267,274,282,284],[1,10,21,31,42,55,64,72,81,92,102,110,121,130,144,149,156,172,181,190],[1,11,15,23,26,34,43,51,60,71,77,88,92,97,101,105,113,116,127,135,142,153,163,172],[1,6,12,20,27,35,44,51,57,67,78,87,94,101,109,116],[1,11,21,31,42,51,56,61,71,83,91,95,101,111,122,130,141,145,151,155],[1,11,26,32,40,48,54,59,65,73,85,94,100,109,127,130,142,148,152,158,163,172,182,189],[1,11,20,29,38,45,49,59,65,70],[1,7,17,25,30,38,43,60,67,73,81,90,100,111,119,123],[1,11,21,31,41,54,61,71,83,93,104],[1,9,25,36,50,61,69,84,96,110],[1,7,21,30,36,43,50,58,69,80,94,105],[1,8,19,27,32,38],[1,7,13,22,28,35,42],[1,16,26,45,61,80],[1,10,22,26,35,41,51,61,66,71,77,84,90,101,111,120],[1,11,23,31,41,53,61,71,78,85,94,101],[1,13,18,23,32,45,50,54,60,71,83,102],[1,16,41,51,66,83],[1,25,55,77,90,105,116,129],[1,11,30,42,51,76,94],[1,11,23,26,34,39,49,58,65,73],[1,23,33,51,78,93],[1,11,21,27,35,41,51,58,62],[1,10,21,35,45,61],[1,10,34,53,70,105,123,141,160,176,192],[1,15,32,45,59,67,83],[1,14,22,29,43,51,61,76],[1,14,23,31,45,52,64],[1,11,20,28,41,54],[1,12,20],[1,12,23],[1,9,21,28,35,41,53,59,69],[1,10,22,31,37,46],[1,8,15,27,38],[1,13,33,51,68],[1,22,75,114,139],[1,15,27,41,65],[1,10,22,32,42,53,64,71],[1,10,21,28,38,51,61,69,79],[1,9,19,26,33,45],[1,10,20,30,44],[1,16,26,36,46,57,68],[1,30,43],[1,12,22,27],[1,11,21,27],[1,12,20,29],[1,11,18,27],[1,11],[1,16,30],[1,24,47],[1,29],[1,26,33],[1,23,41],[1,26,46],[1,39,75],[1,11,20,26],[1,7,14],[1,11,18],[1,7],[1,10],[1,9],[1,9],[1,11],[1,8],[1,8],[1,15],[1,34],[1,38],[1,36],[1,21],[1,20],[1,20],[1,32],[1,31],[1,23],[1,41],[1,31],[1,27],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1]] -function start_ (s) { return +suar_length.slice(0, s).reduce((a, b) => a + b, 0) } +function start_ (s) { return +sura_length.slice(0, s).reduce((a, b) => a + b, 0) } const sura_offset = range(115).map(start_) // array mapping 0-based suar to how many ayat before it (eg 0 => 0, 1 => 7, 2 => 286+7) -function sura_of (a) { return range(115).find((i) => sura_offset[i] >= a) } // takes 0-based aaya ∈ [0-6236), returns its 1-based sura +function sura_of (a) { return range(115).find((i) => sura_offset[i] >= a) } // takes 1-based aaya ∈ [1-6236], returns its 1-based sura diff --git a/data.js b/data.js index 89cac73..eea80bf 100644 --- a/data.js +++ b/data.js @@ -1,5 +1,5 @@ -const suar_length = [7,286,200,176,120,165,206,75,129,109,123,111,43,52,99,128,111,110,98,135,112,78,118,64,77,227,93,88,69,60,34,30,73,54,45,83,182,88,75,85,54,53,89,59,37,35,38,29,18,45,60,49,62,55,78,96,29,22,24,13,14,11,11,18,12,12,30,52,52,44,28,28,20,56,40,31,50,40,46,42,29,19,36,25,22,17,19,26,30,20,15,21,11,8,8,19,5,8,8,11,11,8,3,9,5,4,7,3,6,3,5,4,5,6] -const suar_name = [<>] +const sura_length = [7,286,200,176,120,165,206,75,129,109,123,111,43,52,99,128,111,110,98,135,112,78,118,64,77,227,93,88,69,60,34,30,73,54,45,83,182,88,75,85,54,53,89,59,37,35,38,29,18,45,60,49,62,55,78,96,29,22,24,13,14,11,11,18,12,12,30,52,52,44,28,28,20,56,40,31,50,40,46,42,29,19,36,25,22,17,19,26,30,20,15,21,11,8,8,19,5,8,8,11,11,8,3,9,5,4,7,3,6,3,5,4,5,6] +const sura_name = [<>] // both rubs and pages are based on http://tanzil.net/res/text/metadata/quran-data.js // but changed from sura-aya pairs to aya indexes (0-6235) const rubs = [0,32,50,66,81,98,112,130,148,164,183,195,209,225,239,249,259,269,278,289,307,325,344,367,385,405,425,445,463,478,493,504,516,528,550,566,580,592,606,627,640,655,669,680,695,709,719,735,750,765,777,801,824,847,862,883,899,915,929,939,954,984,1000,1018,1041,1070,1095,1109,1124,1142,1160,1181,1200,1220,1235,1253,1268,1280,1294,1309,1327,1345,1356,1374,1389,1416,1434,1453,1478,1496,1513,1533,1556,1580,1602,1625,1648,1672,1696,1711,1725,1741,1759,1777,1802,1851,1901,1930,1951,1975,1990,2011,2029,2051,2078,2098,2127,2156,2171,2190,2214,2238,2271,2308,2348,2402,2430,2458,2483,2511,2533,2565,2595,2613,2632,2654,2673,2708,2747,2791,2811,2825,2843,2855,2875,2907,2932,2983,3042,3112,3159,3185,3214,3240,3263,3280,3302,3327,3340,3365,3385,3409,3439,3462,3490,3513,3533,3550,3563,3583,3592,3615,3629,3651,3674,3700,3732,3764,3809,3870,3932,3990,4021,4065,4089,4110,4133,4153,4173,4198,4226,4242,4264,4284,4298,4322,4348,4381,4430,4484,4510,4530,4554,4577,4600,4612,4625,4656,4705,4758,4809,4854,4901,4979,5053,5090,5104,5117,5136,5156,5177,5191,5217,5229,5241,5271,5323,5393,5447,5494,5551,5609,5672,5758,5829,5884,5948,6023,6090,6154,6236] @@ -7,6 +7,6 @@ const pages = [0,7,12,23,31,36,44,55,64,68,76,83,90,95,100,108,112,119,126,133,1 // from tanzil metadata too, but in a more compact format const rukus = [[1],[1,8,21,30,40,47,60,62,72,83,87,97,104,113,122,130,142,148,153,164,168,177,183,189,197,211,217,222,229,232,236,243,249,254,258,261,267,274,282,284],[1,10,21,31,42,55,64,72,81,92,102,110,121,130,144,149,156,172,181,190],[1,11,15,23,26,34,43,51,60,71,77,88,92,97,101,105,113,116,127,135,142,153,163,172],[1,6,12,20,27,35,44,51,57,67,78,87,94,101,109,116],[1,11,21,31,42,51,56,61,71,83,91,95,101,111,122,130,141,145,151,155],[1,11,26,32,40,48,54,59,65,73,85,94,100,109,127,130,142,148,152,158,163,172,182,189],[1,11,20,29,38,45,49,59,65,70],[1,7,17,25,30,38,43,60,67,73,81,90,100,111,119,123],[1,11,21,31,41,54,61,71,83,93,104],[1,9,25,36,50,61,69,84,96,110],[1,7,21,30,36,43,50,58,69,80,94,105],[1,8,19,27,32,38],[1,7,13,22,28,35,42],[1,16,26,45,61,80],[1,10,22,26,35,41,51,61,66,71,77,84,90,101,111,120],[1,11,23,31,41,53,61,71,78,85,94,101],[1,13,18,23,32,45,50,54,60,71,83,102],[1,16,41,51,66,83],[1,25,55,77,90,105,116,129],[1,11,30,42,51,76,94],[1,11,23,26,34,39,49,58,65,73],[1,23,33,51,78,93],[1,11,21,27,35,41,51,58,62],[1,10,21,35,45,61],[1,10,34,53,70,105,123,141,160,176,192],[1,15,32,45,59,67,83],[1,14,22,29,43,51,61,76],[1,14,23,31,45,52,64],[1,11,20,28,41,54],[1,12,20],[1,12,23],[1,9,21,28,35,41,53,59,69],[1,10,22,31,37,46],[1,8,15,27,38],[1,13,33,51,68],[1,22,75,114,139],[1,15,27,41,65],[1,10,22,32,42,53,64,71],[1,10,21,28,38,51,61,69,79],[1,9,19,26,33,45],[1,10,20,30,44],[1,16,26,36,46,57,68],[1,30,43],[1,12,22,27],[1,11,21,27],[1,12,20,29],[1,11,18,27],[1,11],[1,16,30],[1,24,47],[1,29],[1,26,33],[1,23,41],[1,26,46],[1,39,75],[1,11,20,26],[1,7,14],[1,11,18],[1,7],[1,10],[1,9],[1,9],[1,11],[1,8],[1,8],[1,15],[1,34],[1,38],[1,36],[1,21],[1,20],[1,20],[1,32],[1,31],[1,23],[1,41],[1,31],[1,27],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1]] -function start_ (s) { return +suar_length.slice(0, s).reduce((a, b) => a + b, 0) } +function start_ (s) { return +sura_length.slice(0, s).reduce((a, b) => a + b, 0) } const sura_offset = range(115).map(start_) // array mapping 0-based suar to how many ayat before it (eg 0 => 0, 1 => 7, 2 => 286+7) -function sura_of (a) { return range(115).find((i) => sura_offset[i] >= a) } // takes 0-based aaya ∈ [0-6236), returns its 1-based sura +function sura_of (a) { return range(115).find((i) => sura_offset[i] >= a) } // takes 1-based aaya ∈ [1-6236], returns its 1-based sura diff --git a/index.html b/index.html index 367306a..870e7af 100644 --- a/index.html +++ b/index.html @@ -1 +1 @@ -راجع ما تحفظ من القرآن الكريم | رسيت

خيارات وضع التسميع العثماني (بلا كتابة):

أسئلة عامة

ما هذا؟

هذا تطبيق يساعدك على اختبار حفظك من القرآن الكريم.

أليست المراجعة مع شيخ مُجيد أفضل؟

بالتأكيد؛ ما هذا التطبيق إلا وسيلةً مساعدة. ولن يفيد من لا يستطيع التلاوة الصحيحة من المصحف بالتجويد. ولن يُصحح لك أخطاء التجويد إن لم تكن تعلم معنى العلامات المستخدمة في المصحف.

فالهدف من هذا التطبيق ليس استبدال المعلم، بل أن يكون مكمّلا ومساعدا لك، فلا معنى للحفظ من غير تصحيح التلاوة، وهذا لا يساعدك فيه إلا إنسان مُجيد.

انظر أيضا النقطة «يجب التلاوة على شيخ مُجيد، وعدم الاعتماد على الرسم الإملائي» بالأسفل.

هل سيساعدني هذا التطبيق على الحفظ؟

لا. هذا ليس إلا وسيلة لاختبار حفظك ومعرفة نقاط ضعفك ومن ثَم مساعدتك على تثبيت حفظك. لكنه ليس للتحفيظ؛ عليك أن تحفظ مع شيخ مُجيد أولا ليضبط لك النطق، وبعد أن تحفظ، تستطيع أن تراجع هنا.

ولكن يمكنك استخدامه عبر مشروعنا الآخر «ذِكر الذِكر»، فهو «نظام تكرار متباعد» ليساعدك في تثبيت حفظك للقرآن الكريم. و«ذِكر الذِكر» يستخدم هذا التطبيق لاختبار حفظك، لكنه يسهّل عليك تقسيم الحفظ واختيار ما تحتاج مراجعته.

أليست الكتابة أفضل؟

نعم، الكتابة يدويا على لوح بالرسم العثماني هي من أفضل الطرق على الإطلاق لتثبيت حفظ القرآن الكريم. وهي الطريقة المتبعة في الكثير من الدول الإسلامية خصوصا في أفريقيا.

ولكن الكتابة بالرسم العثماني على الحاسوب ليست يسيرة. وإذا أردنا أن نقارب، فنكتب بالرسم الإملائي الحديث ومن غير تشكيل، فسنجد أنها تصير بطيئة ومتعبة عند الاقتراب من نهاية حزب واحد (تختلف من شخص لآخر).

ولكن إذا أردت تجربتها، فيمكنك اختيار الوضع الـ«إملائي» من أمام «وضع التسميع» في شاشة «الخيارات» ثم بدء التسميع (أو اضغط «إعادة» إن كنت قد بدأت التسميع بالفعل).

شخصيا أنصح بالطريقتين معا؛ فإظهار الكلمات بالرسم العثماني يُماثل القراءة من المصحف ويسهل عليك مراجعة حركات الحروف (بالتجويد) كما أنه سريع نسبيا مما يتيح مراجعة كمّ أكبر في وقت أقل، والكتابة تجبرك على التلاوة بتمهّل وإدخال كل كلمة حرفا حرفا ومعرفة مواضع الفواصل بين الكلمات والآيات.

كيف أستخدمه؟

اختر سورةً تود تسميعها من الخانة التي أمام «من السورة»، ثم اضغط زر «ابدأ»، سيظهر شريط أزرار. كل ضغطة على الزر الكبير () ستُظهر كلمة.

انظر أيضا النقطة «يمكنك الانتقال إلى الأمام وإلى الخلف، بالكلمة وبالآية وبالعبارة» بالأسفل.
وإذا كنت تستخدم الوضع الإملائي (الكتابي)، فانظر النقطة «كيف أستخدم التسميع الكتابي (الوضع الإملائي)؟» بالأسفل.

اتلُ الجزء الذي حددته، وبعد تلاوة كل كلمة، اضغط على الزر حتى تُظهرها. فإذا كانت صحيحة (بتشكيلها)، تابع تلاوتك، وإلا فسجّل هذا الموضع في كراسة مثلا، وأعد تلاوتك من بداية الآية أو من الآية السابقة، حتى تصل إلى الكلمة التالية، ثم اضغط لإظهارها. واستمر هكذا حتى تنتهي. ثم راجع المواضع التي أخطأت فيها.

ويمكنك استخدامه عبر مشروعنا الآخر «ذِكر الذِكر»، فهو «نظام تكرار متباعد» ليساعدك في تثبيت حفظك للقرآن الكريم. و«ذِكر الذِكر» يستخدم هذا التطبيق لاختبار حفظك، لكنه يسهّل عليك تقسيم الحفظ واختيار ما تحتاج مراجعته.

لماذا توجد خانتين لإدخال السورة المرادة؟

لأن هذا التطبيق يتيح لك مراجعة أي عدد من الآيات المتتالية في المصحف، بغض النظر عن سورها. فتستطيع مثلا مراجعة الجزء الثالث، والذي يبدأ في سورة البقرة وينتهي في منتصف سورة آل عمران. كذلك تستطيع مراجعة حزب معين، أو ربع، أو حتى صفحة واحدة، أو صفحتين متقابلتين، أو عشر سور متتالية. كل ما عليك هو تحديد آية البداية وسورتها، وآية النهاية وسورتها.

كيف يمكنني الاستماع إلى التلاوة الصوتية للآيات؟

اضغط على «أظهر الخيارات» ثم اختر القارئ الذي تحب الاستماع إليه من الخانة التي أمام «تلاوة بصوت». وعندئذ، بمجرد إظهار الكلمة الأخيرة من كل آية (أو ضغط Enter في نهايتها في الوضع الإملائي)، سيتلو القارئ هذه الآية.

انظر أيضا سؤال «ما هو الوضع المعلم؟» التالي.

جزى الله خيرا القائمين على مشروع Verse By Verse MP3 Quran لتوفيرهم التلاوات الصوتية لنا ولبرنامج آيات.

ما هو الوضع المعلم؟

قبل تفعيل الوضع المعلم، فإن باختيارك لتلاوة صوتية ستسمع كل آية بعد إنهاء تسميعها. أما الوضع المعلم فسيجعل التلاوة الصوتية للآية قبل بدء تسميعها.

وسُمّي الوضع المعلم بهذا الاسم لأنه يناظر المصحف المعلم، وهو تسجيل صوتي للقرءان الكريم يتوقف فيه الشيخ بعد كل آية مقدارًا كافيًا ليكرر المستمع الآية التي تلاها الشيخ.

ففي الوضع المعلم تسمع الآية من الشيخ الذي تختاره ثم تتلوها نطقا وكتابة، بدلا من أن تتلوها من الذاكرة.

طبعا لا يُغني الوضع المعلم عن وضع التسميع العادي (اختبار الحفظ) ولا عن الشيخ المعلم (الإنسان).

كيف أستخدم التسميع الكتابي (الوضع الإملائي)؟

بمجرد اختياره من شاشة «الخيارات» من أمام «وضع التسميع» ثم بدء التسميع (أو إعادته إن كنت قد بدأت التسميع على الوضع العثماني)، فستجد أن خانة الكتابة محددة آليا حتى تبدأ الكتابة فيها مباشرة.

لاحظ أن:

  • الآية الأولى من جميع السور مسبوقة بالبسملة على سطر وحدها (باستثناء سورة التوبة، فهي لا تبدأ بالبسملة مطلقا، وكذلك الفاتحة لأن آيتها الأولى هي البسملة).

  • كل آية على سطر وحدها، أي تنتهي بضغطة على زر Enter، حتى الآية الأخيرة تنتهي بضغطة على زر Enter.

  • بين كل كلمة في الآية مسافة واحدة فقط. ولا مسافة قبل الكلمة الأولى من الآية ولا بعد الكلمة الأخيرة منها.

  • بمجرد انتهاء الآية (بضغط زر Enter)، يُضاف رقم الآية آليا، وإذا كنت قد اخترت قارئا من شاشة «الخيارات» فسيتلوها كذلك.

  • عند الخطأ في أي حرف، يتغير لون خانة الكتابة إلى الأحمر.

  • يمكن جعل مراجعة الأخطاء تتم بعد كل كلمة وليس كل حرف، من شاشة «الخيارات».

  • لا تكتب علامات التشكيل، أبدا؛ جميع علامات التشكيل التي تكتبها ستُحذف قبل إضافة علامات التشكيل الصحيحة. قد يتغير هذا في المستقبل.

  • الألف المقصورة والياء حرفان مختلفان. الألف المقصورة هي ألف في آخر الكلمة وتُرسم ياءً بغير نقطتين، وتوجد في الصف الأسفل من لوحة المفاتيح، تحت زر الألف غالبا. أما الياء فتحتها نقطتين دائما، حتى في آخر الكلمة. وتوجد غالبا على الزر الثالث من اليسار في الصف الأوسط، بين الباء والسين.

  • الهمزات صعبة. أعرف هذا. ¯\_(ツ)_/¯

لدي مشكلة أو اقتراح، كيف أتواصل معك؟

عبر مسائل GitHub، أو البريد الإلكتروني: [hidden]، على أن توضّح في الحالتين في العنوان أنك تقصد «رسيت ويب» (اسم هذا التطبيق).

ملاحظات متفرقة

النص في هذا التطبيق برواية حفص عن عاصم.

حتى عند اختيار تلاوة صوتية براوية ورش عن نافع، يظل النص القرآني برواية حفص عن عاصم.

النص العثماني للقرآن ملون تبعا لقواعد التجويد، ويمكن تغيير ذلك.

يمكن تغيير ذلك من خانة «تلوين النص» في شاشة «الخيارات»، والتي تتيح لنا ثلاث قيم:

  • تبعا لقواعد التجويد: مثل مصحف التجويد الملون من دار المعرفة؛ تدرجات الأحمر للمدود، والأخضر للإخفاء والغنة، وأزرقان أحدهما للقلقلة والآخر لتفخيم الراء، بينما الرمادي لا يلفظ.

  • تلوين أجزاء الرسم: النص العثماني الأساسي بالأسود، والنقاط والتشكيل والحروف المزيدة بالأحمر، والهمزات بالأصفر البرتقالي، وعلامات الوقف بالأزرق.

  • بغير تلوين: الخط كله باللون الأسود، من غير أي تلوين.

رجاءً لاحظ أن تلوين النص تبعا لقواعد التجويد لا يزال في مراحله الأولى، وهو ليس منسوخا مباشرة من مصحف دار المعرفة، بل هو اجتهاد شخصي مني حاولت فيه مقاربة مصحف دار المعرفة قدر الإمكان؛ فأي خطأ تجده في الألوان أرجو أن تراسلني به حتى أصلحه.

تستطيع استخدام لوحة المفاتيح وحدها، من غير المؤشر (الفأرة أو لوحة اللمس).

استخدم زر Tab للوصول إلى قائمة «من سورة». عندئذ زرّي («سهم لأعلى») و  («سهم لأسفل») ينقلانك بين السور بالترتيب، وتستطيع أيضا كتابة جزء من بداية اسم السورة للوصول إليها سريعا، وزرّ المسافة يظهر لك القائمة. وبعد تحديد السورة، زر Enter ينقلك للخانة التالية، خانة اختيار آية البداية. عندئذ تستطيع كتابة رقم الآية مباشرةً أو استخدام زرّي («سهم لأعلى») و («سهم لأسفل»). زر Enter ينقلك للخانة التالية، ثم للخانة للأخيرة، ثم إلى زر «ابدأ»، والذي عنده زر Enter أو المسافة يظهر الكلمة التالية.

يمكنك الانتقال إلى الأمام وإلى الخلف، بالكلمة وبالآية وبالعبارة.
  • زر المسافة أو Enter أو سهم يسار: إظهار الكلمة التالية (مثل زر بأسفل الشاشة).

  • زر إظهار الكلمة التالية + Shift أو Ctrl أو Alt: إظهار الآية الحالية بالكامل (مثل زر ❮❮❮ بأسفل الشاشة).

  • زر Backspace أو سهم يمين: إخفاء الكلمة الحالية (مثل زر بأسفل الشاشة).

  • زر إخفاء الكلمة الحالية + Shift أو Ctrl أو Alt: إخفاء الآية الحالية بالكامل (مثل زر ❯❯❯ بأسفل الشاشة).


«العبارة» المقصود بها تقسيم الآية بعلامات الوقف:

  • فمن بداية الآية حتى علامة الوقف الأولى هو عبارة،

  • ومن علامة الوقف الأخيرة في الآية حتى نهاية الآية هو عبارة،

  • وما بين علامتي وقف هو عبارة.

وتستخدم:

  • زر الصفر للانتقال عبارة واحدة إلى الأمام (مثل زر ❮❮ بأسفل الشاشة).

  • زر الواحد للانتقال عبارة واحدة إلى الخلف (مثل زر ❯❯ بأسفل الشاشة).

يجب التلاوة على شيخ مُجيد، وعدم الاعتماد على الرسم الإملائي.

القرآن لا يُعلَّم إلا بالمشافهة، أي أن تسمع القرآن من شيخ مُجيد وتتلو عليه ليصحح لك نطقك.

الكتابة أمرٌ ثانوي عند حفظ القرآن.

القراءة من المصحف ووضع التسميع العثماني لن يساعداك إذا لم تسمع التلاوة الصحيحة، وتتلوها على شيخ مُجيد ليصحح لك النطق.

وأيضا وضع التسميع الإملائي (الكتابي) لا يختبر التشكيل، مما قد يسبب أخطاءً مهولة، مثل إبدال المتكلم والمخاطب مثل «أنعمتَ» في الآية الأخيرة من سورة الفاتحة، أو إبدال الفاعل والمفعول به مثل «وإذ ابتلى إبراهيمَ ربُّه» في الآية ١٢٤ من سورة البقرة أو «إنما يخشى اللهَ من عباده العلماءُ» في الآية ٢٨ من سورة فاطر.

ما هذا التطبيق إلا وسيلة مساعدة لاختبار الحفظ لتثبيته. ولكنه ليس بديلا عن معلم إنسان.

يمكن برمجة هذا التطبيق أو تضمينه في برامج ويب أخرى.

باستخدام مُعامِلات الرابط، يمكن تحديد القيم المبدئية لجميع الخيارات، بل وتحديد الآيات المراد تسميعها، حتى بتقسيمات غير متاحة في واجهة الويب، مثل «تسميع الصفحة العاشرة وخمس آيات بعدها» أو «الجزأين الثالث والرابع وآية قبلهما وآيتين بعدهما»، وغير ذلك.

انظر صفحة اقرأني بالعربية أو بالإنجليزية في مستودع المشروع.

لم يُدقق هذا النص رسميًا بعد.

إذا وجدت فيه أي خطأ، رجاءً أبلغني في أسرع وقت! هذا النص يستخدم النسخة الأخيرة (المؤرخة ١٩ / ٠٥ / ٢٠٢٠) من مشروع Quran Data.

أما النص الإملائي فهو من ويكي‌مصدر.


💡 اضغط على علامة الآية ۝ لإظهار تفسيرها
\ No newline at end of file +راجع ما تحفظ من القرآن الكريم | رسيت
خيارات وضع التسميع العثماني (بلا كتابة):

أسئلة عامة

ما هذا؟

هذا تطبيق يساعدك على اختبار حفظك من القرآن الكريم.

أليست المراجعة مع شيخ مُجيد أفضل؟

بالتأكيد؛ ما هذا التطبيق إلا وسيلةً مساعدة. ولن يفيد من لا يستطيع التلاوة الصحيحة من المصحف بالتجويد. ولن يُصحح لك أخطاء التجويد إن لم تكن تعلم معنى العلامات المستخدمة في المصحف.

فالهدف من هذا التطبيق ليس استبدال المعلم، بل أن يكون مكمّلا ومساعدا لك، فلا معنى للحفظ من غير تصحيح التلاوة، وهذا لا يساعدك فيه إلا إنسان مُجيد.

انظر أيضا النقطة «يجب التلاوة على شيخ مُجيد، وعدم الاعتماد على الرسم الإملائي» بالأسفل.

هل سيساعدني هذا التطبيق على الحفظ؟

لا. هذا ليس إلا وسيلة لاختبار حفظك ومعرفة نقاط ضعفك ومن ثَم مساعدتك على تثبيت حفظك. لكنه ليس للتحفيظ؛ عليك أن تحفظ مع شيخ مُجيد أولا ليضبط لك النطق، وبعد أن تحفظ، تستطيع أن تراجع هنا.

ولكن يمكنك استخدامه عبر مشروعنا الآخر «ذِكر الذِكر»، فهو «نظام تكرار متباعد» ليساعدك في تثبيت حفظك للقرآن الكريم. و«ذِكر الذِكر» يستخدم هذا التطبيق لاختبار حفظك، لكنه يسهّل عليك تقسيم الحفظ واختيار ما تحتاج مراجعته.

أليست الكتابة أفضل؟

نعم، الكتابة يدويا على لوح بالرسم العثماني هي من أفضل الطرق على الإطلاق لتثبيت حفظ القرآن الكريم. وهي الطريقة المتبعة في الكثير من الدول الإسلامية خصوصا في أفريقيا.

ولكن الكتابة بالرسم العثماني على الحاسوب ليست يسيرة. وإذا أردنا أن نقارب، فنكتب بالرسم الإملائي الحديث ومن غير تشكيل، فسنجد أنها تصير بطيئة ومتعبة عند الاقتراب من نهاية حزب واحد (تختلف من شخص لآخر).

ولكن إذا أردت تجربتها، فيمكنك اختيار الوضع الـ«إملائي» من أمام «وضع التسميع» في شاشة «الخيارات» ثم بدء التسميع (أو اضغط «إعادة» إن كنت قد بدأت التسميع بالفعل).

شخصيا أنصح بالطريقتين معا؛ فإظهار الكلمات بالرسم العثماني يُماثل القراءة من المصحف ويسهل عليك مراجعة حركات الحروف (بالتجويد) كما أنه سريع نسبيا مما يتيح مراجعة كمّ أكبر في وقت أقل، والكتابة تجبرك على التلاوة بتمهّل وإدخال كل كلمة حرفا حرفا ومعرفة مواضع الفواصل بين الكلمات والآيات.

كيف أستخدمه؟

اختر سورةً تود تسميعها من الخانة التي أمام «من السورة»، ثم اضغط زر «ابدأ»، سيظهر شريط أزرار. كل ضغطة على الزر الكبير () ستُظهر كلمة.

انظر أيضا النقطة «يمكنك الانتقال إلى الأمام وإلى الخلف، بالكلمة وبالآية وبالعبارة» بالأسفل.
وإذا كنت تستخدم الوضع الإملائي (الكتابي)، فانظر النقطة «كيف أستخدم التسميع الكتابي (الوضع الإملائي)؟» بالأسفل.

اتلُ الجزء الذي حددته، وبعد تلاوة كل كلمة، اضغط على الزر حتى تُظهرها. فإذا كانت صحيحة (بتشكيلها)، تابع تلاوتك، وإلا فسجّل هذا الموضع في كراسة مثلا، وأعد تلاوتك من بداية الآية أو من الآية السابقة، حتى تصل إلى الكلمة التالية، ثم اضغط لإظهارها. واستمر هكذا حتى تنتهي. ثم راجع المواضع التي أخطأت فيها.

ويمكنك استخدامه عبر مشروعنا الآخر «ذِكر الذِكر»، فهو «نظام تكرار متباعد» ليساعدك في تثبيت حفظك للقرآن الكريم. و«ذِكر الذِكر» يستخدم هذا التطبيق لاختبار حفظك، لكنه يسهّل عليك تقسيم الحفظ واختيار ما تحتاج مراجعته.

لماذا توجد خانتين لإدخال السورة المرادة؟

لأن هذا التطبيق يتيح لك مراجعة أي عدد من الآيات المتتالية في المصحف، بغض النظر عن سورها. فتستطيع مثلا مراجعة الجزء الثالث، والذي يبدأ في سورة البقرة وينتهي في منتصف سورة آل عمران. كذلك تستطيع مراجعة حزب معين، أو ربع، أو حتى صفحة واحدة، أو صفحتين متقابلتين، أو عشر سور متتالية. كل ما عليك هو تحديد آية البداية وسورتها، وآية النهاية وسورتها.

كيف يمكنني الاستماع إلى التلاوة الصوتية للآيات؟

اضغط على «أظهر الخيارات» ثم اختر القارئ الذي تحب الاستماع إليه من الخانة التي أمام «تلاوة بصوت». وعندئذ، بمجرد إظهار الكلمة الأخيرة من كل آية (أو ضغط Enter في نهايتها في الوضع الإملائي)، سيتلو القارئ هذه الآية.

انظر أيضا سؤال «ما هو الوضع المعلم؟» التالي.

جزى الله خيرا القائمين على مشروع Verse By Verse MP3 Quran لتوفيرهم التلاوات الصوتية لنا ولبرنامج آيات.

ما هو الوضع المعلم؟

قبل تفعيل الوضع المعلم، فإن باختيارك لتلاوة صوتية ستسمع كل آية بعد إنهاء تسميعها. أما الوضع المعلم فسيجعل التلاوة الصوتية للآية قبل بدء تسميعها.

وسُمّي الوضع المعلم بهذا الاسم لأنه يناظر المصحف المعلم، وهو تسجيل صوتي للقرءان الكريم يتوقف فيه الشيخ بعد كل آية مقدارًا كافيًا ليكرر المستمع الآية التي تلاها الشيخ.

ففي الوضع المعلم تسمع الآية من الشيخ الذي تختاره ثم تتلوها نطقا وكتابة، بدلا من أن تتلوها من الذاكرة.

طبعا لا يُغني الوضع المعلم عن وضع التسميع العادي (اختبار الحفظ) ولا عن الشيخ المعلم (الإنسان).

كيف أستخدم التسميع الكتابي (الوضع الإملائي)؟

بمجرد اختياره من شاشة «الخيارات» من أمام «وضع التسميع» ثم بدء التسميع (أو إعادته إن كنت قد بدأت التسميع على الوضع العثماني)، فستجد أن خانة الكتابة محددة آليا حتى تبدأ الكتابة فيها مباشرة.

لاحظ أن:

  • الآية الأولى من جميع السور مسبوقة بالبسملة على سطر وحدها (باستثناء سورة التوبة، فهي لا تبدأ بالبسملة مطلقا، وكذلك الفاتحة لأن آيتها الأولى هي البسملة).

  • كل آية على سطر وحدها، أي تنتهي بضغطة على زر Enter، حتى الآية الأخيرة تنتهي بضغطة على زر Enter.

  • بين كل كلمة في الآية مسافة واحدة فقط. ولا مسافة قبل الكلمة الأولى من الآية ولا بعد الكلمة الأخيرة منها.

  • بمجرد انتهاء الآية (بضغط زر Enter)، يُضاف رقم الآية آليا، وإذا كنت قد اخترت قارئا من شاشة «الخيارات» فسيتلوها كذلك.

  • عند الخطأ في أي حرف، يتغير لون خانة الكتابة إلى الأحمر.

  • يمكن جعل مراجعة الأخطاء تتم بعد كل كلمة وليس كل حرف، من شاشة «الخيارات».

  • لا تكتب علامات التشكيل، أبدا؛ جميع علامات التشكيل التي تكتبها ستُحذف قبل إضافة علامات التشكيل الصحيحة. قد يتغير هذا في المستقبل.

  • الألف المقصورة والياء حرفان مختلفان. الألف المقصورة هي ألف في آخر الكلمة وتُرسم ياءً بغير نقطتين، وتوجد في الصف الأسفل من لوحة المفاتيح، تحت زر الألف غالبا. أما الياء فتحتها نقطتين دائما، حتى في آخر الكلمة. وتوجد غالبا على الزر الثالث من اليسار في الصف الأوسط، بين الباء والسين.

  • الهمزات صعبة. أعرف هذا. ¯\_(ツ)_/¯

لدي مشكلة أو اقتراح، كيف أتواصل معك؟

عبر مسائل GitHub، أو البريد الإلكتروني: [hidden]، على أن توضّح في الحالتين في العنوان أنك تقصد «رسيت ويب» (اسم هذا التطبيق).

ملاحظات متفرقة

النص في هذا التطبيق برواية حفص عن عاصم.

حتى عند اختيار تلاوة صوتية براوية ورش عن نافع، يظل النص القرآني برواية حفص عن عاصم.

النص العثماني للقرآن ملون تبعا لقواعد التجويد، ويمكن تغيير ذلك.

يمكن تغيير ذلك من خانة «تلوين النص» في شاشة «الخيارات»، والتي تتيح لنا ثلاث قيم:

  • تبعا لقواعد التجويد: مثل مصحف التجويد الملون من دار المعرفة؛ تدرجات الأحمر للمدود، والأخضر للإخفاء والغنة، وأزرقان أحدهما للقلقلة والآخر لتفخيم الراء، بينما الرمادي لا يلفظ.

  • تلوين أجزاء الرسم: النص العثماني الأساسي بالأسود، والنقاط والتشكيل والحروف المزيدة بالأحمر، والهمزات بالأصفر البرتقالي، وعلامات الوقف بالأزرق.

  • بغير تلوين: الخط كله باللون الأسود، من غير أي تلوين.

رجاءً لاحظ أن تلوين النص تبعا لقواعد التجويد لا يزال في مراحله الأولى، وهو ليس منسوخا مباشرة من مصحف دار المعرفة، بل هو اجتهاد شخصي مني حاولت فيه مقاربة مصحف دار المعرفة قدر الإمكان؛ فأي خطأ تجده في الألوان أرجو أن تراسلني به حتى أصلحه.

تستطيع استخدام لوحة المفاتيح وحدها، من غير المؤشر (الفأرة أو لوحة اللمس).

استخدم زر Tab للوصول إلى قائمة «من سورة». عندئذ زرّي («سهم لأعلى») و  («سهم لأسفل») ينقلانك بين السور بالترتيب، وتستطيع أيضا كتابة جزء من بداية اسم السورة للوصول إليها سريعا، وزرّ المسافة يظهر لك القائمة. وبعد تحديد السورة، زر Enter ينقلك للخانة التالية، خانة اختيار آية البداية. عندئذ تستطيع كتابة رقم الآية مباشرةً أو استخدام زرّي («سهم لأعلى») و («سهم لأسفل»). زر Enter ينقلك للخانة التالية، ثم للخانة للأخيرة، ثم إلى زر «ابدأ»، والذي عنده زر Enter أو المسافة يظهر الكلمة التالية.

يمكنك الانتقال إلى الأمام وإلى الخلف، بالكلمة وبالآية وبالعبارة.
  • زر المسافة أو Enter أو سهم يسار: إظهار الكلمة التالية (مثل زر بأسفل الشاشة).

  • زر إظهار الكلمة التالية + Shift أو Ctrl أو Alt: إظهار الآية الحالية بالكامل (مثل زر ❮❮❮ بأسفل الشاشة).

  • زر Backspace أو سهم يمين: إخفاء الكلمة الحالية (مثل زر بأسفل الشاشة).

  • زر إخفاء الكلمة الحالية + Shift أو Ctrl أو Alt: إخفاء الآية الحالية بالكامل (مثل زر ❯❯❯ بأسفل الشاشة).


«العبارة» المقصود بها تقسيم الآية بعلامات الوقف:

  • فمن بداية الآية حتى علامة الوقف الأولى هو عبارة،

  • ومن علامة الوقف الأخيرة في الآية حتى نهاية الآية هو عبارة،

  • وما بين علامتي وقف هو عبارة.

وتستخدم:

  • زر الصفر للانتقال عبارة واحدة إلى الأمام (مثل زر ❮❮ بأسفل الشاشة).

  • زر الواحد للانتقال عبارة واحدة إلى الخلف (مثل زر ❯❯ بأسفل الشاشة).

يجب التلاوة على شيخ مُجيد، وعدم الاعتماد على الرسم الإملائي.

القرآن لا يُعلَّم إلا بالمشافهة، أي أن تسمع القرآن من شيخ مُجيد وتتلو عليه ليصحح لك نطقك.

الكتابة أمرٌ ثانوي عند حفظ القرآن.

القراءة من المصحف ووضع التسميع العثماني لن يساعداك إذا لم تسمع التلاوة الصحيحة، وتتلوها على شيخ مُجيد ليصحح لك النطق.

وأيضا وضع التسميع الإملائي (الكتابي) لا يختبر التشكيل، مما قد يسبب أخطاءً مهولة، مثل إبدال المتكلم والمخاطب مثل «أنعمتَ» في الآية الأخيرة من سورة الفاتحة، أو إبدال الفاعل والمفعول به مثل «وإذ ابتلى إبراهيمَ ربُّه» في الآية ١٢٤ من سورة البقرة أو «إنما يخشى اللهَ من عباده العلماءُ» في الآية ٢٨ من سورة فاطر.

ما هذا التطبيق إلا وسيلة مساعدة لاختبار الحفظ لتثبيته. ولكنه ليس بديلا عن معلم إنسان.

يمكن برمجة هذا التطبيق أو تضمينه في برامج ويب أخرى.

باستخدام مُعامِلات الرابط، يمكن تحديد القيم المبدئية لجميع الخيارات، بل وتحديد الآيات المراد تسميعها، حتى بتقسيمات غير متاحة في واجهة الويب، مثل «تسميع الصفحة العاشرة وخمس آيات بعدها» أو «الجزأين الثالث والرابع وآية قبلهما وآيتين بعدهما»، وغير ذلك.

انظر صفحة اقرأني بالعربية أو بالإنجليزية في مستودع المشروع.

لم يُدقق هذا النص رسميًا بعد.

إذا وجدت فيه أي خطأ، رجاءً أبلغني في أسرع وقت! هذا النص يستخدم النسخة الأخيرة (المؤرخة ١٩ / ٠٥ / ٢٠٢٠) من مشروع Quran Data.

أما النص الإملائي فهو من ويكي‌مصدر.


💡 اضغط على علامة الآية ۝ لإظهار تفسيرها
\ No newline at end of file diff --git a/javascript.js b/javascript.js index d8c0ce5..07e705d 100644 --- a/javascript.js +++ b/javascript.js @@ -141,7 +141,7 @@ function recite (st, en) { if (zz) { parent.zz_show() } const _recite = quizmode === 'imla' ? _recite_imla : _recite_uthm - load(quizmode, st, en, _recite) + load(quizmode.slice(0,1) /* 'u' or 'i' */, _recite) } document.addEventListener('keyup', (ev) => { @@ -440,15 +440,19 @@ el_repeat.onmouseup = restart_reciting el_repeat.onclick = restart_reciting function init_inputs () { - el_aaya_bgn.innerHTML = el_aaya_end.innerHTML = make_aayaat(suar_length[0]) - el_aaya_end.value = suar_length[0] + // suar + const sura_options = sura_name.map((t, i) => ``).join('') + el_sura_bgn.innerHTML = el_sura_end.innerHTML = sura_options + el_sura_sx.innerHTML = '' + sura_options + // aayaat + el_aaya_bgn.innerHTML = el_aaya_end.innerHTML = make_aayaat(sura_length[0]) + el_aaya_end.value = sura_length[0] el_aaya_bgn.value = 1 el_sura_bgn.value = el_sura_end.value = 0 - // + // suar/aayaat essential interactivity el_sura_bgn.oninput = el_aaya_bgn.oninput = el_sura_end.oninput = el_aaya_end.oninput = validate_aaya_sura_input el_sura_bgn.onblur = el_aaya_bgn.onblur = el_sura_end.onblur = el_aaya_end.onblur = validate_aaya_sura_input el_sura_bgn.onkeyup = el_aaya_bgn.onkeyup = el_sura_end.onkeyup = el_aaya_end.onkeyup = input_trigger_x - // // support keyboard searching the aayaat fields with ASCII numerals let k = '', t = 0 el_aaya_bgn.onkeydown = el_aaya_end.onkeydown = (ev) => { @@ -467,6 +471,13 @@ function init_inputs () { } } } + // searching + Qall('.search').forEach(el => el.onclick = ({ target }) => { + if (target.tagName === 'SPAN') { target = target.parentElement } + const el_aaya = target.previousElementSibling + const el_sura = el_aaya.previousElementSibling.previousElementSibling + show_search(el_sura, el_aaya) + }) } const hide_selectors = function (quizmode) { @@ -524,6 +535,7 @@ const clear_screen = function () { } const new_select = function () { + L.hash = '' show_selectors() clear_screen() } diff --git a/res/i.lzma b/res/i.lzma new file mode 100644 index 0000000000000000000000000000000000000000..60c4ebf841d21d6830fd3c56ee4f723016227e41 GIT binary patch literal 178052 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�o&81M|3Irl#IH^-L{3{JCL8+4I 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%0D+~Tct_o*QCPo&j<2_SNTtE{-ZnO^xC9?`*#Go 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

T=|Ge-=S}f`#`N_0mPeN`(X$2!D$l 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 $zzwC%Ixv)r!G-mQdGXreuoO?WTK_-poYoy zTo)pW2!^jz*JqXRrwmWDHoJs#_Ub94s|X!e0;*l4+RK}Q3;}R6oQ=+hoJo)qS%nm6 zlS!fT#5aC6Uj*(%upywr#s?9S=audcfu0Zt(>0|Va%fnaAyn&bN|2yKgiTvyRX+ET*uTLO%|>X} zqm1ssblIntYx&z%*{IW#`+w!C_1la$i9%=*w$Tj-7_`o>7>e$GiF*E$^q7{M*pTin zRtxAOa5@3VX_lFXFSJ`K_n}Nnt8a4gLY1XT46gS{K6!*Pu_{h=%#I7z+x!f$5iX?s zulUHo2)jMeBFAYpJRxv^)$MMuyt=bc->a5qqinP$S~5cKp}EqD{~bpJkTLr;J+Ox? zUbJkE(bc3Z>eTKz{j68?K2Y;)lJ^RVK|b?1^?YE?-woYA0K;#@q~peiJ>tl>^5yHe zW1*~2GPD4oM)Y0q@l3D979B{9G@uc^k=ALDWGux4K|@FEFHk;8={j}Z_bnMlHb|~X z_PlCEic?QR8{7`i`**Qx@@hgoBwLkxqP>CF=c#^ehUe9O&YNgO-!@%MvyaJA8D^&&)f23TRh#l0D=Cx?-o4C(W8cy+-?-I+ZB1MxR-wLa0s+&1g z;6%~&W6^tqb}64<>l37pB61%7B^-yosR^YMMpZ4};C1N~BS}=Ktj_xmmWedK`R;c6 z_f`eOl}*fVFCnYe3_sJE-vz-+lJI|Ni)lfZ?Bu*P_WWgA3-K%tZCWaPW@R1F^dL*Dr{prU50qBp9b zhqWD0!ohHMR#)kkyPrVpm#Gw2bWHjx-g(`Yp@H_R{4U5~)O#cPsZLH@vF;*W@eRhk z6(itRff?|Eub?IofPFKXH0shEky{aVv7Xt9Ig0s7%J#spplh1;VNU=cSPaV|nxguw zY1Ocd;)&I61_ncnKPdCDq@Cav90DitWlB4@oVC^Ew~hK=qJ9N?**f2t{ebi-&C*d? zPOGP9Q>(Y455?rMGlu+Tbimx za)il0?EC>8T${K%M^$eTf>3Qec{`_q%=Xch6=n?d4Wz72*67PBpe6W99M0I4yDN9Q zGn_zsbHaLt#OX4Ku^FKR&KRG{)E8)VF$qtjUv^}lyCv!b02WH(H00<7`=F5y3Vb&> zPgj-u&By7_nwJ8`=r8T9ABAx{6tal3vKwXy^|sv8+55#Y=flf?K8=jasaw6+LF;Dn zldN;R@Os4q&A-v@T~G+VL5+2js~5Fzrh9OOJFh$#stLx#bZ#g%yCcS0KrFN zJGc#ldD~D(k^6PnuqodT+7SM~!E2R-`tfyiV_x)K4%%NT!&PqzACFVCwabRXytYgX zaBQqf52_{EjZ1h$6n-+P&dB!YaXu)CjU(p+!Yer#Q5c`#k=gHMr;D4Kyie0|J>iH^ zz)2TdY6zag2dLhrME@KaS-K~zcjOqU~)Gg)2$ zzbihc$H(qtv*|ubFHr%egpDX)?D7+l+F77`@d>blxpFi1m)f#V=#M?EFgTUJ!%+Uw z@~g3BK^AxT{DxcshfvxE@^mQ|s)3a5%D&rRbPGc`DBZhuk?(%emzjEAo%U58^Q%7< zyxiCe&P|qPQinRcW*6KPVn{f#1G^E=+|{X?kbhWRNi8|zWbTSF8_hL&27U?H^2_Lt z*Uyxq0kdo!+=MHV*~!YW_!Q4Q(XhPzk5e0#`+~bh&&xF$l7C`Jc)UmLE#i6)E_VYTK`}aAXeOT7j7D6tx7$v`689?fjj+d#^?VHbDb-Oez z-PWy-5D=@m<`iNG0FcDBv5;=Mhw>QHJDxu<^D8h~4G!wLmDR-+${J%?D*=-GEP@Kv z?6xZER_y3m>i!YIuz)FTCC4*-gtXD-bdlTAiE`_-wFFY{(^@BhzR)S8Uc=JwN%MxbQk0R9~+!)^VwGW^t# zd(98jFf)3O{>v+4A&w63D?U)>DZT@WR)PTRep3Y(u@5e?|82I@*9`Lf% zx5@Bb+ubAvHsUG!RZP+FP9WntLfzkgWO3?$(LAuJjQ;HKP#mHwo{K$Mm=0-5Sj^nP zIu}r!X_R@00{2C*M<+Hl_C&k=)%m!g9$^l-(|D?YkL_egvv<7ZTu2WA7zMa40zYw~ z8=WzQn3R2f(IQJm=))mq;cuvYCGQn|43WPa%ArW%{?akB0_#BB?cn2>>a&D1yfSX1 zZJbrHSfmJ#eV$s6p^^2Wq4TX%_C=2;Gg);@GYcB)*)b|h`IPCqJn~d7Qd$P+ZP}I1Em#>WV}}OoI0BS^BkXcwG6!lM-Q{^^ zJE{khMm!XpJT4qOQoP5|(*Ay3gv{Zl?wA~oK?C!Kh_YfBRP?l?+gtwog2+9)*X zlM|bU{fXV=r`Spru1@2{vpdrvUyx@}GP63DijfOFR{0Sg3s)`{jr^!Pf4>+G?5bh1 z#40A811$>w$q;}2GxN%-gr<}freFXx)4(@RjNKMOW_po5^3~?0T0<_b@ zP;^O0C_Nu7=7gTdpL_4KJ;Ng^OeDiu(|&^?3{&$?mlqUn?x~1kZkVc$0RFy$N2vpT z+Ex_MFTx}iZbexe|1A@PR)yC>KuBGOs8cR~VhT1lp8!@*%IEp2h7V}oUHq+77#pLi zT~^v+%_0dH)&ShBbdXQH@AYI_DlC4C1CW1esjg^LK@cS`I@*q6qq2P616UjTTBdi! z{BN31^b6S~WJ(=e!=Y&90u;O~I1WVlMdGw{Bx1^`vG4~nX=$AA40>RuIUWa{A=!dz*%?vSA$z|m14c|?n}B}2V1%%`a6|7v z`A%B*4)uE$-{Lt(C(MNI*!`yD1NYImlSdqoOr2LRaP!I8X{lb4m!q+U$B--W^q16l z73SpFrb<7iNUgGnV?|*$vhyijnr}Y<5-kMxNL8Eq3Rjt2!C1WXI{Xh-&YOqqMpa*9 z@2YA&aDj~?7!&nhs9Sr6`(6*TKdF~zW&Jj)%YtSepQr-J#=bgdS4 zszY`VG(jY5A7A)PWEj`oIqIRhWI76ub2Qf>xTi>$1B9kHc2Op`duVzh&Y~Fwn>0gq zs)b{0j|flH8c{oM4R9sF2*pk}lTtmo@GGuiF>yE$*FoD7aU=s(o+_nwWpuub*^aOOON$eqkwIti-WFhyzIN_FGK~)*tWH$PPm;5 zxqRTS3-kh~7_@r8oi3})-D&#Qq+EJozY(AaxW#dyVT4BTnV=Q2)uLv~sd{rf4-_YM zge31C6>B-NE{~i8FpPpg%5FO(;BJ1kUSnJSPjV=an3p>IV`bgI#ls z&}&wQQl#@M#uD8Ut*b_vBUo$UFY^TtN9m>7>>-E1?!i z4{ikmi^!wg&@P>|YA}JoyK_cUkv%>G13^EhhFJtqbGL2e6Od%Q&HETWv*6(bE$p5r3Wd^{NSXugbfB22{GdZyW_l?j}#<=dJwrWW%n z=l$ei+9F8rF_my2`*aaV+55XJM_ydMp;5)<|p(X|0@Ey%NPR`KbFBs^hNNgENO zUYOZ(?uuuO^iG*MCf`ZE{Mb*9Q}mj@a%wel_E?RdP*bUm1n6A*N1sy8-JX>cTR2wJJKB}Y(-cMI2 zBfK%}6r99CM#ZbfUR0c~Eipz1;v8b^Z%GdX2!D^#;Km;M->U2N>~W?4D1D=IY7d!; z$q|cz#nzeRA@0JUY7jc&rASEL+>y^4getJ&wp)U5H7pJ$vwgO20hw9-37;J``dP|- zD2`+l$;Tw(alh&okfPXSj0D!qzCGLaP*cRZeewd4Jwa>$46zYD2{mb$+PnQ6=oW%k z!^(6D_y5ZO9gD6x9jANNFH-!FhAvpwr%xHlVK5Ck(Hb5No>}=4R(AbFwH zRV*J#Wjy`L#O=(u#ykA)`TqHBMttr6!3WU8Dx`T-pAfx%Hu7kpx@WMIOk;|R`P9NK zJWcd%@y|73L)ke4NGj-xV%atnP;70KdD#|TcpAGJ=Yua)M88@YL73=!=wr7NxO2&0 z{zKG59YVL8VN~!b#q3oxp&eIi>E(8)E>)s&)|RIYZA? zH~sV{sjI`9$?Hf_b#_<4Q0;O0u#sVYuEfn zbu^VL5JdV=Ti8>|N6jcp+va+ZUR>S>+<*^L@9YF|y~>`rP;kR2R`AsxWzWx>gWdzB zOJM8|W8EECcupt%YX)rSoAl+nVf!qLF6mrlM;fSyyUoEosoDl&db*yiAhpOV!OVi8 zva5>-H)$4wUJqG$GSA8mg>v(qf)&vOHyUH~F+c!970l*hEp*4q^45+eazyMjftB-J zP0wyBw!e= zK68hqaB7JW8!T=@>(hWnm<74x1uzHe-}!dps?EnBl7(xQuWl)UVH@4qzS<_NQbl8? zrME7|eTX#?ev)F7bvyh7TPb5;XqD2S4agnn_dCG{!YdKvC z$FtCvW7nm~(>muaoB8^X#zYi?WW`4-vC+%QY)wn63$nhMr8W<_q8acCQk%>()lY>l zDnKPl9b7%^A?(ZO@}m{d%~9@h&mmiU7O+ufiA66*LJ+Br{@X3VGrVQ@Z6y;^Bva6` z<9N%x!OJE}Mi1jgz|QGPEt`j3!ZLZ`@;0Q=M_&mqwsdmM>xWvZb6TmWfP%n@I`E7< z`zCtc9;@e5l9eidA?vUklA6Ujx}pq@A#t2TkK79BT%AAzG3<`{nj`-HRQT%rw3=!w zBnM-7UT@g4-!K^!tkZ}Pg@2Xn%U2{R!m#c+3HD5nZYR)^$*&QsdLye@y(3?;zNQ1B zoi}8a&d1ZgwlMsD6J5ElZUR(#KE3(bu_A)F16M{(ZDHPmY_O#dsu&07G& z>qmg!sSv}C@J=`h`(trO5EJj?B8~RHg+JN#eEAz@i(mRZ!!yCTg{9O>h%P%=I=@{b z=@&e{-@S}v@kT1vIopmg%`O4mjhP~aKcSu-Cl?q=boRC|n>g*)a2K6(x;-VT0<$dg z+l1*-BMI%eMc=piP#8HOVBGPIg=vzrQq>6ZMN_4!Hmy#ZcK>U}%2DQf=2n}dzaL@C z9fgM16Qc*4?HjeXif=szIlhE3njbOOU4bX|pd=uN4=2^(8$n$=IBXGcx5Uh@IV!al zCq2$^mt<>DUhg7#8GPy7YOGV0$OqgPGa~MQ9mA@mWn^Gpn5ubO=AP7s{~I^oR!OcH zS)(-LfM?NL#7I6ER|6+8Y*i%5iJgR$?X>GvDIo8t=A zshF=DK`82c5cFeN8z6i^H(@5!5|>=pH3_G5U*CeNWlFH)GHv}Mbm$vXY$p<=Be}71 zzOB<4`*t*F;@?Jekui}}rb|b8y=wvX!l{Vfa`|VRGJpx~k&ga5Gzu0oTwL_tCsp#> zcbw)d9UUqYbP1`pPLu#2E&*T?dl6?=;`Ej*?+MOqwtLr5P#{6XAE^}&6pN&WN!wi< zYHRKlEAexuoi=+g_fx_-B?~x5JS%VP%CQ-yxQt2nLVjDD4cW#oM-M{rXs~kDuS5^4 zRayLk^RhRDbw{jDY8DssC%CSeM%eQhHP+K+{CAc49A*^r$GqBE#Lx8tk&>a9o!E^f zf1T!vdes<8o!iH$j&-X6^DpuX0A!M{zFggf=^PUMnw z-1g^eEANFmrPT#2CVfcl8}rKwSwW9W3fFSeqz3}zGS)N;vQvD^A8z}RH@}UYbZnsS zhejG_oRq|@GtR$!k?@-Z#ZKrZ_#~zcdcu@2*G%bQAj!XuUBt#64$K3Qrgon%u*f#J znn`W)bj01%$Vy2K%4aSZFCO2$Hu%cZqCE8m> zLb#CQa8W^%(qg&*UNCN^a!iRhZrwA*jg|)2qaH(@q!O(zI>HBEnBwJsw@WL+HatCC z)6bE#b=d5OlXS~wz6E*b%PI3$vypAe9U7>*F2tfTo&K_@k>qDf6D_w1MKJNV^BtI0b^&H1 z*+L|$BeWaw6%TjUg5^jVN!DAC26fTu<4UN@55CCzUcG`8pw{(?6MicJ%;y|1j@**Agu9?-zw%Uu@yeFBx%{5FZ`de}+zQUbRKq~Kvf)jN|uL6RL!(f7C1-RA440`tYB_~K2F@p z7$g{wU%)VJXHe-3WyIxCehF;+lz@reRMWQ$<7h)dei%*fJ3(H?7&iadD%wWVQt9Wm zRGv-$)Nuh7>^t`j^}LxboIE=^vu({vHs1fxh;8FN#F`TPh{i@dmc>VH=x|KjA6XLA zLsa6+>~C-`p?IwY?)3lerHU#`xU=E4vCAaFdJ-rCkrFigp>DwtXNS%e=hAjvlw?~hXFN-rh2B9#?mt-mQ-T4d;U22%0jJ+4FwcIP@b#W%8P60 z{zDa!RIfFRD(5V{hXqkU&J|9Lwdx6ztl4|Trj8dco!qgBUT(3clPlmU~rvdoMh|8KJv+n2H+q>_`P^ev%Z;_2}F*6!s=k zP125`bPSXb&#Nt4fXn`s+xJL-&$kD0B+0cW1|~Hg5oPpDU^XaOv-)mwWD%>3R;7a+hWmLMZ@TI{uvAc}Xe4Y_-nwuf#_{G_y>Pj&<(um^OfQtQk{vk!nnW|c? z#N87Scd)|%Fd0SuP>hl6X=2|oYuJmy*(`r=dm536C_g1&W)U?;I!{_s$jkYo6$2;p zacU$xx^dOGE(k~oL$|xz0@*ylbnQFl9~f9LlK*&Rws|S{>%TtpysKDzEb5tIBp=Y> zO#?od7}!3GtAebOoQ$PY;!S3yo?Ut6_O4(n*B^MgzEe2;+#=t@k?n8kPUIZ+KJUX_ zyiH}Ie*#1I%Rn7r@}cyMb)LQXBCLKr0r!kk%~gY|Ctx#=JaH^x?60ge_kf)L6%2<8 z2X6^yTMzhmm2p=BuT9CZ5ACs^D_|kHG1AeY@XPq%STWgpvI5WFjkxA3AodclmdR}T zxf>_o{YpPUh$dW!&F6=|{vma{_@K}?kO2TIIc5%cGK#VweMid` zvs^AR3(njeE+mc!+4U>8W^a|B7sw^zLW7+J8WE0n3hLFdV`@Qcqo%?X2KlvQ;8-bk z`}^QKKf{|DqLuCVoXhr0N|L#qBu_K0fN$;+0X`Q7!=fQ(x%@Xa^pK8;MXpM3RHJz~r`wMC13opogS>LQL4m3{m`9)Jto+{V?)T&CQ3D`ek&t2;tA=vZ_1sSY(hW559olb+A6=V^Nv+xFgXBPs#N*fr;s*#=S|^Tb^~qrT^2xq z2V3oB79$q*68$S>bIHbjZhx5w$?F*Mw7tzk5?HjJ*k?(~xq)QNOz@^fNzjm8HS2;I zi!X{lO7ALVp|OtgFXKBEb(NT~RgX|t4A3G9DXH66;!ngr@RKKyJqRogfyI^Q>N>%8 znY-T5SMnj9-O4wR$ZCJqbfPJP;%K8PX@DYorcM+m+kfQXYCZtSO5}X0{G1d&5{C2h zc2(m65xIH~oLfY&TwjiTk%hKUezwUrZ^H#w?0#LSzD)gP<}HSZ5DQKn=$Z3sxcTV%>KBai3H$i$SJPf+OeDpVF5?RC-$)9k&B|CnQ{4ug6&F zkZF#IVg_89Pjq7#86w z2d!`hgsm2-vxVIuBs-HSH}KbIB*F7hnkq7y3K)T89P((>K28(w-2j3M9$_rU)F^~> z;nf2>4n#{pogZ3m&<0z01^zoe3d(cpX9;2yF?wh_UJpODtLtP5^d?_0a8%88Gr8N^ ztcCN$Ae_dg$IAP4R2gWS#4GWW*$%wTkJ)y%+e}5yaD}7b_Y;TVTQ3-F-;^FtZ zgQEGHCNQFhV0ekQ#5k;T9@+7V78IXa^jEn)xI{)&AaiOIpa%G%pA~7|3yLd3iLW6t zY?U@UW$y6ioA9DGsB!HCq|>5!U1Z}6Ile~ZSuQ>;k3OabsPHg^H=t4MP@}Y5%vA1=yi3sM8}#hOQhCn z8cwWvrhL4ifOMXn#(3||jN62ZMId`JLv+!PF6vlx=m5#`#POO?I^%>sKt@Bv!mKAS zt74u^i9KhJ6-VQep-U5Wd%>Xs=*PGw6rr*G{?wuaMeiduZ827#pc-`{jAH;VK+wNY zJRnu^;TgbG835^$|G9+|$+Q!%q0P}n%cj*B^at$EF`!GQ?7ULoyctq(SdwcWvyVF| zGXDQ)rSE>Qe7h2flJ0G&BuN2k!z@z}UP!f!gIf0|gfJzH`&!b(ET=M4@ zXnWluGP_NVl-AklV;DO@S+o^w2e|CG1}{>45rNL1MJMc?690D$-I!n{uO$m@djr>f zQrmqs(7?9E)kX=@%vBt4LmK|idlL5;-vL`!h3zQ+w(vFJ);blhbd#POqh*+9ef#kF z`7V0=1iebQvcK;2ESh=sBr!JGyV{ZpTZTkR7WTy(@Ix*IVSiJ-=dk166=MDyc!w(j z>s?x$AbkoebhdkBSDz!wF-q6bTG`kkk4XAIlh^Ff=Id^-w}IS5qi+B>SlSLonOs&V z;XR--Babt0h$2=tqj+)pn82aStz@l}E`}gY<)Xg5>41PN!!94Np}i0*Z_0pIrZ`L< zHr@SPUic0BZJKg(0>eWoblqjj2|rCblv8j257rh8xx*f6RutiXcs^N`89?@)$E*~N<;l#lDcKe zG$q8!gDy5ry}|!AaIIJ4QQ!GFuW4g`7IL@g+6c-(C3Ppop>2{i*e%K;O$5CDxjLSMnad#fs z7P^){7He*{LZ{3EJ#gvG_#xxy?F4;~F;3+WlsfJwMhK~jDn^4s<%Zt#Xu9rr;_)xg zb|7pyGpCU79SF^L7^_U@rb_vhw?)Pq(>yx+&93>Gfeicxb-eqMVffkGQmIjchRl*h z3``9)hG1{$u6Bufh#sRNTTt{Uw-GH@bH(R5u?={ECo4uT2H@2SGH6Tw)g_nq`6CN9 zf$v2Z9xH{Nu+DkuVW3rXiu-hmdEL`K!UzE|a^jr-3nZXqbk`>%@L-lr3%FDSN4i3t zz|h`?Jln`U>FSnXa61KmfOB&qNj6>KOb-FsY~@xvP~_O6IN_C}yFp#}P9rpcXSJK4 zrB>l*<s2p>VjRjoGlf)s~D>jxHvsMI6DS>QIAbHlrQb?fu<`KWw!L2vseyrc&%d ztCrmoZ!Dq=nNf`>c= zx6nzXZR%Sp7dJCC1RReqm0|`YNhF2MpdP477BRU)x~B*16V)iyuhbXoyv!!(MJql7 z^0d5feYWUUdY@GKo76}3GG56S|}(3Q)KsybSr zUE$onqJ}rTb+vGOuc@Dotmj;3siO=02r#|McAoOGcXF0RO-7%U<9Jb)aZV8q)^%z zpxKsI;jQC&0GSZ)|0JCcwAxM2EiaG=R2B|ct?rA)&n>a^XIn;AqukH*Z0otdmw9lD zfqzlk-Bx>!2u>{KauoH*QTz~^__ALvkr`!LG$2>o(E?A_UqO-4`6ukVrbfVz&}mOE z3x@I63cPqStYJ$l;D>v}Xh{OM)h0Nm3oMgzgF7|VQEe!I7`b|b0tbR>Y3Kod&CWqD zm+CfQc9~3 zki+k2NP5;#%rHh-pOa9W5Rf1BqARlu!c4Rx0hUPti`ju?{5wVb$6%wqd`NweuQdkS zrD#ffWSZWJQAX3_Pe{!avU?dE;a+y)NiIc<0K7m^N|&7f|96q_R<2sYhhOPy-CILZ zIYScU`?53(XRw%xlkdN^xuCyqE1dDY{f#JnYB%P(IhIB<;p;48YbfOU&zx$ zu_CG!+wuw^SswmrY*_p4O#c+Iv4|~#M@i7xT=?Mt-qC*io_;EhNOjEbWj?|jb*u%p zK@mfQq+}YQHi-Lqsgo^!p!RIiMu2o1#YL+3E@n8{9(+-{)0jLyYL=x1-0=SwfzA$-;&*W5@-~xS1d73rZX)Rze1eyX2O}^CPz|m%B~Em zBUtQA;PW9J9GgGf)^eWxE<~+s=gsKH>tJpv2IBo#;s?BG{b@wre>OdJRz>}@E6M(7 z4>!q)1W+x$dB7h3^0)gZ2y`S%2#&ignc?uyGdKravzD0c6Y_8i$vWI15u#{$CQ zMaUaZgulwOClPbNtegc8fN#qby29JRZ|K_YD6Xu^LT7-S(Q+g^sQU)w*Zc(0FcxA7 zYG0zt#z|n~oqHWgCgV7Mt89xde&mm3}9`OhS>EWTuHJD1t3H6bG zWb<8pArRifr8Cakb@R~D7#h@qSpsI^XJF`!WrtKHpNMs1rY}Kp_ng3}w`p(VOJ0>N zBQ={W6*u4zhM41@mB6A-Rd;Onk}l8pMI{eDs}$$W)rx^%O3Z##288M6zwvqh5hUb* zd`YS9HIaio(Yz=3LFx zw?(fCcDgVY-?evUMXUu>!GdU96d%Rm@k4=E;3 za;LZg`u`|+bE7bt=i_$PPmL<=)rvaalowhDNko<8nmg_NF&^PTt^A{^J5}QB=*lIG zL2~cIX23*eg8{*d-GnT{*z0keup#}Uu!8&QQw5U}A$|s=->0A*sRPP1W^w}c?rR*f z4l7UR^@x+bcgi+6nT4SJu0`D>iKE$VjqnbnaH|Ae8;5Bw*4RF7Ak( zO;+P+4&Xm1>`%dwFzu}=C-nipU82!E0w}!p7l(4)6P()EYPV|P6Qve?TSw{|BVFQo zL9hTyyL=eYzYzP4L7AFbf|%cP4M%UGaPr_T|B|7P^~+(&D_qngZ~Apy{~!6ZC~?yV zL90-oYnI7s^cj;xPQgBN1r-Z-ZcJt?g?K3}1US98+CUfkI4?3OY!pGc(ia+wWM-OlJo4Y_WgE3W(KDUYgpN%mE=R;q- zjyQC2(6vSJ92mwPv~@zffIs`4rMUBCbaizV_?6nd%EP+`q@E(=rYe4|c91FQ<&O*} z4(VURsp$%s-Ygw3S5L2UNznf?gZdOWul_7bM)zC<6rJ@zkPYe#r;%f-@QHvHBX@3H zzLS6{gOcrMW?{?ZlM9$PXqI?uK=`{TS1m&4|Q=Wp590KwD! zh)ETslJf!B5O zJ)Un;zLI9RB=GoO`QPhWjKDr!0%|AXLm4a4=heGo?co7nZJF?B>s+i?2+U#|1M?4L zCs<_@Cnx#w#C^I}vPpKVdLl*QB^>#@#ego`^@qc~jy)5`>w2pG!yVEdXY8y1=PSu3 zl$B^X@MHh@!F+5^aan#yBflJsF2xdOsPZvsWxS5#-MzjHEgg0+Z;M`++IQgR&0#$o zaI?IdFp`DcV;zy)6SXt^`i{t6+3qZ%2L6TYuE0%2GD3!CSFSljU}SLWgtce3M?XYe zJ6ml+c%x@hxxZYGuAm<<@N7?>8lbd8F8FfsdQckKFB4vV78d1K#7{4&<%Dl64rnX( zDM50@ib9;6IvkO2O;y%2KRD&eHcU4@LG)WA?1*EM*3Auczq`fJDCsJC@$G*rhiL`5 z2S>n_tD^JFB#7>6Fb(@6{G6nhbt&D+nl9R=Ntc_JlEO_2?{rNG=x~Kob^!SQFPjV# zi39$6VPavq5Y?!aLq80JsMxj)DRPAops~s=G26bOsdf*bG?$5YxwXb$tSBhY&w$Qq zb^#ZJ|9j9+?MTH`Zsr<85B3|H!N)R3p))Y<;dDuUXufEUuL2xHBGmoO%tMB$3aqD+ zq7C>zEi8va&<~$^jRW4G158`#fjAM)3=D>Tarrt+Ej+l{&w02s8rE{+r0&448rMHU zj$6+3`8x)6e#D)mjZRg!2}rgHP4Qg=(C{86hg`)G-o^I>jzd%A6bq~C>74}GCuDjp zr*TQ6ISCq25;o^ma{qRd0_C!3quYchE~JE+Nd={sZnYgUvzYt;5Sf=ZApkGZt5d7B zWN>$twrUS@l;YLv29OAFdhBY-`b1$quS7Dxu)m0(>UWsGW7mmH!^xCq>A z6~wNEG**u&2ZF;6Oa-m$e-KJO7}0 zL`21WLn?-zgi5*$0IlnuS(OXbQ^X2FYgh{I*eXNXS&)>D%T#~AI4Y{k43rG#Hr{L+iFmMrx+(@n@OL(D>p;+EnF z>lEbC%?w`Q+0qxbEcQzpipL81OFptg7XKF%1sVYdx-q$Tr=T#^U7I`yewJRG_UOK~ zVP_v|xE7_@Z>l}Ou28xL?+qjm_KNS&RX4aF-8$}M7dU+FDuX?Oql6L+S%}xK7dj%! zUleLY0=8%=c5i}y`w%9xR;HQ>BnlrF4!)I3pu)^Uq*QWa$%;rXIDcFQrLJ#Lw_4ek zDyL2D?dMb7jiAT=2OpXSke;a@YNb`o=9{aJ^vQ-yB;-g~`3wclzhj(|T5ywIm^|S$ z5=kZPCJ+0BSitVfEn;+r_g~4H=VtG?dr`LRz4%w_c5iCW=)tF?m=@b|%i`BXWVG5A zq7mbd-Z9R}om$<38+R{ygpUS2=C=u2PmDMyq?GjRI^MI}@?TP^7s1oq%00&~WIb-Ut%D(kHZsELpGpZ@?dEGW#L?&W$C!YL&r2@ zD6MImn!nF^(D%vs=4U0;lLoN|jE{Ep4M_x3rA|b)V#K#{Gt8*`XTbE3br)J@i)-Fh z@Y-3ub@>87uo6t;=W&-pEHZN`$dB5Tz#yqgMtp$Zi{-+=0GAXqMFPmP6Zjas~Cm9Fb zlR({qgj&kZ#*PhoBq2=LjYBEo6(<+lb*dQJITq)H2aTmM5(0a=ILrpHLD~@q3~O8f zPkfgTm26QJ*IjeX77Q46_^WJQ#C7*$unz7+@ zm++TKb0psW+;f18T|u(dP%xCsO`1B|*mJMFLprAFi@r1BQlRP4``Z9_!SKRXPp=VO z1f}WA3pc+tAc=e%WMGPMZLurZyiqxDySkmZg4(Oneol0LfKV?DGM45}CWz89&F?R- zWq_{I#|aCm3~atu)3QS6W?wP24jIdL%pKht#8Y4prhb3raJ)+Fmu!Iwh%iVGT%r#? z3*xIf;jzQvPQx~E(T&U5F)S`h_pCzBxxF|I*I*Tpd zm4X7+7PzS6wUG3eDve-u8SPrFO)P?>+1JytWzN>$o3MTL@_R6veb)4Dd8$nx>m!V; zU2K?8r|tR$l;95wneMM74Vvw~Z7>laoD=W?jf@HEFtg4E?9;V*qb9wc3a3Ho{RgG1 zk%(xOS$tv_8@Uo;r7hqFn~b#KeBgISDsq+ZftFr0e{LHHL%Mg0WgZ$`isDsne34a+ z|6_RLh(A^RO|}$;A0a79Jvrv5KZ~EEl?QrXLBHYhbB`slY(QGVzbE#6_sG<@0Dy4x zm~|4c*M5S}^n1x~`{CQ>1ux9tmcgOGrgBAyq3LN{^}hstf`Vuv<;(gEAN0pAS%`n+ z#u^VIpmYkPit_u?gi*wQ(F+@{a8+qp%hAc-4$zv;QD>#0?N-?xa<*n^JuXp15>d&tP3;$6_!`aJ`}OcaJ~8 z*kxN9`}I^z5GjNzzTROaLAY?Ufe}8e?a-a}SHdF|U1`>>bLe-E)VwPv0*mYA$j*#X z+e>e3pe)7all8fX6OdlAgd-!6i9JL54r~ez?PO|{31bu|6p|Y!j(#Fs)(Dm*BnM=I zi-5x1yum)wEa0^mC*EbMMzsFI0~d;3m9sqasaK00zHe_7d&1aXVgrY_-DL~OQVwa% z3tku=qKgZX=t4n8=#p6Tje~jA*Fs&Sd$DUrDGTOuX$AD$c`5^!Z%Bx&2~O_*QequT zVCel(r4PWn-UA5+1}*J8F{;0|ADcNzIQ2*5@x2NdW7C{EhsZLWfAalnv^Lx9c@S<1 zYV0Wl`$K#l@I_dm^o~mu0c6^uoUJr3^n0P{$QRVpApm2E_R{gm_E>m~-1@2R0qr^z z8U0$b9{&NcD^kn|`S+dK{8z6pX~Mw zK6&$@`7}YPZCC7@=aO5{?;hn*@3euyF{%9H3V&S?^OYj>l)m5TCq>(>&`usae0 zmc2X&3g^EAug;Td+5N|+9PJncy1Y0os$86!vU~6Y-U(Kyb}WrkWbbATv*K-Jcs)o{T&!hu0u*Gh zY{gWF`{A^anTw>nF=_NWABl7v3lE$sh*__ zS4gFWvjLT=kJ3A(B-f+K<2_4wS*1Git+y`O|2ugR$9{9QTeS8|CTL#N_kcL1t+hEG z`|XEw7>U8rNy7{(h3_hZfld0ERd0hWZJSE~(dZ_LQn5P!!;23x;JhtpbvSP|(_WKd zq`?*{vF@Vc>T68*_hRxdCgL1-0(h)cUh#pqpCR1>B}fjA4m_~ooq}E9(%7ciMg&Yt zMs*Gm*La^>zRg{ULIV`A@=uF$V} z2^miJVI@rmf8uP0ThHzg6Rbl^`#8^8W6K|Snmm;pOB*)RYOS#ZtYHy?PwjR;!zp)Z z;&zQ1!xwpps-(U%Z$PTC76vwa4`Ah3i?MH%(yqH1*eTMq<1Fp6;=Nb$L(KUiN$U)R zrWdxca0W&t<60f<{i;!7&^5CC3@ki&QR0!=Jh@zB-`i3+pf;O&k#+6I->#j zQbT*oR}&wWO?JYnT_}zHjbcuSxVOpDSl1)u$)4pGweB71Ym^~=GUk6ugqb}SOay}Y@;)ensl})g1H02}q z80LU?)y`G5zrml_+0f#)@a)vpbzgSub;)SHeyw-Hyr*r5mdeWKA&rxt>7y7dN3@%3 zJwo%0*NmJJ!|E|u(5VlpgMuobZ*8)o_cBO|b2jHM1ErP3Zq8oi9~;FKN1k|Qx~C_` zw6`VHG4QmEp@Z%3zK=DiIdbBpiI7hLiWXOarC;{qOBi-S6+n@v&#Foe1|o#a-GP*d zP!TDb4R<2NBv_nE$vZ%lt+L|FHGBc?CaX74^v&LaocS8|@P1hS3!CTmZQNynxiMb6 zqQ7(h{kT_SJ-xW265N6j8FwG$C#8=lJ6?_6WIk``FsQcHc@1o3++-GU!IuT_hn&iu zGtN47kz1$}^5NGtIObWh|U!F^GB>oaSfh9<_NhjEn`A}U#hD;&r1Gtg;w@R zvx97$16xlrsG_a_qJP!k9DA9w!FOC+g9`QaQ?y(4%gfSJI720inYiC_32YxdFv_L^ z3u-V{{pz^dD%wGw^c6T@LJD-QW-6UW5`AAW+8r&MI1LjfSKXXD$7e1OjpWAlZ+-3d zWIzawM0W*x-B>fy2nU|^G-)`tzUMy75s}?zJhb4>jhZ*1!KVk0yw0RoCihlGkRxje zsdt_5RG7azm&&6{_a|C*3aC;~I~S3Z>I=*+TUPDlpRR(4p+r~Q@;a&ms~*P+y#z49 zQ-tKAj_dS2wh*Z^2N|&7p==MF!2v7V*pkz3dDw*22qjP5|IaX|f z`y=bKsBp$o`X|vM{)$qa-#Xx0g$z$8a5@@FcR>uTwdwi+m}(ZFL4~;3wA_*jH>3#> zin4GRM7=#_w*pXsV9TNGTE_}1ZXK$Sk)0*I)m9rlANUGO<;TXv882u@UAdZMtVRys z-c?wB{G|6mDL@)Xf)|3G>v~Sez3wVyzVLVmt}q=^A)s{rPIfJzmo3K@1TwX&1L1Fa zvzm_gmuZ$fSLDRJ=|m#NrQ)y#t_!9~mh&^aKl~lM|Ht&0iJOm2hfXL&xQr>g%E^2Q z+9DoqK)cmWXx}8zr1#xMnyi}8o=2Q8CB?{H5CL1I42zlljDE%?QKU*cD3YQYK_!DU zJ5*|p6$V;VYWwfYckox=nJ_?t!E0$%unm&?fdEz zk@k@}zw;Epu&LcWLPja@X%Qpjz+JZ%+TT?dr*xZxxX;NbItlWe;_{rD@GN&$Hx(o) z!r!OOa))x=Co`qV*d3=Me=(38*B@6=Gy@;s>9b%PnSW}U(_mV!H3vs1hIK;KEFrrt zvc4J!=vbcKCp`|_tj=qQh3{KbT@#nBy(7tDTK`DlU+hcbuY#DYO*4T*Sd~+5?iC^o zif|LwTivk{9Z~6-y#c5Zpgd@=fx^00jwmfU{nE6m*}3%jk}T)GZwyP5{9+=W1aucN zeE1vz+`MS@r2qbUuMLz2&By!*CN8{;tT_Gx5S_+SA z3K&P514?`N{>0~&*s0_Tek9T1JmKh^TAmKtB6JzNq|b9;YuPq)J%8+YPYblhMJCmF zTg_%;uucdE0mT#(H}hfH>&4WFw|^^|Q@EHXwwYu|i9*Dv@4sJsPW(&N!n1*c z#bNtFHNq2qq3fyuukq)>c-(5d1-!iSU>!rr6jwp@*X?N+38u=_;Klv5Ba^A={(aF9 z-if(ZD;1(m<}?pQOCP|{6L{TT23+8SZC-NiL!kv2$G~ z=j~kXC9?R97@kD);noSM^6TwjcM8n)5F2V)qWd6%G;StCbnS-X*7=!Ze`oB^ zG7{?uhq&7AiU|-zv5ngo*gDOVTX|jnF%|FMvrUZcwL*BCFfer3SV1|FgSM_ za8$Y_<9aNgbBnwaC*PT{W8=-R_ggKNzNLSnMkzo{;riJ?g)TKUbs^Tz-{_?OSA$+?|qI3g`Ot z?gs_fl_eN(AwdFq6f!Nax0g_|j92p_iV>}ma;z`r%C~oMD*){cZ)-<|+Y5H@Fk)r{X{LojvxXgVSC!g6jSyt}ou;--5=fSiSa0BGDJUKm7^w*zvDgYOBJ}j? z;_BOdA3Vh~n9CGTvu%4YV_7WD4q6gz$!|NLg%|b6piOtfQ)AWzXk;N9&rOeu?5EAn z8D%-2>m?(XtN<90I5Fww7>J&nqf##F0$R~UT9R=F)$b8-gDkLU5@9&DI=NxJIc+`~ zEi-;ga$381Z4u@DkH7c4>~BMNnQH~rboYpU=5w9<;5`VtFM=>6_;oc@?&DCLs0oTp zR(&SBZiV$^qfM&6!0%`GIeeSt^honuzcFULOalvvgc98OBxKYJ(5*=Yn^_^`H~h7l z!xCH3`E6K7cS0fQ_{9y9aC7R&{~pnbdxf}wdirtts({0(&tg9(yE~Y~2O!}T8B9*Z z;2t89@F$Qf;d#up#*acgyO86ZbD1WbGNKn$I9BbD1-p{OeLqFhXyc3pN5q5Sb=k10cU|t{LwLOD=rl z;Pg~r8oa$l;4y6wTNwpl5|~{C`;-QF)k~;i6A{RfkdlXN#TX19I~KJuE|5pF3L#01VBAE3-YQm4V~2h7 zsBN>EyRS1-BrnEe?qsPdW^5O)=OXZ^Fl#S-dX9zquR>3!8{Sm>PDg?PPgk2*BgWIjQ2;RL4+2~2TWDW4DE&(&P53A_Ao4oZO#UUa^n0f0 zT5Igr=Ib*7iXGTUk?S-uY733;a02^&=3otrS-m3kC}3Ed4E^}3H$SQ(@1;93cbPSf zePByVH25xQfXg)$@#ml|&-?TgZ>n%Z zW&65<8tlq)k2nH@4Te)poPmc|0Q}NLa z4G2-cs{a(Ex*27g8RH>KMc)81P>g>{{Oh}nO~9&)WKcyz(VRGB~F4%bLAehzn8w;H)VIhD#!8&CxBV31Z-OeL)~9wv(2j%{BI!M73?Na zhI#@_3Z5F?Gfg;sO|9*bn0D;wyD6u4)JaF96+02Jx+{YL+vA>Nv4;@uwQ^oHxDg7d zzPqNc-bHL5*)g?j?nZW(-()Z=+3Z(6k+eppCOI^R02n+bR)d7d#e4J0JIz&b4Lwf>BfxR=YR+D}ez2?XEO5kNEc=LLKT z=HUbx3?RDIit-G#AQ}c01}eb=>i9qfP-Z-YLb*amTJ^E}c3kKGg0gzz zg}XhMG$Ce`*k*#f0fHKbWATZZl5ru9(pXi$o}omPG)f){b)%!Llk;x&TL$cd>Okv3 zFS!*Fed+z3-7@k^PP!9kvwTpbBL2DSGuJ)O#Kz>2#$3a(ewhYW*XQp}_1OU_7rn0A z_)AK6yEKR>1gt$iJ&K=(9D61KGkDH%5=y&01gP4pfDLyBb;Ko~cmQ^B zUv8*WD^Iuyz%$d>9bPUxvZ49$6L)WXsD_#^8Mkh}yTBLL7^UMeK}Of>5y{I8?IoH{ zQrUb+o@V033`PsNHmz0`VKQr@rfjL~cW*RoEKfEtmUCj`A!y&BYOQ1;%{2{lu9Y7K z-6UwFsHid80SO|&Q<}%0PU`N^*J1(e_S6rk@S|igJbExhX`_4#B12JnoqlpWp%4kkaMT7$U3nnA z2*dEzg2A>l$$EXmgpE=(32AGs9ETOy9z1v1r#AdV%J^wSQjwY|MDcKKH%@bFM~P98 zeVv`(FHmnt>zGiEFvcE4SWzaM>zg>|jx~ToWAJ%B8WOX7kjbl|z~(C4S>+NXAgoa0 zV|bi2(Q}4R&LhoJEc~t+=xjo?<&`hKM#&n9=HD1U28-9$X2UC2zYs$J*AD6-d+Y^P zlOXB7ynS==)4u{wj{30R8H4nIaqpQQ`?DQ!>O#+cDBmeBg!Gy zRJN*AG}O>3uQfzUol{7$4OXNzfJR3l+w{ivW@jk*T+V7_wt--Xt0|^{lKs2dz-V^! zzv_gR=WL5}uEAC3YiUUyw0aC9)6#U&ehdQKFk`ThO>U3KDCM=jqrx zZ*>~xVBLY-)8DCt!eZ|3FuLn#ya5UVr+HvvD8C)%R)gHBvU@LXp&5GWV3O9vt&I>8 zd;n^QMV1nP7HY8@2Z()~P8-=T4OU#;0m#Al7=FBu!Hz)mW!2^R?Av${yHL?biP~c6 zx^WECG;EXdGxDCw!5TL%7lf%<=UVlNX$u+@u}+@A#25~pxZ8BT*S7c!yWX75Abu{n|1$#G^4eGPJ6 zs`S;6tn4Vc`F6VZQ4&THqGD>HTRg52u2{1&UYgpq}+Gip>jJpu;V%5jWKsG#NFhRQgfA}uuV4Lm>$lco1~ zyd&8_c9Us?qD2`*nN#Jc{wWf=$r1C zi?r?&9K4qwysdF(LW3TI;b`ssjwOfRS#O3Npie>Bl`dGbwkJYrpnJ6~^S0Qv6tl#% zRCqeG?t*>TnGmjK*ynCo@r~V2rq%22!$w8naojp9fG3Vd);zF{owWOdA%PO^NZKcQ z0J%^+6bFmU{u?WerL@jfL@0*kMZU13A+@AoNID=ozN%c^hh8Z2#svjQ7yeFwdXzcv zFmCle)ZWXR$BV`9YD6s@t*1lTQP^5FjnU}q)v`SX#sgm4|LVX3K1zaLHv85q!o2m{K-b%f z{VB{|r6U8NY>}Xrj#IhC4{0HNaut=_Wsl9q|Mca|#;ZV>AajqHH0Nb&wF16{0Qd-$ zFyUL}famX{Cwm-4;Y_doM`KzBDDQdmXVs31aYS{7L5t9`Q~m))lXM+j|3<@M{af*B z$%p&Es$bMKY5T%Guz(8qAHq*kxQzZZ{iX;*^-2A$MP!dc?y(%KRb+#xpi8j>dO;W5K7f zrnGr}8WF*@+qGS)c>l?(`5?Oq0yNkmAE%XVaV8bO3*I}KX|i>(K+<{vw`Vadt`^6g z4dT5uo~DsA+Aimg!|{t*(!KHxbkDL1ZnT3FtXRTk>8#C$(F!f001@6{IT8r!AiyB= zN^Y+^t1GLSZ{_RFnpOd?C(Ji?HVd&@eDqs(-tA8EQ&`KDU4A}`_@%wWb0H~l3fPez z2*q1Buhv>x-Exxv?y>vs^5T0m%OIF#i}zG82}6{R{1ol<7zQHWr(;e}xMz#)6dl#s zKq{%xUPpDgl5Lnu!@dq;`lmhbwotB10z+wWknzZC9q&i4&Q;JtN$HjF2SF}M*i==^ zrs0_nDEHVr1fn9?0-O>)MGR3)_^fUI{3_7`QU!gA;s6OJ!FCLepc|ffPdI-9t?R-2za3|BKKs<+4+t}PGdT*7r3RG|v?`u^^R-M1HmOjTr zs`6Mq1s4;GF~hLq&^}TJGq{U7`+&$Gp+k`{Oi5r8>JPJ)nk(R{zIk~jBwqy}`j6z5 zf`sj~vRB_0tvt5`=din9Z3EF(*8{J;kD(|;qK9~}{`jE6^#`=!YU8lq?@HzqnB1A2 z$oLW7AtA7D~sQz3>b3erGCSe(#9gvbM@17lzT{udW@1<3Obo17F}@9^!-G;zGp0!Q z?Rt5RqRB?oFDFk6vOOKyXj(3(1BZEfThW2M2ey6bDJCwJ&P{p*y0#GEoYh!K&eBWq8t%EQ9h=1Vn(x@dA(^*VC2u~Ro^!ND57Llz{v z+|h$N76rktAkmnC>{4bBLpBX(3JhOOV4tZ=@jAM8w+izrZp@7xyqrl+0&}9=J2kA^mw38Z=M*6 zT;wnvwiM110UY}AMK?T+7i0CpuB_*MPshv%Nn2%2Gsa63=^y5+9bc}GgqqYCuhhSG zQt|aY7DO`1y$gopEHArg=L$(4zrf*bi;METVUo;t@&xzXc=t&XJT zxo_6$u-Gna5M9Fc)=+^}7m;ov<>=a6KYyRYNl1cQB2Jgzgq6&9LJi}-ZN*9Kz0|*D zR9#4Kh^Ujr`}d%(Hg`&p?CU$atsE}y^-sZraW46Ywad>FbR4|H(-56FZrr8zO)_GS zvV5M9b~We6oIbQPAAc#>>8jaF5d30`9|#-C5gpDEGo#YhSdur&#syBqlMs&cNybU2 z=}r2&12s`wv2LdP#8RtwCyoe5>23*G)jkCltO=?qj&Z7*oifXfi5Wd=ZmCyu{>{}$ z`9X)$&+;5<9G>Uf^itu7{@H$5L~(op)0WJv$8Y7uV{Oj_4)notDqV3157e5NO?g8x z^&_BASmFXVXST^4$diC~9}{%SziJc}1lK!+X9iulon)3a#O@p}St#6cRl8PnxmTE` zGkam{CXj6ZSp>(;v!;U`kjkHtyw^(^jfAQE#14S?(^?b95R@c7ha7eW~ZJH z*}Ri{<6CJoJ1L@=LEg&Vc1%S$IH_1uS#L>MU%iLd32=0D0M!^~0u-}oc(B#=ENzX7 zSLt~JrYds`;s`T$uK5h`o;k9tjc22Yeyf%km`a{()?jcAy@G;~q|WD3V_$ZCOf%ls z^n5JR!pq&R(J?id`Jbc%-opD~bk`F88Aiq8MQ4YbivIHGyrY#7 zKl+OsN4?k(rfOC)QEi+WS-c!Lw6;&SVst;zB0xKMXH_{sac@Z_d||bJTx#cj!vhqQ zu?LNz;adxnf}ebLyv@FEEuTyCY3-Y>gf<_T7u(<3f_1Cot7jAuf@V!?ABQ;dXc)Gl zyaH8grY>;YfNtwA-0}h}z4s9J;vT0B>Cvep^QAx?&@%sM`-mF`sm6?3$1^us){L{y zwhW?>!zf-r8&5vEua4!96}2Acnpc4mociqqT6pznu^wuCN^^cs|mM?7FZK!x@IDy1@9ETK)+2_{_(-r zI%kd|G1kx5@C*P{WcRk9mL$oq{FmCo$O)1@wTI-d6)uFlcy%68VmoP<&n2BV%D)xE zf~>>ijwN{7F3UuTT~@v{40-0!+9V8xgYckk%uXhbb$MS)=ifKqur74YUI3%k#M)?2__e<8c$G4&@n&b2yH|mqjImcCz}#?GI&ANM6OT*Ofv>F0;?{H ztIC1R53J;CG;-lr4SK9Q*jrNc_TvzBL!B|g`)`t#fXfv>66ocjbkp~oCH$H`+>BGL@uyC9m&lIV!fO(@3`k(-Gcti9N{% zR(>i5_3lL%qX>J5M=$_0KpT56MrktC!B@XW_y)#$wschB&nGH~7Ig_gv9V?Y@eRl-Rn+QRv1-Y0X`q7)=W#<&`rqM)}Y_lqm}A^r-Vq2Tb-&*bfx;-2Z!K$sAG+&zOF9*~xRPgTp%WfUsZnTTxseTn#MP zy-wPr*P7G=v2XMb)CZIY_~&n&)OL%`%E1z~ax^YE5(X7MMq@R0=atDz`RftJJU+v3 z_0UoKoAMnNbpnE9f?7Z9+nRG4mrS!rs7F=8%K&t8kDShXSa+QPA)r+mvkA%MO`)ON zP!=gA73fI51ztC0;1T-~L*+*Ukf0|*p128*<}qiU-F`C&;~3+Z79BlKUyZIADHAr~ z7aiO)^3op&v~FwjSP3tQ`QGswif>}a&dE#yur!m3AY>G;)*aeIqY#QAkN1M3pfJWs zX8Xq7IpW;`B3qf`V>BIK8ucHYTf&9^a>>#(6iuJn<(KheIqcUQWG;mFt-!mD6~vKn z(br_%6}2X^aziZZF~fi$Fb(G(APvQ?ec68x{;@zB4xhOtDmtknGoKDL92NT@S@|>O zdS??M;^s&2C6Wav80Kb&1)u$x+ISCJw|8J~PRsS&2 zflFz*up9~^ETWZk=u?gy$=Y+Y8-hC81Zv&Y+X zSso~C0w?wI1pE0Dk4Z$u#*D2z>^XC{>LKcOFlg4Y3zA8Cn-{&XPS46xWN*hU@@)P> z@AEK3_PTKSfu@jI|1qt~=&Juwi}>ixtc#4i%v7L1D1w{BwUaYTyAtU{iCCX*f5h?7 zedVUihftjFCi*xeaXRDCCH<}ri?Nnv)?LfX(jJfgXo+{A@5uBkn#?FI$?9XBf98e1 z${QeIM;Msa7k?o>H*k`iYwXa`S5qUZ&Zz&kuCi`;KLIW6cvysw>A1{&cFJYEqDB#y zN!~_`XKapJ$7xb{k=hB-l2)rWr2I{*X_C^0ME!l?l`n*sjzBb zZmC6x5k2o68;j4Hb35HlUMOH1pu9a?jvsU_W3awkNk=r{3g5B;`V*#p?1c1dPrW)i zcpi2Lb_nCL&D`c+OQ;-E6=tUs~X z5S6a)a(YByn-F70fqQ)qBru0a=0#_5jios`4fm9cB5UYWXy&J=Jb4PQ0bM|73=VsC%`-qDS4sJM%TKito!E2T`ob6AAPN zymGQeH6$M+qxX!vCqJt`ERsop@xzDDJm_cZzb$mQv)3X`FbGCv`zO7REwN8hCos35 zAFl-)BJ?X?=8Da@Eb%65>CQe@ieur!{Ii$L+}ezvnymx> zRX;t$l}g#*%EW&pWl9bNvexQv1R3z+bW2yL)(xi=UDen?AM~-+EE|FEaGlqOZhY1_ z*D2j9hUGP`voIOrrsq+@s0T$T|zYt)%YNlih_&!lzZb>MN@FrDt!Q zYP0fzdn-Hnw+|x$7s(7l5dBexYa103$kpUj&i^)7{4FTJ-zbb0Z>{8nR8lZOBhfi< z3%Ec#n+J~qKakKoFKHgP?IjZLH!;N#U!pD)ND;fI4%vZ0zyBub0)=p-z+>$cO?1o0QdvAN( z;fG4<_D>#wEX87yQ0UYrodWH5~c1{cq~V)HQ_NhD@leL!30Pd}b6_@WrO)vdebkiF)1z8+13 z1Px(%%VyC$(*xNLkns6I6x@9^SnuRL^n-HAG*@?mf+~8Bz))xR(unFNNtMY|pZ{g> zs_fc835+WR_$pJU;!fWmd?VOH9FCHGCKE;HEU+2Vp(2JS11qhPb+E(zYV}xpfq?O$ z|Dxe{x!6-RnjWW`{={$2X?MaEymHfc9m1TTeiVRa#axDZ$RCxQIJW_w^_fP#UXCwG zD$1c*_O3~WuJ6i5r^I4?!EI+00)zHbp@69tq>XL*6u`0&8ICI(;+g$|_6O7c0(X}L zz6W3->GN7g_Od(M3KoZgqQ^1#3zf#H%SwQ<5N&Domr@{da-b&2YwTskdbY#7q)|Et zrW9MkpA@FU;(kFN*xfu^DH$898&2Wt{4;q85+4IZn??qdyZ7tcsKv?S_PcA}Se({K zC3vh2^eQ{b#986{SauY~-~f=0>R`otSq|nW$?x^ksrU`-^;}PdAWnEeJMifrTE3f(a3y_f=mZfDGX|S;Q^uR z+GTWu{rQrOFJw&_PCa8bqX$|`BN(gOzDv)<*`G(FalX9>(#Rto6H=(-?-5; z*@3b}FGx4db)1mmXn|rzu_^8E$Q@FaqCk}HD?KZ?tk4*t8K_LXrwYb!C!FvrnoRu_ zfJu=e@_>(hC|8-^a`6SQ?^C*!Sfe9IBTsOn4)V}p$qAvVG(p;#O}1vVO@1OTs$Pv> zL54gW#9ISf&BC4lID#~9)^0`do$*b&hAAZNz~cD*aH0go=Cv@*W@OC3Q{6Z}eY4Lavq5-Dyi zjSvNe2lxyIYu6p4eIc0g33b2Y8JK}{h_OT*ZdgGA8mCTQk6SeGDm`?u+*o$X-NdMfVsq-wHyhV? zf0wIC9=-h?XVAE)ZS9N8sr&^aFnZbs0!voc2Sgn>5P*Haed)c6&D2Ox@clLu|^JNt3qS_ou7sOHDN<0yw3GTi56 zXN7zSsuy^-O!&FjJKTk{$%~%9@A^OQ#3G!4554K3QHS5w6YFzP{EpZxAPN5j2lJY6 z_>J@I%h~B;aqT~n-D#|57__|sUq}A|gqd;UFp!?c z{HxU1%tH>31w}ErcqWTnQ9;4Hh^@GVIJ}q2^C}^{iSxB#@Ud?s9?8)>dlGT5p?g0V z6bidTe42&nFsc2|bK+lHN&Gb7KMB^P59j7^Co3L$F;Zb?kOj1)^Q={8r0!U$Or5z_ z?wFyc>M6>%U#}Gbd@^dzWioPC*TzllI0&{mBrRvsi2_=B)Q67KnzaaRJnud{7-|=; zBS#NtYgFZ++7<~GOqG)?JfTo!{VQ_imwYW`%pdGFkAob`GmcAjm&X#NDqj(vh?{Ex zJ6*>g-)>z;4_+&oA?x1*&_Bi^k9GP0YH;BSrh{^7yPEf68Yu8us!%{l^4*erO0y@G zEUm*4lEQz)m*&BH$lEwyjy~NP8T2xL#t-h^lDQ){cj+ZO7jve64V(#cyuW#Y)XMlE z?e7vpB$zYi)O9x1xUacms(5Jj2IK4My{c+`k`NsD9bTZdeho@r_M4{M+ zv_?b;KRh%s$KA9KRWE0CsffUf-NoS?ld{Aez?;t$5U{IR`O*hV1R4(FL1$X>arxg$ z?mqQUYhvJKrVJrGd_5q5WqX~y0db2}7K7o(L+5g~KH1%@f}Ei=&8KxTObSYMEY1XN8vJiWk?7_FgtXtS z<7Bo76D$mR+-uF9qBeIRzHA>a(Ac=sf|`ISU@Sif(NSU6o?eVkNb=Wn;ireh6Gazs zqZsJAO1MTD22oQMLVm zRRpTshP#2QaK^T%O|9e9QFq%s}!AKu6o>)Sq!9rb6;s z+1Fsyk)%7T;2;;JO=R6y#k*}RBhXq$x0bxfz;|Cm*vd^!#}ja?v)7IjwrEI4yi1F3 zHb;2A_G`8#abz)QZWm-d*kT1oa-#bPDwV=jSGz9Q4%bbW(eJ#*gW)( z7=ogkE^jH-5*DWd8$Q=E0~-y&HYF|`sibTJTxrLY)7-k>^3hQc1ZMe5s@itL+6N$6 zT*W^TK^kJrL2@0%bF_(1eU%X)!%L5y#(!Gt-(^!!dw{bEa=#_$KoX{mm^a^T~MBaPK7`Z-|aXl}(Z_luSZ5=bpn>58dwK zwAOF#6JvLUKv%Yj;r9fABTgv=O%{_sSa%bRIx@7YqU2IKfAaQh1tmdWGZSm$uq_+4 zr4}l^0F&m856hD`0gxFvy6``8p)_sVXo?!PF;3+NzkXk@6laG+llYNe%pkNte$SX2 zp6@X2l7J~fDIIDQl(ib0B&~qW_esFtVHP*2qy)6;u(i>9A|7(SL-GUru|{guzJklm z3rsgfHqGx+$OkzeVh1tcA?hl$~N4%2-RJi zC>wmstOLk%!Jr{HK|LkilI2xixA9T zSUeJTs0zD{F6N|YqClLBNNT|o-tHn5WV{X3F*9htlRjP1q8`XNL}@Gs;+L$$YWTS$ zLcpr|bqu_TLqwun$wR8|82yf$ zr>dJG`p5fcDemH@-RtYBlc*Sz%yw;jZvV7VNDoJajfLY>#MZB`^75SK=GPO80`Q-kv$j;D)0LRo?DV1Ck<4{rg6ybMRLWF#M zlLd&lFr1Up_pn82gGx-ukQ2}B;&H{-X%RXhsz7e%q%K`0`U{-BjL=d(-N0`b^n%ek z*SLVuNPekgjYTQ=aRaq3^Y^5=_mGi633cctz_<^9>-S)Wd5|Of{Sd&HnzPu)g^_1C zpA>8*VrZ)}!_$Tr(EO@peU-QtisGuuO z-NPvDF}}-~J_%7`1CeLV2U5^->P~1Xp$0alh@6jP$2Hew(#OPjc3Wf1p$E>-a$2J5 zr3zl9C@Ni2v~nb~$;?3K?+^PLcN`CFhF?z+A`vW8Twmf5VWNaq7ovC?suVTUXmJaT zviyY3J4N!EPxv2q6LaHU4cx_ln(x(fyVTb}C8>vX{Aq4`lI#knPIAI`*2*-Jv(