From a7801b016021ed19a576b255af9b0360f984b64d Mon Sep 17 00:00:00 2001 From: Badr AlKhamissi Date: Wed, 29 May 2024 13:49:28 +0200 Subject: [PATCH] website updated --- docs/404.html | 2 +- docs/assets/images/ahmed-alaa.png | Bin 0 -> 109537 bytes docs/assets/researchers_en.json | 2 +- docs/index.html | 2 +- ...51086e835f1.js => main.9fa56a4366765d8d.js} | 2 +- src/assets/images/ahmed-alaa.png | Bin 0 -> 109537 bytes src/assets/researchers_en.json | 2 +- 7 files changed, 5 insertions(+), 5 deletions(-) create mode 100644 docs/assets/images/ahmed-alaa.png rename docs/{main.681b451086e835f1.js => main.9fa56a4366765d8d.js} (78%) create mode 100644 src/assets/images/ahmed-alaa.png diff --git a/docs/404.html b/docs/404.html index 4f82b5c..47e9df9 100644 --- a/docs/404.html +++ b/docs/404.html @@ -26,6 +26,6 @@ - + \ No newline at end of file diff --git a/docs/assets/images/ahmed-alaa.png b/docs/assets/images/ahmed-alaa.png new file mode 100644 index 0000000000000000000000000000000000000000..f18ea0250faf032b948d3cd2a621f4604fa4dbbc GIT binary patch literal 109537 zcmY(pWmp_Rvj&Q@EG~~p zZ_m?H)irOu)iuxj=;^Ll4K;a8ASnRi@O!I04JCeOe+DTrluBix3m_~l9Br#_kSaCT3b&~ zR}n5QA0Ho1A6`xucN;ElVPRn|Fb@|G563?QhliiDr;H@7?D0Qo{Y#MRKTo*0Il)~2%l*$)>_1i! zb$2_ff06&gFTpMLU&#NT?SJBkas4Ow|7SA)o#}sB|D`Gc6yy5e*CqiZG1*6jgM+{+ z%1G(>!aIIdOl3Fl-u0pTHe`{Qkh`P5ZM^c)ITTJIX7!T_HIf|-FHqF2EK+xKUWE!8 z|0ZH+TT^Bkt_V)yi^H54NAa(${zbZz%oUwQ_f1^v_L*X?mK72ccxCS17yP@+=AmHU z=X4N*P()JK36Z>7N7HuO^roB{Z@$O2j z{K;2orAaaG%V#0#qp!}a{$H2Xzw(KIs?o^X)nk5LvzSrJ#WaDvYl!F~~Ok4ZJzT^^FVeO8vx z-ec6UbyhCnx$oI~K7Sqi+t5%@K4##+7sfgN&9Bk;?ArwIF_Op~svTc0Bvtdrk?dp( z`=+>C;;>bDuOB7J!BUGbKY78T>%6LX{rh<$Yx)bHXHU}|d0DQRv54jU=bYZ98qdSr z`x>Y2F3D10@2T}yzMt6H=%mFV{0Hr?tPkbIpD&SYCIx4eqt6cqm;#mG2Nzrk+iDQ7 zSV)ZWj-@Q9<^7mtyjY@jQv2NMyeB(*Ms(vD{Pubq9dfzU`s$wfD>x`KgDT@}<~vc9 zWqx<78~>|Gci@#6sDw6s%V{(He)?JD=$0!&0{=mlR9WfSh?{H6yINCgjn zIB<%b=lKeWE?+2T_Fgzxf~?}q7pa9Oo2P16UZV%2lsC$*8u8U4{IPEHQWP3we)v4Z zO@Xt6Gx#d;v}Co{vrUTP$rG=0QL}t##LTsH_mG@1C0p$seLD23G0gALc+?7`ryIy9 zX{~}3v{9h6ev>t+jqHUhz(lgLP!y6_Byq9i+@}yd6ZZy&%(^Yw0*~#G)w>TBK1ly1 zd*a}*bbjW77oi{)&uRc+U?u%N2*FBWd0%w>IV0+7@^Jy-ZzSZV3RF)S=a?l2exsHr zp_vvZQ0J5uT5waHEelDcA4$aGx%2iW}V#p zNr2?Wxi5-Hz;2#vF*#UdR${HDD+;J7jSyz8!dgH%$TmZ-@jC94$LZvjd(*r1Q=3<) z=(0#~vTV!&b#sc;YlU@;x3A`3Y^PS z`r-?}vxNpUUC6JMpLHc zQ6*~j&NXW1#XL-3YRdiQ9-7Y|xSjCAqO>6~jlSpb$IuMnig3 zr*sAf_6w8J2OOz{Ny0IOCM*KL<`4!EgC&|LwAN2yjkchfKfV!OaTXvA&h?XTXQsJN z+u>?%O^Sl5TykfDiF=s1Vp(NOLl|1!{t_xK&O7DT`=OC4XDG$D#HP_#PFVI8-l6s* z-8;qGcega^=dxVeAeXFUEc}n{gXY4Wq?oEnr)-CjraZ`p-vhD}sT%PrQEU0t->?F? zQbhCK>8rQ3)4FS=U#rK{YPaVYMir?8Jm5X7fc(Rr%a`;@K;<})ZiIgzrZiI8VF0qc zl&O#rI_uT#La$4tFfpw^*TL5L9Sx$bvEv6o>VkZcVZXp8ho$Ko&uL*JdY|DToQ0bs zA{}MqUp^*L9}Q|~0O*StLo1=205k1a>Ke%|Vn@*#sa1Pq6M+VUQx?c5bKsi$K}|&2 zY||~#lJk)su|3ho#*Sx@^AOf*M84Q^Ztz1QRE-q&gD-8t z)RVw$UeVAU^IH^Nn5Y>08J5S4_I+8r<;tZwwgoq3LTD~PERY;A?aI&l=)>$g(3+?% zR^Cex^8t4#9&+KQr9~E{Vq%i_?P&4D7RMr&&qL9urjIB)C3ClKO*<6}ur8LYfMek) zyCtk4#CDn|*V{+Lb={jPDxYwN*)iT$8*J62Lue^HMZiP2;mvr*5$H zO#h$w?w8}zN&2B34FQFtBDI!tx9-qFq8l^PBpg>H7Z~U#_9gOHf#7!`7>>Sw1?mK> z40#r!L5SsfC5=mpW!qSBgYpkK7{@W`)$?M8hY^HfQvS6tQQM|gZ@iS)^sz{OD8+j= zT#>p@7&+YD*)RQ;1w5_b=^AP`(;o-g-cduVhVFsmaS3SR?u_!*Cl>l7z2S)}VqlR3 zjG#wuLI?9xiG={7_FZ zyxLs$XRO;*AK>_?PkX8t$dp>tbLP*$p#|C?%YC0Vms7nz6J8SLL0|ZX^l;07FSm2^WeGV@nJ4d4WvMJ z?I_N$^7h4O|y32L52HeDI*ok4ztIEgB8z8Tr9}Q_{q^lHJmb5Q3 zU9nZ3^`^EcFP;P)L|>AGchiQ);YGqzyub`cNS{hWgh)K5va!F4+d7h+o>T1zhil#3 zH$6A$6!kAlsWIcgtf!qcihX3F2XXxC-KkLBYyX;BMo>c0sHqaU$J_-EmvFA3H!fpN z<6q42LJ5SA=M*X^9_}jB7!gF9ELMiX`+5)DV2#Xsla7VOtNII~NxUQ1J<*eH-32J` z9KIYHKiRQ@NR27k)2Zk9ts!5~K7NDoOGC?zgRgz)_o!o57Xs4<-%B!^C3;d?TU#=u zPK{f6oV6kU&vF3F>Hd3S1XyRABPrYia3G`WrwhC>lYR%r$fsF3J8$oNPEHf^*m8iF z6J&tyq{Lt2$s+9!sUfZ-qOg}nV^Er9FTCBtm~`wB`QbxU|2QI$fK+O-(Vx{?WQzZY z!4_qaP55`shoF3c8~!USO_*+?TNvOe0xc*rbvgVJBgi?K|MmOJlzN}}sy)3YPIzgK zu0Cl5vQ|5G5zK~(kvA*#9?hvdRn3BeM6=hjc(CKrl5r{)Y_0>2+4w`RI#-SZtK2t` zR0W9vYWr~TFT5U@2uPEn?IOG>Fwb1`Dn8$Tc41_%b?WCs`vtp%fd^?$>dim35(gKe zy35|OAYLosFi8|u@ek5vy1b?B)NS7Umr;Uk1rPSj!kkZ>Pu<2O(vii$4YjuPstW z!YA=dIH+JxVmF)F-NRp~QJ$>7quei8+_g=zF7kLr{ku@}wgF?l=QGajQ)`)EA6>D1 zrzw{u@{~k1=F!omIz}-W)y2)Tg=$Ud?X?+N$V2TN6}~{|^OJXtQ`6qCW)FLm=vRCO zj%;T)>aSl-z0{rDleBuLjhA0%lL=vsg(An>y%`C1@$cr6jB2A{)c~(q)UKji+N=_@ zV%Dt2jo*NjxDt3$3Njj zvr4nQO>dGuBu(AL<7C62N6U6ZTx&Ha2f_q!tQQfYZt9E{qEv`dL|(oC$#*UL31F=? zp{`c|dRr|gtU3~PA^Dt5`MxzO(D7;x69~cco&1L0-@)+35M)DNwHofO#dk#|bQgX` z>O~@hfah1nIzWdgJclKb**vE_+5CD*|I2bNMObn|W`-q{rm*2D&pwb-{xZTtCx4N6 zK+9kv@M>L(Y*Q4Eg)n@Bsbmgwm5|WxqyVwZZ%AxIvTxe7Qz7rP&&`R$`k^4nLU-L8 z^~Ec4W;fZ7!@X2`kKu9R)YPcottcy{a1U83Jx(KwO`PsBYLFz3IqQbT)kB~Y0{B@7 zL^Oo`X7ztR=y6Gi=f%EH&CZUeCK|}3nkD@XYJ9(la)9d%4-YcY8|60VE0!2d_+-0R z!_n+&DHgmo^pP~-xO6sj4M=fv*X3>F@EPeUnJLgSoXkii20Xl(fFcx2(n%~g>|TE4 zuZjV>V77oFF;FH;+u*1bN?F}Tpq0GGF;=qzdkXL&Mi3%^h$1|Lyu$X1K3*PpmaYVv zwJi@~Rc=6uV^q<4xDLvsbV}R>N%$lZ*iMhz_>h*l3W^hV z3=cBG#aBJpqZibF*JwZW}} z-GY4^ylY}ALmLTtDHMSo;k)y0sFrs6w7&L#!>OJRc#G9D?UtpLgeNY4OF;|KehE%d z*CMVp3)x{znJq!6%+1pB_(FWNa1+fTsMc8~;VjW6c~NV0>=d({hm0gU~fp7Nw6RR zIyI&g_1rAwvs)NUz_cf1W>bx}6zn~?EQU^K(~nQe$U*lakN~7D2f_gyUzDQ9P9rg> z;ykt@p85`I(z9{yn9U5zZ)uGK_NO@?j&FxT69;;UQyvfKMG-U+qk#==SAljPXnfm+ zsEz&(e}g}21LQ8X58-;pM3?Xil6~Fl?nQAL$F^psO~LjT-DD-UiK60S(-($W zhV^T}(V1hh+JodZBCZseIGP)ZV>QK_F zJ`Vp`w3~u2r#C#}hU#lRCozWxm+0uuV^~r(wj_PAg(b=KM-ZK9IuV9Sq$RX8e88An zVRl~!mUX`gm>UfAz!5KQ$;@ z*Tqd}0ZTncO%9;Xq*yc=dy2yvrG{hRFQA~8=@HHXS>s5l{vnY!WBd6VK7oxZd6HoR zPPe#lwsDt|1703kZ7!N;&=|FVQ%5(4H8113Q7%k}n7|y3O)}ekei5wuqKt&c@i=Zn z%*2PMTa%LF^m$?_E}K?kXdoh`vg1jHZ9x;xN}W-6h<=NJr)hUErVL^3;j;#{3exUDt-my>v7AgX&|?o8enYL1s>Jx$<&(! zu7=g(n&=UV;?xv6IkcB_*=1=|PF5TgyyhMw_B4T#%^V25<7V%b;6Ur= z4gc^y@b!6{R(1Y(n|~a&dsU_%x1x|siDKA77J#8(DN_7-y6sCT70WBgCul;0oZO`j zzl_07y-lgxh2|-?3s=#RjWs27`IvPE?OqeET(cCW>4V6@nq}dJRQFMskRiWTzlqoq zm8(!p$9N*d&UyR#Dquql zRFn??WciF^mya5fH+p||CzDEF%CCkK`F1uj3`;p{9DMzVB#t*ujb=2khL_4zmuIR& zGIJn(uB=wdh`{Ro(Lw}A*?OSp@Ut%5G7KeNBMic`$yo7car4R`J#{bU1z|taOBvfxMs%J`E-_+F$pb7p$M)x?+Le1`05hLn24Q zwcq(u($U-R`vl~xIL$-bSDhMRn27mG1VwSfw~+$cR^_2%scu*b6e}oLw%Tu=CLYBd zjAwLufF+pAhb6KWgO4NW2T)LOJRgRH7LkCHL=yuxd`>(;%)5Q4J4fFvGYJR)<);e$oB=XAD5% zkD9k^4XfE>c)fFKQ$wuZD90!M>X}I;w9}fIE)m1Y30nPJ{|C5$KM!insC%F!8F%Gq z{o+?Y5Z3+hLC!lM=tM8uwbz&DBY%)_gPz$4`sBm4=Dp-OKoo!J)%~0~BBYx^+ zZ;qE3r7FsQp!LB~tuysAi7hp&K$*wd8mdy;T~&AFr3!5GGY;@U_arUW0vh1?L>?C4 z=9bOLj{lj~ciAR!L6<3ak_WXN??Ur^b8k`MZQ7QIvAABN=nxj*&8v`^6CqL zkjw)L;)bOZb@t=N9w|BF4_4gOT4mf3Fimpj)#S^E>nNt^}ruEpDF5GsDef zZKD(T%Wd+Np|xhwe8zzV`Bh$pYjJOZgfccf&_SJGLkTT)N>em0{454a%=CrO$yRnN zre+L!L+3otwQTWT7IM&bB3#=iN#jp+?rx z1$8+ion@ih6-r#tr$gX8EO6YyLXiry~Of-x8d1MK%R_x=j#XU z;|lTmqnP74i#X?iLdTb&8-tc&Hr_%Ebin~6Smt~@sWSTX*ED%>ij?vElRr4r6!&M^ z_|YHo7-7oP8Zz1oovLIJ-*7ZT914>t9Q@L;l_B+?aN?w9OlBJt3oY&yyZy_|3CZK~ z5MC0ngjf^!TdC{7?WtR@jzb#;TiE-Mn1&`fnj{{oR9(bPGHQ7M2RW6QMO(qoew$Y! z|J0~RO%vjR-bx&MaNkSCDB&j>E;Z3L_SjpVY};e}v2#@a3&M7DQ?u5Xy9M>Bg#^}P zkr(n3JUa}Hg?h7)2%1Z{JnvedrNe$8=G2%AFb1sLx-bN-atf+s9`s+TpJ%2cI{L

9-)!Wm2W%CrVZr)d)3kUrYZI@>zYyjgIOThWSRl+!dIoa~9hdw3KZ zFac8{3X=iQ3qYR$L3Op_pEhDbL`?tzEiw9Rvk&e_gh9BTusUmQ79U4w0x?1jj^rCl z@)h>kyr9n7wIF_A@-$;UF+m-5BJ^hRP~m6CSd(~{?x;BY_GSF{7UnxR@AUL>1*cH&S3K9{0* z*g1)zcHLnd9&ULE1JOi0+IZf2Unlj4PG~keDLI?eAnbruGCF#K>Gxt(!Bjy`Im*R3 zNGpxRtM4u;B*lj|1Qo)6KO8dxUqBlu10s!~qs)~^&pKE^LS z9uW)v402*@e87m&$W;rWRU5deytWRO8koKy8 z#3(yMX{bGxSuxZM0+p?0E+8shM?xLSgs<^aSxTmA<#+<-BPkz1>h)?=tc9*>ULPks zI}wg6h|K(i6}}JT0$W}Qn$c4&;WDWwE^)g%1Or|E=JAz;t|It%V}OEU7*ElO*1n&) z=<7J9ND*Y+1eLl#7)|DYC6{HVO}#PL2_OqdD6AoIS)fQ3;!oTJ2zM=n#}3vWnlc&` zl7M|0Bmtb$X@zdn*&f@CXZORr%lMs9UEz8N#Y#simhM8Uxo*09_=FJQjr-B{6~}(K zbJoRL@Q-MG)L-PMosTl#Z9yn2hkT`VF$|;k&mcA@SHTp*C?Y4a6k^5{(Y|o_mZP0B z_<;H&sqbN?;gJM=SSyeFi{RjIQZwRQ-p7*D*|RNz^R`UCB4xycg#o(RHb`L5$s&L$%qs6P6LvW*T*P*yo5r7 zKMkr{TcJdSxG~PKYmJMC+7b8f3P@TsTFu|&%47Xy(V=Dlrf=7u;i09BEi%=vXTYuj zO*gb6#dnaydRTcX34RInvE^gS4y{*X0+Z6jwFj|hG+4)Hd2pYOIcC;bjJ_40B9|n{ zv{ou>x)83nRK=b^abPL>(f~hS0`CeaXBv2?=XBf!^wA5MJ)y&gMMCtQ|+hE&nOYo$bUI3iB62xZ7Wv51A;GG4`4WgfxxY|x+mbHpX7JauE`@AijBye}Bd2@D+a zAixFg3PaYp<@Gx#Jf?kdt;HyxWYb8)YC~h0+PGI+t3vO{cb~?L@SlLfbmF5mz;wcr z?e=l_^NDpT5uXJ~kCA7P@-#r@DB#D6=Pjr^)HRo+7S!7R4G%A4pO_~n<8%q0aU>KY zl$2j)kyd5}39QY|Nh4(%7`+!$ZzO1qEJXy6Cf;dNHp_dMa5h|U(n%o-9M{glHcjNE z#_UCF4u6yn8RQ#d&WfbQ;Cz~R#BDXj^M`Co2oL5eYT8w*;0P0-Dj}tpGWaAg#0|W| zth`nLrryA)ll#;a)6gByYH}p9A}y>c5vRggX|VBG@PTx<`1T@3C1ySk!klj)pz!{& z1A*8ClZDQp!JAR68P#oONpO-`^*TnJuceN!DSVnkNqPpXYJv$Ly7NEMz6 z$C#e}EaSbJ<{6gZwh-Lq{_k*aOED@hHx39ksUE8xDaqamw`1nOB|zRXhi{DC>GJp%l_O^q*GmFpPGrArqSh$wMjb+ ze?;wB*d5ISpQcj+EP9QdOT6YZA2L%X7&d{?#S zr9Lgx3V&>h6D_Vt)nu#Wd`go8USx!R8l=NF;5qRD9`|7Te36uM`@IjL7dU3F*l{6p z%19XbWA}dZ7jORAhJk+a))p#KLTq$9Xi|QZ8d=^GH$EnPQn;Qh*5c`7z<#)eD}}{w zDJMql2rG#oetcmlByoBA7u6ziP%rrhWO2H+=;WxriCj0d@O(%omFFTCR>8r0a~hB* zpKC~>yUe3CI1qd16p>8+;V_Sv}2v5CXzg2O}NZ&9RY4TJsW+p7z#pUfJ~P_YE0 zR_S&|+qBMl6wSBzKLo>JD%0mf#EkxktR<&*@eBoJc|Pid37_>$Mc z2Jy*9CKbcu!8s;JdgILdPb}8Cgje>E_~{_E{w!-SI?|rZ6FM4+G&`3?*8+SOcY|RG zwa={+c0(tlX742SvV6WAkta^|0Fp6&;zCTS9Dl4PGr9CoS&w^4yU@q_rKwP|p+PlT zdK^V3ix;Vx)soq3NSX^A5)eIHgKgL;sMs5+N?zd$mbjd07C5!tQ$dp91)Wh&yS}V3 zu6*bkQ^)L98j4b|6b0fjHq|>M&wgy@Ay=hHooKTZ!b+U5S&WY0;i!(*X<6s~+_(+L zA2dWM%&5;o8tH4u97`+#%0owXw{El<5o+vj)$6Z~8Zn+LFZ+Ne;6olsXdEL)hWI2w zuiiFH70-&5HEHhN(U7Il|9p4e0S^3Jv;6l)M8I6NYOZn`0&lx**(jc3f-9@2wSg5U zkeGIh3GilFXWMa^klwuKxSY;`&`rvH@X^nYQhLH0@aDg>4;soDPn$KM+UO@124Y+f z<;Hsotf{Yw9At*!fFWQKLfdc3dNQ?4G7{?g(iZT-w(#bm`j<0J50z?!c-TuddU|Ib z^)`F*VOrUM13GyCG)9;)bg6|^ZbXKc1P4YbC)3%_q}0j$6q4=N@Dg_Q3v4Zugj5%rjL;%5JiZVV?-JJFR!g{<~o89of`$+mCoE!52Qh?NZi^M(*64Z74N|4RZ)$1MOI$#<2h7* zJd>39$ngoXDP@}8u4kg$tqFE^mqKG=|Gsp5pka6Fmwni(_?<#`M9R3g7I+fO({7_? zYiS3XHd|gQ^?Yv|&j5vtX+Mn@Y`!}V&7m<3IQ1eZM`#meUT!u)RF51(bvL5-?(-S( z(U*Cl*OjR_OF#?#qer!)Js<@K0~k?_4D^%m4x&XEMxSa?oG^rI0z%{^ljfdU_<@kO zZ2XOUjWjd9hT-2lEA%g3AXzHI`_SRzF$6QPTm!phCaTB-4|K8~T`TOCgza4}mzeG` zr3{?p#W@4p!Nwb6`LPN+i^s=e!Z#~+8F9L)3>=R5DTnJ`5+1K^8f%tK-kls!t*Tsn@?#)j|jE{z$XWQg-*EVd{Bj)3Xo%7+Pcb zxE_4`=2X4#i<5tW3oKke#Cn_NYDmhjPh-YkqtR@>sG{w;z|4e{F%=zEE-6L~b}gfa zo%4P=^Cr;u3XkD9{0^=fIwYmJCiuGqM8BWLv@dHNHV;AW@j7KNVJpO&Ds7&zd@zfe zHWqiwEzF+Rh-$Y&iZnR>xX4pY-5pRLQP9Gl6Ma-fj2)f*BoUc&P)LJcj6H9KJnDys z^@O7(QJaOaBkh7zj*v08_}FrOyZ?&H$I;4=q{AcUp`D?Bafy0+p+gPKfHHpb)TXb_Z~SAKwQxlgZbvwkrWy9@BE1|(Mk?vQI2^s^xY~w3qBFT(nw|lH==Z22f(K2tSTb+t| zymDj+1={--a@p^7&vK}waON9JZNW?neQsi z9BKQEDqFjZD?T^{XZPlY$eQsMg#?z<#JcFC5Qjg0DB;fff(UM*W#XmFTHxG;*ERo` zP>a?>D^}~Z_+3~SN3~{Oqy}*X&4?GJ?8}*7)l6h(&ea8_stnfHxh#S~s$-XSExKdm zSS)vnlfw1@rD-7!4`3l8CV1CSd(%csWqoqk-nj63*dCfmV#xcuDH(5S8QJ+h2}$^p0XBzQgxJ z_$N_!ilzs2*oJ`=d_IfNeYtQW+eNxhi2=nWTqm}$z>s7>sl$#${40X%(YJ6;aA)U8Ubb>X3{n^$^ZJ@lU0%D-LP zD^^&`%(T<}u9PBh<=^xaI%Nm1{L;v+0LMRXLKLi%J-AT26oGmgQtHCTZlq&{mC0Lh z8wPMAy4CBPCxrGG52q+);=>CPi~P}WT}3>%ZU+;{suJPE`W_l)<;FH-LK2YC;TMj- zen;F)ivNzNK!sWla>bKlx1^8`q=^xA=+a(KjyYC1FZVtO(8e8D2ZS$AO`PLK?H79{ zpJ#{iR}TIqrlls6T^!^fkj4lv80^!U>WTY`I6d8ttP)$L-LW{7;eGkKYM+hT(*N@7P9mr?C^Psvm8$%C3)_uyso#9Y<4L=T z^Z?6j$VUo?B>Zo9Flz$*sRHR-ycMqucBs^Fp^Z`w7XpNZM^u-}!JH3QgkvLxS@ zC`FF%VP(Lsw`AiUD_R$XV|OO%&V8(P78E=yNg~E~gE!Dm!;6S?D>Lg4+)POU zh5FWreeWQB;E5^WIfHu+&~H1)=%U6sAQkMm(M}P%OW@Z3_#No$BiY&PkBrRH?P`1$ z_p%q|8yPUQERUe|lss+h;B}U6v~I~KHf8PT5byXERaUenqk>`4Sor;6d$ zZ$5XPhm$;^3I`(8HUu|g`Kbjgrd}5A+Z$hEq`z*D1FL!epyU$jAr~AII6$u^T^GeP zX+N=^U%8A1-)G99pZUrT(9u4YwfrcijqJ!4rUXAgouzVIER9G6%+;6#6b+j3DTn_k zfbEW@QBl|gMwcIWsaWd9pJkwE78S`xX4|t$v=Z`k75UuQjuxs!GZXMsp$pfQkCQk= zpI&U;gBube?`E#6>$bElo+u2pQI<%z1ZlFZ^mxFQ@3!SX`~d|idFt^?>+=aIm*X_Y zd$5y$<cgb*qpM zKzd!kh+h|j8$1F#p_x+e@im$0>SB_{6ilB^aGD(H^lFehn%zU zpIy+5h!WYG23`96Q%xihcT9|=$f%i=W{o~fU6QMzCrnD9ui_7*#H-$T3ae4vWphwBZgAEN4BmGZL>@WUC2bu2-2w7^wnMLCpj}w zRJkzksY-|#4Y}4@QJ}+HV7`R^EBn_$o9rf+NQW;NVcpZv+MiL7n&<$F^90gGaEdO= z=?6^Q&V@^aIyugXdSLYB1-qC;<9F%|1&u4W0N=6e=Kxq1!;NlpA-4vg_I?u&`HRh# z08;c#bl%B>{zE=5%nXwpIj&ycp$x94b;!1qY|UE{Uw_EP3~UUPONC@-QF4fR#|vs9 zl6gn+G!ts7KPQaHl>!I{>J5Js*2*ltknT5A;>m_4mAu14IsdKNn9qY?Y4OE^ws-9I ztl|R~ zAE+2>0(-tSGjZr?bLOAhp?>q$z0Boj;AY}(c7~t`910PwBS5afDcje zP;G4+5c4I(s8j$vywn*{pE;1OPkNOl9|fy*H0W$V%DFwuu?31 zNKEP4h7P2~Jxh#EyEnfrMvq`_5*+nERg|u- z^tepQ{(Pz=4+(hUhQnoER)5DX_qs|JDB9~#>Ad!rKtz-hd1YmVX$`J8u-sXt$?C; z5~nwp`xfcKuTAQ-I4P;`q}Vpmkz?kwsdzO|Dx&$9KW&Aav`qbQMxOgutVP2eH{qy8 zWj&4k3bq}6fF&^{NcYj;eP~)I;`6SYv#4;Dqwwn=4P=0}2^Ui9{!(CkvFXB%6V-YT z`C9Ufz5h8z$5T~w*@rfyF^UQj0wfx=gO`s!V28pbxf#V{ymKUGF^fkn0Uj{`k!*gi6_y7Y>7w!8=d-6pL z*p!uXUDUjER=EpP0zb4J+F!(x03pEbb4f_*DEi1?7#zp*X+V{GdJgU8=JDLerAR*U z@|~TMno~To`&vEXKy@6T5_k-+&!pR|4&M}*)E{Y%YfsDGlx3_C+dUEfKNfMtsmm7lGW+KqZ`(!W&a~x24C05XJFA%9yHJnyTEPwOY>X> z>4c6{=1h07YwjajiMb8Dem5^4IrPMt+^ywh4JlEg%_o zm9N&LGN$vL3xi)f`|+Jb*GcUJo&fBI#n=(L$(+~)j(i?pOd?g4@1)~XjUu5kzk1Ra zbpWZ#7)BitI>QTxA7vCW!}X2bTGZf`ll(Pr4e)E|UB}V_ckQF|xsq?sN*& zNeiuOle1rCQFP7wqc8p%)3J?UI+y>bOt|Na=B>|8CYPy46Q4AnfiuaV5U>O%Q|(## zN6H}`4x?n=373^52Toi!|La2&t6EeQX3)Xb`^l2|)^;1qUV`ku2ok~ zi%h{7g+;P552U+d(Llb0;$K#;zzGHqMSoq&3HWUASSG18d>C+0ZJxPOIP zI&&LImU0+{jPl-%&=CPmONxEMvzTo>Nw0ysv+0`NW)KU?sK~8xB1;oEE`a_b-0M%b$Ve@^OdNFxa5;MQW{J4;M zQ%%k#cRr9~j@kGiT>|Z~ByOBk?byzyNI-Yf{7334)*(+ zT*$UGqvL7nn5EhmJDveL^1?7r9D30qm_3;p55?4)6?+Os={J0x!dk< z&M1wDvY)q3l7rLqg{)uN7%I$e?qI4j>JfcT(1+IU46mu#uA8z?#fAHvu+)63xCI)Y zI5?Pc`fRG=;l!4R9)btI_DM{S&=d2d0XaA2GaKyZT0j>UBH!@ z3iZEL`X<=!?0zesu>@i0?@1DKdw{}Sb*%ZYPorw!r@9jTp;m>*@6M}`2<#_X%ST<+ z!J92*i4 z-#b^0{#^w$&3-FZIV#tlX#00XiJ+ge5fBj-+5o=5o!%kM!8!{WNSy**`8-*zWk|C4(L~O zv_`~LxmK$(biL472AhwzVW>-}Pm`WZ{-kS%U#DdBvl%I+tHWwqDqh5Y;R>_T6K-6c z$)0Xtfz)s0OqUz6VoSZ(L|`D_;n~;CA)a7E`vwE`k3^DwT9}Pu+-l|p9~N$}Dxqg9 z!?ezSCS#<0-sNs+k-;a;$5x&30TNb>uB*c0kN!Na4l2>Qp_6;p2;Uy4RCHcI_5Nb2 ze#o7X?jhsz>t`|&!}(>cH6!hZkE=X2sJ_3>kYMT$8Q?pqh-?c~K_^6jg`PTe5xU1E z_him&Z&Ns>Ff+OT8r79}VE+yyt3{?~ zmkH;h0uCM`NOJ&%YS%o-qw`dH1$;7up0EpIaDFb7JTv@)3veook7#zSFU9^J?=F|&8Q=L|3*ASP3iQ!HE?VOd0esPE^9|a?&TWO??ZAV{8o2FkpW;&_~S7wGJUD8B4Avi8dY;t65;%L2SQ(T ziX&!1J^j^l08Y+U5COha7z=Q#C{+}~$i8wc*A0{9z5DU=1j(J+8-S?El39~b1@*x# z9hoBg!In9-#rNKw-Szv7-UnFuPffy7x#nTTYjhT3axnZw14BuOTB~3);6X0aO0F(% z;e+(>)2Mdt1A=c84bC-X9q|HxqK8{)Mvb{w^*Gj5rYkX61Q9~Sx+Bst4)Rz2kAiL^ye5Hl?fZo^+Qd_s{^}l-rGyxQx?BB z=Xj*+;*4MMHFEEPxT}%>C0{y?jLAM(27#rZ9R8X17HT9k!wxqFJ_SX&nwHo86bpf5 z?FdMJ`(BoEge;N7Bt0r(Y=r@+F%7CM|F;SWqy?Tl`{KzU&r5EtNm6(iC0%u!xborf z<3^iuj?D-I!)~!}dP9=$H&RF?8op@GCZ00g{K%l)!Kyv~0{dmw(pbfUO!SK<2~d5` zdB#eDapy~=VOveMjw*4h63V;ZWMmSN;MxkUP}nj<8L?#fX2>bMz!TFY;gagv_arhK z^snG59A8NC{{cooxxXS#bV%G11Lb6+Wd6(XlO3r*yM^! z&o~_zH(8{+`}a|ZeM$M%2&~g(WdiercE>-Of$u5ewcbwQaFg8b#FYXh$DadNAkN*} zcLYFy6I{SrOqo^KqR%0uQc(zlOZ+<>ZLOY6Wm4HY^q}j)N~posZ{J4b(DJXv!lf)! zqM+HC&lrOYF8mXw`OvqstW00c_XZDKsc(Q~f@%wiODIVvPxFa_D#f06+jqL_t)+49>Imw-uHa6`|hX322A)sTELN2L56rEaFXi zb_ax5VX&6fdS1i%aA)wHyr;FZ?>?U%PXZU8?d0Q+T0a_S1s@*QG6`3;74WkQVT6hyLzRh$ZO6*n@tq)jmkLjKS&?zKc)r{&(q~k@AHH`?9|Hl# z-51eD6o~SBWwikC2I_||<|^~pn*+`7MuhH9Vc7maIgkF8gdC6vwS25QVVMdHl(8wU zIlI~H3ZZ-v+Nr|?kEmW4btuuQjF#bVaLy10W>F0SNnQ*geEIw(FxK)nB5n}I{+w|5 zbNoeD4OkWLN{99qVOUpuxUIQGnS?RA1--Wl)50!^P=+8OR0@~Y!X&rB1EHxmMNxsc zjA+3GC`@X<2>rvnGRAB^#gY(2Aey^m;U~@VyXR1hj^)z=%aB?b{k$1a)#@4}%}abo zEoc-9nC?({FlC|wqoejuD6B^J;rR~;wl0J3|7cy5tR*UX#35h|R~MP(1!f+wMiW!(U#)2g}t1Ya;Ks#T?3#oNG;9 zH{23B@3{1jMJHNUP7P%u7y6skCB_`Ix^Bi4`)aDJP~wannwmFmg)LtBR-!11Eur{G zJARN{K{q}>38%F8qOcCUXL(?J#DE}7g9%;t-&0=+gtV7*D10$H{@5YN^4M`Y z1P*sQ^gJixL*C+uHuKR15^dgpmOh0b&*y)VrpGIq0#+hKMy>WNrPvb{H6ic*hn;Y4 zfeUB@13x|2^&y;e5q|;yk5KW6KupH9Y^U884=adk&;x(2-p|T>ygf#R_pMUv9 z(99xcA&-$jX%*HENfdT!wajNNsC~55tF`Ph2bMs{dk2gpa{JrQaoT~I!bKf&EtCGK zQ1F}us|t~+3jHi`aLu?r-026pEd$~EU~IU9>uVvb>hK{v)Jn%)xJHhlhz|CjvS)p`2E zKm5lef?!apN=ovBeRdKbP!HK4U_0(LSw2uJ$=!#y!@D#p2S7Q}P&*VUklwsomo;q) zY;2LJg3*jY^hik|?DjS8@d0gNZANMgLXm@$k)#kdKKt+`66f*hQP>`TgIpm|hWZ{^ z{qbCsFMOqyjeMOhmnl^GVl>qV>=+@L(MotJOUA_AXCw`lro&7M)*cca32ZOcCfOeQ_x1O*q*Vsi>2|iR0 z%hfSw$mEkLM>r_TMd*4AN+>8_!D3Lt|9OQVK@@z(19?Sg!)GQ7rVBw~LTlC<&Zx53 zmG1xlKCP)ctnoQ4JhrCMHGM6_EfI(Xu#-|Wl!&PShdgE7-p&1O`ts{H^s7f8<+in8 zR_#FG8F{)fIk+(hV!^GTBUcC$v`cajXx={nH>ad+OvD?Jw1nvH!w2d)-4EwjB(S3xdci{rQbk$gZ$aX|Fh3!VS;|@WfoQ2VOAh?AbY<2{} zomNA&h@L*1vbes#;g$UWN6!&JT9tY|DyCGm{5>{x7#@R6?w z|INveK%ofKbP5{8v*r-eAl!V!vMSUSuu;9~daDUAaI|NqD=J@5z!BgPzaJ4!SKF^p z64GFcMt_6+42-I&<@5{g$)W8dkU^f&3LKbL z7&+&C6l%k?=6ZxmcX!;Z9swWW|H%Nt-vI#{gH^6`GzjCvu^LQ~ffY8RyfGJyvkj7< zb+J@2JC95xBgU}^%o&zb>nya=a*nZd3pBBi&DHT%eB1$@ErSZ55h09S!rB%gBmOxT z)Gsv`DXq1n-osARV2VV`yZo?ApZ@l3`spA2M=Y5FMndx)h45}cF&H6u6N>k!dRh@M zQFz_<(2Z|Z20fPd81YsCX@%SYk1u$~F(@YaE?^}aTUZx`g@dt_kpB7 z)GaFZxLg)2cuTG|=^W>`;Q+#2DK>MyS^Xv1-~g63Ewz(GIwhd|HO(5a)WTNVQ?dBD4VJN+7lEW`A0bzOwX9!$_9o3f znuJdrkw(U*KzUAErzwO5e&Rk1@X=9&43Ty@&VZgF6wQ)MAJJ{*FZfHm%e?E;4X7VB zA??yDA+x1>17NBV_BNeB8}{D;Fp9^Q_#8%zFP>gKqCLRZ_PQZ(@x$YPZ9{R6N+603 z7=t^831v+Ox#^KlBe||c^nUM_vS}SHTu|A$RYstj|Mp-0+0Wel3t1x~vki%q@@`}U ziw6uaxS$5|Y1A>ST*>MLCs(7wpPRpE;nqA|f9B4-50njUsNd_{Hn*ZEfS4{V@>Wr?`&UdjQ=;%le6&vxhki4i>O>l2a(S^o z_7kZJqIeCXqTbi8<{sx&y&@gAX2Plv17i05DXk#9mhmkh7naIIDg?LEkm=I4aPkJ_3u6MM_>u>cjIdfux8+VnZtn9Q zze_7*#fSkBqgHZ(7Urq0QR1KB*U8vMDTn+fJT#g)0z!J1qzPel;oVCD4sNetGTgBF zoZsA|U(4p!dv4PpV|@R`6@ebh&ScJZp`~d7uc6SG;&81Ry$xt5Y?Z0CV4kA@hA=6t z2&BR(loYa>=Td3KIzJ}O`PMgd*^rjX6&u3zSS-wSq_cLy_MQYww)C2I)~)#zd<9Rd z>9u?x%deP|+nWXLv5)2}iWz9P6<*vLh;6dklD<6cT%-}#WAGC0h_r@BRLIgUlKTjn_k+)|h$>No4~_|QpR#}PFaGRj z-nY(s1oR2dtJM~4CVInO77uPZ!wD`+@eZ&xYnK|9YIK=sc^_Vg(ETPbEa7Xc#qUT? zKd`6bdcisD&a_{XmqWwuDX4C!mpr*&2}>|~v>h9xV$~+(;`;3L6?=js2-Y!L{nCp- zi~gVf%p*wuHk4uk7ulxUwiGtE2Lubi zuvjfL?()uD+L8$4nj5rS5{SVPSc?ghSSPCAXK+DCC%HhgQ?W&wYeL;XXt7^!eQKPodMwC|KSk z)MFK1gCRo01$jCB2>m?UQy3Il6+|!!=eKmS9fUV5A_DLzz)qs65zm)t!foKUC>P^5 z|2!v{5yA^OWoE6NR#nBM5Zgziqml3PcV^jOk~^4v?_+9!DXO*@85s=0@Rn{C3@jUV zBR^M&WLBMSgp%#KNZ^1@L&fk$$Vuv1&j|1yyrsT6S#Csi#DH6Cody(EN zaHbg0Mid=TphkZ0?v#Fs59c14R`bhT77$oP;xZn!zW06*a=HX*vtgGi2B*LG`yYQF ze|C?Bn<8KnG$C*b#&>%R{j|A4N1?6sn*&SD*_lLlInI*k=N*eJ)sUN|OHRz)F**1! zfBQQsfP(3<(2Ay!z#UDPZz6l zo+DhXpUq5Tc|$Qluiw3Um;S@z-%!kbonE|n#Xa~`P$C@yGa#SVa?t^;7<}b@^Gvx& zBYjQ%V69!aAdJv{K3V9t^H2Y)LgXNoH3!9U?YQJq&x>E<(d7U};=! zZ0OfLR&=n1VLP-LMiU`HaF`@WLF5i5Ls)lUU?<5tu8i2s^z0HwGa{FilZ&g(J>t+0Nl#>~#agrG>Z{M*2CWxZZ^PB*&162KmM*USnu_|^-$dqu zalNd9@cQMeG-n0C3*e+yV?NWujnW@{@;ZI;n%`iq3D)uz7IBL532Thn7iM10&(d>l z3VO|}X@)7j@AbT0O>mCTPN~G%AslPw!W+T}tF-q<1J&|c90N@O>w^Zoq%ST_lHH8J%D4u8Y|mhgmPo6n&bfuD;)#7=}SC^|3~>w3I3RYALV1g+k)9U@lJV1;)k zE>2Vu2`vfu8Kf9cxF2_`MacW`oc-|WSX!T3TC`95CwKY|Ijr8KG0K`SpkI)Z2w`v#2v?UX--&Z@2B3lu_ia$JW(VfYEmJ4ZP6AR zGclRizgVzpC&89u3So~!L-3x64}%YK%Spsa(z`X)2JD`D&H~xF#mG3h9TM6F%jwlZ zV*(}T^NTe5<9Yh|FMkde-D2%Bn2~)P*~i80z#Afm0cpr_Jh08fh;6^;q%GVn*jql? z7ZbQaRJ5EE-u~Hb`%dS99MZ)Er~ZQ)&k1VlDhaGWl&BW>1lr&~{)nH^cFBr!YY=7N zBmUX@uWth)z*8s&677)Tj`FQo^a>Nn`1(ffo#_Phxd()#^7EX5zooCwbbD|80q zy|_N3|6Q2v65*ve&XJkSOAep4x3dah5K(+SWR1$%LC)x^_=b7#ZP`0$SQg&_hY@a64yJ zgjG2vt7pJu$F~7q>lX?)txge68#s|J{vLrF;HN^akKSs1=LNveIb1f*(IR7V@34?;m2SgQ#pjo3Hkj1<#?NHe!5VH_w+#&}#JloS^itdktF)|&gcmJ!&3 zt>`E4?(sOqm9psKft)0(ROCNm4#pe8g3*85_o+MNjksWN21k`aMn1w$OiwzooCMdb z$gjxQp3_iHWo1gqYHA(ESow`zH8K^y!{9oT=)QDKmB>$i{QK$s`(Kj_1X>_;20G$y ztcbjM9p#@MV_jH_M~;US9ZCQJ7H(p7yuR?_8{&FAk08|3D~iIQd4B|VIdcQuAgcqV z@2He8^>K4W+QiFXxe8H8qMpKF@8jm`bcNe(4_t&Ao5r#W@g3Fs!pf+Jq)`JU=P;)} zRu4h{<4-<{fQYc|66^Qs>Jp^`arDqTLBs%krpaOnIO^&ytOmdULKqtuRpZ2Q5(E zpdkCBkV?x5?uo$%D|G(yFaMwP$tN#~a9*dEFRr0KO0&xzGo+&mes>3hO~%-vNrC_7 z1iJ1q)*ccBi?O1ZP7{O<->{XE$N%LSuJ>IY30~)@Zy%n+BVMGi91>i@`^VqnWBXkk z%Uk)r{hj~y?d*tW^IL0Cv9?72-I|_I9{fvn4xxI>!m7P_aOj2d%rFQA1^Y&lRjdr3 zf)O;A?v+bj^x33mjz$_F$rV>P!eDO65Vv%KFf5%4!kz&E`bMMB{@y3fotchdeK4~) zlCD($e*PRt!oDnQg>6Q^ZztH)2t-Q(DHg{=nf&pXEhgCazhGI1RV(85e@N&QF$p1& zpM+0i7F%!g%7O$2+eX-;+y?=+sy&jfoD+8@h0$pu7*mbDrCxH!hBhu3^}Yc@Obegi z;(M4-7Q31pXPpoNXRZzZ3OfAgp6Z1AemjOOpae*;l?nWp?22@8t8D1m=h4y z9SE#}qjvrbP!T0{ZV=Euz96gnU{>llNz9s@9~y9g;cVyK9RVwXJu?C`-jG9IQmc4t zbp$ZmD6AXnjyb1~MPK97Nh|MHXrC-*4gp6PjZo{02}vD~lkTgLI0H3WG+~i2*GC`< zEewB9lP^%t`OJ)%T%@so=I%p8-?SKT09va|uc+$(M;|@s zl|{oawLY)qU48sV*DtF1O>MYkxpVKGh+_4zTEYnh;tGxR3yyAM=(YJy1YsE&on%@_ z>9D2xIg_-8!CwPk4O&Tu_qW`-3=36okAn*w^$k#1Wb(jMm}mrX4)j+zg^Z$*f`!7~ zxaEQTs)BCds&jby=ZSTUeAdca z#p3)K7jSJG1uW@rfBviVAO5qi)9-!qk7*w$j^A61F4+oVLZ2uyW+$__11rjD2!e72 zg$k@IC>o6RxWo`JZqhQ4=Asg{qNG$9P;mF+J`&$uH))U}G_T11D5gb8=# z@OBn1bC5=`3$~uXI6_Lqn}SvxM4;DzTOjrE@y@VNBdW1`_+$g3PnKi(a4*e#V04YZ z2A!L5$Jqn-xobDzQNzQKtbpiYS-d|$pIbW*Xh**;Zm0FgT;GKb(eU5;xuzQx=B!NA|LVykeF~jOCSmbDs!KU@a zEEAi927bb-{Y#2s-NaPu)C;A7AQ;VqVR``t;ZPXSa;n&3P-f@)LUoy?!K$91MG3rg zfo=y&9k;wT@PmTVH*zaKVcaE2_yg8X$Y%h@ZQK{Q~6&`#_TV&21)8o&4_89)YiJ-SJ1;h=P1b7Y)xd7QaW}(4DX}gJ$H?8c__adVZ zf!+8liZ1c@EJHM1X1@yfhBWpm-LZn!(4cT59A-5Rj_eqsL^PA5#{-s%02M`*$T`}X zydU{5Z;z$38=-$%k;#!u1kW%tVf-F-jKz=Gdjcqn5R@ltA0elAQ|)tm-qEut#Kvxg zmh`vp3e|VtKm8_AzWaD0vR_MQttS7o?SQ6GSY_S{E6m_atRI(RA#TmC&IC}1s7(m! z9IzB6%b8sAV?n{$>^%MI)89m2OongJ@P@;`PjKWl!Iam)Oa(zmW@%8Y3*+KiH#-sY zO)vB#jgq#LkNn#=Ivmv{_*Yt_6YB%@!+eN5EHv*@KoC(!e7zlIb{TtsxJ{sboC{Ky zKu1#qQ()zQc~QZflTWCpBo!j}B+)`E=#EJ^Y1=-vaE`3XQTfQ=uAqN- z_;va}|M!2JUeABTyhA&FJ8&O_-j?X@?4z_j+oV??e@q_q6-$OF)nh((6lvGyPBw_SMR3&+A&eCdBa`1~E7@wez7-P4-8dVfPYz*{hz;E!WH2;LFR zSQ(>$d8}hnAs9RGH@EMT1QvD2bs>wvuLx}6OU1sR`0`qCE5SO%Qik3cdA)$3aZBMg zG&?}!h*yOc!$@FjIrLFDjev=oaZfZdQ@f+-sd#U@|G*;#`1c6ud3K?K075IRSKLUD$ui*L zR`CZQ-~s>0Bxl^Q6)j>CI)Y{#ANPj89ZJx(yoD2|qo4D#-#zq4g-6hV%xLbcfX4Ga!S2O+L+el1@G$TUge%4=t@jfcQdwd3yL=`{WzXg=rjv_Xk{4)V$&@ zviHolJTmas;}eh^x3P0wr^|tiq#`|xp9}h)vDuKyMWGG2j&QmYx;vcPF)1^^B{LfC z_7d($&KB-`>&1!kMIxJ%%)|5;RBS`eWVoQzo2XkydE$2<;SI z2yHvKDg3|4bO5XI!b+q4_~oRQFf zjgYu3>BE9;=7GPiXg4ZrJ?IVJO|eW0o)tO@m8l6UaIC&jP!&AuOjS%bY}s(f{qAgA zVJ=N16Hzv=XOXoj3T6RiFaWM=1!XG~9gtcmD%|BDe8ao+@BjV3OMmjyf9k-oGSsYY z?kGrKfR5Pt*$uZ`je@)2=0{WR&Q!Cy#CvPFW8C8K9v6t+p%F|Y-#H9##L@ZxmS^P4 zZyD$te);w*e)pkC(OPM_+na;Bl41{<=p8N0r$7XyJz=RCBo5`GQHp3MZP{+*^f;eh z1RskEYM9==g0|ep-HMhObLGk%cUVvgl@Q`8Iw&80ZD%{!_* z=ovz*X66HLVNNt1QwNC@G9U}gW2&RWb&hC%w?}L@nxbu(Ur2hem>TP9PH0XMvo)Lg zB;iwH4aaP_WFBwGb+oXSwVj^}A4&38-2LhOD&6D%|65%K^+CwN);^_{0777&$pkwptLfmW4)@mMCU~pMp~$7 z-rRhMMX+Cd`WaQoExoo{%!eG&K0;~7N9V&|+IjJ-R_KI}S}F^kDe7O5uk_khnjk>#)#JXQ z2jM@Fes5aiIQ9Kh$PoeN)!?3fw+pE&+$nGPT0KJ7A$tjJ5#r2hEv#k36C+2hA`N<* ztx TnHc*DOL&qF}<~AMB(V17~fUZL}b`)=`P*z_Wxt*O`jx7&b(ZYJt8CbtgN-G zcXdlWqY)z{28_W5Faz#a{!`5O!ZnNwW(+3XVFqb5qSdNyb?uc^xo1YkzTM~fol0?| zIy)mH&hg{^`nzww)7yolAU+7Ja#N_zp=!$gAt9w^ZFK?hqhW_w*p9O1>w8dnsp(txq&oX z6U1hd&Z(O-)yaZTQ#H|q|0BA|0qaZ7!x(Yi;uz$fJ)M@bPfw6|c!*)ppaw89`~favnpi!u zyqcHam;Y7ThiFbVPDb_AW3CG4Gt>rxIP7>Z133KuUrbZbhF}a;2$M9P1?E$nBh3ZL z5#W&(ENik(nh^F7$uBc--&-E}&DwR+1=ktO@!Vgl(}ytq8(J4ywV-*E1P|b1vA8Wv znn-gLc$gp=5F3hi^+2dt&!VnRv%pPyU1^u0s=*ThGLT>)GI(<}t-KjupR(~}UNAW& zfG%KT7n}4%?~?N4u=;!&sFm#+9l_9bjW?O?qG@9XDY~_Ua2M3>HTk@$#N^pGgh>bXqz=aXk*1ZmWX$~oL-y|g=e~OTyK}gr#GlirbG?3 zg#f%YR_0OmiM<)m^UIR zepj%IbH(?3?;4bj5{;@}>|%EjPVe>k9+;YFY}LAwL)F$Sk_ryYBYB#j0Am;e0Jy9P z$CgqNkyOXi1<0uYv0;?$0^#C(UY#flvEB3J9>=Vhk6BFKuhYme`^;k-X(s?pPqS6u zp`j;K`fKdtZEV4pCl}?2f?l0XB50TmNG)@#0_z|+-^C6DVc)!djdO)OPgGvLvc|Q< ziRKX$1_y==8}nOg3%Nk4*rmGvm#uPF8z1aN7R)16QXku~%4|BhT2Qz{hTTMal3rEFALQIGo!G$IgC>@kB z-0NMc4G@<#j$Q8ARrft0!2>3$mdedg726B&@Ho+{#RSkc>de*-s*FTLKzs>N)GYTQ zwxOCC(WlE*wUbSvI0P@-o3h2Es7DF{5+>xu9GtALiu&C9_Xr1m@rMhyQLGi*a{|ep zcV$P1 zn;}GGvRnX24aAhycrc~RFI|rzLJ2!wTsGJ-@GChyh^V;$)A2LLwE>VSVuuH+T4~dI zys-D%M&AARnf8p)CX1TL8VtHCi4P9w(#9GWNKnv;RaD8@CKtGxfnH(MS&>b(ZG+T1 z8HHZYz&p>C;E4wlD)GF$sYTK58;r>nds6T3|JyGi>T&tWSO2s;?0#C7^kO-uK5_sa zPQb?-%F-_1U6kXk*X3U0i*nhd9U{+E`kNT<9@vqZr6WW@diR3S17`@v`AK*dvs&RX zVQ->NBgHfu0tBvi&8en9D0#@v62h-Kukj2-hFXaZLmB^^Jj@gr+vy-MmnO*3M3Gh? zS+%Y?W{3`i0bVjt9!LjH7S8|x*52^I2Ac!!Nm)jXe(_EE(l_vM>Xj0)MUE^EmB}!G z#}VmX?J>!IlNQ=E|7>W-iR~=1RmT`sRgiG-AQ`ig8#%^!`IdZ5I)1?c`XCrth8WL= zDKwrXKQYk%xi#d9k4U=ACbWMPiLyFA)MP;LJGu=n)Lk@V}_2n5=!`TvPKax!FFT z4yRhUf%I{m)$?I3yp@y76u_R!4emNn0kvI}_DSnPOYm4R*Pz3uvg?(ik`zRXn&i4v z8`E%!6)$jKZ>1efw>B@Y$y%kv~qm#;eN{YCT`$JmQ>08dZHec~b8F(@#*+kWy#} zOO98j)P`vaGo3#kri1y!o|{?KhVi%-wE*!_qB9P_irMmoc&s|Nf?4>PdBHUtk7B3?<@lTtsgOfT>H7N=dgD-ZOyOsfV@_kj zBL|IX;n|CFP7uAupqM%7^yS7c$%0_!74rIE9yX_YRD)o-V%qqet+YFq@i!=JM8&j1 zSI(u%-JL4}#E@b~;;bYG)Yz&&q_D(~OwXfX=<`2JOM=<5tKIiA8B#$*fJjQj>m zdB)le0WrKz1o1N_&fL7-|NI~S&!3K${}_*Tqf6N&wTCqJ@;0{V?KAvd7G-LcDR~l* zL}TOO8tahwOkOr)LW$sa!m=)*^S61XIteUE%IQ4e4wX$N62sp?ND9Vyw#niK^Y!w2 zx@m*+wUj}EU-tY2B89hGFPOA4S}_%?RGGyi2CB! z@5=G7UeV(U_Zy7ga}4G@+j_;lHtO-S?eY&de<&aSBjELzWN$k?PZ$u9zoKc<1-X(Q zT)9yr7;hpoSwSA@Cdjk5v?f{MU=wsQJ{jtUUUoc~$#~*BHHSHE++|SGfs$OJ($)*e zS%>$Ul?3#;zUrQ5+>wn1{;0-Cz7x8swQ%gUz(ISt3KLe%K!DajuK{L#fGaLArOLx1 z-TWo0iZL+@VAXH+(utH)j=!1!EZw|qyE*f@qLy5C90?#h@9M<*Y%L*TNN{OD1T_*) zEw3*BH}3IcVmK5{4xSLVc|)UBPAl4_5}V2g9UrkBxf7lM&~T$mj3AgQ6)42m%$4UU zD;r2Wy>V``0I4)SKmsR{V6alS&X`ua9KSw~b7#PLZLXySQ!qfD_7&J2CJu;n+6t~W zwjXMyr}=cLnyw@9RJ|hYRB7HnGdluc4JI2pa2~M4Y@D`-tUuDtjq=}n!~{TM0QW%@ zTqcGjq1^kKN7@VUHeWd}<`<$3kyOZ|)bm<@1FpRHcGd2b`v5P!xCv~7BoYZ1WgS)p zB;V7x83?9!;~0S>Z~Scu(Jo$Hb3}!i>YW>54AZ!#D&@)f1-9>2_6@NUxCaJ|E|G+&U6o(5Z5h$JPjw#fl0 zfj-U$8!bp?1Mg$=_?tSSAvfPJ5fiB89tUuG)vAt&1`&#gEheOw37*M$(q`3@L63y1 z>A29%tK9-g=pr9CE_h&-xw4=NeF9)kuAi0jcSqzwqAp(7%GH}8l?>0B)Dseh$%?@X zXYHRsWV;P_;6@vK_Q8V(0FZ8FY@Ur@?KWk3j8aIf)Bz;22`NCz{P>&yNBYHaLxKR( z@Er|_OlwoZ8%i0Ix@884ZgLA;H;@9xyL71N8b7eE4#E>*YE;lRJl>a3jQwF`HX$mX zQ&A0cgLH>wxI)b$QD#pY*oB+@CURD!Hc*|5o#tyKs zN2qm*+KAPuP9#kOC)4My2~pTE_jVpW&X;q_XCU4sgu6k(>kdb0t&p;F6NgbbZHwSD zx+K}J=tC)v<_r!xgL}W`j4(U>{)AA-P1(H9xgQ)KJ$*5u6zhX>Ky`?T??d`_PA_NW z=8Rf7h~TH6(`o~a3z=HQ(;&QRaNq^LOps9KQ#x1QPZMk9`QUGyfZS`cy$&nS>Jx^> zIiV1SVaCAAj^q)DueR!AVA+N8+T+D9OrB5bqB)d6x2z)7lId zJu#axt=`j55!dwTC3Sf=Xhrwcp)kYtnm31~P3wdvUb&SL*K{=!W!I<(IvecEQPu0Q za2W#s+#Mxf<<*k#L2mvAWc-E+h)GC4Ri)$Ow|r)E9y@K(&X0ch+C2uxbqWYrJ#l96 zh)^4-S@wWwLi85?O6W>EGgOiiCgFh4BCRT=??p6KyAYVj?|k?>DyV-)+JXE?a$nVN z-upS9DH&ahQqkd6eRRMenxP1n%h(b3 z^LwScf9G@N;@DA1`K*$purKH2Kh}`MYTla`sPywWb}BeV3MLZ-SbD9mXbv(Yp6Qy- zDRynqIc|6J!lgT;PlHP{|_2l9;%qtEz=8bVf=;W$2 zsY2NzIlSovGg$}7Pn9mFAw9-ZDM0Ok>DhOiAb*g7P0>D3r%h89L~jm-1QEdmrYW-N zaKOI9dSvTZ6iTcn9)}v*zj6ry0cHM%i>Rt%nI3ZKcE7UI}5uhNYBdb1bPU+D(u%?f-i7VJ+5}S^ctjh)R%Kv$g?)JtG z`Ag)yb~&VG46@%$_CU-x{2Z6{C3}*%Eb9TV2CF^B%{7~GDI`(~9o0)VM~NZB@fwj>_p~vxirBc; z`EZX+B_1+?E~jz>ea{6sWt4XkwDx3Pu8a4#xu32&(u^;KlgQ~9GA;kPnIejdvL9t7 z37D6Q^fP{(v+tdUge<>v4(^^#m&_&e;~IZg)60A3;ZQoEd}))*wDoRI@s=hFg=>5c zJMVPTf$fIm=gayVg7$YoN9HksX`d0}B0#>x+pWemrz#=LiuLv>!LoCj9mWhqw{YZ` zzGfoB6bFW3iP*Ngq?KKtQ|F08Y>$?a;Mas)&$B3zz$ zBm^CJs`BRM+RZHemB68`4JtS~!?FdTdcNJ<3Ujq5))0q~EeiRg0gM)8tIUwT1QGy- zof}B;?9|mUx!FS^sa9hW4lV_aa%_9kf5=-O$9;c&PC14Mf z21rzKHc*Q_@nDnskVIAzSo_9^$f%$XEfXNd!t<@1U^;LzW(^=zkymV-iUQvS0KG7x)2QaRK!(DA)n;EnPbLg+*@LZ#H)zTVOB65pATSJtG^+S zz`EkF5}$K4g^XdDf+}&PwCOZa>Pc9BSxF<`sTPAkz`}RVw<1hfm(11a@L8ljSIbC( z7r@fzHBhzG1jGHg+C*yOqan6iX~|TTq&ildnn}|hgiu&?`M4|P#hJg<_(4Uw1wny}RkjtnXrCLJ4D zk*RZb%DMDUqi)yj@5-~={$OGlzmzacQ)}Za+NA;UZu3ql+m9K83KrC7+fpt`{hAXh z@YJa$bEv_Cus*`GFSZJ&N5W*)L2u&a__Dn_DSS;wk#<77@Jc0vsP~Ezz zS7Q_W?gk)saItOSwFbO0OnK@rb~=Q4uLbp7V#pUfm2I=w(0e8`HuBsjPKL#!7~ixt_GgX(KJ0u zr^Fl})wfNXQq9yc1Gh4M$umVxi7wtt)-N3-0L~+!2B71!`9IGM0rF?%%4dBNq$(fl zcZxw|{)}UVv7C!4Y`Ua5mKz}D$v{GZ5QJmrQA$mo;pcJQ$Qal^$K!%r&zl6Q`CP(_ z%>+?7fCZY`Evl&1Be;?MO?!0-Ric0y!A3)@s`s}iOVWb;43@!l5~e|UCVS1~X{#W6Q^(#W zu0tswi{e^1;|66JcABcxu?n}e5w35j)8YV(E{oI*m%!3J8m`mK;TO!GacpzYA~w^a z#DrO+b{YP#&kKM@MV3njv2-i*NRdbc6`_>qBTltx&=J{K08T)$zm5p(0Vm#&v^Nk| z_02n@!in@1DY(#Tvb@V?>bjQzm81r9-C&4!jeFdUt3ouYg#M>W%6o>09Cs)PL+Rr8 z3t*n`4=S1Nc(`RnU`Q980UjSL@+e&-T*om`E;H~mbPnEg9}LtrDczS=bnx;J7wwp+ zvzi2~v4WA4sVGW#i9nhJNB^$^>+ zL#MZv*+n=+JR;lTU0Y%pl;7LH+xTEs-aJ3b^H$ni9Q(WnQg^W3ls2aC*ZgEe002M$Nkl!?TUZE0y{EV`&yJ$&>8%-en2+)g+(paWa&P=K)l5k2W&Kl5|OP!u#CtsgQYoow|uS!zQ`xRl(;p9+U z;X7W;falm2LWJ_As;|`b;Rfm@UguSVqu)Ad)H+NE&;&4{LIPEN)r;$U=jyRs{&u}G zB?(TI-B(%~@XR}u5ZOOeVipc7Ope@B-3Afr4aKQ)mjnyryh~I}D$!Sr*MMT}UOopm zWFB3@2@_g~Y;fk{#?BQE6dF-I+A5D9e^~ar4@i7~1a#)$%<$hDjR$K5Z~z}PJ2e*^ z*z6g2cCbl|_@LY=9})Vha!NZLRVC-B#sO^jH$`F%Vd!JxaZ2@QNMtZw;%FPZJ}IvV zXKiS5U>j~>=l8%%dx*mOVQ9dWBLXHgd=_`EE~n*AA4zB$B>QLr`2@yN!)9!gh~1o% zUuQtia(-JBn9S_iWATU~8g-4jZ=hd{TMy@x?p&BEXd6nOv3So%u(X}+1Q-Mr`DZ(b z%J7E^%dzoVEG3wEd@g0iL-HQ;R}Vl{dLm7qtix3+UPHyT#I(l(L3;^y+d!(+K32-}bs~Rp-&p&UVp4io_iOaP` zn>6jJs&f+v1%>OuGK0kVIGTg{|*)3p&tggopQGh^H#>W$*OPO+=`cXJZGwFi}0 zB1RL$Cf|nQP`E1q8={g}g`i_Y?rF)563}zag6!O+Z6k+A#4rx;*(}RQmPlHw@RdMy z5QGl`U?p={FZVb`B#!S;^^`E^i4~E6xIhJ@1$p5nZcc9C)4ZUrh7uMct>Y|kGc?#$ zarKajl%Y;H37GSsd>@I+M_$_m$#u0y%5ljbogxsYCmzWhL>^Tk9iMaUbN7fn(^gH_ zI3-?4O{<>Qd&Vb4yH}BHQO#k(z{e6Q9?wguD5D7NS5u9IA?;11#nxY=wP@-XvN1O| z{XU^^PZw_4+Xv$E(3&=xMiowpCspxpm3&+=p)4OMCkd^0^^ZR{nu-|mdSxlMxap;DTlM8FG4v|%wV`} z%H(7nT=mA+nm8JIa0XB8bkoh4w*ojV&X95zV2&D;))0h-zks0jY=M)7>ez9%Sanja z)FgJ->4Tiues=vbINqf>ZWmqLIEO?p!I}`P;oL#RjbkHmK`??vkSh}|6kCsAtjB2q z3Zww@z!#hY>M1E%Y~p}HdWy7Wq=-05)ahVFSF5+-RA!M&SO!jeAfZ_+o{3-&O;sM% z%0BDgCYvU9t&)ow*u6}LhpUSU2*9lc3n79;B4n~@fVLS7N<7nutiww+KZK$BdMgQa z`7>&W*o>VjC|wbN*sC)nV?uBeh3R`yRhdH_Sov}nqhf;K3vFr;!Fg)0Y2!sQ04U*x zrWz;G$ecu=7Y`@bDUBixT^RFQfEx?;WWqBgTpcD7xkQ=xDr-|i(Bv^&$-XbuO9XTT zuB*0k_JB z-*mLF*%3ZdiUy!Ao~3;ZGX!Td5B{Hne84$AW=~+eFk=xhcu(l-H~-^r%9novpwA#? z@X%xv_h-2zl;ty`lLIAN9h!=66l17h~TTw=Z5oMA-iJ zP_buIyj;>pnW;BE0hw&g&*mqU^Xs@dmms}o?*x81sk5$X{v&Ff3^vB z_By*E2Gz>sK?-2FXw(^zj~@|LyQG09%*E>rkz1d=!#=~=;`gd^Zj5TL`!6sgsHNxO z(TDy9n@}D85LMGN17@VOvFdD;F(qBUUDZf#c6}mR4;xcv;7gk{l?Z@E#sa|-+Y2mVXGq|R5G5v5W3F>e5*#ZBwJMmK zNZ@sfn$#V-ZpL86A!?=Zj1Z0|IjxwpxrlXDYhW?s+5t?^q+~`w%9B{kwY5_c$Jq}z z(PN%Ne56k)Ep?=HVC_~O*r7~@)mih$Oo5S%6WFqD@y$YEVN#>!@Z|ar^cDp!ri*d5$eLs7Xn2g2W5TvS zw}B0cEAa&l$Urr4pWJ zwREoWPrJ)Hyd0ECd`!j%f&h2!2mbyY>BfVusT|lpfKje3nB}>E5t+jOVRlM95gO?t zd?v)>8heC(*q4-dF=k$jr|&=jswv&u5Ex; zG^3I64f``AE+=DTfqCYN?-Uf~VnV_&1u#oJn)$TI8}9J848sHgi+!zV5ODfE#6?T5 zvR+`Q9Cp7O(2_lEu4#L5eRhK51&7Xpoz`okT&jVrJ&<3OXMwxlBxYZ7bGaH9u}F}U z_x2kJ=dVbLM^yG*LI;dDo1aO|Tt~JCh=~#pa3o^IGaf5?YFZ+)b3nVi?T<>ozRLoM z?Xh`Deufc5l@Q2GLoR5aOoNp0Sw7Q?$YzuE;(;lBB-Dryf_A1a52NgG?5$}_?}U7CO*K1Uz)?aORN(t)-xzV ztIj!okc0m-JdA<1^DwAuO1(xj;#y$q?QWswA*m%Id!Y>27nzx*NG3`o#}hc~Z8y0h zURt#lV5+vEU28^;I2j4c{Pm>z@CJlT-3)Z1{mY#A$!V{^+Sn$;1TJ_mnFG#07}SJ0 zt&oDvJ_l4xA+k_s3!qXJ+nPdX$Plgv@r<$Y7r-*7uPSCm{lPtCRK5y`i(CMWzs+5< z{>>J94L-A$Z;i`XG1RpE11$n)EVS1h@Ppyp`?&PhyG&STOeLAr^HmKcf*?4H*It9E z2y(P=Cg$1!a{6czD*=BHsIJ4hIuMrZ0y7NE$28E|Aw;6RVtP{pHAl5$0FmtM-wD@u z3-y5NLT*s*q;y262Ea*wV*S2uC6K9GdSuP<)4tF-vcQveeSXTBaBt(iy2f@;+IXz9 z0e(~Kbg^H7^r~;FoH8uWUC`#Tk*qe%p@&%N7y(Y&+P0lg`pF;-LdUZSjQs8T_4J7# z2B{5u%pf*ZBdfx%j6;FEXY}6u{j=BQ4At}1F>L}pTOAk%iGi(BT*7G(%hY@8*?wm0 zpQ0JaIJNWi8iz4~;0rv*``cX_=#s=hC-6;?j=9S?cdX=~6ilY>6SzFY$6KVCYA*}{ z7(9RdU1@&?{O0%2+V?94$u&wY)xO~vPb6?LnP7rBAfsP#c*mF++y;!*ss+dNRS_L= zxY;?9QKpU^+2YX8efFsDp`Ir&Q?(k%nsvm}EBqlYvshAP0n8jn`_g%;*1B*0&7aYV ze3qJp_&I`E^$3S`G1scjZ{Q#oYDO7nwMELDG0j=lY*;~fcAb{4nmvqV!XiwR4;b`f zh3?ziFZ+$Xc!*|j)lS^G6(?HZ<6~WVA4WfJ8vL*a;I+)E-eU<3;-?wp&Cj!;#M*xEyQ&cLQEcP1NpaNditj+-w zBDqHh3*apR>Pi`jE<2~Op^6RBDQuKzH`Mo?o}QGG*RN^D^N#*4=WI50jo55AAivyF z38ZB6=w;WXgw_60Jv5Fb(cPhw*&g22!~LzCmEMNi9PWYGNFtqGQ_`JO!&8CI`Xykq zRAPsLta>;hK{|j9qe{NxJo>jtx;H21<;kmeX-cHpW7<}nYD~l&Mb~B{U=dHX$wt2t zz0NheS6>ms@^swPKC&+-7aVInqXv&UyaNc(^+}*nL-A}nW)J2dlc}hK$?~#2q1ubR zZRXGC<#(vtk3Rg6T-^s$mLr`|J(Wbd@o$DFtoM>O9ahPpvYJDT%}Ie7F#$tgcssSP zn7hI0(ee^WcUk6CyqFx_+CqDvS@VcfiK_Dppq@-a+>)RmE-4BIQ4tgBBx{i9z#!HG zGvS{&phr_FX7eaRTnRJr*%Z^Ii!iYWK*v_Gg4$YOmRXs2@Pe`XC>Gg8&iQ$#6Byt4r&32xF$1XLcQJ9 z4Sf@9*LW`p*un{v8f%G@Mn^SEB6!)?vP%oM2JPJy)=MN3!?IQY0`dt2-}@jJEs&zJ zS>X_XAUSmSpn?T}Xn?xv;Rx7orij51AYzHlG_n=hFlz2~YFIoGslQ{130^M37^;x4 zB?9Q=|AE-A-oAx6SQ`l4$H^lw&CPT&d4_xt0-a`?7RW9)88naUE3e0(y>Ydzmuiq~BLC&ii=EK;Yoh~=NyQHiH zr!A%~>olcJW(n&AiF2ftHV$K(<&vYf;KoC2%6Aal%eSZH8L3aNPcF+4MiXzRl+Vj? zOj+xyG5{m(U)3trCK-c0Xhui~TRj}mgHy(3b09SWZQ~o}cum5&oFtw`;lr3YrW$6h zdg_--G51nLw>|ub21YHyMboF_a>c2!`yae6j~;!%iNkkL^YDINAD2_=?aq$g5V$6& z4y~P?y(?R_yCI@A_%wlGY6lvd9aFr03G*ACV#dtr{R7dh!K(=ZK%bj7^WYNr10SHo zl+>O42R;J?t6<{fV!l!3+3(;U^9_MQY@3e|NcRrOT;UK^n6CIaMIH7WjQRjv#59o> z)Epdh4owV6(6-2WMhTK;NR#L5OK5I&@9}UhP-UVuS%+fOE)To8I!DY8$`Iqaf5Vw+ zoF(8{;kI3n3+PGneCh?oe@?iL#Il$F4et3Vxsp9pyE%4UmB*mz3~{;zNC%xX+C>J` zm1>nrS#6AqjDr>A6G)DF zI;T}d90;7(w`CV-`nvq`7r!WGz=wX{laK@YDDF-GjTkH#S)iI){SSQRS(&Ywx7$Tu%6xz!n8rE`-1WY0W zYw`e3*V6`OBAqAPmerdu6;+;GuFaQApZ3YHs*>%3`&B;6O{i7 zXV?R6IK7uTc*Mhy91JWfC)ZYf2rwJRUn**Vfvh`fCXDFLC-=+8pL{{jPaJvpDICPT zTj0rG;l&^KM|4tv0U;brNbue!;SkL$3vZ`5q=x)V%rRz*$)10WQd!HD^4h4S(v6na{Cak{=g1Ts% zgr@FGsmX@x$O!#kDSdecyV9cb)fvC1m7s=(W zzI2Z0ggL_zVYlh~2ithT-eS`{U|iCz$U~(F5jX%d){I_`nh7%lE=nOoEn2#IATMzk zd2$bfk~he4(A%U;!JL$&N_63FV)GuV^ac#Ji_P6ZrFAAUs2OAF4ISWoIfr3fK?Hdo z>fkmFh=flXDM55OKY?JhyQwoqmDP?~+KcgM@`b;>4q$)_Oc`7-Dy-_YgvdRoaC&l6 zPI2-`z-l5gyQqV}_2TI<_n=C1{o(9hneKm*J}Y(bu1Vf!*K#5xw%3~%?E0$C&-yB0 zXzY8upgh+JXwM5bz2h+*z{?IqFHhB06%dZKNy~=MfACe=Z-0QWFr5-S$f4?E)D|YfgWyBBjA}*Atc)zU2_p4F;zzIC>x)FW3=yV8vG z1;pgD8+c0BtoMu_kLM7E@z5Pq%WEXv24bX(-Lt>tJx-gMLQtN8eiz%V4m{=%ghYP> z@>;#EL&PrG?z0_2F=)O z>>>#tlw)zciSvhFgecxUc~KgyW&7R^E&ag36_T30=#gFI9DJELt@m2z)ts|4CUl=0 zc;p&M6Ru6~<;wvz31zSg46fa7d+?8FxQ^i1zU@(iHQE&&6F(mZ{0$ z+!G`;`s}pr$-+1*X>&hE3NCS4@*wt&&0`H942-~J3~0r2nHAnYb@5 zcApN6>Ngg!5(*^66$gTPI<3lkB?Yn{Fh(XB5DH@nT>H$j8dX7)+r~|2bVPB(FI6tNll`QfZViS4P3WRf&YFOP-scqHpj=#_` zg&ThW!GG`o0*1(S0*P2_@_%y_98zdZ!p3k)s@V91y?kCyj*sz((!oHL6Kz24u7{~% zoVST%ZRd~#4!!KC@k&)~(>BDsac7ej_>ZX4If&<754lo22`4PkkWm#2#oi<=QX}4Y zwLS^ckii5;k;HmB)s}8O&I|*nco51O52GJFTwIUTgu&&C2G&>9vw3E?9J&o6dZ35i zGj(BulH!HP0LkSuZ7Nl!IVzg2TF)G>BasBGoXBKT@^L_D#$kixJR0T#R*uME*#I|9 z=Y}e$_d2F}fU-9!R=n5cZvRN*Vl}fn*u({Dt&4W=MPQ{VD9t*#mg|^B*&sW98;N#; zs(5|Pftxr|P9cPC~LsJTOI zpHwohc4&l)q{621=@#5Bv4zIW!Su5Y)YT0VaksbddQzU`*$6|Vsp^}XlWY`;2bgGc zp*KK#*iyLF&AyPq0lXloWG7>q;cAx{g;`>)Y8Al4&dq>`JW3i?(T;r+o6ZcD3u*y> z{SPn7+v{(bq3&@Age5Pt>P#Asx;w4!>gL41=Aw&uh;s~--Os9^_ zM8t|s1l;X^>0prx?1jHoz&r4mN(teGc{A?J2HaY9eF`!B)R2&qoK z?+t0<-17KkIevLW#{rTTAUc_o^ECtmX~FzC zJ@>&~O41%+bE--4DfVXz9Pc6Fw>HrR2z7LI4k9qDB~%+y<5LZGtR-emJk-#RD(HNR zVs7G|HN5rM0TppGrrIAd1wP{W8k;T(cyoc`nt>gB11}B>mM}~{uH%|F>m#W$NU<)P z;u*WDjXF2t(iay5H^BAK4;MMZL9^ua*kp$Ag`!zhOm@Ga0FhXLaE}0I`#>J9kXS%` zkv7tfd2$JV@qac)>7YfCHr?4Y<^pnQFG=h=6XZ%8AdSRlQtyIAxA3q|@H%c;I&^oh zeE045e9u}D{~jBxEnv7|2m$Ei&^_Ej6>V{HtpW4~26IjjQZ+%+Sr&z2P3Qr{VO|GF z5j~3?bi)=C8fj+{GxL<5U7RJoKCVf|F_vYMA63{IoYz#kCeDo>wO%?!3}>h+nN_i1 z9!tuu4El;ZQLlNvSw(KVoGOipkUYXCp8+P@K8Wz1yYS$SOcka9Tz~icxSWir3ZQ@K z(>Hh&53pIe-c+X%lH~cDccuPKz1-&{S~>hjcecxeeY%1H7w0vBxtMg2JYLoP926^{&TP>(4&+P=r> zzI%kWM!P_%lbAXirn+0%hO9hXYAw++PSi_&b6GZhK^)KKOwq-8ZZ?j2xyk#q z*4DmKfFotPTIqeDLz!dHMe3 zS!tqX{=0wsv+~iO{iOVt|N3|3|M^eks<{QR`||Icn8RgHFsS1!tGX~7Y05tQl=Fap(8H-pUXIGuRA&wZ&Is|hwEkm9t_;9QZ|p7eBhm!ewKNEy$PmJ?lYzq3gu)Gl>^Fx;lO#n6Ollje=` zSA~}fh2SNlGObLE|L0gS6aKr^{1)t+;UMcjRg&RUx&)0o}h zor28tsG5KPmH^O3dGP{?Ld@*vfBAE4sGZm&PhY+(fBnnfmERN0zQkKRQVq`PmCk|No|8M^4 zFOx1-t`5rN!G3x2=A@kB*=%u*M5e8lG%8hm5LsrS!V$?Pap`gaHbAMAoQ!_U&ei+QU`?x8}?u~$9(V!%;VXD?pm`@i@X{}{=#U;fK4{=WRrUq30=N zV1pP_Y`8h&yIDJM>5o2mRQ~YH4x*obVeE>~+VyI5Njch?Wk?Jk^RG?e)ut2jEO*%F)X>vTo2CM0ya7eUW(~OIeP@>UzAFP2)dFlh2sH zb)e>18J-%GsKD254uAVu1q^;Vw-F|?? zr#=+n;z1^YIORw%VVgf|qgh)DxiKa<=0`G7rfxdoiVr*_#q1*K2lpglIFi(n?hEVw z(6kJ!HwSD=4R4A@ewmDI?jbu{F*{CxIlJFqaKigY} z@>wXi5UYbjFh3`BetuL=NJs0^-+p)FUfC}P^l2gM9{>r|5RDCY7zKk^2pQZj+oUkoaj-NYAl1@nfeamnB4RNI!!CN}eOU08-fO};0 z#*b$>82(PA_xUY!E4GXfN<2tsCI%5ZUkx(Hqw@Z6CmN*MC03ViY7mGoE1ti z9U_+6Czn$dQ7(qG)3Ko!2waH0GRDT~(>-_r!s!h%hEgrC;vy)RFh5<@jLkodVi&Is znnp`}zvN(w*@9$P&R|G91|aCkR5eY5AP^V}0=wm!lqVCE0U!*--uz9}hz(R;J6p9n z)A9gUvFEMnNSKYTb8?QE78@X;Nd(()dus!4CAq4TTvaEOhf%Jl91+ZB)Zys1s2HOH zef{LPe0PMWl)t|~vab2;=MUZ@@|^@a)6+)g zi)v7HcHFY;fB6wAE^0GtHqgJsOSrfL`)06hLLduTzRe8UiyMTUa^CUnSq;oL|+wKYMI)5`~K4Y2e50aaE#o;g}#)}EXHA<}-nhm!k zJFE6XGJ?Rton0Dhk(GjKz#18!dt@%|k@rG|)q8>L*75o6OQMtzD{X`4`-Su1TJ8E3 z)eCEEJN-iJ6kkBtc9NRUX~~DQNi9xl?p> zxVkxcOPbWqY)3fL1&@u$EvmM9y~bv+%f*0-U40k)ZP6o&IRr;{tNwk|2)aV+e!fBC zkWui@e)QuqCAoPETXAFW4ia(_o9_nah{rB>O`hJ`3lOXM0>nrdkq-|h%&0**PZQOz zMMCbq$DDTb*-rUO?4%X3z1igv8%$ju>pMXe{fLyP56DIlxrB|L#wA+EKH-S1hj3ev zW!p>=!X47)6gzTB=PJVoGO*YVz|Q)-%65U^xUfP5_COU!slf9bTP?*ZgV^vcK;%Rk z+5e?kBUCk)q!8@4o;*tPLMZD7w@U<|629SClU^y@*G zwo3H%BXS&n{DV)*^_$mafJb#j4yn}zCKij}Od<1@*kmA}NX3kSkIzW83Tss5%f)C= z;4}NI+6TfjRc%PUpe8p!o@}|FGd^=eR`Qu)32>G1`80SkWj}5>x8ZObmA^~gFbN*q z!ZSn~pT#r8YYCq5G*>*z?)_I4EE&%^=fy8r7q&9V5tu-RLqJF7z>gdO;x%bRB8Bl` zTcMIIP%-^o4Wd{!%L7DbP%~0G#5)=^J2C|(^zS10ap7^4K#VowfT{(?{qV>T`@4bz zz91CA9T=LXn0cy-QbTU3im4=9@*M3(DRqsy>9MwJI`b-_%(o+w0fBiP9z&90tr(v{ z#I}NC3hqEErp;Uzu*Q}^FRmwLN%a#Ivw@1y@<)!oRVR?9PP)5f` zD4%n38A;Fu@whph&K878q;_@^oQS}@jYBQ*s3}3a0JVl)uz44F5E^LGNXe3&$>}R9 zIB+HGAw7{OhY;7u5CSl>&ddfm>083HREH!8RZkH}gqPLuP(n9!)j|?UQ1&CO<5Y1I z;VvM(N#NSaTn)m9>w+2DGc&#ecZ0k+ut8Zp70m>XL=i%qdy^J znF|D$xiYpA&l*3~e$`d}3o?4Gwu~rd=)h;Q&3HmBbl&68o6Yjl%oA|VY?k_f5hOO? z=fBFq$8#AVS_*KEvy6|-b2VfI&H{Vq=3etlIl*^1^G>P9hk(&#lB6NxNXRgM=g+{# zdrjo<87PEhbV?tVJH(WkYz;=Bl$7vIVgUJhFhlazm&D_mDj55BhRJXDE+G+cZZNu_ zD&-1Xhw*~1o=CKSCgyZbn~|h$TN6}G?}j9qwDy5sBesJ1qniR0jngK9Zl?(!seVv( z^!7#KDfzJb>PV3~DksxotpI>~8>G|M`ouKovb$QnlRnBdnc5ed7iGW3L4Az5WU-El zyMghl6|PkqfvD*|Govay~ZM1gGBW>S9mY6)-cq~3zT6tSf|7nf??hE3{f(9_+wZ5 z5JJzj+@}7=ZWMQXejJOPG6A z<*4(O9NiJ`@otfMq~900059x~5&!bj^9>oHsUxs4Q>M zL1GHjB+>xxf@;-rTJxB$Ct)Yw+ z>d~4XnY`DuSx3}SuE}-mbsZBy>|7fH09a^sukr*I*BZ8zhyPme6vvBZ_>l}&fb@0#3cHt zh!+H^} zWV2LB4!XjYv+7qP-&mW{Wd}sv?2_`s@x2|?J}i&2!hRdS{;rH)epi0~*MA4c8jvKGGnD}=EZMgfaadMCYhFMSQE8R*SzmV{4hT?8rCbb z5aIl%{lu>znk0x8A4#b5XT={TAghkWo?#<@^x^$7I6f<{p8T$S{=*-_L`cX0hc|5nX;}O88>eC7X11}9%X`itLz+XngGZ^3JI6o%^G(${GCHr$LnPeJS z6Z@vbvm~e9QClLt5WKhh_|?&Q8GcT{+X@Fvi@LTPBPs}@Vn;QF$W(Rtk!@O8F78Q? z3Z^LxWPp&mB4g(A;;%gf=y!Hb+j#$?wc0?rVe-RvoT8#Z>MLa zsIOO2FQSc6XKLJY4VLoz(%ii+H8GDD30*u_e& zvxDc*HVI~3G;ss>QTw*w_y$P3c+R?7#~!cli)i!eqG-D`nMSSZ_A(j z+dnTmj~|fnKqv)o;KzsiZ1h4rddi*vKxS^kt@7)u9BBnlpgHA%R5e9D@m zgk$^YlJ4J$mvKV`0MXN|$@i=$ge=!)EMX_XRDojt0){@rQlzyK48rpy+B&LlY-PWgcKP=7RGheF76454!35$yh(zcGuF@$;d@y9tH>)xY>v0tSogv4dT+LVfbo)+$ZSP=^EuSBC-UD4K&L4N{9%I5-YJJ}mdX{1WH_Tuz~_Vb30L z9M}%A9X+)6+H`#)0vOKXSfdOA?q5f}j4cM&wBO1qF-0T|$L+RwmiwK6J1~aTGQO@1 zy>Aem1O%{RPY5^0lpuNVWwtm^D{VFyyF3u zQ8w`=-|KzM?X>ep3uA>43s1pODB;WKC2EPzhPl#!f161&#g?5AS~?rNEw7$G$CFJG zhWpH;J@#OZ#^xTIf;Lz6v{={J%aF+ovG>;KsH_G6!!`MBuy8`wJ72>&$!dT&Oq_+` zvPdhjU5pEJ@65XIt;@UR@h)l0TEilkvWMzf!%uo)TxoP4Imbur#cx`54bf*G;eTjI9R}Z zw0nRJyBb?o5&`D1ML>plM7dXqpaUkYE10{gc{k%Sz68$mm<@B1=uuaJz2gX@xZzzU z_eBbGUz+f;CYBfC5{Z2!CP^w@@+rAaTo56JUVs09Dq|SB_N&YUqUsX97_*;h68kuh zm}$-)9|FVlVu5+u70rgas&gR#;H=%OlgS@}m%zB5NP^Y|y>+UnaEiA=*U**8+)-Vf z73*TLS&t0JBf^&_qw)rj?(IA(zy0f9mW!XBl!p}9_6elZZHDj}8V&O>6Gs8E1YbjR zz*12I2}3)~o9+ge2$84XeT(XP8oOREv|59ub+ZOXG}Bm2C)LdfM8E6A^w&=~Fpt3Y zkmjFPI6|%{yO(phDdr+>Scy$))ywvavV6z^5?h?ANdu5JjgdC=W-Rbi{ycU zPW}eq0Hck)a;LwKVF1x_FHUxhPg2Stcu%7l5K1s3#)haZ^;pKxW}9d*L*#v$BXM>! z0446UjaL-atBd+*FaCysVSvDv@K^vO@&G6+5>$n?!9+6WRHyPnuHGbF?C#J0ik^*k zIsW%enVdZDzT!{!IdP?DxStu;O=fL z59Qg|NqA}Pub)$YxJSo^QxPE;fZs?5Hc2Ta!X&oEXB8p9WC)p_!>kgM_(&l zHL@zXT1}31h86@j@8!^j0Ne{%m~;345>ig_#ko*tZ+)g}Z=||=$g`De3EYb~;DPrW zX3&n8@GARC;&E6;5YV`~XfAEa zXa;Bn6Ws1~B%_X%85t%r7a3~`sCAt2&}vN*8XLnpZ1bq5X2$^;f%DaqX&Ay>%V-yD zi*ZKJ^@ud*D!snbcO1oqInyFe{SW{5%kuq)zby|x{)DQBNB9UJK#FafsKa#%zMBi| z>P4lZPf*Fm*w~)Ca4~*Yo<4h0j=p~mpTTd!^H=ymRuF2`Oz=SsK;dG6Ea- z7M`+NCN$_FY4n1_-G``RHj~-HGqnr#W7e0mS0p^+VcffWM%D*}fJ?Sz{}PDSO$X1j zNHNR5MaHFGH{7fSOnY^%17Q{%!L%d~aRFe~5SjLa2KNAO*AT~sz;=Ul8=G{hnn5*L z>EoL2!9Dw^U0s|F>8}s+7|TJ}V-I?`Chgn?b6Pn-jBr;ue_~J~Bb-WGR{LnUmW1#U9KT z6*8jJADuhi4FNbGLlEl$ z7xK5Nx9iLts%b(rngos+4KKd{Q$Vc0fw;Sas#OKVm0S{^FC8lJOsZBfY~Cwvn4e>< zs6bJ2$~06vg=bX=s_KOla4oz-$RQ9Cy$|kjqAKlKU=j#U#LI%-p*Hb^tY>CmLT zz9!~~{T!j%w)vTZq|io1c(B%ZWPy=oRoZKMFV&9NT9}E0M?Qk7N@7Ad?<@LUznLiZ zKjBH$9K8l3F3u4&DbG`PJ(s_sH|p0fIFOX;6%roy=}fRmILhW&n=p|LG%cBtO{GR; zJMy1esQ>^#07*naR2`okm6s6QCDkZ19CzB(nmwk6*}+a}uU*#zhj|z{iOSg}Tm0sF zAO=OfFk0O~zwJ`rbVHlIu^oW{xXnS=MEF(bM%UV4AQbVrCE!OfU|B8)Jg*4Uo)bH<6`Ussks`rF? zci(bg1&w*=gCSzbYv6l1y&H zccvw!QXK-Xhy-H8rho;*fKb;YR5-KQa7fdXZdn7c+S2}vmL^XdU4kJqx+|$4g-PyiF77p<;?44*sjH$ifCoy0} zU8l%D?jreSgg9`X^-#}jgE*&)-CU=Hs%h2@Gsdy!*ny#d;k~cQX7zg$2$1URS0~yN zQjd9(8PVXwAnnn-g;$pU|A@#W~qa7A~WCV4pV0!h+32 z0~ph}V2BAc#(SxqZ>^@~QqIA7$yn7Yy2LcQ)LY6#Jgl|3vwautZ=T*c9vN9U_yNZi z>62&+5NzHvM>Uus(oI`h3~_eASqKfnA?T1h|Lwtcaq*|GBwlc#UHAaFnpq_D63sKqHaJ0$m-(~}ieR*V+ukOJ^ z4l}%uCdVeRVa_)_UVx?iROI4|sGJgm;e)(_gg};Oc`9q}Qxb8mckB#_GWH;5T< zK^9=;%V${A$F{?Xc`nZ}HLQ+Gq9l}|RgMuFp<-tT`7!bx+di8s41D3(WIuHZxn8AH zLO~#uuKX>U^4OzO)mtZ57!uE}Y(exN2vvuXsu>rBu%be9Z)V9P3fJ&+<$_rGbo7NvXHcY#ZAu==QhokKXDbsf!aFQ^JNz zGB+NPk#C(`A@)2{=8I&3+1g~*IIPR?w*{;T4Fr>%6l>FjaU{hhW5)jGS~e#5#L|$g zNZm6$mU`o9;b9_qOa!hmU)Eyj^l^~^v$xS~z{#lZ;tAtAcVoE=4yx2XT_9bXo%$XJ z{-Jjg$eztl0D_zk6@ZCu0+=Nywh9=D?~0o}vrJ^SlIQB0^ceK>4J76Td2eq&cuMme z%PO!%c;E`jHRmjHdv+q1AuLn{^ke~5@kDfYAd~bWHWXP9gfJ&=N{q#L3yKyKhbyxo zJvPa9?27JfxQ}Nugo7~#OUw`3miBPQTas}DP(?mVG3p#amXk=G9Aj1OCO~cg7$*kA z)M4D--aQD%13f@8RWE=V2r_Run8+DNN{9%LVgL+c@?8jw9n+Anqn^m^4dnABy9iN5 z(lMM{?xaDoj4f92@(jQgj3-0}GB4ot36yhgyzK}R`;(O`A+xIxWQ=%KtLnMN>DulY zKOKIApTuVqTN@p1ZDE^pO@jJjX66sM11BY&L~qs(Sk5CrPJV)HtWWh)n0UVYSfmW0 zGEZS~OSDX0*l~B@+GP9@D%cI}BUGn5XfT#HIj*>*46;4H-bvRaf0EIH1;s*U)2sv& zmoq1S`^J}lFnzv@SCv1KrGtd=MB^$`g=fgveU41jmrM3h;DM^E$rt9E`dq)P0^+t0 z5d_uxg@;KTuD=dZ!`~P~#;8WYB!HDt?$&m6oa`?n3Rk7`&DANbDzMcJCwPQar?p#l z_NW)5hoT*-mT>Di2rwthVGY5I$Q+rCICKGmyrziL&dR=~7i7E;KiWb4+o7}4>(>;9 zQfSzt^Rd|s8z4lJ4R4W|-6PktXP-fU;EZf6Brb;g2}l+hE&;%kB@eRL9>8)FRkb!9 zyF5YG_H!E`jYX1fSfx5R8}5c%S&Fm)&?TVQh$ywz6j~xwHxU3tR#j?~V;Or2B)a8N z2C@^V-aRA>!1 z)BTWG{ceg`V3M+UqXy(PY6P*{-HyP@&#JgvoH7zIbI=)M4yKteRqm*1kUWpilB@xv zS_0$Bre*z-JNJrH6SNrDd8;Ye1S;VJB^_EuHkK*tL3O@~WqL1TyXR?z;)qh8*D=-< zJ2!UmHfxFp&MhVO)ZL7rMEzXrKZPid8gyRS}RthQpC-%A}L z5TPR868w6TvKI-EzqheDws3@Oax_ujew8>tG++%#wvb*D!h~RD;(`E0yJX0CtOkzl zDX(MfEF3$O=WG)Y-^H%$sZN486|#T~>~*Ck@N5tT=t0mGvgl~2mC;O?7+X zySZ?8RZ-Q0ICmt{_eff)a=-(1HswxSYdlq?0yqdqY%LNNHV+^3TMi3>;ni#r&}VWS zd~poX;;;g~a3CZrUO^pKHzKn078xppbzZ7v{3H$nPt|y?=j9ZDRwt-N#9>NzaxMNV^6m*VHL? zapVankyTj9cr8?BDHUM>QxRJAtU+p;=V5^MA(YssOu1rWJ{QRG90hph#wUp-a=+Ka ztL<|#PjCXpVrZahIpO^kVe4J4fg?(<{0nIKU-sO+@ltWXH;kLN6_fE}*X~#1$E^zN z2XX4<_&Br#;<_rMeD00dM@SL7@Omb-4;GnC#WGNAX^)$xp_>QOR-nN139_pAmSpHC|T0y{d>E zfVYKO*(M&>CBvoH!i$Qyckc0GiO?+6q;2(hw`Yx)Qza%+4dkgK1y&?nGc!~vI40@{ z)EkK_@m1UzCc-?-K)Lk{hR~p@I7lMhxQ4ZbYpPnIPK&4#E<4VK;$c;dV+YpcX|D0I zCa+U<6~Y3;_z_l2p642l@U5!Inm{~kfK9@?hF!Y<)sLf+E%2Nr&W6prA|+|b38$-x z2Xi373H^v@dJ^Q^BRWU>+*~+)8Guw&F{vr&{Y@vCG-7iZPMB0@FO)-Q#RL!cI8yYJ>_--{Q2R zHn2wsAPkVlx-Tr<8C3J}U52k1N#M-~{xerNoc7m z;W?3TN?qZ`Ah`$8i6~)ytR06;g9mu>l>`&hNP5u8#%F+;&-h=6i)VAE^AN6}h(Lh3 zdsc_0l`6M;UO{jPzMB+}Czdb#kWF#Xy3XBvV8;TTxSPh}`PX2;7VcS@Vw+=*Mf&O} zXBNhvIuN(XMHFIFRXUK}3D}it(j`NiQyUKG!MOp~_6TOZR`GH=SH%8^I;JE;gNz{t zCLLF}zpdV7qxCAKvl#(ftA}HI04z^p@pG4#`avheidHt4;kQhIOY)swF(pUM7#pr( za%k|{BDu&TEu4RCEthV3jeU_@yGqyzC!kRgmN0V@934V4UCC@2%YuRl5buf@Po$!D z0K}wYCD+S&;eKL@tsuCW7VI89$|myw9YFSaWQ)q;47-~GW$jG!7gfJ(hHH%;014pv zzpDwhf*((^xgbOS4GoSA3+B^a5u4!kkaxDDe3vq=gk6a})H zer2HBee-(%f17d^rsueh!?oIJHp9}R2q5ygII7xcjhlRcKcnV35Bs^8>L$UpaGrSs ztd?KE8o{SDo7QY3bX3k6fOH!{= z+)6BNdz01){J0DFF(Mr;;kgF6h6EMIZL+|ZSF{noPst1=LlYLrf~Rcu6_Vi!^&`1) z;DN^lgZ|*KOJ=XwJkPH-o4tqHWE7Y6!7<_1jA1;6r^Yr4(*TMRgB(GXpb?W9X;5V6p#IE9C)^nr#yu z5QB?yDd!x~M}(YWC+2CLiFvWnO`fxZx+~Yy$-?%t5jaL5q%{(9#IaMJZ)eLolb)j{ zFfUe`MMGxcWPYT*kT@3rSuj5Zgp$w7(9R|4ssbQEjTHHncp<)A0J`%#`Zy}FePXVj zeOERff5dy{Jg0b-l8s#)IXkp+SP&SOFwCE1L5w43WeinJm_)drVF_4coG5;c)Ua%a zn|TXracxu@$8aw}a(J)9WGrrAXugBnD!C<&9662P6REp2A^P*b__F*Q96LQap_dEZ zR_^bCWlx_xD-S+;1j2YkGWCmkiou9J&4&N^KmICvxQ%pF>R!@T(2&es&Iai7nb{MX z5w0oR9tKy2D4@U#_lvR#EmHoyU#fa5>j04N*4CS{dX<) zUD-fw*S4H;@ToK|nA%XUNfC1-^b&PLR8XSH>`Wg_{0wFgF!5dTQoWIJK^f))!ZVfx zqCk+5smVAePayJqa`TL3juNw)$|6n^d;soWHF7l;57B|-v#a_*wF&WtFJQt-N}YLn zNRvMcbL#L+QBGW9xC%z0cK!~*@I1fBa~LNu#9>L67n_8%W%h2oS>Fam)k(eB4RL@< zR6;O};d?jB1Zp2E*93aul2#+1UchbkC_LRo72w*1sbFvl+eZv^+rpW(mo5j~%l!ts zjSE_=+JbP+elSbI8Qfq4nb&3}%MdkmNai>BD@a`Q0yc5RSpddRI(q6PK>ishmDrM7 zDM#Z+#LgQ0Td9dR6+Xe*VF-60mhn3XV}te#*hFh2lB%;~+-QCRsh|NmhLisfJfw zKHx~@eH?rIkDL6cB&;%u46!+*{CMFTe00hOc7KMcdi8)J(N+YWQM*3 z%T{O2e!sxmtD~roH@Z4koe%``GQMU#Tbm}ny6h!XVJdu+I|=OUFkse=PPf#)0XvC1 zAtMpw|KsY;nsm*w!>+$Mk7ue=Rozu8Rkd2(ElVCGwe3I#!q^cua6u3bxPU8Pz!gLg z0pEa6z$I5)!4=^TU3Q~E zd(CU@wf9cw+~i(0o#5kgQdYLhr^wRGQ;sH9o9V0YF4hAh9=MsNd?^!{jkJs>y&+-uzvpy&-upU2tS}4_gdGT{gs>*!XYN429 zyNmY{hSq!6eyRP5BSv_ix@;! z@VXzKRc?0rs*F$jv#5>{v+U(Ea90QXUIoOv5lt!2UMCn0LMwL?5Yz6~=b3LQ)QrJ` zA)lY?pyTX!1I-1sIG1XyRRkTRL>xOZNAtOUySlq0(pBBAF3<;V0X##U~TUEPoEm=Erd{@P9EV=QpoCJVDzs@DBi5NyEazI4g z;08N4G+|5zkE@a0Zz1oiQu1GZ@%ifZ%MSefpn~o!$VRU6jVxy#f#Qaz4kAezT*PeE z0}Omtn{$)RV?AlFObjvglyxb?iB8~{Y_$sd82-^iS?x-=5(o(b16IxlPH?em;%}eC zPvRZFaY^$g5gu43%w64(@sm>8+cs)dJ1-LmVmhknL7agzLk-LxEtt*W- zo78mINm~#+Z@>P_cKxm9Bt~W#a&eoq;pTEnC=+uu z-)P^>!w!dAGJJ`TBs#WaL|G~f6(VL@qj%etu|55)f`q5 z(+3~+T?*+$)qD4fnVriAue14349SHzX|5~|s#WzklG(1y2duRD$NuqL_C^Vmu!?zY zWzUishw-u8?q`X{)sC^bn>4$B5I;yr=_ zUeBZVK?;1MsVKCc^@_EN-_QlEhHl|#{?SB@FYsr4mKu>me`ZP|BKmD`(bwG+OpQA} zV7G_udhZqh6C2*gqv*8La;J-?%m{K;ze~Hy4WV=p^DYMd>Z=kB-8fk#4TMlIF|RBU zH*?Hr%$!206NR%)ewQ$K^+j&a^J27I$T>Hh^?9cT$Ir@tJHT(aDsH%#&2LQy>=mEAe3kNy|Lm6|Q6Z+Pu^Ib$7H2Cr z-<+R=I=EA%`0`G!tHdV^ycwpmarEF`a-YxvFN_BeFHjK12|rWC(X|w{!r-58tN5qi z_{Qot{=u(T_|Tyz@3p@{vEya)w@*KPPj@k5l{R%^p)B{3_0gUuq4QaLtekA;#LO&M zFeo2{=KPLu0~XU2rY^FU!M=W1rPXHPPu`CMIJHN(hkormx0BMniEl1az!WKg=-s@s zeBK3OwI0USxZsSE>Z&O$AJ~HT?t!0q73M|ZA|T^~ENe%LR}; zc^iW~e{Ll~u0~ptyVi9LY+<;W?+Z}cMop#mmG^L)8u7$j>kxAOy7``0Ri30#x_f}3 zE%RryX!-qZD#WsytUv5Hq*;BCwLNGDrp<`7f7pgFq%&kYb@QY%v0uOVJWE{yq;}35 zz-3xJ+gL1_CN3klmqOUta13w+O?h0mwfbg@VKYa`a_tt6l#FgX5Za)!$k)Y=lk&$< zG5>Z|=y>q*`A=5sQu$wf{dRTybAPdWi|Ncc7*0dQ4BJ(>mO4czMv7&MXtVTU9~KKU#i7k5Hm8`-b=6oxSwM@8!_WxHy7+kbF{mwbVl^?I zB4O3{3KYn6y}6JgfcdH_FWzFQeC#M0FqH6X@-5O(=J$=4hJl(}AQZyJBw4 z$ifgxEGda0oS?`S#hWnnI|b|kCzA>9^@H~;rRg}b&uaf~ZmfRv`+wY-r3Lr3r#vpR&u1DcDuA?58v=nigwa_t}opV{f|tI^ntq z=kVLt?fA8B0dUu*9LBiRcHJ9p_@YD@mcHx35J}`Tgc0h=3xrF+jg{&cC7BVp%EieXfO?QpK-X>Cf`Y7b4IyyubY2*Zo;;z0;sf-nc!)F{5v;cGp%BA zpOo(~PJpmh+c7|9r@P|0+ABJnn88-zv(r@>O`G^2qV_Br*gOdB4{CrAwmR1t0eg=> zUcGnxal0|K$xy4g>o^!1+LKOC{phRJ=Rf|<)!Fkef|}W`&*0k&9*bw+YgPGmMalNO zH#o({L7mlY<#rV{w_QKTz|dh$n)!mOB72z&VA33OUA|7}np$|*Mzmjl{za$6c36kf zEN~RGV_I0BRpyOVP38z#U(V*Uh(}T|Y|Mqh=X{99a@jm-!w+}4M7hUF&ImkB&gGO~ zvb&odlDlmBlF$%KZWh0JY^4CSF@Ney+-5+-7%5P3S4$D+dvI_Cw^Ayyo;!Ah4mbTg z_vDq0r7(f&{<9KbQ%xW9?!_NJ*SQv>`1-ug!=fy}=KA?l9~1>q5fmSkYWUx*-qm;mc>i+hB-0sG= zJQ^`Xdd@>1;Ue1lD#!4&eh9YJjl>&r9s$(2=QlY4BVp^KO`Gn5UQkAd)2SBE&8$ksEsaphD}T zrzK^6uIiVvKZG1wW?;3`3iRD3es@1RUVXmxk6R=4+wH+$jcES;LGI~I=eOXsB~jaA1yy?AlC`sjOq zb+y-m-`i6`d1Y1+-;<+HkZ)U!Y>I%}ch&ZOH%(4Dw9<<620atBqp`((0(*=puA~^k z(@j>L3qy!5bCD*~8Gz1cz&Jzr7z6IbJrtLdVf$g+LEkwyjv|pH38==bT14^tP6{ce zik?oAbqyL!_PY0&sEenMce%~d{&oVh>e~@wbDC^1_qyEeeHPrs$+#W zX~mdk-Az$C?=f8vrpgD#FbmW1Uy0jN!4UDZ-a}fqZ+rF#+1pJ(-uB$yTabt0WbO7^ z{CM0!iI1Nyl^7NoK6&qFSKoa6^X=r^u3UDk&Lta-0qX|N(zKG|!Di=_fAUvj$}H*G z?`A<#9Ico*%VoW2t=VNIU^}@k5(6@STOInondRgbj}SwwCm2B+Opm_vs~xD)&S!t{ z`>U(0++{*`)w$Lm|CL`|9k=KIRdbMSeU=MT94i5G|A>lH+#85i9nUrp7%vwHVb!bZ zNM(>S9pFUlHs^C^fo}I6=jH*UKjC&O%9w^5^GnvZ zdB~XMOf=@=o#=AeH4odv6vydmEUnC1%u8@2Pl9xq>8dIfE~I5emnk1g^G#<55(--; zi19GmSmmrP3pp09LHai_VXx*jznO)r)e&wKL__!|?39J$&Svf`L1bm@2;lxjNS8Z? zN(j}*DazZ1ugz@QL9^W3l~iD;jq5zF2CCKz|f{Dray;ux?B%g-cmy=tZx2 z)*qIeOn9$g1LwGut|6SB9asjt*JMSSjgxGGbks9>Arz8;s)1-R| z>&Jioudddg{bKvBWbt#iwzGn_9T;L;!}W!OHB%ajziII}h{l^_Oae10>N}Uxx-wc6 z!DF=!EXfMS02B9x3tQH4?=~v*HXehd2-H9lG>T5Ky0}wTQpT*Wr{6r38G?FRR*tY5 zhm`rd!UKwM*9z%aUQ+8Scx6z}xz8cNcwM`WnSyXM@shrmi7grRD6b*<41Qv4Neb3W z0fg@`l=|9nD}xz)eLX-8(|X_IgN|xGtPnvZ$hrB^;HEe)O8%UuFimh1Gz@L3!qf$2 zBeTh!oe-v*=qVjc!9$#^U&6@p)#>~=>HXf%1bg4hShLLVg6`mh!*!KNyYcU2(|s8- zY&kNk6H?M(#Um8bC;}|sHE1*K^qyiMfa7_91PJ=BJ(J~wmp;tDl+?5nj+zOZ-Kq~e zDQmYm+HXAlqz&y#rB5oi6t4vGEReM1M_p#wr~QNjV$2nVf&nCsZlD+<3m9Rio-%?u zvB$g`fFNzA9SCMp$&Yr>$$rn>?%At;a6e6a*f!`#$4}bc?}Gy7Rvnb~B@Aq*aSe{W zj}Vi}j_DJXvSc5vu0Q&7Rljr+&!1Lb`L=q`7oAJ6Q*}!g^Qe^Beu&*~EcaxZ_NG3*2ev-o#H?X__0@ zxFeV(P@JO|ZYDj_++Y3ACvUos2fzq|749a#(D#!?jfOiV z+ME=;5nuf5&wtti^A^L-d{Q0Dq!o0O87mtX(@H06)I0~~XI*BUT$<2?HEnITW>(Fm z+|OW2;}FW82sl~?bX{8#!`_4d+m1<&j$7egY16UttWM)OvKJ*+6eHE4HfIohvkbM@ z`n;dS-`!{qYtQQW43sVN>7f2ek zbE^?5rZ6wrelcflBmesCmsP2pufDnW$=px#%~F~OEOpQQyl&|ZeDxt;RjEMee6qn&I0Ef4dEOSs#|LMUMj(MVlC-K5Maw`3}O!5?xgMdTHHc zLbp+d58VjMNtXY#EGsul6_7czhR8KZ9~Efi2Ci!hOtE&qH%Cgb2A91|AC;ssH#Ql} zaL4sT*V#Tl<^^B>yFY>MH~kF#gK^xkK79OXcuM0_W@<3a4N}4_{*22dn9Q{`rrHtL z&PoSkE**Vk&U9m!RZ;xXpacan{Zm*+((saXb1RBy_tbkW)XSCF|S&`wS?)(JX=1 znHs#U5-EF~NPA%mh-wcH-^)UrM8p{3U2yClwy{szb2N0yVD68J#eOhG2r1xUBgO6~A?UWwefBb-Zm*ymB36x2bR z=qLcb=%{6zz&ekP1|FBF@!AZSpxO@qGC{wT;E7&4gg@Fv;_hqSweqrkQy4cb*Ga@# zjH_a0OlF+pK109vy)Kr3kt0BjGvT6G9=!Kt^|0);OGkm)&Y=VtVL}UyQF9Uy%QB;~ zrNPW1E-MlAK^ZP>H_W9!CK-0qQmUxtpiWFr5W02*fHfj%L5F{5Z`M93Am6I*b&0$X z6p!<|%pInT`0o_VRT)xa={3iF1=?SH@#8E-d(O1UATMB)0zaj( z&)iS#B1S(3BA3M2xsSCsw2Ep8tBHOtk<2Mgc$$#Tq_B1xTddG!O>;D!)8JHnol=*Q2#`|a@t;MAPk z;%*hs#rUSD>|Abpe*37{u$JW;_YG{(j@w$3(TPxnx&#el*XWE{o4f>t1B?*Q1M?Gl z_Y&@VuK}~Lx~_K=wPc@iuW`MjR{=rvCg3F$^TuSF1A4}!J;F0U4CaT_;Q|BBz1n6p5~w!`y0!?p)d_Y6(_R0KOshTa=+LX!4KtC_?|kpOla#@@V~sF; zxS9Lvo1mT7o}y{OCz&!#-f!0biSfq0j_gaw5!D(ep(b?3gI|<0Zss#`chv`@=~c=> zLA97|T+#$**5E~#iLGl#=6$CO_FjA-`84>5EyT@6glA2^q&DWgv5vJLp~Qc&TmZPw zvp+5{^udvFdIGg>>%Vq-Gjq{h&x=&qw0)ZCwY$@C!93FsU|M8cLjWZ;h+$hZ3qYr@ z8nk4ez|l-Z=ED01dXW2QJ>O;s9093QOm0xeO_Hm$nE0oG-5)Cq_&F3)$})y0bdddL zg6HlY_cCZeqwZ{w`zT>aP@a~_Y}(+foj+ckz0Ngj?V3X*b`rcH*u#=VHd{(TxYsg~ z#I7+DfR1a2m-D#eqaU`_!zj^yGseYA25Y#GX@vm- z2!!Grf!YuT-!d2P-4+%eTp{dwA|_Gp2dCcjm`ELN=nM4+)! z3+`v2@POAmFz5((R{7!n2dj_Y|MNAqUcFiUWR}akuH*|r&vWb6Wf%85d%$@Ml0p#G zi0iiuBBYn3P@=Z&D5c0fmaHpmjWF(x!z_!BHaZ|hhVuHVYh%=q()emDdovTEm(964Kk*eV2DjSE4hKp?>}T61g{ z)mOf1Zs_o{Z%!tVs$I8wU%Wb%D7oekWOj0Exq0owl0|fy>wc@*pM2D5 zwz8*Vk?~L?3AxtmHS)0n~OH{j1!I+^m>utPBemfiaef6|vuTn%%q& z1k7@nkg_!xj;^&m?n37KK@--mD>ObYA+T9Zr*j!}5Aoyo2QYDhd_-BaA`K6&sQf^p}c5Fu-VgN%ue95;yegm25}WPKW-a@$DK^HmxO)vfmIMKnQ6b$EAw*2 zP1YD5KYTLuFeQ@&HO8l_@6`X>5+bJ+{axj9U4KyFL4^paW)yGBC+&aoY10g4(JGsG z^XgS|eQHXxY_)Urs70<7r8^>8Ea=Q~i7AXfoC~)x(<}*+pG znNNRa=(;fXpV1bbGZWMIZsV~Xgn7IPYofD#dG0Gq#zF==IHyoM&fX$WLwGJH9?=O4f98 z(9^@uR##73ID7kheZR5#Is&g>)z4}6t+V#_n%F%w$(}WsB`9q(vGZQ5wrz(nmQZiV zqi=mK{Z8NGHk45;PQA9`AR@rc#C0(U0kn`3&fIAJNo&(iLMG9oqJ+EswiuKP|G-|M zPCH5#vm~Vi%U`LGzb(aJFKhh8M+9`{E%&qpxYQ-^SWCCNyI0 z6l1egM;*82s5O1?LKXo@kVmLoo0}Lv%#Pt%msy_GwPLhEa(&1j=*LvXOp@Qxd#=G| zVCi2!mk5FPgoN9l;&I|E8qM?!1xeC?-ID-YImG3p6eyQj%2Q?&uPX*YdsAauHtQ+@ za#_8ncntCIFDocfb5yu;@V=!@7801}MVqbzPuFa>>fxd?!YTg?gfag>33smfswCa< zr*pivxa&dd<$gG;1s-Jy027AC%y0LZ#oJL4F-u^QV3OU~22nB65(INo0K571 zQEFi7Vs6Gp^N`o=o-Ikj!i{^Gm~UlCF9~G0nQ9*6=>uly#$HW6haGNJc#s9#t14ta zrneK9&nBl8oNwfs-?kOpRpo0JCBT$eotJ^8L$|A0-AaK3ZS#a3+!DQ}aw0}1>_J{~ zrWp76v$S)^0{8l^>7Il4AFnpsO8weujz}!2Bg>4jDGSLjlh|mmn}!#&57wb%-uV<< zJ+TM;Sxk!YKKa%+M(D3-nXV@kyclIvW6c`#5+gOnglszvyjhmfDMFJW9d^@h-vu1G z(bqIKZ~HA8=$m_Leh|$GqtEl0e)}$X{MNgg=nf2ccL{4K31c~s45YCdyQ&`t;|%R9 z^u3)arD$ZJia87 z=Rf@7kAgp>6BH8tqFuL+RpHl=B|==Xo#yqN?4n}BV@DRT;%9qP++?i`h?wYiJ8(FwoHOq06W&O+C!dG({LRBQLHy8h+sk}hev-H^Bu6Pmwc zdBN-3PC+LPwX}o`z${z5I%P*99O!wEe`4V4ACoe2eIEX^9eKICSX}R0u}sz_j5N6V+=j}-7gCq-CDa-aii^i zbNLi;-_d-w(p!vOXrcB>;$JC>SC$A6!7Gc0zexTsVPpojX1DJfbe8 zO2um<;gDF&EL3ssN;mCIw0*xP=F zuio7K(2L&|tDEb%{o!i8|7l5;Cbo}Wtj;=l_f4zG4_}v{FmITPx0TkiIFTE7cHX+X z&fjZu_#w_v0(^DUQ2H)-L+E)6et+{%erNUlqi?VFtgDkixx3hM9t&daly=zxFsz-L zOG3mQrv3Rl%9v(~CdP0|s^hYTQ1v$ni-ZQ^6!sF{EsHkmM}_<4+g4Gj(v3 zo6FFnAAx19mc_P>Ab1IZahL`;k8l*x@ds@=k)jss-Jb`CE)jWF%rsg z4Z3ize)qB>Vxe`eBM*V_;lFVYdq1Ul(Q1x+4hC=qWQHK_(0+`6o8ZC6{5A}dFcFBR z4Q9Dluwt5>h)F;R$*>Rl1RrI?Z5R7Ffr*8_YCc$QV=u+1X4R?>N@XjL;8InRHfx0^ zCA-N)@pG_5QYn7Z$q8m zrm4=Py?>%d^wEj`(2`@gM&m~i`abwp50#-tM> zZvFJcu=C*VxvxG)*uV%-k6!2PjMVp-L%>`e=+4I>r;~~fUap?+buM`qo)>FwluaZ= z3x{R7Vxo0NGQBx?wt8>>qnT)*03CxMWY3vnYD2oO-#uIX)^GoIankwf```QXxq`)r zO`(_qxy{NKETzDLGb=sXFHSUGtw)eHD+JN;+(N z3e`Q7zj{)1uxG1Xp&yhKK{LD~vE&e*n-0@Nx4xb~gxR&G`ri6xx>^VVjL>-fk7zDF_78y=CRY+HZ_bQ8drMNW$lI%BWYsAFW8wKYy z>rR1u_?qW#rAm*U<|DWEYtr`#$X;vW9v@YXmEg%JnS36>uHRde)QK;oEfUu2-J_pp zz+UGO6D(FQV)k#Zv#byIzLggLs-o)C)yqf0{#8Vm5sOiGWVI6RS?C!7-n{sFwefhX zRT6C-Nav;u^viNl2rn*Qu6`?P_x108wfcuAU$6ecx4*mEszy_`YNs8V!*;N8v!Z%W z7HQ@X1Kil0r8Z*-V2mu$;dLXNvg$OXeNM;!D{IMlcfg0O_TCbtX?syX{E(UGO-K!Y zFW2p5i53TvO#N-`p2ol@S-|c{TklNvRN=VF4VG#N4)cY?W&&stD|7C(Y*uZ@_dz&;DlYQ9VOLr?tHR7sYUaylqm`_2w@BfReI zSsVDTcO#H^d5OJCgv1Lhx*fBhexqZd-)2dpk84$0+2LHmag=1^$1mtBKI8$|?p>q( zAD-Qf2M8C1KzJE1J2~LdBxEclnr=U+8scR+kDANZE^QisG@JEK6L0ldM>1qcOnckr z+A@lzpg5uA53~=a*uokyTkf^ievWTGiop+RZw6gk7R(+t8E-I{Y%>k{@aV%iZ#Gy* zyYB3A#hCPN7{~~Hf`Ek@fX8T<PS87bjHewz{iCva&r=M`N(q7bd7AG<0`@yU`j@NU{f*yWt)E$~zh3>uKmYC3 zul>qj3J(}59AF}FhJ15ErX09ih~^(=qj6bKuI8LGAJ_+E= zAWf2{|KqU$VL+b0m~5sZ#i+d9jB(^$8|;h{vCN&jMA;{w=zxOf~r z#|`W6e91$ro!RX>MrB2e#hD7Wzq?HMPIG}}o}H7i_aG}>LTSqWDzcvPtP&#dBLm7Q zLINujBuWVG(4_wTP9P{W36F^djlbFeQ?&p9KmbWZK~&!)J+2at%)nUVjS@cA>SgcK z28|c48pLGRd*8dk0fijr58X_;-4_J(_2Agpc`>{!b(}7=&YghqN{ZX7YL6K#pd5l> z$b8wIvR`63u7RMDCBa};^uE2S6f13Wn?|dOuue0nTn-xNiI^m}s7Y9b&=0I?mJRJ* z`;&yJ!O*x{CKB7OL6LO&u;2TMkax}f=A%=98n7dS4JvB?^f5TO{|b$bdLDz7fvMq# zfcFx-Dl}HVmmATPf`zte!bRXBY|4TXaT4umMFf*N&TTXYw+{I)s)YHn&1C=dM}OKX zh}T(n7HVVlfBawnboHyh_zRPyv4m$Sp60?K3V66B-eG20OahiA8Ktv8iaA)tVF(;w z!MeBwLys%gcQ!w=T<5*kNWM%%J94Zk@v+>}>9f2h8p549IY*viMv3Brt*xoR_7)z;S z%R^Brp-0W><2tubeAvyyht?o2(-VXzeCS)h##Jxk$c>OQ^R#*`qj}bJllt7*S**6u z7@v%VD*<=WJhxR3!=uquT{9&bC_`6vl4roe>W9~~n+$P_Z)zufIO9?uylpa(`98Ef zrx?W9;`SHWoB5^1<--rlUKx-hffCVU5GMMp1Pgn1T*V6i__&>N9m{1-3Zdt;p#WfZ zt>+?L*A*g*1A?NED1rr?0RU(O0)k?SD=yd&o8Un+RCqM1|KEda`qQuHZD>I3kkIhU zAXds&-zQb+$QGXG`e1?`^9?nvsQWf;Yfgt2rk!o5^x{={(a(!dN@%<->wEDoEzA|G z?dMI(|D%8Qo2!54uY5mdNKbCcd$67vZ)~DJ&z!@8MT#ijn01`&yBcOpff@D}K z^>@?G7{slrGiGgGIJ!yUNe(FJwN?26=FGjaO2Kw{yM0z=q=>!7do4wtYc`wE);1=m zwQcaqOL7pV&3Gsw$sq`4A>q?Kr&%9@I$6_TQs6AMBZ$i!T(H*fLDezpT5Z@W+1*_w zp5z9?CmJT8s+RD>cnH1TCiGx2zsLH5d;g$QgyO@K+;SFBV#EBJwVYQiTe@!dB7662 zCrI1jP1cZt+3P*OXto)t&CS#Lr9}HqZoytbBq-9C2_+pe?SV?8J;>W& z$xDxk4Qm6krj3MXcPoWZN!ih($E!a%`7$>mrfn)=%RE_(B^KLB_|u8}wT02@y%8&;fTxDgQNkF(} zQabG{MzDb`qM_tyZ9}AhXidUM+a{d614ReNPuixggH=pDK!J^60VA=aaoO1}Em^>7 z(B`={eSy)$L}yb-%~gsfc`kN#!}#a`2ePOp(xFt$^{#kvEum3cn0Ml^+MDZwapwPm z5#xhzHZ6*0@Wc$(fT1bn#>JhCWCQ-!lO`0{l7!*bQdCZ9N-5XQItz&6yYbV^rBzbM zu8NTen2?8%LxyuZE=^oFR)Q*Ax(-HTPv_SjG^gm1m=K2R%MxuYUfN)4j9t@y0gY#Y zaS_0N&l_?E`$gfDr9*{%vxpdv!IeH@pA?qLrv-m9xC|1U@f7B8Okgx#{dbOf1Z~IR zi>)`ALh%=uq*x;#{8F@)J7PZEdb;}FH-BOE?C0OE{?!luILTSBK6uhxjBqp;?kJ7D z+e(SZg!i-NW#U>scUC&t>V=mtzF3`h+%zpmxWVpm(!ul363|a$4)vxEB-w2ICXcyl zb{FGLVuY=VxD{p7%r^;(7!zTDEA!=`&RMb)gV^JQwl*EH6M=WDSm7obyD^Po(SE-t zMhS3iTRYq>?U_%!$~)m2Zb+n5-Eotm(H{YbuS1!bF5D$_Z&N^u0SKoZ#Anq&%6$j_16wp~Op|g)AMgbO9AZiWVaJ2TYoTOf z%&hQisU99fY92&c#L0pd62&K%RXbfLe4gB6i=_8DQ&8fM5(&sD2+{or^tj&(JaKTA zGE2lW?YebVoCj9V(KifFz!+ZetqfrKos}`hjx_h^x+#GR|2b zTN`^6b7SYtZ1zKyeo1D?Ka5#MQ!vXwjc9Ak6+;PD_iHd-j3M)NV>DZ}g|8Slrp`q; z%*`K^eBM@EU)q`?)}7r;PdP|jOiNRJD=WXR#3d_hXt#8=hi0NT_}pK=X|dYfD?2*YN*@#ig^;lj?%ed-D1ok@)$@&Xos_(M z^J2BtmhzjtG7=d+$57;k;wj0*ixiLJ=_n)fd548#4qa9MTPG>2JfwJLtXy<4t+3PN z`89>y7-g`P@P+C2TsdiHu}t@VmdkX)uy%u{g>>v-zA209yNj5PHhWkcrzY{HIliO( zbbI6PTTw2X)$2}~O651>0@cmwooZ z_43QAI?iImGI8g{ZhOTSilo)tot98|Sr+ljAAh|%>4cuEb{PX#00y~!bxrs-R$u)1 zPgeW?=C8H%rn<@I-L{+8W7TNBWsl78*uD4n&jc~8rLCA!nU(D}u;~aNh71?(xh@8` zAIn%teb%POxcmudZ$?QHASG!ml8o(az203Wu)$%wK4%mtqJG(2mpE=mzum{R!n`bn z-O#jyiN;;!S|)7bElQX2nEBkfFNKj3@S80yOi|cof0Q1&B>OVn6GHi|a-~VKbT8V6 zkYy~5SFNNS3bZ$s#-W3tu`K;)Thy=-uM}(P2W|JtD`azf#*6V0II8rDKVICyi@rV6#Bx4PQThT}Tq1OT3AxMT~@((kBxVezP11@tfD1r9(kv z7iwolW}1S(X_O3zsV6I1(9)?)v&T+2Jk8s=2teO&UzH@GEgcSj7=icFK%*@Jkc**Q z4C1aNMk0<4eUH2%Yj7mD@X9HkA}K8RRxpE{WHvMGV20ExesndIR%4 zk93xWIDmsTDBG!y&o&E=#jKM8Ts$N7D)ZH6Nz3%17juIYkTU$-i~iDBU-*Jv2YpBUDN z7*zX9K8t9^%Ez}Y9+xvjq-A3Wu~lhtxSV}#!j}nU+FnxQUF|o@T((G^z*AT|eQ*AW zfWFJc+s?%j&v9{Pd-wVUfmm(;8JHFZ`swJqR~3;M#zNJzo?;6V*<2(^iQ8OxVTLXI zMrcCj%xSS2?hAHLmX0tf6SI`bc7l^kXw0&)b~xMIR>f0BJD9|d&XZ$b2}^1+K8cAN z(^6<3@`8ayo^2d^zm;{fE_8UW`^POCzDe-lIeby@8+k?OjlPs5Z*40pFHu6ZQ?da+ zJTeMDS`qT;cicvnF~J<6UwCGtaObk3^_SZnTk!C`Tw0d9Zo}(t2_hM9p+j#XeRvB_ ziMfreqvD2>mTWz#@H}Y=PYhOlhNC$dDTV4Dre+S)jKBT9O|!9f=GE#hA)$SBmfMoK z+!;5ik%xFlRN}O8T`U-KEWit-Nx>eLiL#VvsS@WlrEZcaz>oE*yltCQ#WpQEIeWQ!kOEj-%Uq?9IBr^lKg+^G0%qs3c#O~m-XOQ{z}}ZV6ST%gGj4d_ zE4PNmJ#Iz$`yYPTw&FjWmCQFS?7C^y_Ic)2BEwm37nOWnj%!()G<24@k9F~PF@vM*}#bh zHQD2MfudX5H3px9zk4hNveYJQHssC_$ zBo=QhjYmDR{cbp_7bZ!=!QkhnKuKUN`cYx7`ey2?>=Azs2#!f zTUw*8E&Y~dOnAj2_ikW=THJ{SU7K9MP}x8Xpiu`rA-X7=scg*&Kz3g`fBD5~^ZhC& zI|E_M0VG@j?ovLsO^DXTTsAH3>JS$r)E4cfDBGT$wg+q=IIMnp&0Q6*P9h*g;N;CL z?s4wm!IR?-C6Rz|d9d}=-_5!&vT`%$1oqm~2hrOM{wex}qn@yu~0$gbGS>YWSL ztNq-RED1)rWB1zNh?{|k0`WPJ#OK<<0M3{9y~Kut?`<=P=@9U;qz4#S7}|7VxP>RW z&X8k{h`yw^6Wm}Xa6AhYEVCU)I5N(wQi0~i;2Z~z)oM~+A_2~9zeji}Af<9k{pVH3 zY)6-vdfD@(TkqhRn6Yu*z;FEEJPfst=DeKRI&)~55KMfN0>jW_fd)6xFF~B$2*T(r zJdV5JR?)_|kE67rPhZZw-nixc9&;}>!nx6TD30d>6a0w7D2>P!9#ZU$3$0KrG>tM4 zXU}5op+I6CI@Z;~nqPeM_$cqMsgdyI9&H9(V{kufmPb<F?Y3EU z$?3B;Rca%n+!J$Il)_O;;Jrsr+X`Z-ZU{y7o9j_ZnrktdHKw?3oNyU*%{i9*ICzs= zyNo9mXq{MOKq`Kg#v4!TKUl;veiKIg}Qz zzqd_k+{aa{)=5_Uf$bTB{j7FQvUc{^G(RiuQ%tcGF=ypUws1iguZWAuTOl+U8|(>Y zSyUS~T@+(E>SE`5cXisPP~0w)-aD;;kn|xS++?M576u+ypSj$p0 zH0dkfMtA&loriE9{#ZpZ@L1#e#2qfZ_pm0>!r;Wd77eIdMPCI8!l%QOFG~$BmM`{M zWQWO4w?;^rNSenFF>Q@4$q~YYiHE*v)J$j%TS-06X&v}&TB{{0hTqO|Vp32dGGH&6 z&99)8cjlP z>@qRqoQ==`SWQzT_C>L5WFsQ(SD`~j-c=m__~CiODYdeXIR9 zZ(93D_#lLJF+EYEgZp)i4i1T}Iu4$inQI7IE7NluO~x1cPI|w$vt!r<@zG9U`b;Nu zA1mhltG8{a8%_x-t&L$NQ7GDB%G$>$o~8_Fd)qyNk(Wa7z;jrVz-heuwYALIh5xR_ zM{{CpjLKDAm+^kpT1c+A?2ql)4yDJ+{j%gpjJ#6bZyG#EOB z6WL%LQx@V85h4kH@e^YyhhSE@Sdh(c2g9TU0)Ck=U3u|u4vDi zFlkd}M zKLk(hsaJGLei|V6Dg-Cm-6ZJktNc;>FmfZsQ(O}+7ep|#vx2zq2;DMCY}heT3?umT zkUa{X9%*=1E=_pVIpfx<(X4e4(&`o}y6{p(OTwwz+=d$0Z*l{(1PDOOL-g6HEevww zSlf=bGC;|U+t=-9(smEBS05bxO#Zf%R&XFfFH*^8*KKQe)*8U`FLK4&^1Y(up?Q8vu#6;F-Q2WtFAgOwrz3KHF=kN!1^vMS=Q_XLrB4#OJpZAAHp( zw^g>;=D>N|A*PAdFqGJ2ks_F^TjpeS-2sJ%WdZlO0d46A2@@p7(5ffIBV*O*5gLo& z1-0ccB(5QZfZl|VNeGlYQ8+B+ElUJI3k@NNR&={<>NbLB)BI4)7?d_Juocs%XB{d+ zGw0`@cIv0TxT~0Ty>6Xaf`9eRizf6xn0Sk#pmEk&+1IDfS6{sN(dz4tB9pa@y+*6g zTn`xWk|BUNBvU%fnYd}>9zjp5ur8OK z;a<=a116+dzsuZTDSp~7CE3`UdT5M@#!8Rw4v*{lBrIwp`*nnjR>dfYHx?`b=#t#R zh46Uitcr}2ya=_I9+zP62iag#Ml6#80eH2N=ZS4y(DtpuCk$|!8vO0ri5`?--jd0hmv|I@E_39Km%O3DK3$qt8S zLZ`-+)h;0>F_HyiqNCH8*0cx>F^6h|Q~*f1ase#8klGg8DSDlNd_mJNv3SPDFb2N> z11P}AIK}8$Cv$mRm|1!c$uSRYZ$-P`Sy%2L4aXHhu&Y$h5TrqOO9P{+xvdGZWC6hq z?&qI(c3w%0=f^*3GQau6#y8jY-ANPNuU@{$(%A7UM8)WHRCE>=g9r||8#0(9@Li*7 zXEJP&Oi9~=o@hTX}UVa4s&2m#dcXkC1DFV`Agp;j7vY z@$>sV?^&;TZUMQ{!?OI05&+<3re=DbvcTwI)jyaexZXD1B>pd~ThgXtmvLhduQ5-+ zN@AU?njqEAXfS|q^QIGd+8j;5(xvf3n)xi%+;&e^%0!bh`%{>q2^E=9s^UTJResUxO~u)76f0EGv)A02jgb@^%yxhEOM{*VJ7yih zf}ijyK(`>3`^x=;Pl81&PbEt4(QYc>F>!aI74AS+}mW=+~Q%0s1bV1%cB`K43E9a{&J-!%N+bm@+AQ)On~>9v(%1EXF|85 zfWG-&1>DPg7_rIvP@wo|#ORLE30J>K9D$4A;~}wV!h`mjnmhSLnhMO!)0YH+{ho9 z9yo|O#hOqE>9mQ>W}SCO2yC!=QcSe&B-e2Z;G;o=()vgVAzT8ZS^X*)fv8;^}`m7*Nw1()~8rS5`D&AHv%5unhzR68y zog_ObC~o+;T@8-LHPLOHV3wI&thdSWs}{>9;N3d{-E~%wblLKVX$|(MG3_PjN5w}H zDUT$L`X0@AFWQ^e?&_QQI|?~0OqQ|+x#bS3v4UVf%VX*ZUB}%lz8fpqXOqmcSB|2I z#ykZN@&O}g;jH%(Vmz@SU40wt)H@bOlhX;$>XWx(g@N!xR=(Uy&_(0;+1+5HGw_gl z}e zMc~kp@L9NP!(sS~+ZM!y${|$j6>?~>mVh(}I}o2210VpQI4Wszc~hlI7Ht?hfTpZR zQpN+9_Hfcpc5Ws&ndLbZMz&0l8}XRm^8j&}0|*?{anv?*Rle1K)h+IY#E>iwOz$_K zGFg{z^O4*1r%h#P!Q~w75Lf^7-gN?}0)#c4VgQJ0EC$P#Os(7?FQ(Bpf`mjsm?QGG zYafLR{}cKq)&Q;e%a z+IqBDgJC9_#hKUOCI-p+vPtS3;G6vaiN$1dLgY`UAA(ty${fqOd)`g@TmW3AEsd_q zT+AUR8Z8|ZVu#~Lk19pGTmI3Y(;dYC;uV?B7>K)SF0VE>(t?BR`c1|{Mgz%m$pX@} zmh9NvlojWO85dz6cN*HVW(cq>|G=>Qj*<8!L%qJ~UR%)lZqo05>7HfVdF?Gs;0-(w zyPD|t2*HGeQ|<~H9<`C~`1ftK_pq%mF!hU#vr_%9Qfy_t62AQu&yvxM8Db)?l=yDu zj(2<%Bf(bIjjI~W%wq@5OiO7F*%W97otlXfDr zO69@BhsCj6^*ZWz3JOjr0j|Y(DRnUMP_M#?DYS3=cqvST=eG2(aDKnI*Vv#1tq75X z7hLm({6^7<=^Mh(f>Ib}4~OQ|Y;%ET7}{V6xnc(U&KMKV%hbt=+FrZDgrOq2r18mcqG1MAy_t*MWUt34Z(9)N1aeO{y9?u@C=Z3@!>QkkOg6tbjFZ)(75=Znn2)aoIw^m5lv?OPL` zQ|Y1c7+WUkyg56Y`>3L@5K@8bWT#^OqK`|!=)F?t9<>o+eDU7BEF+N@AYXq`JjQ?d`hx{SHRe<~9t0772>gNsYkYrWM9_;%W+{c#B%`>vd> zzL8KXpncuE*F{Hsz3Y@Ei&uBDev=@G24W;IaNG6o1GfdmZae4B}VU(s7sKX z(;&G*LD~F>sKODULoc@Cpty@S@lZS$t_Y!|kF}M<$T2RVo^WEAIbNu549>FZ3#_d0 z-a&Jrn@yO@2FHk)nakyYafewYs&IVwIW}y;4wsF)89oUUThMJYj`}f;WE+P`#%1{& z6nc}w5WI=0Suu(nO+6@c0z_HN(a{-+dpCLFyBdeDhVOst5|^wxUMDVRGRg7hDC-5( z+Kc|RHxGj7-u@ULL9%WA>}MKo2&_lVjMAHAjceSmJw)tnuBt55GAX*Oy-QowsF<#m z7o#DVOtp9h3kjzU<|^NJx5+`3Bg-R3VQR-0i$S_a`d{U@!zE}E74SNRaDAw4eAKSU z$0baxRU2y(VHTFB!9zw`?KXjwz1nIomUX*2?ILbP)ORRE$1(Zl%^zxkP#lZv9_`6OscbhK^k83G!p*fgntoShlO@7{o@V@4R6Tp zfxZn5@C!ZS0oX9UdG;O*4lWgoZ8cp&*v)Zr!|fJ+t17AMLh!_;rX(=yO`*p@)_z>_ z1mCuI6f~u;msz`*;7#RDiL~=#dgu7Lw<}X1X*c&J3{D=xH?omDp2dwW=4-gZ1hL}? zAh`RC7g#J$ZH-dub*~1*!1k5tV?bb8bPk7&i(5S+9)NzPIf`aulrcSt- z&Iou%qc>=s&6aaHuF^@?_+2X^E@m1d;xr}#NqN|G2;*+F z$LK~G%8i72J0)_FfWD3J+s)(6exc#TG)$5^@e->H&)~NmgrU@MFxFO2Yw;+A2U`z^ z=sPK|aSglY*e=g0gSWY)GG^w!mIbEb#l`Yykd~j|J|!}-QlE`WC;%7m;{9yPhq-E- zmEvk*vV$_R4J#Ta5H#uj z)3)iq+Ric+t2aU1d@KyaI9(eCW+AzE$}I=pVmN|l9JB3T_!JxB11u-oDlu^}+eg-R z*3Q(_Oe1u!BugL-kTYMK8=Lcz(yXsu7r|qpqd_z^UZW91&Nk}=FA&kd7|2lhG z;a0Ptu93?a)YP^yd9U+@e#wiQ`_ITM*04rA`hGqK5d2SHGHKV_0SieniU%b0du}AH z4WP_w0BA6(CL{}yueq9K)T~MX!=!p818U|xW;RcyLLO>VU5FQ_jjrA69Pr&N*=Cgp z8w#6;F@Y8A0Y4|dRFcDhX3hdU4Q?(m(Aq(+;@h%@xplOS0G(jjv%^;Nld`^Zp^G?z zKcN#p)UfBWXJ&|#LT2sK$gEq-@msl&zz0hp3?Rz{c7%6$XD*vV>@Q1lyh++7Aa7ib z_&wrVxXF`hL?ol>RiALG_EkJQlhdpu%WS)VVBOs<;}w2r_k);qGL;F?NlR{C#dxgz zSwgA)5Uh)}S#ZVT@k%_n^%$CBr&uKT9@CPq$?eb{EUH>On*n-jUC#j#6#oUX2vjU;^RKFN^4F+3q zrpV9(bIW++lkqe{q?1+0D&=WN!m&DHWm6&EV@e!5xq^6gGPQlbSS)rX;cFBO2mu~p zK@;@wY5FBNSwDQ#xQsQ>ht?C%LSSPuZg^g>(!C>7{XuVy^*d>8^rD$jeiNs5;n1o} z$K}q*;4aH}rxWva7G&NyH*DOr8Y41#h)ITczKVcipm~I}b-tN+j@6rra|j9XmP!b0 z8_ED;rz;e3`lw_D?Khbx+M@w2Y5%~60F6^k4aVZac%gEm{nhJ1V4Ev7GE13A_$>Rc z4|_IpVP^Ha322Omc?jOz)1P3&bW{7t zdKW;enLN!+QuTjDXekvzwts|9pWTNh;xi8kg+%}j%ji7_1WT8z4c@kZ*Or)(e1Lb^XjY6Avxcj)R65Us_0rO&q+qy{b{*lCp{R z-8ZzayZ#T&F`_oOT-Olky6|BP-aoR0#++uG>>k?*ECojyKInW0-V7S>L?%<-m}Xy0 zad`JG^OB7t92rZht$Ss!DUXy}p^8P&9#hg7zGj+=;vrJC2WFs9HrSqpWAV=WUW_Xa zoFq%15tSetvwwKoIPjO4S=dnc9#5qtQ}XUZLw^EqEO2UjuJs)r88)pwZDD2KQ$F$_ zJU#qFkqoc*d$%;cjG4|P7Sycyb}GbsrGa!p!pAo*ZrIKm$nxFhYGFj*bB!#;QGYqH z6nCXgVS^yA~^VFQazl}%JYEv`kR{Am`|outb3GeCH8yQ z?pmr#F3&4W&U)K!z}}c=Rq3>!qFb{JSw1uf7qVt&=T%?CWL#SrZw%-;$p_=%z9&2a z{YF~*;yM%U2__}mwU}`lZve|&8)Zg0)=u9|NgsIow^84&B`hC)*ukL9ZHfzzDzsOP zV)guPv^GaLb-fAREDDY0+(=VDsI{|`8`-!VYB~pmhKoy9u%~1P%W1EZQCM9+F>f$U zA+%bxXzDQ`QLj^W*EnV|YS*vPJN_id0G^~00)+>HQS*ImyxhoWmDGXD{x8Cnc0QU+ zvNAA=0%yYE(70PEFKtLrQI=!_@9=2!IUGEA>e`gn7^d2AQ)QAG)QW*M7I6-(n|ryL zTXImG)b99gkgpES15|Gb1k?B_+EoY>UgVN z%vdv%=(d{R8X=2201 zH)}V_om7U!Rof^*FhJIV2N;KOrc@~$1d|FKYZ8s0#`W1lyz;2C@~#uK)6<>__f{@7 zEx)tXQl24j7ak_aT=?)X`@^t=N!-;C9kb+#Vh%7zlSe|^r5h4&b%hTg$O zgDVVJk|QZc4Al1?vV8=7gtX7T|HgyItNkaz+;0Z7mB(PY)o%2!#mPcT-ob6i?Ue@< zeIwy8b9A{#IZkSyC5S(k46b?96!)!VPj!aA3`8#kVU!_-2)5{FQ(C9wO8#DkC-b#k zHglI~2$tcI-c57;k%{D4PzHM`V4?`F@m5mchn=m#im7=;`$0~hYq={u2sv27QQwbf z#;<(?;Ndv{6H32&Z_I9PY0~ngm;i9wHvEZM=6J5G6HR7%?V_!<)$zHxn$}9niqpFG zt%6(|(WKC^k}8(P%?r^69KuI)0w8TwHhy5x$1(>*aJioeOGHuoSZ@BOOm=$vuEYGE z&(eIFr7IeLL+rf)LQHRKQ(9UgAx0~3yBduc(wZ-veO_cNN60Y;jay6?(howq30|8y zEjvJi8^S4~+~vlw5Uepna!gH74lk5F$p+VNSl`^O-m$hMVm5PiZ>#vZtwMj%tF;$w z2rzL(IMT-uGpOz#7@AUn2gM49=Gby!9V#==m|lsQ>Y`be)QvKh8>WL=HKXwPbTYCr zZP(1SPrvEYmiZIQgy%YM{2^}MnIyhbhV|>~VaD!RrYr~vixe)vhK9wNs7+}+*n6~k z?}HDr$ktRUZEJ(v{fGU!cp`nzrDx(MSK7H0v@Rkcso|A}m;vaGCEEo6ocW zQyysuoOOAao#!HKk?`vvC`r>1I4y2JBOteH(1MVUUD*D0^TwB-4Lz)Y^MwS}S zs@1$1S1{|DqGKG0)F_ORn{FYHL5`Q{YeMVuO!$-HKKqWmc~Sy(kgM4sxItHG;NXaX zVy1%dowV+5OJ6L@3Eg#?t8$z5YZCjqqSA}poAcZvI&iYw#d09@xLN=U z36c@uOYXVkXG@?LRYP4f$N6r9U@O3_*tRCbJe!F}Ux-iP(9@0RAj;f4Y7l zrfax@j)yjxjd>&)#!5EMr6MR{#9+~H*J_e(HT6TA^F-ie=1yariv*MB0bgUqrhNhe zz8Eq0iltkG(lw}CEXEV*9YGd9Qg9yJ^21!pr=5LqSt4c12)nWcKmEG2bI%Jyqxu$JOk!aAp!sy;?=@ z`i5B7c#+UD1U@%H8QW++Ue8$I#9p^u?;6)HWo7tvX?HxIEGu_-l1#>fmj_Mt)&0Xc z`fWt;)K^2^@p@ndU)IO=NfrUBY$q2-j>(taW#;GbKpEz_!VPKyb0=B8{NZ(TGg%+=?EP_Eym3$r@<1l9>5N^wA6KwD zl{dLb2%;r-jIR!L^*iec8!u%)>|926zjm(=f-UWOk#LhCH%=ldrZpuIa{BIGz)-01 zC*V^BGgNU8260UaWz?qcX!XTy84EugLlC*HK^Shw;epr~gF%?geU>8LX#BZ^0W*rI z-&rwpl&lI`0d^6##ntx9vI@cI(K;sW8nh>*iWZcd&3DEajn(sByuD~H&?!T~kk!}k z4GEvvz%^;KA$Sah>C74f<~8b)z*m*s?T?$%t9(df6&jhGY&^4GymOR)ilq zG)~qSBv_3w^8_Z8V)Yilg1zg|U-xj;dkVP^)BpCHDhLF^g~B!9hY(cidb@cmMXp@) zxmf%bNj6(RYVBQ4P}Z+Be?EBZ-J--u6tj(c0?>qTNmK-Roed$`{r+DT2hD_L15k@6 zgKSD*H*@J zYxe%!&o3LHYf59PTFkraRuew0}PWSzR53NwQQ|=ez z$g;X%ybT&1GsQ@j!VsX@6+i=sukX7)S^i041 z|JFbMV%0{8tDk-Uu=q3&qWR4|bDZ^|pL?NmEkQJfC3z$3*O=p@*^DYYtsAG60$fY$ zFXT!yhckR(OBT&Kqx@w7| z0{H!kpRZ#cCEZrp&pNcsJV5CkgN?)m@U?;nLATRZYjb3DD)zc^FlN-CxK*^oPdBg$ z;j~9iT8QZOptGFbQXsCA#jmyz;6gz+h*dqzF;)=TZ=fGW>sN?f+e^gYvec|B=AFm= zOU+C@UzUlxa$L2E5-nO?;BVStr{}nrkPk)}pNE$3v}&JAu)#pkOO=;-EFQk>Y_;3%Jb;33{u4x)#Y?rxcSu>?wn%mGO-b;m8s?G<2u_x3V9u?~Gh)?dZ<#zTN{m3` zQFx#f1{e3=^|^ue%K`#?aF_45usAF%vYjPMrX-Swaoz8m}oHfq2Ln-EOv zXhZ{;b8FMiS+*{V4Rhrx>?q3_5Z2=~_mQd$fG+oz&~iEY2L={#s@xkvERxn-G|KqG zv~|~Deu)=COG;_F*$yHOv<7ezGBTAR6%v$Cjb#ma_GMfqezTsnGcilrT-lQv#BrZP zfMB10-(aE(ac&S8KLGq4V0%T>C=INH>u~jhFLqY{;Q#%+Q-gjoMZv9pFmeqkgU*rwltp4beZ?Asvi~q*zfA}X~ul}Q7-dp|Mzy95n+_+71 zkFiWfw{|I>DX5Ot8{3$>MZ4iCtj!bC+pr}=it*=A9lYlLp2=6Q-5bt^cf+wn%QE`l4))1Y#5W`4ei<6x;RoO$ zpHc(yqGG(_hQ=DN1#p0aC#a$RphvQQd+9{3omTT6J)f5R8y@ z-%JtI*G#BS$yjIzp1}pCp#Azigf(uhl{CTlU9;WP!K_XQ&Ke94@ETY2`v`SXHj8c3 zxCc#I6NC^M(=9^hGgQ_=J88wBQ{b>DrTaZS^@|xXLjMP!%N@FmMwG?fKcqL$r3TWr zgClgoZbDvPzw~|z=-I2)Z~eITu;LB^iNf-E+<3CJqo|fQ^(zqMX zY)(~T#=_;p=3kGqb~9OCoBB1%@jhrElGT4a!=hbfgjAo*Zff||_2HHgpd=E3yaED8 znFCg9z4o6BcuY9a+re!eE*@P5LL;(&@0u%mB+VhEcmBiGcYooR2D!6S*a*#{ z0l@u0(mHp>V1&36e&y1uvC3lAivS233iw0Tbr+V)_qQ1^*_ z+;2+-dxa`FoBM-9VudR_37f8iJN>)f>n!So;czxZ?*aeQ*tYwIk-Ctejg_chy0E76 zGWxE2|Jq;rxk||PSO4%2eq;5g;c4gSZ?|Lj)75_0{*S-@`RXr!>&fc<&hn$wM#1o| zdM;i9IwZ*Tv6QBv7tV<%x@J!6>Au;uIbrZwWzm%G<*|)$^cnwndVtB`0x!>~eN?Li znvJ!5UGv~35bz?qdYyuEj)!e137n;Cwren*(j9Z{wA($i<}TdbrZAN2@wy-bpP{#Z zi#Ym>C*!WHt^}fmyriR!Z3TBy(%`U;Yz@#h3^5{?4$$`uSqr_l|BBblrH;Gcx{ZAH z+bqU7O~gmL>6Xi9Zi)-UclVsh><}|mA_iYZ^}3T~C;46RD|ZIa5-QvZjG!u_OM_>| zAG`@20jfV3q&#QaIn2~oqb&L!QNc;D7MtKZt-B@y1G({E=em^o>sy)AWxQ7~Q2=$kErN$u65aZcv4F+#x7Uq8`> z`UzM3e;sf?hZsXRrYU^(o=dY>7oQ_rVZaD#N@jt2E}gbEZG(}UR!!dGs@8Nl;Zbzb z=wO&>oBHHREnY|?oN}-3Nf;;??k4vZo|T*tz*#)%{ytmRXp<@xMD;%H{2AUCf((n* znCX*W{@!P^#`5p~qaUOcT0+*EOxXDP+4btb|6l&a>c9T?e{nL*re{p~Oj0L!m*fsN zFJ%~iP`s>;xkqunC1tY#Z%H-fdFo})S|TLLwr)lKc}ivqs=E%tsp$}uXC{HfEiR-P z+AjEjn_-_B6?Bz3O~_8Cuzxx6c6PG^N4Stjz!~mgtW3NsST{w(J&ncsEk!tPaa51@ z<`FEc?q1tySa#<=&tk=h(!gnncL9IayqZ-b1VW1@d=y_jr#s{PHJty z_ZF~rC119S3(adm;>^c1AWSR)0}Ycp?lafH=ic_d-(wQOsixB}WQ8>%l)k&JCi3%( zZ>)ZD_Gop|1ld+F96o%!`q^)My7~)0v$^`We)X4E4<0;f%Le-@)?N(|teGIM#ifw< zUcmLRShSf+=z9MM1}u5YiVVDAv<7P{xS|Ocabk!h3>7smGFamO%Er zB7ikB3bfy*y>PUjk~C#UY!_b5^3A#DsRA3)T%}!3D*;=Vp}Z_{a+R;)a7ams@HR-E zUWZ5#DKJS8$D@=oes3zPn&V>>oq)${8QR$s2O{vFNrCokWwe&wV0Rv$H8@a#L7n{+})0 zH0d7W4Y9&cjKUoxc++2C(4c)-zVE%=*Vv?4juZSIjW$@Zvd6;G2-yF|QTxG*$b?Y4 z%Wuo~lR+H;G}pboI4_F98~yaNfAo0u&;EFG_1`}G;p#vB z1<2t)cEFF+7%)?y)7Fbtle5k=kie|8_ib#>p`sjNHvt_c

ipGYgmc|Nn}*?;hLIJ+bSna?U4px_!HE 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 Ef^I=N{Qv*} literal 0 HcmV?d00001 diff --git a/docs/assets/researchers_en.json b/docs/assets/researchers_en.json index 4bc7caa..ce9a3a1 100644 --- a/docs/assets/researchers_en.json +++ b/docs/assets/researchers_en.json @@ -2696,7 +2696,7 @@ "affiliation": "UC Berkeley", "position": "Assistant Professor", "hindex": 34, - "photo": "https://vcresearch.berkeley.edu/faculty/ahmed-alaa", + "photo": "./assets/images/ahmed-alaa.png", "scholar": "https://scholar.google.com/citations?user=_pv1sEcAAAAJ&hl=en", "linkedin": "https://www.linkedin.com/in/ahmed-m-alaa-b1007614/", "website": "", diff --git a/docs/index.html b/docs/index.html index 4f82b5c..47e9df9 100644 --- a/docs/index.html +++ b/docs/index.html @@ -26,6 +26,6 @@ - + \ No newline at end of file diff --git a/docs/main.681b451086e835f1.js b/docs/main.9fa56a4366765d8d.js similarity index 78% rename from docs/main.681b451086e835f1.js rename to docs/main.9fa56a4366765d8d.js index 10489dd..ad09282 100644 --- a/docs/main.681b451086e835f1.js +++ b/docs/main.9fa56a4366765d8d.js @@ -1 +1 @@ -"use strict";(self.webpackChunkegyptians_in_ai=self.webpackChunkegyptians_in_ai||[]).push([[179],{466:()=>{function ae(e){return"function"==typeof e}function wr(e){const n=e(i=>{Error.call(i),i.stack=(new Error).stack});return n.prototype=Object.create(Error.prototype),n.prototype.constructor=n,n}const Bo=wr(e=>function(n){e(this),this.message=n?`${n.length} errors occurred during unsubscription:\n${n.map((i,r)=>`${r+1}) ${i.toString()}`).join("\n ")}`:"",this.name="UnsubscriptionError",this.errors=n});function vr(e,t){if(e){const n=e.indexOf(t);0<=n&&e.splice(n,1)}}class vt{constructor(t){this.initialTeardown=t,this.closed=!1,this._parentage=null,this._finalizers=null}unsubscribe(){let t;if(!this.closed){this.closed=!0;const{_parentage:n}=this;if(n)if(this._parentage=null,Array.isArray(n))for(const o of n)o.remove(this);else n.remove(this);const{initialTeardown:i}=this;if(ae(i))try{i()}catch(o){t=o instanceof Bo?o.errors:[o]}const{_finalizers:r}=this;if(r){this._finalizers=null;for(const o of r)try{Ch(o)}catch(s){t=t??[],s instanceof Bo?t=[...t,...s.errors]:t.push(s)}}if(t)throw new Bo(t)}}add(t){var n;if(t&&t!==this)if(this.closed)Ch(t);else{if(t instanceof vt){if(t.closed||t._hasParent(this))return;t._addParent(this)}(this._finalizers=null!==(n=this._finalizers)&&void 0!==n?n:[]).push(t)}}_hasParent(t){const{_parentage:n}=this;return n===t||Array.isArray(n)&&n.includes(t)}_addParent(t){const{_parentage:n}=this;this._parentage=Array.isArray(n)?(n.push(t),n):n?[n,t]:t}_removeParent(t){const{_parentage:n}=this;n===t?this._parentage=null:Array.isArray(n)&&vr(n,t)}remove(t){const{_finalizers:n}=this;n&&vr(n,t),t instanceof vt&&t._removeParent(this)}}vt.EMPTY=(()=>{const e=new vt;return e.closed=!0,e})();const _h=vt.EMPTY;function Dh(e){return e instanceof vt||e&&"closed"in e&&ae(e.remove)&&ae(e.add)&&ae(e.unsubscribe)}function Ch(e){ae(e)?e():e.unsubscribe()}const Jn={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1},Ho={setTimeout(e,t,...n){const{delegate:i}=Ho;return i?.setTimeout?i.setTimeout(e,t,...n):setTimeout(e,t,...n)},clearTimeout(e){const{delegate:t}=Ho;return(t?.clearTimeout||clearTimeout)(e)},delegate:void 0};function Mh(e){Ho.setTimeout(()=>{const{onUnhandledError:t}=Jn;if(!t)throw e;t(e)})}function Eh(){}const q0=Za("C",void 0,void 0);function Za(e,t,n){return{kind:e,value:t,error:n}}let qn=null;function $o(e){if(Jn.useDeprecatedSynchronousErrorHandling){const t=!qn;if(t&&(qn={errorThrown:!1,error:null}),e(),t){const{errorThrown:n,error:i}=qn;if(qn=null,n)throw i}}else e()}class Ya extends vt{constructor(t){super(),this.isStopped=!1,t?(this.destination=t,Dh(t)&&t.add(this)):this.destination=tb}static create(t,n,i){return new Ar(t,n,i)}next(t){this.isStopped?el(function K0(e){return Za("N",e,void 0)}(t),this):this._next(t)}error(t){this.isStopped?el(function Q0(e){return Za("E",void 0,e)}(t),this):(this.isStopped=!0,this._error(t))}complete(){this.isStopped?el(q0,this):(this.isStopped=!0,this._complete())}unsubscribe(){this.closed||(this.isStopped=!0,super.unsubscribe(),this.destination=null)}_next(t){this.destination.next(t)}_error(t){try{this.destination.error(t)}finally{this.unsubscribe()}}_complete(){try{this.destination.complete()}finally{this.unsubscribe()}}}const Y0=Function.prototype.bind;function Xa(e,t){return Y0.call(e,t)}class X0{constructor(t){this.partialObserver=t}next(t){const{partialObserver:n}=this;if(n.next)try{n.next(t)}catch(i){Go(i)}}error(t){const{partialObserver:n}=this;if(n.error)try{n.error(t)}catch(i){Go(i)}else Go(t)}complete(){const{partialObserver:t}=this;if(t.complete)try{t.complete()}catch(n){Go(n)}}}class Ar extends Ya{constructor(t,n,i){let r;if(super(),ae(t)||!t)r={next:t??void 0,error:n??void 0,complete:i??void 0};else{let o;this&&Jn.useDeprecatedNextContext?(o=Object.create(t),o.unsubscribe=()=>this.unsubscribe(),r={next:t.next&&Xa(t.next,o),error:t.error&&Xa(t.error,o),complete:t.complete&&Xa(t.complete,o)}):r=t}this.destination=new X0(r)}}function Go(e){Jn.useDeprecatedSynchronousErrorHandling?function Z0(e){Jn.useDeprecatedSynchronousErrorHandling&&qn&&(qn.errorThrown=!0,qn.error=e)}(e):Mh(e)}function el(e,t){const{onStoppedNotification:n}=Jn;n&&Ho.setTimeout(()=>n(e,t))}const tb={closed:!0,next:Eh,error:function eb(e){throw e},complete:Eh},tl="function"==typeof Symbol&&Symbol.observable||"@@observable";function Qn(e){return e}function Sh(e){return 0===e.length?Qn:1===e.length?e[0]:function(n){return e.reduce((i,r)=>r(i),n)}}let De=(()=>{class e{constructor(n){n&&(this._subscribe=n)}lift(n){const i=new e;return i.source=this,i.operator=n,i}subscribe(n,i,r){const o=function rb(e){return e&&e instanceof Ya||function ib(e){return e&&ae(e.next)&&ae(e.error)&&ae(e.complete)}(e)&&Dh(e)}(n)?n:new Ar(n,i,r);return $o(()=>{const{operator:s,source:a}=this;o.add(s?s.call(o,a):a?this._subscribe(o):this._trySubscribe(o))}),o}_trySubscribe(n){try{return this._subscribe(n)}catch(i){n.error(i)}}forEach(n,i){return new(i=Ih(i))((r,o)=>{const s=new Ar({next:a=>{try{n(a)}catch(l){o(l),s.unsubscribe()}},error:o,complete:r});this.subscribe(s)})}_subscribe(n){var i;return null===(i=this.source)||void 0===i?void 0:i.subscribe(n)}[tl](){return this}pipe(...n){return Sh(n)(this)}toPromise(n){return new(n=Ih(n))((i,r)=>{let o;this.subscribe(s=>o=s,s=>r(s),()=>i(o))})}}return e.create=t=>new e(t),e})();function Ih(e){var t;return null!==(t=e??Jn.Promise)&&void 0!==t?t:Promise}const ob=wr(e=>function(){e(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"});let zt=(()=>{class e extends De{constructor(){super(),this.closed=!1,this.currentObservers=null,this.observers=[],this.isStopped=!1,this.hasError=!1,this.thrownError=null}lift(n){const i=new kh(this,this);return i.operator=n,i}_throwIfClosed(){if(this.closed)throw new ob}next(n){$o(()=>{if(this._throwIfClosed(),!this.isStopped){this.currentObservers||(this.currentObservers=Array.from(this.observers));for(const i of this.currentObservers)i.next(n)}})}error(n){$o(()=>{if(this._throwIfClosed(),!this.isStopped){this.hasError=this.isStopped=!0,this.thrownError=n;const{observers:i}=this;for(;i.length;)i.shift().error(n)}})}complete(){$o(()=>{if(this._throwIfClosed(),!this.isStopped){this.isStopped=!0;const{observers:n}=this;for(;n.length;)n.shift().complete()}})}unsubscribe(){this.isStopped=this.closed=!0,this.observers=this.currentObservers=null}get observed(){var n;return(null===(n=this.observers)||void 0===n?void 0:n.length)>0}_trySubscribe(n){return this._throwIfClosed(),super._trySubscribe(n)}_subscribe(n){return this._throwIfClosed(),this._checkFinalizedStatuses(n),this._innerSubscribe(n)}_innerSubscribe(n){const{hasError:i,isStopped:r,observers:o}=this;return i||r?_h:(this.currentObservers=null,o.push(n),new vt(()=>{this.currentObservers=null,vr(o,n)}))}_checkFinalizedStatuses(n){const{hasError:i,thrownError:r,isStopped:o}=this;i?n.error(r):o&&n.complete()}asObservable(){const n=new De;return n.source=this,n}}return e.create=(t,n)=>new kh(t,n),e})();class kh extends zt{constructor(t,n){super(),this.destination=t,this.source=n}next(t){var n,i;null===(i=null===(n=this.destination)||void 0===n?void 0:n.next)||void 0===i||i.call(n,t)}error(t){var n,i;null===(i=null===(n=this.destination)||void 0===n?void 0:n.error)||void 0===i||i.call(n,t)}complete(){var t,n;null===(n=null===(t=this.destination)||void 0===t?void 0:t.complete)||void 0===n||n.call(t)}_subscribe(t){var n,i;return null!==(i=null===(n=this.source)||void 0===n?void 0:n.subscribe(t))&&void 0!==i?i:_h}}function xh(e){return ae(e?.lift)}function Fe(e){return t=>{if(xh(t))return t.lift(function(n){try{return e(n,this)}catch(i){this.error(i)}});throw new TypeError("Unable to lift unknown Observable type")}}function ke(e,t,n,i,r){return new sb(e,t,n,i,r)}class sb extends Ya{constructor(t,n,i,r,o,s){super(t),this.onFinalize=o,this.shouldUnsubscribe=s,this._next=n?function(a){try{n(a)}catch(l){t.error(l)}}:super._next,this._error=r?function(a){try{r(a)}catch(l){t.error(l)}finally{this.unsubscribe()}}:super._error,this._complete=i?function(){try{i()}catch(a){t.error(a)}finally{this.unsubscribe()}}:super._complete}unsubscribe(){var t;if(!this.shouldUnsubscribe||this.shouldUnsubscribe()){const{closed:n}=this;super.unsubscribe(),!n&&(null===(t=this.onFinalize)||void 0===t||t.call(this))}}}function K(e,t){return Fe((n,i)=>{let r=0;n.subscribe(ke(i,o=>{i.next(e.call(t,o,r++))}))})}function Kn(e){return this instanceof Kn?(this.v=e,this):new Kn(e)}function ub(e,t,n){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var r,i=n.apply(e,t||[]),o=[];return r={},s("next"),s("throw"),s("return"),r[Symbol.asyncIterator]=function(){return this},r;function s(h){i[h]&&(r[h]=function(f){return new Promise(function(p,g){o.push([h,f,p,g])>1||a(h,f)})})}function a(h,f){try{!function l(h){h.value instanceof Kn?Promise.resolve(h.value.v).then(u,c):d(o[0][2],h)}(i[h](f))}catch(p){d(o[0][3],p)}}function u(h){a("next",h)}function c(h){a("throw",h)}function d(h,f){h(f),o.shift(),o.length&&a(o[0][0],o[0][1])}}function cb(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var n,t=e[Symbol.asyncIterator];return t?t.call(e):(e=function Rh(e){var t="function"==typeof Symbol&&Symbol.iterator,n=t&&e[t],i=0;if(n)return n.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&i>=e.length&&(e=void 0),{value:e&&e[i++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}(e),n={},i("next"),i("throw"),i("return"),n[Symbol.asyncIterator]=function(){return this},n);function i(o){n[o]=e[o]&&function(s){return new Promise(function(a,l){!function r(o,s,a,l){Promise.resolve(l).then(function(u){o({value:u,done:a})},s)}(a,l,(s=e[o](s)).done,s.value)})}}}const Nh=e=>e&&"number"==typeof e.length&&"function"!=typeof e;function Fh(e){return ae(e?.then)}function Lh(e){return ae(e[tl])}function Oh(e){return Symbol.asyncIterator&&ae(e?.[Symbol.asyncIterator])}function Vh(e){return new TypeError(`You provided ${null!==e&&"object"==typeof e?"an invalid object":`'${e}'`} where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.`)}const jh=function hb(){return"function"==typeof Symbol&&Symbol.iterator?Symbol.iterator:"@@iterator"}();function Uh(e){return ae(e?.[jh])}function Bh(e){return ub(this,arguments,function*(){const n=e.getReader();try{for(;;){const{value:i,done:r}=yield Kn(n.read());if(r)return yield Kn(void 0);yield yield Kn(i)}}finally{n.releaseLock()}})}function Hh(e){return ae(e?.getReader)}function kt(e){if(e instanceof De)return e;if(null!=e){if(Lh(e))return function fb(e){return new De(t=>{const n=e[tl]();if(ae(n.subscribe))return n.subscribe(t);throw new TypeError("Provided object does not correctly implement Symbol.observable")})}(e);if(Nh(e))return function pb(e){return new De(t=>{for(let n=0;n{e.then(n=>{t.closed||(t.next(n),t.complete())},n=>t.error(n)).then(null,Mh)})}(e);if(Oh(e))return $h(e);if(Uh(e))return function mb(e){return new De(t=>{for(const n of e)if(t.next(n),t.closed)return;t.complete()})}(e);if(Hh(e))return function yb(e){return $h(Bh(e))}(e)}throw Vh(e)}function $h(e){return new De(t=>{(function wb(e,t){var n,i,r,o;return function ab(e,t,n,i){return new(n||(n=Promise))(function(o,s){function a(c){try{u(i.next(c))}catch(d){s(d)}}function l(c){try{u(i.throw(c))}catch(d){s(d)}}function u(c){c.done?o(c.value):function r(o){return o instanceof n?o:new n(function(s){s(o)})}(c.value).then(a,l)}u((i=i.apply(e,t||[])).next())})}(this,void 0,void 0,function*(){try{for(n=cb(e);!(i=yield n.next()).done;)if(t.next(i.value),t.closed)return}catch(s){r={error:s}}finally{try{i&&!i.done&&(o=n.return)&&(yield o.call(n))}finally{if(r)throw r.error}}t.complete()})})(e,t).catch(n=>t.error(n))})}function sn(e,t,n,i=0,r=!1){const o=t.schedule(function(){n(),r?e.add(this.schedule(null,i)):this.unsubscribe()},i);if(e.add(o),!r)return o}function Ve(e,t,n=1/0){return ae(t)?Ve((i,r)=>K((o,s)=>t(i,o,r,s))(kt(e(i,r))),n):("number"==typeof t&&(n=t),Fe((i,r)=>function vb(e,t,n,i,r,o,s,a){const l=[];let u=0,c=0,d=!1;const h=()=>{d&&!l.length&&!u&&t.complete()},f=g=>u{o&&t.next(g),u++;let m=!1;kt(n(g,c++)).subscribe(ke(t,A=>{r?.(A),o?f(A):t.next(A)},()=>{m=!0},void 0,()=>{if(m)try{for(u--;l.length&&up(A)):p(A)}h()}catch(A){t.error(A)}}))};return e.subscribe(ke(t,f,()=>{d=!0,h()})),()=>{a?.()}}(i,r,e,n)))}function _i(e=1/0){return Ve(Qn,e)}const an=new De(e=>e.complete());function il(e){return e[e.length-1]}function Gh(e){return ae(il(e))?e.pop():void 0}function br(e){return function bb(e){return e&&ae(e.schedule)}(il(e))?e.pop():void 0}function zh(e,t=0){return Fe((n,i)=>{n.subscribe(ke(i,r=>sn(i,e,()=>i.next(r),t),()=>sn(i,e,()=>i.complete(),t),r=>sn(i,e,()=>i.error(r),t)))})}function Wh(e,t=0){return Fe((n,i)=>{i.add(e.schedule(()=>n.subscribe(i),t))})}function Jh(e,t){if(!e)throw new Error("Iterable cannot be null");return new De(n=>{sn(n,t,()=>{const i=e[Symbol.asyncIterator]();sn(n,t,()=>{i.next().then(r=>{r.done?n.complete():n.next(r.value)})},0,!0)})})}function Ce(e,t){return t?function Ib(e,t){if(null!=e){if(Lh(e))return function Db(e,t){return kt(e).pipe(Wh(t),zh(t))}(e,t);if(Nh(e))return function Mb(e,t){return new De(n=>{let i=0;return t.schedule(function(){i===e.length?n.complete():(n.next(e[i++]),n.closed||this.schedule())})})}(e,t);if(Fh(e))return function Cb(e,t){return kt(e).pipe(Wh(t),zh(t))}(e,t);if(Oh(e))return Jh(e,t);if(Uh(e))return function Eb(e,t){return new De(n=>{let i;return sn(n,t,()=>{i=e[jh](),sn(n,t,()=>{let r,o;try{({value:r,done:o}=i.next())}catch(s){return void n.error(s)}o?n.complete():n.next(r)},0,!0)}),()=>ae(i?.return)&&i.return()})}(e,t);if(Hh(e))return function Sb(e,t){return Jh(Bh(e),t)}(e,t)}throw Vh(e)}(e,t):kt(e)}function rl(e,t,...n){if(!0===t)return void e();if(!1===t)return;const i=new Ar({next:()=>{i.unsubscribe(),e()}});return t(...n).subscribe(i)}function oe(e){for(let t in e)if(e[t]===oe)return t;throw Error("Could not find renamed property on target object.")}function ol(e,t){for(const n in t)t.hasOwnProperty(n)&&!e.hasOwnProperty(n)&&(e[n]=t[n])}function se(e){if("string"==typeof e)return e;if(Array.isArray(e))return"["+e.map(se).join(", ")+"]";if(null==e)return""+e;if(e.overriddenName)return`${e.overriddenName}`;if(e.name)return`${e.name}`;const t=e.toString();if(null==t)return""+t;const n=t.indexOf("\n");return-1===n?t:t.substring(0,n)}function sl(e,t){return null==e||""===e?null===t?"":t:null==t||""===t?e:e+" "+t}const Tb=oe({__forward_ref__:oe});function le(e){return e.__forward_ref__=le,e.toString=function(){return se(this())},e}function L(e){return al(e)?e():e}function al(e){return"function"==typeof e&&e.hasOwnProperty(Tb)&&e.__forward_ref__===le}class D extends Error{constructor(t,n){super(function zo(e,t){return`NG0${Math.abs(e)}${t?": "+t.trim():""}`}(t,n)),this.code=t}}function U(e){return"string"==typeof e?e:null==e?"":String(e)}function Wo(e,t){throw new D(-201,!1)}function ut(e,t){null==e&&function te(e,t,n,i){throw new Error(`ASSERTION ERROR: ${e}`+(null==i?"":` [Expected=> ${n} ${i} ${t} <=Actual]`))}(t,e,null,"!=")}function H(e){return{token:e.token,providedIn:e.providedIn||null,factory:e.factory,value:void 0}}function xt(e){return{providers:e.providers||[],imports:e.imports||[]}}function Jo(e){return qh(e,qo)||qh(e,Kh)}function qh(e,t){return e.hasOwnProperty(t)?e[t]:null}function Qh(e){return e&&(e.hasOwnProperty(ll)||e.hasOwnProperty(Ub))?e[ll]:null}const qo=oe({\u0275prov:oe}),ll=oe({\u0275inj:oe}),Kh=oe({ngInjectableDef:oe}),Ub=oe({ngInjectorDef:oe});var P=(()=>((P=P||{})[P.Default=0]="Default",P[P.Host=1]="Host",P[P.Self=2]="Self",P[P.SkipSelf=4]="SkipSelf",P[P.Optional=8]="Optional",P))();let ul;function At(e){const t=ul;return ul=e,t}function Zh(e,t,n){const i=Jo(e);return i&&"root"==i.providedIn?void 0===i.value?i.value=i.factory():i.value:n&P.Optional?null:void 0!==t?t:void Wo(se(e))}function Sn(e){return{toString:e}.toString()}var Tt=(()=>((Tt=Tt||{})[Tt.OnPush=0]="OnPush",Tt[Tt.Default=1]="Default",Tt))(),Wt=(()=>{return(e=Wt||(Wt={}))[e.Emulated=0]="Emulated",e[e.None=2]="None",e[e.ShadowDom=3]="ShadowDom",Wt;var e})();const ue=(()=>typeof globalThis<"u"&&globalThis||typeof global<"u"&&global||typeof window<"u"&&window||typeof self<"u"&&typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&self)(),Di={},ee=[],Qo=oe({\u0275cmp:oe}),cl=oe({\u0275dir:oe}),dl=oe({\u0275pipe:oe}),Yh=oe({\u0275mod:oe}),un=oe({\u0275fac:oe}),_r=oe({__NG_ELEMENT_ID__:oe});let Hb=0;function Ci(e){return Sn(()=>{const n=!0===e.standalone,i={},r={type:e.type,providersResolver:null,decls:e.decls,vars:e.vars,factory:null,template:e.template||null,consts:e.consts||null,ngContentSelectors:e.ngContentSelectors,hostBindings:e.hostBindings||null,hostVars:e.hostVars||0,hostAttrs:e.hostAttrs||null,contentQueries:e.contentQueries||null,declaredInputs:i,inputs:null,outputs:null,exportAs:e.exportAs||null,onPush:e.changeDetection===Tt.OnPush,directiveDefs:null,pipeDefs:null,standalone:n,dependencies:n&&e.dependencies||null,getStandaloneInjector:null,selectors:e.selectors||ee,viewQuery:e.viewQuery||null,features:e.features||null,data:e.data||{},encapsulation:e.encapsulation||Wt.Emulated,id:"c"+Hb++,styles:e.styles||ee,_:null,setInput:null,schemas:e.schemas||null,tView:null},o=e.dependencies,s=e.features;return r.inputs=tf(e.inputs,i),r.outputs=tf(e.outputs),s&&s.forEach(a=>a(r)),r.directiveDefs=o?()=>("function"==typeof o?o():o).map(Xh).filter(ef):null,r.pipeDefs=o?()=>("function"==typeof o?o():o).map(Ke).filter(ef):null,r})}function Xh(e){return ne(e)||Qe(e)}function ef(e){return null!==e}function Jt(e){return Sn(()=>({type:e.type,bootstrap:e.bootstrap||ee,declarations:e.declarations||ee,imports:e.imports||ee,exports:e.exports||ee,transitiveCompileScopes:null,schemas:e.schemas||null,id:e.id||null}))}function tf(e,t){if(null==e)return Di;const n={};for(const i in e)if(e.hasOwnProperty(i)){let r=e[i],o=r;Array.isArray(r)&&(o=r[1],r=r[0]),n[r]=i,t&&(t[r]=o)}return n}const O=Ci;function it(e){return{type:e.type,name:e.name,factory:null,pure:!1!==e.pure,standalone:!0===e.standalone,onDestroy:e.type.prototype.ngOnDestroy||null}}function ne(e){return e[Qo]||null}function Qe(e){return e[cl]||null}function Ke(e){return e[dl]||null}function ct(e,t){const n=e[Yh]||null;if(!n&&!0===t)throw new Error(`Type ${se(e)} does not have '\u0275mod' property.`);return n}const G=11;function rt(e){return Array.isArray(e)&&"object"==typeof e[1]}function Rt(e){return Array.isArray(e)&&!0===e[1]}function pl(e){return 0!=(8&e.flags)}function Xo(e){return 2==(2&e.flags)}function es(e){return 1==(1&e.flags)}function Nt(e){return null!==e.template}function qb(e){return 0!=(256&e[2])}function ti(e,t){return e.hasOwnProperty(un)?e[un]:null}class Zb{constructor(t,n,i){this.previousValue=t,this.currentValue=n,this.firstChange=i}isFirstChange(){return this.firstChange}}function _t(){return sf}function sf(e){return e.type.prototype.ngOnChanges&&(e.setInput=Xb),Yb}function Yb(){const e=lf(this),t=e?.current;if(t){const n=e.previous;if(n===Di)e.previous=t;else for(let i in t)n[i]=t[i];e.current=null,this.ngOnChanges(t)}}function Xb(e,t,n,i){const r=lf(e)||function e_(e,t){return e[af]=t}(e,{previous:Di,current:null}),o=r.current||(r.current={}),s=r.previous,a=this.declaredInputs[n],l=s[a];o[a]=new Zb(l&&l.currentValue,t,s===Di),e[i]=t}_t.ngInherit=!0;const af="__ngSimpleChanges__";function lf(e){return e[af]||null}function Me(e){for(;Array.isArray(e);)e=e[0];return e}function ts(e,t){return Me(t[e])}function ht(e,t){return Me(t[e.index])}function vl(e,t){return e.data[t]}function ft(e,t){const n=t[e];return rt(n)?n:n[0]}function ns(e){return 64==(64&e[2])}function In(e,t){return null==t?null:e[t]}function uf(e){e[18]=0}function Al(e,t){e[5]+=t;let n=e,i=e[3];for(;null!==i&&(1===t&&1===n[5]||-1===t&&0===n[5]);)i[5]+=t,n=i,i=i[3]}const j={lFrame:vf(null),bindingsEnabled:!0};function df(){return j.bindingsEnabled}function w(){return j.lFrame.lView}function Z(){return j.lFrame.tView}function ni(e){return j.lFrame.contextLView=e,e[8]}function ii(e){return j.lFrame.contextLView=null,e}function xe(){let e=hf();for(;null!==e&&64===e.type;)e=e.parent;return e}function hf(){return j.lFrame.currentTNode}function qt(e,t){const n=j.lFrame;n.currentTNode=e,n.isParent=t}function bl(){return j.lFrame.isParent}function xi(){return j.lFrame.bindingIndex++}function dn(e){const t=j.lFrame,n=t.bindingIndex;return t.bindingIndex=t.bindingIndex+e,n}function g_(e,t){const n=j.lFrame;n.bindingIndex=n.bindingRootIndex=e,Dl(t)}function Dl(e){j.lFrame.currentDirectiveIndex=e}function Ml(e){j.lFrame.currentQueryIndex=e}function y_(e){const t=e[1];return 2===t.type?t.declTNode:1===t.type?e[6]:null}function yf(e,t,n){if(n&P.SkipSelf){let r=t,o=e;for(;!(r=r.parent,null!==r||n&P.Host||(r=y_(o),null===r||(o=o[15],10&r.type))););if(null===r)return!1;t=r,e=o}const i=j.lFrame=wf();return i.currentTNode=t,i.lView=e,!0}function El(e){const t=wf(),n=e[1];j.lFrame=t,t.currentTNode=n.firstChild,t.lView=e,t.tView=n,t.contextLView=e,t.bindingIndex=n.bindingStartIndex,t.inI18n=!1}function wf(){const e=j.lFrame,t=null===e?null:e.child;return null===t?vf(e):t}function vf(e){const t={currentTNode:null,isParent:!0,lView:null,tView:null,selectedIndex:-1,contextLView:null,elementDepthCount:0,currentNamespace:null,currentDirectiveIndex:-1,bindingRootIndex:-1,bindingIndex:-1,currentQueryIndex:0,parent:e,child:null,inI18n:!1};return null!==e&&(e.child=t),t}function Af(){const e=j.lFrame;return j.lFrame=e.parent,e.currentTNode=null,e.lView=null,e}const bf=Af;function Sl(){const e=Af();e.isParent=!0,e.tView=null,e.selectedIndex=-1,e.contextLView=null,e.elementDepthCount=0,e.currentDirectiveIndex=-1,e.currentNamespace=null,e.bindingRootIndex=-1,e.bindingIndex=-1,e.currentQueryIndex=0}function Ye(){return j.lFrame.selectedIndex}function kn(e){j.lFrame.selectedIndex=e}function ge(){const e=j.lFrame;return vl(e.tView,e.selectedIndex)}function is(e,t){for(let n=t.directiveStart,i=t.directiveEnd;n=i)break}else t[l]<0&&(e[18]+=65536),(a>11>16&&(3&e[2])===t){e[2]+=2048;try{o.call(a)}finally{}}}else try{o.call(a)}finally{}}class Ir{constructor(t,n,i){this.factory=t,this.resolving=!1,this.canSeeViewProviders=n,this.injectImpl=i}}function ss(e,t,n){let i=0;for(;it){s=o-1;break}}}for(;o>16}(e),i=t;for(;n>0;)i=i[15],n--;return i}let xl=!0;function ls(e){const t=xl;return xl=e,t}let P_=0;const Qt={};function xr(e,t){const n=Pl(e,t);if(-1!==n)return n;const i=t[1];i.firstCreatePass&&(e.injectorIndex=t.length,Tl(i.data,e),Tl(t,null),Tl(i.blueprint,null));const r=us(e,t),o=e.injectorIndex;if(Ef(r)){const s=Ti(r),a=Pi(r,t),l=a[1].data;for(let u=0;u<8;u++)t[o+u]=a[s+u]|l[s+u]}return t[o+8]=r,o}function Tl(e,t){e.push(0,0,0,0,0,0,0,0,t)}function Pl(e,t){return-1===e.injectorIndex||e.parent&&e.parent.injectorIndex===e.injectorIndex||null===t[e.injectorIndex+8]?-1:e.injectorIndex}function us(e,t){if(e.parent&&-1!==e.parent.injectorIndex)return e.parent.injectorIndex;let n=0,i=null,r=t;for(;null!==r;){if(i=Ff(r),null===i)return-1;if(n++,r=r[15],-1!==i.injectorIndex)return i.injectorIndex|n<<16}return-1}function cs(e,t,n){!function R_(e,t,n){let i;"string"==typeof n?i=n.charCodeAt(0)||0:n.hasOwnProperty(_r)&&(i=n[_r]),null==i&&(i=n[_r]=P_++);const r=255&i;t.data[e+(r>>5)]|=1<=0?255&t:O_:t}(n);if("function"==typeof o){if(!yf(t,e,i))return i&P.Host?kf(r,0,i):xf(t,n,i,r);try{const s=o(i);if(null!=s||i&P.Optional)return s;Wo()}finally{bf()}}else if("number"==typeof o){let s=null,a=Pl(e,t),l=-1,u=i&P.Host?t[16][6]:null;for((-1===a||i&P.SkipSelf)&&(l=-1===a?us(e,t):t[a+8],-1!==l&&Nf(i,!1)?(s=t[1],a=Ti(l),t=Pi(l,t)):a=-1);-1!==a;){const c=t[1];if(Rf(o,a,c.data)){const d=F_(a,t,n,s,i,u);if(d!==Qt)return d}l=t[a+8],-1!==l&&Nf(i,t[1].data[a+8]===u)&&Rf(o,a,t)?(s=c,a=Ti(l),t=Pi(l,t)):a=-1}}return r}function F_(e,t,n,i,r,o){const s=t[1],a=s.data[e+8],c=function ds(e,t,n,i,r){const o=e.providerIndexes,s=t.data,a=1048575&o,l=e.directiveStart,c=o>>20,h=r?a+c:e.directiveEnd;for(let f=i?a:a+c;f=l&&p.type===n)return f}if(r){const f=s[l];if(f&&Nt(f)&&f.type===n)return l}return null}(a,s,n,null==i?Xo(a)&&xl:i!=s&&0!=(3&a.type),r&P.Host&&o===a);return null!==c?Tr(t,s,c,a):Qt}function Tr(e,t,n,i){let r=e[n];const o=t.data;if(function S_(e){return e instanceof Ir}(r)){const s=r;s.resolving&&function Pb(e,t){const n=t?`. Dependency path: ${t.join(" > ")} > ${e}`:"";throw new D(-200,`Circular dependency in DI detected for ${e}${n}`)}(function X(e){return"function"==typeof e?e.name||e.toString():"object"==typeof e&&null!=e&&"function"==typeof e.type?e.type.name||e.type.toString():U(e)}(o[n]));const a=ls(s.canSeeViewProviders);s.resolving=!0;const l=s.injectImpl?At(s.injectImpl):null;yf(e,i,P.Default);try{r=e[n]=s.factory(void 0,o,e,i),t.firstCreatePass&&n>=i.directiveStart&&function M_(e,t,n){const{ngOnChanges:i,ngOnInit:r,ngDoCheck:o}=t.type.prototype;if(i){const s=sf(t);(n.preOrderHooks||(n.preOrderHooks=[])).push(e,s),(n.preOrderCheckHooks||(n.preOrderCheckHooks=[])).push(e,s)}r&&(n.preOrderHooks||(n.preOrderHooks=[])).push(0-e,r),o&&((n.preOrderHooks||(n.preOrderHooks=[])).push(e,o),(n.preOrderCheckHooks||(n.preOrderCheckHooks=[])).push(e,o))}(n,o[n],t)}finally{null!==l&&At(l),ls(a),s.resolving=!1,bf()}}return r}function Rf(e,t,n){return!!(n[t+(e>>5)]&1<{const t=e.prototype.constructor,n=t[un]||Rl(t),i=Object.prototype;let r=Object.getPrototypeOf(e.prototype).constructor;for(;r&&r!==i;){const o=r[un]||Rl(r);if(o&&o!==n)return o;r=Object.getPrototypeOf(r)}return o=>new o})}function Rl(e){return al(e)?()=>{const t=Rl(L(e));return t&&t()}:ti(e)}function Ff(e){const t=e[1],n=t.type;return 2===n?t.declTNode:1===n?e[6]:null}const Fi="__parameters__";function Oi(e,t,n){return Sn(()=>{const i=function Nl(e){return function(...n){if(e){const i=e(...n);for(const r in i)this[r]=i[r]}}}(t);function r(...o){if(this instanceof r)return i.apply(this,o),this;const s=new r(...o);return a.annotation=s,a;function a(l,u,c){const d=l.hasOwnProperty(Fi)?l[Fi]:Object.defineProperty(l,Fi,{value:[]})[Fi];for(;d.length<=c;)d.push(null);return(d[c]=d[c]||[]).push(s),l}}return n&&(r.prototype=Object.create(n.prototype)),r.prototype.ngMetadataName=e,r.annotationCls=r,r})}class R{constructor(t,n){this._desc=t,this.ngMetadataName="InjectionToken",this.\u0275prov=void 0,"number"==typeof n?this.__NG_ELEMENT_ID__=n:void 0!==n&&(this.\u0275prov=H({token:this,providedIn:n.providedIn||"root",factory:n.factory}))}get multi(){return this}toString(){return`InjectionToken ${this._desc}`}}function hn(e,t){e.forEach(n=>Array.isArray(n)?hn(n,t):t(n))}function Of(e,t,n){t>=e.length?e.push(n):e.splice(t,0,n)}function hs(e,t){return t>=e.length-1?e.pop():e.splice(t,1)[0]}function gt(e,t,n){let i=Vi(e,t);return i>=0?e[1|i]=n:(i=~i,function H_(e,t,n,i){let r=e.length;if(r==t)e.push(n,i);else if(1===r)e.push(i,e[0]),e[0]=n;else{for(r--,e.push(e[r-1],e[r]);r>t;)e[r]=e[r-2],r--;e[t]=n,e[t+1]=i}}(e,i,t,n)),i}function Ll(e,t){const n=Vi(e,t);if(n>=0)return e[1|n]}function Vi(e,t){return function Uf(e,t,n){let i=0,r=e.length>>n;for(;r!==i;){const o=i+(r-i>>1),s=e[o<t?r=o:i=o+1}return~(r<((ot=ot||{})[ot.Important=1]="Important",ot[ot.DashCase=2]="DashCase",ot))();const Gl=new Map;let yD=0;const Wl="__ngContext__";function Ge(e,t){rt(t)?(e[Wl]=t[20],function vD(e){Gl.set(e[20],e)}(t)):e[Wl]=t}function ql(e,t){return undefined(e,t)}function Gr(e){const t=e[3];return Rt(t)?t[3]:t}function Ql(e){return lp(e[13])}function Kl(e){return lp(e[4])}function lp(e){for(;null!==e&&!Rt(e);)e=e[4];return e}function Bi(e,t,n,i,r){if(null!=i){let o,s=!1;Rt(i)?o=i:rt(i)&&(s=!0,i=i[0]);const a=Me(i);0===e&&null!==n?null==r?pp(t,n,a):ri(t,n,a,r||null,!0):1===e&&null!==n?ri(t,n,a,r||null,!0):2===e?function iu(e,t,n){const i=ys(e,t);i&&function BD(e,t,n,i){e.removeChild(t,n,i)}(e,i,t,n)}(t,a,s):3===e&&t.destroyNode(a),null!=o&&function GD(e,t,n,i,r){const o=n[7];o!==Me(n)&&Bi(t,e,i,o,r);for(let a=10;a0&&(e[n-1][4]=i[4]);const o=hs(e,10+t);!function RD(e,t){zr(e,t,t[G],2,null,null),t[0]=null,t[6]=null}(i[1],i);const s=o[19];null!==s&&s.detachView(o[1]),i[3]=null,i[4]=null,i[2]&=-65}return i}function dp(e,t){if(!(128&t[2])){const n=t[G];n.destroyNode&&zr(e,t,n,3,null,null),function LD(e){let t=e[13];if(!t)return eu(e[1],e);for(;t;){let n=null;if(rt(t))n=t[13];else{const i=t[10];i&&(n=i)}if(!n){for(;t&&!t[4]&&t!==e;)rt(t)&&eu(t[1],t),t=t[3];null===t&&(t=e),rt(t)&&eu(t[1],t),n=t&&t[4]}t=n}}(t)}}function eu(e,t){if(!(128&t[2])){t[2]&=-65,t[2]|=128,function UD(e,t){let n;if(null!=e&&null!=(n=e.destroyHooks))for(let i=0;i=0?i[r=u]():i[r=-u].unsubscribe(),o+=2}else{const s=i[r=n[o+1]];n[o].call(s)}if(null!==i){for(let o=r+1;o((Ee=Ee||{})[Ee.NONE=0]="NONE",Ee[Ee.HTML=1]="HTML",Ee[Ee.STYLE=2]="STYLE",Ee[Ee.SCRIPT=3]="SCRIPT",Ee[Ee.URL=4]="URL",Ee[Ee.RESOURCE_URL=5]="RESOURCE_URL",Ee))();function je(e){const t=function qr(){const e=w();return e&&e[12]}();return t?t.sanitize(Ee.URL,e)||"":function Wr(e,t){const n=function tC(e){return e instanceof Sp&&e.getTypeName()||null}(e);if(null!=n&&n!==t){if("ResourceURL"===n&&"URL"===t)return!0;throw new Error(`Required a safe ${t}, got a ${n} (see https://g.co/ng/security#xss)`)}return n===t}(e,"URL")?Tn(e):function uu(e){return(e=String(e)).match(oC)?e:"unsafe:"+e}(U(e))}const fu=new R("ENVIRONMENT_INITIALIZER"),Fp=new R("INJECTOR",-1),Lp=new R("INJECTOR_DEF_TYPES");class Op{get(t,n=Lr){if(n===Lr){const i=new Error(`NullInjectorError: No provider for ${se(t)}!`);throw i.name="NullInjectorError",i}return n}}function vC(...e){return{\u0275providers:Vp(0,e)}}function Vp(e,...t){const n=[],i=new Set;let r;return hn(t,o=>{const s=o;pu(s,n,[],i)&&(r||(r=[]),r.push(s))}),void 0!==r&&jp(r,n),n}function jp(e,t){for(let n=0;n{t.push(o)})}}function pu(e,t,n,i){if(!(e=L(e)))return!1;let r=null,o=Qh(e);const s=!o&&ne(e);if(o||s){if(s&&!s.standalone)return!1;r=e}else{const l=e.ngModule;if(o=Qh(l),!o)return!1;r=l}const a=i.has(r);if(s){if(a)return!1;if(i.add(r),s.dependencies){const l="function"==typeof s.dependencies?s.dependencies():s.dependencies;for(const u of l)pu(u,t,n,i)}}else{if(!o)return!1;{if(null!=o.imports&&!a){let u;i.add(r);try{hn(o.imports,c=>{pu(c,t,n,i)&&(u||(u=[]),u.push(c))})}finally{}void 0!==u&&jp(u,t)}if(!a){const u=ti(r)||(()=>new r);t.push({provide:r,useFactory:u,deps:ee},{provide:Lp,useValue:r,multi:!0},{provide:fu,useValue:()=>x(r),multi:!0})}const l=o.providers;null==l||a||hn(l,c=>{t.push(c)})}}return r!==e&&void 0!==e.providers}const AC=oe({provide:String,useValue:oe});function gu(e){return null!==e&&"object"==typeof e&&AC in e}function si(e){return"function"==typeof e}const mu=new R("Set Injector scope."),Ds={},_C={};let yu;function Cs(){return void 0===yu&&(yu=new Op),yu}class Pn{}class Hp extends Pn{constructor(t,n,i,r){super(),this.parent=n,this.source=i,this.scopes=r,this.records=new Map,this._ngOnDestroyHooks=new Set,this._onDestroyHooks=[],this._destroyed=!1,vu(t,s=>this.processProvider(s)),this.records.set(Fp,Hi(void 0,this)),r.has("environment")&&this.records.set(Pn,Hi(void 0,this));const o=this.records.get(mu);null!=o&&"string"==typeof o.value&&this.scopes.add(o.value),this.injectorDefTypes=new Set(this.get(Lp.multi,ee,P.Self))}get destroyed(){return this._destroyed}destroy(){this.assertNotDestroyed(),this._destroyed=!0;try{for(const t of this._ngOnDestroyHooks)t.ngOnDestroy();for(const t of this._onDestroyHooks)t()}finally{this.records.clear(),this._ngOnDestroyHooks.clear(),this.injectorDefTypes.clear(),this._onDestroyHooks.length=0}}onDestroy(t){this._onDestroyHooks.push(t)}runInContext(t){this.assertNotDestroyed();const n=ji(this),i=At(void 0);try{return t()}finally{ji(n),At(i)}}get(t,n=Lr,i=P.Default){this.assertNotDestroyed();const r=ji(this),o=At(void 0);try{if(!(i&P.SkipSelf)){let a=this.records.get(t);if(void 0===a){const l=function SC(e){return"function"==typeof e||"object"==typeof e&&e instanceof R}(t)&&Jo(t);a=l&&this.injectableDefInScope(l)?Hi(wu(t),Ds):null,this.records.set(t,a)}if(null!=a)return this.hydrate(t,a)}return(i&P.Self?Cs():this.parent).get(t,n=i&P.Optional&&n===Lr?null:n)}catch(s){if("NullInjectorError"===s.name){if((s[ps]=s[ps]||[]).unshift(se(t)),r)throw s;return function eD(e,t,n,i){const r=e[ps];throw t[Bf]&&r.unshift(t[Bf]),e.message=function tD(e,t,n,i=null){e=e&&"\n"===e.charAt(0)&&"\u0275"==e.charAt(1)?e.slice(2):e;let r=se(t);if(Array.isArray(t))r=t.map(se).join(" -> ");else if("object"==typeof t){let o=[];for(let s in t)if(t.hasOwnProperty(s)){let a=t[s];o.push(s+":"+("string"==typeof a?JSON.stringify(a):se(a)))}r=`{${o.join(", ")}}`}return`${n}${i?"("+i+")":""}[${r}]: ${e.replace(K_,"\n ")}`}("\n"+e.message,r,n,i),e.ngTokenPath=r,e[ps]=null,e}(s,t,"R3InjectorError",this.source)}throw s}finally{At(o),ji(r)}}resolveInjectorInitializers(){const t=ji(this),n=At(void 0);try{const i=this.get(fu.multi,ee,P.Self);for(const r of i)r()}finally{ji(t),At(n)}}toString(){const t=[],n=this.records;for(const i of n.keys())t.push(se(i));return`R3Injector[${t.join(", ")}]`}assertNotDestroyed(){if(this._destroyed)throw new D(205,!1)}processProvider(t){let n=si(t=L(t))?t:L(t&&t.provide);const i=function CC(e){return gu(e)?Hi(void 0,e.useValue):Hi($p(e),Ds)}(t);if(si(t)||!0!==t.multi)this.records.get(n);else{let r=this.records.get(n);r||(r=Hi(void 0,Ds,!0),r.factory=()=>jl(r.multi),this.records.set(n,r)),n=t,r.multi.push(t)}this.records.set(n,i)}hydrate(t,n){return n.value===Ds&&(n.value=_C,n.value=n.factory()),"object"==typeof n.value&&n.value&&function EC(e){return null!==e&&"object"==typeof e&&"function"==typeof e.ngOnDestroy}(n.value)&&this._ngOnDestroyHooks.add(n.value),n.value}injectableDefInScope(t){if(!t.providedIn)return!1;const n=L(t.providedIn);return"string"==typeof n?"any"===n||this.scopes.has(n):this.injectorDefTypes.has(n)}}function wu(e){const t=Jo(e),n=null!==t?t.factory:ti(e);if(null!==n)return n;if(e instanceof R)throw new D(204,!1);if(e instanceof Function)return function DC(e){const t=e.length;if(t>0)throw function Fr(e,t){const n=[];for(let i=0;in.factory(e):()=>new e}(e);throw new D(204,!1)}function $p(e,t,n){let i;if(si(e)){const r=L(e);return ti(r)||wu(r)}if(gu(e))i=()=>L(e.useValue);else if(function Bp(e){return!(!e||!e.useFactory)}(e))i=()=>e.useFactory(...jl(e.deps||[]));else if(function Up(e){return!(!e||!e.useExisting)}(e))i=()=>x(L(e.useExisting));else{const r=L(e&&(e.useClass||e.provide));if(!function MC(e){return!!e.deps}(e))return ti(r)||wu(r);i=()=>new r(...jl(e.deps))}return i}function Hi(e,t,n=!1){return{factory:e,value:t,multi:n?[]:void 0}}function IC(e){return!!e.\u0275providers}function vu(e,t){for(const n of e)Array.isArray(n)?vu(n,t):IC(n)?vu(n.\u0275providers,t):t(n)}class Gp{}class TC{resolveComponentFactory(t){throw function xC(e){const t=Error(`No component factory found for ${se(e)}. Did you add it to @NgModule.entryComponents?`);return t.ngComponent=e,t}(t)}}let Qr=(()=>{class e{}return e.NULL=new TC,e})();function PC(){return $i(xe(),w())}function $i(e,t){return new mt(ht(e,t))}let mt=(()=>{class e{constructor(n){this.nativeElement=n}}return e.__NG_ELEMENT_ID__=PC,e})();class Wp{}let pn=(()=>{class e{}return e.__NG_ELEMENT_ID__=()=>function NC(){const e=w(),n=ft(xe().index,e);return(rt(n)?n:e)[G]}(),e})(),FC=(()=>{class e{}return e.\u0275prov=H({token:e,providedIn:"root",factory:()=>null}),e})();class Kr{constructor(t){this.full=t,this.major=t.split(".")[0],this.minor=t.split(".")[1],this.patch=t.split(".").slice(2).join(".")}}const LC=new Kr("14.2.12"),Au={};function _u(e){return e.ngOriginalError}class Gi{constructor(){this._console=console}handleError(t){const n=this._findOriginalError(t);this._console.error("ERROR",t),n&&this._console.error("ORIGINAL ERROR",n)}_findOriginalError(t){let n=t&&_u(t);for(;n&&_u(n);)n=_u(n);return n||null}}function gn(e){return e instanceof Function?e():e}function qp(e,t,n){let i=e.length;for(;;){const r=e.indexOf(t,n);if(-1===r)return r;if(0===r||e.charCodeAt(r-1)<=32){const o=t.length;if(r+o===i||e.charCodeAt(r+o)<=32)return r}n=r+1}}const Qp="ng-template";function JC(e,t,n){let i=0;for(;io?"":r[d+1].toLowerCase();const f=8&i?h:null;if(f&&-1!==qp(f,u,0)||2&i&&u!==h){if(Ft(i))return!1;s=!0}}}}else{if(!s&&!Ft(i)&&!Ft(l))return!1;if(s&&Ft(l))continue;s=!1,i=l|1&i}}return Ft(i)||s}function Ft(e){return 0==(1&e)}function KC(e,t,n,i){if(null===t)return-1;let r=0;if(i||!n){let o=!1;for(;r-1)for(n++;n0?'="'+a+'"':"")+"]"}else 8&i?r+="."+s:4&i&&(r+=" "+s);else""!==r&&!Ft(s)&&(t+=Yp(o,r),r=""),i=s,o=o||!Ft(i);n++}return""!==r&&(t+=Yp(o,r)),t}const B={};function N(e){Xp(Z(),w(),Ye()+e,!1)}function Xp(e,t,n,i){if(!i)if(3==(3&t[2])){const o=e.preOrderCheckHooks;null!==o&&rs(t,o,n)}else{const o=e.preOrderHooks;null!==o&&os(t,o,0,n)}kn(n)}function ig(e,t=null,n=null,i){const r=rg(e,t,n,i);return r.resolveInjectorInitializers(),r}function rg(e,t=null,n=null,i,r=new Set){const o=[n||ee,vC(e)];return i=i||("object"==typeof e?void 0:se(e)),new Hp(o,t||Cs(),i||null,r)}let Ct=(()=>{class e{static create(n,i){if(Array.isArray(n))return ig({name:""},i,n,"");{const r=n.name??"";return ig({name:r},n.parent,n.providers,r)}}}return e.THROW_IF_NOT_FOUND=Lr,e.NULL=new Op,e.\u0275prov=H({token:e,providedIn:"any",factory:()=>x(Fp)}),e.__NG_ELEMENT_ID__=-1,e})();function v(e,t=P.Default){const n=w();return null===n?x(e,t):Tf(xe(),n,L(e),t)}function Su(){throw new Error("invalid")}function Es(e,t){return e<<17|t<<2}function Lt(e){return e>>17&32767}function Iu(e){return 2|e}function mn(e){return(131068&e)>>2}function ku(e,t){return-131069&e|t<<2}function xu(e){return 1|e}function bg(e,t){const n=e.contentQueries;if(null!==n)for(let i=0;i22&&Xp(e,t,22,!1),n(i,r)}finally{kn(o)}}function Uu(e,t,n){!df()||(function HM(e,t,n,i){const r=n.directiveStart,o=n.directiveEnd;e.firstCreatePass||xr(n,t),Ge(i,t);const s=n.initialInputs;for(let a=r;a0;){const n=e[--t];if("number"==typeof n&&n<0)return n}return 0})(a)!=l&&a.push(l),a.push(i,r,s)}}function xg(e,t){null!==e.hostBindings&&e.hostBindings(1,t)}function Tg(e,t){t.flags|=2,(e.components||(e.components=[])).push(t.index)}function WM(e,t,n){if(n){if(t.exportAs)for(let i=0;i0&&zu(n)}}function zu(e){for(let i=Ql(e);null!==i;i=Kl(i))for(let r=10;r0&&zu(o)}const n=e[1].components;if(null!==n)for(let i=0;i0&&zu(r)}}function XM(e,t){const n=ft(t,e),i=n[1];(function eE(e,t){for(let n=t.length;n-1&&(Xl(t,i),hs(n,i))}this._attachedToViewContainer=!1}dp(this._lView[1],this._lView)}onDestroy(t){!function Mg(e,t,n,i){const r=Fg(t);null===n?r.push(i):(r.push(n),e.firstCreatePass&&Lg(e).push(i,r.length-1))}(this._lView[1],this._lView,null,t)}markForCheck(){Wu(this._cdRefInjectingView||this._lView)}detach(){this._lView[2]&=-65}reattach(){this._lView[2]|=64}detectChanges(){Ps(this._lView[1],this._lView,this.context)}checkNoChanges(){}attachToViewContainerRef(){if(this._appRef)throw new D(902,!1);this._attachedToViewContainer=!0}detachFromAppRef(){this._appRef=null,function FD(e,t){zr(e,t,t[G],2,null,null)}(this._lView[1],this._lView)}attachToAppRef(t){if(this._attachedToViewContainer)throw new D(902,!1);this._appRef=t}}class tE extends Zr{constructor(t){super(t),this._view=t}detectChanges(){const t=this._view;Ps(t[1],t,t[8],!1)}checkNoChanges(){}get context(){return null}}class Qu extends Qr{constructor(t){super(),this.ngModule=t}resolveComponentFactory(t){const n=ne(t);return new Yr(n,this.ngModule)}}function jg(e){const t=[];for(let n in e)e.hasOwnProperty(n)&&t.push({propName:e[n],templateName:n});return t}class iE{constructor(t,n){this.injector=t,this.parentInjector=n}get(t,n,i){const r=this.injector.get(t,Au,i);return r!==Au||n===Au?r:this.parentInjector.get(t,n,i)}}class Yr extends Gp{constructor(t,n){super(),this.componentDef=t,this.ngModule=n,this.componentType=t.type,this.selector=function nM(e){return e.map(tM).join(",")}(t.selectors),this.ngContentSelectors=t.ngContentSelectors?t.ngContentSelectors:[],this.isBoundToModule=!!n}get inputs(){return jg(this.componentDef.inputs)}get outputs(){return jg(this.componentDef.outputs)}create(t,n,i,r){let o=(r=r||this.ngModule)instanceof Pn?r:r?.injector;o&&null!==this.componentDef.getStandaloneInjector&&(o=this.componentDef.getStandaloneInjector(o)||o);const s=o?new iE(t,o):t,a=s.get(Wp,null);if(null===a)throw new D(407,!1);const l=s.get(FC,null),u=a.createRenderer(null,this.componentDef),c=this.componentDef.selectors[0][0]||"div",d=i?function LM(e,t,n){return e.selectRootElement(t,n===Wt.ShadowDom)}(u,i,this.componentDef.encapsulation):Yl(u,c,function nE(e){const t=e.toLowerCase();return"svg"===t?"svg":"math"===t?"math":null}(c)),h=this.componentDef.onPush?288:272,f=Hu(0,null,null,1,0,null,null,null,null,null),p=ks(null,f,null,h,null,null,a,u,l,s,null);let g,m;El(p);try{const A=function sE(e,t,n,i,r,o){const s=n[1];n[22]=e;const l=Ji(s,22,2,"#host",null),u=l.mergedAttrs=t.hostAttrs;null!==u&&(Rs(l,u,!0),null!==e&&(ss(r,e,u),null!==l.classes&&ou(r,e,l.classes),null!==l.styles&&_p(r,e,l.styles)));const c=i.createRenderer(e,t),d=ks(n,Cg(t),null,t.onPush?32:16,n[22],l,i,c,o||null,null,null);return s.firstCreatePass&&(cs(xr(l,n),s,t.type),Tg(s,l),Pg(l,n.length,1)),Ts(n,d),n[22]=d}(d,this.componentDef,p,a,u);if(d)if(i)ss(u,d,["ng-version",LC.full]);else{const{attrs:M,classes:y}=function iM(e){const t=[],n=[];let i=1,r=2;for(;i0&&ou(u,d,y.join(" "))}if(m=vl(f,22),void 0!==n){const M=m.projection=[];for(let y=0;y=0;i--){const r=e[i];r.hostVars=t+=r.hostVars,r.hostAttrs=as(r.hostAttrs,n=as(n,r.hostAttrs))}}(i)}function Ku(e){return e===Di?{}:e===ee?[]:e}function cE(e,t){const n=e.viewQuery;e.viewQuery=n?(i,r)=>{t(i,r),n(i,r)}:t}function dE(e,t){const n=e.contentQueries;e.contentQueries=n?(i,r,o)=>{t(i,r,o),n(i,r,o)}:t}function hE(e,t){const n=e.hostBindings;e.hostBindings=n?(i,r)=>{t(i,r),n(i,r)}:t}let Fs=null;function ai(){if(!Fs){const e=ue.Symbol;if(e&&e.iterator)Fs=e.iterator;else{const t=Object.getOwnPropertyNames(Map.prototype);for(let n=0;na(Me(Y[i.index])):i.index;let I=null;if(!a&&l&&(I=function ME(e,t,n,i){const r=e.cleanup;if(null!=r)for(let o=0;ol?a[l]:null}"string"==typeof s&&(o+=2)}return null}(e,t,r,i.index)),null!==I)(I.__ngLastListenerFn__||I).__ngNextListenerFn__=o,I.__ngLastListenerFn__=o,f=!1;else{o=tm(i,t,d,o,!1);const Y=n.listen(A,r,o);h.push(o,Y),c&&c.push(r,y,M,M+1)}}else o=tm(i,t,d,o,!1);const p=i.outputs;let g;if(f&&null!==p&&(g=p[r])){const m=g.length;if(m)for(let A=0;A0;)t=t[15],e--;return t}(e,j.lFrame.contextLView))[8]}(e)}function we(e,t,n){return wn(e,"",t,"",n),we}function wn(e,t,n,i,r){const o=w(),s=Ki(o,t,n,i);return s!==B&&yt(Z(),ge(),o,e,s,o[G],r,!1),wn}function cm(e,t,n,i,r){const o=e[n+1],s=null===t;let a=i?Lt(o):mn(o),l=!1;for(;0!==a&&(!1===l||s);){const c=e[a+1];TE(e[a],t)&&(l=!0,e[a+1]=i?xu(c):Iu(c)),a=i?Lt(c):mn(c)}l&&(e[n+1]=i?Iu(o):xu(o))}function TE(e,t){return null===e||null==t||(Array.isArray(e)?e[1]:e)===t||!(!Array.isArray(e)||"string"!=typeof t)&&Vi(e,t)>=0}function Os(e,t){return function Vt(e,t,n,i){const r=w(),o=Z(),s=dn(2);o.firstUpdatePass&&function vm(e,t,n,i){const r=e.data;if(null===r[n+1]){const o=r[Ye()],s=function wm(e,t){return t>=e.expandoStartIndex}(e,n);(function Dm(e,t){return 0!=(e.flags&(t?16:32))})(o,i)&&null===t&&!s&&(t=!1),t=function UE(e,t,n,i){const r=function Cl(e){const t=j.lFrame.currentDirectiveIndex;return-1===t?null:e[t]}(e);let o=i?t.residualClasses:t.residualStyles;if(null===r)0===(i?t.classBindings:t.styleBindings)&&(n=io(n=nc(null,e,t,n,i),t.attrs,i),o=null);else{const s=t.directiveStylingLast;if(-1===s||e[s]!==r)if(n=nc(r,e,t,n,i),null===o){let l=function BE(e,t,n){const i=n?t.classBindings:t.styleBindings;if(0!==mn(i))return e[Lt(i)]}(e,t,i);void 0!==l&&Array.isArray(l)&&(l=nc(null,e,t,l[1],i),l=io(l,t.attrs,i),function HE(e,t,n,i){e[Lt(n?t.classBindings:t.styleBindings)]=i}(e,t,i,l))}else o=function $E(e,t,n){let i;const r=t.directiveEnd;for(let o=1+t.directiveStylingLast;o0)&&(u=!0)}else c=n;if(r)if(0!==l){const h=Lt(e[a+1]);e[i+1]=Es(h,a),0!==h&&(e[h+1]=ku(e[h+1],i)),e[a+1]=function _M(e,t){return 131071&e|t<<17}(e[a+1],i)}else e[i+1]=Es(a,0),0!==a&&(e[a+1]=ku(e[a+1],i)),a=i;else e[i+1]=Es(l,0),0===a?a=i:e[l+1]=ku(e[l+1],i),l=i;u&&(e[i+1]=Iu(e[i+1])),cm(e,c,i,!0),cm(e,c,i,!1),function xE(e,t,n,i,r){const o=r?e.residualClasses:e.residualStyles;null!=o&&"string"==typeof t&&Vi(o,t)>=0&&(n[i+1]=xu(n[i+1]))}(t,c,e,i,o),s=Es(a,l),o?t.classBindings=s:t.styleBindings=s}(r,o,t,n,s,i)}}(o,e,s,i),t!==B&&ze(r,s,t)&&function bm(e,t,n,i,r,o,s,a){if(!(3&t.type))return;const l=e.data,u=l[a+1];Vs(function fg(e){return 1==(1&e)}(u)?_m(l,t,n,r,mn(u),s):void 0)||(Vs(o)||function hg(e){return 2==(2&e)}(u)&&(o=_m(l,null,n,r,a,s)),function zD(e,t,n,i,r){if(t)r?e.addClass(n,i):e.removeClass(n,i);else{let o=-1===i.indexOf("-")?void 0:ot.DashCase;null==r?e.removeStyle(n,i,o):("string"==typeof r&&r.endsWith("!important")&&(r=r.slice(0,-10),o|=ot.Important),e.setStyle(n,i,r,o))}}(i,s,ts(Ye(),n),r,o))}(o,o.data[Ye()],r,r[G],e,r[s+1]=function WE(e,t){return null==e||("string"==typeof t?e+=t:"object"==typeof e&&(e=se(Tn(e)))),e}(t,n),i,s)}(e,t,null,!0),Os}function nc(e,t,n,i,r){let o=null;const s=n.directiveEnd;let a=n.directiveStylingLast;for(-1===a?a=n.directiveStart:a++;a0;){const l=e[r],u=Array.isArray(l),c=u?l[1]:l,d=null===c;let h=n[r+1];h===B&&(h=d?ee:void 0);let f=d?Ll(h,i):c===i?h:void 0;if(u&&!Vs(f)&&(f=Ll(l,i)),Vs(f)&&(a=f,s))return a;const p=e[r+1];r=s?Lt(p):mn(p)}if(null!==t){let l=o?t.residualClasses:t.residualStyles;null!=l&&(a=Ll(l,i))}return a}function Vs(e){return void 0!==e}function C(e,t=""){const n=w(),i=Z(),r=e+22,o=i.firstCreatePass?Ji(i,r,1,t,null):i.data[r],s=n[r]=function Zl(e,t){return e.createText(t)}(n[G],t);ws(i,n,s,o),qt(o,!1)}function js(e){return wt("",e,""),js}function wt(e,t,n){const i=w(),r=Ki(i,e,t,n);return r!==B&&yn(i,Ye(),r),wt}function or(e,t,n,i,r){const o=w(),s=Zi(o,e,t,n,i,r);return s!==B&&yn(o,Ye(),s),or}const ci=void 0;var hS=["en",[["a","p"],["AM","PM"],ci],[["AM","PM"],ci,ci],[["S","M","T","W","T","F","S"],["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],["Su","Mo","Tu","We","Th","Fr","Sa"]],ci,[["J","F","M","A","M","J","J","A","S","O","N","D"],["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],["January","February","March","April","May","June","July","August","September","October","November","December"]],ci,[["B","A"],["BC","AD"],["Before Christ","Anno Domini"]],0,[6,0],["M/d/yy","MMM d, y","MMMM d, y","EEEE, MMMM d, y"],["h:mm a","h:mm:ss a","h:mm:ss a z","h:mm:ss a zzzz"],["{1}, {0}",ci,"{1} 'at' {0}",ci],[".",",",";","%","+","-","E","\xd7","\u2030","\u221e","NaN",":"],["#,##0.###","#,##0%","\xa4#,##0.00","#E0"],"USD","$","US Dollar",{},"ltr",function dS(e){const n=Math.floor(Math.abs(e)),i=e.toString().replace(/^[^.]*\.?/,"").length;return 1===n&&0===i?1:5}];let sr={};function et(e){const t=function fS(e){return e.toLowerCase().replace(/_/g,"-")}(e);let n=$m(t);if(n)return n;const i=t.split("-")[0];if(n=$m(i),n)return n;if("en"===i)return hS;throw new D(701,!1)}function $m(e){return e in sr||(sr[e]=ue.ng&&ue.ng.common&&ue.ng.common.locales&&ue.ng.common.locales[e]),sr[e]}var S=(()=>((S=S||{})[S.LocaleId=0]="LocaleId",S[S.DayPeriodsFormat=1]="DayPeriodsFormat",S[S.DayPeriodsStandalone=2]="DayPeriodsStandalone",S[S.DaysFormat=3]="DaysFormat",S[S.DaysStandalone=4]="DaysStandalone",S[S.MonthsFormat=5]="MonthsFormat",S[S.MonthsStandalone=6]="MonthsStandalone",S[S.Eras=7]="Eras",S[S.FirstDayOfWeek=8]="FirstDayOfWeek",S[S.WeekendRange=9]="WeekendRange",S[S.DateFormat=10]="DateFormat",S[S.TimeFormat=11]="TimeFormat",S[S.DateTimeFormat=12]="DateTimeFormat",S[S.NumberSymbols=13]="NumberSymbols",S[S.NumberFormats=14]="NumberFormats",S[S.CurrencyCode=15]="CurrencyCode",S[S.CurrencySymbol=16]="CurrencySymbol",S[S.CurrencyName=17]="CurrencyName",S[S.Currencies=18]="Currencies",S[S.Directionality=19]="Directionality",S[S.PluralCase=20]="PluralCase",S[S.ExtraData=21]="ExtraData",S))();const ar="en-US";let Gm=ar;function oc(e,t,n,i,r){if(e=L(e),Array.isArray(e))for(let o=0;o>20;if(si(e)||!e.multi){const f=new Ir(l,r,v),p=ac(a,t,r?c:c+h,d);-1===p?(cs(xr(u,s),o,a),sc(o,e,t.length),t.push(a),u.directiveStart++,u.directiveEnd++,r&&(u.providerIndexes+=1048576),n.push(f),s.push(f)):(n[p]=f,s[p]=f)}else{const f=ac(a,t,c+h,d),p=ac(a,t,c,c+h),g=f>=0&&n[f],m=p>=0&&n[p];if(r&&!m||!r&&!g){cs(xr(u,s),o,a);const A=function c1(e,t,n,i,r){const o=new Ir(e,n,v);return o.multi=[],o.index=t,o.componentProviders=0,gy(o,r,i&&!n),o}(r?u1:l1,n.length,r,i,l);!r&&m&&(n[p].providerFactory=A),sc(o,e,t.length,0),t.push(a),u.directiveStart++,u.directiveEnd++,r&&(u.providerIndexes+=1048576),n.push(A),s.push(A)}else sc(o,e,f>-1?f:p,gy(n[r?p:f],l,!r&&i));!r&&i&&m&&n[p].componentProviders++}}}function sc(e,t,n,i){const r=si(t),o=function bC(e){return!!e.useClass}(t);if(r||o){const l=(o?L(t.useClass):t).prototype.ngOnDestroy;if(l){const u=e.destroyHooks||(e.destroyHooks=[]);if(!r&&t.multi){const c=u.indexOf(n);-1===c?u.push(n,[i,l]):u[c+1].push(i,l)}else u.push(n,l)}}}function gy(e,t,n){return n&&e.componentProviders++,e.multi.push(t)-1}function ac(e,t,n,i){for(let r=n;r{n.providersResolver=(i,r)=>function a1(e,t,n){const i=Z();if(i.firstCreatePass){const r=Nt(e);oc(n,i.data,i.blueprint,r,!0),oc(t,i.data,i.blueprint,r,!1)}}(i,r?r(e):e,t)}}class di{}class my{}class yy extends di{constructor(t,n){super(),this._parent=n,this._bootstrapComponents=[],this.destroyCbs=[],this.componentFactoryResolver=new Qu(this);const i=ct(t);this._bootstrapComponents=gn(i.bootstrap),this._r3Injector=rg(t,n,[{provide:di,useValue:this},{provide:Qr,useValue:this.componentFactoryResolver}],se(t),new Set(["environment"])),this._r3Injector.resolveInjectorInitializers(),this.instance=this._r3Injector.get(t)}get injector(){return this._r3Injector}destroy(){const t=this._r3Injector;!t.destroyed&&t.destroy(),this.destroyCbs.forEach(n=>n()),this.destroyCbs=null}onDestroy(t){this.destroyCbs.push(t)}}class uc extends my{constructor(t){super(),this.moduleType=t}create(t){return new yy(this.moduleType,t)}}class h1 extends di{constructor(t,n,i){super(),this.componentFactoryResolver=new Qu(this),this.instance=null;const r=new Hp([...t,{provide:di,useValue:this},{provide:Qr,useValue:this.componentFactoryResolver}],n||Cs(),i,new Set(["environment"]));this.injector=r,r.resolveInjectorInitializers()}destroy(){this.injector.destroy()}onDestroy(t){this.injector.onDestroy(t)}}function Gs(e,t,n=null){return new h1(e,t,n).injector}let f1=(()=>{class e{constructor(n){this._injector=n,this.cachedInjectors=new Map}getOrCreateStandaloneInjector(n){if(!n.standalone)return null;if(!this.cachedInjectors.has(n.id)){const i=Vp(0,n.type),r=i.length>0?Gs([i],this._injector,`Standalone[${n.type.name}]`):null;this.cachedInjectors.set(n.id,r)}return this.cachedInjectors.get(n.id)}ngOnDestroy(){try{for(const n of this.cachedInjectors.values())null!==n&&n.destroy()}finally{this.cachedInjectors.clear()}}}return e.\u0275prov=H({token:e,providedIn:"environment",factory:()=>new e(x(Pn))}),e})();function wy(e){e.getStandaloneInjector=t=>t.get(f1).getOrCreateStandaloneInjector(e)}function My(e,t,n,i,r,o){const s=t+n;return ze(e,s,r)?function Zt(e,t,n){return e[t]=n}(e,s+1,o?i.call(o,r):i(r)):function uo(e,t){const n=e[t];return n===B?void 0:n}(e,s+1)}function co(e,t){const n=Z();let i;const r=e+22;n.firstCreatePass?(i=function P1(e,t){if(t)for(let n=t.length-1;n>=0;n--){const i=t[n];if(e===i.name)return i}}(t,n.pipeRegistry),n.data[r]=i,i.onDestroy&&(n.destroyHooks||(n.destroyHooks=[])).push(r,i.onDestroy)):i=n.data[r];const o=i.factory||(i.factory=ti(i.type)),s=At(v);try{const a=ls(!1),l=o();return ls(a),function bE(e,t,n,i){n>=e.data.length&&(e.data[n]=null,e.blueprint[n]=null),t[n]=i}(n,w(),r,l),l}finally{At(s)}}function ho(e,t,n){const i=e+22,r=w(),o=function ki(e,t){return e[t]}(r,i);return function fo(e,t){return e[1].data[t].pure}(r,i)?My(r,function Ze(){const e=j.lFrame;let t=e.bindingRootIndex;return-1===t&&(t=e.bindingRootIndex=e.tView.bindingStartIndex),t}(),t,o.transform,n,o):o.transform(n)}function dc(e){return t=>{setTimeout(e,void 0,t)}}const Ae=class O1 extends zt{constructor(t=!1){super(),this.__isAsync=t}emit(t){super.next(t)}subscribe(t,n,i){let r=t,o=n||(()=>null),s=i;if(t&&"object"==typeof t){const l=t;r=l.next?.bind(l),o=l.error?.bind(l),s=l.complete?.bind(l)}this.__isAsync&&(o=dc(o),r&&(r=dc(r)),s&&(s=dc(s)));const a=super.subscribe({next:r,error:o,complete:s});return t instanceof vt&&t.add(a),a}};let vn=(()=>{class e{}return e.__NG_ELEMENT_ID__=B1,e})();const j1=vn,U1=class extends j1{constructor(t,n,i){super(),this._declarationLView=t,this._declarationTContainer=n,this.elementRef=i}createEmbeddedView(t,n){const i=this._declarationTContainer.tViews,r=ks(this._declarationLView,i,t,16,null,i.declTNode,null,null,null,null,n||null);r[17]=this._declarationLView[this._declarationTContainer.index];const s=this._declarationLView[19];return null!==s&&(r[19]=s.createEmbeddedView(i)),ju(i,r,t),new Zr(r)}};function B1(){return function zs(e,t){return 4&e.type?new U1(t,e,$i(e,t)):null}(xe(),w())}let Ut=(()=>{class e{}return e.__NG_ELEMENT_ID__=H1,e})();function H1(){return function Py(e,t){let n;const i=t[e.index];if(Rt(i))n=i;else{let r;if(8&e.type)r=Me(i);else{const o=t[G];r=o.createComment("");const s=ht(e,t);ri(o,ys(o,s),r,function HD(e,t){return e.nextSibling(t)}(o,s),!1)}t[e.index]=n=Ng(i,t,r,e),Ts(t,n)}return new xy(n,e,t)}(xe(),w())}const $1=Ut,xy=class extends $1{constructor(t,n,i){super(),this._lContainer=t,this._hostTNode=n,this._hostLView=i}get element(){return $i(this._hostTNode,this._hostLView)}get injector(){return new Ri(this._hostTNode,this._hostLView)}get parentInjector(){const t=us(this._hostTNode,this._hostLView);if(Ef(t)){const n=Pi(t,this._hostLView),i=Ti(t);return new Ri(n[1].data[i+8],n)}return new Ri(null,this._hostLView)}clear(){for(;this.length>0;)this.remove(this.length-1)}get(t){const n=Ty(this._lContainer);return null!==n&&n[t]||null}get length(){return this._lContainer.length-10}createEmbeddedView(t,n,i){let r,o;"number"==typeof i?r=i:null!=i&&(r=i.index,o=i.injector);const s=t.createEmbeddedView(n||{},o);return this.insert(s,r),s}createComponent(t,n,i,r,o){const s=t&&!function Nr(e){return"function"==typeof e}(t);let a;if(s)a=n;else{const d=n||{};a=d.index,i=d.injector,r=d.projectableNodes,o=d.environmentInjector||d.ngModuleRef}const l=s?t:new Yr(ne(t)),u=i||this.parentInjector;if(!o&&null==l.ngModule){const h=(s?u:this.parentInjector).get(Pn,null);h&&(o=h)}const c=l.create(u,r,void 0,o);return this.insert(c.hostView,a),c}insert(t,n){const i=t._lView,r=i[1];if(function a_(e){return Rt(e[3])}(i)){const c=this.indexOf(t);if(-1!==c)this.detach(c);else{const d=i[3],h=new xy(d,d[6],d[3]);h.detach(h.indexOf(t))}}const o=this._adjustIndex(n),s=this._lContainer;!function OD(e,t,n,i){const r=10+i,o=n.length;i>0&&(n[r-1][4]=t),i{class e{constructor(n){this.appInits=n,this.resolve=Js,this.reject=Js,this.initialized=!1,this.done=!1,this.donePromise=new Promise((i,r)=>{this.resolve=i,this.reject=r})}runInitializers(){if(this.initialized)return;const n=[],i=()=>{this.done=!0,this.resolve()};if(this.appInits)for(let r=0;r{o.subscribe({complete:a,error:l})});n.push(s)}}Promise.all(n).then(()=>{i()}).catch(r=>{this.reject(r)}),0===n.length&&i(),this.initialized=!0}}return e.\u0275fac=function(n){return new(n||e)(x(qs,8))},e.\u0275prov=H({token:e,factory:e.\u0275fac,providedIn:"root"}),e})();const go=new R("AppId",{providedIn:"root",factory:function nw(){return`${Ec()}${Ec()}${Ec()}`}});function Ec(){return String.fromCharCode(97+Math.floor(25*Math.random()))}const iw=new R("Platform Initializer"),rw=new R("Platform ID",{providedIn:"platform",factory:()=>"unknown"}),ow=new R("appBootstrapListener");let vI=(()=>{class e{log(n){console.log(n)}warn(n){console.warn(n)}}return e.\u0275fac=function(n){return new(n||e)},e.\u0275prov=H({token:e,factory:e.\u0275fac,providedIn:"platform"}),e})();const An=new R("LocaleId",{providedIn:"root",factory:()=>be(An,P.Optional|P.SkipSelf)||function AI(){return typeof $localize<"u"&&$localize.locale||ar}()});class _I{constructor(t,n){this.ngModuleFactory=t,this.componentFactories=n}}let Sc=(()=>{class e{compileModuleSync(n){return new uc(n)}compileModuleAsync(n){return Promise.resolve(this.compileModuleSync(n))}compileModuleAndAllComponentsSync(n){const i=this.compileModuleSync(n),o=gn(ct(n).declarations).reduce((s,a)=>{const l=ne(a);return l&&s.push(new Yr(l)),s},[]);return new _I(i,o)}compileModuleAndAllComponentsAsync(n){return Promise.resolve(this.compileModuleAndAllComponentsSync(n))}clearCache(){}clearCacheFor(n){}getModuleId(n){}}return e.\u0275fac=function(n){return new(n||e)},e.\u0275prov=H({token:e,factory:e.\u0275fac,providedIn:"root"}),e})();const MI=(()=>Promise.resolve(0))();function Ic(e){typeof Zone>"u"?MI.then(()=>{e&&e.apply(null,null)}):Zone.current.scheduleMicroTask("scheduleMicrotask",e)}class Re{constructor({enableLongStackTrace:t=!1,shouldCoalesceEventChangeDetection:n=!1,shouldCoalesceRunChangeDetection:i=!1}){if(this.hasPendingMacrotasks=!1,this.hasPendingMicrotasks=!1,this.isStable=!0,this.onUnstable=new Ae(!1),this.onMicrotaskEmpty=new Ae(!1),this.onStable=new Ae(!1),this.onError=new Ae(!1),typeof Zone>"u")throw new D(908,!1);Zone.assertZonePatched();const r=this;if(r._nesting=0,r._outer=r._inner=Zone.current,Zone.AsyncStackTaggingZoneSpec){const o=Zone.AsyncStackTaggingZoneSpec;r._inner=r._inner.fork(new o("Angular"))}Zone.TaskTrackingZoneSpec&&(r._inner=r._inner.fork(new Zone.TaskTrackingZoneSpec)),t&&Zone.longStackTraceZoneSpec&&(r._inner=r._inner.fork(Zone.longStackTraceZoneSpec)),r.shouldCoalesceEventChangeDetection=!i&&n,r.shouldCoalesceRunChangeDetection=i,r.lastRequestAnimationFrameId=-1,r.nativeRequestAnimationFrame=function EI(){let e=ue.requestAnimationFrame,t=ue.cancelAnimationFrame;if(typeof Zone<"u"&&e&&t){const n=e[Zone.__symbol__("OriginalDelegate")];n&&(e=n);const i=t[Zone.__symbol__("OriginalDelegate")];i&&(t=i)}return{nativeRequestAnimationFrame:e,nativeCancelAnimationFrame:t}}().nativeRequestAnimationFrame,function kI(e){const t=()=>{!function II(e){e.isCheckStableRunning||-1!==e.lastRequestAnimationFrameId||(e.lastRequestAnimationFrameId=e.nativeRequestAnimationFrame.call(ue,()=>{e.fakeTopEventTask||(e.fakeTopEventTask=Zone.root.scheduleEventTask("fakeTopEventTask",()=>{e.lastRequestAnimationFrameId=-1,xc(e),e.isCheckStableRunning=!0,kc(e),e.isCheckStableRunning=!1},void 0,()=>{},()=>{})),e.fakeTopEventTask.invoke()}),xc(e))}(e)};e._inner=e._inner.fork({name:"angular",properties:{isAngularZone:!0},onInvokeTask:(n,i,r,o,s,a)=>{try{return lw(e),n.invokeTask(r,o,s,a)}finally{(e.shouldCoalesceEventChangeDetection&&"eventTask"===o.type||e.shouldCoalesceRunChangeDetection)&&t(),uw(e)}},onInvoke:(n,i,r,o,s,a,l)=>{try{return lw(e),n.invoke(r,o,s,a,l)}finally{e.shouldCoalesceRunChangeDetection&&t(),uw(e)}},onHasTask:(n,i,r,o)=>{n.hasTask(r,o),i===r&&("microTask"==o.change?(e._hasPendingMicrotasks=o.microTask,xc(e),kc(e)):"macroTask"==o.change&&(e.hasPendingMacrotasks=o.macroTask))},onHandleError:(n,i,r,o)=>(n.handleError(r,o),e.runOutsideAngular(()=>e.onError.emit(o)),!1)})}(r)}static isInAngularZone(){return typeof Zone<"u"&&!0===Zone.current.get("isAngularZone")}static assertInAngularZone(){if(!Re.isInAngularZone())throw new D(909,!1)}static assertNotInAngularZone(){if(Re.isInAngularZone())throw new D(909,!1)}run(t,n,i){return this._inner.run(t,n,i)}runTask(t,n,i,r){const o=this._inner,s=o.scheduleEventTask("NgZoneEvent: "+r,t,SI,Js,Js);try{return o.runTask(s,n,i)}finally{o.cancelTask(s)}}runGuarded(t,n,i){return this._inner.runGuarded(t,n,i)}runOutsideAngular(t){return this._outer.run(t)}}const SI={};function kc(e){if(0==e._nesting&&!e.hasPendingMicrotasks&&!e.isStable)try{e._nesting++,e.onMicrotaskEmpty.emit(null)}finally{if(e._nesting--,!e.hasPendingMicrotasks)try{e.runOutsideAngular(()=>e.onStable.emit(null))}finally{e.isStable=!0}}}function xc(e){e.hasPendingMicrotasks=!!(e._hasPendingMicrotasks||(e.shouldCoalesceEventChangeDetection||e.shouldCoalesceRunChangeDetection)&&-1!==e.lastRequestAnimationFrameId)}function lw(e){e._nesting++,e.isStable&&(e.isStable=!1,e.onUnstable.emit(null))}function uw(e){e._nesting--,kc(e)}class xI{constructor(){this.hasPendingMicrotasks=!1,this.hasPendingMacrotasks=!1,this.isStable=!0,this.onUnstable=new Ae,this.onMicrotaskEmpty=new Ae,this.onStable=new Ae,this.onError=new Ae}run(t,n,i){return t.apply(n,i)}runGuarded(t,n,i){return t.apply(n,i)}runOutsideAngular(t){return t()}runTask(t,n,i,r){return t.apply(n,i)}}const cw=new R(""),Ks=new R("");let Rc,Tc=(()=>{class e{constructor(n,i,r){this._ngZone=n,this.registry=i,this._pendingCount=0,this._isZoneStable=!0,this._didWork=!1,this._callbacks=[],this.taskTrackingZone=null,Rc||(function TI(e){Rc=e}(r),r.addToWindow(i)),this._watchAngularEvents(),n.run(()=>{this.taskTrackingZone=typeof Zone>"u"?null:Zone.current.get("TaskTrackingZone")})}_watchAngularEvents(){this._ngZone.onUnstable.subscribe({next:()=>{this._didWork=!0,this._isZoneStable=!1}}),this._ngZone.runOutsideAngular(()=>{this._ngZone.onStable.subscribe({next:()=>{Re.assertNotInAngularZone(),Ic(()=>{this._isZoneStable=!0,this._runCallbacksIfReady()})}})})}increasePendingRequestCount(){return this._pendingCount+=1,this._didWork=!0,this._pendingCount}decreasePendingRequestCount(){if(this._pendingCount-=1,this._pendingCount<0)throw new Error("pending async requests below zero");return this._runCallbacksIfReady(),this._pendingCount}isStable(){return this._isZoneStable&&0===this._pendingCount&&!this._ngZone.hasPendingMacrotasks}_runCallbacksIfReady(){if(this.isStable())Ic(()=>{for(;0!==this._callbacks.length;){let n=this._callbacks.pop();clearTimeout(n.timeoutId),n.doneCb(this._didWork)}this._didWork=!1});else{let n=this.getPendingTasks();this._callbacks=this._callbacks.filter(i=>!i.updateCb||!i.updateCb(n)||(clearTimeout(i.timeoutId),!1)),this._didWork=!0}}getPendingTasks(){return this.taskTrackingZone?this.taskTrackingZone.macroTasks.map(n=>({source:n.source,creationLocation:n.creationLocation,data:n.data})):[]}addCallback(n,i,r){let o=-1;i&&i>0&&(o=setTimeout(()=>{this._callbacks=this._callbacks.filter(s=>s.timeoutId!==o),n(this._didWork,this.getPendingTasks())},i)),this._callbacks.push({doneCb:n,timeoutId:o,updateCb:r})}whenStable(n,i,r){if(r&&!this.taskTrackingZone)throw new Error('Task tracking zone is required when passing an update callback to whenStable(). Is "zone.js/plugins/task-tracking" loaded?');this.addCallback(n,i,r),this._runCallbacksIfReady()}getPendingRequestCount(){return this._pendingCount}registerApplication(n){this.registry.registerApplication(n,this)}unregisterApplication(n){this.registry.unregisterApplication(n)}findProviders(n,i,r){return[]}}return e.\u0275fac=function(n){return new(n||e)(x(Re),x(Pc),x(Ks))},e.\u0275prov=H({token:e,factory:e.\u0275fac}),e})(),Pc=(()=>{class e{constructor(){this._applications=new Map}registerApplication(n,i){this._applications.set(n,i)}unregisterApplication(n){this._applications.delete(n)}unregisterAllApplications(){this._applications.clear()}getTestability(n){return this._applications.get(n)||null}getAllTestabilities(){return Array.from(this._applications.values())}getAllRootElements(){return Array.from(this._applications.keys())}findTestabilityInTree(n,i=!0){return Rc?.findTestabilityInTree(this,n,i)??null}}return e.\u0275fac=function(n){return new(n||e)},e.\u0275prov=H({token:e,factory:e.\u0275fac,providedIn:"platform"}),e})(),Fn=null;const dw=new R("AllowMultipleToken"),Nc=new R("PlatformDestroyListeners");class hw{constructor(t,n){this.name=t,this.token=n}}function pw(e,t,n=[]){const i=`Platform: ${t}`,r=new R(i);return(o=[])=>{let s=Fc();if(!s||s.injector.get(dw,!1)){const a=[...n,...o,{provide:r,useValue:!0}];e?e(a):function NI(e){if(Fn&&!Fn.get(dw,!1))throw new D(400,!1);Fn=e;const t=e.get(mw);(function fw(e){const t=e.get(iw,null);t&&t.forEach(n=>n())})(e)}(function gw(e=[],t){return Ct.create({name:t,providers:[{provide:mu,useValue:"platform"},{provide:Nc,useValue:new Set([()=>Fn=null])},...e]})}(a,i))}return function LI(e){const t=Fc();if(!t)throw new D(401,!1);return t}()}}function Fc(){return Fn?.get(mw)??null}let mw=(()=>{class e{constructor(n){this._injector=n,this._modules=[],this._destroyListeners=[],this._destroyed=!1}bootstrapModuleFactory(n,i){const r=function ww(e,t){let n;return n="noop"===e?new xI:("zone.js"===e?void 0:e)||new Re(t),n}(i?.ngZone,function yw(e){return{enableLongStackTrace:!1,shouldCoalesceEventChangeDetection:!(!e||!e.ngZoneEventCoalescing)||!1,shouldCoalesceRunChangeDetection:!(!e||!e.ngZoneRunCoalescing)||!1}}(i)),o=[{provide:Re,useValue:r}];return r.run(()=>{const s=Ct.create({providers:o,parent:this.injector,name:n.moduleType.name}),a=n.create(s),l=a.injector.get(Gi,null);if(!l)throw new D(402,!1);return r.runOutsideAngular(()=>{const u=r.onError.subscribe({next:c=>{l.handleError(c)}});a.onDestroy(()=>{Ys(this._modules,a),u.unsubscribe()})}),function vw(e,t,n){try{const i=n();return no(i)?i.catch(r=>{throw t.runOutsideAngular(()=>e.handleError(r)),r}):i}catch(i){throw t.runOutsideAngular(()=>e.handleError(i)),i}}(l,r,()=>{const u=a.injector.get(Qs);return u.runInitializers(),u.donePromise.then(()=>(function zm(e){ut(e,"Expected localeId to be defined"),"string"==typeof e&&(Gm=e.toLowerCase().replace(/_/g,"-"))}(a.injector.get(An,ar)||ar),this._moduleDoBootstrap(a),a))})})}bootstrapModule(n,i=[]){const r=Aw({},i);return function PI(e,t,n){const i=new uc(n);return Promise.resolve(i)}(0,0,n).then(o=>this.bootstrapModuleFactory(o,r))}_moduleDoBootstrap(n){const i=n.injector.get(Zs);if(n._bootstrapComponents.length>0)n._bootstrapComponents.forEach(r=>i.bootstrap(r));else{if(!n.instance.ngDoBootstrap)throw new D(403,!1);n.instance.ngDoBootstrap(i)}this._modules.push(n)}onDestroy(n){this._destroyListeners.push(n)}get injector(){return this._injector}destroy(){if(this._destroyed)throw new D(404,!1);this._modules.slice().forEach(i=>i.destroy()),this._destroyListeners.forEach(i=>i());const n=this._injector.get(Nc,null);n&&(n.forEach(i=>i()),n.clear()),this._destroyed=!0}get destroyed(){return this._destroyed}}return e.\u0275fac=function(n){return new(n||e)(x(Ct))},e.\u0275prov=H({token:e,factory:e.\u0275fac,providedIn:"platform"}),e})();function Aw(e,t){return Array.isArray(t)?t.reduce(Aw,e):{...e,...t}}let Zs=(()=>{class e{constructor(n,i,r){this._zone=n,this._injector=i,this._exceptionHandler=r,this._bootstrapListeners=[],this._views=[],this._runningTick=!1,this._stable=!0,this._destroyed=!1,this._destroyListeners=[],this.componentTypes=[],this.components=[],this._onMicrotaskEmptySubscription=this._zone.onMicrotaskEmpty.subscribe({next:()=>{this._zone.run(()=>{this.tick()})}});const o=new De(a=>{this._stable=this._zone.isStable&&!this._zone.hasPendingMacrotasks&&!this._zone.hasPendingMicrotasks,this._zone.runOutsideAngular(()=>{a.next(this._stable),a.complete()})}),s=new De(a=>{let l;this._zone.runOutsideAngular(()=>{l=this._zone.onStable.subscribe(()=>{Re.assertNotInAngularZone(),Ic(()=>{!this._stable&&!this._zone.hasPendingMacrotasks&&!this._zone.hasPendingMicrotasks&&(this._stable=!0,a.next(!0))})})});const u=this._zone.onUnstable.subscribe(()=>{Re.assertInAngularZone(),this._stable&&(this._stable=!1,this._zone.runOutsideAngular(()=>{a.next(!1)}))});return()=>{l.unsubscribe(),u.unsubscribe()}});this.isStable=function kb(...e){const t=br(e),n=function _b(e,t){return"number"==typeof il(e)?e.pop():t}(e,1/0),i=e;return i.length?1===i.length?kt(i[0]):_i(n)(Ce(i,t)):an}(o,s.pipe(function xb(e={}){const{connector:t=(()=>new zt),resetOnError:n=!0,resetOnComplete:i=!0,resetOnRefCountZero:r=!0}=e;return o=>{let s,a,l,u=0,c=!1,d=!1;const h=()=>{a?.unsubscribe(),a=void 0},f=()=>{h(),s=l=void 0,c=d=!1},p=()=>{const g=s;f(),g?.unsubscribe()};return Fe((g,m)=>{u++,!d&&!c&&h();const A=l=l??t();m.add(()=>{u--,0===u&&!d&&!c&&(a=rl(p,r))}),A.subscribe(m),!s&&u>0&&(s=new Ar({next:M=>A.next(M),error:M=>{d=!0,h(),a=rl(f,n,M),A.error(M)},complete:()=>{c=!0,h(),a=rl(f,i),A.complete()}}),kt(g).subscribe(s))})(o)}}()))}get destroyed(){return this._destroyed}get injector(){return this._injector}bootstrap(n,i){const r=n instanceof Gp;if(!this._injector.get(Qs).done)throw!r&&function Mi(e){const t=ne(e)||Qe(e)||Ke(e);return null!==t&&t.standalone}(n),new D(405,false);let s;s=r?n:this._injector.get(Qr).resolveComponentFactory(n),this.componentTypes.push(s.componentType);const a=function RI(e){return e.isBoundToModule}(s)?void 0:this._injector.get(di),u=s.create(Ct.NULL,[],i||s.selector,a),c=u.location.nativeElement,d=u.injector.get(cw,null);return d?.registerApplication(c),u.onDestroy(()=>{this.detachView(u.hostView),Ys(this.components,u),d?.unregisterApplication(c)}),this._loadComponent(u),u}tick(){if(this._runningTick)throw new D(101,!1);try{this._runningTick=!0;for(let n of this._views)n.detectChanges()}catch(n){this._zone.runOutsideAngular(()=>this._exceptionHandler.handleError(n))}finally{this._runningTick=!1}}attachView(n){const i=n;this._views.push(i),i.attachToAppRef(this)}detachView(n){const i=n;Ys(this._views,i),i.detachFromAppRef()}_loadComponent(n){this.attachView(n.hostView),this.tick(),this.components.push(n),this._injector.get(ow,[]).concat(this._bootstrapListeners).forEach(r=>r(n))}ngOnDestroy(){if(!this._destroyed)try{this._destroyListeners.forEach(n=>n()),this._views.slice().forEach(n=>n.destroy()),this._onMicrotaskEmptySubscription.unsubscribe()}finally{this._destroyed=!0,this._views=[],this._bootstrapListeners=[],this._destroyListeners=[]}}onDestroy(n){return this._destroyListeners.push(n),()=>Ys(this._destroyListeners,n)}destroy(){if(this._destroyed)throw new D(406,!1);const n=this._injector;n.destroy&&!n.destroyed&&n.destroy()}get viewCount(){return this._views.length}warnIfDestroyed(){}}return e.\u0275fac=function(n){return new(n||e)(x(Re),x(Pn),x(Gi))},e.\u0275prov=H({token:e,factory:e.\u0275fac,providedIn:"root"}),e})();function Ys(e,t){const n=e.indexOf(t);n>-1&&e.splice(n,1)}let _w=!0,Xs=(()=>{class e{}return e.__NG_ELEMENT_ID__=jI,e})();function jI(e){return function UI(e,t,n){if(Xo(e)&&!n){const i=ft(e.index,t);return new Zr(i,i)}return 47&e.type?new Zr(t[16],t):null}(xe(),w(),16==(16&e))}class Sw{constructor(){}supports(t){return Xr(t)}create(t){return new WI(t)}}const zI=(e,t)=>t;class WI{constructor(t){this.length=0,this._linkedRecords=null,this._unlinkedRecords=null,this._previousItHead=null,this._itHead=null,this._itTail=null,this._additionsHead=null,this._additionsTail=null,this._movesHead=null,this._movesTail=null,this._removalsHead=null,this._removalsTail=null,this._identityChangesHead=null,this._identityChangesTail=null,this._trackByFn=t||zI}forEachItem(t){let n;for(n=this._itHead;null!==n;n=n._next)t(n)}forEachOperation(t){let n=this._itHead,i=this._removalsHead,r=0,o=null;for(;n||i;){const s=!i||n&&n.currentIndex{s=this._trackByFn(r,a),null!==n&&Object.is(n.trackById,s)?(i&&(n=this._verifyReinsertion(n,a,s,r)),Object.is(n.item,a)||this._addIdentityChange(n,a)):(n=this._mismatch(n,a,s,r),i=!0),n=n._next,r++}),this.length=r;return this._truncate(n),this.collection=t,this.isDirty}get isDirty(){return null!==this._additionsHead||null!==this._movesHead||null!==this._removalsHead||null!==this._identityChangesHead}_reset(){if(this.isDirty){let t;for(t=this._previousItHead=this._itHead;null!==t;t=t._next)t._nextPrevious=t._next;for(t=this._additionsHead;null!==t;t=t._nextAdded)t.previousIndex=t.currentIndex;for(this._additionsHead=this._additionsTail=null,t=this._movesHead;null!==t;t=t._nextMoved)t.previousIndex=t.currentIndex;this._movesHead=this._movesTail=null,this._removalsHead=this._removalsTail=null,this._identityChangesHead=this._identityChangesTail=null}}_mismatch(t,n,i,r){let o;return null===t?o=this._itTail:(o=t._prev,this._remove(t)),null!==(t=null===this._unlinkedRecords?null:this._unlinkedRecords.get(i,null))?(Object.is(t.item,n)||this._addIdentityChange(t,n),this._reinsertAfter(t,o,r)):null!==(t=null===this._linkedRecords?null:this._linkedRecords.get(i,r))?(Object.is(t.item,n)||this._addIdentityChange(t,n),this._moveAfter(t,o,r)):t=this._addAfter(new JI(n,i),o,r),t}_verifyReinsertion(t,n,i,r){let o=null===this._unlinkedRecords?null:this._unlinkedRecords.get(i,null);return null!==o?t=this._reinsertAfter(o,t._prev,r):t.currentIndex!=r&&(t.currentIndex=r,this._addToMoves(t,r)),t}_truncate(t){for(;null!==t;){const n=t._next;this._addToRemovals(this._unlink(t)),t=n}null!==this._unlinkedRecords&&this._unlinkedRecords.clear(),null!==this._additionsTail&&(this._additionsTail._nextAdded=null),null!==this._movesTail&&(this._movesTail._nextMoved=null),null!==this._itTail&&(this._itTail._next=null),null!==this._removalsTail&&(this._removalsTail._nextRemoved=null),null!==this._identityChangesTail&&(this._identityChangesTail._nextIdentityChange=null)}_reinsertAfter(t,n,i){null!==this._unlinkedRecords&&this._unlinkedRecords.remove(t);const r=t._prevRemoved,o=t._nextRemoved;return null===r?this._removalsHead=o:r._nextRemoved=o,null===o?this._removalsTail=r:o._prevRemoved=r,this._insertAfter(t,n,i),this._addToMoves(t,i),t}_moveAfter(t,n,i){return this._unlink(t),this._insertAfter(t,n,i),this._addToMoves(t,i),t}_addAfter(t,n,i){return this._insertAfter(t,n,i),this._additionsTail=null===this._additionsTail?this._additionsHead=t:this._additionsTail._nextAdded=t,t}_insertAfter(t,n,i){const r=null===n?this._itHead:n._next;return t._next=r,t._prev=n,null===r?this._itTail=t:r._prev=t,null===n?this._itHead=t:n._next=t,null===this._linkedRecords&&(this._linkedRecords=new Iw),this._linkedRecords.put(t),t.currentIndex=i,t}_remove(t){return this._addToRemovals(this._unlink(t))}_unlink(t){null!==this._linkedRecords&&this._linkedRecords.remove(t);const n=t._prev,i=t._next;return null===n?this._itHead=i:n._next=i,null===i?this._itTail=n:i._prev=n,t}_addToMoves(t,n){return t.previousIndex===n||(this._movesTail=null===this._movesTail?this._movesHead=t:this._movesTail._nextMoved=t),t}_addToRemovals(t){return null===this._unlinkedRecords&&(this._unlinkedRecords=new Iw),this._unlinkedRecords.put(t),t.currentIndex=null,t._nextRemoved=null,null===this._removalsTail?(this._removalsTail=this._removalsHead=t,t._prevRemoved=null):(t._prevRemoved=this._removalsTail,this._removalsTail=this._removalsTail._nextRemoved=t),t}_addIdentityChange(t,n){return t.item=n,this._identityChangesTail=null===this._identityChangesTail?this._identityChangesHead=t:this._identityChangesTail._nextIdentityChange=t,t}}class JI{constructor(t,n){this.item=t,this.trackById=n,this.currentIndex=null,this.previousIndex=null,this._nextPrevious=null,this._prev=null,this._next=null,this._prevDup=null,this._nextDup=null,this._prevRemoved=null,this._nextRemoved=null,this._nextAdded=null,this._nextMoved=null,this._nextIdentityChange=null}}class qI{constructor(){this._head=null,this._tail=null}add(t){null===this._head?(this._head=this._tail=t,t._nextDup=null,t._prevDup=null):(this._tail._nextDup=t,t._prevDup=this._tail,t._nextDup=null,this._tail=t)}get(t,n){let i;for(i=this._head;null!==i;i=i._nextDup)if((null===n||n<=i.currentIndex)&&Object.is(i.trackById,t))return i;return null}remove(t){const n=t._prevDup,i=t._nextDup;return null===n?this._head=i:n._nextDup=i,null===i?this._tail=n:i._prevDup=n,null===this._head}}class Iw{constructor(){this.map=new Map}put(t){const n=t.trackById;let i=this.map.get(n);i||(i=new qI,this.map.set(n,i)),i.add(t)}get(t,n){const r=this.map.get(t);return r?r.get(t,n):null}remove(t){const n=t.trackById;return this.map.get(n).remove(t)&&this.map.delete(n),t}get isEmpty(){return 0===this.map.size}clear(){this.map.clear()}}function kw(e,t,n){const i=e.previousIndex;if(null===i)return i;let r=0;return n&&i{if(n&&n.key===r)this._maybeAddToChanges(n,i),this._appendAfter=n,n=n._next;else{const o=this._getOrCreateRecordForKey(r,i);n=this._insertBeforeOrAppend(n,o)}}),n){n._prev&&(n._prev._next=null),this._removalsHead=n;for(let i=n;null!==i;i=i._nextRemoved)i===this._mapHead&&(this._mapHead=null),this._records.delete(i.key),i._nextRemoved=i._next,i.previousValue=i.currentValue,i.currentValue=null,i._prev=null,i._next=null}return this._changesTail&&(this._changesTail._nextChanged=null),this._additionsTail&&(this._additionsTail._nextAdded=null),this.isDirty}_insertBeforeOrAppend(t,n){if(t){const i=t._prev;return n._next=t,n._prev=i,t._prev=n,i&&(i._next=n),t===this._mapHead&&(this._mapHead=n),this._appendAfter=t,t}return this._appendAfter?(this._appendAfter._next=n,n._prev=this._appendAfter):this._mapHead=n,this._appendAfter=n,null}_getOrCreateRecordForKey(t,n){if(this._records.has(t)){const r=this._records.get(t);this._maybeAddToChanges(r,n);const o=r._prev,s=r._next;return o&&(o._next=s),s&&(s._prev=o),r._next=null,r._prev=null,r}const i=new KI(t);return this._records.set(t,i),i.currentValue=n,this._addToAdditions(i),i}_reset(){if(this.isDirty){let t;for(this._previousMapHead=this._mapHead,t=this._previousMapHead;null!==t;t=t._next)t._nextPrevious=t._next;for(t=this._changesHead;null!==t;t=t._nextChanged)t.previousValue=t.currentValue;for(t=this._additionsHead;null!=t;t=t._nextAdded)t.previousValue=t.currentValue;this._changesHead=this._changesTail=null,this._additionsHead=this._additionsTail=null,this._removalsHead=null}}_maybeAddToChanges(t,n){Object.is(n,t.currentValue)||(t.previousValue=t.currentValue,t.currentValue=n,this._addToChanges(t))}_addToAdditions(t){null===this._additionsHead?this._additionsHead=this._additionsTail=t:(this._additionsTail._nextAdded=t,this._additionsTail=t)}_addToChanges(t){null===this._changesHead?this._changesHead=this._changesTail=t:(this._changesTail._nextChanged=t,this._changesTail=t)}_forEach(t,n){t instanceof Map?t.forEach(n):Object.keys(t).forEach(i=>n(t[i],i))}}class KI{constructor(t){this.key=t,this.previousValue=null,this.currentValue=null,this._nextPrevious=null,this._next=null,this._prev=null,this._nextAdded=null,this._nextRemoved=null,this._nextChanged=null}}function Tw(){return new na([new Sw])}let na=(()=>{class e{constructor(n){this.factories=n}static create(n,i){if(null!=i){const r=i.factories.slice();n=n.concat(r)}return new e(n)}static extend(n){return{provide:e,useFactory:i=>e.create(n,i||Tw()),deps:[[e,new Ur,new jr]]}}find(n){const i=this.factories.find(r=>r.supports(n));if(null!=i)return i;throw new D(901,!1)}}return e.\u0275prov=H({token:e,providedIn:"root",factory:Tw}),e})();function Pw(){return new mo([new xw])}let mo=(()=>{class e{constructor(n){this.factories=n}static create(n,i){if(i){const r=i.factories.slice();n=n.concat(r)}return new e(n)}static extend(n){return{provide:e,useFactory:i=>e.create(n,i||Pw()),deps:[[e,new Ur,new jr]]}}find(n){const i=this.factories.find(r=>r.supports(n));if(i)return i;throw new D(901,!1)}}return e.\u0275prov=H({token:e,providedIn:"root",factory:Pw}),e})();const XI=pw(null,"core",[]);let e2=(()=>{class e{constructor(n){}}return e.\u0275fac=function(n){return new(n||e)(x(Zs))},e.\u0275mod=Jt({type:e}),e.\u0275inj=xt({}),e})();let ia=null;function tn(){return ia}const st=new R("DocumentToken");let Uc=(()=>{class e{historyGo(n){throw new Error("Not implemented")}}return e.\u0275fac=function(n){return new(n||e)},e.\u0275prov=H({token:e,factory:function(){return function r2(){return x(Rw)}()},providedIn:"platform"}),e})();const o2=new R("Location Initialized");let Rw=(()=>{class e extends Uc{constructor(n){super(),this._doc=n,this._init()}_init(){this.location=window.location,this._history=window.history}getBaseHrefFromDOM(){return tn().getBaseHref(this._doc)}onPopState(n){const i=tn().getGlobalEventTarget(this._doc,"window");return i.addEventListener("popstate",n,!1),()=>i.removeEventListener("popstate",n)}onHashChange(n){const i=tn().getGlobalEventTarget(this._doc,"window");return i.addEventListener("hashchange",n,!1),()=>i.removeEventListener("hashchange",n)}get href(){return this.location.href}get protocol(){return this.location.protocol}get hostname(){return this.location.hostname}get port(){return this.location.port}get pathname(){return this.location.pathname}get search(){return this.location.search}get hash(){return this.location.hash}set pathname(n){this.location.pathname=n}pushState(n,i,r){Nw()?this._history.pushState(n,i,r):this.location.hash=r}replaceState(n,i,r){Nw()?this._history.replaceState(n,i,r):this.location.hash=r}forward(){this._history.forward()}back(){this._history.back()}historyGo(n=0){this._history.go(n)}getState(){return this._history.state}}return e.\u0275fac=function(n){return new(n||e)(x(st))},e.\u0275prov=H({token:e,factory:function(){return function s2(){return new Rw(x(st))}()},providedIn:"platform"}),e})();function Nw(){return!!window.history.pushState}function Bc(e,t){if(0==e.length)return t;if(0==t.length)return e;let n=0;return e.endsWith("/")&&n++,t.startsWith("/")&&n++,2==n?e+t.substring(1):1==n?e+t:e+"/"+t}function Fw(e){const t=e.match(/#|\?|$/),n=t&&t.index||e.length;return e.slice(0,n-("/"===e[n-1]?1:0))+e.slice(n)}function Dn(e){return e&&"?"!==e[0]?"?"+e:e}let fi=(()=>{class e{historyGo(n){throw new Error("Not implemented")}}return e.\u0275fac=function(n){return new(n||e)},e.\u0275prov=H({token:e,factory:function(){return be(Ow)},providedIn:"root"}),e})();const Lw=new R("appBaseHref");let Ow=(()=>{class e extends fi{constructor(n,i){super(),this._platformLocation=n,this._removeListenerFns=[],this._baseHref=i??this._platformLocation.getBaseHrefFromDOM()??be(st).location?.origin??""}ngOnDestroy(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}onPopState(n){this._removeListenerFns.push(this._platformLocation.onPopState(n),this._platformLocation.onHashChange(n))}getBaseHref(){return this._baseHref}prepareExternalUrl(n){return Bc(this._baseHref,n)}path(n=!1){const i=this._platformLocation.pathname+Dn(this._platformLocation.search),r=this._platformLocation.hash;return r&&n?`${i}${r}`:i}pushState(n,i,r,o){const s=this.prepareExternalUrl(r+Dn(o));this._platformLocation.pushState(n,i,s)}replaceState(n,i,r,o){const s=this.prepareExternalUrl(r+Dn(o));this._platformLocation.replaceState(n,i,s)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}getState(){return this._platformLocation.getState()}historyGo(n=0){this._platformLocation.historyGo?.(n)}}return e.\u0275fac=function(n){return new(n||e)(x(Uc),x(Lw,8))},e.\u0275prov=H({token:e,factory:e.\u0275fac,providedIn:"root"}),e})(),a2=(()=>{class e extends fi{constructor(n,i){super(),this._platformLocation=n,this._baseHref="",this._removeListenerFns=[],null!=i&&(this._baseHref=i)}ngOnDestroy(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}onPopState(n){this._removeListenerFns.push(this._platformLocation.onPopState(n),this._platformLocation.onHashChange(n))}getBaseHref(){return this._baseHref}path(n=!1){let i=this._platformLocation.hash;return null==i&&(i="#"),i.length>0?i.substring(1):i}prepareExternalUrl(n){const i=Bc(this._baseHref,n);return i.length>0?"#"+i:i}pushState(n,i,r,o){let s=this.prepareExternalUrl(r+Dn(o));0==s.length&&(s=this._platformLocation.pathname),this._platformLocation.pushState(n,i,s)}replaceState(n,i,r,o){let s=this.prepareExternalUrl(r+Dn(o));0==s.length&&(s=this._platformLocation.pathname),this._platformLocation.replaceState(n,i,s)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}getState(){return this._platformLocation.getState()}historyGo(n=0){this._platformLocation.historyGo?.(n)}}return e.\u0275fac=function(n){return new(n||e)(x(Uc),x(Lw,8))},e.\u0275prov=H({token:e,factory:e.\u0275fac}),e})(),Hc=(()=>{class e{constructor(n){this._subject=new Ae,this._urlChangeListeners=[],this._urlChangeSubscription=null,this._locationStrategy=n;const i=this._locationStrategy.getBaseHref();this._baseHref=Fw(Vw(i)),this._locationStrategy.onPopState(r=>{this._subject.emit({url:this.path(!0),pop:!0,state:r.state,type:r.type})})}ngOnDestroy(){this._urlChangeSubscription?.unsubscribe(),this._urlChangeListeners=[]}path(n=!1){return this.normalize(this._locationStrategy.path(n))}getState(){return this._locationStrategy.getState()}isCurrentPathEqualTo(n,i=""){return this.path()==this.normalize(n+Dn(i))}normalize(n){return e.stripTrailingSlash(function u2(e,t){return e&&t.startsWith(e)?t.substring(e.length):t}(this._baseHref,Vw(n)))}prepareExternalUrl(n){return n&&"/"!==n[0]&&(n="/"+n),this._locationStrategy.prepareExternalUrl(n)}go(n,i="",r=null){this._locationStrategy.pushState(r,"",n,i),this._notifyUrlChangeListeners(this.prepareExternalUrl(n+Dn(i)),r)}replaceState(n,i="",r=null){this._locationStrategy.replaceState(r,"",n,i),this._notifyUrlChangeListeners(this.prepareExternalUrl(n+Dn(i)),r)}forward(){this._locationStrategy.forward()}back(){this._locationStrategy.back()}historyGo(n=0){this._locationStrategy.historyGo?.(n)}onUrlChange(n){return this._urlChangeListeners.push(n),this._urlChangeSubscription||(this._urlChangeSubscription=this.subscribe(i=>{this._notifyUrlChangeListeners(i.url,i.state)})),()=>{const i=this._urlChangeListeners.indexOf(n);this._urlChangeListeners.splice(i,1),0===this._urlChangeListeners.length&&(this._urlChangeSubscription?.unsubscribe(),this._urlChangeSubscription=null)}}_notifyUrlChangeListeners(n="",i){this._urlChangeListeners.forEach(r=>r(n,i))}subscribe(n,i,r){return this._subject.subscribe({next:n,error:i,complete:r})}}return e.normalizeQueryParams=Dn,e.joinWithSlash=Bc,e.stripTrailingSlash=Fw,e.\u0275fac=function(n){return new(n||e)(x(fi))},e.\u0275prov=H({token:e,factory:function(){return function l2(){return new Hc(x(fi))}()},providedIn:"root"}),e})();function Vw(e){return e.replace(/\/index.html$/,"")}var at=(()=>((at=at||{})[at.Decimal=0]="Decimal",at[at.Percent=1]="Percent",at[at.Currency=2]="Currency",at[at.Scientific=3]="Scientific",at))(),T=(()=>((T=T||{})[T.Decimal=0]="Decimal",T[T.Group=1]="Group",T[T.List=2]="List",T[T.PercentSign=3]="PercentSign",T[T.PlusSign=4]="PlusSign",T[T.MinusSign=5]="MinusSign",T[T.Exponential=6]="Exponential",T[T.SuperscriptingExponent=7]="SuperscriptingExponent",T[T.PerMille=8]="PerMille",T[T.Infinity=9]="Infinity",T[T.NaN=10]="NaN",T[T.TimeSeparator=11]="TimeSeparator",T[T.CurrencyDecimal=12]="CurrencyDecimal",T[T.CurrencyGroup=13]="CurrencyGroup",T))();function Et(e,t){const n=et(e),i=n[S.NumberSymbols][t];if(typeof i>"u"){if(t===T.CurrencyDecimal)return n[S.NumberSymbols][T.Decimal];if(t===T.CurrencyGroup)return n[S.NumberSymbols][T.Group]}return i}const F2=/^(\d+)?\.((\d+)(-(\d+))?)?$/;function Kc(e){const t=parseInt(e);if(isNaN(t))throw new Error("Invalid integer literal when parsing "+e);return t}class Q2{constructor(t,n,i,r){this.$implicit=t,this.ngForOf=n,this.index=i,this.count=r}get first(){return 0===this.index}get last(){return this.index===this.count-1}get even(){return this.index%2==0}get odd(){return!this.even}}let Yc=(()=>{class e{constructor(n,i,r){this._viewContainer=n,this._template=i,this._differs=r,this._ngForOf=null,this._ngForOfDirty=!0,this._differ=null}set ngForOf(n){this._ngForOf=n,this._ngForOfDirty=!0}set ngForTrackBy(n){this._trackByFn=n}get ngForTrackBy(){return this._trackByFn}set ngForTemplate(n){n&&(this._template=n)}ngDoCheck(){if(this._ngForOfDirty){this._ngForOfDirty=!1;const n=this._ngForOf;!this._differ&&n&&(this._differ=this._differs.find(n).create(this.ngForTrackBy))}if(this._differ){const n=this._differ.diff(this._ngForOf);n&&this._applyChanges(n)}}_applyChanges(n){const i=this._viewContainer;n.forEachOperation((r,o,s)=>{if(null==r.previousIndex)i.createEmbeddedView(this._template,new Q2(r.item,this._ngForOf,-1,-1),null===s?void 0:s);else if(null==s)i.remove(null===o?void 0:o);else if(null!==o){const a=i.get(o);i.move(a,s),Qw(a,r)}});for(let r=0,o=i.length;r{Qw(i.get(r.currentIndex),r)})}static ngTemplateContextGuard(n,i){return!0}}return e.\u0275fac=function(n){return new(n||e)(v(Ut),v(vn),v(na))},e.\u0275dir=O({type:e,selectors:[["","ngFor","","ngForOf",""]],inputs:{ngForOf:"ngForOf",ngForTrackBy:"ngForTrackBy",ngForTemplate:"ngForTemplate"},standalone:!0}),e})();function Qw(e,t){e.context.$implicit=t.item}let td=(()=>{class e{constructor(n){this.differs=n,this.keyValues=[],this.compareFn=Yw}transform(n,i=Yw){if(!n||!(n instanceof Map)&&"object"!=typeof n)return null;this.differ||(this.differ=this.differs.find(n).create());const r=this.differ.diff(n),o=i!==this.compareFn;return r&&(this.keyValues=[],r.forEachItem(s=>{this.keyValues.push(function vk(e,t){return{key:e,value:t}}(s.key,s.currentValue))})),(r||o)&&(this.keyValues.sort(i),this.compareFn=i),this.keyValues}}return e.\u0275fac=function(n){return new(n||e)(v(mo,16))},e.\u0275pipe=it({name:"keyvalue",type:e,pure:!1,standalone:!0}),e})();function Yw(e,t){const n=e.key,i=t.key;if(n===i)return 0;if(void 0===n)return 1;if(void 0===i)return-1;if(null===n)return 1;if(null===i)return-1;if("string"==typeof n&&"string"==typeof i)return n{class e{constructor(n){this._locale=n}transform(n,i,r){if(!function id(e){return!(null==e||""===e||e!=e)}(n))return null;r=r||this._locale;try{return function B2(e,t,n){return function qc(e,t,n,i,r,o,s=!1){let a="",l=!1;if(isFinite(e)){let u=function $2(e){let i,r,o,s,a,t=Math.abs(e)+"",n=0;for((r=t.indexOf("."))>-1&&(t=t.replace(".","")),(o=t.search(/e/i))>0?(r<0&&(r=o),r+=+t.slice(o+1),t=t.substring(0,o)):r<0&&(r=t.length),o=0;"0"===t.charAt(o);o++);if(o===(a=t.length))i=[0],r=1;else{for(a--;"0"===t.charAt(a);)a--;for(r-=o,i=[],s=0;o<=a;o++,s++)i[s]=Number(t.charAt(o))}return r>22&&(i=i.splice(0,21),n=r-1,r=1),{digits:i,exponent:n,integerLen:r}}(e);s&&(u=function H2(e){if(0===e.digits[0])return e;const t=e.digits.length-e.integerLen;return e.exponent?e.exponent+=2:(0===t?e.digits.push(0,0):1===t&&e.digits.push(0),e.integerLen+=2),e}(u));let c=t.minInt,d=t.minFrac,h=t.maxFrac;if(o){const M=o.match(F2);if(null===M)throw new Error(`${o} is not a valid digit info`);const y=M[1],I=M[3],Y=M[5];null!=y&&(c=Kc(y)),null!=I&&(d=Kc(I)),null!=Y?h=Kc(Y):null!=I&&d>h&&(h=d)}!function G2(e,t,n){if(t>n)throw new Error(`The minimum number of digits after fraction (${t}) is higher than the maximum (${n}).`);let i=e.digits,r=i.length-e.integerLen;const o=Math.min(Math.max(t,r),n);let s=o+e.integerLen,a=i[s];if(s>0){i.splice(Math.max(e.integerLen,s));for(let d=s;d=5)if(s-1<0){for(let d=0;d>s;d--)i.unshift(0),e.integerLen++;i.unshift(1),e.integerLen++}else i[s-1]++;for(;r=u?p.pop():l=!1),h>=10?1:0},0);c&&(i.unshift(c),e.integerLen++)}(u,d,h);let f=u.digits,p=u.integerLen;const g=u.exponent;let m=[];for(l=f.every(M=>!M);p0?m=f.splice(p,f.length):(m=f,f=[0]);const A=[];for(f.length>=t.lgSize&&A.unshift(f.splice(-t.lgSize,f.length).join(""));f.length>t.gSize;)A.unshift(f.splice(-t.gSize,f.length).join(""));f.length&&A.unshift(f.join("")),a=A.join(Et(n,i)),m.length&&(a+=Et(n,r)+m.join("")),g&&(a+=Et(n,T.Exponential)+"+"+g)}else a=Et(n,T.Infinity);return a=e<0&&!l?t.negPre+a+t.negSuf:t.posPre+a+t.posSuf,a}(e,function Qc(e,t="-"){const n={minInt:1,minFrac:0,maxFrac:0,posPre:"",posSuf:"",negPre:"",negSuf:"",gSize:0,lgSize:0},i=e.split(";"),r=i[0],o=i[1],s=-1!==r.indexOf(".")?r.split("."):[r.substring(0,r.lastIndexOf("0")+1),r.substring(r.lastIndexOf("0")+1)],a=s[0],l=s[1]||"";n.posPre=a.substring(0,a.indexOf("#"));for(let c=0;c{class e{}return e.\u0275fac=function(n){return new(n||e)},e.\u0275mod=Jt({type:e}),e.\u0275inj=xt({}),e})();let Sk=(()=>{class e{}return e.\u0275prov=H({token:e,providedIn:"root",factory:()=>new Ik(x(st),window)}),e})();class Ik{constructor(t,n){this.document=t,this.window=n,this.offset=()=>[0,0]}setOffset(t){this.offset=Array.isArray(t)?()=>t:t}getScrollPosition(){return this.supportsScrolling()?[this.window.pageXOffset,this.window.pageYOffset]:[0,0]}scrollToPosition(t){this.supportsScrolling()&&this.window.scrollTo(t[0],t[1])}scrollToAnchor(t){if(!this.supportsScrolling())return;const n=function kk(e,t){const n=e.getElementById(t)||e.getElementsByName(t)[0];if(n)return n;if("function"==typeof e.createTreeWalker&&e.body&&(e.body.createShadowRoot||e.body.attachShadow)){const i=e.createTreeWalker(e.body,NodeFilter.SHOW_ELEMENT);let r=i.currentNode;for(;r;){const o=r.shadowRoot;if(o){const s=o.getElementById(t)||o.querySelector(`[name="${t}"]`);if(s)return s}r=i.nextNode()}}return null}(this.document,t);n&&(this.scrollToElement(n),n.focus())}setHistoryScrollRestoration(t){if(this.supportScrollRestoration()){const n=this.window.history;n&&n.scrollRestoration&&(n.scrollRestoration=t)}}scrollToElement(t){const n=t.getBoundingClientRect(),i=n.left+this.window.pageXOffset,r=n.top+this.window.pageYOffset,o=this.offset();this.window.scrollTo(i-o[0],r-o[1])}supportScrollRestoration(){try{if(!this.supportsScrolling())return!1;const t=ev(this.window.history)||ev(Object.getPrototypeOf(this.window.history));return!(!t||!t.writable&&!t.set)}catch{return!1}}supportsScrolling(){try{return!!this.window&&!!this.window.scrollTo&&"pageXOffset"in this.window}catch{return!1}}}function ev(e){return Object.getOwnPropertyDescriptor(e,"scrollRestoration")}class ad extends class qk extends class i2{}{constructor(){super(...arguments),this.supportsDOMEvents=!0}}{static makeCurrent(){!function n2(e){ia||(ia=e)}(new ad)}onAndCancel(t,n,i){return t.addEventListener(n,i,!1),()=>{t.removeEventListener(n,i,!1)}}dispatchEvent(t,n){t.dispatchEvent(n)}remove(t){t.parentNode&&t.parentNode.removeChild(t)}createElement(t,n){return(n=n||this.getDefaultDocument()).createElement(t)}createHtmlDocument(){return document.implementation.createHTMLDocument("fakeTitle")}getDefaultDocument(){return document}isElementNode(t){return t.nodeType===Node.ELEMENT_NODE}isShadowRoot(t){return t instanceof DocumentFragment}getGlobalEventTarget(t,n){return"window"===n?window:"document"===n?t:"body"===n?t.body:null}getBaseHref(t){const n=function Qk(){return Ao=Ao||document.querySelector("base"),Ao?Ao.getAttribute("href"):null}();return null==n?null:function Kk(e){pa=pa||document.createElement("a"),pa.setAttribute("href",e);const t=pa.pathname;return"/"===t.charAt(0)?t:`/${t}`}(n)}resetBaseElement(){Ao=null}getUserAgent(){return window.navigator.userAgent}getCookie(t){return function W2(e,t){t=encodeURIComponent(t);for(const n of e.split(";")){const i=n.indexOf("="),[r,o]=-1==i?[n,""]:[n.slice(0,i),n.slice(i+1)];if(r.trim()===t)return decodeURIComponent(o)}return null}(document.cookie,t)}}let pa,Ao=null;const rv=new R("TRANSITION_ID"),Yk=[{provide:qs,useFactory:function Zk(e,t,n){return()=>{n.get(Qs).donePromise.then(()=>{const i=tn(),r=t.querySelectorAll(`style[ng-transition="${e}"]`);for(let o=0;o{class e{build(){return new XMLHttpRequest}}return e.\u0275fac=function(n){return new(n||e)},e.\u0275prov=H({token:e,factory:e.\u0275fac}),e})();const ga=new R("EventManagerPlugins");let ma=(()=>{class e{constructor(n,i){this._zone=i,this._eventNameToPlugin=new Map,n.forEach(r=>r.manager=this),this._plugins=n.slice().reverse()}addEventListener(n,i,r){return this._findPluginFor(i).addEventListener(n,i,r)}addGlobalEventListener(n,i,r){return this._findPluginFor(i).addGlobalEventListener(n,i,r)}getZone(){return this._zone}_findPluginFor(n){const i=this._eventNameToPlugin.get(n);if(i)return i;const r=this._plugins;for(let o=0;o{class e{constructor(){this._stylesSet=new Set}addStyles(n){const i=new Set;n.forEach(r=>{this._stylesSet.has(r)||(this._stylesSet.add(r),i.add(r))}),this.onStylesAdded(i)}onStylesAdded(n){}getAllStyles(){return Array.from(this._stylesSet)}}return e.\u0275fac=function(n){return new(n||e)},e.\u0275prov=H({token:e,factory:e.\u0275fac}),e})(),bo=(()=>{class e extends sv{constructor(n){super(),this._doc=n,this._hostNodes=new Map,this._hostNodes.set(n.head,[])}_addStylesToHost(n,i,r){n.forEach(o=>{const s=this._doc.createElement("style");s.textContent=o,r.push(i.appendChild(s))})}addHost(n){const i=[];this._addStylesToHost(this._stylesSet,n,i),this._hostNodes.set(n,i)}removeHost(n){const i=this._hostNodes.get(n);i&&i.forEach(av),this._hostNodes.delete(n)}onStylesAdded(n){this._hostNodes.forEach((i,r)=>{this._addStylesToHost(n,r,i)})}ngOnDestroy(){this._hostNodes.forEach(n=>n.forEach(av))}}return e.\u0275fac=function(n){return new(n||e)(x(st))},e.\u0275prov=H({token:e,factory:e.\u0275fac}),e})();function av(e){tn().remove(e)}const ld={svg:"http://www.w3.org/2000/svg",xhtml:"http://www.w3.org/1999/xhtml",xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/",math:"http://www.w3.org/1998/MathML/"},ud=/%COMP%/g;function ya(e,t,n){for(let i=0;i{if("__ngUnwrap__"===t)return e;!1===e(t)&&(t.preventDefault(),t.returnValue=!1)}}let cd=(()=>{class e{constructor(n,i,r){this.eventManager=n,this.sharedStylesHost=i,this.appId=r,this.rendererByCompId=new Map,this.defaultRenderer=new dd(n)}createRenderer(n,i){if(!n||!i)return this.defaultRenderer;switch(i.encapsulation){case Wt.Emulated:{let r=this.rendererByCompId.get(i.id);return r||(r=new sx(this.eventManager,this.sharedStylesHost,i,this.appId),this.rendererByCompId.set(i.id,r)),r.applyToHost(n),r}case 1:case Wt.ShadowDom:return new ax(this.eventManager,this.sharedStylesHost,n,i);default:if(!this.rendererByCompId.has(i.id)){const r=ya(i.id,i.styles,[]);this.sharedStylesHost.addStyles(r),this.rendererByCompId.set(i.id,this.defaultRenderer)}return this.defaultRenderer}}begin(){}end(){}}return e.\u0275fac=function(n){return new(n||e)(x(ma),x(bo),x(go))},e.\u0275prov=H({token:e,factory:e.\u0275fac}),e})();class dd{constructor(t){this.eventManager=t,this.data=Object.create(null),this.destroyNode=null}destroy(){}createElement(t,n){return n?document.createElementNS(ld[n]||n,t):document.createElement(t)}createComment(t){return document.createComment(t)}createText(t){return document.createTextNode(t)}appendChild(t,n){(hv(t)?t.content:t).appendChild(n)}insertBefore(t,n,i){t&&(hv(t)?t.content:t).insertBefore(n,i)}removeChild(t,n){t&&t.removeChild(n)}selectRootElement(t,n){let i="string"==typeof t?document.querySelector(t):t;if(!i)throw new Error(`The selector "${t}" did not match any elements`);return n||(i.textContent=""),i}parentNode(t){return t.parentNode}nextSibling(t){return t.nextSibling}setAttribute(t,n,i,r){if(r){n=r+":"+n;const o=ld[r];o?t.setAttributeNS(o,n,i):t.setAttribute(n,i)}else t.setAttribute(n,i)}removeAttribute(t,n,i){if(i){const r=ld[i];r?t.removeAttributeNS(r,n):t.removeAttribute(`${i}:${n}`)}else t.removeAttribute(n)}addClass(t,n){t.classList.add(n)}removeClass(t,n){t.classList.remove(n)}setStyle(t,n,i,r){r&(ot.DashCase|ot.Important)?t.style.setProperty(n,i,r&ot.Important?"important":""):t.style[n]=i}removeStyle(t,n,i){i&ot.DashCase?t.style.removeProperty(n):t.style[n]=""}setProperty(t,n,i){t[n]=i}setValue(t,n){t.nodeValue=n}listen(t,n,i){return"string"==typeof t?this.eventManager.addGlobalEventListener(t,n,cv(i)):this.eventManager.addEventListener(t,n,cv(i))}}function hv(e){return"TEMPLATE"===e.tagName&&void 0!==e.content}class sx extends dd{constructor(t,n,i,r){super(t),this.component=i;const o=ya(r+"-"+i.id,i.styles,[]);n.addStyles(o),this.contentAttr=function ix(e){return"_ngcontent-%COMP%".replace(ud,e)}(r+"-"+i.id),this.hostAttr=function rx(e){return"_nghost-%COMP%".replace(ud,e)}(r+"-"+i.id)}applyToHost(t){super.setAttribute(t,this.hostAttr,"")}createElement(t,n){const i=super.createElement(t,n);return super.setAttribute(i,this.contentAttr,""),i}}class ax extends dd{constructor(t,n,i,r){super(t),this.sharedStylesHost=n,this.hostEl=i,this.shadowRoot=i.attachShadow({mode:"open"}),this.sharedStylesHost.addHost(this.shadowRoot);const o=ya(r.id,r.styles,[]);for(let s=0;s{class e extends ov{constructor(n){super(n)}supports(n){return!0}addEventListener(n,i,r){return n.addEventListener(i,r,!1),()=>this.removeEventListener(n,i,r)}removeEventListener(n,i,r){return n.removeEventListener(i,r)}}return e.\u0275fac=function(n){return new(n||e)(x(st))},e.\u0275prov=H({token:e,factory:e.\u0275fac}),e})();const fv=["alt","control","meta","shift"],ux={"\b":"Backspace","\t":"Tab","\x7f":"Delete","\x1b":"Escape",Del:"Delete",Esc:"Escape",Left:"ArrowLeft",Right:"ArrowRight",Up:"ArrowUp",Down:"ArrowDown",Menu:"ContextMenu",Scroll:"ScrollLock",Win:"OS"},cx={alt:e=>e.altKey,control:e=>e.ctrlKey,meta:e=>e.metaKey,shift:e=>e.shiftKey};let dx=(()=>{class e extends ov{constructor(n){super(n)}supports(n){return null!=e.parseEventName(n)}addEventListener(n,i,r){const o=e.parseEventName(i),s=e.eventCallback(o.fullKey,r,this.manager.getZone());return this.manager.getZone().runOutsideAngular(()=>tn().onAndCancel(n,o.domEventName,s))}static parseEventName(n){const i=n.toLowerCase().split("."),r=i.shift();if(0===i.length||"keydown"!==r&&"keyup"!==r)return null;const o=e._normalizeKey(i.pop());let s="",a=i.indexOf("code");if(a>-1&&(i.splice(a,1),s="code."),fv.forEach(u=>{const c=i.indexOf(u);c>-1&&(i.splice(c,1),s+=u+".")}),s+=o,0!=i.length||0===o.length)return null;const l={};return l.domEventName=r,l.fullKey=s,l}static matchEventFullKeyCode(n,i){let r=ux[n.key]||n.key,o="";return i.indexOf("code.")>-1&&(r=n.code,o="code."),!(null==r||!r)&&(r=r.toLowerCase()," "===r?r="space":"."===r&&(r="dot"),fv.forEach(s=>{s!==r&&(0,cx[s])(n)&&(o+=s+".")}),o+=r,o===i)}static eventCallback(n,i,r){return o=>{e.matchEventFullKeyCode(o,n)&&r.runGuarded(()=>i(o))}}static _normalizeKey(n){return"esc"===n?"escape":n}}return e.\u0275fac=function(n){return new(n||e)(x(st))},e.\u0275prov=H({token:e,factory:e.\u0275fac}),e})();const gx=pw(XI,"browser",[{provide:rw,useValue:"browser"},{provide:iw,useValue:function hx(){ad.makeCurrent()},multi:!0},{provide:st,useFactory:function px(){return function QD(e){au=e}(document),document},deps:[]}]),mv=new R(""),yv=[{provide:Ks,useClass:class Xk{addToWindow(t){ue.getAngularTestability=(i,r=!0)=>{const o=t.findTestabilityInTree(i,r);if(null==o)throw new Error("Could not find testability for element.");return o},ue.getAllAngularTestabilities=()=>t.getAllTestabilities(),ue.getAllAngularRootElements=()=>t.getAllRootElements(),ue.frameworkStabilizers||(ue.frameworkStabilizers=[]),ue.frameworkStabilizers.push(i=>{const r=ue.getAllAngularTestabilities();let o=r.length,s=!1;const a=function(l){s=s||l,o--,0==o&&i(s)};r.forEach(function(l){l.whenStable(a)})})}findTestabilityInTree(t,n,i){return null==n?null:t.getTestability(n)??(i?tn().isShadowRoot(n)?this.findTestabilityInTree(t,n.host,!0):this.findTestabilityInTree(t,n.parentElement,!0):null)}},deps:[]},{provide:cw,useClass:Tc,deps:[Re,Pc,Ks]},{provide:Tc,useClass:Tc,deps:[Re,Pc,Ks]}],wv=[{provide:mu,useValue:"root"},{provide:Gi,useFactory:function fx(){return new Gi},deps:[]},{provide:ga,useClass:lx,multi:!0,deps:[st,Re,rw]},{provide:ga,useClass:dx,multi:!0,deps:[st]},{provide:cd,useClass:cd,deps:[ma,bo,go]},{provide:Wp,useExisting:cd},{provide:sv,useExisting:bo},{provide:bo,useClass:bo,deps:[st]},{provide:ma,useClass:ma,deps:[ga,Re]},{provide:class xk{},useClass:ex,deps:[]},[]];let mx=(()=>{class e{constructor(n){}static withServerTransition(n){return{ngModule:e,providers:[{provide:go,useValue:n.appId},{provide:rv,useExisting:go},Yk]}}}return e.\u0275fac=function(n){return new(n||e)(x(mv,12))},e.\u0275mod=Jt({type:e}),e.\u0275inj=xt({providers:[...wv,...yv],imports:[Dk,e2]}),e})(),vv=(()=>{class e{constructor(n){this._doc=n}getTitle(){return this._doc.title}setTitle(n){this._doc.title=n||""}}return e.\u0275fac=function(n){return new(n||e)(x(st))},e.\u0275prov=H({token:e,factory:function(n){let i=null;return i=n?new n:function wx(){return new vv(x(st))}(),i},providedIn:"root"}),e})();typeof window<"u"&&window;const{isArray:Ex}=Array,{getPrototypeOf:Sx,prototype:Ix,keys:kx}=Object;function _v(e){if(1===e.length){const t=e[0];if(Ex(t))return{args:t,keys:null};if(function xx(e){return e&&"object"==typeof e&&Sx(e)===Ix}(t)){const n=kx(t);return{args:n.map(i=>t[i]),keys:n}}}return{args:e,keys:null}}const{isArray:Tx}=Array;function Dv(e){return K(t=>function Px(e,t){return Tx(t)?e(...t):e(t)}(e,t))}function Cv(e,t){return e.reduce((n,i,r)=>(n[i]=t[r],n),{})}let Mv=(()=>{class e{constructor(n,i){this._renderer=n,this._elementRef=i,this.onChange=r=>{},this.onTouched=()=>{}}setProperty(n,i){this._renderer.setProperty(this._elementRef.nativeElement,n,i)}registerOnTouched(n){this.onTouched=n}registerOnChange(n){this.onChange=n}setDisabledState(n){this.setProperty("disabled",n)}}return e.\u0275fac=function(n){return new(n||e)(v(pn),v(mt))},e.\u0275dir=O({type:e}),e})(),pi=(()=>{class e extends Mv{}return e.\u0275fac=function(){let t;return function(i){return(t||(t=$e(e)))(i||e)}}(),e.\u0275dir=O({type:e,features:[ie]}),e})();const nn=new R("NgValueAccessor"),Nx={provide:nn,useExisting:le(()=>wa),multi:!0};let wa=(()=>{class e extends pi{writeValue(n){this.setProperty("checked",n)}}return e.\u0275fac=function(){let t;return function(i){return(t||(t=$e(e)))(i||e)}}(),e.\u0275dir=O({type:e,selectors:[["input","type","checkbox","formControlName",""],["input","type","checkbox","formControl",""],["input","type","checkbox","ngModel",""]],hostBindings:function(n,i){1&n&&Q("change",function(o){return i.onChange(o.target.checked)})("blur",function(){return i.onTouched()})},features:[fe([Nx]),ie]}),e})();const Fx={provide:nn,useExisting:le(()=>pd),multi:!0},Ox=new R("CompositionEventMode");let pd=(()=>{class e extends Mv{constructor(n,i,r){super(n,i),this._compositionMode=r,this._composing=!1,null==this._compositionMode&&(this._compositionMode=!function Lx(){const e=tn()?tn().getUserAgent():"";return/android (\d+)/.test(e.toLowerCase())}())}writeValue(n){this.setProperty("value",n??"")}_handleInput(n){(!this._compositionMode||this._compositionMode&&!this._composing)&&this.onChange(n)}_compositionStart(){this._composing=!0}_compositionEnd(n){this._composing=!1,this._compositionMode&&this.onChange(n)}}return e.\u0275fac=function(n){return new(n||e)(v(pn),v(mt),v(Ox,8))},e.\u0275dir=O({type:e,selectors:[["input","formControlName","",3,"type","checkbox"],["textarea","formControlName",""],["input","formControl","",3,"type","checkbox"],["textarea","formControl",""],["input","ngModel","",3,"type","checkbox"],["textarea","ngModel",""],["","ngDefaultControl",""]],hostBindings:function(n,i){1&n&&Q("input",function(o){return i._handleInput(o.target.value)})("blur",function(){return i.onTouched()})("compositionstart",function(){return i._compositionStart()})("compositionend",function(o){return i._compositionEnd(o.target.value)})},features:[fe([Fx]),ie]}),e})();const Je=new R("NgValidators"),Vn=new R("NgAsyncValidators");function Fv(e){return null!=e}function Lv(e){return no(e)?Ce(e):e}function Ov(e){let t={};return e.forEach(n=>{t=null!=n?{...t,...n}:t}),0===Object.keys(t).length?null:t}function Vv(e,t){return t.map(n=>n(e))}function jv(e){return e.map(t=>function Ux(e){return!e.validate}(t)?t:n=>t.validate(n))}function gd(e){return null!=e?function Uv(e){if(!e)return null;const t=e.filter(Fv);return 0==t.length?null:function(n){return Ov(Vv(n,t))}}(jv(e)):null}function md(e){return null!=e?function Bv(e){if(!e)return null;const t=e.filter(Fv);return 0==t.length?null:function(n){return function Rx(...e){const t=Gh(e),{args:n,keys:i}=_v(e),r=new De(o=>{const{length:s}=n;if(!s)return void o.complete();const a=new Array(s);let l=s,u=s;for(let c=0;c{d||(d=!0,u--),a[c]=h},()=>l--,void 0,()=>{(!l||!d)&&(u||o.next(i?Cv(i,a):a),o.complete())}))}});return t?r.pipe(Dv(t)):r}(Vv(n,t).map(Lv)).pipe(K(Ov))}}(jv(e)):null}function Hv(e,t){return null===e?[t]:Array.isArray(e)?[...e,t]:[e,t]}function yd(e){return e?Array.isArray(e)?e:[e]:[]}function Aa(e,t){return Array.isArray(e)?e.includes(t):e===t}function zv(e,t){const n=yd(t);return yd(e).forEach(r=>{Aa(n,r)||n.push(r)}),n}function Wv(e,t){return yd(t).filter(n=>!Aa(e,n))}class Jv{constructor(){this._rawValidators=[],this._rawAsyncValidators=[],this._onDestroyCallbacks=[]}get value(){return this.control?this.control.value:null}get valid(){return this.control?this.control.valid:null}get invalid(){return this.control?this.control.invalid:null}get pending(){return this.control?this.control.pending:null}get disabled(){return this.control?this.control.disabled:null}get enabled(){return this.control?this.control.enabled:null}get errors(){return this.control?this.control.errors:null}get pristine(){return this.control?this.control.pristine:null}get dirty(){return this.control?this.control.dirty:null}get touched(){return this.control?this.control.touched:null}get status(){return this.control?this.control.status:null}get untouched(){return this.control?this.control.untouched:null}get statusChanges(){return this.control?this.control.statusChanges:null}get valueChanges(){return this.control?this.control.valueChanges:null}get path(){return null}_setValidators(t){this._rawValidators=t||[],this._composedValidatorFn=gd(this._rawValidators)}_setAsyncValidators(t){this._rawAsyncValidators=t||[],this._composedAsyncValidatorFn=md(this._rawAsyncValidators)}get validator(){return this._composedValidatorFn||null}get asyncValidator(){return this._composedAsyncValidatorFn||null}_registerOnDestroy(t){this._onDestroyCallbacks.push(t)}_invokeOnDestroyCallbacks(){this._onDestroyCallbacks.forEach(t=>t()),this._onDestroyCallbacks=[]}reset(t){this.control&&this.control.reset(t)}hasError(t,n){return!!this.control&&this.control.hasError(t,n)}getError(t,n){return this.control?this.control.getError(t,n):null}}class nt extends Jv{get formDirective(){return null}get path(){return null}}class jn extends Jv{constructor(){super(...arguments),this._parent=null,this.name=null,this.valueAccessor=null}}let wd=(()=>{class e extends class qv{constructor(t){this._cd=t}get isTouched(){return!!this._cd?.control?.touched}get isUntouched(){return!!this._cd?.control?.untouched}get isPristine(){return!!this._cd?.control?.pristine}get isDirty(){return!!this._cd?.control?.dirty}get isValid(){return!!this._cd?.control?.valid}get isInvalid(){return!!this._cd?.control?.invalid}get isPending(){return!!this._cd?.control?.pending}get isSubmitted(){return!!this._cd?.submitted}}{constructor(n){super(n)}}return e.\u0275fac=function(n){return new(n||e)(v(jn,2))},e.\u0275dir=O({type:e,selectors:[["","formControlName",""],["","ngModel",""],["","formControl",""]],hostVars:14,hostBindings:function(n,i){2&n&&Os("ng-untouched",i.isUntouched)("ng-touched",i.isTouched)("ng-pristine",i.isPristine)("ng-dirty",i.isDirty)("ng-valid",i.isValid)("ng-invalid",i.isInvalid)("ng-pending",i.isPending)},features:[ie]}),e})();const _o="VALID",_a="INVALID",cr="PENDING",Do="DISABLED";function Kv(e){return Array.isArray(e)?gd(e):e||null}function Zv(e){return Array.isArray(e)?md(e):e||null}function Da(e){return null!=e&&!Array.isArray(e)&&"object"==typeof e}function Co(e,t){(function Md(e,t){const n=function $v(e){return e._rawValidators}(e);null!==t.validator?e.setValidators(Hv(n,t.validator)):"function"==typeof n&&e.setValidators([n]);const i=function Gv(e){return e._rawAsyncValidators}(e);null!==t.asyncValidator?e.setAsyncValidators(Hv(i,t.asyncValidator)):"function"==typeof i&&e.setAsyncValidators([i]);const r=()=>e.updateValueAndValidity();Ea(t._rawValidators,r),Ea(t._rawAsyncValidators,r)})(e,t),t.valueAccessor.writeValue(e.value),e.disabled&&t.valueAccessor.setDisabledState?.(!0),function Kx(e,t){t.valueAccessor.registerOnChange(n=>{e._pendingValue=n,e._pendingChange=!0,e._pendingDirty=!0,"change"===e.updateOn&&tA(e,t)})}(e,t),function Yx(e,t){const n=(i,r)=>{t.valueAccessor.writeValue(i),r&&t.viewToModelUpdate(i)};e.registerOnChange(n),t._registerOnDestroy(()=>{e._unregisterOnChange(n)})}(e,t),function Zx(e,t){t.valueAccessor.registerOnTouched(()=>{e._pendingTouched=!0,"blur"===e.updateOn&&e._pendingChange&&tA(e,t),"submit"!==e.updateOn&&e.markAsTouched()})}(e,t),function Qx(e,t){if(t.valueAccessor.setDisabledState){const n=i=>{t.valueAccessor.setDisabledState(i)};e.registerOnDisabledChange(n),t._registerOnDestroy(()=>{e._unregisterOnDisabledChange(n)})}}(e,t)}function Ea(e,t){e.forEach(n=>{n.registerOnValidatorChange&&n.registerOnValidatorChange(t)})}function tA(e,t){e._pendingDirty&&e.markAsDirty(),e.setValue(e._pendingValue,{emitModelToViewChange:!1}),t.viewToModelUpdate(e._pendingValue),e._pendingChange=!1}function oA(e,t){const n=e.indexOf(t);n>-1&&e.splice(n,1)}function sA(e){return"object"==typeof e&&null!==e&&2===Object.keys(e).length&&"value"in e&&"disabled"in e}const sT={provide:jn,useExisting:le(()=>Ia)},cA=(()=>Promise.resolve())();let Ia=(()=>{class e extends jn{constructor(n,i,r,o,s){super(),this._changeDetectorRef=s,this.control=new class extends class eA{constructor(t,n){this._pendingDirty=!1,this._hasOwnPendingAsyncValidator=!1,this._pendingTouched=!1,this._onCollectionChange=()=>{},this._parent=null,this.pristine=!0,this.touched=!1,this._onDisabledChange=[],this._rawValidators=t,this._rawAsyncValidators=n,this._composedValidatorFn=Kv(this._rawValidators),this._composedAsyncValidatorFn=Zv(this._rawAsyncValidators)}get validator(){return this._composedValidatorFn}set validator(t){this._rawValidators=this._composedValidatorFn=t}get asyncValidator(){return this._composedAsyncValidatorFn}set asyncValidator(t){this._rawAsyncValidators=this._composedAsyncValidatorFn=t}get parent(){return this._parent}get valid(){return this.status===_o}get invalid(){return this.status===_a}get pending(){return this.status==cr}get disabled(){return this.status===Do}get enabled(){return this.status!==Do}get dirty(){return!this.pristine}get untouched(){return!this.touched}get updateOn(){return this._updateOn?this._updateOn:this.parent?this.parent.updateOn:"change"}setValidators(t){this._rawValidators=t,this._composedValidatorFn=Kv(t)}setAsyncValidators(t){this._rawAsyncValidators=t,this._composedAsyncValidatorFn=Zv(t)}addValidators(t){this.setValidators(zv(t,this._rawValidators))}addAsyncValidators(t){this.setAsyncValidators(zv(t,this._rawAsyncValidators))}removeValidators(t){this.setValidators(Wv(t,this._rawValidators))}removeAsyncValidators(t){this.setAsyncValidators(Wv(t,this._rawAsyncValidators))}hasValidator(t){return Aa(this._rawValidators,t)}hasAsyncValidator(t){return Aa(this._rawAsyncValidators,t)}clearValidators(){this.validator=null}clearAsyncValidators(){this.asyncValidator=null}markAsTouched(t={}){this.touched=!0,this._parent&&!t.onlySelf&&this._parent.markAsTouched(t)}markAllAsTouched(){this.markAsTouched({onlySelf:!0}),this._forEachChild(t=>t.markAllAsTouched())}markAsUntouched(t={}){this.touched=!1,this._pendingTouched=!1,this._forEachChild(n=>{n.markAsUntouched({onlySelf:!0})}),this._parent&&!t.onlySelf&&this._parent._updateTouched(t)}markAsDirty(t={}){this.pristine=!1,this._parent&&!t.onlySelf&&this._parent.markAsDirty(t)}markAsPristine(t={}){this.pristine=!0,this._pendingDirty=!1,this._forEachChild(n=>{n.markAsPristine({onlySelf:!0})}),this._parent&&!t.onlySelf&&this._parent._updatePristine(t)}markAsPending(t={}){this.status=cr,!1!==t.emitEvent&&this.statusChanges.emit(this.status),this._parent&&!t.onlySelf&&this._parent.markAsPending(t)}disable(t={}){const n=this._parentMarkedDirty(t.onlySelf);this.status=Do,this.errors=null,this._forEachChild(i=>{i.disable({...t,onlySelf:!0})}),this._updateValue(),!1!==t.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._updateAncestors({...t,skipPristineCheck:n}),this._onDisabledChange.forEach(i=>i(!0))}enable(t={}){const n=this._parentMarkedDirty(t.onlySelf);this.status=_o,this._forEachChild(i=>{i.enable({...t,onlySelf:!0})}),this.updateValueAndValidity({onlySelf:!0,emitEvent:t.emitEvent}),this._updateAncestors({...t,skipPristineCheck:n}),this._onDisabledChange.forEach(i=>i(!1))}_updateAncestors(t){this._parent&&!t.onlySelf&&(this._parent.updateValueAndValidity(t),t.skipPristineCheck||this._parent._updatePristine(),this._parent._updateTouched())}setParent(t){this._parent=t}getRawValue(){return this.value}updateValueAndValidity(t={}){this._setInitialStatus(),this._updateValue(),this.enabled&&(this._cancelExistingSubscription(),this.errors=this._runValidator(),this.status=this._calculateStatus(),(this.status===_o||this.status===cr)&&this._runAsyncValidator(t.emitEvent)),!1!==t.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._parent&&!t.onlySelf&&this._parent.updateValueAndValidity(t)}_updateTreeValidity(t={emitEvent:!0}){this._forEachChild(n=>n._updateTreeValidity(t)),this.updateValueAndValidity({onlySelf:!0,emitEvent:t.emitEvent})}_setInitialStatus(){this.status=this._allControlsDisabled()?Do:_o}_runValidator(){return this.validator?this.validator(this):null}_runAsyncValidator(t){if(this.asyncValidator){this.status=cr,this._hasOwnPendingAsyncValidator=!0;const n=Lv(this.asyncValidator(this));this._asyncValidationSubscription=n.subscribe(i=>{this._hasOwnPendingAsyncValidator=!1,this.setErrors(i,{emitEvent:t})})}}_cancelExistingSubscription(){this._asyncValidationSubscription&&(this._asyncValidationSubscription.unsubscribe(),this._hasOwnPendingAsyncValidator=!1)}setErrors(t,n={}){this.errors=t,this._updateControlsErrors(!1!==n.emitEvent)}get(t){let n=t;return null==n||(Array.isArray(n)||(n=n.split(".")),0===n.length)?null:n.reduce((i,r)=>i&&i._find(r),this)}getError(t,n){const i=n?this.get(n):this;return i&&i.errors?i.errors[t]:null}hasError(t,n){return!!this.getError(t,n)}get root(){let t=this;for(;t._parent;)t=t._parent;return t}_updateControlsErrors(t){this.status=this._calculateStatus(),t&&this.statusChanges.emit(this.status),this._parent&&this._parent._updateControlsErrors(t)}_initObservables(){this.valueChanges=new Ae,this.statusChanges=new Ae}_calculateStatus(){return this._allControlsDisabled()?Do:this.errors?_a:this._hasOwnPendingAsyncValidator||this._anyControlsHaveStatus(cr)?cr:this._anyControlsHaveStatus(_a)?_a:_o}_anyControlsHaveStatus(t){return this._anyControls(n=>n.status===t)}_anyControlsDirty(){return this._anyControls(t=>t.dirty)}_anyControlsTouched(){return this._anyControls(t=>t.touched)}_updatePristine(t={}){this.pristine=!this._anyControlsDirty(),this._parent&&!t.onlySelf&&this._parent._updatePristine(t)}_updateTouched(t={}){this.touched=this._anyControlsTouched(),this._parent&&!t.onlySelf&&this._parent._updateTouched(t)}_registerOnCollectionChange(t){this._onCollectionChange=t}_setUpdateStrategy(t){Da(t)&&null!=t.updateOn&&(this._updateOn=t.updateOn)}_parentMarkedDirty(t){return!t&&!(!this._parent||!this._parent.dirty)&&!this._parent._anyControlsDirty()}_find(t){return null}}{constructor(t=null,n,i){super(function _d(e){return(Da(e)?e.validators:e)||null}(n),function Dd(e,t){return(Da(t)?t.asyncValidators:e)||null}(i,n)),this.defaultValue=null,this._onChange=[],this._pendingChange=!1,this._applyFormState(t),this._setUpdateStrategy(n),this._initObservables(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator}),Da(n)&&(n.nonNullable||n.initialValueIsDefault)&&(this.defaultValue=sA(t)?t.value:t)}setValue(t,n={}){this.value=this._pendingValue=t,this._onChange.length&&!1!==n.emitModelToViewChange&&this._onChange.forEach(i=>i(this.value,!1!==n.emitViewToModelChange)),this.updateValueAndValidity(n)}patchValue(t,n={}){this.setValue(t,n)}reset(t=this.defaultValue,n={}){this._applyFormState(t),this.markAsPristine(n),this.markAsUntouched(n),this.setValue(this.value,n),this._pendingChange=!1}_updateValue(){}_anyControls(t){return!1}_allControlsDisabled(){return this.disabled}registerOnChange(t){this._onChange.push(t)}_unregisterOnChange(t){oA(this._onChange,t)}registerOnDisabledChange(t){this._onDisabledChange.push(t)}_unregisterOnDisabledChange(t){oA(this._onDisabledChange,t)}_forEachChild(t){}_syncPendingControls(){return!("submit"!==this.updateOn||(this._pendingDirty&&this.markAsDirty(),this._pendingTouched&&this.markAsTouched(),!this._pendingChange)||(this.setValue(this._pendingValue,{onlySelf:!0,emitModelToViewChange:!1}),0))}_applyFormState(t){sA(t)?(this.value=this._pendingValue=t.value,t.disabled?this.disable({onlySelf:!0,emitEvent:!1}):this.enable({onlySelf:!0,emitEvent:!1})):this.value=this._pendingValue=t}},this._registered=!1,this.update=new Ae,this._parent=n,this._setValidators(i),this._setAsyncValidators(r),this.valueAccessor=function Sd(e,t){if(!t)return null;let n,i,r;return Array.isArray(t),t.forEach(o=>{o.constructor===pd?n=o:function tT(e){return Object.getPrototypeOf(e.constructor)===pi}(o)?i=o:r=o}),r||i||n||null}(0,o)}ngOnChanges(n){if(this._checkForErrors(),!this._registered||"name"in n){if(this._registered&&(this._checkName(),this.formDirective)){const i=n.name.previousValue;this.formDirective.removeControl({name:i,path:this._getPath(i)})}this._setUpControl()}"isDisabled"in n&&this._updateDisabled(n),function Ed(e,t){if(!e.hasOwnProperty("model"))return!1;const n=e.model;return!!n.isFirstChange()||!Object.is(t,n.currentValue)}(n,this.viewModel)&&(this._updateValue(this.model),this.viewModel=this.model)}ngOnDestroy(){this.formDirective&&this.formDirective.removeControl(this)}get path(){return this._getPath(this.name)}get formDirective(){return this._parent?this._parent.formDirective:null}viewToModelUpdate(n){this.viewModel=n,this.update.emit(n)}_setUpControl(){this._setUpdateStrategy(),this._isStandalone()?this._setUpStandalone():this.formDirective.addControl(this),this._registered=!0}_setUpdateStrategy(){this.options&&null!=this.options.updateOn&&(this.control._updateOn=this.options.updateOn)}_isStandalone(){return!this._parent||!(!this.options||!this.options.standalone)}_setUpStandalone(){Co(this.control,this),this.control.updateValueAndValidity({emitEvent:!1})}_checkForErrors(){this._isStandalone()||this._checkParentType(),this._checkName()}_checkParentType(){}_checkName(){this.options&&this.options.name&&(this.name=this.options.name),this._isStandalone()}_updateValue(n){cA.then(()=>{this.control.setValue(n,{emitViewToModelChange:!1}),this._changeDetectorRef?.markForCheck()})}_updateDisabled(n){const i=n.isDisabled.currentValue,r=0!==i&&function _n(e){return"boolean"==typeof e?e:null!=e&&"false"!==e}(i);cA.then(()=>{r&&!this.control.disabled?this.control.disable():!r&&this.control.disabled&&this.control.enable(),this._changeDetectorRef?.markForCheck()})}_getPath(n){return this._parent?function Ca(e,t){return[...t.path,e]}(n,this._parent):[n]}}return e.\u0275fac=function(n){return new(n||e)(v(nt,9),v(Je,10),v(Vn,10),v(nn,10),v(Xs,8))},e.\u0275dir=O({type:e,selectors:[["","ngModel","",3,"formControlName","",3,"formControl",""]],inputs:{name:"name",isDisabled:["disabled","isDisabled"],model:["ngModel","model"],options:["ngModelOptions","options"]},outputs:{update:"ngModelChange"},exportAs:["ngModel"],features:[fe([sT]),ie,_t]}),e})(),hA=(()=>{class e{}return e.\u0275fac=function(n){return new(n||e)},e.\u0275mod=Jt({type:e}),e.\u0275inj=xt({}),e})(),TT=(()=>{class e{}return e.\u0275fac=function(n){return new(n||e)},e.\u0275mod=Jt({type:e}),e.\u0275inj=xt({imports:[hA]}),e})(),PT=(()=>{class e{}return e.\u0275fac=function(n){return new(n||e)},e.\u0275mod=Jt({type:e}),e.\u0275inj=xt({imports:[TT]}),e})();function k(...e){return Ce(e,br(e))}class Gt extends zt{constructor(t){super(),this._value=t}get value(){return this.getValue()}_subscribe(t){const n=super._subscribe(t);return!n.closed&&t.next(this._value),n}getValue(){const{hasError:t,thrownError:n,_value:i}=this;if(t)throw n;return this._throwIfClosed(),i}next(t){super.next(this._value=t)}}const ka=wr(e=>function(){e(this),this.name="EmptyError",this.message="no elements in sequence"});function xA(...e){const t=br(e),n=Gh(e),{args:i,keys:r}=_v(e);if(0===i.length)return Ce([],t);const o=new De(function NT(e,t,n=Qn){return i=>{TA(t,()=>{const{length:r}=e,o=new Array(r);let s=r,a=r;for(let l=0;l{const u=Ce(e[l],t);let c=!1;u.subscribe(ke(i,d=>{o[l]=d,c||(c=!0,a--),a||i.next(n(o.slice()))},()=>{--s||i.complete()}))},i)},i)}}(i,t,r?s=>Cv(r,s):Qn));return n?o.pipe(Dv(n)):o}function TA(e,t,n){e?sn(n,e,t):t()}function Fd(...e){return function FT(){return _i(1)}()(Ce(e,br(e)))}function PA(e){return new De(t=>{kt(e()).subscribe(t)})}function Eo(e,t){const n=ae(e)?e:()=>e,i=r=>r.error(n());return new De(t?r=>t.schedule(i,0,r):i)}function Ld(){return Fe((e,t)=>{let n=null;e._refCount++;const i=ke(t,void 0,void 0,void 0,()=>{if(!e||e._refCount<=0||0<--e._refCount)return void(n=null);const r=e._connection,o=n;n=null,r&&(!o||r===o)&&r.unsubscribe(),t.unsubscribe()});e.subscribe(i),i.closed||(n=e.connect())})}class RA extends De{constructor(t,n){super(),this.source=t,this.subjectFactory=n,this._subject=null,this._refCount=0,this._connection=null,xh(t)&&(this.lift=t.lift)}_subscribe(t){return this.getSubject().subscribe(t)}getSubject(){const t=this._subject;return(!t||t.isStopped)&&(this._subject=this.subjectFactory()),this._subject}_teardown(){this._refCount=0;const{_connection:t}=this;this._subject=this._connection=null,t?.unsubscribe()}connect(){let t=this._connection;if(!t){t=this._connection=new vt;const n=this.getSubject();t.add(this.source.subscribe(ke(n,void 0,()=>{this._teardown(),n.complete()},i=>{this._teardown(),n.error(i)},()=>this._teardown()))),t.closed&&(this._connection=null,t=vt.EMPTY)}return t}refCount(){return Ld()(this)}}function rn(e,t){return Fe((n,i)=>{let r=null,o=0,s=!1;const a=()=>s&&!r&&i.complete();n.subscribe(ke(i,l=>{r?.unsubscribe();let u=0;const c=o++;kt(e(l,c)).subscribe(r=ke(i,d=>i.next(t?t(l,d,c,u++):d),()=>{r=null,a()}))},()=>{s=!0,a()}))})}function So(e){return e<=0?()=>an:Fe((t,n)=>{let i=0;t.subscribe(ke(n,r=>{++i<=e&&(n.next(r),e<=i&&n.complete())}))})}function Un(e,t){return Fe((n,i)=>{let r=0;n.subscribe(ke(i,o=>e.call(t,o,r++)&&i.next(o)))})}function xa(e){return Fe((t,n)=>{let i=!1;t.subscribe(ke(n,r=>{i=!0,n.next(r)},()=>{i||n.next(e),n.complete()}))})}function NA(e=OT){return Fe((t,n)=>{let i=!1;t.subscribe(ke(n,r=>{i=!0,n.next(r)},()=>i?n.complete():n.error(e())))})}function OT(){return new ka}function Bn(e,t){const n=arguments.length>=2;return i=>i.pipe(e?Un((r,o)=>e(r,o,i)):Qn,So(1),n?xa(t):NA(()=>new ka))}function mi(e,t){return ae(t)?Ve(e,t,1):Ve(e,1)}function qe(e,t,n){const i=ae(e)||t||n?{next:e,error:t,complete:n}:e;return i?Fe((r,o)=>{var s;null===(s=i.subscribe)||void 0===s||s.call(i);let a=!0;r.subscribe(ke(o,l=>{var u;null===(u=i.next)||void 0===u||u.call(i,l),o.next(l)},()=>{var l;a=!1,null===(l=i.complete)||void 0===l||l.call(i),o.complete()},l=>{var u;a=!1,null===(u=i.error)||void 0===u||u.call(i,l),o.error(l)},()=>{var l,u;a&&(null===(l=i.unsubscribe)||void 0===l||l.call(i)),null===(u=i.finalize)||void 0===u||u.call(i)}))}):Qn}function Hn(e){return Fe((t,n)=>{let o,i=null,r=!1;i=t.subscribe(ke(n,void 0,void 0,s=>{o=kt(e(s,Hn(e)(t))),i?(i.unsubscribe(),i=null,o.subscribe(n)):r=!0})),r&&(i.unsubscribe(),i=null,o.subscribe(n))})}function VT(e,t,n,i,r){return(o,s)=>{let a=n,l=t,u=0;o.subscribe(ke(s,c=>{const d=u++;l=a?e(l,c,d):(a=!0,c),i&&s.next(l)},r&&(()=>{a&&s.next(l),s.complete()})))}}function FA(e,t){return Fe(VT(e,t,arguments.length>=2,!0))}function Od(e){return e<=0?()=>an:Fe((t,n)=>{let i=[];t.subscribe(ke(n,r=>{i.push(r),e{for(const r of i)n.next(r);n.complete()},void 0,()=>{i=null}))})}function LA(e,t){const n=arguments.length>=2;return i=>i.pipe(e?Un((r,o)=>e(r,o,i)):Qn,Od(1),n?xa(t):NA(()=>new ka))}function Vd(e){return Fe((t,n)=>{try{t.subscribe(n)}finally{n.add(e)}})}const W="primary",Io=Symbol("RouteTitle");class BT{constructor(t){this.params=t||{}}has(t){return Object.prototype.hasOwnProperty.call(this.params,t)}get(t){if(this.has(t)){const n=this.params[t];return Array.isArray(n)?n[0]:n}return null}getAll(t){if(this.has(t)){const n=this.params[t];return Array.isArray(n)?n:[n]}return[]}get keys(){return Object.keys(this.params)}}function dr(e){return new BT(e)}function HT(e,t,n){const i=n.path.split("/");if(i.length>e.length||"full"===n.pathMatch&&(t.hasChildren()||i.lengthi[o]===r)}return e===t}function VA(e){return Array.prototype.concat.apply([],e)}function jA(e){return e.length>0?e[e.length-1]:null}function Ue(e,t){for(const n in e)e.hasOwnProperty(n)&&t(e[n],n)}function $n(e){return tc(e)?e:no(e)?Ce(Promise.resolve(e)):k(e)}const zT={exact:function HA(e,t,n){if(!wi(e.segments,t.segments)||!Ta(e.segments,t.segments,n)||e.numberOfChildren!==t.numberOfChildren)return!1;for(const i in t.children)if(!e.children[i]||!HA(e.children[i],t.children[i],n))return!1;return!0},subset:$A},UA={exact:function WT(e,t){return on(e,t)},subset:function JT(e,t){return Object.keys(t).length<=Object.keys(e).length&&Object.keys(t).every(n=>OA(e[n],t[n]))},ignored:()=>!0};function BA(e,t,n){return zT[n.paths](e.root,t.root,n.matrixParams)&&UA[n.queryParams](e.queryParams,t.queryParams)&&!("exact"===n.fragment&&e.fragment!==t.fragment)}function $A(e,t,n){return GA(e,t,t.segments,n)}function GA(e,t,n,i){if(e.segments.length>n.length){const r=e.segments.slice(0,n.length);return!(!wi(r,n)||t.hasChildren()||!Ta(r,n,i))}if(e.segments.length===n.length){if(!wi(e.segments,n)||!Ta(e.segments,n,i))return!1;for(const r in t.children)if(!e.children[r]||!$A(e.children[r],t.children[r],i))return!1;return!0}{const r=n.slice(0,e.segments.length),o=n.slice(e.segments.length);return!!(wi(e.segments,r)&&Ta(e.segments,r,i)&&e.children[W])&&GA(e.children[W],t,o,i)}}function Ta(e,t,n){return t.every((i,r)=>UA[n](e[r].parameters,i.parameters))}class yi{constructor(t,n,i){this.root=t,this.queryParams=n,this.fragment=i}get queryParamMap(){return this._queryParamMap||(this._queryParamMap=dr(this.queryParams)),this._queryParamMap}toString(){return KT.serialize(this)}}class J{constructor(t,n){this.segments=t,this.children=n,this.parent=null,Ue(n,(i,r)=>i.parent=this)}hasChildren(){return this.numberOfChildren>0}get numberOfChildren(){return Object.keys(this.children).length}toString(){return Pa(this)}}class ko{constructor(t,n){this.path=t,this.parameters=n}get parameterMap(){return this._parameterMap||(this._parameterMap=dr(this.parameters)),this._parameterMap}toString(){return qA(this)}}function wi(e,t){return e.length===t.length&&e.every((n,i)=>n.path===t[i].path)}let zA=(()=>{class e{}return e.\u0275fac=function(n){return new(n||e)},e.\u0275prov=H({token:e,factory:function(){return new Ud},providedIn:"root"}),e})();class Ud{parse(t){const n=new oP(t);return new yi(n.parseRootSegment(),n.parseQueryParams(),n.parseFragment())}serialize(t){const n=`/${xo(t.root,!0)}`,i=function XT(e){const t=Object.keys(e).map(n=>{const i=e[n];return Array.isArray(i)?i.map(r=>`${Ra(n)}=${Ra(r)}`).join("&"):`${Ra(n)}=${Ra(i)}`}).filter(n=>!!n);return t.length?`?${t.join("&")}`:""}(t.queryParams);return`${n}${i}${"string"==typeof t.fragment?`#${function ZT(e){return encodeURI(e)}(t.fragment)}`:""}`}}const KT=new Ud;function Pa(e){return e.segments.map(t=>qA(t)).join("/")}function xo(e,t){if(!e.hasChildren())return Pa(e);if(t){const n=e.children[W]?xo(e.children[W],!1):"",i=[];return Ue(e.children,(r,o)=>{o!==W&&i.push(`${o}:${xo(r,!1)}`)}),i.length>0?`${n}(${i.join("//")})`:n}{const n=function QT(e,t){let n=[];return Ue(e.children,(i,r)=>{r===W&&(n=n.concat(t(i,r)))}),Ue(e.children,(i,r)=>{r!==W&&(n=n.concat(t(i,r)))}),n}(e,(i,r)=>r===W?[xo(e.children[W],!1)]:[`${r}:${xo(i,!1)}`]);return 1===Object.keys(e.children).length&&null!=e.children[W]?`${Pa(e)}/${n[0]}`:`${Pa(e)}/(${n.join("//")})`}}function WA(e){return encodeURIComponent(e).replace(/%40/g,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",")}function Ra(e){return WA(e).replace(/%3B/gi,";")}function Bd(e){return WA(e).replace(/\(/g,"%28").replace(/\)/g,"%29").replace(/%26/gi,"&")}function Na(e){return decodeURIComponent(e)}function JA(e){return Na(e.replace(/\+/g,"%20"))}function qA(e){return`${Bd(e.path)}${function YT(e){return Object.keys(e).map(t=>`;${Bd(t)}=${Bd(e[t])}`).join("")}(e.parameters)}`}const eP=/^[^\/()?;=#]+/;function Fa(e){const t=e.match(eP);return t?t[0]:""}const tP=/^[^=?&#]+/,iP=/^[^&#]+/;class oP{constructor(t){this.url=t,this.remaining=t}parseRootSegment(){return this.consumeOptional("/"),""===this.remaining||this.peekStartsWith("?")||this.peekStartsWith("#")?new J([],{}):new J([],this.parseChildren())}parseQueryParams(){const t={};if(this.consumeOptional("?"))do{this.parseQueryParam(t)}while(this.consumeOptional("&"));return t}parseFragment(){return this.consumeOptional("#")?decodeURIComponent(this.remaining):null}parseChildren(){if(""===this.remaining)return{};this.consumeOptional("/");const t=[];for(this.peekStartsWith("(")||t.push(this.parseSegment());this.peekStartsWith("/")&&!this.peekStartsWith("//")&&!this.peekStartsWith("/(");)this.capture("/"),t.push(this.parseSegment());let n={};this.peekStartsWith("/(")&&(this.capture("/"),n=this.parseParens(!0));let i={};return this.peekStartsWith("(")&&(i=this.parseParens(!1)),(t.length>0||Object.keys(n).length>0)&&(i[W]=new J(t,n)),i}parseSegment(){const t=Fa(this.remaining);if(""===t&&this.peekStartsWith(";"))throw new D(4009,!1);return this.capture(t),new ko(Na(t),this.parseMatrixParams())}parseMatrixParams(){const t={};for(;this.consumeOptional(";");)this.parseParam(t);return t}parseParam(t){const n=Fa(this.remaining);if(!n)return;this.capture(n);let i="";if(this.consumeOptional("=")){const r=Fa(this.remaining);r&&(i=r,this.capture(i))}t[Na(n)]=Na(i)}parseQueryParam(t){const n=function nP(e){const t=e.match(tP);return t?t[0]:""}(this.remaining);if(!n)return;this.capture(n);let i="";if(this.consumeOptional("=")){const s=function rP(e){const t=e.match(iP);return t?t[0]:""}(this.remaining);s&&(i=s,this.capture(i))}const r=JA(n),o=JA(i);if(t.hasOwnProperty(r)){let s=t[r];Array.isArray(s)||(s=[s],t[r]=s),s.push(o)}else t[r]=o}parseParens(t){const n={};for(this.capture("(");!this.consumeOptional(")")&&this.remaining.length>0;){const i=Fa(this.remaining),r=this.remaining[i.length];if("/"!==r&&")"!==r&&";"!==r)throw new D(4010,!1);let o;i.indexOf(":")>-1?(o=i.slice(0,i.indexOf(":")),this.capture(o),this.capture(":")):t&&(o=W);const s=this.parseChildren();n[o]=1===Object.keys(s).length?s[W]:new J([],s),this.consumeOptional("//")}return n}peekStartsWith(t){return this.remaining.startsWith(t)}consumeOptional(t){return!!this.peekStartsWith(t)&&(this.remaining=this.remaining.substring(t.length),!0)}capture(t){if(!this.consumeOptional(t))throw new D(4011,!1)}}function Hd(e){return e.segments.length>0?new J([],{[W]:e}):e}function La(e){const t={};for(const i of Object.keys(e.children)){const o=La(e.children[i]);(o.segments.length>0||o.hasChildren())&&(t[i]=o)}return function sP(e){if(1===e.numberOfChildren&&e.children[W]){const t=e.children[W];return new J(e.segments.concat(t.segments),t.children)}return e}(new J(e.segments,t))}function vi(e){return e instanceof yi}function uP(e,t,n,i,r){if(0===n.length)return hr(t.root,t.root,t.root,i,r);const o=function ZA(e){if("string"==typeof e[0]&&1===e.length&&"/"===e[0])return new KA(!0,0,e);let t=0,n=!1;const i=e.reduce((r,o,s)=>{if("object"==typeof o&&null!=o){if(o.outlets){const a={};return Ue(o.outlets,(l,u)=>{a[u]="string"==typeof l?l.split("/"):l}),[...r,{outlets:a}]}if(o.segmentPath)return[...r,o.segmentPath]}return"string"!=typeof o?[...r,o]:0===s?(o.split("/").forEach((a,l)=>{0==l&&"."===a||(0==l&&""===a?n=!0:".."===a?t++:""!=a&&r.push(a))}),r):[...r,o]},[]);return new KA(n,t,i)}(n);return o.toRoot()?hr(t.root,t.root,new J([],{}),i,r):function s(l){const u=function dP(e,t,n,i){if(e.isAbsolute)return new fr(t.root,!0,0);if(-1===i)return new fr(n,n===t.root,0);return function YA(e,t,n){let i=e,r=t,o=n;for(;o>r;){if(o-=r,i=i.parent,!i)throw new D(4005,!1);r=i.segments.length}return new fr(i,!1,r-o)}(n,i+(To(e.commands[0])?0:1),e.numberOfDoubleDots)}(o,t,e.snapshot?._urlSegment,l),c=u.processChildren?Ro(u.segmentGroup,u.index,o.commands):Gd(u.segmentGroup,u.index,o.commands);return hr(t.root,u.segmentGroup,c,i,r)}(e.snapshot?._lastPathIndex)}function To(e){return"object"==typeof e&&null!=e&&!e.outlets&&!e.segmentPath}function Po(e){return"object"==typeof e&&null!=e&&e.outlets}function hr(e,t,n,i,r){let s,o={};i&&Ue(i,(l,u)=>{o[u]=Array.isArray(l)?l.map(c=>`${c}`):`${l}`}),s=e===t?n:QA(e,t,n);const a=Hd(La(s));return new yi(a,o,r)}function QA(e,t,n){const i={};return Ue(e.children,(r,o)=>{i[o]=r===t?n:QA(r,t,n)}),new J(e.segments,i)}class KA{constructor(t,n,i){if(this.isAbsolute=t,this.numberOfDoubleDots=n,this.commands=i,t&&i.length>0&&To(i[0]))throw new D(4003,!1);const r=i.find(Po);if(r&&r!==jA(i))throw new D(4004,!1)}toRoot(){return this.isAbsolute&&1===this.commands.length&&"/"==this.commands[0]}}class fr{constructor(t,n,i){this.segmentGroup=t,this.processChildren=n,this.index=i}}function Gd(e,t,n){if(e||(e=new J([],{})),0===e.segments.length&&e.hasChildren())return Ro(e,t,n);const i=function fP(e,t,n){let i=0,r=t;const o={match:!1,pathIndex:0,commandIndex:0};for(;r=n.length)return o;const s=e.segments[r],a=n[i];if(Po(a))break;const l=`${a}`,u=i0&&void 0===l)break;if(l&&u&&"object"==typeof u&&void 0===u.outlets){if(!e0(l,u,s))return o;i+=2}else{if(!e0(l,{},s))return o;i++}r++}return{match:!0,pathIndex:r,commandIndex:i}}(e,t,n),r=n.slice(i.commandIndex);if(i.match&&i.pathIndex{"string"==typeof o&&(o=[o]),null!==o&&(r[s]=Gd(e.children[s],t,o))}),Ue(e.children,(o,s)=>{void 0===i[s]&&(r[s]=o)}),new J(e.segments,r)}}function zd(e,t,n){const i=e.segments.slice(0,t);let r=0;for(;r{"string"==typeof n&&(n=[n]),null!==n&&(t[i]=zd(new J([],{}),0,n))}),t}function XA(e){const t={};return Ue(e,(n,i)=>t[i]=`${n}`),t}function e0(e,t,n){return e==n.path&&on(t,n.parameters)}class Mn{constructor(t,n){this.id=t,this.url=n}}class Wd extends Mn{constructor(t,n,i="imperative",r=null){super(t,n),this.type=0,this.navigationTrigger=i,this.restoredState=r}toString(){return`NavigationStart(id: ${this.id}, url: '${this.url}')`}}class Ai extends Mn{constructor(t,n,i){super(t,n),this.urlAfterRedirects=i,this.type=1}toString(){return`NavigationEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}')`}}class Oa extends Mn{constructor(t,n,i,r){super(t,n),this.reason=i,this.code=r,this.type=2}toString(){return`NavigationCancel(id: ${this.id}, url: '${this.url}')`}}class t0 extends Mn{constructor(t,n,i,r){super(t,n),this.error=i,this.target=r,this.type=3}toString(){return`NavigationError(id: ${this.id}, url: '${this.url}', error: ${this.error})`}}class n0 extends Mn{constructor(t,n,i,r){super(t,n),this.urlAfterRedirects=i,this.state=r,this.type=4}toString(){return`RoutesRecognized(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class gP extends Mn{constructor(t,n,i,r){super(t,n),this.urlAfterRedirects=i,this.state=r,this.type=7}toString(){return`GuardsCheckStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class mP extends Mn{constructor(t,n,i,r,o){super(t,n),this.urlAfterRedirects=i,this.state=r,this.shouldActivate=o,this.type=8}toString(){return`GuardsCheckEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state}, shouldActivate: ${this.shouldActivate})`}}class yP extends Mn{constructor(t,n,i,r){super(t,n),this.urlAfterRedirects=i,this.state=r,this.type=5}toString(){return`ResolveStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class wP extends Mn{constructor(t,n,i,r){super(t,n),this.urlAfterRedirects=i,this.state=r,this.type=6}toString(){return`ResolveEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class vP{constructor(t){this.route=t,this.type=9}toString(){return`RouteConfigLoadStart(path: ${this.route.path})`}}class AP{constructor(t){this.route=t,this.type=10}toString(){return`RouteConfigLoadEnd(path: ${this.route.path})`}}class bP{constructor(t){this.snapshot=t,this.type=11}toString(){return`ChildActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class _P{constructor(t){this.snapshot=t,this.type=12}toString(){return`ChildActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class DP{constructor(t){this.snapshot=t,this.type=13}toString(){return`ActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class CP{constructor(t){this.snapshot=t,this.type=14}toString(){return`ActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class r0{constructor(t,n,i){this.routerEvent=t,this.position=n,this.anchor=i,this.type=15}toString(){return`Scroll(anchor: '${this.anchor}', position: '${this.position?`${this.position[0]}, ${this.position[1]}`:null}')`}}class o0{constructor(t){this._root=t}get root(){return this._root.value}parent(t){const n=this.pathFromRoot(t);return n.length>1?n[n.length-2]:null}children(t){const n=Jd(t,this._root);return n?n.children.map(i=>i.value):[]}firstChild(t){const n=Jd(t,this._root);return n&&n.children.length>0?n.children[0].value:null}siblings(t){const n=qd(t,this._root);return n.length<2?[]:n[n.length-2].children.map(r=>r.value).filter(r=>r!==t)}pathFromRoot(t){return qd(t,this._root).map(n=>n.value)}}function Jd(e,t){if(e===t.value)return t;for(const n of t.children){const i=Jd(e,n);if(i)return i}return null}function qd(e,t){if(e===t.value)return[t];for(const n of t.children){const i=qd(e,n);if(i.length)return i.unshift(t),i}return[]}class En{constructor(t,n){this.value=t,this.children=n}toString(){return`TreeNode(${this.value})`}}function pr(e){const t={};return e&&e.children.forEach(n=>t[n.value.outlet]=n),t}class s0 extends o0{constructor(t,n){super(t),this.snapshot=n,Qd(this,t)}toString(){return this.snapshot.toString()}}function a0(e,t){const n=function EP(e,t){const s=new Va([],{},{},"",{},W,t,null,e.root,-1,{});return new u0("",new En(s,[]))}(e,t),i=new Gt([new ko("",{})]),r=new Gt({}),o=new Gt({}),s=new Gt({}),a=new Gt(""),l=new Gn(i,r,s,a,o,W,t,n.root);return l.snapshot=n.root,new s0(new En(l,[]),n)}class Gn{constructor(t,n,i,r,o,s,a,l){this.url=t,this.params=n,this.queryParams=i,this.fragment=r,this.data=o,this.outlet=s,this.component=a,this.title=this.data?.pipe(K(u=>u[Io]))??k(void 0),this._futureSnapshot=l}get routeConfig(){return this._futureSnapshot.routeConfig}get root(){return this._routerState.root}get parent(){return this._routerState.parent(this)}get firstChild(){return this._routerState.firstChild(this)}get children(){return this._routerState.children(this)}get pathFromRoot(){return this._routerState.pathFromRoot(this)}get paramMap(){return this._paramMap||(this._paramMap=this.params.pipe(K(t=>dr(t)))),this._paramMap}get queryParamMap(){return this._queryParamMap||(this._queryParamMap=this.queryParams.pipe(K(t=>dr(t)))),this._queryParamMap}toString(){return this.snapshot?this.snapshot.toString():`Future(${this._futureSnapshot})`}}function l0(e,t="emptyOnly"){const n=e.pathFromRoot;let i=0;if("always"!==t)for(i=n.length-1;i>=1;){const r=n[i],o=n[i-1];if(r.routeConfig&&""===r.routeConfig.path)i--;else{if(o.component)break;i--}}return function SP(e){return e.reduce((t,n)=>({params:{...t.params,...n.params},data:{...t.data,...n.data},resolve:{...n.data,...t.resolve,...n.routeConfig?.data,...n._resolvedData}}),{params:{},data:{},resolve:{}})}(n.slice(i))}class Va{constructor(t,n,i,r,o,s,a,l,u,c,d,h){this.url=t,this.params=n,this.queryParams=i,this.fragment=r,this.data=o,this.outlet=s,this.component=a,this.title=this.data?.[Io],this.routeConfig=l,this._urlSegment=u,this._lastPathIndex=c,this._correctedLastPathIndex=h??c,this._resolve=d}get root(){return this._routerState.root}get parent(){return this._routerState.parent(this)}get firstChild(){return this._routerState.firstChild(this)}get children(){return this._routerState.children(this)}get pathFromRoot(){return this._routerState.pathFromRoot(this)}get paramMap(){return this._paramMap||(this._paramMap=dr(this.params)),this._paramMap}get queryParamMap(){return this._queryParamMap||(this._queryParamMap=dr(this.queryParams)),this._queryParamMap}toString(){return`Route(url:'${this.url.map(i=>i.toString()).join("/")}', path:'${this.routeConfig?this.routeConfig.path:""}')`}}class u0 extends o0{constructor(t,n){super(n),this.url=t,Qd(this,n)}toString(){return c0(this._root)}}function Qd(e,t){t.value._routerState=e,t.children.forEach(n=>Qd(e,n))}function c0(e){const t=e.children.length>0?` { ${e.children.map(c0).join(", ")} } `:"";return`${e.value}${t}`}function Kd(e){if(e.snapshot){const t=e.snapshot,n=e._futureSnapshot;e.snapshot=n,on(t.queryParams,n.queryParams)||e.queryParams.next(n.queryParams),t.fragment!==n.fragment&&e.fragment.next(n.fragment),on(t.params,n.params)||e.params.next(n.params),function $T(e,t){if(e.length!==t.length)return!1;for(let n=0;non(n.parameters,t[i].parameters))}(e.url,t.url);return n&&!(!e.parent!=!t.parent)&&(!e.parent||Zd(e.parent,t.parent))}function No(e,t,n){if(n&&e.shouldReuseRoute(t.value,n.value.snapshot)){const i=n.value;i._futureSnapshot=t.value;const r=function kP(e,t,n){return t.children.map(i=>{for(const r of n.children)if(e.shouldReuseRoute(i.value,r.value.snapshot))return No(e,i,r);return No(e,i)})}(e,t,n);return new En(i,r)}{if(e.shouldAttach(t.value)){const o=e.retrieve(t.value);if(null!==o){const s=o.route;return s.value._futureSnapshot=t.value,s.children=t.children.map(a=>No(e,a)),s}}const i=function xP(e){return new Gn(new Gt(e.url),new Gt(e.params),new Gt(e.queryParams),new Gt(e.fragment),new Gt(e.data),e.outlet,e.component,e)}(t.value),r=t.children.map(o=>No(e,o));return new En(i,r)}}const Yd="ngNavigationCancelingError";function d0(e,t){const{redirectTo:n,navigationBehaviorOptions:i}=vi(t)?{redirectTo:t,navigationBehaviorOptions:void 0}:t,r=h0(!1,0,t);return r.url=n,r.navigationBehaviorOptions=i,r}function h0(e,t,n){const i=new Error("NavigationCancelingError: "+(e||""));return i[Yd]=!0,i.cancellationCode=t,n&&(i.url=n),i}function f0(e){return p0(e)&&vi(e.url)}function p0(e){return e&&e[Yd]}class TP{constructor(){this.outlet=null,this.route=null,this.resolver=null,this.injector=null,this.children=new Fo,this.attachRef=null}}let Fo=(()=>{class e{constructor(){this.contexts=new Map}onChildOutletCreated(n,i){const r=this.getOrCreateContext(n);r.outlet=i,this.contexts.set(n,r)}onChildOutletDestroyed(n){const i=this.getContext(n);i&&(i.outlet=null,i.attachRef=null)}onOutletDeactivated(){const n=this.contexts;return this.contexts=new Map,n}onOutletReAttached(n){this.contexts=n}getOrCreateContext(n){let i=this.getContext(n);return i||(i=new TP,this.contexts.set(n,i)),i}getContext(n){return this.contexts.get(n)||null}}return e.\u0275fac=function(n){return new(n||e)},e.\u0275prov=H({token:e,factory:e.\u0275fac,providedIn:"root"}),e})();const ja=!1;let g0=(()=>{class e{constructor(n,i,r,o,s){this.parentContexts=n,this.location=i,this.changeDetector=o,this.environmentInjector=s,this.activated=null,this._activatedRoute=null,this.activateEvents=new Ae,this.deactivateEvents=new Ae,this.attachEvents=new Ae,this.detachEvents=new Ae,this.name=r||W,n.onChildOutletCreated(this.name,this)}ngOnDestroy(){this.parentContexts.getContext(this.name)?.outlet===this&&this.parentContexts.onChildOutletDestroyed(this.name)}ngOnInit(){if(!this.activated){const n=this.parentContexts.getContext(this.name);n&&n.route&&(n.attachRef?this.attach(n.attachRef,n.route):this.activateWith(n.route,n.injector))}}get isActivated(){return!!this.activated}get component(){if(!this.activated)throw new D(4012,ja);return this.activated.instance}get activatedRoute(){if(!this.activated)throw new D(4012,ja);return this._activatedRoute}get activatedRouteData(){return this._activatedRoute?this._activatedRoute.snapshot.data:{}}detach(){if(!this.activated)throw new D(4012,ja);this.location.detach();const n=this.activated;return this.activated=null,this._activatedRoute=null,this.detachEvents.emit(n.instance),n}attach(n,i){this.activated=n,this._activatedRoute=i,this.location.insert(n.hostView),this.attachEvents.emit(n.instance)}deactivate(){if(this.activated){const n=this.component;this.activated.destroy(),this.activated=null,this._activatedRoute=null,this.deactivateEvents.emit(n)}}activateWith(n,i){if(this.isActivated)throw new D(4013,ja);this._activatedRoute=n;const r=this.location,s=n._futureSnapshot.component,a=this.parentContexts.getOrCreateContext(this.name).children,l=new PP(n,a,r.injector);if(i&&function RP(e){return!!e.resolveComponentFactory}(i)){const u=i.resolveComponentFactory(s);this.activated=r.createComponent(u,r.length,l)}else this.activated=r.createComponent(s,{index:r.length,injector:l,environmentInjector:i??this.environmentInjector});this.changeDetector.markForCheck(),this.activateEvents.emit(this.activated.instance)}}return e.\u0275fac=function(n){return new(n||e)(v(Fo),v(Ut),function Pr(e){return function N_(e,t){if("class"===t)return e.classes;if("style"===t)return e.styles;const n=e.attrs;if(n){const i=n.length;let r=0;for(;r{class e{}return e.\u0275fac=function(n){return new(n||e)},e.\u0275cmp=Ci({type:e,selectors:[["ng-component"]],standalone:!0,features:[wy],decls:1,vars:0,template:function(n,i){1&n&&V(0,"router-outlet")},dependencies:[g0],encapsulation:2}),e})();function m0(e,t){return e.providers&&!e._injector&&(e._injector=Gs(e.providers,t,`Route: ${e.path}`)),e._injector??t}function th(e){const t=e.children&&e.children.map(th),n=t?{...e,children:t}:{...e};return!n.component&&!n.loadComponent&&(t||n.loadChildren)&&n.outlet&&n.outlet!==W&&(n.component=Xd),n}function It(e){return e.outlet||W}function y0(e,t){const n=e.filter(i=>It(i)===t);return n.push(...e.filter(i=>It(i)!==t)),n}function Lo(e){if(!e)return null;if(e.routeConfig?._injector)return e.routeConfig._injector;for(let t=e.parent;t;t=t.parent){const n=t.routeConfig;if(n?._loadedInjector)return n._loadedInjector;if(n?._injector)return n._injector}return null}class VP{constructor(t,n,i,r){this.routeReuseStrategy=t,this.futureState=n,this.currState=i,this.forwardEvent=r}activate(t){const n=this.futureState._root,i=this.currState?this.currState._root:null;this.deactivateChildRoutes(n,i,t),Kd(this.futureState.root),this.activateChildRoutes(n,i,t)}deactivateChildRoutes(t,n,i){const r=pr(n);t.children.forEach(o=>{const s=o.value.outlet;this.deactivateRoutes(o,r[s],i),delete r[s]}),Ue(r,(o,s)=>{this.deactivateRouteAndItsChildren(o,i)})}deactivateRoutes(t,n,i){const r=t.value,o=n?n.value:null;if(r===o)if(r.component){const s=i.getContext(r.outlet);s&&this.deactivateChildRoutes(t,n,s.children)}else this.deactivateChildRoutes(t,n,i);else o&&this.deactivateRouteAndItsChildren(n,i)}deactivateRouteAndItsChildren(t,n){t.value.component&&this.routeReuseStrategy.shouldDetach(t.value.snapshot)?this.detachAndStoreRouteSubtree(t,n):this.deactivateRouteAndOutlet(t,n)}detachAndStoreRouteSubtree(t,n){const i=n.getContext(t.value.outlet),r=i&&t.value.component?i.children:n,o=pr(t);for(const s of Object.keys(o))this.deactivateRouteAndItsChildren(o[s],r);if(i&&i.outlet){const s=i.outlet.detach(),a=i.children.onOutletDeactivated();this.routeReuseStrategy.store(t.value.snapshot,{componentRef:s,route:t,contexts:a})}}deactivateRouteAndOutlet(t,n){const i=n.getContext(t.value.outlet),r=i&&t.value.component?i.children:n,o=pr(t);for(const s of Object.keys(o))this.deactivateRouteAndItsChildren(o[s],r);i&&i.outlet&&(i.outlet.deactivate(),i.children.onOutletDeactivated(),i.attachRef=null,i.resolver=null,i.route=null)}activateChildRoutes(t,n,i){const r=pr(n);t.children.forEach(o=>{this.activateRoutes(o,r[o.value.outlet],i),this.forwardEvent(new CP(o.value.snapshot))}),t.children.length&&this.forwardEvent(new _P(t.value.snapshot))}activateRoutes(t,n,i){const r=t.value,o=n?n.value:null;if(Kd(r),r===o)if(r.component){const s=i.getOrCreateContext(r.outlet);this.activateChildRoutes(t,n,s.children)}else this.activateChildRoutes(t,n,i);else if(r.component){const s=i.getOrCreateContext(r.outlet);if(this.routeReuseStrategy.shouldAttach(r.snapshot)){const a=this.routeReuseStrategy.retrieve(r.snapshot);this.routeReuseStrategy.store(r.snapshot,null),s.children.onOutletReAttached(a.contexts),s.attachRef=a.componentRef,s.route=a.route.value,s.outlet&&s.outlet.attach(a.componentRef,a.route.value),Kd(a.route.value),this.activateChildRoutes(t,null,s.children)}else{const a=Lo(r.snapshot),l=a?.get(Qr)??null;s.attachRef=null,s.route=r,s.resolver=l,s.injector=a,s.outlet&&s.outlet.activateWith(r,s.injector),this.activateChildRoutes(t,null,s.children)}}else this.activateChildRoutes(t,null,i)}}class w0{constructor(t){this.path=t,this.route=this.path[this.path.length-1]}}class Ua{constructor(t,n){this.component=t,this.route=n}}function jP(e,t,n){const i=e._root;return Oo(i,t?t._root:null,n,[i.value])}function gr(e,t){const n=Symbol(),i=t.get(e,n);return i===n?"function"!=typeof e||function Ob(e){return null!==Jo(e)}(e)?t.get(e):e:i}function Oo(e,t,n,i,r={canDeactivateChecks:[],canActivateChecks:[]}){const o=pr(t);return e.children.forEach(s=>{(function BP(e,t,n,i,r={canDeactivateChecks:[],canActivateChecks:[]}){const o=e.value,s=t?t.value:null,a=n?n.getContext(e.value.outlet):null;if(s&&o.routeConfig===s.routeConfig){const l=function HP(e,t,n){if("function"==typeof n)return n(e,t);switch(n){case"pathParamsChange":return!wi(e.url,t.url);case"pathParamsOrQueryParamsChange":return!wi(e.url,t.url)||!on(e.queryParams,t.queryParams);case"always":return!0;case"paramsOrQueryParamsChange":return!Zd(e,t)||!on(e.queryParams,t.queryParams);default:return!Zd(e,t)}}(s,o,o.routeConfig.runGuardsAndResolvers);l?r.canActivateChecks.push(new w0(i)):(o.data=s.data,o._resolvedData=s._resolvedData),Oo(e,t,o.component?a?a.children:null:n,i,r),l&&a&&a.outlet&&a.outlet.isActivated&&r.canDeactivateChecks.push(new Ua(a.outlet.component,s))}else s&&Vo(t,a,r),r.canActivateChecks.push(new w0(i)),Oo(e,null,o.component?a?a.children:null:n,i,r)})(s,o[s.value.outlet],n,i.concat([s.value]),r),delete o[s.value.outlet]}),Ue(o,(s,a)=>Vo(s,n.getContext(a),r)),r}function Vo(e,t,n){const i=pr(e),r=e.value;Ue(i,(o,s)=>{Vo(o,r.component?t?t.children.getContext(s):null:t,n)}),n.canDeactivateChecks.push(new Ua(r.component&&t&&t.outlet&&t.outlet.isActivated?t.outlet.component:null,r))}function jo(e){return"function"==typeof e}function nh(e){return e instanceof ka||"EmptyError"===e?.name}const Ba=Symbol("INITIAL_VALUE");function mr(){return rn(e=>xA(e.map(t=>t.pipe(So(1),function LT(...e){const t=br(e);return Fe((n,i)=>{(t?Fd(e,n,t):Fd(e,n)).subscribe(i)})}(Ba)))).pipe(K(t=>{for(const n of t)if(!0!==n){if(n===Ba)return Ba;if(!1===n||n instanceof yi)return n}return!0}),Un(t=>t!==Ba),So(1)))}function v0(e){return function nb(...e){return Sh(e)}(qe(t=>{if(vi(t))throw d0(0,t)}),K(t=>!0===t))}const ih={matched:!1,consumedSegments:[],remainingSegments:[],parameters:{},positionalParamSegments:{}};function A0(e,t,n,i,r){const o=rh(e,t,n);return o.matched?function oR(e,t,n,i){const r=t.canMatch;return r&&0!==r.length?k(r.map(s=>{const a=gr(s,e);return $n(function qP(e){return e&&jo(e.canMatch)}(a)?a.canMatch(t,n):e.runInContext(()=>a(t,n)))})).pipe(mr(),v0()):k(!0)}(i=m0(t,i),t,n).pipe(K(s=>!0===s?o:{...ih})):k(o)}function rh(e,t,n){if(""===t.path)return"full"===t.pathMatch&&(e.hasChildren()||n.length>0)?{...ih}:{matched:!0,consumedSegments:[],remainingSegments:n,parameters:{},positionalParamSegments:{}};const r=(t.matcher||HT)(n,e,t);if(!r)return{...ih};const o={};Ue(r.posParams,(a,l)=>{o[l]=a.path});const s=r.consumed.length>0?{...o,...r.consumed[r.consumed.length-1].parameters}:o;return{matched:!0,consumedSegments:r.consumed,remainingSegments:n.slice(r.consumed.length),parameters:s,positionalParamSegments:r.posParams??{}}}function Ha(e,t,n,i,r="corrected"){if(n.length>0&&function lR(e,t,n){return n.some(i=>$a(e,t,i)&&It(i)!==W)}(e,n,i)){const s=new J(t,function aR(e,t,n,i){const r={};r[W]=i,i._sourceSegment=e,i._segmentIndexShift=t.length;for(const o of n)if(""===o.path&&It(o)!==W){const s=new J([],{});s._sourceSegment=e,s._segmentIndexShift=t.length,r[It(o)]=s}return r}(e,t,i,new J(n,e.children)));return s._sourceSegment=e,s._segmentIndexShift=t.length,{segmentGroup:s,slicedSegments:[]}}if(0===n.length&&function uR(e,t,n){return n.some(i=>$a(e,t,i))}(e,n,i)){const s=new J(e.segments,function sR(e,t,n,i,r,o){const s={};for(const a of i)if($a(e,n,a)&&!r[It(a)]){const l=new J([],{});l._sourceSegment=e,l._segmentIndexShift="legacy"===o?e.segments.length:t.length,s[It(a)]=l}return{...r,...s}}(e,t,n,i,e.children,r));return s._sourceSegment=e,s._segmentIndexShift=t.length,{segmentGroup:s,slicedSegments:n}}const o=new J(e.segments,e.children);return o._sourceSegment=e,o._segmentIndexShift=t.length,{segmentGroup:o,slicedSegments:n}}function $a(e,t,n){return(!(e.hasChildren()||t.length>0)||"full"!==n.pathMatch)&&""===n.path}function b0(e,t,n,i){return!!(It(e)===i||i!==W&&$a(t,n,e))&&("**"===e.path||rh(t,e,n).matched)}function _0(e,t,n){return 0===t.length&&!e.children[n]}const Ga=!1;class za{constructor(t){this.segmentGroup=t||null}}class D0{constructor(t){this.urlTree=t}}function Uo(e){return Eo(new za(e))}function C0(e){return Eo(new D0(e))}class fR{constructor(t,n,i,r,o){this.injector=t,this.configLoader=n,this.urlSerializer=i,this.urlTree=r,this.config=o,this.allowRedirects=!0}apply(){const t=Ha(this.urlTree.root,[],[],this.config).segmentGroup,n=new J(t.segments,t.children);return this.expandSegmentGroup(this.injector,this.config,n,W).pipe(K(o=>this.createUrlTree(La(o),this.urlTree.queryParams,this.urlTree.fragment))).pipe(Hn(o=>{if(o instanceof D0)return this.allowRedirects=!1,this.match(o.urlTree);throw o instanceof za?this.noMatchError(o):o}))}match(t){return this.expandSegmentGroup(this.injector,this.config,t.root,W).pipe(K(r=>this.createUrlTree(La(r),t.queryParams,t.fragment))).pipe(Hn(r=>{throw r instanceof za?this.noMatchError(r):r}))}noMatchError(t){return new D(4002,Ga)}createUrlTree(t,n,i){const r=Hd(t);return new yi(r,n,i)}expandSegmentGroup(t,n,i,r){return 0===i.segments.length&&i.hasChildren()?this.expandChildren(t,n,i).pipe(K(o=>new J([],o))):this.expandSegment(t,i,n,i.segments,r,!0)}expandChildren(t,n,i){const r=[];for(const o of Object.keys(i.children))"primary"===o?r.unshift(o):r.push(o);return Ce(r).pipe(mi(o=>{const s=i.children[o],a=y0(n,o);return this.expandSegmentGroup(t,a,s,o).pipe(K(l=>({segment:l,outlet:o})))}),FA((o,s)=>(o[s.outlet]=s.segment,o),{}),LA())}expandSegment(t,n,i,r,o,s){return Ce(i).pipe(mi(a=>this.expandSegmentAgainstRoute(t,n,i,a,r,o,s).pipe(Hn(u=>{if(u instanceof za)return k(null);throw u}))),Bn(a=>!!a),Hn((a,l)=>{if(nh(a))return _0(n,r,o)?k(new J([],{})):Uo(n);throw a}))}expandSegmentAgainstRoute(t,n,i,r,o,s,a){return b0(r,n,o,s)?void 0===r.redirectTo?this.matchSegmentAgainstRoute(t,n,r,o,s):a&&this.allowRedirects?this.expandSegmentAgainstRouteUsingRedirect(t,n,i,r,o,s):Uo(n):Uo(n)}expandSegmentAgainstRouteUsingRedirect(t,n,i,r,o,s){return"**"===r.path?this.expandWildCardWithParamsAgainstRouteUsingRedirect(t,i,r,s):this.expandRegularSegmentAgainstRouteUsingRedirect(t,n,i,r,o,s)}expandWildCardWithParamsAgainstRouteUsingRedirect(t,n,i,r){const o=this.applyRedirectCommands([],i.redirectTo,{});return i.redirectTo.startsWith("/")?C0(o):this.lineralizeSegments(i,o).pipe(Ve(s=>{const a=new J(s,{});return this.expandSegment(t,a,n,s,r,!1)}))}expandRegularSegmentAgainstRouteUsingRedirect(t,n,i,r,o,s){const{matched:a,consumedSegments:l,remainingSegments:u,positionalParamSegments:c}=rh(n,r,o);if(!a)return Uo(n);const d=this.applyRedirectCommands(l,r.redirectTo,c);return r.redirectTo.startsWith("/")?C0(d):this.lineralizeSegments(r,d).pipe(Ve(h=>this.expandSegment(t,n,i,h.concat(u),s,!1)))}matchSegmentAgainstRoute(t,n,i,r,o){return"**"===i.path?(t=m0(i,t),i.loadChildren?(i._loadedRoutes?k({routes:i._loadedRoutes,injector:i._loadedInjector}):this.configLoader.loadChildren(t,i)).pipe(K(a=>(i._loadedRoutes=a.routes,i._loadedInjector=a.injector,new J(r,{})))):k(new J(r,{}))):A0(n,i,r,t).pipe(rn(({matched:s,consumedSegments:a,remainingSegments:l})=>s?this.getChildConfig(t=i._injector??t,i,r).pipe(Ve(c=>{const d=c.injector??t,h=c.routes,{segmentGroup:f,slicedSegments:p}=Ha(n,a,l,h),g=new J(f.segments,f.children);if(0===p.length&&g.hasChildren())return this.expandChildren(d,h,g).pipe(K(y=>new J(a,y)));if(0===h.length&&0===p.length)return k(new J(a,{}));const m=It(i)===o;return this.expandSegment(d,g,h,p,m?W:o,!0).pipe(K(M=>new J(a.concat(M.segments),M.children)))})):Uo(n)))}getChildConfig(t,n,i){return n.children?k({routes:n.children,injector:t}):n.loadChildren?void 0!==n._loadedRoutes?k({routes:n._loadedRoutes,injector:n._loadedInjector}):function rR(e,t,n,i){const r=t.canLoad;return void 0===r||0===r.length?k(!0):k(r.map(s=>{const a=gr(s,e);return $n(function GP(e){return e&&jo(e.canLoad)}(a)?a.canLoad(t,n):e.runInContext(()=>a(t,n)))})).pipe(mr(),v0())}(t,n,i).pipe(Ve(r=>r?this.configLoader.loadChildren(t,n).pipe(qe(o=>{n._loadedRoutes=o.routes,n._loadedInjector=o.injector})):function dR(e){return Eo(h0(Ga,3))}())):k({routes:[],injector:t})}lineralizeSegments(t,n){let i=[],r=n.root;for(;;){if(i=i.concat(r.segments),0===r.numberOfChildren)return k(i);if(r.numberOfChildren>1||!r.children[W])return Eo(new D(4e3,Ga));r=r.children[W]}}applyRedirectCommands(t,n,i){return this.applyRedirectCreateUrlTree(n,this.urlSerializer.parse(n),t,i)}applyRedirectCreateUrlTree(t,n,i,r){const o=this.createSegmentGroup(t,n.root,i,r);return new yi(o,this.createQueryParams(n.queryParams,this.urlTree.queryParams),n.fragment)}createQueryParams(t,n){const i={};return Ue(t,(r,o)=>{if("string"==typeof r&&r.startsWith(":")){const a=r.substring(1);i[o]=n[a]}else i[o]=r}),i}createSegmentGroup(t,n,i,r){const o=this.createSegments(t,n.segments,i,r);let s={};return Ue(n.children,(a,l)=>{s[l]=this.createSegmentGroup(t,a,i,r)}),new J(o,s)}createSegments(t,n,i,r){return n.map(o=>o.path.startsWith(":")?this.findPosParam(t,o,r):this.findOrReturn(o,i))}findPosParam(t,n,i){const r=i[n.path.substring(1)];if(!r)throw new D(4001,Ga);return r}findOrReturn(t,n){let i=0;for(const r of n){if(r.path===t.path)return n.splice(i),r;i++}return t}}class gR{}class wR{constructor(t,n,i,r,o,s,a,l){this.injector=t,this.rootComponentType=n,this.config=i,this.urlTree=r,this.url=o,this.paramsInheritanceStrategy=s,this.relativeLinkResolution=a,this.urlSerializer=l}recognize(){const t=Ha(this.urlTree.root,[],[],this.config.filter(n=>void 0===n.redirectTo),this.relativeLinkResolution).segmentGroup;return this.processSegmentGroup(this.injector,this.config,t,W).pipe(K(n=>{if(null===n)return null;const i=new Va([],Object.freeze({}),Object.freeze({...this.urlTree.queryParams}),this.urlTree.fragment,{},W,this.rootComponentType,null,this.urlTree.root,-1,{}),r=new En(i,n),o=new u0(this.url,r);return this.inheritParamsAndData(o._root),o}))}inheritParamsAndData(t){const n=t.value,i=l0(n,this.paramsInheritanceStrategy);n.params=Object.freeze(i.params),n.data=Object.freeze(i.data),t.children.forEach(r=>this.inheritParamsAndData(r))}processSegmentGroup(t,n,i,r){return 0===i.segments.length&&i.hasChildren()?this.processChildren(t,n,i):this.processSegment(t,n,i,i.segments,r)}processChildren(t,n,i){return Ce(Object.keys(i.children)).pipe(mi(r=>{const o=i.children[r],s=y0(n,r);return this.processSegmentGroup(t,s,o,r)}),FA((r,o)=>r&&o?(r.push(...o),r):null),function jT(e,t=!1){return Fe((n,i)=>{let r=0;n.subscribe(ke(i,o=>{const s=e(o,r++);(s||t)&&i.next(o),!s&&i.complete()}))})}(r=>null!==r),xa(null),LA(),K(r=>{if(null===r)return null;const o=M0(r);return function vR(e){e.sort((t,n)=>t.value.outlet===W?-1:n.value.outlet===W?1:t.value.outlet.localeCompare(n.value.outlet))}(o),o}))}processSegment(t,n,i,r,o){return Ce(n).pipe(mi(s=>this.processSegmentAgainstRoute(s._injector??t,s,i,r,o)),Bn(s=>!!s),Hn(s=>{if(nh(s))return _0(i,r,o)?k([]):k(null);throw s}))}processSegmentAgainstRoute(t,n,i,r,o){if(n.redirectTo||!b0(n,i,r,o))return k(null);let s;if("**"===n.path){const a=r.length>0?jA(r).parameters:{},l=S0(i)+r.length;s=k({snapshot:new Va(r,a,Object.freeze({...this.urlTree.queryParams}),this.urlTree.fragment,k0(n),It(n),n.component??n._loadedComponent??null,n,E0(i),l,x0(n),l),consumedSegments:[],remainingSegments:[]})}else s=A0(i,n,r,t).pipe(K(({matched:a,consumedSegments:l,remainingSegments:u,parameters:c})=>{if(!a)return null;const d=S0(i)+l.length;return{snapshot:new Va(l,c,Object.freeze({...this.urlTree.queryParams}),this.urlTree.fragment,k0(n),It(n),n.component??n._loadedComponent??null,n,E0(i),d,x0(n),d),consumedSegments:l,remainingSegments:u}}));return s.pipe(rn(a=>{if(null===a)return k(null);const{snapshot:l,consumedSegments:u,remainingSegments:c}=a;t=n._injector??t;const d=n._loadedInjector??t,h=function AR(e){return e.children?e.children:e.loadChildren?e._loadedRoutes:[]}(n),{segmentGroup:f,slicedSegments:p}=Ha(i,u,c,h.filter(m=>void 0===m.redirectTo),this.relativeLinkResolution);if(0===p.length&&f.hasChildren())return this.processChildren(d,h,f).pipe(K(m=>null===m?null:[new En(l,m)]));if(0===h.length&&0===p.length)return k([new En(l,[])]);const g=It(n)===o;return this.processSegment(d,h,f,p,g?W:o).pipe(K(m=>null===m?null:[new En(l,m)]))}))}}function bR(e){const t=e.value.routeConfig;return t&&""===t.path&&void 0===t.redirectTo}function M0(e){const t=[],n=new Set;for(const i of e){if(!bR(i)){t.push(i);continue}const r=t.find(o=>i.value.routeConfig===o.value.routeConfig);void 0!==r?(r.children.push(...i.children),n.add(r)):t.push(i)}for(const i of n){const r=M0(i.children);t.push(new En(i.value,r))}return t.filter(i=>!n.has(i))}function E0(e){let t=e;for(;t._sourceSegment;)t=t._sourceSegment;return t}function S0(e){let t=e,n=t._segmentIndexShift??0;for(;t._sourceSegment;)t=t._sourceSegment,n+=t._segmentIndexShift??0;return n-1}function k0(e){return e.data||{}}function x0(e){return e.resolve||{}}function T0(e){return"string"==typeof e.title||null===e.title}function oh(e){return rn(t=>{const n=e(t);return n?Ce(n).pipe(K(()=>t)):k(t)})}let P0=(()=>{class e{buildTitle(n){let i,r=n.root;for(;void 0!==r;)i=this.getResolvedTitleForRoute(r)??i,r=r.children.find(o=>o.outlet===W);return i}getResolvedTitleForRoute(n){return n.data[Io]}}return e.\u0275fac=function(n){return new(n||e)},e.\u0275prov=H({token:e,factory:function(){return be(R0)},providedIn:"root"}),e})(),R0=(()=>{class e extends P0{constructor(n){super(),this.title=n}updateTitle(n){const i=this.buildTitle(n);void 0!==i&&this.title.setTitle(i)}}return e.\u0275fac=function(n){return new(n||e)(x(vv))},e.\u0275prov=H({token:e,factory:e.\u0275fac,providedIn:"root"}),e})();class kR{}class TR extends class xR{shouldDetach(t){return!1}store(t,n){}shouldAttach(t){return!1}retrieve(t){return null}shouldReuseRoute(t,n){return t.routeConfig===n.routeConfig}}{}const Ja=new R("",{providedIn:"root",factory:()=>({})}),sh=new R("ROUTES");let ah=(()=>{class e{constructor(n,i){this.injector=n,this.compiler=i,this.componentLoaders=new WeakMap,this.childrenLoaders=new WeakMap}loadComponent(n){if(this.componentLoaders.get(n))return this.componentLoaders.get(n);if(n._loadedComponent)return k(n._loadedComponent);this.onLoadStartListener&&this.onLoadStartListener(n);const i=$n(n.loadComponent()).pipe(qe(o=>{this.onLoadEndListener&&this.onLoadEndListener(n),n._loadedComponent=o}),Vd(()=>{this.componentLoaders.delete(n)})),r=new RA(i,()=>new zt).pipe(Ld());return this.componentLoaders.set(n,r),r}loadChildren(n,i){if(this.childrenLoaders.get(i))return this.childrenLoaders.get(i);if(i._loadedRoutes)return k({routes:i._loadedRoutes,injector:i._loadedInjector});this.onLoadStartListener&&this.onLoadStartListener(i);const o=this.loadModuleFactoryOrRoutes(i.loadChildren).pipe(K(a=>{this.onLoadEndListener&&this.onLoadEndListener(i);let l,u,c=!1;Array.isArray(a)?u=a:(l=a.create(n).injector,u=VA(l.get(sh,[],P.Self|P.Optional)));return{routes:u.map(th),injector:l}}),Vd(()=>{this.childrenLoaders.delete(i)})),s=new RA(o,()=>new zt).pipe(Ld());return this.childrenLoaders.set(i,s),s}loadModuleFactoryOrRoutes(n){return $n(n()).pipe(Ve(i=>i instanceof my||Array.isArray(i)?k(i):Ce(this.compiler.compileModuleAsync(i))))}}return e.\u0275fac=function(n){return new(n||e)(x(Ct),x(Sc))},e.\u0275prov=H({token:e,factory:e.\u0275fac,providedIn:"root"}),e})();class RR{}class NR{shouldProcessUrl(t){return!0}extract(t){return t}merge(t,n){return t}}function FR(e){throw e}function LR(e,t,n){return t.parse("/")}const OR={paths:"exact",fragment:"ignored",matrixParams:"ignored",queryParams:"exact"},VR={paths:"subset",fragment:"ignored",matrixParams:"ignored",queryParams:"subset"};function F0(){const e=be(zA),t=be(Fo),n=be(Hc),i=be(Ct),r=be(Sc),o=be(sh,{optional:!0})??[],s=be(Ja,{optional:!0})??{},a=be(R0),l=be(P0,{optional:!0}),u=be(RR,{optional:!0}),c=be(kR,{optional:!0}),d=new Oe(null,e,t,n,i,r,VA(o));return u&&(d.urlHandlingStrategy=u),c&&(d.routeReuseStrategy=c),d.titleStrategy=l??a,function jR(e,t){e.errorHandler&&(t.errorHandler=e.errorHandler),e.malformedUriErrorHandler&&(t.malformedUriErrorHandler=e.malformedUriErrorHandler),e.onSameUrlNavigation&&(t.onSameUrlNavigation=e.onSameUrlNavigation),e.paramsInheritanceStrategy&&(t.paramsInheritanceStrategy=e.paramsInheritanceStrategy),e.relativeLinkResolution&&(t.relativeLinkResolution=e.relativeLinkResolution),e.urlUpdateStrategy&&(t.urlUpdateStrategy=e.urlUpdateStrategy),e.canceledNavigationResolution&&(t.canceledNavigationResolution=e.canceledNavigationResolution)}(s,d),d}let Oe=(()=>{class e{constructor(n,i,r,o,s,a,l){this.rootComponentType=n,this.urlSerializer=i,this.rootContexts=r,this.location=o,this.config=l,this.lastSuccessfulNavigation=null,this.currentNavigation=null,this.disposed=!1,this.navigationId=0,this.currentPageId=0,this.isNgZoneEnabled=!1,this.events=new zt,this.errorHandler=FR,this.malformedUriErrorHandler=LR,this.navigated=!1,this.lastSuccessfulId=-1,this.afterPreactivation=()=>k(void 0),this.urlHandlingStrategy=new NR,this.routeReuseStrategy=new TR,this.onSameUrlNavigation="ignore",this.paramsInheritanceStrategy="emptyOnly",this.urlUpdateStrategy="deferred",this.relativeLinkResolution="corrected",this.canceledNavigationResolution="replace",this.configLoader=s.get(ah),this.configLoader.onLoadEndListener=h=>this.triggerEvent(new AP(h)),this.configLoader.onLoadStartListener=h=>this.triggerEvent(new vP(h)),this.ngModule=s.get(di),this.console=s.get(vI);const d=s.get(Re);this.isNgZoneEnabled=d instanceof Re&&Re.isInAngularZone(),this.resetConfig(l),this.currentUrlTree=function GT(){return new yi(new J([],{}),{},null)}(),this.rawUrlTree=this.currentUrlTree,this.browserUrlTree=this.currentUrlTree,this.routerState=a0(this.currentUrlTree,this.rootComponentType),this.transitions=new Gt({id:0,targetPageId:0,currentUrlTree:this.currentUrlTree,currentRawUrl:this.currentUrlTree,extractedUrl:this.urlHandlingStrategy.extract(this.currentUrlTree),urlAfterRedirects:this.urlHandlingStrategy.extract(this.currentUrlTree),rawUrl:this.currentUrlTree,extras:{},resolve:null,reject:null,promise:Promise.resolve(!0),source:"imperative",restoredState:null,currentSnapshot:this.routerState.snapshot,targetSnapshot:null,currentRouterState:this.routerState,targetRouterState:null,guards:{canActivateChecks:[],canDeactivateChecks:[]},guardsResult:null}),this.navigations=this.setupNavigations(this.transitions),this.processNavigations()}get browserPageId(){return this.location.getState()?.\u0275routerPageId}setupNavigations(n){const i=this.events;return n.pipe(Un(r=>0!==r.id),K(r=>({...r,extractedUrl:this.urlHandlingStrategy.extract(r.rawUrl)})),rn(r=>{let o=!1,s=!1;return k(r).pipe(qe(a=>{this.currentNavigation={id:a.id,initialUrl:a.rawUrl,extractedUrl:a.extractedUrl,trigger:a.source,extras:a.extras,previousNavigation:this.lastSuccessfulNavigation?{...this.lastSuccessfulNavigation,previousNavigation:null}:null}}),rn(a=>{const l=this.browserUrlTree.toString(),u=!this.navigated||a.extractedUrl.toString()!==l||l!==this.currentUrlTree.toString();if(("reload"===this.onSameUrlNavigation||u)&&this.urlHandlingStrategy.shouldProcessUrl(a.rawUrl))return L0(a.source)&&(this.browserUrlTree=a.extractedUrl),k(a).pipe(rn(d=>{const h=this.transitions.getValue();return i.next(new Wd(d.id,this.serializeUrl(d.extractedUrl),d.source,d.restoredState)),h!==this.transitions.getValue()?an:Promise.resolve(d)}),function pR(e,t,n,i){return rn(r=>function hR(e,t,n,i,r){return new fR(e,t,n,i,r).apply()}(e,t,n,r.extractedUrl,i).pipe(K(o=>({...r,urlAfterRedirects:o}))))}(this.ngModule.injector,this.configLoader,this.urlSerializer,this.config),qe(d=>{this.currentNavigation={...this.currentNavigation,finalUrl:d.urlAfterRedirects},r.urlAfterRedirects=d.urlAfterRedirects}),function DR(e,t,n,i,r,o){return Ve(s=>function yR(e,t,n,i,r,o,s="emptyOnly",a="legacy"){return new wR(e,t,n,i,r,s,a,o).recognize().pipe(rn(l=>null===l?function mR(e){return new De(t=>t.error(e))}(new gR):k(l)))}(e,t,n,s.urlAfterRedirects,i.serialize(s.urlAfterRedirects),i,r,o).pipe(K(a=>({...s,targetSnapshot:a}))))}(this.ngModule.injector,this.rootComponentType,this.config,this.urlSerializer,this.paramsInheritanceStrategy,this.relativeLinkResolution),qe(d=>{if(r.targetSnapshot=d.targetSnapshot,"eager"===this.urlUpdateStrategy){if(!d.extras.skipLocationChange){const f=this.urlHandlingStrategy.merge(d.urlAfterRedirects,d.rawUrl);this.setBrowserUrl(f,d)}this.browserUrlTree=d.urlAfterRedirects}const h=new n0(d.id,this.serializeUrl(d.extractedUrl),this.serializeUrl(d.urlAfterRedirects),d.targetSnapshot);i.next(h)}));if(u&&this.rawUrlTree&&this.urlHandlingStrategy.shouldProcessUrl(this.rawUrlTree)){const{id:h,extractedUrl:f,source:p,restoredState:g,extras:m}=a,A=new Wd(h,this.serializeUrl(f),p,g);i.next(A);const M=a0(f,this.rootComponentType).snapshot;return k(r={...a,targetSnapshot:M,urlAfterRedirects:f,extras:{...m,skipLocationChange:!1,replaceUrl:!1}})}return this.rawUrlTree=a.rawUrl,a.resolve(null),an}),qe(a=>{const l=new gP(a.id,this.serializeUrl(a.extractedUrl),this.serializeUrl(a.urlAfterRedirects),a.targetSnapshot);this.triggerEvent(l)}),K(a=>r={...a,guards:jP(a.targetSnapshot,a.currentSnapshot,this.rootContexts)}),function KP(e,t){return Ve(n=>{const{targetSnapshot:i,currentSnapshot:r,guards:{canActivateChecks:o,canDeactivateChecks:s}}=n;return 0===s.length&&0===o.length?k({...n,guardsResult:!0}):function ZP(e,t,n,i){return Ce(e).pipe(Ve(r=>function iR(e,t,n,i,r){const o=t&&t.routeConfig?t.routeConfig.canDeactivate:null;return o&&0!==o.length?k(o.map(a=>{const l=Lo(t)??r,u=gr(a,l);return $n(function JP(e){return e&&jo(e.canDeactivate)}(u)?u.canDeactivate(e,t,n,i):l.runInContext(()=>u(e,t,n,i))).pipe(Bn())})).pipe(mr()):k(!0)}(r.component,r.route,n,t,i)),Bn(r=>!0!==r,!0))}(s,i,r,e).pipe(Ve(a=>a&&function $P(e){return"boolean"==typeof e}(a)?function YP(e,t,n,i){return Ce(t).pipe(mi(r=>Fd(function eR(e,t){return null!==e&&t&&t(new bP(e)),k(!0)}(r.route.parent,i),function XP(e,t){return null!==e&&t&&t(new DP(e)),k(!0)}(r.route,i),function nR(e,t,n){const i=t[t.length-1],o=t.slice(0,t.length-1).reverse().map(s=>function UP(e){const t=e.routeConfig?e.routeConfig.canActivateChild:null;return t&&0!==t.length?{node:e,guards:t}:null}(s)).filter(s=>null!==s).map(s=>PA(()=>k(s.guards.map(l=>{const u=Lo(s.node)??n,c=gr(l,u);return $n(function WP(e){return e&&jo(e.canActivateChild)}(c)?c.canActivateChild(i,e):u.runInContext(()=>c(i,e))).pipe(Bn())})).pipe(mr())));return k(o).pipe(mr())}(e,r.path,n),function tR(e,t,n){const i=t.routeConfig?t.routeConfig.canActivate:null;if(!i||0===i.length)return k(!0);const r=i.map(o=>PA(()=>{const s=Lo(t)??n,a=gr(o,s);return $n(function zP(e){return e&&jo(e.canActivate)}(a)?a.canActivate(t,e):s.runInContext(()=>a(t,e))).pipe(Bn())}));return k(r).pipe(mr())}(e,r.route,n))),Bn(r=>!0!==r,!0))}(i,o,e,t):k(a)),K(a=>({...n,guardsResult:a})))})}(this.ngModule.injector,a=>this.triggerEvent(a)),qe(a=>{if(r.guardsResult=a.guardsResult,vi(a.guardsResult))throw d0(0,a.guardsResult);const l=new mP(a.id,this.serializeUrl(a.extractedUrl),this.serializeUrl(a.urlAfterRedirects),a.targetSnapshot,!!a.guardsResult);this.triggerEvent(l)}),Un(a=>!!a.guardsResult||(this.restoreHistory(a),this.cancelNavigationTransition(a,"",3),!1)),oh(a=>{if(a.guards.canActivateChecks.length)return k(a).pipe(qe(l=>{const u=new yP(l.id,this.serializeUrl(l.extractedUrl),this.serializeUrl(l.urlAfterRedirects),l.targetSnapshot);this.triggerEvent(u)}),rn(l=>{let u=!1;return k(l).pipe(function CR(e,t){return Ve(n=>{const{targetSnapshot:i,guards:{canActivateChecks:r}}=n;if(!r.length)return k(n);let o=0;return Ce(r).pipe(mi(s=>function MR(e,t,n,i){const r=e.routeConfig,o=e._resolve;return void 0!==r?.title&&!T0(r)&&(o[Io]=r.title),function ER(e,t,n,i){const r=function SR(e){return[...Object.keys(e),...Object.getOwnPropertySymbols(e)]}(e);if(0===r.length)return k({});const o={};return Ce(r).pipe(Ve(s=>function IR(e,t,n,i){const r=Lo(t)??i,o=gr(e,r);return $n(o.resolve?o.resolve(t,n):r.runInContext(()=>o(t,n)))}(e[s],t,n,i).pipe(Bn(),qe(a=>{o[s]=a}))),Od(1),function UT(e){return K(()=>e)}(o),Hn(s=>nh(s)?an:Eo(s)))}(o,e,t,i).pipe(K(s=>(e._resolvedData=s,e.data=l0(e,n).resolve,r&&T0(r)&&(e.data[Io]=r.title),null)))}(s.route,i,e,t)),qe(()=>o++),Od(1),Ve(s=>o===r.length?k(n):an))})}(this.paramsInheritanceStrategy,this.ngModule.injector),qe({next:()=>u=!0,complete:()=>{u||(this.restoreHistory(l),this.cancelNavigationTransition(l,"",2))}}))}),qe(l=>{const u=new wP(l.id,this.serializeUrl(l.extractedUrl),this.serializeUrl(l.urlAfterRedirects),l.targetSnapshot);this.triggerEvent(u)}))}),oh(a=>{const l=u=>{const c=[];u.routeConfig?.loadComponent&&!u.routeConfig._loadedComponent&&c.push(this.configLoader.loadComponent(u.routeConfig).pipe(qe(d=>{u.component=d}),K(()=>{})));for(const d of u.children)c.push(...l(d));return c};return xA(l(a.targetSnapshot.root)).pipe(xa(),So(1))}),oh(()=>this.afterPreactivation()),K(a=>{const l=function IP(e,t,n){const i=No(e,t._root,n?n._root:void 0);return new s0(i,t)}(this.routeReuseStrategy,a.targetSnapshot,a.currentRouterState);return r={...a,targetRouterState:l}}),qe(a=>{this.currentUrlTree=a.urlAfterRedirects,this.rawUrlTree=this.urlHandlingStrategy.merge(a.urlAfterRedirects,a.rawUrl),this.routerState=a.targetRouterState,"deferred"===this.urlUpdateStrategy&&(a.extras.skipLocationChange||this.setBrowserUrl(this.rawUrlTree,a),this.browserUrlTree=a.urlAfterRedirects)}),((e,t,n)=>K(i=>(new VP(t,i.targetRouterState,i.currentRouterState,n).activate(e),i)))(this.rootContexts,this.routeReuseStrategy,a=>this.triggerEvent(a)),qe({next(){o=!0},complete(){o=!0}}),Vd(()=>{o||s||this.cancelNavigationTransition(r,"",1),this.currentNavigation?.id===r.id&&(this.currentNavigation=null)}),Hn(a=>{if(s=!0,p0(a)){f0(a)||(this.navigated=!0,this.restoreHistory(r,!0));const l=new Oa(r.id,this.serializeUrl(r.extractedUrl),a.message,a.cancellationCode);if(i.next(l),f0(a)){const u=this.urlHandlingStrategy.merge(a.url,this.rawUrlTree),c={skipLocationChange:r.extras.skipLocationChange,replaceUrl:"eager"===this.urlUpdateStrategy||L0(r.source)};this.scheduleNavigation(u,"imperative",null,c,{resolve:r.resolve,reject:r.reject,promise:r.promise})}else r.resolve(!1)}else{this.restoreHistory(r,!0);const l=new t0(r.id,this.serializeUrl(r.extractedUrl),a,r.targetSnapshot??void 0);i.next(l);try{r.resolve(this.errorHandler(a))}catch(u){r.reject(u)}}return an}))}))}resetRootComponentType(n){this.rootComponentType=n,this.routerState.root.component=this.rootComponentType}setTransition(n){this.transitions.next({...this.transitions.value,...n})}initialNavigation(){this.setUpLocationChangeListener(),0===this.navigationId&&this.navigateByUrl(this.location.path(!0),{replaceUrl:!0})}setUpLocationChangeListener(){this.locationSubscription||(this.locationSubscription=this.location.subscribe(n=>{const i="popstate"===n.type?"popstate":"hashchange";"popstate"===i&&setTimeout(()=>{const r={replaceUrl:!0},o=n.state?.navigationId?n.state:null;if(o){const a={...o};delete a.navigationId,delete a.\u0275routerPageId,0!==Object.keys(a).length&&(r.state=a)}const s=this.parseUrl(n.url);this.scheduleNavigation(s,i,o,r)},0)}))}get url(){return this.serializeUrl(this.currentUrlTree)}getCurrentNavigation(){return this.currentNavigation}triggerEvent(n){this.events.next(n)}resetConfig(n){this.config=n.map(th),this.navigated=!1,this.lastSuccessfulId=-1}ngOnDestroy(){this.dispose()}dispose(){this.transitions.complete(),this.locationSubscription&&(this.locationSubscription.unsubscribe(),this.locationSubscription=void 0),this.disposed=!0}createUrlTree(n,i={}){const{relativeTo:r,queryParams:o,fragment:s,queryParamsHandling:a,preserveFragment:l}=i,u=r||this.routerState.root,c=l?this.currentUrlTree.fragment:s;let d=null;switch(a){case"merge":d={...this.currentUrlTree.queryParams,...o};break;case"preserve":d=this.currentUrlTree.queryParams;break;default:d=o||null}return null!==d&&(d=this.removeEmptyProps(d)),uP(u,this.currentUrlTree,n,d,c??null)}navigateByUrl(n,i={skipLocationChange:!1}){const r=vi(n)?n:this.parseUrl(n),o=this.urlHandlingStrategy.merge(r,this.rawUrlTree);return this.scheduleNavigation(o,"imperative",null,i)}navigate(n,i={skipLocationChange:!1}){return function UR(e){for(let t=0;t{const o=n[r];return null!=o&&(i[r]=o),i},{})}processNavigations(){this.navigations.subscribe(n=>{this.navigated=!0,this.lastSuccessfulId=n.id,this.currentPageId=n.targetPageId,this.events.next(new Ai(n.id,this.serializeUrl(n.extractedUrl),this.serializeUrl(this.currentUrlTree))),this.lastSuccessfulNavigation=this.currentNavigation,this.titleStrategy?.updateTitle(this.routerState.snapshot),n.resolve(!0)},n=>{this.console.warn(`Unhandled Navigation Error: ${n}`)})}scheduleNavigation(n,i,r,o,s){if(this.disposed)return Promise.resolve(!1);let a,l,u;s?(a=s.resolve,l=s.reject,u=s.promise):u=new Promise((h,f)=>{a=h,l=f});const c=++this.navigationId;let d;return"computed"===this.canceledNavigationResolution?(0===this.currentPageId&&(r=this.location.getState()),d=r&&r.\u0275routerPageId?r.\u0275routerPageId:o.replaceUrl||o.skipLocationChange?this.browserPageId??0:(this.browserPageId??0)+1):d=0,this.setTransition({id:c,targetPageId:d,source:i,restoredState:r,currentUrlTree:this.currentUrlTree,currentRawUrl:this.rawUrlTree,rawUrl:n,extras:o,resolve:a,reject:l,promise:u,currentSnapshot:this.routerState.snapshot,currentRouterState:this.routerState}),u.catch(h=>Promise.reject(h))}setBrowserUrl(n,i){const r=this.urlSerializer.serialize(n),o={...i.extras.state,...this.generateNgRouterState(i.id,i.targetPageId)};this.location.isCurrentPathEqualTo(r)||i.extras.replaceUrl?this.location.replaceState(r,"",o):this.location.go(r,"",o)}restoreHistory(n,i=!1){if("computed"===this.canceledNavigationResolution){const r=this.currentPageId-n.targetPageId;"popstate"!==n.source&&"eager"!==this.urlUpdateStrategy&&this.currentUrlTree!==this.currentNavigation?.finalUrl||0===r?this.currentUrlTree===this.currentNavigation?.finalUrl&&0===r&&(this.resetState(n),this.browserUrlTree=n.currentUrlTree,this.resetUrlToCurrentUrlTree()):this.location.historyGo(r)}else"replace"===this.canceledNavigationResolution&&(i&&this.resetState(n),this.resetUrlToCurrentUrlTree())}resetState(n){this.routerState=n.currentRouterState,this.currentUrlTree=n.currentUrlTree,this.rawUrlTree=this.urlHandlingStrategy.merge(this.currentUrlTree,n.rawUrl)}resetUrlToCurrentUrlTree(){this.location.replaceState(this.urlSerializer.serialize(this.rawUrlTree),"",this.generateNgRouterState(this.lastSuccessfulId,this.currentPageId))}cancelNavigationTransition(n,i,r){const o=new Oa(n.id,this.serializeUrl(n.extractedUrl),i,r);this.triggerEvent(o),n.resolve(!1)}generateNgRouterState(n,i){return"computed"===this.canceledNavigationResolution?{navigationId:n,\u0275routerPageId:i}:{navigationId:n}}}return e.\u0275fac=function(n){Su()},e.\u0275prov=H({token:e,factory:function(){return F0()},providedIn:"root"}),e})();function L0(e){return"imperative"!==e}class O0{}let $R=(()=>{class e{constructor(n,i,r,o,s){this.router=n,this.injector=r,this.preloadingStrategy=o,this.loader=s}setUpPreloading(){this.subscription=this.router.events.pipe(Un(n=>n instanceof Ai),mi(()=>this.preload())).subscribe(()=>{})}preload(){return this.processRoutes(this.injector,this.router.config)}ngOnDestroy(){this.subscription&&this.subscription.unsubscribe()}processRoutes(n,i){const r=[];for(const o of i){o.providers&&!o._injector&&(o._injector=Gs(o.providers,n,`Route: ${o.path}`));const s=o._injector??n,a=o._loadedInjector??s;o.loadChildren&&!o._loadedRoutes&&void 0===o.canLoad||o.loadComponent&&!o._loadedComponent?r.push(this.preloadConfig(s,o)):(o.children||o._loadedRoutes)&&r.push(this.processRoutes(a,o.children??o._loadedRoutes))}return Ce(r).pipe(_i())}preloadConfig(n,i){return this.preloadingStrategy.preload(i,()=>{let r;r=i.loadChildren&&void 0===i.canLoad?this.loader.loadChildren(n,i):k(null);const o=r.pipe(Ve(s=>null===s?k(void 0):(i._loadedRoutes=s.routes,i._loadedInjector=s.injector,this.processRoutes(s.injector??n,s.routes))));return i.loadComponent&&!i._loadedComponent?Ce([o,this.loader.loadComponent(i)]).pipe(_i()):o})}}return e.\u0275fac=function(n){return new(n||e)(x(Oe),x(Sc),x(Pn),x(O0),x(ah))},e.\u0275prov=H({token:e,factory:e.\u0275fac,providedIn:"root"}),e})();const ch=new R("");let V0=(()=>{class e{constructor(n,i,r={}){this.router=n,this.viewportScroller=i,this.options=r,this.lastId=0,this.lastSource="imperative",this.restoredId=0,this.store={},r.scrollPositionRestoration=r.scrollPositionRestoration||"disabled",r.anchorScrolling=r.anchorScrolling||"disabled"}init(){"disabled"!==this.options.scrollPositionRestoration&&this.viewportScroller.setHistoryScrollRestoration("manual"),this.routerEventsSubscription=this.createScrollEvents(),this.scrollEventsSubscription=this.consumeScrollEvents()}createScrollEvents(){return this.router.events.subscribe(n=>{n instanceof Wd?(this.store[this.lastId]=this.viewportScroller.getScrollPosition(),this.lastSource=n.navigationTrigger,this.restoredId=n.restoredState?n.restoredState.navigationId:0):n instanceof Ai&&(this.lastId=n.id,this.scheduleScrollEvent(n,this.router.parseUrl(n.urlAfterRedirects).fragment))})}consumeScrollEvents(){return this.router.events.subscribe(n=>{n instanceof r0&&(n.position?"top"===this.options.scrollPositionRestoration?this.viewportScroller.scrollToPosition([0,0]):"enabled"===this.options.scrollPositionRestoration&&this.viewportScroller.scrollToPosition(n.position):n.anchor&&"enabled"===this.options.anchorScrolling?this.viewportScroller.scrollToAnchor(n.anchor):"disabled"!==this.options.scrollPositionRestoration&&this.viewportScroller.scrollToPosition([0,0]))})}scheduleScrollEvent(n,i){this.router.triggerEvent(new r0(n,"popstate"===this.lastSource?this.store[this.restoredId]:null,i))}ngOnDestroy(){this.routerEventsSubscription&&this.routerEventsSubscription.unsubscribe(),this.scrollEventsSubscription&&this.scrollEventsSubscription.unsubscribe()}}return e.\u0275fac=function(n){Su()},e.\u0275prov=H({token:e,factory:e.\u0275fac}),e})();function yr(e,t){return{\u0275kind:e,\u0275providers:t}}function dh(e){return[{provide:sh,multi:!0,useValue:e}]}function U0(){const e=be(Ct);return t=>{const n=e.get(Zs);if(t!==n.components[0])return;const i=e.get(Oe),r=e.get(B0);1===e.get(hh)&&i.initialNavigation(),e.get(H0,null,P.Optional)?.setUpPreloading(),e.get(ch,null,P.Optional)?.init(),i.resetRootComponentType(n.componentTypes[0]),r.closed||(r.next(),r.unsubscribe())}}const B0=new R("",{factory:()=>new zt}),hh=new R("",{providedIn:"root",factory:()=>1});const H0=new R("");function JR(e){return yr(0,[{provide:H0,useExisting:$R},{provide:O0,useExisting:e}])}const $0=new R("ROUTER_FORROOT_GUARD"),qR=[Hc,{provide:zA,useClass:Ud},{provide:Oe,useFactory:F0},Fo,{provide:Gn,useFactory:function j0(e){return e.routerState.root},deps:[Oe]},ah];function QR(){return new hw("Router",Oe)}let G0=(()=>{class e{constructor(n){}static forRoot(n,i){return{ngModule:e,providers:[qR,[],dh(n),{provide:$0,useFactory:XR,deps:[[Oe,new jr,new Ur]]},{provide:Ja,useValue:i||{}},i?.useHash?{provide:fi,useClass:a2}:{provide:fi,useClass:Ow},{provide:ch,useFactory:()=>{const e=be(Oe),t=be(Sk),n=be(Ja);return n.scrollOffset&&t.setOffset(n.scrollOffset),new V0(e,t,n)}},i?.preloadingStrategy?JR(i.preloadingStrategy).\u0275providers:[],{provide:hw,multi:!0,useFactory:QR},i?.initialNavigation?eN(i):[],[{provide:z0,useFactory:U0},{provide:ow,multi:!0,useExisting:z0}]]}}static forChild(n){return{ngModule:e,providers:[dh(n)]}}}return e.\u0275fac=function(n){return new(n||e)(x($0,8))},e.\u0275mod=Jt({type:e}),e.\u0275inj=xt({imports:[Xd]}),e})();function XR(e){return"guarded"}function eN(e){return["disabled"===e.initialNavigation?yr(3,[{provide:qs,multi:!0,useFactory:()=>{const t=be(Oe);return()=>{t.setUpLocationChangeListener()}}},{provide:hh,useValue:2}]).\u0275providers:[],"enabledBlocking"===e.initialNavigation?yr(2,[{provide:hh,useValue:0},{provide:qs,multi:!0,deps:[Ct],useFactory:t=>{const n=t.get(o2,Promise.resolve());let i=!1;return()=>n.then(()=>new Promise(o=>{const s=t.get(Oe),a=t.get(B0);(function r(o){t.get(Oe).events.pipe(Un(a=>a instanceof Ai||a instanceof Oa||a instanceof t0),K(a=>a instanceof Ai||a instanceof Oa&&(0===a.code||1===a.code)&&null),Un(a=>null!==a),So(1)).subscribe(()=>{o()})})(()=>{o(!0),i=!0}),s.afterPreactivation=()=>(o(!0),i||a.closed?k(void 0):a),s.initialNavigation()}))}}]).\u0275providers:[]]}const z0=new R(""),zn=JSON.parse('[{"name":"Mona Diab","affiliation":"CMU","position":"Director of the Language Technologies Institute","hindex":57,"photo":"./assets/images/mona-diab.jpeg","scholar":"https://scholar.google.com/citations?user=-y6SIhQAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/mona-diab-55946614/","website":"","twitter":"https://mobile.twitter.com/MonaDiab77","interests":["Responsible AI","Natural Language Processing","Computational Linguistics","Arabic NLP","Cross Lingual/Multilingual Processing","Machine Learning"],"citedby":18793,"lastupdate":"2024-05-29"},{"name":"Abdelrahman Mohamed","affiliation":"Rembrand","position":"Co-Founder","hindex":51,"photo":"./assets/images/abdelrahman-mohamed.jpeg","scholar":"https://scholar.google.ca/citations?user=tJ_PrzgAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/abdel-rahman-mohamed-a5808210/","website":"","twitter":"","interests":["Speech Processing","Speech Recognition","Speech Language Processing","Machine Learning"],"citedby":60779,"lastupdate":"2024-05-29"},{"name":"Samhaa R. El-Beltagy","affiliation":"New Giza University","position":"Dean of the School of Information Technology","hindex":26,"photo":"./assets/images/samhaa-el-beltagy.jpeg","scholar":"https://scholar.google.com/citations?user=xdz-3qgAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/samhaa-el-beltagy-b410a530","website":"","twitter":"","interests":["Arabic NLP","Text Mining","Information Extraction","Sentiment Analysis","Semantic Annotation"],"citedby":2963,"lastupdate":"2024-05-29"},{"name":"Kareem Darwish","affiliation":"aiXplain","position":"Principal Scientist","hindex":46,"photo":"./assets/images/kareem-darwish.jpeg","scholar":"https://scholar.google.com/citations?user=y7tlR6UAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/kareem-darwish-788b9125","website":"http://kareemdarwish.com/files/","twitter":"https://twitter.com/kareem2darwish","interests":["Arabic NLP","Information Retrieval","Computational Social Science","Natural Language Processing"],"citedby":6802,"lastupdate":"2024-05-29"},{"name":"Ahmed Rafea","affiliation":"American University in Cairo","position":"Professor","hindex":29,"photo":"./assets/images/ahmed-rafea.jpeg","scholar":"https://scholar.google.com/citations?user=szDaQLYAAAAJ&hl=en","linkedin":"","website":"https://www.aucegypt.edu/fac/ahmedrafea","twitter":"","interests":["Natural Language Processing","Machine Translation","Mining Social Media","Text Mining","Knowledge Engineering"],"citedby":3742,"lastupdate":"2024-05-29"},{"name":"Mohsen Rashwan","affiliation":"Cairo University","position":"Professor","hindex":23,"photo":"./assets/images/mohsen-rashwan.jpeg","scholar":"https://scholar.google.com/citations?user=Q4Ic2k0AAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/mohsen-rashwan-4719364","website":"","twitter":"","interests":["Machine Learning","Speech Processing","Natural Language Processing","Human Language Technology"],"citedby":1643,"lastupdate":"2024-05-29"},{"name":"Rana el Kaliouby","affiliation":"Smart Eye","position":"Deputy CEO","hindex":47,"photo":"./assets/images/rana-el-kaliouby.jpeg","scholar":"https://scholar.google.com/citations?user=tpg6xzgAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/kaliouby/","website":"https://ranaelkaliouby.com/","twitter":"https://twitter.com/kaliouby","interests":["Affective Computing","Emotion AI","Human Perception","Computer Vision","Machine Learning"],"citedby":7567,"lastupdate":"2024-05-29"},{"name":"Mohamed Afify","affiliation":"Microsoft","position":"Principal Researcher","hindex":18,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?user=1ZIc388AAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Machine Translation","Speech Recognition","Natural Language Processing","Adaptation Models","Computational Linguistics","Phonology"],"citedby":1240,"lastupdate":"2024-05-29"},{"name":"Hany Hassan Awadalla","affiliation":"Microsoft","position":"Partner Research Manager","hindex":31,"photo":"./assets/images/hany-hassan.jpeg","scholar":"https://scholar.google.com/citations?user=jqsVHbsAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/hany-hassan-awadalla/","website":"https://www.microsoft.com/en-us/research/people/hanyh/","twitter":"https://twitter.com/hany_hassan","interests":["Machine Translation","Machine Learning","Natural Language Processing","Deep Learning","Semi-supervised Learning"],"citedby":3768,"lastupdate":"2024-05-29"},{"name":"Ahmed Tawfik","affiliation":"Microsoft","position":"Principal Data and Applied Science Manager","hindex":11,"photo":"./assets/images/ahmed-tawfik.jpeg","scholar":"https://scholar.google.com.eg/citations?hl=en&user=8mRqcrIAAAAJ","linkedin":"https://www.linkedin.com/in/ahmed-tawfik-903a093","website":"https://www.microsoft.com/en-us/research/people/atawfik/","twitter":"","interests":["Machine Translation","Machine Learning","Natural Language Processing","Deep Learning","Text-to-Speech"],"citedby":438,"lastupdate":"2024-05-29"},{"name":"Mohamed Moustafa","affiliation":"Amazon","position":"Applied Science Manager","hindex":19,"photo":"./assets/images/mohamed-moustafa.jpeg","scholar":"https://scholar.google.com/citations?hl=en&user=QGdReUEAAAAJ","linkedin":"https://www.linkedin.com/in/mohamed-n-moustafa/","website":"https://www.aucegypt.edu/fac/mohamedmoustafa","twitter":"","interests":["Computer Vision","Machine Learning","Pattern Recognition","Biometrics","Deep Learning"],"citedby":1867,"lastupdate":"2024-05-29"},{"name":"Wael Hamza","affiliation":"Amazon","position":"Senior Principal Applied Scientist","hindex":24,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?user=rJnetakAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/wael-hamza-5454b63","website":"","twitter":"","interests":["Natural Language Processing","Machine Learning","Machine Translation","Natural Language Understanding","Speech"],"citedby":3232,"lastupdate":"2024-05-29"},{"name":"Iz Beltagy","affiliation":"Allen Institute for AI","position":"Senior Research Scientist","hindex":31,"photo":"./assets/images/iz-beltagy.jpeg","scholar":"https://scholar.google.com/citations?hl=en&user=jkV6H1gAAAAJ","linkedin":"https://www.linkedin.com/in/beltagy","website":"https://beltagy.net/","twitter":"https://twitter.com/i_beltagy","interests":["Natural Language Processing","Machine Learning"],"citedby":14096,"lastupdate":"2024-05-29"},{"name":"Waleed Ammar","affiliation":"Allen Institute for AI","position":"Product Manager","hindex":24,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?hl=en&user=4NZ58cQAAAAJ","linkedin":"","website":"https://wammar.github.io","twitter":"","interests":["Natural Language Processing","Machine Learning","Semantic Parsing"],"citedby":4878,"lastupdate":"2024-05-29"},{"name":"Ahmed H. Awadallah","affiliation":"Microsoft Research","position":"Senior Principal Research Manager","hindex":51,"photo":"./assets/images/ahmed-awadallah.jpeg","scholar":"https://scholar.google.com/citations?user=sNGk-9MAAAAJ&hl=en","linkedin":"","website":"https://www.microsoft.com/en-us/research/people/hassanam/","twitter":"","interests":["Natural Language Processing","Machine Learning","Information Retrieval"],"citedby":12115,"lastupdate":"2024-05-29"},{"name":"Hala Mostafa","affiliation":"Raytheon Technologies","position":"Manager","hindex":8,"photo":"./assets/images/hala-mostafa.jpeg","scholar":"https://scholar.google.com/citations?hl=en&user=zmNFj_EAAAAJ","linkedin":"","website":"http://hmostafa.com/","twitter":"","interests":["Machine Learning"],"citedby":419,"lastupdate":"2024-05-29"},{"name":"Baher Abdulhai","affiliation":"University of Toronto","position":"Professor","hindex":37,"photo":"./assets/images/abdulhai.png","scholar":"https://scholar.google.com/citations?hl=en&user=ezgstIoAAAAJ","linkedin":"https://www.linkedin.com/in/baher-abdulhai-b2460215","website":"https://uttri.utoronto.ca/people/baher-abdulhai/","twitter":"","interests":["Intelligent Transportation Systems","Traffic Control and Management","Evacuation Optimization","Congestion Pricing"],"citedby":6091,"lastupdate":"2024-05-29"},{"name":"Yaser S. Abu-Mostafa","affiliation":"Caltech","position":"Professor","hindex":29,"photo":"./assets/images/yaser-abu-mostafa.jpeg","scholar":"https://www.semanticscholar.org/author/Y.-Abu-Mostafa/1398965769","linkedin":"","website":"https://work.caltech.edu/index.html","twitter":"","interests":["Machine Learning","Artificial Intelligence","Computational Finance","Information and Complexity","Probability and Statistics"],"lastupdate":"","citedby":4141},{"name":"Marwan Torki","affiliation":"Alexandria University","position":"Associate Professor","hindex":21,"photo":"./assets/images/marwan-torki.jpeg","scholar":"https://scholar.google.com/citations?hl=en&user=aYLNZT4AAAAJ","linkedin":"","website":"http://eng.staff.alexu.edu.eg/~mtorki/","twitter":"","interests":["Machine Learning","Computer Vision","Deep Learning","Natural Language Processing"],"citedby":2865,"lastupdate":"2024-05-29"},{"name":"Medhat Moussa","affiliation":"University of Guelph","position":"Professor","hindex":23,"photo":"./assets/images/medhat-moussa.jpeg","scholar":"https://scholar.google.com/citations?hl=en&user=x-2sUG4AAAAJ","linkedin":"https://www.linkedin.com/in/medhat-moussa-3a58713","website":"https://www.uoguelph.ca/engineering/people/medhat-moussa-phd-peng","twitter":"","interests":["Robotics","Machine Learning","Machine Vision","Reconfigurable Computing"],"citedby":2000,"lastupdate":"2024-05-29"},{"name":"Khaled Shaalan","affiliation":"The British University in Dubai","position":"Professor","hindex":64,"photo":"./assets/images/khaled-shaalan.jpeg","scholar":"https://scholar.google.com/citations?hl=en&user=keLKdlgAAAAJ","linkedin":"","website":"https://sites.google.com/site/khaledshaalan/publications/full-publication-list","twitter":"","interests":["Artificial Intelligence","Arabic NLP","Computational Linguistics","Natural Language Processing","Knowledge Management"],"citedby":15948,"lastupdate":"2024-05-29"},{"name":"Ossama Emam","affiliation":"IBM","position":"Senior Technical Staff Member","hindex":18,"photo":"./assets/images/ossama-emam.jpeg","scholar":"https://scholar.google.com/citations?hl=en&user=3Xa5wWMAAAAJ","linkedin":"https://www.linkedin.com/in/ossama-emam-ph-d-21b4b2124","website":"","twitter":"","interests":["Machine Learning","Information Retrieval","Information Extraction","Mathematical and Statistical Modelling","Pattern Recognition","Speech Technology"],"citedby":1105,"lastupdate":"2024-05-29"},{"name":"Alaa Khamis","affiliation":"General Motors","position":"AI & Smart Mobility Technical Leader","hindex":28,"photo":"./assets/images/alaa-khamis.jpeg","scholar":"https://scholar.google.com/citations?hl=en&user=btM72xsAAAAJ","linkedin":"https://www.linkedin.com/in/alaakhamis/","website":"https://www.alaakhamis.org","twitter":"","interests":["Smart Mobility","Autonomous and Connected Vehicles","Cognitive IoT","Machine Learning","Combinatorial Optimization"],"citedby":5444,"lastupdate":"2024-05-29"},{"name":"Alaa Sheta","affiliation":"Southern Connecticut (SCSU)","position":"Professor","hindex":32,"photo":"./assets/images/alaa-sheta.jpeg","scholar":"https://scholar.google.com/citations?hl=en&user=x7zJsNoAAAAJ","linkedin":"https://www.linkedin.com/in/alaa-sheta-30577617/","website":"https://sites.google.com/site/profalaasheta/home","twitter":"","interests":["Machine Learning","Data Science","Image Processing","Robotics","Software Engineering"],"citedby":3949,"lastupdate":"2024-05-29"},{"name":"Ahmed K. Farahat","affiliation":"Hitachi America, Ltd. R&D","position":"Principal Research Scientist","hindex":21,"photo":"./assets/images/ahmed-farahat.jpeg","scholar":"https://scholar.google.com/citations?user=5kcdVaYAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/afarahat/","website":"http://www.afarahat.com","twitter":"","interests":["Machine Learning","Data Mining","Industrial AI"],"citedby":2131,"lastupdate":"2024-05-29"},{"name":"Motaz El-Saban","affiliation":"Microsoft","position":"Principal Data & Applied Science Manager","hindex":26,"photo":"./assets/images/motaz-el-saban.jpeg","scholar":"https://scholar.google.com/citations?hl=en&user=xHcqzWgAAAAJ","linkedin":"https://www.linkedin.com/in/motazelsaban/","website":"","twitter":"","interests":["Machine Learning","Computer Vision"],"citedby":2985,"lastupdate":"2024-05-29"},{"name":"Maher Ahmed","affiliation":"Wilfrid Laurier University","position":"Associate Professor","hindex":11,"photo":"./assets/images/maher-ahmed.jpeg","scholar":"https://scholar.google.com/citations?hl=en&user=qsJmtkMAAAAJ","linkedin":"https://www.linkedin.com/in/maher-ahmed-5baa9112","website":"https://www.wlu.ca/academics/faculties/faculty-of-science/faculty-profiles/maher-ahmed/index.html","twitter":"","interests":["Pattern Recognition","Image Processing"],"citedby":672,"lastupdate":"2024-05-29"},{"name":"Mohamed S. Kamel","affiliation":"University of Waterloo","position":"Professor - Passed Away (2015)","hindex":65,"photo":"./assets/images/mohamed-kamel.jpeg","scholar":"https://scholar.google.com/citations?hl=en&user=6Evj9YwAAAAJ","linkedin":"","website":"","twitter":"","interests":["Pattern Analysis","Machine Intelligence","Image Analysis","Pattern Recognition","Computational Intelligence"],"citedby":23282,"lastupdate":"2024-05-29"},{"name":"Ahmad Abdulkader","affiliation":"Meta","position":"Research And Development Scientist - Passed Away (2021)","hindex":7,"photo":"./assets/images/ahmad-abdulkader.jpeg","scholar":"https://www.semanticscholar.org/author/Ahmad-Abdulkader/1859983","linkedin":"","website":"","twitter":"","interests":["Machine Learning"],"lastupdate":"","citedby":345},{"name":"Ali Elkahky","affiliation":"Meta","position":"Research Scientist","hindex":14,"photo":"./assets/images/ali-elkahky.jpeg","scholar":"https://scholar.google.com/citations?user=KB3S8RoAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/ali-elkahky-32711ab/","website":"","twitter":"","interests":["Machine Learning","Natural Language Processing"],"citedby":2381,"lastupdate":"2024-05-29"},{"name":"Ahmed El Kholy","affiliation":"Microsoft","position":"Senior Applied Scientist","hindex":16,"photo":"./assets/images/ahmed-el-kholy.jpeg","scholar":"https://scholar.google.com/citations?user=n4PqfX0AAAAJ&hl=en","linkedin":"","website":"https://www.microsoft.com/en-us/research/people/ahelkhol/","twitter":"","interests":["Machine Learning","Natural Language Processing","Conversational AI"],"citedby":3782,"lastupdate":"2024-05-29"},{"name":"Walid Magdy","affiliation":"University of Edinburgh","position":"Associate Professor","hindex":37,"photo":"./assets/images/walid-magdy.jpeg","scholar":"https://scholar.google.com/citations?user=ACQD8jMAAAAJ&hl=en","linkedin":"","website":"https://homepages.inf.ed.ac.uk/wmagdy/","twitter":"https://twitter.com/Walid_Magdy","interests":["Computational Social Science","Natural Language Processing","Data Mining","Information Retrieval"],"citedby":4618,"lastupdate":"2024-05-29"},{"name":"Ahmed Ali","affiliation":"QCRI","position":"Principal Engineer","hindex":24,"photo":"./assets/images/ahmed-ali.jpeg","scholar":"https://scholar.google.com/citations?user=t0gYEjAAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/ahmedali08","website":"","twitter":"","interests":["Speech Recognition"],"citedby":2268,"lastupdate":"2024-05-29"},{"name":"Neamat El Gayar","affiliation":"Heriot Watt University","position":"Director & Uni Professor","hindex":17,"photo":"./assets/images/neamat-elgayar.jpg","scholar":"https://scholar.google.com/citations?user=RHDcyz8AAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/neamat-el-gayar-07b7297a/","website":"","twitter":"https://twitter.com/Neamat11647418","interests":["Neural Networks","Machine Learning","Computational Intelligence","Natural Language Processing"],"citedby":2058,"lastupdate":"2024-05-29"},{"name":"Amir Alansary","affiliation":"Jaguar Land Rover","position":"ML & CV Team Lead","hindex":24,"photo":"./assets/images/amir-alansary.jpeg","scholar":"https://scholar.google.com/citations?user=Sj11Jo8AAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/amiralansary/","website":"","twitter":"","interests":["Computer Vision","Machine Learning","Reinforcement Learning","Autonomous Vehicles Perception and Path Planning","Medical Imaging"],"citedby":1793,"lastupdate":"2024-05-29"},{"name":"Mustafa A Elattar","affiliation":"Intixel & Nile University","position":"Founder & Assistant Professor","hindex":13,"photo":"./assets/images/mustafa-elattar.png","scholar":"https://scholar.google.com/citations?user=BJoskL8AAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/mustafa-elattar-phd-42289112/","website":"https://www.intixel.com/","twitter":"https://twitter.com/3ttar","interests":["Medical Imaging","Artificial Intelligence","Image Analysis"],"citedby":1014,"lastupdate":"2024-05-29"},{"name":"Hesham Eraqi","affiliation":"Amazon","position":"Senior Scientist","hindex":11,"photo":"./assets/images/hesham-eraqi.jpg","scholar":"https://scholar.google.com.eg/citations?user=Sk-VfXYAAAAJ","linkedin":"https://www.linkedin.com/in/heshameraqi","website":"https://heshameraqi.github.io","twitter":"","interests":["Geospatial Machine Learning","Autonomous Driving","Deep Learning","Handwriting Recognition"],"citedby":923,"lastupdate":"2024-05-29"},{"name":"Ahmed Alsallab","affiliation":"Microsoft","position":"Principal Applied Science Manager","hindex":19,"photo":"./assets/images/ahmad-al-sallab.jpeg","scholar":"https://scholar.google.com/citations?user=hiEbSZYAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/ahmad-el-sallab-phd-7aa2195a","website":"","twitter":"","interests":["Deep Learning","Computer Vision","Natural Language Processing"],"citedby":4375,"lastupdate":"2024-05-29"},{"name":"Gamaleldin Elsayed","affiliation":"Google Brain","position":"Senior Research Scientist","hindex":19,"photo":"./assets/images/gamaleldin-elsayed.jpeg","scholar":"https://scholar.google.com/citations?user=7PrTPzsAAAAJ&hl=en&oi=ao","linkedin":"","website":"http://www.columbia.edu/~gfa2109/","twitter":"","interests":["Machine Learning","Computer Vision","Computational Neuroscience"],"citedby":3274,"lastupdate":"2024-05-29"},{"name":"Mahmoud Abou-Nasr","affiliation":"Ford Motor Company","position":"Lecturer III","hindex":11,"photo":"./assets/images/mahmoud-abou-nasr.jpeg","scholar":"https://scholar.google.com/citations?hl=en&user=qkvufmcAAAAJ","linkedin":"","website":"","twitter":"","interests":["Neural Networks","Data Mining","Deep Learning","Reinforcement Learning","Optimization"],"citedby":374,"lastupdate":"2024-05-29"},{"name":"Mohamed Elhoseiny","affiliation":"KAUST","position":"Assistant Professor","hindex":37,"photo":"./assets/images/mohamed-elhoseiny.png","scholar":"https://scholar.google.com/citations?user=iRBUTOAAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/mohamed-elhoseiny-8a836215","website":"http://www.mohamed-elhoseiny.com/","twitter":"https://twitter.com/moElhoseiny","interests":["Zero-Shot Learning","Few-Shot Learning","Computer Vision","Computational Creativity","Vision and Language"],"citedby":11236,"lastupdate":"2024-05-29"},{"name":"Amr Ahmed","affiliation":"Google","position":"Senior Staff Research Scientist","hindex":41,"photo":"./assets/images/amr-ahmed.png","scholar":"https://scholar.google.com/citations?user=ivUi2T0AAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/amr-ahmed-b998965","website":"https://research.google/people/AmrAhmed/","twitter":"","interests":["Machine Learning","Big Data","User Modeling","Personalization","Content Analysis"],"citedby":12488,"lastupdate":"2024-05-29"},{"name":"Amir Atiya","affiliation":"Cairo University","position":"Professor","hindex":49,"photo":"./assets/images/amir-atiya.jpeg","scholar":"https://scholar.google.com/citations?user=sT6n4zAAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/amir-atiya-8685b7","website":"https://cairo.academia.edu/AmirAtiya","twitter":"","interests":["Machine Learning","Pattern Classification","Computational Finance"],"citedby":13882,"lastupdate":"2024-05-29"},{"name":"Ramy Eskander","affiliation":"Twitter","position":"Senior Research Scientist","hindex":19,"photo":"./assets/images/ramy-eskander.jpeg","scholar":"https://scholar.google.com/citations?user=4SE1GIgAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/ramyeskander/","website":"","twitter":"","interests":["NLP","Recommendation Systems","Multilinguality","Low-Resource Languages","Arabic NLP","Unsupervised and Semi-Supervised Learning"],"citedby":2047,"lastupdate":"2024-05-29"},{"name":"Tamer Elsayed","affiliation":"Qatar University","position":"Associate Professor","hindex":33,"photo":"./assets/images/tamer-elsayed.jpeg","scholar":"https://scholar.google.com/citations?user=ekS-yPIAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/tamer-elsayed-a9a71116/","website":"http://qufaculty.qu.edu.qa/telsayed/","twitter":"https://twitter.com/tamer_elsayed","interests":["Information Retrieval","Natural Language Processing","Applied Machine Learning","Big Data Analytics"],"citedby":3471,"lastupdate":"2024-05-29"},{"name":"Mohamed Elbadrashiny","affiliation":"aiXplain","position":"Principal Scientist","hindex":17,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?user=DppUkNUAAAAJ","linkedin":"https://www.linkedin.com/in/mohamed-elbadrashiny-591908b","website":"","twitter":"","interests":["Natural Language Processing","Multimodal Dialog","Large Language Models"],"citedby":1738,"lastupdate":"2024-05-29"},{"name":"Ibrahim Sabek","affiliation":"Univ. of Southern California","position":"Assistant Professor","hindex":12,"photo":"./assets/images/ibrahim-sabek.png","scholar":"https://scholar.google.com/citations?user=R8732voAAAAJ&hl=en","linkedin":"http://www.linkedin.com/pub/ibrahim-sabek/23/422/526","website":"http://people.csail.mit.edu/ibrahimsabek/","twitter":"https://twitter.com/ibrahim_sabek","interests":["Machine Learning for Database Systems","Data Management and Analysis"],"citedby":570,"lastupdate":"2024-05-29"},{"name":"Mostafa Saad Ibrahim","affiliation":"Nvidia","position":"Senior Computer Vision Engineer","hindex":6,"photo":"./assets/images/mostafa-s-ibrahim.jpeg","scholar":"https://scholar.google.com/citations?user=2fSZbmkAAAAJ&hl=en/","linkedin":"https://www.linkedin.com/in/mostafasaad","website":"","twitter":"","interests":["Machine Learning","Computer Vision"],"citedby":859,"lastupdate":"2024-05-29"},{"name":"Mostafa Elhoushi","affiliation":"Meta","position":"Research Engineer","hindex":13,"photo":"./assets/images/mostafa-elhoushi.jpeg","scholar":"https://scholar.google.ca/citations?user=y_cwSKAAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/mostafaelhoushi/","website":"","twitter":"","interests":["Machine Learning","Deep Learning","Navigation","Quantum Computing"],"citedby":610,"lastupdate":"2024-05-29"},{"name":"Sameh Khamis","affiliation":"Rembrand","position":"Lead Research Scientist","hindex":24,"photo":"./assets/images/sameh-khamis.jpeg","scholar":"https://scholar.google.com/citations?user=9WgcwYQAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/samehkhamis/","website":"https://www.samehkhamis.com","twitter":"","interests":["Machine Learning","Computer Vision","Graphics"],"citedby":4979,"lastupdate":"2024-05-29"},{"name":"Ibrahim Sobh","affiliation":"Valeo","position":"Senior Expert of AI","hindex":11,"photo":"./assets/images/ibrahim-sobh.jpeg","scholar":"https://scholar.google.com.eg/citations?user=SODWkygAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/ibrahim-sobh-phd-8681757/","website":"","twitter":"","interests":["Machine Learning","Computer Vision","Autonomous Driving"],"citedby":2077,"lastupdate":"2024-05-29"},{"name":"Aboul Ella Hassanien","affiliation":"Cairo University","position":"Professor","hindex":90,"photo":"./assets/images/aboul-ella-hassanien-ali.jpeg","scholar":"https://scholar.google.com/citations?user=aZ6bcngAAAAJ&hl=en","linkedin":"https://eg.linkedin.com/in/aboul-ella-hassanien-48a9528","website":"","twitter":"","interests":["Artificial Intelligence","Swarm Optimization","IoT","Drones","Metaverses","Biomedical Informatics"],"citedby":35526,"lastupdate":"2024-05-29"},{"name":"Fahmi Khalifa","affiliation":"Mansoura University","position":"Assistant Professor","hindex":51,"photo":"./assets/images/fahmi-khalifa.jpeg","scholar":"https://scholar.google.ca/citations?user=Ua1i31oAAAAJ&hl=fr&oi=ao","linkedin":"","website":"","twitter":"","interests":["Medical Image Analysis","Machine Learning","Pattern Recognition","Image and Signal Processing","Multimedia","Biomedical Informatics"],"citedby":6169,"lastupdate":"2024-05-29"},{"name":"Khaled Fathy Hussein","affiliation":"Assiut University","position":"Head of CS Department","hindex":18,"photo":"./assets/images/khaled-hussain.jpeg","scholar":"https://scholar.google.com.eg/citations?hl=en&user=8DgiMfcAAAAJ&view_op=list_works&sortby=pubdate","linkedin":"","website":"https://www.aun.edu.eg/fci/khaled-fathy-hussein-saleh","twitter":"","interests":["Computer Vision","Computer Graphics","Neural Networks"],"citedby":1219,"lastupdate":"2024-05-29"},{"name":"Mohamed Nabih Ali","affiliation":"Fondazione Bruno Kessler","position":"Post Doctoral Researcher","hindex":6,"photo":"./assets/images/mohamed-nabih.jpg","scholar":"https://scholar.google.com/citations?user=6VXSI8wAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/mohamed-nabih-5011b074/","website":"","twitter":"","interests":["Artificial Intelligence","Machine Learning","Deep Learning","Speech Enhancement and Recognition","Biomedical Signal Processing","Image Processing"],"citedby":247,"lastupdate":"2024-05-29"},{"name":"Omar Khattab","affiliation":"Stanford University","position":"PhD Student","hindex":15,"photo":"./assets/images/omar-khattab.jpeg","scholar":"https://scholar.google.com/citations?user=Lwr5ozgAAAAJ&hl=en","linkedin":"","website":"https://omarkhattab.com/","twitter":"https://twitter.com/lateinteraction","interests":["Natural Language Processing","Information Retrieval"],"citedby":5509,"lastupdate":"2024-05-29"},{"name":"Ahmed Elgammal","affiliation":"Rutgers University","position":"Professor","hindex":56,"photo":"./assets/images/ahmed-elgammal.jpeg","scholar":"https://scholar.google.com/citations?user=DxQiCiIAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/ahmed-elgammal-71667911/","website":"https://sites.rutgers.edu/ahmed-elgammal/","twitter":"https://twitter.com/ahmed_elgammal?lang=en","interests":["Computer Vision"],"citedby":17534,"lastupdate":"2024-05-29"},{"name":"Ahmed El-Kishky","affiliation":"Twitter","position":"Staff ML Researcher","hindex":17,"photo":"./assets/images/ahmed-el-kishky.jpeg","scholar":"https://scholar.google.com/citations?user=A4frpBcAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/ahmed-e-56566b47/","website":"https://ahelk.github.io/","twitter":"","interests":["Machine Learning","NLP","Data Mining","Graph Learning","Recommender Systems"],"citedby":1822,"lastupdate":"2024-05-29"},{"name":"Moustafa Alzantot","affiliation":"Google Research","position":"Senior Engineer","hindex":18,"photo":"./assets/images/moustafa-alzantot.jpeg","scholar":"https://scholar.google.com/citations?user=AusbFkQAAAAJ","linkedin":"https://www.linkedin.com/in/malzantot/","website":"","twitter":"","interests":["Machine Learning","Recommender Systems","Natural Language Processing"],"citedby":4733,"lastupdate":"2024-05-29"},{"name":"Heba Elfardy","affiliation":"Amazon","position":"Senior ML Scientist","hindex":13,"photo":"./assets/images/heba-elfardy.jpeg","scholar":"https://scholar.google.com/citations?hl=en&user=L6lzWrYAAAAJ","linkedin":"https://www.linkedin.com/in/heba-elfardy-a0984b2b","website":"","twitter":"","interests":["Natural Language Processing"],"citedby":656,"lastupdate":"2024-05-29"},{"name":"Ahmed Hefny","affiliation":"Cruise","position":"Staff Research Scientist","hindex":14,"photo":"./assets/images/ahmed-hefny.jpeg","scholar":"https://scholar.google.com/citations?user=FAv6Nd8AAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/ahmed-hefny","website":"","twitter":"","interests":["Machine Learning"],"citedby":1766,"lastupdate":"2024-05-29"},{"name":"Hady Elsahar","affiliation":"Meta","position":"Research Scientist","hindex":19,"photo":"./assets/images/hady-elsahar.jpeg","scholar":"https://scholar.google.com.eg/citations?user=SbcM6bsAAAAJ&hl=en","linkedin":"","website":"https://www.hadyelsahar.io/","twitter":"https://twitter.com/hadyelsahar","interests":["Natural Language Processing","Machine Learning"],"citedby":2772,"lastupdate":"2024-05-29"},{"name":"Ahmed M. Badawi","affiliation":"Cairo University","position":"Professor","hindex":17,"photo":"./assets/images/ahmed-badawi.jpeg","scholar":"https://scholar.google.com/citations?user=r9pLu6EAAAAJ","linkedin":"https://www.linkedin.com/in/ahmed-badawi-215167a","website":"https://ieeexplore.ieee.org/author/37345733000","twitter":"","interests":["Computer Vision","Biometric","Medical Imaging","Medical Diagnosis","Multimodal Matching","Image Processing","Pattern Recognition","Pattern Classification"],"citedby":1627,"lastupdate":"2024-05-29"},{"name":"Mostafa Badawy","affiliation":"Apple","position":"(AI/ML) Software Engineer (Siri)","hindex":7,"photo":"./assets/images/mostafa-badawy.jpg","scholar":"https://scholar.google.com/citations?hl=en&user=iq8c9CkAAAAJ","linkedin":"https://www.linkedin.com/in/mostafa-gamal-badawy/","website":"","twitter":"","interests":["Machine Learning","Natural Language Processing","Computer Vision","Artificial Intelligence"],"citedby":446,"lastupdate":"2024-05-29"},{"name":"Muhammad AbdulMageed","affiliation":"UBC","position":"Associate Professor","hindex":30,"photo":"./assets/images/muhammad-abdulmageed.jpeg","scholar":"https://scholar.google.com/citations?user=SOjQhl8AAAAJ","linkedin":"","website":"https://mageed.arts.ubc.ca/","twitter":"","interests":["Arabic NLP","Natural Language Processing","Machine Learning"],"citedby":4269,"lastupdate":"2024-05-29"},{"name":"Wael Abd-Almageed","affiliation":"USC","position":"Research Associate Professor","hindex":34,"photo":"./assets/images/wael-abdalmageed.jpeg","scholar":"https://scholar.google.com/citations?user=tRGH8FkAAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Machine Learning","Computer Vision"],"citedby":4708,"lastupdate":"2024-05-29"},{"name":"Youssef Nashed","affiliation":"Stanford University","position":"Staff ML Scientist","hindex":23,"photo":"./assets/images/youssef-nashed.jpeg","scholar":"https://scholar.google.com/citations?user=pQXy90QAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/ynashed/","website":"","twitter":"","interests":["Computer Vision","Geometric Deep Learning","Graph Neural Networks"],"citedby":1727,"lastupdate":"2024-05-29"},{"name":"Abubakr Karali","affiliation":"NVIDIA","position":"Senior Solutions Architect","hindex":5,"photo":"./assets/images/abubakr-karali.jpeg","scholar":"https://scholar.google.com/citations?user=ACxQHBUAAAAJ&hl=en","linkedin":"https://se.linkedin.com/in/abubakr-karali-8988486b","website":"","twitter":"","interests":["Computer Vision","Self-Supervised Learning"],"citedby":132,"lastupdate":"2024-05-29"},{"name":"Ahmed Sahlol","affiliation":"Co-founder Tachyhealth","position":"Associate Professor of ML","hindex":16,"photo":"./assets/images/ahmed-sahlol.jpeg","scholar":"https://scholar.google.com/citations?user=JZB2oMQAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/ahmed-sahloul","website":"","twitter":"","interests":["Medical Imaging","Medical NLP","Medical Fraud Detection"],"citedby":1641,"lastupdate":"2024-05-29"},{"name":"Eslam Kamal","affiliation":"Microsoft","position":"Applied Science Manager","hindex":9,"photo":"./assets/images/eslam-kamal.jpeg","scholar":"https://scholar.google.com/citations?user=KRFyxS0AAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/eslamkamal85","website":"","twitter":"","interests":["NLP","LLMs","Conversational AI","Responsible AI"],"citedby":374,"lastupdate":"2024-05-29"},{"name":"Yehia Elshater","affiliation":"Amazon","position":"Data/Applied Scientist","hindex":5,"photo":"./assets/images/yehia-elshater.jpeg","scholar":"https://scholar.google.com/citations?user=S8MZ9PMAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/yehiaz/","website":"","twitter":"","interests":["Recommendation Engines","NLP","Forecasting"],"citedby":139,"lastupdate":"2024-05-29"},{"name":"Ahmed Rashed","affiliation":"Volkswagen Financial Service","position":"Senior Data Scientist","hindex":6,"photo":"./assets/images/ahmed-rashed.jpeg","scholar":"https://scholar.google.com.eg/citations?user=-wyZHw8AAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/ahmedrashed-ai/","website":"","twitter":"","interests":["Recommender Systems","Graph Mining","Time Series Forecasting"],"citedby":273,"lastupdate":"2024-05-29"},{"name":"Shady Elbassuoni","affiliation":"American University of Beirut","position":"Associate Professor","hindex":24,"photo":"./assets/images/shady-elbassuoni.jpg","scholar":"https://scholar.google.com/citations?user=Fe8iIHMAAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Natural Language Processing","Computer Vision","Information Retrieval","Public Health and Medicine"],"citedby":3042,"lastupdate":"2024-05-29"},{"name":"Noha Radwan","affiliation":"Inceptive","position":"Researcher","hindex":12,"photo":"./assets/images/noha-radwan.jpeg","scholar":"https://scholar.google.com/citations?user=g98QcZUAAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Computer vision","Deep learning"],"citedby":2648,"lastupdate":"2024-05-29"},{"name":"Radwa ElShawi","affiliation":"Tartu university","position":"Associate Professor","hindex":19,"photo":"./assets/images/radwa-elshawi.jpeg","scholar":"https://scholar.google.de/citations?user=RD5PdpwAAAAJ&hl=en","linkedin":"","website":"https://radwaelshawi.cs.ut.ee/","twitter":"","interests":["Explainable AI","AutoML","health informatics"],"citedby":1920,"lastupdate":"2024-05-29"},{"name":"Ramy Hussein","affiliation":"Stanford University","position":"Machine Learning Researcher","hindex":18,"photo":"./assets/images/ramy-hussein.jpeg","scholar":"https://scholar.google.ca/citations?user=lc3lgegAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/ramy-hussein","website":"","twitter":"","interests":["Artificial Intelligence","Computer Vision","Signal/Image Processing","Medical Imaging"],"citedby":1237,"lastupdate":"2024-05-29"},{"name":"Sarah Adel Bargal","affiliation":"Georgetown University","position":"Professor","hindex":18,"photo":"./assets/images/sarah-adel-bargal.jpeg","scholar":"https://scholar.google.com/citations?user=zjlFcrEAAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Computer vision","Deep Learning"],"citedby":2926,"lastupdate":"2024-05-29"},{"name":"Badr AlKhamissi","affiliation":"EPFL","position":"PhD Student","hindex":7,"photo":"./assets/images/badr.jpeg","scholar":"https://scholar.google.com/citations?user=0l9UHtQAAAAJ&hl=en&authuser=1","linkedin":"https://linkedin.com/in/bkhmsi","website":"https://bkhmsi.github.io","twitter":"https://twitter.com/bkhmsi","interests":["Machine Learning","Natural Language Processing","Computational Neuroscience","Computer Vision"],"citedby":214,"lastupdate":"2024-05-29"},{"name":"Moamen AbdelRazek","affiliation":"Royal Bank of Canada","position":"Lead Machine Learning Engineer","hindex":7,"photo":"./assets/images/moamen-abdelrazek.jpg","scholar":"https://scholar.google.com.eg/citations?user=7bcODQ8AAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/moamen-abdelrazek","website":"https://github.com/moemen95","twitter":"","interests":["NLP","LLMs","Computer Vision","ML Ops"],"citedby":438,"lastupdate":"2024-05-29"},{"name":"Ahmed Magooda","affiliation":"Microsoft","position":"Applied Researcher","hindex":7,"photo":"./assets/images/ahmed-magooda.jpeg","scholar":"https://scholar.google.com.eg/citations?user=x90NynMAAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["NLP","Deep Learning"],"citedby":352,"lastupdate":"2024-05-29"},{"name":"Aly El Gamal","affiliation":"Amazon","position":"Sr. Applied Scientist","hindex":18,"photo":"./assets/images/aly-elgamal.jpeg","scholar":"https://scholar.google.com/citations?view_op=list_works&hl=en&hl=en&user=x47tshQAAAAJ&sortby=pubdate","linkedin":"","website":"","twitter":"","interests":["Machine Learning","Consumer Engagement","Information Theory"],"citedby":1419,"lastupdate":"2024-05-29"},{"name":"Tamer Basha","affiliation":"BIDMC and Harvard Medical","position":"Postdoctoral Research Fellow","hindex":23,"photo":"./assets/images/tamer-basha.jpeg","scholar":"https://scholar.google.com/citations?hl=en&user=C6Hg48cAAAAJ&view_op=list_works&sortby=pubdate","linkedin":"","website":"","twitter":"","interests":["Medical Imaging"],"citedby":1951,"lastupdate":"2024-05-29"},{"name":"Momen Negm","affiliation":"Rasheed AI","position":"Co-Founder","hindex":27,"photo":"./assets/images/momen-negm.jpg","scholar":"https://scholar.google.com/citations?user=JJ_RhZEAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/momennegm/","website":"","twitter":"https://twitter.com/mo2men","interests":["Computer Vision","Machine Learning"],"citedby":4824,"lastupdate":"2024-05-29"},{"name":"Mostafa Salem","affiliation":"Assiut University","position":"Assistant Professor","hindex":11,"photo":"./assets/images/mostafa-salem.jpeg","scholar":"https://scholar.google.com.eg/citations?user=7P86J5YAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/dr-mostafasalem/","website":"https://mostafasalem.netlify.app/","twitter":"","interests":["Medical Image Analysis","Computer Vision","3D Reconstruction"],"citedby":2363,"lastupdate":"2024-05-29"},{"name":"Noureldin Elmadany","affiliation":"AAST","position":"Assistant Professor","hindex":9,"photo":"./assets/images/nour-elmadany.jpg","scholar":"https://scholar.google.com/citations?user=sy8RRsgAAAAJ&hl=ja","linkedin":"","website":"","twitter":"","interests":["Multimodal Learning","Action Recognition and Anticipation"],"citedby":258,"lastupdate":"2024-05-29"},{"name":"Ahmed Masry","affiliation":"Arteria AI","position":"Data Scientist","hindex":6,"photo":"./assets/images/ahmed-elmasry.jpg","scholar":"https://scholar.google.com/citations?user=XqPX5XcAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/ahmed-masry-ku/","website":"","twitter":"https://twitter.com/Ahmed_Masry97","interests":["NLP","Multimodal Chart & Document Understanding","Computer Vision"],"citedby":332,"lastupdate":"2024-05-29"},{"name":"Sahar Selim","affiliation":"Nile University","position":"Assistant Professor","hindex":7,"photo":"./assets/images/sahar-selim.jpeg","scholar":"https://scholar.google.com.eg/citations?hl=en&user=Ynx9NTwAAAAJ&view_op=list_works&sortby=pubdate","linkedin":"https://www.linkedin.com/in/sahar-selim-soussa/?originalSubdomain=eg","website":"","twitter":"","interests":["Machine Learning","Medical Imaging","Brain-Computer Interface","Neural Engineering"],"citedby":299,"lastupdate":"2024-05-29"},{"name":"Ghada Khoriba","affiliation":"Nile University","position":"Associate Professor","hindex":9,"photo":"./assets/images/ghada-khoriba.jpg","scholar":"https://scholar.google.com.eg/citations?hl=en&user=jwTBsIIAAAAJ","linkedin":"https://www.linkedin.com/in/ghada-khoriba-090b72113","website":"https://www.nu.edu.eg/academic-staff/dr-ghada-khoriba","twitter":"","interests":["Medical Image Analysis","Machine Learning","Swarm Algorithms","Computer Vision","NLP","LLMs","Knowledge Graphs."],"citedby":693,"lastupdate":"2024-05-29"},{"name":"Fatma Elzahraa Eid","affiliation":"Broad Institute of MIT and Harvard / Al-Azhar University","position":"Biomedical Machine Learning Group Lead","hindex":6,"photo":"./assets/images/fatma-elzahraa.jpeg","scholar":"https://scholar.google.ca/citations?user=Q4RV3MEAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/fatma-elzahraa-eid-553b475b/","website":"","twitter":"","interests":["Biomedical ML","Data-driven Protein Engineering","Biological sequence engineering","Data-driven Therapeutics"],"citedby":442,"lastupdate":"2024-05-29"},{"name":"Haitham Elmarakeby","affiliation":"Harvard Medical School / Alazhar University","position":"Instructor / ML Group Lead","hindex":17,"photo":"./assets/images/haitham-elmarakeby.jpeg","scholar":"https://scholar.google.com/citations?user=yg6RHWoAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/haitham-elmarakeby/","website":"https://connects.catalyst.harvard.edu/Profiles/display/Person/162206","twitter":"","interests":["Cancer Machine Learning"],"citedby":2153,"lastupdate":"2024-05-29"},{"name":"Ahmad Taher Azar","affiliation":"Prince Sultan / Benha Uni","position":"Full Professor","hindex":73,"photo":"./assets/images/ahmad-azar.jpeg","scholar":"https://scholar.google.com/citations?user=6gf4UVkAAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Control Theory & Applications","Robotics","Artificial Intelligence","Reinforcement Learning"],"citedby":19052,"lastupdate":"2024-05-29"},{"name":"Hossam Hassan Ammar","affiliation":"University of Hertfordshire","position":"Assistant Professor of Mechatronics and Robotics, CTO of ITC","hindex":17,"photo":"./assets/images/hossam-ammar.jpeg","scholar":"https://scholar.google.com/citations?user=gxtCFWkAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/hossam-ammar-\u060c-phd-mieee-6707317b","website":"","twitter":"","interests":["Machine Learning","Robotics","Automatic Control","Renewable Energy"],"citedby":786,"lastupdate":"2024-05-29"},{"name":"Marwa Mahmoud","affiliation":"University of Glasgow","position":"Assistant Professor","hindex":19,"photo":"./assets/images/marwa-mahmoud.jpeg","scholar":"https://scholar.google.com/citations?user=mYyG4p0AAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Affective Computing","Computer Vision","Gesture Recognition","Animal Behaviour Understanding"],"citedby":1726,"lastupdate":"2024-05-29"},{"name":"Ahmed Elgohary","affiliation":"Microsoft","position":"Researcher","hindex":17,"photo":"./assets/images/ahmed-elgohary.jpeg","scholar":"https://scholar.google.com/citations?user=WDTv0I4AAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Natural Language Processing"],"citedby":3790,"lastupdate":"2024-05-29"},{"name":"Amr Sharaf","affiliation":"Microsoft","position":"Researcher","hindex":10,"photo":"./assets/images/amr-sharaf.jpeg","scholar":"https://scholar.google.com/citations?user=It3Gm1EAAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Natural Language Processing","Computer Vision","Machine Learning"],"citedby":575,"lastupdate":"2024-05-29"},{"name":"Hazem Rashed","affiliation":"Valeo","position":"Senior Principal ML Research Engineer","hindex":17,"photo":"./assets/images/hasem-rashed.jpg","scholar":"https://scholar.google.com/citations?user=hYdZUowAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/hazem-rashed-a9490428/","website":"","twitter":"","interests":["Deep Learning","Computer Vision","Autonomous Driving"],"citedby":1329,"lastupdate":"2024-05-29"},{"name":"Mennatullah Siam","affiliation":"Ontario Tech University","position":"Tenure-Track Assistant Professor","hindex":15,"photo":"./assets/images/mennatullah_siam.jpg","scholar":"https://scholar.google.com/citations?user=AVPds3kAAAAJ&hl=en&oi=ao","linkedin":"https://www.linkedin.com/in/mennatullah-siam-6546508a","website":"https://msiam.github.io/homepage/","twitter":"","interests":["Computer Vision","Deep Learning","Fewshot Learning","Video Object Segmentation","Video Understanding","Spatiotemporal Models Interpretability."],"citedby":1485,"lastupdate":"2024-05-29"},{"name":"Hamdy Mubarak","affiliation":"QCRI","position":"Principal Software Engineer","hindex":35,"photo":"./assets/images/hamdy-mubarak.jpeg","scholar":"https://scholar.google.com/citations?user=usvY6qYAAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Natural Language Processing","Software Engineering","Information Extraction","Social Media Analysis","Arabic NLP"],"citedby":4483,"lastupdate":"2024-05-29"},{"name":"Mohamed Mokbel","affiliation":"University of Minnesota","position":"Distinguished McKnight University Professor","hindex":58,"photo":"./assets/images/mohamed-mokbel.png","scholar":"https://scholar.google.com/citations?hl=en&user=GHz1ZVIAAAAJ","linkedin":"https://www.linkedin.com/in/mohamed-mokbel-4a053130/","website":"https://www.cs.umn.edu/~mokbel","twitter":"","interests":["Database Systems","Spatial Computing","Spatial AI"],"citedby":16431,"lastupdate":"2024-05-29"},{"name":"Ashraf Aboulnaga","affiliation":"QCRI","position":"Chief Scientist","hindex":42,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?hl=en&user=47sihrsAAAAJ","linkedin":"","website":"","twitter":"","interests":["Databases","Cloud computing","Graphs"],"citedby":6177,"lastupdate":"2024-05-29"},{"name":"Essam Mansour","affiliation":"Concordia University","position":"Assistant Professor","hindex":16,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?user=dqgckDgAAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Database systems","data science platforms","distributed/parallel systems","machine learning"],"citedby":1556,"lastupdate":"2024-05-29"},{"name":"Ihab F. Ilyas","affiliation":"University of Waterloo, Apple","position":"Professor, Distinguished Engineer","hindex":59,"photo":"./assets/images/ihab-ilyas.jpg","scholar":"https://scholar.google.com/citations?user=YG6mTEIAAAAJ","linkedin":"https://www.linkedin.com/in/ihabilyas","website":"https://en.wikipedia.org/wiki/Ihab_Ilyas","twitter":"https://twitter.com/ihabilyas","interests":["AI for Structured Data","Data integration","Data Cleaning","Knowledge Representation","Knowledge Graphs"],"citedby":14025,"lastupdate":"2024-05-29"},{"name":"Walid G. Aref","affiliation":"Purdue University","position":"Professor","hindex":63,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?user=vX45evgAAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Database Systems","Spatial Databases","Data Management"],"citedby":16534,"lastupdate":"2024-05-29"},{"name":"Abdurrahman Ghanem","affiliation":"Yelp","position":"Senior Software Engineer","hindex":5,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?user=XrVeZKgAAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Mobile Development","Artificial Intelligence","Machine Learning"],"citedby":550,"lastupdate":"2024-05-29"},{"name":"Hossam Hammady","affiliation":"Rayyan Systems Inc.","position":"Vice President of Engineering","hindex":12,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?hl=en&user=49pKt_kAAAAJ","linkedin":"","website":"","twitter":"","interests":["cloud computing","distributed systems","machine learning","data analytics"],"citedby":14955,"lastupdate":"2024-05-29"},{"name":"Sherif Abdou","affiliation":"Cairo University","position":"Associate Professor","hindex":20,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?user=aFYes5MAAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["artificial intelligence","Human Language technologies","speech recognition","language modeling","text to speech"],"citedby":1481,"lastupdate":"2024-05-29"},{"name":"Amr Magdy","affiliation":"UC Riverside","position":" Assistant Professor","hindex":19,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?user=11CMsKsAAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Data management","spatial data management","GIS","large-scale data analytics","indexing"],"citedby":1307,"lastupdate":"2024-05-29"},{"name":"Thanaa Ghanem","affiliation":"Metropolitan State University","position":"Metropolitan State University","hindex":16,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?user=ZUQDHsMAAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Database systems"],"citedby":1308,"lastupdate":"2024-05-29"},{"name":"Mohammed Attia","affiliation":"Google Inc.","position":"Analytical Linguist","hindex":23,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?user=fvpPkj0AAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Morphology","syntax","statistical parsing","spell checking","Lexical Functional Grammar"],"citedby":2510,"lastupdate":"2024-05-29"},{"name":"Ahmed Mourad","affiliation":"Apeiros","position":"Apeiros","hindex":10,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?user=pcibYXwAAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Information Retrieval","Evaluation","Natural language Processing","Social Media Analysis"],"citedby":544,"lastupdate":"2024-05-29"},{"name":"Tarek El-Ganainy","affiliation":"Electronic Arts","position":"Electronic Arts","hindex":8,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?user=CJi5hO0AAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Natural Language Processing","Information Retrieval","Machine Learning","Virtual Reality"],"citedby":184,"lastupdate":"2024-05-29"},{"name":"Mohamed Hefeeda","affiliation":"Simon Fraser University","position":"Professor","hindex":35,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?user=0pu-90QAAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Multimedia Systems","Computer Networks","Multimedia AI"],"citedby":6234,"lastupdate":"2024-05-29"},{"name":"Mohamed Elgharib","affiliation":"MPI for Informatics","position":"Research Group Leader","hindex":27,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?user=e1WLgm8AAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Computer Graphics","Computer Vision","Machine Learning","Virtual/Augmented Reality"],"citedby":3223,"lastupdate":"2024-05-29"},{"name":"Tarek Elgamal","affiliation":"LocknSell","position":"Founder & CEO","hindex":9,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?user=CMrSMisAAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Privacy-Preserving ML","Edge computing","Multimedia systems","Machine Learning"],"citedby":514,"lastupdate":"2024-05-29"},{"name":"AbdelRahim A. ElMadany","affiliation":"UBC","position":"PostDoc","hindex":14,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?user=v3akuNAAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/tarek-elgamal/","website":"","twitter":"","interests":["Natural Language Processing","Deep Learning","Computational Social Science","Machine Learning","Speech Act"],"citedby":1012,"lastupdate":"2024-05-29"},{"name":"Mohamed Waleed Fakhr","affiliation":"Arab academy for Science, Technology and Maritime Transport","position":"Professor","hindex":14,"photo":"./assets/images/mohamed-fakhr.jpg","scholar":"https://scholar.google.com/citations?user=37Rfy7sAAAAJ&hl=en","linkedin":"https://eg.linkedin.com/in/mohamed-waleed-fakhr-2b952036","website":"","twitter":"","interests":["Digital Signal Processing","Deep Learning","NLP"],"citedby":795,"lastupdate":"2024-05-29"},{"name":"Mohamed Loey","affiliation":"Benha University","position":"Associate Prof","hindex":19,"photo":"./assets/images/mohamed-loey.jpg","scholar":"https://scholar.google.com/citations?user=_kRSr78AAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/mloey","website":"https://bu.edu.eg/staff/mloey","twitter":"https://twitter.com/mloey","interests":["Deep Learning","Artificial Intelligence","Machine Learning","Image Processing"],"citedby":3751,"lastupdate":"2024-05-29"},{"name":"Wael Badawy","affiliation":"University of Hertfordshire","position":"Program Lead","hindex":31,"photo":"./assets/images/wael_badawy.jpg","scholar":"https://scholar.google.ca/citations?user=d_6Lp3IAAAAJ&hl=en&oi=ao","linkedin":"https://linkedIn.com/in/waelbadawy","website":"https://waelbadawy.com","twitter":"https://Twitter.com/wbadawy","interests":["Artificial Intelligence","Computer Vision","Cyber Security."],"citedby":4445,"lastupdate":"2024-05-29"},{"name":"Mohamed Salem Elaraby","affiliation":"University of Pittsburgh","position":"PhD Researcher","hindex":7,"photo":"./assets/images/mohamed-elaraby.jpg","scholar":"https://scholar.google.com.eg/citations?user=A5jMCaAAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/mohamed-salem-b25b24b6/","website":"","twitter":"https://twitter.com/MsalemUBC","interests":["Natural Language Processing","Legal Document Summarization","Deep Learning"],"citedby":244,"lastupdate":"2024-05-29"},{"name":"Mohamed Altantawy","affiliation":"Agolo","position":"CTO & Founder","hindex":5,"photo":"./assets/images/mohamed_altantawy.jpeg","scholar":"https://scholar.google.com/citations?user=aelgAPAAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/altantawy/","website":"","twitter":"","interests":["Machine Learning","Natural Langauge Processing"],"citedby":200,"lastupdate":"2024-05-29"},{"name":"Muhammad Ali Rushdi","affiliation":"Cairo & New Giza University","position":"Associate Professor","hindex":14,"photo":"./assets/images/muhammad-rushdi.png","scholar":"https://scholar.google.com/citations?user=vDgGLjsAAAAJ&hl=en&oi=ao","linkedin":"https://www.linkedin.com/in/muhammad-rushdi-4817a462/","website":"http://scholar.cu.edu.eg/mrushdi","twitter":"","interests":["Machine learning","Biomedical Signal Processing","Medical Image Analysis","Information Security and Forensics","Computer Vision","Applied Mathematics"],"citedby":635,"lastupdate":"2024-05-29"},{"name":"Mohamed El Banani","affiliation":"University of Michigan Ann Arbor","position":"PhD Student","hindex":6,"photo":"./assets/images/mohamed-elbanani.jpg","scholar":"https://scholar.google.com/citations?user=Iwe1QVEAAAAJ","linkedin":"","website":"https://mbanani.github.io/","twitter":"https://twitter.com/_mbanani","interests":["Computer Vision","Machine Learning","Cognitive Science"],"citedby":150,"lastupdate":"2024-05-29"},{"name":"Mai ElSherief","affiliation":"Northeastern University","position":"Assistant Professor","hindex":13,"photo":"./assets/images/mai-elsherief.png","scholar":"https://scholar.google.com/citations?hl=en&user=Rykl2HkAAAAJ&view_op=list_works&sortby=pubdate","linkedin":"https://www.linkedin.com/in/mai-elsherief-ph-d-38638082","website":"","twitter":"https://twitter.com/mai_elsherief?lang=en","interests":["Social computing","Natural Language Processing","Applied Machine Learning","Information science","Data"],"citedby":1760,"lastupdate":"2024-05-29"},{"name":"Mahmoud Azab","affiliation":"Meta","position":"Research Scientist","hindex":8,"photo":"./assets/images/mohamed-azab.jpeg","scholar":"https://scholar.google.com/citations?user=sQROlqMAAAAJ&hl=en","linkedin":"","website":"","twitter":"https://twitter.com/M_MoNeEb","interests":["Natural Language Processing","Computer Vision","Multimodal Machine Learning"],"citedby":255,"lastupdate":"2024-05-29"},{"name":"Ahmed M. Abdelmoniem","affiliation":"Queen Mary University of London","position":"Assistant Professor","hindex":24,"photo":"./assets/images/ahmed-abdelmoniem.jpg","scholar":"https://scholar.google.com/citations?user=CzfuSJgAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/ahmedmabdelmoniem/","website":"http://eecs.qmul.ac.uk/~ahmed/","twitter":"","interests":["Distributed Systems","Computer Networks","Machine Learning","Federated Learning"],"citedby":1219,"lastupdate":"2024-05-29"},{"name":"Walid Gomaa","affiliation":"Egypt Japan University for Science and Technology","position":"Professor","hindex":19,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?user=tZ1q2UUAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/walid-gomaa-40a45926?utm_source=share&utm_campaign=share_via&utm_content=profile&utm_medium=android_app","website":"https://sites.google.com/ejust.edu.eg/walid-gomaa/","twitter":"","interests":["Machine learning","Artificial intelligence","Computer Vision"],"citedby":1604,"lastupdate":"2024-05-29"},{"name":"Sameh Alansary","affiliation":"Alexandria University","position":"Professor and head of Phonetics and Linguistics Department","hindex":11,"photo":"./assets/images/sameh-alansary.jpeg","scholar":"https://scholar.google.com/citations?user=dgBdtaUAAAAJ&hl=en&oi=ao","linkedin":"","website":"","twitter":"","interests":["Computational Linguistics","Corpus Linguistics","NLP"],"citedby":485,"lastupdate":"2024-05-29"},{"name":"Mohamed ElHelw","affiliation":"Center for Informatics Science, Nile University","position":"Professort and Center for Informatics Science director","hindex":15,"photo":"./assets/images/default.jpg","scholar":"https://www.researchgate.net/profile/Mohamed-Elhelw","linkedin":"https://www.linkedin.com/in/mohamedelhelw/","website":"","twitter":"","interests":["Computer vision","deep learning"],"citedby":0,"lastupdate":""},{"name":"Ayman Youssef","affiliation":"Electronics Reseach institute","position":"Researcher","hindex":7,"photo":"./assets/images/ayman-youssef.jpeg","scholar":"https://scholar.google.com/citations?user=1RYci-8AAAAJ&hl=en&oi=ao","linkedin":"","website":"","twitter":"","interests":["Applications and Tools of ML","NLP","FPGA Implementations of ML Algorithms"],"citedby":421,"lastupdate":"2024-05-29"},{"name":"Mervat Gheith","affiliation":"Cairo university","position":"Assoc. Prof","hindex":10,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?user=zhZQaoYAAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["AI","NLP"],"citedby":364,"lastupdate":"2024-05-29"},{"name":"Mohamed Ezz","affiliation":"Jouf University, Al Azhar University","position":"Professor","hindex":10,"photo":"./assets/images/moahmed-ezz.jpeg","scholar":"https://scholar.google.com/citations?user=0oVjLe4AAAAJ&hl=ar&oi=ao","linkedin":"https://www.linkedin.com/in/mohamed-ezz-phd-cbap-24122210/","website":"","twitter":"","interests":["Computer Vision","Machine Learning","Natural Language Processing"],"citedby":517,"lastupdate":"2024-05-29"},{"name":"Dr Mohamed Abdelhack","affiliation":"CAMH","position":"PostDoc Fellow","hindex":6,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.co.jp/citations?user=S1TWer4AAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/mabdelhack?utm_source=share&utm_campaign=share_via&utm_content=profile&utm_medium=android_app","website":"https://mabdelhack.github.io","twitter":"https://x.com/mabdelhack?t=63lEQLFmxGgJjDKH4VKf3A&s=09","interests":["Computational Neuroscience","Machine Learning","Deep Learning","AI"],"citedby":128,"lastupdate":"2024-05-29"},{"name":"El-Sayed M. El-kenawy","affiliation":"Delta Higher Institute of Engineering and Technology","position":"Associate Professor","hindex":68,"photo":"./assets/images/sayed-kenawy.jpeg","scholar":"https://scholar.google.com/citations?user=fA25haEAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/sayed-kenawy-162328220","website":"https://sayedkenawy.com/","twitter":"","interests":["Metaheuristics","Optimization","AI","Data Mining","Machine Learning"],"citedby":11049,"lastupdate":"2024-05-29"},{"name":"Waleed A. Yousef","affiliation":"Helwan University / MESC Labs","position":"Associate Professor / Founder","hindex":14,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?user=dfBOO6oAAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":[],"citedby":1397,"lastupdate":"2024-05-29"},{"name":"Omneya Attallah","affiliation":"AASTMT","position":"Associate Professor","hindex":28,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?hl=en&user=QpDDpNEAAAAJ","linkedin":"http://linkedin.com/in/omneya-attallah-8729ab129","website":"https://aast.edu/cv.php?ser=50275","twitter":"","interests":["Deep/machine learning","Biomedical Signal Processing","Computer Vision","Pattern Recognition","Medical Imaging","Brain-Computer Interface"],"citedby":1750,"lastupdate":"2024-05-29"},{"name":"Mustafa Abdallah","affiliation":"Indiana University-Purdue University Indianapolis","position":"Assistant Professor","hindex":11,"photo":"./assets/images/mustafa-abdallah.png","scholar":"https://scholar.google.com/citations?user=NK4Ok1IAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/mustafa-abdallah-12315aa6/","website":"https://et.iupui.edu/people/mabdall","twitter":"","interests":["Game Theory","Cyber Security","Machine Learning","Game Theory","Human Decision-Making","Anomaly Detection","Explainable AI"],"citedby":257,"lastupdate":"2024-05-29"},{"name":"Mohammed El-Telbany","affiliation":"Sinai University","position":"Associated Professor","hindex":12,"photo":"./assets/images/mohammed-telbany.jpeg","scholar":"https://scholar.google.com/citations?user=kwzH-5cAAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Artificial Intelligence","Machine Learning","Robotics","Data Science"],"citedby":823,"lastupdate":"2024-05-29"},{"name":"Mohamed Sameer Abdallah","affiliation":"Gachon University","position":"Assistant Professor","hindex":7,"photo":"./assets/images/mohamed-s-abdallah.jpeg","scholar":"https://scholar.google.com/citations?user=yngA4KAAAAAJ&hl=ko","linkedin":"https://www.linkedin.com/in/mohamed-sameer-abdallah-91424740/","website":"","twitter":"","interests":["Computer Vision","Artificial Intelligence","Image Processing","Pattern Recognition","Machine Learning","Deep Learning"],"citedby":305,"lastupdate":"2024-05-29"},{"name":"Ehab Saif Ghith","affiliation":"Ain Shams University","position":"Lecturer","hindex":7,"photo":"./assets/images/ehab-ghith.jpeg","scholar":"https://scholar.google.com/citations?user=sTJEqSMAAAAJ&hl=en","linkedin":"","website":"https://www.facebook.com/dr.ehab.ghith/","twitter":"","interests":["Artificial Intelligent","Robotics","Optimization","Hybrid Algorithms","Machine Learning","Deep Learning",""],"citedby":136,"lastupdate":"2024-05-29"},{"name":"Khaled Saleh","affiliation":"University of Newcastle","position":"Lecturer (Assistant Professor)","hindex":18,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com.eg/citations?user=dC3EVo8AAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/khaled-saleh-5881a924","website":"","twitter":"","interests":["Machine Learning","Autonomous Systems","Robotic Vision","Machine Perception"],"citedby":1083,"lastupdate":"2024-05-29"},{"name":"Ahmed Abdelreheem","affiliation":"King Abdullah University of Science and Technology (KAUST)","position":"PhD Researcher","hindex":5,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?user=EcKJGvkAAAAJ&hl=en","linkedin":"http://linkedin.com/in/aabdelreheem95/","website":"https://samir55.github.io","twitter":"http://twitter.com/aabdelreheem95","interests":["3D Vision","Computer Graphics","Vision and Language","Machine Learning"],"citedby":242,"lastupdate":"2024-05-29"},{"name":"Khaled Mostafa EL Sayed","affiliation":"","position":"","hindex":11,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com.eg/citations?user=cnfPK10AAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":[],"citedby":903,"lastupdate":"2024-05-29"},{"name":"Mohamed Hesham","affiliation":"","position":"","hindex":7,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com.eg/citations?user=-PM2ulQAAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":[],"citedby":191,"lastupdate":"2024-05-29"},{"name":"Mahmoud Ghoneim","affiliation":"bp","position":"Lead NLP Scientist, Trading Analytics Associate, Data Strategist","hindex":9,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?user=rppS1xsAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/mahmoud-ghoneim-6108001","website":"","twitter":"","interests":[],"citedby":640,"lastupdate":"2024-05-29"},{"name":"Mohamed Hamza Ibrahim","affiliation":"Universit\xe9 du Qu\xe9bec en Outaouais (Canada)","position":"Adjunct Professor and Assistant Professor","hindex":8,"photo":"./assets/images/mohamad-hamza-ibrahim.jpeg","scholar":"https://scholar.google.at/citations?hl=pt-BR&user=b8437aIAAAAJ&view_op=list_works&sortby=pubdate","linkedin":"","website":"https://cerc-datascience.polymtl.ca/person/mohamed-hamza-ibrahim/","twitter":"","interests":["Artificial Intelligence","Machine Learning","Generative deep learning","Big data mining","Complex network analysis"],"citedby":341,"lastupdate":"2024-05-29"},{"name":"Ahmed Alaa","affiliation":"UC Berkeley","position":"Assistant Professor","hindex":34,"photo":"https://vcresearch.berkeley.edu/faculty/ahmed-alaa","scholar":"https://scholar.google.com/citations?user=_pv1sEcAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/ahmed-m-alaa-b1007614/","website":"","twitter":"https://twitter.com/i/flow/login?redirect_after_login=%2F_ahmedmalaa","interests":["Machine Learning","Statistics","AI for Medicine"],"citedby":3897,"lastupdate":"2024-05-29"}]');let W0=(()=>{class e{constructor(){}getResearchIntersts(n){let i=new Set,r={};for(let a=0;a0;i--){const r=Math.floor(Math.random()*(i+1));[n[i],n[r]]=[n[r],n[i]]}return n}sortAZ(n){return n.sort((i,r)=>i.name.localeCompare(r.name))}sortHIndex(n){return n.sort((i,r)=>r.hindex-i.hindex)}sortCitations(n){return n.sort((i,r)=>r.citedby-i.citedby)}sortShuffle(n){return this.shuffle(n)}}return e.\u0275fac=function(n){return new(n||e)},e.\u0275prov=H({token:e,factory:e.\u0275fac,providedIn:"root"}),e})();function nN(e,t){if(1&e){const n=to();b(0,"div",30)(1,"input",31),Q("change",function(){return ni(n),ii(Ot().filterInterests())})("ngModelChange",function(r){const s=ni(n).$implicit;return ii(Ot().rinterests[s.key]=r)}),_(),b(2,"label",32),C(3),_()()}if(2&e){const n=t.$implicit,i=Ot();N(1),wn("id","",n.key,"Checkbox"),we("value",n.key),re("ngModel",i.rinterests[n.key]),N(1),wn("for","",n.key,"Checkbox"),N(1),or("",n.key," (",i.rinterestsFreq[n.key],")")}}function iN(e,t){if(1&e&&(b(0,"div",33)(1,"a",34)(2,"div",35),V(3,"img",36),b(4,"span"),C(5),_()()()()),2&e){const n=t.$implicit;N(1),wn("href","#",n.name,"",je),N(2),we("src",n.photo,je),we("alt",n.name),N(2),js(n.name)}}function rN(e,t){if(1&e){const n=to();b(0,"div",37)(1,"div",38)(2,"div")(3,"a",39),Q("click",function(){const o=ni(n).$implicit;return ii(Ot().editProfile(o))}),V(4,"i",40),_()(),V(5,"img",41),b(6,"div",42)(7,"h4",43),C(8),_(),b(9,"h5",44),C(10),_(),b(11,"h6",45),C(12),_(),b(13,"span",46),C(14),co(15,"number"),_(),b(16,"span",46),C(17," h-index: - "),_(),b(18,"div",47)(19,"strong"),C(20,"Research Interests:"),_(),b(21,"p",48),C(22),_()(),V(23,"hr"),b(24,"p",49)(25,"a",50),V(26,"i",51),_(),b(27,"a",50),V(28,"i",52),_(),b(29,"a",50),V(30,"i",53),_(),b(31,"a",50),V(32,"i",54),_()()()()()}if(2&e){const n=t.$implicit;re("hidden",!Ot().en_active),N(1),we("id",n.name),N(4),we("src",n.photo,je),we("alt",n.name),N(3),wt(" ",n.name," "),N(2),wt(" ",n.affiliation," "),N(2),wt(" ",n.position," "),N(1),re("hidden",0==n.hindex),N(1),or(" h-index: ",n.hindex," | Citations: ",ho(15,20,n.citedby)," "),N(2),re("hidden",0!=n.hindex),N(6),wt(" ",n.interests.toString()," "),N(3),we("href",n.website,je),re("hidden",""==n.website),N(2),we("href",n.scholar,je),re("hidden",""==n.scholar),N(2),we("href",n.twitter,je),re("hidden",""==n.twitter),N(2),we("href",n.linkedin,je),re("hidden",""==n.linkedin)}}let oN=(()=>{class e{constructor(n){this.filterService=n,this.title="Egyptians in AI",this.researchers=zn,this.rinterests={},this.rinterestsFreq={},this.profiles=this.researchers,this.searchQuery="",this.en_active=!0,[this.rinterests,this.rinterestsFreq]=this.filterService.getResearchIntersts(zn),this.sortShuffle()}ngOnInit(){}sortAZ(){this.researchers=this.filterService.sortAZ(zn)}sortHIndex(){this.researchers=this.filterService.sortHIndex(zn)}sortCitations(){this.researchers=this.filterService.sortCitations(zn)}sortShuffle(){this.researchers=this.filterService.sortShuffle(zn)}filterProfiles(n){let i=n.target.value.toLowerCase();this.researchers=this.filterService.filterProfiles(i,zn)}filterInterests(){this.researchers=this.filterService.filterInterests(zn,this.rinterests)}checkAllInterests(){for(let n in this.rinterests)this.rinterests[n]=!0;this.researchers=this.profiles}clearAllInterests(){for(let n in this.rinterests)this.rinterests[n]=!1;this.researchers=this.profiles}editProfile(n){let i="https://docs.google.com/forms/d/e/1FAIpQLSdLaYBQyOzI5gnlGzwOki3b1TJtFjLUeHUKxkGtXQDhHdSreg/viewform?usp=pp_url&entry.186050192=Update&entry.1945362270={name}&entry.843703109={affiliation}&entry.1728443742={position}&entry.113990162={gscholar}&entry.1193057171={linkedin}&entry.2083985192={twitter}&entry.1542622457={website}&entry.2030031116={research_interests}";i=i.replace("{name}",n.name),i=i.replace("{affiliation}",n.affiliation),i=i.replace("{position}",n.position),i=i.replace("{gscholar}",n.scholar),i=i.replace("{linkedin}",n.linkedin),i=i.replace("{twitter}",n.twitter),i=i.replace("{website}",n.website),i=i.replace("{research_interests}",n.interests.join(",")),window.open(i,"_blank")}}return e.\u0275fac=function(n){return new(n||e)(v(W0))},e.\u0275cmp=Ci({type:e,selectors:[["app-english"]],decls:54,vars:6,consts:[[1,"row",2,"margin-top","5em","margin-bottom","5em"],[2,"padding","1em"],["href","https://docs.google.com/forms/d/e/1FAIpQLSdLaYBQyOzI5gnlGzwOki3b1TJtFjLUeHUKxkGtXQDhHdSreg/viewform?usp=sf_link"],["href","https://medium.com/@bkhmsi/egyptians-in-ai-research-1ff64c78cc5b"],["id","sort-container",1,"row"],[1,"col-lg-2","col-md-12","col-sm-12"],["target","_blank","href","https://docs.google.com/forms/d/e/1FAIpQLSdLaYBQyOzI5gnlGzwOki3b1TJtFjLUeHUKxkGtXQDhHdSreg/viewform?usp=sf_link",1,"btn","btn-outline-primary","w-100","title"],[1,"fa","fa-pen"],[1,"col-lg-4","col-md-12","col-sm-12"],[1,"col-md-12"],[1,"search"],[1,"fa","fa-search"],["type","text","placeholder","Search By Name",1,"form-control",3,"keyup"],[1,"col-lg-1","col-md-12","col-sm-12"],[1,"btn","btn-outline-secondary","sort-button","w-100","title",3,"click"],[1,"fas","fa-sort-alpha-down"],[1,"btn","btn-outline-success","sort-button","w-100","title",3,"click"],[1,"fa-solid","fa-arrow-down-9-1"],[1,"btn","btn-outline-warning","sort-button","w-100","title",3,"click"],[1,"col-lg-1","col-md-12","col-sm-12","title"],[1,"btn","btn-outline-danger","sort-button","w-100",3,"click"],[1,"fas","fa-shuffle"],[1,"w-100",2,"margin-bottom","1rem"],[1,"btn","btn-link","sort-button",3,"click"],[1,"form-group"],["class","form-check",4,"ngFor","ngForOf"],[2,"width","100%","margin","auto"],["class","col-lg-2 col-md-6 col-sm-12 rgrid",4,"ngFor","ngForOf"],[1,"mt-3","mb-3"],["class","col-lg-3 col-md-6 col-sm-12 mb-4",3,"hidden",4,"ngFor","ngForOf"],[1,"form-check"],["type","checkbox",1,"form-check-input",3,"id","value","ngModel","change","ngModelChange"],[1,"form-check-label",3,"for"],[1,"col-lg-2","col-md-6","col-sm-12","rgrid"],[3,"href"],[1,"card","click-to-top",2,"background-color","whitesmoke","border-width","0.01px","border-radius","0"],["width","40","height","40",1,"rounded-circle","mx-auto",2,"margin","0.5rem",3,"src","alt"],[1,"col-lg-3","col-md-6","col-sm-12","mb-4",3,"hidden"],[1,"card",2,"background-color","whitesmoke",3,"id"],[1,"edit-btn",3,"click"],[1,"fa-solid","fa-pencil"],["width","160","height","160",1,"rounded-circle","mx-auto",2,"margin","0.5rem",3,"src","alt"],[1,"card-body",2,"background-color","#EAECEE"],[1,"card-title","mb-0",2,"font-size","1.4rem"],[1,"card-subtitle","mb-2","text-muted",2,"min-height","2.4em"],[1,"card-text",2,"min-height","2.3em"],[1,"card-text",2,"font-size","0.8rem",3,"hidden"],[2,"min-height","7em"],[1,"card-text",2,"font-size","0.8rem"],[1,"card-text","text-center"],["target","_blank",3,"hidden","href"],[1,"fas","fa-globe",2,"font-size","1.5rem","color","black","padding-right","0.5rem"],[1,"fas","fa-graduation-cap",2,"font-size","1.5rem","color","black","padding-right","0.5rem"],[1,"fab","fa-twitter",2,"font-size","1.5rem","color","black","padding-right","0.5rem"],[1,"fab","fa-linkedin",2,"font-size","1.5rem","color","black","padding-left","0.5rem"]],template:function(n,i){1&n&&(b(0,"div",0)(1,"p",1),C(2," Welcome to Egyptian AI, a website dedicated to showcasing the profiles of prominent Egyptian researchers in the field of Artificial Intelligence. If you believe that someone deserving is missing from our list, we welcome your suggestions. To be considered for inclusion, the only criteria is that the individual must have an "),b(3,"strong"),C(4,"h-index of 5 or higher"),_(),C(5,", as recorded on their Google Scholar profile. You can submit your suggestion by filling out "),b(6,"a",2),C(7,"this form"),_(),C(8,", or request updates for existing profiles. We hope that you find our website informative and inspiring, and we invite you to explore the profiles of our featured researchers. To date, we have included "),b(9,"strong"),C(10),_(),C(11," profiles. Please note, the list is randomly shuffled every time the page is refreshed. Check this "),b(12,"a",3),C(13,"Blog Post"),_(),C(14," to read about the motivation behind building this website. "),_(),b(15,"div",4)(16,"div",5)(17,"a",6),V(18,"i",7),C(19," Nominate Someone "),_()(),b(20,"div",8)(21,"div",9)(22,"div",10),V(23,"i",11),b(24,"input",12),Q("keyup",function(o){return i.filterProfiles(o)}),_()()()(),b(25,"div",13)(26,"button",14),Q("click",function(){return i.sortAZ()}),V(27,"i",15),C(28," AZ "),_()(),b(29,"div",5)(30,"button",16),Q("click",function(){return i.sortHIndex()}),V(31,"i",17),C(32," h-Index "),_()(),b(33,"div",5)(34,"button",18),Q("click",function(){return i.sortCitations()}),V(35,"i",17),C(36," Citations "),_()(),b(37,"div",19)(38,"button",20),Q("click",function(){return i.sortShuffle()}),V(39,"i",21),_()()(),b(40,"details",22)(41,"button",23),Q("click",function(){return i.clearAllInterests()}),C(42," Clear "),_(),b(43,"button",23),Q("click",function(){return i.checkAllInterests()}),C(44," Check All "),_(),b(45,"summary"),C(46,"Filter by Research Interests"),_(),b(47,"div",24),ui(48,nN,4,6,"div",25),co(49,"keyvalue"),_()(),b(50,"div",26),ui(51,iN,6,4,"div",27),_(),V(52,"hr",28),ui(53,rN,33,22,"div",29),_()),2&n&&(N(10),wt(" ",i.profiles.length," "),N(38),re("ngForOf",ho(49,4,i.rinterests)),N(3),re("ngForOf",i.researchers),N(2),re("ngForOf",i.researchers))},dependencies:[Yc,wa,wd,Ia,nd,td]}),e})();const Wn=JSON.parse('[{"name":"Mona Diab","affiliation":"CMU","position":"Director of the Language Technologies Institute","hindex":55,"photo":"./assets/images/mona-diab.jpeg","scholar":"https://scholar.google.com/citations?user=-y6SIhQAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/mona-diab-55946614/","website":"","twitter":"https://mobile.twitter.com/MonaDiab77","interests":["Responsible AI","Natural Language Processing","Computational Linguistics","Arabic NLP","Cross Lingual/Multilingual Processing","Machine Learning"],"citedby":16301,"lastupdate":"2023-10-14"},{"name":"Abdelrahman Mohamed","affiliation":"Rembrand","position":"Co-Founder","hindex":49,"photo":"./assets/images/abdelrahman-mohamed.jpeg","scholar":"https://scholar.google.ca/citations?user=tJ_PrzgAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/abdel-rahman-mohamed-a5808210/","website":"","twitter":"","interests":["Speech Processing","Speech Recognition","Speech Language Processing","Machine Learning"],"citedby":53168,"lastupdate":"2023-10-14"},{"name":"Samhaa R. El-Beltagy","affiliation":"New Giza University","position":"Dean of the School of Information Technology","hindex":25,"photo":"./assets/images/samhaa-el-beltagy.jpeg","scholar":"https://scholar.google.com/citations?user=xdz-3qgAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/samhaa-el-beltagy-b410a530","website":"","twitter":"","interests":["Arabic NLP","Text Mining","Information Extraction","Sentiment Analysis","Semantic Annotation"],"citedby":2778,"lastupdate":"2023-10-14"},{"name":"Kareem Darwish","affiliation":"aiXplain","position":"Principal Scientist","hindex":43,"photo":"./assets/images/kareem-darwish.jpeg","scholar":"https://scholar.google.com/citations?user=y7tlR6UAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/kareem-darwish-788b9125","website":"http://kareemdarwish.com/files/","twitter":"https://twitter.com/kareem2darwish","interests":["Arabic NLP","Information Retrieval","Computational Social Science","Natural Language Processing"],"citedby":6173,"lastupdate":"2023-10-14"},{"name":"Ahmed Rafea","affiliation":"American University in Cairo","position":"Professor","hindex":28,"photo":"./assets/images/ahmed-rafea.jpeg","scholar":"https://scholar.google.com/citations?user=szDaQLYAAAAJ&hl=en","linkedin":"","website":"https://www.aucegypt.edu/fac/ahmedrafea","twitter":"","interests":["Natural Language Processing","Machine Translation","Mining Social Media","Text Mining","Knowledge Engineering"],"citedby":3404,"lastupdate":"2023-10-14"},{"name":"Mohsen Rashwan","affiliation":"Cairo University","position":"Professor","hindex":22,"photo":"./assets/images/mohsen-rashwan.jpeg","scholar":"https://scholar.google.com/citations?user=Q4Ic2k0AAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/mohsen-rashwan-4719364","website":"","twitter":"","interests":["Machine Learning","Speech Processing","Natural Language Processing","Human Language Technology"],"citedby":1510,"lastupdate":"2023-10-14"},{"name":"Rana el Kaliouby","affiliation":"Smart Eye","position":"Deputy CEO","hindex":44,"photo":"./assets/images/rana-el-kaliouby.jpeg","scholar":"https://scholar.google.com/citations?user=tpg6xzgAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/kaliouby/","website":"https://ranaelkaliouby.com/","twitter":"https://twitter.com/kaliouby","interests":["Affective Computing","Emotion AI","Human Perception","Computer Vision","Machine Learning"],"citedby":7011,"lastupdate":"2023-10-14"},{"name":"Mohamed Afify","affiliation":"Microsoft","position":"Principal Researcher","hindex":18,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?user=1ZIc388AAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Machine Translation","Speech Recognition","Natural Language Processing","Adaptation Models","Computational Linguistics","Phonology"],"citedby":1058,"lastupdate":"2023-10-14"},{"name":"Hany Hassan Awadalla","affiliation":"Microsoft","position":"Partner Research Manager","hindex":29,"photo":"./assets/images/hany-hassan.jpeg","scholar":"https://scholar.google.com/citations?user=jqsVHbsAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/hany-hassan-awadalla/","website":"https://www.microsoft.com/en-us/research/people/hanyh/","twitter":"https://twitter.com/hany_hassan","interests":["Machine Translation","Machine Learning","Natural Language Processing","Deep Learning","Semi-supervised Learning"],"citedby":3232,"lastupdate":"2023-10-14"},{"name":"Ahmed Tawfik","affiliation":"Microsoft","position":"Principal Data and Applied Science Manager","hindex":11,"photo":"./assets/images/ahmed-tawfik.jpeg","scholar":"https://scholar.google.com.eg/citations?hl=en&user=8mRqcrIAAAAJ","linkedin":"https://www.linkedin.com/in/ahmed-tawfik-903a093","website":"https://www.microsoft.com/en-us/research/people/atawfik/","twitter":"","interests":["Machine Translation","Machine Learning","Natural Language Processing","Deep Learning","Text-to-Speech"],"citedby":416,"lastupdate":"2023-10-14"},{"name":"Mohamed Moustafa","affiliation":"Amazon","position":"Applied Science Manager","hindex":18,"photo":"./assets/images/mohamed-moustafa.jpeg","scholar":"https://scholar.google.com/citations?hl=en&user=QGdReUEAAAAJ","linkedin":"https://www.linkedin.com/in/mohamed-n-moustafa/","website":"https://www.aucegypt.edu/fac/mohamedmoustafa","twitter":"","interests":["Computer Vision","Machine Learning","Pattern Recognition","Biometrics","Deep Learning"],"citedby":1642,"lastupdate":"2023-10-14"},{"name":"Wael Hamza","affiliation":"Amazon","position":"Senior Principal Applied Scientist","hindex":23,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?user=rJnetakAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/wael-hamza-5454b63","website":"","twitter":"","interests":["Natural Language Processing","Machine Learning","Machine Translation","Natural Language Understanding","Speech"],"citedby":2970,"lastupdate":"2023-10-14"},{"name":"Iz Beltagy","affiliation":"Allen Institute for AI","position":"Senior Research Scientist","hindex":27,"photo":"./assets/images/iz-beltagy.jpeg","scholar":"https://scholar.google.com/citations?hl=en&user=jkV6H1gAAAAJ","linkedin":"https://www.linkedin.com/in/beltagy","website":"https://beltagy.net/","twitter":"https://twitter.com/i_beltagy","interests":["Natural Language Processing","Machine Learning"],"citedby":10260,"lastupdate":"2023-10-14"},{"name":"Waleed Ammar","affiliation":"Allen Institute for AI","position":"Product Manager","hindex":24,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?hl=en&user=4NZ58cQAAAAJ","linkedin":"","website":"https://wammar.github.io","twitter":"","interests":["Natural Language Processing","Machine Learning","Semantic Parsing"],"citedby":4376,"lastupdate":"2023-10-14"},{"name":"Ahmed H. Awadallah","affiliation":"Microsoft Research","position":"Senior Principal Research Manager","hindex":47,"photo":"./assets/images/ahmed-awadallah.jpeg","scholar":"https://scholar.google.com/citations?user=sNGk-9MAAAAJ&hl=en","linkedin":"","website":"https://www.microsoft.com/en-us/research/people/hassanam/","twitter":"","interests":["Natural Language Processing","Machine Learning","Information Retrieval"],"citedby":10220,"lastupdate":"2023-10-14"},{"name":"Hala Mostafa","affiliation":"Raytheon Technologies","position":"Manager","hindex":8,"photo":"./assets/images/hala-mostafa.jpeg","scholar":"https://scholar.google.com/citations?hl=en&user=zmNFj_EAAAAJ","linkedin":"","website":"http://hmostafa.com/","twitter":"","interests":["Machine Learning"],"citedby":407,"lastupdate":"2023-10-14"},{"name":"Baher Abdulhai","affiliation":"University of Toronto","position":"Professor","hindex":37,"photo":"./assets/images/abdulhai.png","scholar":"https://scholar.google.com/citations?hl=en&user=ezgstIoAAAAJ","linkedin":"https://www.linkedin.com/in/baher-abdulhai-b2460215","website":"https://uttri.utoronto.ca/people/baher-abdulhai/","twitter":"","interests":["Intelligent Transportation Systems","Traffic Control and Management","Evacuation Optimization","Congestion Pricing"],"citedby":5651,"lastupdate":"2023-10-14"},{"name":"Yaser S. Abu-Mostafa","affiliation":"Caltech","position":"Professor","hindex":29,"photo":"./assets/images/yaser-abu-mostafa.jpeg","scholar":"https://www.semanticscholar.org/author/Y.-Abu-Mostafa/1398965769","linkedin":"","website":"https://work.caltech.edu/index.html","twitter":"","interests":["Machine Learning","Artificial Intelligence","Computational Finance","Information and Complexity","Probability and Statistics"],"lastupdate":"","citedby":4141},{"name":"Marwan Torki","affiliation":"Alexandria University","position":"Associate Professor","hindex":20,"photo":"./assets/images/marwan-torki.jpeg","scholar":"https://scholar.google.com/citations?hl=en&user=aYLNZT4AAAAJ","linkedin":"","website":"http://eng.staff.alexu.edu.eg/~mtorki/","twitter":"","interests":["Machine Learning","Computer Vision","Deep Learning","Natural Language Processing"],"citedby":2594,"lastupdate":"2023-10-14"},{"name":"Medhat Moussa","affiliation":"University of Guelph","position":"Professor","hindex":22,"photo":"./assets/images/medhat-moussa.jpeg","scholar":"https://scholar.google.com/citations?hl=en&user=x-2sUG4AAAAJ","linkedin":"https://www.linkedin.com/in/medhat-moussa-3a58713","website":"https://www.uoguelph.ca/engineering/people/medhat-moussa-phd-peng","twitter":"","interests":["Robotics","Machine Learning","Machine Vision","Reconfigurable Computing"],"citedby":1829,"lastupdate":"2023-10-14"},{"name":"Khaled Shaalan","affiliation":"The British University in Dubai","position":"Professor","hindex":56,"photo":"./assets/images/khaled-shaalan.jpeg","scholar":"https://scholar.google.com/citations?hl=en&user=keLKdlgAAAAJ","linkedin":"","website":"https://sites.google.com/site/khaledshaalan/publications/full-publication-list","twitter":"","interests":["Artificial Intelligence","Arabic NLP","Computational Linguistics","Natural Language Processing","Knowledge Management"],"citedby":13479,"lastupdate":"2023-10-14"},{"name":"Ossama Emam","affiliation":"IBM","position":"Senior Technical Staff Member","hindex":18,"photo":"./assets/images/ossama-emam.jpeg","scholar":"https://scholar.google.com/citations?hl=en&user=3Xa5wWMAAAAJ","linkedin":"https://www.linkedin.com/in/ossama-emam-ph-d-21b4b2124","website":"","twitter":"","interests":["Machine Learning","Information Retrieval","Information Extraction","Mathematical and Statistical Modelling","Pattern Recognition","Speech Technology"],"citedby":1062,"lastupdate":"2023-10-14"},{"name":"Alaa Khamis","affiliation":"General Motors","position":"AI & Smart Mobility Technical Leader","hindex":28,"photo":"./assets/images/alaa-khamis.jpeg","scholar":"https://scholar.google.com/citations?hl=en&user=btM72xsAAAAJ","linkedin":"https://www.linkedin.com/in/alaakhamis/","website":"https://www.alaakhamis.org","twitter":"","interests":["Smart Mobility","Autonomous and Connected Vehicles","Cognitive IoT","Machine Learning","Combinatorial Optimization"],"citedby":4895,"lastupdate":"2023-10-14"},{"name":"Alaa Sheta","affiliation":"Southern Connecticut (SCSU)","position":"Professor","hindex":31,"photo":"./assets/images/alaa-sheta.jpeg","scholar":"https://scholar.google.com/citations?hl=en&user=x7zJsNoAAAAJ","linkedin":"https://www.linkedin.com/in/alaa-sheta-30577617/","website":"https://sites.google.com/site/profalaasheta/home","twitter":"","interests":["Machine Learning","Data Science","Image Processing","Robotics","Software Engineering"],"citedby":3657,"lastupdate":"2023-10-14"},{"name":"Ahmed K. Farahat","affiliation":"Hitachi America, Ltd. R&D","position":"Principal Research Scientist","hindex":19,"photo":"./assets/images/ahmed-farahat.jpeg","scholar":"https://scholar.google.com/citations?user=5kcdVaYAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/afarahat/","website":"http://www.afarahat.com","twitter":"","interests":["Machine Learning","Data Mining","Industrial AI"],"citedby":1875,"lastupdate":"2023-10-14"},{"name":"Motaz El-Saban","affiliation":"Microsoft","position":"Principal Data & Applied Science Manager","hindex":26,"photo":"./assets/images/motaz-el-saban.jpeg","scholar":"https://scholar.google.com/citations?hl=en&user=xHcqzWgAAAAJ","linkedin":"https://www.linkedin.com/in/motazelsaban/","website":"","twitter":"","interests":["Machine Learning","Computer Vision"],"citedby":2861,"lastupdate":"2023-10-14"},{"name":"Maher Ahmed","affiliation":"Wilfrid Laurier University","position":"Associate Professor","hindex":11,"photo":"./assets/images/maher-ahmed.jpeg","scholar":"https://scholar.google.com/citations?hl=en&user=qsJmtkMAAAAJ","linkedin":"https://www.linkedin.com/in/maher-ahmed-5baa9112","website":"https://www.wlu.ca/academics/faculties/faculty-of-science/faculty-profiles/maher-ahmed/index.html","twitter":"","interests":["Pattern Recognition","Image Processing"],"citedby":652,"lastupdate":"2023-10-14"},{"name":"Mohamed S. Kamel","affiliation":"University of Waterloo","position":"Professor - Passed Away (2015)","hindex":64,"photo":"./assets/images/mohamed-kamel.jpeg","scholar":"https://scholar.google.com/citations?hl=en&user=6Evj9YwAAAAJ","linkedin":"","website":"","twitter":"","interests":["Pattern Analysis","Machine Intelligence","Image Analysis","Pattern Recognition","Computational Intelligence"],"citedby":22429,"lastupdate":"2023-10-14"},{"name":"Ahmad Abdulkader","affiliation":"Meta","position":"Research And Development Scientist - Passed Away (2021)","hindex":7,"photo":"./assets/images/ahmad-abdulkader.jpeg","scholar":"https://www.semanticscholar.org/author/Ahmad-Abdulkader/1859983","linkedin":"","website":"","twitter":"","interests":["Machine Learning"],"lastupdate":"","citedby":345},{"name":"Ali Elkahky","affiliation":"Meta","position":"Research Scientist","hindex":14,"photo":"./assets/images/ali-elkahky.jpeg","scholar":"https://scholar.google.com/citations?user=KB3S8RoAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/ali-elkahky-32711ab/","website":"","twitter":"","interests":["Machine Learning","Natural Language Processing"],"citedby":2108,"lastupdate":"2023-10-14"},{"name":"Ahmed El Kholy","affiliation":"Microsoft","position":"Senior Applied Scientist","hindex":16,"photo":"./assets/images/ahmed-el-kholy.jpeg","scholar":"https://scholar.google.com/citations?user=n4PqfX0AAAAJ&hl=en","linkedin":"","website":"https://www.microsoft.com/en-us/research/people/ahelkhol/","twitter":"","interests":["Machine Learning","Natural Language Processing","Conversational AI"],"citedby":3246,"lastupdate":"2023-10-14"},{"name":"Walid Magdy","affiliation":"University of Edinburgh","position":"Associate Professor","hindex":37,"photo":"./assets/images/walid-magdy.jpeg","scholar":"https://scholar.google.com/citations?user=ACQD8jMAAAAJ&hl=en","linkedin":"","website":"https://homepages.inf.ed.ac.uk/wmagdy/","twitter":"https://twitter.com/Walid_Magdy","interests":["Computational Social Science","Natural Language Processing","Data Mining","Information Retrieval"],"citedby":4037,"lastupdate":"2023-10-14"},{"name":"Ahmed Ali","affiliation":"QCRI","position":"Principal Engineer","hindex":24,"photo":"./assets/images/ahmed-ali.jpeg","scholar":"https://scholar.google.com/citations?user=t0gYEjAAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/ahmedali08","website":"","twitter":"","interests":["Speech Recognition"],"citedby":2067,"lastupdate":"2023-10-14"},{"name":"Neamat El Gayar","affiliation":"Heriot Watt University","position":"Director & Uni Professor","hindex":16,"photo":"./assets/images/neamat-elgayar.jpg","scholar":"https://scholar.google.com/citations?user=RHDcyz8AAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/neamat-el-gayar-07b7297a/","website":"","twitter":"https://twitter.com/Neamat11647418","interests":["Neural Networks","Machine Learning","Computational Intelligence","Natural Language Processing"],"citedby":1881,"lastupdate":"2023-10-14"},{"name":"Amir Alansary","affiliation":"Jaguar Land Rover","position":"ML & CV Team Lead","hindex":21,"photo":"./assets/images/amir-alansary.jpeg","scholar":"https://scholar.google.com/citations?user=Sj11Jo8AAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/amiralansary/","website":"","twitter":"","interests":["Computer Vision","Machine Learning","Reinforcement Learning","Autonomous Vehicles Perception and Path Planning","Medical Imaging"],"citedby":1603,"lastupdate":"2023-10-14"},{"name":"Mustafa A Elattar","affiliation":"Intixel & Nile University","position":"Founder & Assistant Professor","hindex":11,"photo":"./assets/images/mustafa-elattar.png","scholar":"https://scholar.google.com/citations?user=BJoskL8AAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/mustafa-elattar-phd-42289112/","website":"https://www.intixel.com/","twitter":"https://twitter.com/3ttar","interests":["Medical Imaging","Artificial Intelligence","Image Analysis"],"citedby":803,"lastupdate":"2023-10-14"},{"name":"Hesham Eraqi","affiliation":"Amazon","position":"Senior Scientist","hindex":10,"photo":"./assets/images/hesham-eraqi.jpg","scholar":"https://scholar.google.com.eg/citations?user=Sk-VfXYAAAAJ","linkedin":"https://www.linkedin.com/in/heshameraqi","website":"https://heshameraqi.github.io","twitter":"","interests":["Geospatial Machine Learning","Autonomous Driving","Deep Learning","Handwriting Recognition"],"citedby":809,"lastupdate":"2023-10-14"},{"name":"Ahmed Alsallab","affiliation":"Microsoft","position":"Principal Applied Science Manager","hindex":19,"photo":"./assets/images/ahmad-al-sallab.jpeg","scholar":"https://scholar.google.com/citations?user=hiEbSZYAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/ahmad-el-sallab-phd-7aa2195a","website":"","twitter":"","interests":["Deep Learning","Computer Vision","Natural Language Processing"],"citedby":3534,"lastupdate":"2023-10-14"},{"name":"Gamaleldin Elsayed","affiliation":"Google Brain","position":"Senior Research Scientist","hindex":15,"photo":"./assets/images/gamaleldin-elsayed.jpeg","scholar":"https://scholar.google.com/citations?user=7PrTPzsAAAAJ&hl=en&oi=ao","linkedin":"","website":"http://www.columbia.edu/~gfa2109/","twitter":"","interests":["Machine Learning","Computer Vision","Computational Neuroscience"],"citedby":2033,"lastupdate":"2023-10-14"},{"name":"Mahmoud Abou-Nasr","affiliation":"Ford Motor Company","position":"Lecturer III","hindex":11,"photo":"./assets/images/mahmoud-abou-nasr.jpeg","scholar":"https://scholar.google.com/citations?hl=en&user=qkvufmcAAAAJ","linkedin":"","website":"","twitter":"","interests":["Neural Networks","Data Mining","Deep Learning","Reinforcement Learning","Optimization"],"citedby":357,"lastupdate":"2023-10-14"},{"name":"Mohamed Elhoseiny","affiliation":"KAUST","position":"Assistant Professor","hindex":34,"photo":"./assets/images/mohamed-elhoseiny.png","scholar":"https://scholar.google.com/citations?user=iRBUTOAAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/mohamed-elhoseiny-8a836215","website":"http://www.mohamed-elhoseiny.com/","twitter":"https://twitter.com/moElhoseiny","interests":["Zero-Shot Learning","Few-Shot Learning","Computer Vision","Computational Creativity","Vision and Language"],"citedby":8011,"lastupdate":"2023-10-14"},{"name":"Amr Ahmed","affiliation":"Google","position":"Senior Staff Research Scientist","hindex":39,"photo":"./assets/images/amr-ahmed.png","scholar":"https://scholar.google.com/citations?user=ivUi2T0AAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/amr-ahmed-b998965","website":"https://research.google/people/AmrAhmed/","twitter":"","interests":["Machine Learning","Big Data","User Modeling","Personalization","Content Analysis"],"citedby":11322,"lastupdate":"2023-10-14"},{"name":"Amir Atiya","affiliation":"Cairo University","position":"Professor","hindex":48,"photo":"./assets/images/amir-atiya.jpeg","scholar":"https://scholar.google.com/citations?user=sT6n4zAAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/amir-atiya-8685b7","website":"https://cairo.academia.edu/AmirAtiya","twitter":"","interests":["Machine Learning","Pattern Classification","Computational Finance"],"citedby":12838,"lastupdate":"2023-10-14"},{"name":"Ramy Eskander","affiliation":"Twitter","position":"Senior Research Scientist","hindex":19,"photo":"./assets/images/ramy-eskander.jpeg","scholar":"https://scholar.google.com/citations?user=4SE1GIgAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/ramyeskander/","website":"","twitter":"","interests":["NLP","Recommendation Systems","Multilinguality","Low-Resource Languages","Arabic NLP","Unsupervised and Semi-Supervised Learning"],"citedby":1926,"lastupdate":"2023-10-14"},{"name":"Tamer Elsayed","affiliation":"Qatar University","position":"Associate Professor","hindex":30,"photo":"./assets/images/tamer-elsayed.jpeg","scholar":"https://scholar.google.com/citations?user=ekS-yPIAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/tamer-elsayed-a9a71116/","website":"http://qufaculty.qu.edu.qa/telsayed/","twitter":"https://twitter.com/tamer_elsayed","interests":["Information Retrieval","Natural Language Processing","Applied Machine Learning","Big Data Analytics"],"citedby":3081,"lastupdate":"2023-10-14"},{"name":"Mohamed Elbadrashiny","affiliation":"aiXplain","position":"Principal Scientist","hindex":16,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?user=DppUkNUAAAAJ","linkedin":"https://www.linkedin.com/in/mohamed-elbadrashiny-591908b","website":"","twitter":"","interests":["Natural Language Processing","Multimodal Dialog","Large Language Models"],"citedby":1647,"lastupdate":"2023-10-14"},{"name":"Ibrahim Sabek","affiliation":"Univ. of Southern California","position":"Assistant Professor","hindex":11,"photo":"./assets/images/ibrahim-sabek.png","scholar":"https://scholar.google.com/citations?user=R8732voAAAAJ&hl=en","linkedin":"http://www.linkedin.com/pub/ibrahim-sabek/23/422/526","website":"http://people.csail.mit.edu/ibrahimsabek/","twitter":"https://twitter.com/ibrahim_sabek","interests":["Machine Learning for Database Systems","Data Management and Analysis"],"citedby":525,"lastupdate":"2023-10-14"},{"name":"Mostafa Saad Ibrahim","affiliation":"Nvidia","position":"Senior Computer Vision Engineer","hindex":6,"photo":"./assets/images/mostafa-s-ibrahim.jpeg","scholar":"https://scholar.google.com/citations?user=2fSZbmkAAAAJ&hl=en/","linkedin":"https://www.linkedin.com/in/mostafasaad","website":"","twitter":"","interests":["Machine Learning","Computer Vision"],"citedby":765,"lastupdate":"2023-10-14"},{"name":"Mostafa Elhoushi","affiliation":"Meta","position":"Research Engineer","hindex":12,"photo":"./assets/images/mostafa-elhoushi.jpeg","scholar":"https://scholar.google.ca/citations?user=y_cwSKAAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/mostafaelhoushi/","website":"","twitter":"","interests":["Machine Learning","Deep Learning","Navigation","Quantum Computing"],"citedby":497,"lastupdate":"2023-10-14"},{"name":"Sameh Khamis","affiliation":"Rembrand","position":"Lead Research Scientist","hindex":22,"photo":"./assets/images/sameh-khamis.jpeg","scholar":"https://scholar.google.com/citations?user=9WgcwYQAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/samehkhamis/","website":"https://www.samehkhamis.com","twitter":"","interests":["Machine Learning","Computer Vision","Graphics"],"citedby":4044,"lastupdate":"2023-10-14"},{"name":"Ibrahim Sobh","affiliation":"Valeo","position":"Senior Expert of AI","hindex":11,"photo":"./assets/images/ibrahim-sobh.jpeg","scholar":"https://scholar.google.com.eg/citations?user=SODWkygAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/ibrahim-sobh-phd-8681757/","website":"","twitter":"","interests":["Machine Learning","Computer Vision","Autonomous Driving"],"citedby":1501,"lastupdate":"2023-10-14"},{"name":"Aboul Ella Hassanien","affiliation":"Cairo University","position":"Professor","hindex":85,"photo":"./assets/images/aboul-ella-hassanien-ali.jpeg","scholar":"https://scholar.google.com/citations?user=aZ6bcngAAAAJ&hl=en","linkedin":"https://eg.linkedin.com/in/aboul-ella-hassanien-48a9528","website":"","twitter":"","interests":["Artificial Intelligence","Swarm Optimization","IoT","Drones","Metaverses","Biomedical Informatics"],"citedby":31717,"lastupdate":"2023-10-14"},{"name":"Fahmi Khalifa","affiliation":"Mansoura University","position":"Assistant Professor","hindex":48,"photo":"./assets/images/fahmi-khalifa.jpeg","scholar":"https://scholar.google.ca/citations?user=Ua1i31oAAAAJ&hl=fr&oi=ao","linkedin":"","website":"","twitter":"","interests":["Medical Image Analysis","Machine Learning","Pattern Recognition","Image and Signal Processing","Multimedia","Biomedical Informatics"],"citedby":5472,"lastupdate":"2023-10-14"},{"name":"Khaled Fathy Hussein","affiliation":"Assiut University","position":"Head of CS Department","hindex":17,"photo":"./assets/images/khaled-hussain.jpeg","scholar":"https://scholar.google.com.eg/citations?hl=en&user=8DgiMfcAAAAJ&view_op=list_works&sortby=pubdate","linkedin":"","website":"https://www.aun.edu.eg/fci/khaled-fathy-hussein-saleh","twitter":"","interests":["Computer Vision","Computer Graphics","Neural Networks"],"citedby":1112,"lastupdate":"2023-10-14"},{"name":"Mohamed Nabih Ali","affiliation":"Fondazione Bruno Kessler","position":"Post Doctoral Researcher","hindex":6,"photo":"./assets/images/mohamed-nabih.jpg","scholar":"https://scholar.google.com/citations?user=6VXSI8wAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/mohamed-nabih-5011b074/","website":"","twitter":"","interests":["Artificial Intelligence","Machine Learning","Deep Learning","Speech Enhancement and Recognition","Biomedical Signal Processing","Image Processing"],"citedby":213,"lastupdate":"2023-10-14"},{"name":"Omar Khattab","affiliation":"Stanford University","position":"PhD Student","hindex":12,"photo":"./assets/images/omar-khattab.jpeg","scholar":"https://scholar.google.com/citations?user=Lwr5ozgAAAAJ&hl=en","linkedin":"","website":"https://omarkhattab.com/","twitter":"https://twitter.com/lateinteraction","interests":["Natural Language Processing","Information Retrieval"],"citedby":2871,"lastupdate":"2023-10-14"},{"name":"Ahmed Elgammal","affiliation":"Rutgers University","position":"Professor","hindex":55,"photo":"./assets/images/ahmed-elgammal.jpeg","scholar":"https://scholar.google.com/citations?user=DxQiCiIAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/ahmed-elgammal-71667911/","website":"https://sites.rutgers.edu/ahmed-elgammal/","twitter":"https://twitter.com/ahmed_elgammal?lang=en","interests":["Computer Vision"],"citedby":16665,"lastupdate":"2023-10-14"},{"name":"Ahmed El-Kishky","affiliation":"Twitter","position":"Staff ML Researcher","hindex":16,"photo":"./assets/images/ahmed-el-kishky.jpeg","scholar":"https://scholar.google.com/citations?user=A4frpBcAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/ahmed-e-56566b47/","website":"https://ahelk.github.io/","twitter":"","interests":["Machine Learning","NLP","Data Mining","Graph Learning","Recommender Systems"],"citedby":1482,"lastupdate":"2023-10-14"},{"name":"Moustafa Alzantot","affiliation":"Google Research","position":"Senior Engineer","hindex":17,"photo":"./assets/images/moustafa-alzantot.jpeg","scholar":"https://scholar.google.com/citations?user=AusbFkQAAAAJ","linkedin":"https://www.linkedin.com/in/malzantot/","website":"","twitter":"","interests":["Machine Learning","Recommender Systems","Natural Language Processing"],"citedby":4263,"lastupdate":"2023-10-14"},{"name":"Heba Elfardy","affiliation":"Amazon","position":"Senior ML Scientist","hindex":12,"photo":"./assets/images/heba-elfardy.jpeg","scholar":"https://scholar.google.com/citations?hl=en&user=L6lzWrYAAAAJ","linkedin":"https://www.linkedin.com/in/heba-elfardy-a0984b2b","website":"","twitter":"","interests":["Natural Language Processing"],"citedby":607,"lastupdate":"2023-10-14"},{"name":"Ahmed Hefny","affiliation":"Cruise","position":"Staff Research Scientist","hindex":13,"photo":"./assets/images/ahmed-hefny.jpeg","scholar":"https://scholar.google.com/citations?user=FAv6Nd8AAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/ahmed-hefny","website":"","twitter":"","interests":["Machine Learning"],"citedby":1586,"lastupdate":"2023-10-14"},{"name":"Hady Elsahar","affiliation":"Meta","position":"Research Scientist","hindex":15,"photo":"./assets/images/hady-elsahar.jpeg","scholar":"https://scholar.google.com.eg/citations?user=SbcM6bsAAAAJ&hl=en","linkedin":"","website":"https://www.hadyelsahar.io/","twitter":"https://twitter.com/hadyelsahar","interests":["Natural Language Processing","Machine Learning"],"citedby":1755,"lastupdate":"2023-10-14"},{"name":"Ahmed M. Badawi","affiliation":"Cairo University","position":"Professor","hindex":17,"photo":"./assets/images/ahmed-badawi.jpeg","scholar":"https://scholar.google.com/citations?user=r9pLu6EAAAAJ","linkedin":"https://www.linkedin.com/in/ahmed-badawi-215167a","website":"https://ieeexplore.ieee.org/author/37345733000","twitter":"","interests":["Computer Vision","Biometric","Medical Imaging","Medical Diagnosis","Multimodal Matching","Image Processing","Pattern Recognition","Pattern Classification"],"citedby":1589,"lastupdate":"2023-10-14"},{"name":"Mostafa Badawy","affiliation":"Apple","position":"(AI/ML) Software Engineer (Siri)","hindex":7,"photo":"./assets/images/mostafa-badawy.jpg","scholar":"https://scholar.google.com/citations?hl=en&user=iq8c9CkAAAAJ","linkedin":"https://www.linkedin.com/in/mostafa-gamal-badawy/","website":"","twitter":"","interests":["Machine Learning","Natural Language Processing","Computer Vision","Artificial Intelligence"],"citedby":407,"lastupdate":"2023-10-14"},{"name":"Muhammad AbdulMageed","affiliation":"UBC","position":"Associate Professor","hindex":26,"photo":"./assets/images/muhammad-abdulmageed.jpeg","scholar":"https://scholar.google.com/citations?user=SOjQhl8AAAAJ","linkedin":"","website":"https://mageed.arts.ubc.ca/","twitter":"","interests":["Arabic NLP","Natural Language Processing","Machine Learning"],"citedby":3515,"lastupdate":"2023-10-14"},{"name":"Wael Abd-Almageed","affiliation":"USC","position":"Research Associate Professor","hindex":31,"photo":"./assets/images/wael-abdalmageed.jpeg","scholar":"https://scholar.google.com/citations?user=tRGH8FkAAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Machine Learning","Computer Vision"],"citedby":4121,"lastupdate":"2023-10-14"},{"name":"Youssef Nashed","affiliation":"Stanford University","position":"Staff ML Scientist","hindex":21,"photo":"./assets/images/youssef-nashed.jpeg","scholar":"https://scholar.google.com/citations?user=pQXy90QAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/ynashed/","website":"","twitter":"","interests":["Computer Vision","Geometric Deep Learning","Graph Neural Networks"],"citedby":1554,"lastupdate":"2023-10-14"},{"name":"Abubakr Karali","affiliation":"NVIDIA","position":"Senior Solutions Architect","hindex":5,"photo":"./assets/images/abubakr-karali.jpeg","scholar":"https://scholar.google.com/citations?user=ACxQHBUAAAAJ&hl=en","linkedin":"https://se.linkedin.com/in/abubakr-karali-8988486b","website":"","twitter":"","interests":["Computer Vision","Self-Supervised Learning"],"citedby":119,"lastupdate":"2023-10-14"},{"name":"Ahmed Sahlol","affiliation":"Co-founder Tachyhealth","position":"Associate Professor of ML","hindex":15,"photo":"./assets/images/ahmed-sahlol.jpeg","scholar":"https://scholar.google.com/citations?user=JZB2oMQAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/ahmed-sahloul","website":"","twitter":"","interests":["Medical Imaging","Medical NLP","Medical Fraud Detection"],"citedby":1428,"lastupdate":"2023-10-14"},{"name":"Eslam Kamal","affiliation":"Microsoft","position":"Applied Science Manager","hindex":8,"photo":"./assets/images/eslam-kamal.jpeg","scholar":"https://scholar.google.com/citations?user=KRFyxS0AAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/eslamkamal85","website":"","twitter":"","interests":["NLP","LLMs","Conversational AI","Responsible AI"],"citedby":324,"lastupdate":"2023-10-14"},{"name":"Yehia Elshater","affiliation":"Amazon","position":"Data/Applied Scientist","hindex":5,"photo":"./assets/images/yehia-elshater.jpeg","scholar":"https://scholar.google.com/citations?user=S8MZ9PMAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/yehiaz/","website":"","twitter":"","interests":["Recommendation Engines","NLP","Forecasting"],"citedby":135,"lastupdate":"2023-10-14"},{"name":"Ahmed Rashed","affiliation":"Volkswagen Financial Service","position":"Senior Data Scientist","hindex":6,"photo":"./assets/images/ahmed-rashed.jpeg","scholar":"https://scholar.google.com.eg/citations?user=-wyZHw8AAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/ahmedrashed-ai/","website":"","twitter":"","interests":["Recommender Systems","Graph Mining","Time Series Forecasting"],"citedby":186,"lastupdate":"2023-10-14"},{"name":"Shady Elbassuoni","affiliation":"American University of Beirut","position":"Associate Professor","hindex":23,"photo":"./assets/images/shady-elbassuoni.jpg","scholar":"https://scholar.google.com/citations?user=Fe8iIHMAAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Natural Language Processing","Computer Vision","Information Retrieval","Public Health and Medicine"],"citedby":2865,"lastupdate":"2023-10-14"},{"name":"Noha Radwan","affiliation":"Inceptive","position":"Researcher","hindex":11,"photo":"./assets/images/noha-radwan.jpeg","scholar":"https://scholar.google.com/citations?user=g98QcZUAAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Computer vision","Deep learning"],"citedby":1828,"lastupdate":"2023-10-14"},{"name":"Radwa ElShawi","affiliation":"Tartu university","position":"Associate Professor","hindex":17,"photo":"./assets/images/radwa-elshawi.jpeg","scholar":"https://scholar.google.de/citations?user=RD5PdpwAAAAJ&hl=en","linkedin":"","website":"https://radwaelshawi.cs.ut.ee/","twitter":"","interests":["Explainable AI","AutoML","health informatics"],"citedby":1610,"lastupdate":"2023-10-14"},{"name":"Ramy Hussein","affiliation":"Stanford University","position":"Machine Learning Researcher","hindex":18,"photo":"./assets/images/ramy-hussein.jpeg","scholar":"https://scholar.google.ca/citations?user=lc3lgegAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/ramy-hussein","website":"","twitter":"","interests":["Artificial Intelligence","Computer Vision","Signal/Image Processing","Medical Imaging"],"citedby":1065,"lastupdate":"2023-10-14"},{"name":"Sarah Adel Bargal","affiliation":"Georgetown University","position":"Professor","hindex":16,"photo":"./assets/images/sarah-adel-bargal.jpeg","scholar":"https://scholar.google.com/citations?user=zjlFcrEAAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Computer vision","Deep Learning"],"citedby":2543,"lastupdate":"2023-10-14"},{"name":"Badr AlKhamissi","affiliation":"EPFL","position":"PhD Student","hindex":6,"photo":"./assets/images/badr.jpeg","scholar":"https://scholar.google.com/citations?user=0l9UHtQAAAAJ&hl=en&authuser=1","linkedin":"https://linkedin.com/in/bkhmsi","website":"https://bkhmsi.github.io","twitter":"https://twitter.com/bkhmsi","interests":["Machine Learning","Natural Language Processing","Computational Neuroscience","Computer Vision"],"citedby":103,"lastupdate":"2023-10-14"},{"name":"Moamen AbdelRazek","affiliation":"Royal Bank of Canada","position":"Lead Machine Learning Engineer","hindex":7,"photo":"./assets/images/moamen-abdelrazek.jpg","scholar":"https://scholar.google.com.eg/citations?user=7bcODQ8AAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/moamen-abdelrazek","website":"https://github.com/moemen95","twitter":"","interests":["NLP","LLMs","Computer Vision","ML Ops"],"citedby":384,"lastupdate":"2023-10-14"},{"name":"Ahmed Magooda","affiliation":"Microsoft","position":"Applied Researcher","hindex":7,"photo":"./assets/images/ahmed-magooda.jpeg","scholar":"https://scholar.google.com.eg/citations?user=x90NynMAAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["NLP","Deep Learning"],"citedby":308,"lastupdate":"2023-10-14"},{"name":"Aly El Gamal","affiliation":"Amazon","position":"Sr. Applied Scientist","hindex":16,"photo":"./assets/images/aly-elgamal.jpeg","scholar":"https://scholar.google.com/citations?view_op=list_works&hl=en&hl=en&user=x47tshQAAAAJ&sortby=pubdate","linkedin":"","website":"","twitter":"","interests":["Machine Learning","Consumer Engagement","Information Theory"],"citedby":1170,"lastupdate":"2023-10-14"},{"name":"Tamer Basha","affiliation":"BIDMC and Harvard Medical","position":"Postdoctoral Research Fellow","hindex":23,"photo":"./assets/images/tamer-basha.jpeg","scholar":"https://scholar.google.com/citations?hl=en&user=C6Hg48cAAAAJ&view_op=list_works&sortby=pubdate","linkedin":"","website":"","twitter":"","interests":["Medical Imaging"],"citedby":1865,"lastupdate":"2023-10-14"},{"name":"Momen Negm","affiliation":"Rasheed AI","position":"Co-Founder","hindex":25,"photo":"./assets/images/momen-negm.jpg","scholar":"https://scholar.google.com/citations?user=JJ_RhZEAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/momennegm/","website":"","twitter":"https://twitter.com/mo2men","interests":["Computer Vision","Machine Learning"],"citedby":3807,"lastupdate":"2023-10-14"},{"name":"Mostafa Salem","affiliation":"Assiut University","position":"Assistant Professor","hindex":10,"photo":"./assets/images/mostafa-salem.jpeg","scholar":"https://scholar.google.com.eg/citations?user=7P86J5YAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/dr-mostafasalem/","website":"https://mostafasalem.netlify.app/","twitter":"","interests":["Medical Image Analysis","Computer Vision","3D Reconstruction"],"citedby":1969,"lastupdate":"2023-10-14"},{"name":"Noureldin Elmadany","affiliation":"AAST","position":"Assistant Professor","hindex":9,"photo":"./assets/images/nour-elmadany.jpg","scholar":"https://scholar.google.com/citations?user=sy8RRsgAAAAJ&hl=ja","linkedin":"","website":"","twitter":"","interests":["Multimodal Learning","Action Recognition and Anticipation"],"citedby":239,"lastupdate":"2023-10-14"},{"name":"Ahmed Masry","affiliation":"Arteria AI","position":"Data Scientist","hindex":5,"photo":"./assets/images/ahmed-elmasry.jpg","scholar":"https://scholar.google.com/citations?user=XqPX5XcAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/ahmed-masry-ku/","website":"","twitter":"https://twitter.com/Ahmed_Masry97","interests":["NLP","Multimodal Chart & Document Understanding","Computer Vision"],"citedby":138,"lastupdate":"2023-10-14"},{"name":"Sahar Selim","affiliation":"Nile University","position":"Assistant Professor","hindex":6,"photo":"./assets/images/sahar-selim.jpeg","scholar":"https://scholar.google.com.eg/citations?hl=en&user=Ynx9NTwAAAAJ&view_op=list_works&sortby=pubdate","linkedin":"https://www.linkedin.com/in/sahar-selim-soussa/?originalSubdomain=eg","website":"","twitter":"","interests":["Machine Learning","Medical Imaging","Brain-Computer Interface","Neural Engineering"],"citedby":250,"lastupdate":"2023-10-14"},{"name":"Ghada Khoriba","affiliation":"Nile University","position":"Associate Professor","hindex":9,"photo":"./assets/images/ghada-khoriba.jpg","scholar":"https://scholar.google.com.eg/citations?hl=en&user=jwTBsIIAAAAJ","linkedin":"https://www.linkedin.com/in/ghada-khoriba-090b72113","website":"https://www.nu.edu.eg/academic-staff/dr-ghada-khoriba","twitter":"","interests":["Medical Image Analysis","Machine Learning","Swarm Algorithms","Computer Vision","NLP","LLMs","Knowledge Graphs."],"citedby":597,"lastupdate":"2023-10-14"},{"name":"Fatma Elzahraa Eid","affiliation":"Broad Institute / Al-Azhar","position":"Biomedical Machine Learning Group Lead","hindex":5,"photo":"./assets/images/fatma-elzahraa.jpeg","scholar":"https://scholar.google.ca/citations?user=Q4RV3MEAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/fatma-elzahraa-eid-553b475b/","website":"","twitter":"","interests":["Biomedical ML","Data-driven Protein Engineering","Biological sequence engineering","Data-driven Therapeutics"],"citedby":363,"lastupdate":"2023-10-14"},{"name":"Haitham Elmarakeby","affiliation":"DF/HCC / Alazhar University","position":"Instructor / ML Group Lead","hindex":17,"photo":"./assets/images/haitham-elmarakeby.jpeg","scholar":"https://scholar.google.com/citations?user=yg6RHWoAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/haitham-elmarakeby/","website":"https://connects.catalyst.harvard.edu/Profiles/display/Person/162206","twitter":"","interests":["Cancer Machine Learning"],"citedby":1776,"lastupdate":"2023-10-14"},{"name":"Ahmad Taher Azar","affiliation":"Prince Sultan / Benha Uni","position":"Full Professor","hindex":68,"photo":"./assets/images/ahmad-azar.jpeg","scholar":"https://scholar.google.com/citations?user=6gf4UVkAAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Control Theory & Applications","Robotics","Artificial Intelligence","Reinforcement Learning"],"citedby":17481,"lastupdate":"2023-10-14"},{"name":"Hossam Hassan Ammar","affiliation":"University of Hertfordshire","position":"Lecturer of Mechatronics and Robotics, CTO of ITC","hindex":16,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?user=gxtCFWkAAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Machine Learning","Robotics","Automatic Control","Renewable Energy"],"citedby":672,"lastupdate":"2023-10-14"},{"name":"Marwa Mahmoud","affiliation":"University of Glasgow","position":"Assistant Professor","hindex":18,"photo":"./assets/images/marwa-mahmoud.jpeg","scholar":"https://scholar.google.com/citations?user=mYyG4p0AAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Affective Computing","Computer Vision","Gesture Recognition","Animal Behaviour Understanding"],"citedby":1550,"lastupdate":"2023-10-14"},{"name":"Ahmed Elgohary","affiliation":"Microsoft","position":"Researcher","hindex":17,"photo":"./assets/images/ahmed-elgohary.jpeg","scholar":"https://scholar.google.com/citations?user=WDTv0I4AAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Natural Language Processing"],"citedby":3380,"lastupdate":"2023-10-14"},{"name":"Amr Sharaf","affiliation":"Microsoft","position":"Researcher","hindex":8,"photo":"./assets/images/amr-sharaf.jpeg","scholar":"https://scholar.google.com/citations?user=It3Gm1EAAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Natural Language Processing","Computer Vision","Machine Learning"],"citedby":331,"lastupdate":"2023-10-14"},{"name":"Hazem Rashed","affiliation":"Valeo","position":"Senior Principal ML Research Engineer","hindex":15,"photo":"./assets/images/hasem-rashed.jpg","scholar":"https://scholar.google.com/citations?user=hYdZUowAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/hazem-rashed-a9490428/","website":"","twitter":"","interests":["Deep Learning","Computer Vision","Autonomous Driving"],"citedby":893,"lastupdate":"2023-10-14"},{"name":"Mennatullah Siam","affiliation":"Ontario Tech University","position":"Tenure-Track Assistant Professor","hindex":15,"photo":"./assets/images/mennatullah_siam.jpg","scholar":"https://scholar.google.com/citations?user=AVPds3kAAAAJ&hl=en&oi=ao","linkedin":"https://www.linkedin.com/in/mennatullah-siam-6546508a","website":"https://msiam.github.io/homepage/","twitter":"","interests":["Computer Vision","Deep Learning","Fewshot Learning","Video Object Segmentation","Video Understanding","Spatiotemporal Models Interpretability."],"citedby":1323,"lastupdate":"2023-10-14"},{"name":"Hamdy Mubarak","affiliation":"QCRI","position":"Principal Software Engineer","hindex":32,"photo":"./assets/images/hamdy-mubarak.jpeg","scholar":"https://scholar.google.com/citations?user=usvY6qYAAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Natural Language Processing","Software Engineering","Information Extraction","Social Media Analysis","Arabic NLP"],"citedby":3753,"lastupdate":"2023-10-14"},{"name":"Mohamed Mokbel","affiliation":"Univ. of Minnesota","position":"Distinguished McKnight University Professor, Univ. of Minnesota","hindex":58,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?hl=en&user=GHz1ZVIAAAAJ","linkedin":"","website":"","twitter":"","interests":["Database Systems","GIS","Spatial Databases","Spatial Big Data","Mobile Data Management"],"citedby":15995,"lastupdate":"2023-10-14"},{"name":"Ashraf Aboulnaga","affiliation":"QCRI","position":"Chief Scientist","hindex":41,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?hl=en&user=47sihrsAAAAJ","linkedin":"","website":"","twitter":"","interests":["Databases","Cloud computing","Graphs"],"citedby":5864,"lastupdate":"2023-10-14"},{"name":"Essam Mansour","affiliation":"Concordia University","position":"Assistant Professor","hindex":16,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?user=dqgckDgAAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Database systems","data science platforms","distributed/parallel systems","machine learning"],"citedby":1371,"lastupdate":"2023-10-14"},{"name":"Ihab F. Ilyas","affiliation":"University of Waterloo","position":"Professor","hindex":57,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?user=YG6mTEIAAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Databases","Data Management","Data Cleaning","Data Integration","Data Science"],"citedby":13153,"lastupdate":"2023-10-14"},{"name":"Walid G. Aref","affiliation":"Purdue University","position":"Professor","hindex":63,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?user=vX45evgAAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Database Systems","Spatial Databases","Data Management"],"citedby":16201,"lastupdate":"2023-10-14"},{"name":"Abdurrahman Ghanem","affiliation":"Yelp","position":"Senior Software Engineer","hindex":5,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?user=XrVeZKgAAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Mobile Development","Artificial Intelligence","Machine Learning"],"citedby":457,"lastupdate":"2023-10-14"},{"name":"Hossam Hammady","affiliation":"Rayyan Systems Inc.","position":"Vice President of Engineering","hindex":11,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?hl=en&user=49pKt_kAAAAJ","linkedin":"","website":"","twitter":"","interests":["cloud computing","distributed systems","machine learning","data analytics"],"citedby":11330,"lastupdate":"2023-10-14"},{"name":"Sherif Abdou","affiliation":"Cairo University","position":"Associate Professor","hindex":19,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?user=aFYes5MAAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["artificial intelligence","Human Language technologies","speech recognition","language modeling","text to speech"],"citedby":1344,"lastupdate":"2023-10-14"},{"name":"Amr Magdy","affiliation":"UC Riverside","position":" Assistant Professor","hindex":16,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?user=11CMsKsAAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Data management","spatial data management","GIS","large-scale data analytics","indexing"],"citedby":842,"lastupdate":"2023-10-14"},{"name":"Thanaa Ghanem","affiliation":"Metropolitan State University","position":"Metropolitan State University","hindex":15,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?user=ZUQDHsMAAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Database systems"],"citedby":1260,"lastupdate":"2023-10-14"},{"name":"Mohammed Attia","affiliation":"Google Inc.","position":"Analytical Linguist","hindex":26,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?user=fvpPkj0AAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Morphology","syntax","statistical parsing","spell checking","Lexical Functional Grammar"],"citedby":3251,"lastupdate":"2023-10-14"},{"name":"Ahmed Mourad","affiliation":"Apeiros","position":"Apeiros","hindex":10,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?user=pcibYXwAAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Information Retrieval","Evaluation","Natural language Processing","Social Media Analysis"],"citedby":491,"lastupdate":"2023-10-14"},{"name":"Tarek El-Ganainy","affiliation":"Electronic Arts","position":"Electronic Arts","hindex":8,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?user=CJi5hO0AAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Natural Language Processing","Information Retrieval","Machine Learning","Virtual Reality"],"citedby":177,"lastupdate":"2023-10-14"},{"name":"Mohamed Hefeeda","affiliation":"Simon Fraser University","position":"Professor","hindex":34,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?user=0pu-90QAAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Multimedia Systems","Computer Networks","Multimedia AI"],"citedby":6057,"lastupdate":"2023-10-14"},{"name":"Mohamed Elgharib","affiliation":"MPI for Informatics","position":"Research Group Leader","hindex":25,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?user=e1WLgm8AAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Computer Graphics","Computer Vision","Machine Learning","Virtual/Augmented Reality"],"citedby":2627,"lastupdate":"2023-10-14"},{"name":"Tarek Elgamal","affiliation":"LocknSell","position":"Founder & CEO","hindex":9,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?user=CMrSMisAAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Privacy-Preserving ML","Edge computing","Multimedia systems","Machine Learning"],"citedby":448,"lastupdate":"2023-10-14"},{"name":"AbdelRahim A. ElMadany","affiliation":"UBC","position":"PostDoc","hindex":11,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?user=v3akuNAAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/tarek-elgamal/","website":"","twitter":"","interests":["Natural Language Processing","Deep Learning","Computational Social Science","Machine Learning","Speech Act"],"citedby":657,"lastupdate":"2023-10-14"},{"name":"Mohamed Waleed Fakhr","affiliation":"AAST","position":"Professor","hindex":13,"photo":"./assets/images/mohamed-fakhr.jpg","scholar":"https://scholar.google.com/citations?user=37Rfy7sAAAAJ&hl=en","linkedin":"https://eg.linkedin.com/in/mohamed-waleed-fakhr-2b952036","website":"","twitter":"","interests":["Digital Signal Processing","Deep Learning","NLP"],"citedby":685,"lastupdate":"2023-10-14"},{"name":"Mohamed Loey","affiliation":"Benha University","position":"Associate Prof","hindex":19,"photo":"./assets/images/mohamed-loey.jpg","scholar":"https://scholar.google.com/citations?user=_kRSr78AAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/mloey","website":"https://bu.edu.eg/staff/mloey","twitter":"https://twitter.com/mloey","interests":["Deep Learning","Artificial Intelligence","Machine Learning","Image Processing"],"citedby":3214,"lastupdate":"2023-10-14"},{"name":"Wael Badawy","affiliation":"University of Hertfordshire","position":"Program Lead","hindex":30,"photo":"./assets/images/wael_badawy.jpg","scholar":"https://scholar.google.ca/citations?user=d_6Lp3IAAAAJ&hl=en&oi=ao","linkedin":"https://linkedIn.com/in/waelbadawy","website":"https://waelbadawy.com","twitter":"https://Twitter.com/wbadawy","interests":["Artificial Intelligence","Computer Vision","Cyber Security."],"citedby":4218,"lastupdate":"2023-10-14"},{"name":"Mohamed Salem Elaraby","affiliation":"University of Pittsburgh","position":"PhD Researcher","hindex":6,"photo":"./assets/images/mohamed-elaraby.jpg","scholar":"https://scholar.google.com.eg/citations?user=A5jMCaAAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/mohamed-salem-b25b24b6/","website":"","twitter":"https://twitter.com/MsalemUBC","interests":["Natural Language Processing","Legal Document Summarization","Deep Learning"],"citedby":179,"lastupdate":"2023-10-14"},{"name":"Mohamed Altantawy","affiliation":"Agolo","position":"CTO & Founder","hindex":5,"photo":"./assets/images/mohamed_altantawy.jpeg","scholar":"https://scholar.google.com/citations?user=aelgAPAAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/altantawy/","website":"","twitter":"","interests":["Machine Learning","Natural Langauge Processing"],"citedby":191,"lastupdate":"2023-10-14"},{"name":"Muhammad Ali Rushdi","affiliation":"Cairo & New Giza University","position":"Associate Professor","hindex":13,"photo":"./assets/images/muhammad-rushdi.png","scholar":"https://scholar.google.com/citations?user=vDgGLjsAAAAJ&hl=en&oi=ao","linkedin":"https://www.linkedin.com/in/muhammad-rushdi-4817a462/","website":"http://scholar.cu.edu.eg/mrushdi","twitter":"","interests":["Machine learning","Biomedical Signal Processing","Medical Image Analysis","Information Security and Forensics","Computer Vision","Applied Mathematics"],"citedby":550,"lastupdate":"2023-10-14"}]');function sN(e,t){if(1&e){const n=to();b(0,"div",30)(1,"input",31),Q("change",function(){return ni(n),ii(Ot().filterInterests())})("ngModelChange",function(r){const s=ni(n).$implicit;return ii(Ot().rinterests[s.key]=r)}),_(),b(2,"label",32),C(3),_()()}if(2&e){const n=t.$implicit,i=Ot();N(1),wn("id","",n.key,"Checkbox"),we("value",n.key),re("ngModel",i.rinterests[n.key]),N(1),wn("for","",n.key,"Checkbox"),N(1),or("",n.key," (",i.rinterestsFreq[n.key],")")}}function aN(e,t){if(1&e&&(b(0,"div",33)(1,"a",34)(2,"div",35),V(3,"img",36),b(4,"span"),C(5),_()()()()),2&e){const n=t.$implicit;N(1),wn("href","#",n.name,"",je),N(2),we("src",n.photo,je),we("alt",n.name),N(2),js(n.name)}}function lN(e,t){if(1&e){const n=to();b(0,"div",37)(1,"div",38)(2,"div")(3,"a",39),Q("click",function(){const o=ni(n).$implicit;return ii(Ot().editProfile(o))}),V(4,"i",40),_()(),V(5,"img",41),b(6,"div",42)(7,"h4",43),C(8),_(),b(9,"h5",44),C(10),_(),b(11,"h6",45),C(12),_(),b(13,"span",46),C(14),co(15,"number"),_(),b(16,"span",47),C(17," h-index: - "),_(),b(18,"div",48)(19,"strong"),C(20,"\u0627\u0644\u0627\u0647\u062a\u0645\u0627\u0645\u0627\u062a \u0627\u0644\u0628\u062d\u062b\u064a\u0629:"),_(),b(21,"p",49),C(22),_()(),V(23,"hr"),b(24,"p",50)(25,"a",51),V(26,"i",52),_(),b(27,"a",51),V(28,"i",53),_(),b(29,"a",51),V(30,"i",54),_(),b(31,"a",51),V(32,"i",55),_()()()()()}if(2&e){const n=t.$implicit;re("hidden",!Ot().en_active),N(1),we("id",n.name),N(4),we("src",n.photo,je),we("alt",n.name),N(3),wt(" ",n.name," "),N(2),wt(" ",n.affiliation," "),N(2),wt(" ",n.position," "),N(1),re("hidden",0==n.hindex),N(1),or(" h-index: ",n.hindex," | Citations: ",ho(15,20,n.citedby)," "),N(2),re("hidden",0!=n.hindex),N(6),wt(" ",n.interests.toString()," "),N(3),we("href",n.website,je),re("hidden",""==n.website),N(2),we("href",n.scholar,je),re("hidden",""==n.scholar),N(2),we("href",n.twitter,je),re("hidden",""==n.twitter),N(2),we("href",n.linkedin,je),re("hidden",""==n.linkedin)}}let uN=(()=>{class e{constructor(n){this.filterService=n,this.title="\u0627\u0644\u0645\u0635\u0631\u064a\u064a\u0646 \u0641\u064a \u0627\u0644\u0630\u0643\u0627\u0621 \u0627\u0644\u0627\u0635\u0637\u0646\u0627\u0639\u064a",this.researchers=Wn,this.rinterests={},this.rinterestsFreq={},this.profiles=this.researchers,this.searchQuery="",this.en_active=!0,[this.rinterests,this.rinterestsFreq]=this.filterService.getResearchIntersts(Wn),this.sortShuffle()}ngOnInit(){}sortAZ(){this.researchers=this.filterService.sortAZ(Wn)}sortHIndex(){this.researchers=this.filterService.sortHIndex(Wn)}sortCitations(){this.researchers=this.filterService.sortCitations(Wn)}sortShuffle(){this.researchers=this.filterService.sortShuffle(Wn)}filterProfiles(n){let i=n.target.value.toLowerCase();this.researchers=this.filterService.filterProfiles(i,Wn)}filterInterests(){this.researchers=this.filterService.filterInterests(Wn,this.rinterests)}checkAllInterests(){for(let n in this.rinterests)this.rinterests[n]=!0;this.researchers=this.profiles}clearAllInterests(){for(let n in this.rinterests)this.rinterests[n]=!1;this.researchers=this.profiles}editProfile(n){let i="https://docs.google.com/forms/d/e/1FAIpQLSdLaYBQyOzI5gnlGzwOki3b1TJtFjLUeHUKxkGtXQDhHdSreg/viewform?usp=pp_url&entry.186050192=Update&entry.1945362270={name}&entry.843703109={affiliation}&entry.1728443742={position}&entry.113990162={gscholar}&entry.1193057171={linkedin}&entry.2083985192={twitter}&entry.1542622457={website}&entry.2030031116={research_interests}";i=i.replace("{name}",n.name),i=i.replace("{affiliation}",n.affiliation),i=i.replace("{position}",n.position),i=i.replace("{gscholar}",n.scholar),i=i.replace("{linkedin}",n.linkedin),i=i.replace("{twitter}",n.twitter),i=i.replace("{website}",n.website),i=i.replace("{research_interests}",n.interests.join(",")),window.open(i,"_blank")}}return e.\u0275fac=function(n){return new(n||e)(v(W0))},e.\u0275cmp=Ci({type:e,selectors:[["app-arabic"]],decls:51,vars:6,consts:[[1,"row",2,"margin-top","5em","margin-bottom","5em"],[2,"direction","rtl"],["href","https://docs.google.com/forms/d/e/1FAIpQLSdLaYBQyOzI5gnlGzwOki3b1TJtFjLUeHUKxkGtXQDhHdSreg/viewform?usp=sf_link"],["href","https://medium.com/@bkhmsi/egyptians-in-ai-research-1ff64c78cc5b"],["id","sort-container",1,"row",2,"direction","rtl"],[1,"col-lg-2","col-md-12","col-sm-12"],["target","_blank","href","https://docs.google.com/forms/d/e/1FAIpQLSdLaYBQyOzI5gnlGzwOki3b1TJtFjLUeHUKxkGtXQDhHdSreg/viewform?usp=sf_link",1,"btn","btn-outline-primary","w-100","title"],[1,"fa","fa-pen"],[1,"col-lg-4","col-md-12","col-sm-12"],[1,"col-md-12"],[1,"search"],[1,"fa","fa-search"],["type","text","placeholder","\u0627\u0644\u0628\u062d\u062b \u0639\u0646 \u0637\u0631\u064a\u0642 \u0627\u0644\u0625\u0633\u0645",1,"form-control",3,"keyup"],[1,"col-lg-1","col-md-12","col-sm-12"],[1,"btn","btn-outline-secondary","sort-button","w-100","title",3,"click"],[1,"fas","fa-sort-alpha-down"],[1,"btn","btn-outline-success","sort-button","w-100","title",3,"click"],[1,"fa-solid","fa-arrow-down-9-1"],[1,"btn","btn-outline-warning","sort-button","w-100","title",3,"click"],[1,"col-lg-1","col-md-12","col-sm-12","title"],[1,"btn","btn-outline-danger","sort-button","w-100",3,"click"],[1,"fas","fa-shuffle"],[1,"w-100",2,"margin-bottom","1rem","direction","rtl"],[1,"btn","btn-link","sort-button",3,"click"],[1,"form-group"],["class","form-check",4,"ngFor","ngForOf"],[2,"width","100%","margin","auto","direction","rtl"],["class","col-lg-2 col-md-6 col-sm-12 rgrid",4,"ngFor","ngForOf"],[1,"mt-3","mb-3"],["class","col-lg-3 col-md-6 col-sm-12 mb-4",3,"hidden",4,"ngFor","ngForOf"],[1,"form-check"],["type","checkbox",1,"form-check-input",3,"id","value","ngModel","change","ngModelChange"],[1,"form-check-label",3,"for"],[1,"col-lg-2","col-md-6","col-sm-12","rgrid"],[3,"href"],[1,"card","click-to-top",2,"background-color","whitesmoke","border-width","0.01px","border-radius","0"],["width","40","height","40",1,"rounded-circle","mx-auto",2,"margin","0.5rem",3,"src","alt"],[1,"col-lg-3","col-md-6","col-sm-12","mb-4",3,"hidden"],[1,"card",2,"background-color","whitesmoke",3,"id"],[1,"edit-btn",3,"click"],[1,"fa-solid","fa-pencil"],["width","160","height","160",1,"rounded-circle","mx-auto",2,"margin","0.5rem",3,"src","alt"],[1,"card-body",2,"background-color","#EAECEE","direction","rtl"],[1,"card-title","mb-0",2,"font-size","1.4rem"],[1,"card-subtitle","mb-2","text-muted"],[1,"card-text",2,"min-height","2.3em"],[1,"card-text",2,"font-size","0.8rem","direction","ltr",3,"hidden"],[1,"card-text",2,"font-size","0.8rem",3,"hidden"],[2,"min-height","7em"],[1,"card-text",2,"font-size","0.8rem"],[1,"card-text","text-center",2,"direction","ltr"],["target","_blank",3,"hidden","href"],[1,"fas","fa-globe",2,"font-size","1.5rem","color","black","padding-right","0.5rem"],[1,"fas","fa-graduation-cap",2,"font-size","1.5rem","color","black","padding-right","0.5rem"],[1,"fab","fa-twitter",2,"font-size","1.5rem","color","black","padding-right","0.5rem"],[1,"fab","fa-linkedin",2,"font-size","1.5rem","color","black","padding-left","0.5rem"]],template:function(n,i){1&n&&(b(0,"div",0)(1,"p",1),C(2," \u0645\u0631\u062d\u0628\u064b\u0627 \u0628\u0643\u0645 \u0641\u064a \u0645\u0648\u0642\u0639 \u0627\u0644\u0645\u0635\u0631\u064a\u0648\u0646 \u0641\u064a \u0627\u0644\u0630\u0643\u0627\u0621 \u0627\u0644\u0627\u0635\u0637\u0646\u0627\u0639\u064a\u060c \u0648\u0647\u0648 \u0645\u0648\u0642\u0639 \u0645\u062e\u0635\u0635 \u0644\u0639\u0631\u0636 \u0627\u0644\u0628\u0627\u062d\u062b\u064a\u0646 \u0627\u0644\u0645\u0635\u0631\u064a\u064a\u0646 \u0627\u0644\u0628\u0627\u0631\u0632\u064a\u0646 \u0641\u064a \u0645\u062c\u0627\u0644 \u0627\u0644\u0630\u0643\u0627\u0621 \u0627\u0644\u0627\u0635\u0637\u0646\u0627\u0639\u064a. \u0625\u0630\u0627 \u0643\u0646\u062a \u062a\u0639\u062a\u0642\u062f \u0623\u0646 \u0634\u062e\u0635\u064b\u0627 \u0645\u0627 \u0645\u0641\u0642\u0648\u062f \u0645\u0646 \u0642\u0627\u0626\u0645\u062a\u0646\u0627\u060c \u0646\u062d\u0646 \u0646\u0631\u062d\u0628 \u0628\u0627\u0642\u062a\u0631\u0627\u062d\u0627\u062a\u0643. \u0644\u0643\u064a \u064a\u062a\u0645 \u0627\u0644\u0646\u0638\u0631 \u0641\u064a \u0625\u0636\u0627\u0641\u062a\u0647\u0645\u060c \u0641\u0625\u0646 \u0627\u0644\u0645\u0639\u064a\u0627\u0631 \u0627\u0644\u0648\u062d\u064a\u062f \u0647\u0648 \u0623\u0646 \u0627\u0644\u0641\u0631\u062f \u064a\u062c\u0628 \u0623\u0646 \u064a\u0643\u0648\u0646 \u0644\u062f\u064a\u0647\nh-index \u0645\u0646 5 \u0623\u0648 \u0623\u0639\u0644\u0649\u060c \u0643\u0645\u0627 \u0645\u0633\u062c\u0644 \u0641\u064a \u0645\u0644\u0641\u0647\u0645 \u0627\u0644\u0634\u062e\u0635\u064a \u0639\u0644\u0649 Google Scholar. \u064a\u0645\u0643\u0646\u0643 \u0625\u0631\u0633\u0627\u0644 \u0627\u0642\u062a\u0631\u0627\u062d\u0643 \u0628\u0645\u0644\u0621 "),b(3,"a",2),C(4," \u0647\u0630\u0627 \u0646\u0645\u0648\u0630\u062c "),_(),C(5," \u060c\u0623\u0648 \u0637\u0644\u0628 \u062a\u062d\u062f\u064a\u062b\u0627\u062a \u0644\u0644\u0645\u0644\u0641\u0627\u062a \u0627\u0644\u0634\u062e\u0635\u064a\u0629 \u0627\u0644\u0645\u0648\u062c\u0648\u062f\u0629. \u0646\u0623\u0645\u0644 \u0623\u0646 \u062a\u062c\u062f\u0648\u0627 \u0645\u0648\u0642\u0639\u0646\u0627 \u0645\u0644\u0647\u0645\u064b\u0627\u060c \u0648\u0646\u062d\u0646 \u0646\u062f\u0639\u0648\u0643 \u0644\u0627\u0633\u062a\u0643\u0634\u0627\u0641 \u0627\u0644\u0645\u0644\u0641\u0627\u062a \u0627\u0644\u0634\u062e\u0635\u064a\u0629 \u0627\u0644\u062e\u0627\u0635\u0629 \u0628 \u0627\u0644\u0628\u0627\u062d\u062b\u064a\u0646 \u0627\u0644\u0645\u0645\u064a\u0632\u064a\u0646. \u062d\u062a\u0649 \u0627\u0644\u0622\u0646\u060c \u0642\u0645\u0646\u0627 \u0628\u062a\u0636\u0645\u064a\u0646 "),b(6,"strong"),C(7),_(),C(8," \u0634\u062e\u0635\u0627. \u064a\u0631\u062c\u0649 \u0645\u0644\u0627\u062d\u0638\u0629 \u0623\u0646 \u0627\u0644\u0642\u0627\u0626\u0645\u0629 \u064a\u062a\u0645 \u062e\u0644\u0637\u0647\u0627 \u0639\u0634\u0648\u0627\u0626\u064a\u064b\u0627 \u0641\u064a \u0643\u0644 \u0645\u0631\u0629 \u064a\u062a\u0645 \u0641\u064a\u0647\u0627 \u062a\u062d\u062f\u064a\u062b \u0627\u0644\u0635\u0641\u062d\u0629. \u0646\u062f\u0639\u0648\u0643 \u0644\u062a\u062d\u0642\u0642 "),b(9,"a",3),C(10," \u0627\u0644\u0645\u062f\u0648\u0646\u0629 "),_(),C(11," \u0647\u0630\u0647 \u0644\u0642\u0631\u0627\u0621\u0629 \u0639\u0646 \u0627\u0644\u0633\u0628\u0628 \u0648\u0631\u0627\u0621 \u0628\u0646\u0627\u0621 \u0647\u0630\u0627 \u0627\u0644\u0645\u0648\u0642\u0639. "),_(),b(12,"div",4)(13,"div",5)(14,"a",6),V(15,"i",7),C(16,"\xa0 \u0631\u0634\u062d \u0623\u062d\u062f "),_()(),b(17,"div",8)(18,"div",9)(19,"div",10),V(20,"i",11),b(21,"input",12),Q("keyup",function(o){return i.filterProfiles(o)}),_()()()(),b(22,"div",13)(23,"button",14),Q("click",function(){return i.sortAZ()}),V(24,"i",15),C(25," \u0623\u064a "),_()(),b(26,"div",5)(27,"button",16),Q("click",function(){return i.sortHIndex()}),V(28,"i",17),C(29," h-Index "),_()(),b(30,"div",5)(31,"button",18),Q("click",function(){return i.sortCitations()}),V(32,"i",17),C(33," Citations "),_()(),b(34,"div",19)(35,"button",20),Q("click",function(){return i.sortShuffle()}),V(36,"i",21),_()()(),b(37,"details",22)(38,"button",23),Q("click",function(){return i.clearAllInterests()}),C(39," Clear "),_(),b(40,"button",23),Q("click",function(){return i.checkAllInterests()}),C(41," Check All "),_(),b(42,"summary"),C(43,"\u0627\u0644\u0628\u062d\u062b \u0639\u0646 \u0637\u0631\u064a\u0642 \u0627\u0644\u0627\u0647\u062a\u0645\u0627\u0645\u0627\u062a \u0627\u0644\u0628\u062d\u062b\u064a\u0629"),_(),b(44,"div",24),ui(45,sN,4,6,"div",25),co(46,"keyvalue"),_()(),b(47,"div",26),ui(48,aN,6,4,"div",27),_(),V(49,"hr",28),ui(50,lN,33,22,"div",29),_()),2&n&&(N(7),wt(" ",i.profiles.length," "),N(38),re("ngForOf",ho(46,4,i.rinterests)),N(3),re("ngForOf",i.researchers),N(2),re("ngForOf",i.researchers))},dependencies:[Yc,wa,wd,Ia,nd,td],styles:[".search[_ngcontent-%COMP%] .fa-search[_ngcontent-%COMP%]{position:absolute;top:12px;right:16px}.sort-button[_ngcontent-%COMP%]{float:left}.nav-item[_ngcontent-%COMP%]{float:left;color:#f5f5f5;padding-right:2em}.nav-item[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{cursor:pointer}.nav-item[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:hover, .nav-item[_ngcontent-%COMP%] a[_ngcontent-%COMP%]:hover{opacity:50%}"]}),e})(),J0=(()=>{class e{constructor(n,i){this.route=n,this.router=i,this.title="Egyptians in AI",this.en_active=!0}ngOnInit(){this.router.events.subscribe(n=>{if(n instanceof n0){let i=n.url.slice(1);this.changeLang(i)}})}changeLang(n){this.en_active="ar"!=n}}return e.\u0275fac=function(n){return new(n||e)(v(Gn),v(Oe))},e.\u0275cmp=Ci({type:e,selectors:[["app-root"]],decls:93,vars:4,consts:[[1,"navbar","navbar-expand-lg","navbar-dark","fixed-top",3,"hidden"],[1,"container"],[1,"navbar-brand",2,"font-size","2em"],["src","./assets/logo.jpeg","alt","logo","width","64","height","64"],[1,"nav-items",2,"width","60%"],[1,"nav-item"],[1,"fa-solid","fa-language"],[3,"click"],["href","https://github.com/bkhmsi/egyptians-in-ai","target","_blank",1,"nav-link"],[1,"fa-brands","fa-github"],["href","https://bkhmsi.medium.com/egyptians-in-ai-research-1ff64c78cc5b","target","_blank",1,"nav-link"],[1,"fa-brands","fa-medium"],["href","https://www.youtube.com/watch?v=PtdyHfpzodg","target","_blank",1,"nav-link"],[1,"fa-solid","fa-person-chalkboard"],["ngbDropdown","",1,"nav-item","dropdown"],["href","#","id","navbarDropdown","role","button","data-toggle","dropdown","aria-haspopup","true","aria-expanded","false","ngbDropdownToggle","",1,"nav-link","dropdown-toggle"],[1,"fa-solid","fa-globe"],["aria-labelledby","navbarDropdown","ngbDropdownMenu","",1,"dropdown-menu"],["ngbDropdownItem","","href","#","target","_blank",1,"dropdown-item"],["ngbDropdownItem","","href","https://mohamedelbaha.github.io/moroccans-in-ai/","target","_blank",1,"dropdown-item"],["ngbDropdownItem","","href","https://ahmadmustafaanis.github.io/Pakistanis-in-ai/","target","_blank",1,"dropdown-item"],[1,"navbar","navbar-expand-lg","navbar-dark","fixed-top",2,"direction","rtl",3,"hidden"],[1,"nav-items"],["href","https://github.com/BKHMSI/egyptians-in-ai","target","_blank",1,"nav-link"],[1,"container",2,"margin-top","6em"],[3,"hidden"],[1,"footer","mt-auto","py-3"],["href","https://bkhmsi.github.io"],[2,"float","right"],["href","#"],[1,"fas","fa-arrow-up"]],template:function(n,i){1&n&&(b(0,"nav",0)(1,"div",1)(2,"a",2),V(3,"img",3),C(4," Egyptians in AI Research "),_(),b(5,"div",4)(6,"div",5),V(7,"i",6),C(8,"\xa0 "),b(9,"span",7),Q("click",function(){return i.changeLang("en")}),C(10,"English"),_(),C(11," | "),b(12,"span",7),Q("click",function(){return i.changeLang("ar")}),C(13,"\u0639\u0631\u0628\u064a"),_()(),b(14,"div",5)(15,"span")(16,"a",8),V(17,"i",9),C(18," GitHub"),_()()(),b(19,"div",5)(20,"span")(21,"a",10),V(22,"i",11),C(23," Blog Post"),_()()(),b(24,"div",5)(25,"span")(26,"a",12),V(27,"i",13),C(28," TEDx Talk"),_()()(),b(29,"div",14)(30,"span",15),V(31,"i",16),C(32," X in Y Websites "),_(),b(33,"div",17)(34,"a",18),C(35,"Egyptians in AI"),_(),b(36,"a",19),C(37,"Moroccans in AI"),_(),b(38,"a",20),C(39,"Pakistanis in AI"),_()()()()()(),b(40,"nav",21)(41,"div",1)(42,"a",2),C(43,"\u0627\u0644\u0645\u0635\u0631\u064a\u0648\u0646 \u0641\u064a \u0627\u0644\u0630\u0643\u0627\u0621 \u0627\u0644\u0627\u0635\u0637\u0646\u0627\u0639\u064a"),_(),b(44,"div",22)(45,"div",14)(46,"span",15),V(47,"i",16),C(48," X in Y Websites "),_(),b(49,"div",17)(50,"a",18),C(51,"Egyptians in AI"),_(),b(52,"a",19),C(53,"Moroccans in AI"),_(),b(54,"a",20),C(55,"Pakistanis in AI"),_()()(),b(56,"div",5)(57,"span")(58,"a",12),V(59,"i",13),C(60," TEDx Talk"),_()()(),b(61,"div",5)(62,"span")(63,"a",10),C(64," Blog Post "),V(65,"i",11),_()()(),b(66,"div",5)(67,"span")(68,"a",23),C(69," GitHub "),V(70,"i",9),_()()(),b(71,"div",5),V(72,"i",6),C(73,"\xa0 "),b(74,"span",7),Q("click",function(){return i.changeLang("en")}),C(75,"English"),_(),C(76," | "),b(77,"span",7),Q("click",function(){return i.changeLang("ar")}),C(78,"\u0639\u0631\u0628\u064a"),_()()()()(),b(79,"div",24),V(80,"app-english",25)(81,"app-arabic",25),b(82,"footer",26)(83,"div",1)(84,"span"),C(85," Developed and Maintained by "),b(86,"a",27),C(87,"Badr AlKhamissi"),_(),C(88," | Last Update: 29 May 2024"),_(),b(89,"span",28)(90,"a",29),C(91," Back to Top "),V(92,"i",30),_()()()()()),2&n&&(re("hidden",!i.en_active),N(40),re("hidden",i.en_active),N(40),re("hidden",!i.en_active),N(1),re("hidden",i.en_active))},dependencies:[oN,uN],styles:["nav{background-color:#091b2b}footer a{color:#fff}footer span{color:#d0d3d4}.footer{position:fixed;background-color:#1c8394;left:0;bottom:0;width:100%;height:4em}.nav-item{float:right;color:#f5f5f5;padding-left:2em}.nav-item span{cursor:pointer}.nav-item span:hover,.nav-item a:hover{opacity:50%}.sort-button{float:right;margin-left:1em;margin-bottom:1em}.search{position:relative;box-shadow:0 0 40px #3333331a}.search input{text-indent:40px;border:2px solid #d6d4d4}.search input:focus{box-shadow:none;border:2px solid #007bff}.search .fa-search{position:absolute;top:12px;left:16px}.search button{position:absolute;top:5px;right:5px}.blur{background:whitesmoke;filter:blur(.1px)}.rgrid{width:6.5%;display:inline-block}div.click-to-top span{display:none;position:absolute;text-align:center;width:100%;margin:auto;background:white;color:#000;font-size:small}div.click-to-top:hover span{display:block}@media (max-width: 992px){.search{margin-top:1rem;margin-bottom:1rem}.rgrid{width:14%;display:inline-block}}.edit-btn{float:right;color:gray;padding:.5rem}\n"],encapsulation:2}),e})();const cN=[{path:":lang",component:J0}];let dN=(()=>{class e{}return e.\u0275fac=function(n){return new(n||e)},e.\u0275mod=Jt({type:e}),e.\u0275inj=xt({imports:[G0.forRoot(cN),G0]}),e})(),hN=(()=>{class e{}return e.\u0275fac=function(n){return new(n||e)},e.\u0275mod=Jt({type:e,bootstrap:[J0]}),e.\u0275inj=xt({imports:[mx,dN,PT]}),e})();(function VI(){_w=!1})(),gx().bootstrapModule(hN).catch(e=>console.error(e))}},ae=>{ae(ae.s=466)}]); \ No newline at end of file +"use strict";(self.webpackChunkegyptians_in_ai=self.webpackChunkegyptians_in_ai||[]).push([[179],{466:()=>{function ae(e){return"function"==typeof e}function wr(e){const n=e(i=>{Error.call(i),i.stack=(new Error).stack});return n.prototype=Object.create(Error.prototype),n.prototype.constructor=n,n}const Bo=wr(e=>function(n){e(this),this.message=n?`${n.length} errors occurred during unsubscription:\n${n.map((i,r)=>`${r+1}) ${i.toString()}`).join("\n ")}`:"",this.name="UnsubscriptionError",this.errors=n});function vr(e,t){if(e){const n=e.indexOf(t);0<=n&&e.splice(n,1)}}class vt{constructor(t){this.initialTeardown=t,this.closed=!1,this._parentage=null,this._finalizers=null}unsubscribe(){let t;if(!this.closed){this.closed=!0;const{_parentage:n}=this;if(n)if(this._parentage=null,Array.isArray(n))for(const o of n)o.remove(this);else n.remove(this);const{initialTeardown:i}=this;if(ae(i))try{i()}catch(o){t=o instanceof Bo?o.errors:[o]}const{_finalizers:r}=this;if(r){this._finalizers=null;for(const o of r)try{Ch(o)}catch(s){t=t??[],s instanceof Bo?t=[...t,...s.errors]:t.push(s)}}if(t)throw new Bo(t)}}add(t){var n;if(t&&t!==this)if(this.closed)Ch(t);else{if(t instanceof vt){if(t.closed||t._hasParent(this))return;t._addParent(this)}(this._finalizers=null!==(n=this._finalizers)&&void 0!==n?n:[]).push(t)}}_hasParent(t){const{_parentage:n}=this;return n===t||Array.isArray(n)&&n.includes(t)}_addParent(t){const{_parentage:n}=this;this._parentage=Array.isArray(n)?(n.push(t),n):n?[n,t]:t}_removeParent(t){const{_parentage:n}=this;n===t?this._parentage=null:Array.isArray(n)&&vr(n,t)}remove(t){const{_finalizers:n}=this;n&&vr(n,t),t instanceof vt&&t._removeParent(this)}}vt.EMPTY=(()=>{const e=new vt;return e.closed=!0,e})();const _h=vt.EMPTY;function Dh(e){return e instanceof vt||e&&"closed"in e&&ae(e.remove)&&ae(e.add)&&ae(e.unsubscribe)}function Ch(e){ae(e)?e():e.unsubscribe()}const Jn={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1},Ho={setTimeout(e,t,...n){const{delegate:i}=Ho;return i?.setTimeout?i.setTimeout(e,t,...n):setTimeout(e,t,...n)},clearTimeout(e){const{delegate:t}=Ho;return(t?.clearTimeout||clearTimeout)(e)},delegate:void 0};function Mh(e){Ho.setTimeout(()=>{const{onUnhandledError:t}=Jn;if(!t)throw e;t(e)})}function Eh(){}const q0=Za("C",void 0,void 0);function Za(e,t,n){return{kind:e,value:t,error:n}}let qn=null;function $o(e){if(Jn.useDeprecatedSynchronousErrorHandling){const t=!qn;if(t&&(qn={errorThrown:!1,error:null}),e(),t){const{errorThrown:n,error:i}=qn;if(qn=null,n)throw i}}else e()}class Ya extends vt{constructor(t){super(),this.isStopped=!1,t?(this.destination=t,Dh(t)&&t.add(this)):this.destination=tb}static create(t,n,i){return new Ar(t,n,i)}next(t){this.isStopped?el(function K0(e){return Za("N",e,void 0)}(t),this):this._next(t)}error(t){this.isStopped?el(function Q0(e){return Za("E",void 0,e)}(t),this):(this.isStopped=!0,this._error(t))}complete(){this.isStopped?el(q0,this):(this.isStopped=!0,this._complete())}unsubscribe(){this.closed||(this.isStopped=!0,super.unsubscribe(),this.destination=null)}_next(t){this.destination.next(t)}_error(t){try{this.destination.error(t)}finally{this.unsubscribe()}}_complete(){try{this.destination.complete()}finally{this.unsubscribe()}}}const Y0=Function.prototype.bind;function Xa(e,t){return Y0.call(e,t)}class X0{constructor(t){this.partialObserver=t}next(t){const{partialObserver:n}=this;if(n.next)try{n.next(t)}catch(i){Go(i)}}error(t){const{partialObserver:n}=this;if(n.error)try{n.error(t)}catch(i){Go(i)}else Go(t)}complete(){const{partialObserver:t}=this;if(t.complete)try{t.complete()}catch(n){Go(n)}}}class Ar extends Ya{constructor(t,n,i){let r;if(super(),ae(t)||!t)r={next:t??void 0,error:n??void 0,complete:i??void 0};else{let o;this&&Jn.useDeprecatedNextContext?(o=Object.create(t),o.unsubscribe=()=>this.unsubscribe(),r={next:t.next&&Xa(t.next,o),error:t.error&&Xa(t.error,o),complete:t.complete&&Xa(t.complete,o)}):r=t}this.destination=new X0(r)}}function Go(e){Jn.useDeprecatedSynchronousErrorHandling?function Z0(e){Jn.useDeprecatedSynchronousErrorHandling&&qn&&(qn.errorThrown=!0,qn.error=e)}(e):Mh(e)}function el(e,t){const{onStoppedNotification:n}=Jn;n&&Ho.setTimeout(()=>n(e,t))}const tb={closed:!0,next:Eh,error:function eb(e){throw e},complete:Eh},tl="function"==typeof Symbol&&Symbol.observable||"@@observable";function Qn(e){return e}function Sh(e){return 0===e.length?Qn:1===e.length?e[0]:function(n){return e.reduce((i,r)=>r(i),n)}}let De=(()=>{class e{constructor(n){n&&(this._subscribe=n)}lift(n){const i=new e;return i.source=this,i.operator=n,i}subscribe(n,i,r){const o=function rb(e){return e&&e instanceof Ya||function ib(e){return e&&ae(e.next)&&ae(e.error)&&ae(e.complete)}(e)&&Dh(e)}(n)?n:new Ar(n,i,r);return $o(()=>{const{operator:s,source:a}=this;o.add(s?s.call(o,a):a?this._subscribe(o):this._trySubscribe(o))}),o}_trySubscribe(n){try{return this._subscribe(n)}catch(i){n.error(i)}}forEach(n,i){return new(i=Ih(i))((r,o)=>{const s=new Ar({next:a=>{try{n(a)}catch(l){o(l),s.unsubscribe()}},error:o,complete:r});this.subscribe(s)})}_subscribe(n){var i;return null===(i=this.source)||void 0===i?void 0:i.subscribe(n)}[tl](){return this}pipe(...n){return Sh(n)(this)}toPromise(n){return new(n=Ih(n))((i,r)=>{let o;this.subscribe(s=>o=s,s=>r(s),()=>i(o))})}}return e.create=t=>new e(t),e})();function Ih(e){var t;return null!==(t=e??Jn.Promise)&&void 0!==t?t:Promise}const ob=wr(e=>function(){e(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"});let zt=(()=>{class e extends De{constructor(){super(),this.closed=!1,this.currentObservers=null,this.observers=[],this.isStopped=!1,this.hasError=!1,this.thrownError=null}lift(n){const i=new kh(this,this);return i.operator=n,i}_throwIfClosed(){if(this.closed)throw new ob}next(n){$o(()=>{if(this._throwIfClosed(),!this.isStopped){this.currentObservers||(this.currentObservers=Array.from(this.observers));for(const i of this.currentObservers)i.next(n)}})}error(n){$o(()=>{if(this._throwIfClosed(),!this.isStopped){this.hasError=this.isStopped=!0,this.thrownError=n;const{observers:i}=this;for(;i.length;)i.shift().error(n)}})}complete(){$o(()=>{if(this._throwIfClosed(),!this.isStopped){this.isStopped=!0;const{observers:n}=this;for(;n.length;)n.shift().complete()}})}unsubscribe(){this.isStopped=this.closed=!0,this.observers=this.currentObservers=null}get observed(){var n;return(null===(n=this.observers)||void 0===n?void 0:n.length)>0}_trySubscribe(n){return this._throwIfClosed(),super._trySubscribe(n)}_subscribe(n){return this._throwIfClosed(),this._checkFinalizedStatuses(n),this._innerSubscribe(n)}_innerSubscribe(n){const{hasError:i,isStopped:r,observers:o}=this;return i||r?_h:(this.currentObservers=null,o.push(n),new vt(()=>{this.currentObservers=null,vr(o,n)}))}_checkFinalizedStatuses(n){const{hasError:i,thrownError:r,isStopped:o}=this;i?n.error(r):o&&n.complete()}asObservable(){const n=new De;return n.source=this,n}}return e.create=(t,n)=>new kh(t,n),e})();class kh extends zt{constructor(t,n){super(),this.destination=t,this.source=n}next(t){var n,i;null===(i=null===(n=this.destination)||void 0===n?void 0:n.next)||void 0===i||i.call(n,t)}error(t){var n,i;null===(i=null===(n=this.destination)||void 0===n?void 0:n.error)||void 0===i||i.call(n,t)}complete(){var t,n;null===(n=null===(t=this.destination)||void 0===t?void 0:t.complete)||void 0===n||n.call(t)}_subscribe(t){var n,i;return null!==(i=null===(n=this.source)||void 0===n?void 0:n.subscribe(t))&&void 0!==i?i:_h}}function xh(e){return ae(e?.lift)}function Fe(e){return t=>{if(xh(t))return t.lift(function(n){try{return e(n,this)}catch(i){this.error(i)}});throw new TypeError("Unable to lift unknown Observable type")}}function ke(e,t,n,i,r){return new sb(e,t,n,i,r)}class sb extends Ya{constructor(t,n,i,r,o,s){super(t),this.onFinalize=o,this.shouldUnsubscribe=s,this._next=n?function(a){try{n(a)}catch(l){t.error(l)}}:super._next,this._error=r?function(a){try{r(a)}catch(l){t.error(l)}finally{this.unsubscribe()}}:super._error,this._complete=i?function(){try{i()}catch(a){t.error(a)}finally{this.unsubscribe()}}:super._complete}unsubscribe(){var t;if(!this.shouldUnsubscribe||this.shouldUnsubscribe()){const{closed:n}=this;super.unsubscribe(),!n&&(null===(t=this.onFinalize)||void 0===t||t.call(this))}}}function K(e,t){return Fe((n,i)=>{let r=0;n.subscribe(ke(i,o=>{i.next(e.call(t,o,r++))}))})}function Kn(e){return this instanceof Kn?(this.v=e,this):new Kn(e)}function ub(e,t,n){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var r,i=n.apply(e,t||[]),o=[];return r={},s("next"),s("throw"),s("return"),r[Symbol.asyncIterator]=function(){return this},r;function s(h){i[h]&&(r[h]=function(f){return new Promise(function(p,g){o.push([h,f,p,g])>1||a(h,f)})})}function a(h,f){try{!function l(h){h.value instanceof Kn?Promise.resolve(h.value.v).then(u,c):d(o[0][2],h)}(i[h](f))}catch(p){d(o[0][3],p)}}function u(h){a("next",h)}function c(h){a("throw",h)}function d(h,f){h(f),o.shift(),o.length&&a(o[0][0],o[0][1])}}function cb(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var n,t=e[Symbol.asyncIterator];return t?t.call(e):(e=function Rh(e){var t="function"==typeof Symbol&&Symbol.iterator,n=t&&e[t],i=0;if(n)return n.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&i>=e.length&&(e=void 0),{value:e&&e[i++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}(e),n={},i("next"),i("throw"),i("return"),n[Symbol.asyncIterator]=function(){return this},n);function i(o){n[o]=e[o]&&function(s){return new Promise(function(a,l){!function r(o,s,a,l){Promise.resolve(l).then(function(u){o({value:u,done:a})},s)}(a,l,(s=e[o](s)).done,s.value)})}}}const Nh=e=>e&&"number"==typeof e.length&&"function"!=typeof e;function Fh(e){return ae(e?.then)}function Lh(e){return ae(e[tl])}function Oh(e){return Symbol.asyncIterator&&ae(e?.[Symbol.asyncIterator])}function Vh(e){return new TypeError(`You provided ${null!==e&&"object"==typeof e?"an invalid object":`'${e}'`} where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.`)}const jh=function hb(){return"function"==typeof Symbol&&Symbol.iterator?Symbol.iterator:"@@iterator"}();function Uh(e){return ae(e?.[jh])}function Bh(e){return ub(this,arguments,function*(){const n=e.getReader();try{for(;;){const{value:i,done:r}=yield Kn(n.read());if(r)return yield Kn(void 0);yield yield Kn(i)}}finally{n.releaseLock()}})}function Hh(e){return ae(e?.getReader)}function kt(e){if(e instanceof De)return e;if(null!=e){if(Lh(e))return function fb(e){return new De(t=>{const n=e[tl]();if(ae(n.subscribe))return n.subscribe(t);throw new TypeError("Provided object does not correctly implement Symbol.observable")})}(e);if(Nh(e))return function pb(e){return new De(t=>{for(let n=0;n{e.then(n=>{t.closed||(t.next(n),t.complete())},n=>t.error(n)).then(null,Mh)})}(e);if(Oh(e))return $h(e);if(Uh(e))return function mb(e){return new De(t=>{for(const n of e)if(t.next(n),t.closed)return;t.complete()})}(e);if(Hh(e))return function yb(e){return $h(Bh(e))}(e)}throw Vh(e)}function $h(e){return new De(t=>{(function wb(e,t){var n,i,r,o;return function ab(e,t,n,i){return new(n||(n=Promise))(function(o,s){function a(c){try{u(i.next(c))}catch(d){s(d)}}function l(c){try{u(i.throw(c))}catch(d){s(d)}}function u(c){c.done?o(c.value):function r(o){return o instanceof n?o:new n(function(s){s(o)})}(c.value).then(a,l)}u((i=i.apply(e,t||[])).next())})}(this,void 0,void 0,function*(){try{for(n=cb(e);!(i=yield n.next()).done;)if(t.next(i.value),t.closed)return}catch(s){r={error:s}}finally{try{i&&!i.done&&(o=n.return)&&(yield o.call(n))}finally{if(r)throw r.error}}t.complete()})})(e,t).catch(n=>t.error(n))})}function sn(e,t,n,i=0,r=!1){const o=t.schedule(function(){n(),r?e.add(this.schedule(null,i)):this.unsubscribe()},i);if(e.add(o),!r)return o}function Ve(e,t,n=1/0){return ae(t)?Ve((i,r)=>K((o,s)=>t(i,o,r,s))(kt(e(i,r))),n):("number"==typeof t&&(n=t),Fe((i,r)=>function vb(e,t,n,i,r,o,s,a){const l=[];let u=0,c=0,d=!1;const h=()=>{d&&!l.length&&!u&&t.complete()},f=g=>u{o&&t.next(g),u++;let m=!1;kt(n(g,c++)).subscribe(ke(t,A=>{r?.(A),o?f(A):t.next(A)},()=>{m=!0},void 0,()=>{if(m)try{for(u--;l.length&&up(A)):p(A)}h()}catch(A){t.error(A)}}))};return e.subscribe(ke(t,f,()=>{d=!0,h()})),()=>{a?.()}}(i,r,e,n)))}function _i(e=1/0){return Ve(Qn,e)}const an=new De(e=>e.complete());function il(e){return e[e.length-1]}function Gh(e){return ae(il(e))?e.pop():void 0}function br(e){return function bb(e){return e&&ae(e.schedule)}(il(e))?e.pop():void 0}function zh(e,t=0){return Fe((n,i)=>{n.subscribe(ke(i,r=>sn(i,e,()=>i.next(r),t),()=>sn(i,e,()=>i.complete(),t),r=>sn(i,e,()=>i.error(r),t)))})}function Wh(e,t=0){return Fe((n,i)=>{i.add(e.schedule(()=>n.subscribe(i),t))})}function Jh(e,t){if(!e)throw new Error("Iterable cannot be null");return new De(n=>{sn(n,t,()=>{const i=e[Symbol.asyncIterator]();sn(n,t,()=>{i.next().then(r=>{r.done?n.complete():n.next(r.value)})},0,!0)})})}function Ce(e,t){return t?function Ib(e,t){if(null!=e){if(Lh(e))return function Db(e,t){return kt(e).pipe(Wh(t),zh(t))}(e,t);if(Nh(e))return function Mb(e,t){return new De(n=>{let i=0;return t.schedule(function(){i===e.length?n.complete():(n.next(e[i++]),n.closed||this.schedule())})})}(e,t);if(Fh(e))return function Cb(e,t){return kt(e).pipe(Wh(t),zh(t))}(e,t);if(Oh(e))return Jh(e,t);if(Uh(e))return function Eb(e,t){return new De(n=>{let i;return sn(n,t,()=>{i=e[jh](),sn(n,t,()=>{let r,o;try{({value:r,done:o}=i.next())}catch(s){return void n.error(s)}o?n.complete():n.next(r)},0,!0)}),()=>ae(i?.return)&&i.return()})}(e,t);if(Hh(e))return function Sb(e,t){return Jh(Bh(e),t)}(e,t)}throw Vh(e)}(e,t):kt(e)}function rl(e,t,...n){if(!0===t)return void e();if(!1===t)return;const i=new Ar({next:()=>{i.unsubscribe(),e()}});return t(...n).subscribe(i)}function oe(e){for(let t in e)if(e[t]===oe)return t;throw Error("Could not find renamed property on target object.")}function ol(e,t){for(const n in t)t.hasOwnProperty(n)&&!e.hasOwnProperty(n)&&(e[n]=t[n])}function se(e){if("string"==typeof e)return e;if(Array.isArray(e))return"["+e.map(se).join(", ")+"]";if(null==e)return""+e;if(e.overriddenName)return`${e.overriddenName}`;if(e.name)return`${e.name}`;const t=e.toString();if(null==t)return""+t;const n=t.indexOf("\n");return-1===n?t:t.substring(0,n)}function sl(e,t){return null==e||""===e?null===t?"":t:null==t||""===t?e:e+" "+t}const Tb=oe({__forward_ref__:oe});function le(e){return e.__forward_ref__=le,e.toString=function(){return se(this())},e}function L(e){return al(e)?e():e}function al(e){return"function"==typeof e&&e.hasOwnProperty(Tb)&&e.__forward_ref__===le}class D extends Error{constructor(t,n){super(function zo(e,t){return`NG0${Math.abs(e)}${t?": "+t.trim():""}`}(t,n)),this.code=t}}function U(e){return"string"==typeof e?e:null==e?"":String(e)}function Wo(e,t){throw new D(-201,!1)}function ut(e,t){null==e&&function te(e,t,n,i){throw new Error(`ASSERTION ERROR: ${e}`+(null==i?"":` [Expected=> ${n} ${i} ${t} <=Actual]`))}(t,e,null,"!=")}function H(e){return{token:e.token,providedIn:e.providedIn||null,factory:e.factory,value:void 0}}function xt(e){return{providers:e.providers||[],imports:e.imports||[]}}function Jo(e){return qh(e,qo)||qh(e,Kh)}function qh(e,t){return e.hasOwnProperty(t)?e[t]:null}function Qh(e){return e&&(e.hasOwnProperty(ll)||e.hasOwnProperty(Ub))?e[ll]:null}const qo=oe({\u0275prov:oe}),ll=oe({\u0275inj:oe}),Kh=oe({ngInjectableDef:oe}),Ub=oe({ngInjectorDef:oe});var P=(()=>((P=P||{})[P.Default=0]="Default",P[P.Host=1]="Host",P[P.Self=2]="Self",P[P.SkipSelf=4]="SkipSelf",P[P.Optional=8]="Optional",P))();let ul;function At(e){const t=ul;return ul=e,t}function Zh(e,t,n){const i=Jo(e);return i&&"root"==i.providedIn?void 0===i.value?i.value=i.factory():i.value:n&P.Optional?null:void 0!==t?t:void Wo(se(e))}function Sn(e){return{toString:e}.toString()}var Tt=(()=>((Tt=Tt||{})[Tt.OnPush=0]="OnPush",Tt[Tt.Default=1]="Default",Tt))(),Wt=(()=>{return(e=Wt||(Wt={}))[e.Emulated=0]="Emulated",e[e.None=2]="None",e[e.ShadowDom=3]="ShadowDom",Wt;var e})();const ue=(()=>typeof globalThis<"u"&&globalThis||typeof global<"u"&&global||typeof window<"u"&&window||typeof self<"u"&&typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&self)(),Di={},ee=[],Qo=oe({\u0275cmp:oe}),cl=oe({\u0275dir:oe}),dl=oe({\u0275pipe:oe}),Yh=oe({\u0275mod:oe}),un=oe({\u0275fac:oe}),_r=oe({__NG_ELEMENT_ID__:oe});let Hb=0;function Ci(e){return Sn(()=>{const n=!0===e.standalone,i={},r={type:e.type,providersResolver:null,decls:e.decls,vars:e.vars,factory:null,template:e.template||null,consts:e.consts||null,ngContentSelectors:e.ngContentSelectors,hostBindings:e.hostBindings||null,hostVars:e.hostVars||0,hostAttrs:e.hostAttrs||null,contentQueries:e.contentQueries||null,declaredInputs:i,inputs:null,outputs:null,exportAs:e.exportAs||null,onPush:e.changeDetection===Tt.OnPush,directiveDefs:null,pipeDefs:null,standalone:n,dependencies:n&&e.dependencies||null,getStandaloneInjector:null,selectors:e.selectors||ee,viewQuery:e.viewQuery||null,features:e.features||null,data:e.data||{},encapsulation:e.encapsulation||Wt.Emulated,id:"c"+Hb++,styles:e.styles||ee,_:null,setInput:null,schemas:e.schemas||null,tView:null},o=e.dependencies,s=e.features;return r.inputs=tf(e.inputs,i),r.outputs=tf(e.outputs),s&&s.forEach(a=>a(r)),r.directiveDefs=o?()=>("function"==typeof o?o():o).map(Xh).filter(ef):null,r.pipeDefs=o?()=>("function"==typeof o?o():o).map(Ke).filter(ef):null,r})}function Xh(e){return ne(e)||Qe(e)}function ef(e){return null!==e}function Jt(e){return Sn(()=>({type:e.type,bootstrap:e.bootstrap||ee,declarations:e.declarations||ee,imports:e.imports||ee,exports:e.exports||ee,transitiveCompileScopes:null,schemas:e.schemas||null,id:e.id||null}))}function tf(e,t){if(null==e)return Di;const n={};for(const i in e)if(e.hasOwnProperty(i)){let r=e[i],o=r;Array.isArray(r)&&(o=r[1],r=r[0]),n[r]=i,t&&(t[r]=o)}return n}const O=Ci;function it(e){return{type:e.type,name:e.name,factory:null,pure:!1!==e.pure,standalone:!0===e.standalone,onDestroy:e.type.prototype.ngOnDestroy||null}}function ne(e){return e[Qo]||null}function Qe(e){return e[cl]||null}function Ke(e){return e[dl]||null}function ct(e,t){const n=e[Yh]||null;if(!n&&!0===t)throw new Error(`Type ${se(e)} does not have '\u0275mod' property.`);return n}const G=11;function rt(e){return Array.isArray(e)&&"object"==typeof e[1]}function Rt(e){return Array.isArray(e)&&!0===e[1]}function pl(e){return 0!=(8&e.flags)}function Xo(e){return 2==(2&e.flags)}function es(e){return 1==(1&e.flags)}function Nt(e){return null!==e.template}function qb(e){return 0!=(256&e[2])}function ti(e,t){return e.hasOwnProperty(un)?e[un]:null}class Zb{constructor(t,n,i){this.previousValue=t,this.currentValue=n,this.firstChange=i}isFirstChange(){return this.firstChange}}function _t(){return sf}function sf(e){return e.type.prototype.ngOnChanges&&(e.setInput=Xb),Yb}function Yb(){const e=lf(this),t=e?.current;if(t){const n=e.previous;if(n===Di)e.previous=t;else for(let i in t)n[i]=t[i];e.current=null,this.ngOnChanges(t)}}function Xb(e,t,n,i){const r=lf(e)||function e_(e,t){return e[af]=t}(e,{previous:Di,current:null}),o=r.current||(r.current={}),s=r.previous,a=this.declaredInputs[n],l=s[a];o[a]=new Zb(l&&l.currentValue,t,s===Di),e[i]=t}_t.ngInherit=!0;const af="__ngSimpleChanges__";function lf(e){return e[af]||null}function Me(e){for(;Array.isArray(e);)e=e[0];return e}function ts(e,t){return Me(t[e])}function ht(e,t){return Me(t[e.index])}function vl(e,t){return e.data[t]}function ft(e,t){const n=t[e];return rt(n)?n:n[0]}function ns(e){return 64==(64&e[2])}function In(e,t){return null==t?null:e[t]}function uf(e){e[18]=0}function Al(e,t){e[5]+=t;let n=e,i=e[3];for(;null!==i&&(1===t&&1===n[5]||-1===t&&0===n[5]);)i[5]+=t,n=i,i=i[3]}const j={lFrame:vf(null),bindingsEnabled:!0};function df(){return j.bindingsEnabled}function w(){return j.lFrame.lView}function Z(){return j.lFrame.tView}function ni(e){return j.lFrame.contextLView=e,e[8]}function ii(e){return j.lFrame.contextLView=null,e}function xe(){let e=hf();for(;null!==e&&64===e.type;)e=e.parent;return e}function hf(){return j.lFrame.currentTNode}function qt(e,t){const n=j.lFrame;n.currentTNode=e,n.isParent=t}function bl(){return j.lFrame.isParent}function xi(){return j.lFrame.bindingIndex++}function dn(e){const t=j.lFrame,n=t.bindingIndex;return t.bindingIndex=t.bindingIndex+e,n}function g_(e,t){const n=j.lFrame;n.bindingIndex=n.bindingRootIndex=e,Dl(t)}function Dl(e){j.lFrame.currentDirectiveIndex=e}function Ml(e){j.lFrame.currentQueryIndex=e}function y_(e){const t=e[1];return 2===t.type?t.declTNode:1===t.type?e[6]:null}function yf(e,t,n){if(n&P.SkipSelf){let r=t,o=e;for(;!(r=r.parent,null!==r||n&P.Host||(r=y_(o),null===r||(o=o[15],10&r.type))););if(null===r)return!1;t=r,e=o}const i=j.lFrame=wf();return i.currentTNode=t,i.lView=e,!0}function El(e){const t=wf(),n=e[1];j.lFrame=t,t.currentTNode=n.firstChild,t.lView=e,t.tView=n,t.contextLView=e,t.bindingIndex=n.bindingStartIndex,t.inI18n=!1}function wf(){const e=j.lFrame,t=null===e?null:e.child;return null===t?vf(e):t}function vf(e){const t={currentTNode:null,isParent:!0,lView:null,tView:null,selectedIndex:-1,contextLView:null,elementDepthCount:0,currentNamespace:null,currentDirectiveIndex:-1,bindingRootIndex:-1,bindingIndex:-1,currentQueryIndex:0,parent:e,child:null,inI18n:!1};return null!==e&&(e.child=t),t}function Af(){const e=j.lFrame;return j.lFrame=e.parent,e.currentTNode=null,e.lView=null,e}const bf=Af;function Sl(){const e=Af();e.isParent=!0,e.tView=null,e.selectedIndex=-1,e.contextLView=null,e.elementDepthCount=0,e.currentDirectiveIndex=-1,e.currentNamespace=null,e.bindingRootIndex=-1,e.bindingIndex=-1,e.currentQueryIndex=0}function Ye(){return j.lFrame.selectedIndex}function kn(e){j.lFrame.selectedIndex=e}function ge(){const e=j.lFrame;return vl(e.tView,e.selectedIndex)}function is(e,t){for(let n=t.directiveStart,i=t.directiveEnd;n=i)break}else t[l]<0&&(e[18]+=65536),(a>11>16&&(3&e[2])===t){e[2]+=2048;try{o.call(a)}finally{}}}else try{o.call(a)}finally{}}class Ir{constructor(t,n,i){this.factory=t,this.resolving=!1,this.canSeeViewProviders=n,this.injectImpl=i}}function ss(e,t,n){let i=0;for(;it){s=o-1;break}}}for(;o>16}(e),i=t;for(;n>0;)i=i[15],n--;return i}let xl=!0;function ls(e){const t=xl;return xl=e,t}let P_=0;const Qt={};function xr(e,t){const n=Pl(e,t);if(-1!==n)return n;const i=t[1];i.firstCreatePass&&(e.injectorIndex=t.length,Tl(i.data,e),Tl(t,null),Tl(i.blueprint,null));const r=us(e,t),o=e.injectorIndex;if(Ef(r)){const s=Ti(r),a=Pi(r,t),l=a[1].data;for(let u=0;u<8;u++)t[o+u]=a[s+u]|l[s+u]}return t[o+8]=r,o}function Tl(e,t){e.push(0,0,0,0,0,0,0,0,t)}function Pl(e,t){return-1===e.injectorIndex||e.parent&&e.parent.injectorIndex===e.injectorIndex||null===t[e.injectorIndex+8]?-1:e.injectorIndex}function us(e,t){if(e.parent&&-1!==e.parent.injectorIndex)return e.parent.injectorIndex;let n=0,i=null,r=t;for(;null!==r;){if(i=Ff(r),null===i)return-1;if(n++,r=r[15],-1!==i.injectorIndex)return i.injectorIndex|n<<16}return-1}function cs(e,t,n){!function R_(e,t,n){let i;"string"==typeof n?i=n.charCodeAt(0)||0:n.hasOwnProperty(_r)&&(i=n[_r]),null==i&&(i=n[_r]=P_++);const r=255&i;t.data[e+(r>>5)]|=1<=0?255&t:O_:t}(n);if("function"==typeof o){if(!yf(t,e,i))return i&P.Host?kf(r,0,i):xf(t,n,i,r);try{const s=o(i);if(null!=s||i&P.Optional)return s;Wo()}finally{bf()}}else if("number"==typeof o){let s=null,a=Pl(e,t),l=-1,u=i&P.Host?t[16][6]:null;for((-1===a||i&P.SkipSelf)&&(l=-1===a?us(e,t):t[a+8],-1!==l&&Nf(i,!1)?(s=t[1],a=Ti(l),t=Pi(l,t)):a=-1);-1!==a;){const c=t[1];if(Rf(o,a,c.data)){const d=F_(a,t,n,s,i,u);if(d!==Qt)return d}l=t[a+8],-1!==l&&Nf(i,t[1].data[a+8]===u)&&Rf(o,a,t)?(s=c,a=Ti(l),t=Pi(l,t)):a=-1}}return r}function F_(e,t,n,i,r,o){const s=t[1],a=s.data[e+8],c=function ds(e,t,n,i,r){const o=e.providerIndexes,s=t.data,a=1048575&o,l=e.directiveStart,c=o>>20,h=r?a+c:e.directiveEnd;for(let f=i?a:a+c;f=l&&p.type===n)return f}if(r){const f=s[l];if(f&&Nt(f)&&f.type===n)return l}return null}(a,s,n,null==i?Xo(a)&&xl:i!=s&&0!=(3&a.type),r&P.Host&&o===a);return null!==c?Tr(t,s,c,a):Qt}function Tr(e,t,n,i){let r=e[n];const o=t.data;if(function S_(e){return e instanceof Ir}(r)){const s=r;s.resolving&&function Pb(e,t){const n=t?`. Dependency path: ${t.join(" > ")} > ${e}`:"";throw new D(-200,`Circular dependency in DI detected for ${e}${n}`)}(function X(e){return"function"==typeof e?e.name||e.toString():"object"==typeof e&&null!=e&&"function"==typeof e.type?e.type.name||e.type.toString():U(e)}(o[n]));const a=ls(s.canSeeViewProviders);s.resolving=!0;const l=s.injectImpl?At(s.injectImpl):null;yf(e,i,P.Default);try{r=e[n]=s.factory(void 0,o,e,i),t.firstCreatePass&&n>=i.directiveStart&&function M_(e,t,n){const{ngOnChanges:i,ngOnInit:r,ngDoCheck:o}=t.type.prototype;if(i){const s=sf(t);(n.preOrderHooks||(n.preOrderHooks=[])).push(e,s),(n.preOrderCheckHooks||(n.preOrderCheckHooks=[])).push(e,s)}r&&(n.preOrderHooks||(n.preOrderHooks=[])).push(0-e,r),o&&((n.preOrderHooks||(n.preOrderHooks=[])).push(e,o),(n.preOrderCheckHooks||(n.preOrderCheckHooks=[])).push(e,o))}(n,o[n],t)}finally{null!==l&&At(l),ls(a),s.resolving=!1,bf()}}return r}function Rf(e,t,n){return!!(n[t+(e>>5)]&1<{const t=e.prototype.constructor,n=t[un]||Rl(t),i=Object.prototype;let r=Object.getPrototypeOf(e.prototype).constructor;for(;r&&r!==i;){const o=r[un]||Rl(r);if(o&&o!==n)return o;r=Object.getPrototypeOf(r)}return o=>new o})}function Rl(e){return al(e)?()=>{const t=Rl(L(e));return t&&t()}:ti(e)}function Ff(e){const t=e[1],n=t.type;return 2===n?t.declTNode:1===n?e[6]:null}const Fi="__parameters__";function Oi(e,t,n){return Sn(()=>{const i=function Nl(e){return function(...n){if(e){const i=e(...n);for(const r in i)this[r]=i[r]}}}(t);function r(...o){if(this instanceof r)return i.apply(this,o),this;const s=new r(...o);return a.annotation=s,a;function a(l,u,c){const d=l.hasOwnProperty(Fi)?l[Fi]:Object.defineProperty(l,Fi,{value:[]})[Fi];for(;d.length<=c;)d.push(null);return(d[c]=d[c]||[]).push(s),l}}return n&&(r.prototype=Object.create(n.prototype)),r.prototype.ngMetadataName=e,r.annotationCls=r,r})}class R{constructor(t,n){this._desc=t,this.ngMetadataName="InjectionToken",this.\u0275prov=void 0,"number"==typeof n?this.__NG_ELEMENT_ID__=n:void 0!==n&&(this.\u0275prov=H({token:this,providedIn:n.providedIn||"root",factory:n.factory}))}get multi(){return this}toString(){return`InjectionToken ${this._desc}`}}function hn(e,t){e.forEach(n=>Array.isArray(n)?hn(n,t):t(n))}function Of(e,t,n){t>=e.length?e.push(n):e.splice(t,0,n)}function hs(e,t){return t>=e.length-1?e.pop():e.splice(t,1)[0]}function gt(e,t,n){let i=Vi(e,t);return i>=0?e[1|i]=n:(i=~i,function H_(e,t,n,i){let r=e.length;if(r==t)e.push(n,i);else if(1===r)e.push(i,e[0]),e[0]=n;else{for(r--,e.push(e[r-1],e[r]);r>t;)e[r]=e[r-2],r--;e[t]=n,e[t+1]=i}}(e,i,t,n)),i}function Ll(e,t){const n=Vi(e,t);if(n>=0)return e[1|n]}function Vi(e,t){return function Uf(e,t,n){let i=0,r=e.length>>n;for(;r!==i;){const o=i+(r-i>>1),s=e[o<t?r=o:i=o+1}return~(r<((ot=ot||{})[ot.Important=1]="Important",ot[ot.DashCase=2]="DashCase",ot))();const Gl=new Map;let yD=0;const Wl="__ngContext__";function Ge(e,t){rt(t)?(e[Wl]=t[20],function vD(e){Gl.set(e[20],e)}(t)):e[Wl]=t}function ql(e,t){return undefined(e,t)}function Gr(e){const t=e[3];return Rt(t)?t[3]:t}function Ql(e){return lp(e[13])}function Kl(e){return lp(e[4])}function lp(e){for(;null!==e&&!Rt(e);)e=e[4];return e}function Bi(e,t,n,i,r){if(null!=i){let o,s=!1;Rt(i)?o=i:rt(i)&&(s=!0,i=i[0]);const a=Me(i);0===e&&null!==n?null==r?pp(t,n,a):ri(t,n,a,r||null,!0):1===e&&null!==n?ri(t,n,a,r||null,!0):2===e?function iu(e,t,n){const i=ys(e,t);i&&function BD(e,t,n,i){e.removeChild(t,n,i)}(e,i,t,n)}(t,a,s):3===e&&t.destroyNode(a),null!=o&&function GD(e,t,n,i,r){const o=n[7];o!==Me(n)&&Bi(t,e,i,o,r);for(let a=10;a0&&(e[n-1][4]=i[4]);const o=hs(e,10+t);!function RD(e,t){zr(e,t,t[G],2,null,null),t[0]=null,t[6]=null}(i[1],i);const s=o[19];null!==s&&s.detachView(o[1]),i[3]=null,i[4]=null,i[2]&=-65}return i}function dp(e,t){if(!(128&t[2])){const n=t[G];n.destroyNode&&zr(e,t,n,3,null,null),function LD(e){let t=e[13];if(!t)return eu(e[1],e);for(;t;){let n=null;if(rt(t))n=t[13];else{const i=t[10];i&&(n=i)}if(!n){for(;t&&!t[4]&&t!==e;)rt(t)&&eu(t[1],t),t=t[3];null===t&&(t=e),rt(t)&&eu(t[1],t),n=t&&t[4]}t=n}}(t)}}function eu(e,t){if(!(128&t[2])){t[2]&=-65,t[2]|=128,function UD(e,t){let n;if(null!=e&&null!=(n=e.destroyHooks))for(let i=0;i=0?i[r=u]():i[r=-u].unsubscribe(),o+=2}else{const s=i[r=n[o+1]];n[o].call(s)}if(null!==i){for(let o=r+1;o((Ee=Ee||{})[Ee.NONE=0]="NONE",Ee[Ee.HTML=1]="HTML",Ee[Ee.STYLE=2]="STYLE",Ee[Ee.SCRIPT=3]="SCRIPT",Ee[Ee.URL=4]="URL",Ee[Ee.RESOURCE_URL=5]="RESOURCE_URL",Ee))();function je(e){const t=function qr(){const e=w();return e&&e[12]}();return t?t.sanitize(Ee.URL,e)||"":function Wr(e,t){const n=function tC(e){return e instanceof Sp&&e.getTypeName()||null}(e);if(null!=n&&n!==t){if("ResourceURL"===n&&"URL"===t)return!0;throw new Error(`Required a safe ${t}, got a ${n} (see https://g.co/ng/security#xss)`)}return n===t}(e,"URL")?Tn(e):function uu(e){return(e=String(e)).match(oC)?e:"unsafe:"+e}(U(e))}const fu=new R("ENVIRONMENT_INITIALIZER"),Fp=new R("INJECTOR",-1),Lp=new R("INJECTOR_DEF_TYPES");class Op{get(t,n=Lr){if(n===Lr){const i=new Error(`NullInjectorError: No provider for ${se(t)}!`);throw i.name="NullInjectorError",i}return n}}function vC(...e){return{\u0275providers:Vp(0,e)}}function Vp(e,...t){const n=[],i=new Set;let r;return hn(t,o=>{const s=o;pu(s,n,[],i)&&(r||(r=[]),r.push(s))}),void 0!==r&&jp(r,n),n}function jp(e,t){for(let n=0;n{t.push(o)})}}function pu(e,t,n,i){if(!(e=L(e)))return!1;let r=null,o=Qh(e);const s=!o&&ne(e);if(o||s){if(s&&!s.standalone)return!1;r=e}else{const l=e.ngModule;if(o=Qh(l),!o)return!1;r=l}const a=i.has(r);if(s){if(a)return!1;if(i.add(r),s.dependencies){const l="function"==typeof s.dependencies?s.dependencies():s.dependencies;for(const u of l)pu(u,t,n,i)}}else{if(!o)return!1;{if(null!=o.imports&&!a){let u;i.add(r);try{hn(o.imports,c=>{pu(c,t,n,i)&&(u||(u=[]),u.push(c))})}finally{}void 0!==u&&jp(u,t)}if(!a){const u=ti(r)||(()=>new r);t.push({provide:r,useFactory:u,deps:ee},{provide:Lp,useValue:r,multi:!0},{provide:fu,useValue:()=>x(r),multi:!0})}const l=o.providers;null==l||a||hn(l,c=>{t.push(c)})}}return r!==e&&void 0!==e.providers}const AC=oe({provide:String,useValue:oe});function gu(e){return null!==e&&"object"==typeof e&&AC in e}function si(e){return"function"==typeof e}const mu=new R("Set Injector scope."),Ds={},_C={};let yu;function Cs(){return void 0===yu&&(yu=new Op),yu}class Pn{}class Hp extends Pn{constructor(t,n,i,r){super(),this.parent=n,this.source=i,this.scopes=r,this.records=new Map,this._ngOnDestroyHooks=new Set,this._onDestroyHooks=[],this._destroyed=!1,vu(t,s=>this.processProvider(s)),this.records.set(Fp,Hi(void 0,this)),r.has("environment")&&this.records.set(Pn,Hi(void 0,this));const o=this.records.get(mu);null!=o&&"string"==typeof o.value&&this.scopes.add(o.value),this.injectorDefTypes=new Set(this.get(Lp.multi,ee,P.Self))}get destroyed(){return this._destroyed}destroy(){this.assertNotDestroyed(),this._destroyed=!0;try{for(const t of this._ngOnDestroyHooks)t.ngOnDestroy();for(const t of this._onDestroyHooks)t()}finally{this.records.clear(),this._ngOnDestroyHooks.clear(),this.injectorDefTypes.clear(),this._onDestroyHooks.length=0}}onDestroy(t){this._onDestroyHooks.push(t)}runInContext(t){this.assertNotDestroyed();const n=ji(this),i=At(void 0);try{return t()}finally{ji(n),At(i)}}get(t,n=Lr,i=P.Default){this.assertNotDestroyed();const r=ji(this),o=At(void 0);try{if(!(i&P.SkipSelf)){let a=this.records.get(t);if(void 0===a){const l=function SC(e){return"function"==typeof e||"object"==typeof e&&e instanceof R}(t)&&Jo(t);a=l&&this.injectableDefInScope(l)?Hi(wu(t),Ds):null,this.records.set(t,a)}if(null!=a)return this.hydrate(t,a)}return(i&P.Self?Cs():this.parent).get(t,n=i&P.Optional&&n===Lr?null:n)}catch(s){if("NullInjectorError"===s.name){if((s[ps]=s[ps]||[]).unshift(se(t)),r)throw s;return function eD(e,t,n,i){const r=e[ps];throw t[Bf]&&r.unshift(t[Bf]),e.message=function tD(e,t,n,i=null){e=e&&"\n"===e.charAt(0)&&"\u0275"==e.charAt(1)?e.slice(2):e;let r=se(t);if(Array.isArray(t))r=t.map(se).join(" -> ");else if("object"==typeof t){let o=[];for(let s in t)if(t.hasOwnProperty(s)){let a=t[s];o.push(s+":"+("string"==typeof a?JSON.stringify(a):se(a)))}r=`{${o.join(", ")}}`}return`${n}${i?"("+i+")":""}[${r}]: ${e.replace(K_,"\n ")}`}("\n"+e.message,r,n,i),e.ngTokenPath=r,e[ps]=null,e}(s,t,"R3InjectorError",this.source)}throw s}finally{At(o),ji(r)}}resolveInjectorInitializers(){const t=ji(this),n=At(void 0);try{const i=this.get(fu.multi,ee,P.Self);for(const r of i)r()}finally{ji(t),At(n)}}toString(){const t=[],n=this.records;for(const i of n.keys())t.push(se(i));return`R3Injector[${t.join(", ")}]`}assertNotDestroyed(){if(this._destroyed)throw new D(205,!1)}processProvider(t){let n=si(t=L(t))?t:L(t&&t.provide);const i=function CC(e){return gu(e)?Hi(void 0,e.useValue):Hi($p(e),Ds)}(t);if(si(t)||!0!==t.multi)this.records.get(n);else{let r=this.records.get(n);r||(r=Hi(void 0,Ds,!0),r.factory=()=>jl(r.multi),this.records.set(n,r)),n=t,r.multi.push(t)}this.records.set(n,i)}hydrate(t,n){return n.value===Ds&&(n.value=_C,n.value=n.factory()),"object"==typeof n.value&&n.value&&function EC(e){return null!==e&&"object"==typeof e&&"function"==typeof e.ngOnDestroy}(n.value)&&this._ngOnDestroyHooks.add(n.value),n.value}injectableDefInScope(t){if(!t.providedIn)return!1;const n=L(t.providedIn);return"string"==typeof n?"any"===n||this.scopes.has(n):this.injectorDefTypes.has(n)}}function wu(e){const t=Jo(e),n=null!==t?t.factory:ti(e);if(null!==n)return n;if(e instanceof R)throw new D(204,!1);if(e instanceof Function)return function DC(e){const t=e.length;if(t>0)throw function Fr(e,t){const n=[];for(let i=0;in.factory(e):()=>new e}(e);throw new D(204,!1)}function $p(e,t,n){let i;if(si(e)){const r=L(e);return ti(r)||wu(r)}if(gu(e))i=()=>L(e.useValue);else if(function Bp(e){return!(!e||!e.useFactory)}(e))i=()=>e.useFactory(...jl(e.deps||[]));else if(function Up(e){return!(!e||!e.useExisting)}(e))i=()=>x(L(e.useExisting));else{const r=L(e&&(e.useClass||e.provide));if(!function MC(e){return!!e.deps}(e))return ti(r)||wu(r);i=()=>new r(...jl(e.deps))}return i}function Hi(e,t,n=!1){return{factory:e,value:t,multi:n?[]:void 0}}function IC(e){return!!e.\u0275providers}function vu(e,t){for(const n of e)Array.isArray(n)?vu(n,t):IC(n)?vu(n.\u0275providers,t):t(n)}class Gp{}class TC{resolveComponentFactory(t){throw function xC(e){const t=Error(`No component factory found for ${se(e)}. Did you add it to @NgModule.entryComponents?`);return t.ngComponent=e,t}(t)}}let Qr=(()=>{class e{}return e.NULL=new TC,e})();function PC(){return $i(xe(),w())}function $i(e,t){return new mt(ht(e,t))}let mt=(()=>{class e{constructor(n){this.nativeElement=n}}return e.__NG_ELEMENT_ID__=PC,e})();class Wp{}let pn=(()=>{class e{}return e.__NG_ELEMENT_ID__=()=>function NC(){const e=w(),n=ft(xe().index,e);return(rt(n)?n:e)[G]}(),e})(),FC=(()=>{class e{}return e.\u0275prov=H({token:e,providedIn:"root",factory:()=>null}),e})();class Kr{constructor(t){this.full=t,this.major=t.split(".")[0],this.minor=t.split(".")[1],this.patch=t.split(".").slice(2).join(".")}}const LC=new Kr("14.2.12"),Au={};function _u(e){return e.ngOriginalError}class Gi{constructor(){this._console=console}handleError(t){const n=this._findOriginalError(t);this._console.error("ERROR",t),n&&this._console.error("ORIGINAL ERROR",n)}_findOriginalError(t){let n=t&&_u(t);for(;n&&_u(n);)n=_u(n);return n||null}}function gn(e){return e instanceof Function?e():e}function qp(e,t,n){let i=e.length;for(;;){const r=e.indexOf(t,n);if(-1===r)return r;if(0===r||e.charCodeAt(r-1)<=32){const o=t.length;if(r+o===i||e.charCodeAt(r+o)<=32)return r}n=r+1}}const Qp="ng-template";function JC(e,t,n){let i=0;for(;io?"":r[d+1].toLowerCase();const f=8&i?h:null;if(f&&-1!==qp(f,u,0)||2&i&&u!==h){if(Ft(i))return!1;s=!0}}}}else{if(!s&&!Ft(i)&&!Ft(l))return!1;if(s&&Ft(l))continue;s=!1,i=l|1&i}}return Ft(i)||s}function Ft(e){return 0==(1&e)}function KC(e,t,n,i){if(null===t)return-1;let r=0;if(i||!n){let o=!1;for(;r-1)for(n++;n0?'="'+a+'"':"")+"]"}else 8&i?r+="."+s:4&i&&(r+=" "+s);else""!==r&&!Ft(s)&&(t+=Yp(o,r),r=""),i=s,o=o||!Ft(i);n++}return""!==r&&(t+=Yp(o,r)),t}const B={};function N(e){Xp(Z(),w(),Ye()+e,!1)}function Xp(e,t,n,i){if(!i)if(3==(3&t[2])){const o=e.preOrderCheckHooks;null!==o&&rs(t,o,n)}else{const o=e.preOrderHooks;null!==o&&os(t,o,0,n)}kn(n)}function ig(e,t=null,n=null,i){const r=rg(e,t,n,i);return r.resolveInjectorInitializers(),r}function rg(e,t=null,n=null,i,r=new Set){const o=[n||ee,vC(e)];return i=i||("object"==typeof e?void 0:se(e)),new Hp(o,t||Cs(),i||null,r)}let Ct=(()=>{class e{static create(n,i){if(Array.isArray(n))return ig({name:""},i,n,"");{const r=n.name??"";return ig({name:r},n.parent,n.providers,r)}}}return e.THROW_IF_NOT_FOUND=Lr,e.NULL=new Op,e.\u0275prov=H({token:e,providedIn:"any",factory:()=>x(Fp)}),e.__NG_ELEMENT_ID__=-1,e})();function v(e,t=P.Default){const n=w();return null===n?x(e,t):Tf(xe(),n,L(e),t)}function Su(){throw new Error("invalid")}function Es(e,t){return e<<17|t<<2}function Lt(e){return e>>17&32767}function Iu(e){return 2|e}function mn(e){return(131068&e)>>2}function ku(e,t){return-131069&e|t<<2}function xu(e){return 1|e}function bg(e,t){const n=e.contentQueries;if(null!==n)for(let i=0;i22&&Xp(e,t,22,!1),n(i,r)}finally{kn(o)}}function Uu(e,t,n){!df()||(function HM(e,t,n,i){const r=n.directiveStart,o=n.directiveEnd;e.firstCreatePass||xr(n,t),Ge(i,t);const s=n.initialInputs;for(let a=r;a0;){const n=e[--t];if("number"==typeof n&&n<0)return n}return 0})(a)!=l&&a.push(l),a.push(i,r,s)}}function xg(e,t){null!==e.hostBindings&&e.hostBindings(1,t)}function Tg(e,t){t.flags|=2,(e.components||(e.components=[])).push(t.index)}function WM(e,t,n){if(n){if(t.exportAs)for(let i=0;i0&&zu(n)}}function zu(e){for(let i=Ql(e);null!==i;i=Kl(i))for(let r=10;r0&&zu(o)}const n=e[1].components;if(null!==n)for(let i=0;i0&&zu(r)}}function XM(e,t){const n=ft(t,e),i=n[1];(function eE(e,t){for(let n=t.length;n-1&&(Xl(t,i),hs(n,i))}this._attachedToViewContainer=!1}dp(this._lView[1],this._lView)}onDestroy(t){!function Mg(e,t,n,i){const r=Fg(t);null===n?r.push(i):(r.push(n),e.firstCreatePass&&Lg(e).push(i,r.length-1))}(this._lView[1],this._lView,null,t)}markForCheck(){Wu(this._cdRefInjectingView||this._lView)}detach(){this._lView[2]&=-65}reattach(){this._lView[2]|=64}detectChanges(){Ps(this._lView[1],this._lView,this.context)}checkNoChanges(){}attachToViewContainerRef(){if(this._appRef)throw new D(902,!1);this._attachedToViewContainer=!0}detachFromAppRef(){this._appRef=null,function FD(e,t){zr(e,t,t[G],2,null,null)}(this._lView[1],this._lView)}attachToAppRef(t){if(this._attachedToViewContainer)throw new D(902,!1);this._appRef=t}}class tE extends Zr{constructor(t){super(t),this._view=t}detectChanges(){const t=this._view;Ps(t[1],t,t[8],!1)}checkNoChanges(){}get context(){return null}}class Qu extends Qr{constructor(t){super(),this.ngModule=t}resolveComponentFactory(t){const n=ne(t);return new Yr(n,this.ngModule)}}function jg(e){const t=[];for(let n in e)e.hasOwnProperty(n)&&t.push({propName:e[n],templateName:n});return t}class iE{constructor(t,n){this.injector=t,this.parentInjector=n}get(t,n,i){const r=this.injector.get(t,Au,i);return r!==Au||n===Au?r:this.parentInjector.get(t,n,i)}}class Yr extends Gp{constructor(t,n){super(),this.componentDef=t,this.ngModule=n,this.componentType=t.type,this.selector=function nM(e){return e.map(tM).join(",")}(t.selectors),this.ngContentSelectors=t.ngContentSelectors?t.ngContentSelectors:[],this.isBoundToModule=!!n}get inputs(){return jg(this.componentDef.inputs)}get outputs(){return jg(this.componentDef.outputs)}create(t,n,i,r){let o=(r=r||this.ngModule)instanceof Pn?r:r?.injector;o&&null!==this.componentDef.getStandaloneInjector&&(o=this.componentDef.getStandaloneInjector(o)||o);const s=o?new iE(t,o):t,a=s.get(Wp,null);if(null===a)throw new D(407,!1);const l=s.get(FC,null),u=a.createRenderer(null,this.componentDef),c=this.componentDef.selectors[0][0]||"div",d=i?function LM(e,t,n){return e.selectRootElement(t,n===Wt.ShadowDom)}(u,i,this.componentDef.encapsulation):Yl(u,c,function nE(e){const t=e.toLowerCase();return"svg"===t?"svg":"math"===t?"math":null}(c)),h=this.componentDef.onPush?288:272,f=Hu(0,null,null,1,0,null,null,null,null,null),p=ks(null,f,null,h,null,null,a,u,l,s,null);let g,m;El(p);try{const A=function sE(e,t,n,i,r,o){const s=n[1];n[22]=e;const l=Ji(s,22,2,"#host",null),u=l.mergedAttrs=t.hostAttrs;null!==u&&(Rs(l,u,!0),null!==e&&(ss(r,e,u),null!==l.classes&&ou(r,e,l.classes),null!==l.styles&&_p(r,e,l.styles)));const c=i.createRenderer(e,t),d=ks(n,Cg(t),null,t.onPush?32:16,n[22],l,i,c,o||null,null,null);return s.firstCreatePass&&(cs(xr(l,n),s,t.type),Tg(s,l),Pg(l,n.length,1)),Ts(n,d),n[22]=d}(d,this.componentDef,p,a,u);if(d)if(i)ss(u,d,["ng-version",LC.full]);else{const{attrs:M,classes:y}=function iM(e){const t=[],n=[];let i=1,r=2;for(;i0&&ou(u,d,y.join(" "))}if(m=vl(f,22),void 0!==n){const M=m.projection=[];for(let y=0;y=0;i--){const r=e[i];r.hostVars=t+=r.hostVars,r.hostAttrs=as(r.hostAttrs,n=as(n,r.hostAttrs))}}(i)}function Ku(e){return e===Di?{}:e===ee?[]:e}function cE(e,t){const n=e.viewQuery;e.viewQuery=n?(i,r)=>{t(i,r),n(i,r)}:t}function dE(e,t){const n=e.contentQueries;e.contentQueries=n?(i,r,o)=>{t(i,r,o),n(i,r,o)}:t}function hE(e,t){const n=e.hostBindings;e.hostBindings=n?(i,r)=>{t(i,r),n(i,r)}:t}let Fs=null;function ai(){if(!Fs){const e=ue.Symbol;if(e&&e.iterator)Fs=e.iterator;else{const t=Object.getOwnPropertyNames(Map.prototype);for(let n=0;na(Me(Y[i.index])):i.index;let I=null;if(!a&&l&&(I=function ME(e,t,n,i){const r=e.cleanup;if(null!=r)for(let o=0;ol?a[l]:null}"string"==typeof s&&(o+=2)}return null}(e,t,r,i.index)),null!==I)(I.__ngLastListenerFn__||I).__ngNextListenerFn__=o,I.__ngLastListenerFn__=o,f=!1;else{o=tm(i,t,d,o,!1);const Y=n.listen(A,r,o);h.push(o,Y),c&&c.push(r,y,M,M+1)}}else o=tm(i,t,d,o,!1);const p=i.outputs;let g;if(f&&null!==p&&(g=p[r])){const m=g.length;if(m)for(let A=0;A0;)t=t[15],e--;return t}(e,j.lFrame.contextLView))[8]}(e)}function we(e,t,n){return wn(e,"",t,"",n),we}function wn(e,t,n,i,r){const o=w(),s=Ki(o,t,n,i);return s!==B&&yt(Z(),ge(),o,e,s,o[G],r,!1),wn}function cm(e,t,n,i,r){const o=e[n+1],s=null===t;let a=i?Lt(o):mn(o),l=!1;for(;0!==a&&(!1===l||s);){const c=e[a+1];TE(e[a],t)&&(l=!0,e[a+1]=i?xu(c):Iu(c)),a=i?Lt(c):mn(c)}l&&(e[n+1]=i?Iu(o):xu(o))}function TE(e,t){return null===e||null==t||(Array.isArray(e)?e[1]:e)===t||!(!Array.isArray(e)||"string"!=typeof t)&&Vi(e,t)>=0}function Os(e,t){return function Vt(e,t,n,i){const r=w(),o=Z(),s=dn(2);o.firstUpdatePass&&function vm(e,t,n,i){const r=e.data;if(null===r[n+1]){const o=r[Ye()],s=function wm(e,t){return t>=e.expandoStartIndex}(e,n);(function Dm(e,t){return 0!=(e.flags&(t?16:32))})(o,i)&&null===t&&!s&&(t=!1),t=function UE(e,t,n,i){const r=function Cl(e){const t=j.lFrame.currentDirectiveIndex;return-1===t?null:e[t]}(e);let o=i?t.residualClasses:t.residualStyles;if(null===r)0===(i?t.classBindings:t.styleBindings)&&(n=io(n=nc(null,e,t,n,i),t.attrs,i),o=null);else{const s=t.directiveStylingLast;if(-1===s||e[s]!==r)if(n=nc(r,e,t,n,i),null===o){let l=function BE(e,t,n){const i=n?t.classBindings:t.styleBindings;if(0!==mn(i))return e[Lt(i)]}(e,t,i);void 0!==l&&Array.isArray(l)&&(l=nc(null,e,t,l[1],i),l=io(l,t.attrs,i),function HE(e,t,n,i){e[Lt(n?t.classBindings:t.styleBindings)]=i}(e,t,i,l))}else o=function $E(e,t,n){let i;const r=t.directiveEnd;for(let o=1+t.directiveStylingLast;o0)&&(u=!0)}else c=n;if(r)if(0!==l){const h=Lt(e[a+1]);e[i+1]=Es(h,a),0!==h&&(e[h+1]=ku(e[h+1],i)),e[a+1]=function _M(e,t){return 131071&e|t<<17}(e[a+1],i)}else e[i+1]=Es(a,0),0!==a&&(e[a+1]=ku(e[a+1],i)),a=i;else e[i+1]=Es(l,0),0===a?a=i:e[l+1]=ku(e[l+1],i),l=i;u&&(e[i+1]=Iu(e[i+1])),cm(e,c,i,!0),cm(e,c,i,!1),function xE(e,t,n,i,r){const o=r?e.residualClasses:e.residualStyles;null!=o&&"string"==typeof t&&Vi(o,t)>=0&&(n[i+1]=xu(n[i+1]))}(t,c,e,i,o),s=Es(a,l),o?t.classBindings=s:t.styleBindings=s}(r,o,t,n,s,i)}}(o,e,s,i),t!==B&&ze(r,s,t)&&function bm(e,t,n,i,r,o,s,a){if(!(3&t.type))return;const l=e.data,u=l[a+1];Vs(function fg(e){return 1==(1&e)}(u)?_m(l,t,n,r,mn(u),s):void 0)||(Vs(o)||function hg(e){return 2==(2&e)}(u)&&(o=_m(l,null,n,r,a,s)),function zD(e,t,n,i,r){if(t)r?e.addClass(n,i):e.removeClass(n,i);else{let o=-1===i.indexOf("-")?void 0:ot.DashCase;null==r?e.removeStyle(n,i,o):("string"==typeof r&&r.endsWith("!important")&&(r=r.slice(0,-10),o|=ot.Important),e.setStyle(n,i,r,o))}}(i,s,ts(Ye(),n),r,o))}(o,o.data[Ye()],r,r[G],e,r[s+1]=function WE(e,t){return null==e||("string"==typeof t?e+=t:"object"==typeof e&&(e=se(Tn(e)))),e}(t,n),i,s)}(e,t,null,!0),Os}function nc(e,t,n,i,r){let o=null;const s=n.directiveEnd;let a=n.directiveStylingLast;for(-1===a?a=n.directiveStart:a++;a0;){const l=e[r],u=Array.isArray(l),c=u?l[1]:l,d=null===c;let h=n[r+1];h===B&&(h=d?ee:void 0);let f=d?Ll(h,i):c===i?h:void 0;if(u&&!Vs(f)&&(f=Ll(l,i)),Vs(f)&&(a=f,s))return a;const p=e[r+1];r=s?Lt(p):mn(p)}if(null!==t){let l=o?t.residualClasses:t.residualStyles;null!=l&&(a=Ll(l,i))}return a}function Vs(e){return void 0!==e}function C(e,t=""){const n=w(),i=Z(),r=e+22,o=i.firstCreatePass?Ji(i,r,1,t,null):i.data[r],s=n[r]=function Zl(e,t){return e.createText(t)}(n[G],t);ws(i,n,s,o),qt(o,!1)}function js(e){return wt("",e,""),js}function wt(e,t,n){const i=w(),r=Ki(i,e,t,n);return r!==B&&yn(i,Ye(),r),wt}function or(e,t,n,i,r){const o=w(),s=Zi(o,e,t,n,i,r);return s!==B&&yn(o,Ye(),s),or}const ci=void 0;var hS=["en",[["a","p"],["AM","PM"],ci],[["AM","PM"],ci,ci],[["S","M","T","W","T","F","S"],["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],["Su","Mo","Tu","We","Th","Fr","Sa"]],ci,[["J","F","M","A","M","J","J","A","S","O","N","D"],["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],["January","February","March","April","May","June","July","August","September","October","November","December"]],ci,[["B","A"],["BC","AD"],["Before Christ","Anno Domini"]],0,[6,0],["M/d/yy","MMM d, y","MMMM d, y","EEEE, MMMM d, y"],["h:mm a","h:mm:ss a","h:mm:ss a z","h:mm:ss a zzzz"],["{1}, {0}",ci,"{1} 'at' {0}",ci],[".",",",";","%","+","-","E","\xd7","\u2030","\u221e","NaN",":"],["#,##0.###","#,##0%","\xa4#,##0.00","#E0"],"USD","$","US Dollar",{},"ltr",function dS(e){const n=Math.floor(Math.abs(e)),i=e.toString().replace(/^[^.]*\.?/,"").length;return 1===n&&0===i?1:5}];let sr={};function et(e){const t=function fS(e){return e.toLowerCase().replace(/_/g,"-")}(e);let n=$m(t);if(n)return n;const i=t.split("-")[0];if(n=$m(i),n)return n;if("en"===i)return hS;throw new D(701,!1)}function $m(e){return e in sr||(sr[e]=ue.ng&&ue.ng.common&&ue.ng.common.locales&&ue.ng.common.locales[e]),sr[e]}var S=(()=>((S=S||{})[S.LocaleId=0]="LocaleId",S[S.DayPeriodsFormat=1]="DayPeriodsFormat",S[S.DayPeriodsStandalone=2]="DayPeriodsStandalone",S[S.DaysFormat=3]="DaysFormat",S[S.DaysStandalone=4]="DaysStandalone",S[S.MonthsFormat=5]="MonthsFormat",S[S.MonthsStandalone=6]="MonthsStandalone",S[S.Eras=7]="Eras",S[S.FirstDayOfWeek=8]="FirstDayOfWeek",S[S.WeekendRange=9]="WeekendRange",S[S.DateFormat=10]="DateFormat",S[S.TimeFormat=11]="TimeFormat",S[S.DateTimeFormat=12]="DateTimeFormat",S[S.NumberSymbols=13]="NumberSymbols",S[S.NumberFormats=14]="NumberFormats",S[S.CurrencyCode=15]="CurrencyCode",S[S.CurrencySymbol=16]="CurrencySymbol",S[S.CurrencyName=17]="CurrencyName",S[S.Currencies=18]="Currencies",S[S.Directionality=19]="Directionality",S[S.PluralCase=20]="PluralCase",S[S.ExtraData=21]="ExtraData",S))();const ar="en-US";let Gm=ar;function oc(e,t,n,i,r){if(e=L(e),Array.isArray(e))for(let o=0;o>20;if(si(e)||!e.multi){const f=new Ir(l,r,v),p=ac(a,t,r?c:c+h,d);-1===p?(cs(xr(u,s),o,a),sc(o,e,t.length),t.push(a),u.directiveStart++,u.directiveEnd++,r&&(u.providerIndexes+=1048576),n.push(f),s.push(f)):(n[p]=f,s[p]=f)}else{const f=ac(a,t,c+h,d),p=ac(a,t,c,c+h),g=f>=0&&n[f],m=p>=0&&n[p];if(r&&!m||!r&&!g){cs(xr(u,s),o,a);const A=function c1(e,t,n,i,r){const o=new Ir(e,n,v);return o.multi=[],o.index=t,o.componentProviders=0,gy(o,r,i&&!n),o}(r?u1:l1,n.length,r,i,l);!r&&m&&(n[p].providerFactory=A),sc(o,e,t.length,0),t.push(a),u.directiveStart++,u.directiveEnd++,r&&(u.providerIndexes+=1048576),n.push(A),s.push(A)}else sc(o,e,f>-1?f:p,gy(n[r?p:f],l,!r&&i));!r&&i&&m&&n[p].componentProviders++}}}function sc(e,t,n,i){const r=si(t),o=function bC(e){return!!e.useClass}(t);if(r||o){const l=(o?L(t.useClass):t).prototype.ngOnDestroy;if(l){const u=e.destroyHooks||(e.destroyHooks=[]);if(!r&&t.multi){const c=u.indexOf(n);-1===c?u.push(n,[i,l]):u[c+1].push(i,l)}else u.push(n,l)}}}function gy(e,t,n){return n&&e.componentProviders++,e.multi.push(t)-1}function ac(e,t,n,i){for(let r=n;r{n.providersResolver=(i,r)=>function a1(e,t,n){const i=Z();if(i.firstCreatePass){const r=Nt(e);oc(n,i.data,i.blueprint,r,!0),oc(t,i.data,i.blueprint,r,!1)}}(i,r?r(e):e,t)}}class di{}class my{}class yy extends di{constructor(t,n){super(),this._parent=n,this._bootstrapComponents=[],this.destroyCbs=[],this.componentFactoryResolver=new Qu(this);const i=ct(t);this._bootstrapComponents=gn(i.bootstrap),this._r3Injector=rg(t,n,[{provide:di,useValue:this},{provide:Qr,useValue:this.componentFactoryResolver}],se(t),new Set(["environment"])),this._r3Injector.resolveInjectorInitializers(),this.instance=this._r3Injector.get(t)}get injector(){return this._r3Injector}destroy(){const t=this._r3Injector;!t.destroyed&&t.destroy(),this.destroyCbs.forEach(n=>n()),this.destroyCbs=null}onDestroy(t){this.destroyCbs.push(t)}}class uc extends my{constructor(t){super(),this.moduleType=t}create(t){return new yy(this.moduleType,t)}}class h1 extends di{constructor(t,n,i){super(),this.componentFactoryResolver=new Qu(this),this.instance=null;const r=new Hp([...t,{provide:di,useValue:this},{provide:Qr,useValue:this.componentFactoryResolver}],n||Cs(),i,new Set(["environment"]));this.injector=r,r.resolveInjectorInitializers()}destroy(){this.injector.destroy()}onDestroy(t){this.injector.onDestroy(t)}}function Gs(e,t,n=null){return new h1(e,t,n).injector}let f1=(()=>{class e{constructor(n){this._injector=n,this.cachedInjectors=new Map}getOrCreateStandaloneInjector(n){if(!n.standalone)return null;if(!this.cachedInjectors.has(n.id)){const i=Vp(0,n.type),r=i.length>0?Gs([i],this._injector,`Standalone[${n.type.name}]`):null;this.cachedInjectors.set(n.id,r)}return this.cachedInjectors.get(n.id)}ngOnDestroy(){try{for(const n of this.cachedInjectors.values())null!==n&&n.destroy()}finally{this.cachedInjectors.clear()}}}return e.\u0275prov=H({token:e,providedIn:"environment",factory:()=>new e(x(Pn))}),e})();function wy(e){e.getStandaloneInjector=t=>t.get(f1).getOrCreateStandaloneInjector(e)}function My(e,t,n,i,r,o){const s=t+n;return ze(e,s,r)?function Zt(e,t,n){return e[t]=n}(e,s+1,o?i.call(o,r):i(r)):function uo(e,t){const n=e[t];return n===B?void 0:n}(e,s+1)}function co(e,t){const n=Z();let i;const r=e+22;n.firstCreatePass?(i=function P1(e,t){if(t)for(let n=t.length-1;n>=0;n--){const i=t[n];if(e===i.name)return i}}(t,n.pipeRegistry),n.data[r]=i,i.onDestroy&&(n.destroyHooks||(n.destroyHooks=[])).push(r,i.onDestroy)):i=n.data[r];const o=i.factory||(i.factory=ti(i.type)),s=At(v);try{const a=ls(!1),l=o();return ls(a),function bE(e,t,n,i){n>=e.data.length&&(e.data[n]=null,e.blueprint[n]=null),t[n]=i}(n,w(),r,l),l}finally{At(s)}}function ho(e,t,n){const i=e+22,r=w(),o=function ki(e,t){return e[t]}(r,i);return function fo(e,t){return e[1].data[t].pure}(r,i)?My(r,function Ze(){const e=j.lFrame;let t=e.bindingRootIndex;return-1===t&&(t=e.bindingRootIndex=e.tView.bindingStartIndex),t}(),t,o.transform,n,o):o.transform(n)}function dc(e){return t=>{setTimeout(e,void 0,t)}}const Ae=class O1 extends zt{constructor(t=!1){super(),this.__isAsync=t}emit(t){super.next(t)}subscribe(t,n,i){let r=t,o=n||(()=>null),s=i;if(t&&"object"==typeof t){const l=t;r=l.next?.bind(l),o=l.error?.bind(l),s=l.complete?.bind(l)}this.__isAsync&&(o=dc(o),r&&(r=dc(r)),s&&(s=dc(s)));const a=super.subscribe({next:r,error:o,complete:s});return t instanceof vt&&t.add(a),a}};let vn=(()=>{class e{}return e.__NG_ELEMENT_ID__=B1,e})();const j1=vn,U1=class extends j1{constructor(t,n,i){super(),this._declarationLView=t,this._declarationTContainer=n,this.elementRef=i}createEmbeddedView(t,n){const i=this._declarationTContainer.tViews,r=ks(this._declarationLView,i,t,16,null,i.declTNode,null,null,null,null,n||null);r[17]=this._declarationLView[this._declarationTContainer.index];const s=this._declarationLView[19];return null!==s&&(r[19]=s.createEmbeddedView(i)),ju(i,r,t),new Zr(r)}};function B1(){return function zs(e,t){return 4&e.type?new U1(t,e,$i(e,t)):null}(xe(),w())}let Ut=(()=>{class e{}return e.__NG_ELEMENT_ID__=H1,e})();function H1(){return function Py(e,t){let n;const i=t[e.index];if(Rt(i))n=i;else{let r;if(8&e.type)r=Me(i);else{const o=t[G];r=o.createComment("");const s=ht(e,t);ri(o,ys(o,s),r,function HD(e,t){return e.nextSibling(t)}(o,s),!1)}t[e.index]=n=Ng(i,t,r,e),Ts(t,n)}return new xy(n,e,t)}(xe(),w())}const $1=Ut,xy=class extends $1{constructor(t,n,i){super(),this._lContainer=t,this._hostTNode=n,this._hostLView=i}get element(){return $i(this._hostTNode,this._hostLView)}get injector(){return new Ri(this._hostTNode,this._hostLView)}get parentInjector(){const t=us(this._hostTNode,this._hostLView);if(Ef(t)){const n=Pi(t,this._hostLView),i=Ti(t);return new Ri(n[1].data[i+8],n)}return new Ri(null,this._hostLView)}clear(){for(;this.length>0;)this.remove(this.length-1)}get(t){const n=Ty(this._lContainer);return null!==n&&n[t]||null}get length(){return this._lContainer.length-10}createEmbeddedView(t,n,i){let r,o;"number"==typeof i?r=i:null!=i&&(r=i.index,o=i.injector);const s=t.createEmbeddedView(n||{},o);return this.insert(s,r),s}createComponent(t,n,i,r,o){const s=t&&!function Nr(e){return"function"==typeof e}(t);let a;if(s)a=n;else{const d=n||{};a=d.index,i=d.injector,r=d.projectableNodes,o=d.environmentInjector||d.ngModuleRef}const l=s?t:new Yr(ne(t)),u=i||this.parentInjector;if(!o&&null==l.ngModule){const h=(s?u:this.parentInjector).get(Pn,null);h&&(o=h)}const c=l.create(u,r,void 0,o);return this.insert(c.hostView,a),c}insert(t,n){const i=t._lView,r=i[1];if(function a_(e){return Rt(e[3])}(i)){const c=this.indexOf(t);if(-1!==c)this.detach(c);else{const d=i[3],h=new xy(d,d[6],d[3]);h.detach(h.indexOf(t))}}const o=this._adjustIndex(n),s=this._lContainer;!function OD(e,t,n,i){const r=10+i,o=n.length;i>0&&(n[r-1][4]=t),i{class e{constructor(n){this.appInits=n,this.resolve=Js,this.reject=Js,this.initialized=!1,this.done=!1,this.donePromise=new Promise((i,r)=>{this.resolve=i,this.reject=r})}runInitializers(){if(this.initialized)return;const n=[],i=()=>{this.done=!0,this.resolve()};if(this.appInits)for(let r=0;r{o.subscribe({complete:a,error:l})});n.push(s)}}Promise.all(n).then(()=>{i()}).catch(r=>{this.reject(r)}),0===n.length&&i(),this.initialized=!0}}return e.\u0275fac=function(n){return new(n||e)(x(qs,8))},e.\u0275prov=H({token:e,factory:e.\u0275fac,providedIn:"root"}),e})();const go=new R("AppId",{providedIn:"root",factory:function nw(){return`${Ec()}${Ec()}${Ec()}`}});function Ec(){return String.fromCharCode(97+Math.floor(25*Math.random()))}const iw=new R("Platform Initializer"),rw=new R("Platform ID",{providedIn:"platform",factory:()=>"unknown"}),ow=new R("appBootstrapListener");let vI=(()=>{class e{log(n){console.log(n)}warn(n){console.warn(n)}}return e.\u0275fac=function(n){return new(n||e)},e.\u0275prov=H({token:e,factory:e.\u0275fac,providedIn:"platform"}),e})();const An=new R("LocaleId",{providedIn:"root",factory:()=>be(An,P.Optional|P.SkipSelf)||function AI(){return typeof $localize<"u"&&$localize.locale||ar}()});class _I{constructor(t,n){this.ngModuleFactory=t,this.componentFactories=n}}let Sc=(()=>{class e{compileModuleSync(n){return new uc(n)}compileModuleAsync(n){return Promise.resolve(this.compileModuleSync(n))}compileModuleAndAllComponentsSync(n){const i=this.compileModuleSync(n),o=gn(ct(n).declarations).reduce((s,a)=>{const l=ne(a);return l&&s.push(new Yr(l)),s},[]);return new _I(i,o)}compileModuleAndAllComponentsAsync(n){return Promise.resolve(this.compileModuleAndAllComponentsSync(n))}clearCache(){}clearCacheFor(n){}getModuleId(n){}}return e.\u0275fac=function(n){return new(n||e)},e.\u0275prov=H({token:e,factory:e.\u0275fac,providedIn:"root"}),e})();const MI=(()=>Promise.resolve(0))();function Ic(e){typeof Zone>"u"?MI.then(()=>{e&&e.apply(null,null)}):Zone.current.scheduleMicroTask("scheduleMicrotask",e)}class Re{constructor({enableLongStackTrace:t=!1,shouldCoalesceEventChangeDetection:n=!1,shouldCoalesceRunChangeDetection:i=!1}){if(this.hasPendingMacrotasks=!1,this.hasPendingMicrotasks=!1,this.isStable=!0,this.onUnstable=new Ae(!1),this.onMicrotaskEmpty=new Ae(!1),this.onStable=new Ae(!1),this.onError=new Ae(!1),typeof Zone>"u")throw new D(908,!1);Zone.assertZonePatched();const r=this;if(r._nesting=0,r._outer=r._inner=Zone.current,Zone.AsyncStackTaggingZoneSpec){const o=Zone.AsyncStackTaggingZoneSpec;r._inner=r._inner.fork(new o("Angular"))}Zone.TaskTrackingZoneSpec&&(r._inner=r._inner.fork(new Zone.TaskTrackingZoneSpec)),t&&Zone.longStackTraceZoneSpec&&(r._inner=r._inner.fork(Zone.longStackTraceZoneSpec)),r.shouldCoalesceEventChangeDetection=!i&&n,r.shouldCoalesceRunChangeDetection=i,r.lastRequestAnimationFrameId=-1,r.nativeRequestAnimationFrame=function EI(){let e=ue.requestAnimationFrame,t=ue.cancelAnimationFrame;if(typeof Zone<"u"&&e&&t){const n=e[Zone.__symbol__("OriginalDelegate")];n&&(e=n);const i=t[Zone.__symbol__("OriginalDelegate")];i&&(t=i)}return{nativeRequestAnimationFrame:e,nativeCancelAnimationFrame:t}}().nativeRequestAnimationFrame,function kI(e){const t=()=>{!function II(e){e.isCheckStableRunning||-1!==e.lastRequestAnimationFrameId||(e.lastRequestAnimationFrameId=e.nativeRequestAnimationFrame.call(ue,()=>{e.fakeTopEventTask||(e.fakeTopEventTask=Zone.root.scheduleEventTask("fakeTopEventTask",()=>{e.lastRequestAnimationFrameId=-1,xc(e),e.isCheckStableRunning=!0,kc(e),e.isCheckStableRunning=!1},void 0,()=>{},()=>{})),e.fakeTopEventTask.invoke()}),xc(e))}(e)};e._inner=e._inner.fork({name:"angular",properties:{isAngularZone:!0},onInvokeTask:(n,i,r,o,s,a)=>{try{return lw(e),n.invokeTask(r,o,s,a)}finally{(e.shouldCoalesceEventChangeDetection&&"eventTask"===o.type||e.shouldCoalesceRunChangeDetection)&&t(),uw(e)}},onInvoke:(n,i,r,o,s,a,l)=>{try{return lw(e),n.invoke(r,o,s,a,l)}finally{e.shouldCoalesceRunChangeDetection&&t(),uw(e)}},onHasTask:(n,i,r,o)=>{n.hasTask(r,o),i===r&&("microTask"==o.change?(e._hasPendingMicrotasks=o.microTask,xc(e),kc(e)):"macroTask"==o.change&&(e.hasPendingMacrotasks=o.macroTask))},onHandleError:(n,i,r,o)=>(n.handleError(r,o),e.runOutsideAngular(()=>e.onError.emit(o)),!1)})}(r)}static isInAngularZone(){return typeof Zone<"u"&&!0===Zone.current.get("isAngularZone")}static assertInAngularZone(){if(!Re.isInAngularZone())throw new D(909,!1)}static assertNotInAngularZone(){if(Re.isInAngularZone())throw new D(909,!1)}run(t,n,i){return this._inner.run(t,n,i)}runTask(t,n,i,r){const o=this._inner,s=o.scheduleEventTask("NgZoneEvent: "+r,t,SI,Js,Js);try{return o.runTask(s,n,i)}finally{o.cancelTask(s)}}runGuarded(t,n,i){return this._inner.runGuarded(t,n,i)}runOutsideAngular(t){return this._outer.run(t)}}const SI={};function kc(e){if(0==e._nesting&&!e.hasPendingMicrotasks&&!e.isStable)try{e._nesting++,e.onMicrotaskEmpty.emit(null)}finally{if(e._nesting--,!e.hasPendingMicrotasks)try{e.runOutsideAngular(()=>e.onStable.emit(null))}finally{e.isStable=!0}}}function xc(e){e.hasPendingMicrotasks=!!(e._hasPendingMicrotasks||(e.shouldCoalesceEventChangeDetection||e.shouldCoalesceRunChangeDetection)&&-1!==e.lastRequestAnimationFrameId)}function lw(e){e._nesting++,e.isStable&&(e.isStable=!1,e.onUnstable.emit(null))}function uw(e){e._nesting--,kc(e)}class xI{constructor(){this.hasPendingMicrotasks=!1,this.hasPendingMacrotasks=!1,this.isStable=!0,this.onUnstable=new Ae,this.onMicrotaskEmpty=new Ae,this.onStable=new Ae,this.onError=new Ae}run(t,n,i){return t.apply(n,i)}runGuarded(t,n,i){return t.apply(n,i)}runOutsideAngular(t){return t()}runTask(t,n,i,r){return t.apply(n,i)}}const cw=new R(""),Ks=new R("");let Rc,Tc=(()=>{class e{constructor(n,i,r){this._ngZone=n,this.registry=i,this._pendingCount=0,this._isZoneStable=!0,this._didWork=!1,this._callbacks=[],this.taskTrackingZone=null,Rc||(function TI(e){Rc=e}(r),r.addToWindow(i)),this._watchAngularEvents(),n.run(()=>{this.taskTrackingZone=typeof Zone>"u"?null:Zone.current.get("TaskTrackingZone")})}_watchAngularEvents(){this._ngZone.onUnstable.subscribe({next:()=>{this._didWork=!0,this._isZoneStable=!1}}),this._ngZone.runOutsideAngular(()=>{this._ngZone.onStable.subscribe({next:()=>{Re.assertNotInAngularZone(),Ic(()=>{this._isZoneStable=!0,this._runCallbacksIfReady()})}})})}increasePendingRequestCount(){return this._pendingCount+=1,this._didWork=!0,this._pendingCount}decreasePendingRequestCount(){if(this._pendingCount-=1,this._pendingCount<0)throw new Error("pending async requests below zero");return this._runCallbacksIfReady(),this._pendingCount}isStable(){return this._isZoneStable&&0===this._pendingCount&&!this._ngZone.hasPendingMacrotasks}_runCallbacksIfReady(){if(this.isStable())Ic(()=>{for(;0!==this._callbacks.length;){let n=this._callbacks.pop();clearTimeout(n.timeoutId),n.doneCb(this._didWork)}this._didWork=!1});else{let n=this.getPendingTasks();this._callbacks=this._callbacks.filter(i=>!i.updateCb||!i.updateCb(n)||(clearTimeout(i.timeoutId),!1)),this._didWork=!0}}getPendingTasks(){return this.taskTrackingZone?this.taskTrackingZone.macroTasks.map(n=>({source:n.source,creationLocation:n.creationLocation,data:n.data})):[]}addCallback(n,i,r){let o=-1;i&&i>0&&(o=setTimeout(()=>{this._callbacks=this._callbacks.filter(s=>s.timeoutId!==o),n(this._didWork,this.getPendingTasks())},i)),this._callbacks.push({doneCb:n,timeoutId:o,updateCb:r})}whenStable(n,i,r){if(r&&!this.taskTrackingZone)throw new Error('Task tracking zone is required when passing an update callback to whenStable(). Is "zone.js/plugins/task-tracking" loaded?');this.addCallback(n,i,r),this._runCallbacksIfReady()}getPendingRequestCount(){return this._pendingCount}registerApplication(n){this.registry.registerApplication(n,this)}unregisterApplication(n){this.registry.unregisterApplication(n)}findProviders(n,i,r){return[]}}return e.\u0275fac=function(n){return new(n||e)(x(Re),x(Pc),x(Ks))},e.\u0275prov=H({token:e,factory:e.\u0275fac}),e})(),Pc=(()=>{class e{constructor(){this._applications=new Map}registerApplication(n,i){this._applications.set(n,i)}unregisterApplication(n){this._applications.delete(n)}unregisterAllApplications(){this._applications.clear()}getTestability(n){return this._applications.get(n)||null}getAllTestabilities(){return Array.from(this._applications.values())}getAllRootElements(){return Array.from(this._applications.keys())}findTestabilityInTree(n,i=!0){return Rc?.findTestabilityInTree(this,n,i)??null}}return e.\u0275fac=function(n){return new(n||e)},e.\u0275prov=H({token:e,factory:e.\u0275fac,providedIn:"platform"}),e})(),Fn=null;const dw=new R("AllowMultipleToken"),Nc=new R("PlatformDestroyListeners");class hw{constructor(t,n){this.name=t,this.token=n}}function pw(e,t,n=[]){const i=`Platform: ${t}`,r=new R(i);return(o=[])=>{let s=Fc();if(!s||s.injector.get(dw,!1)){const a=[...n,...o,{provide:r,useValue:!0}];e?e(a):function NI(e){if(Fn&&!Fn.get(dw,!1))throw new D(400,!1);Fn=e;const t=e.get(mw);(function fw(e){const t=e.get(iw,null);t&&t.forEach(n=>n())})(e)}(function gw(e=[],t){return Ct.create({name:t,providers:[{provide:mu,useValue:"platform"},{provide:Nc,useValue:new Set([()=>Fn=null])},...e]})}(a,i))}return function LI(e){const t=Fc();if(!t)throw new D(401,!1);return t}()}}function Fc(){return Fn?.get(mw)??null}let mw=(()=>{class e{constructor(n){this._injector=n,this._modules=[],this._destroyListeners=[],this._destroyed=!1}bootstrapModuleFactory(n,i){const r=function ww(e,t){let n;return n="noop"===e?new xI:("zone.js"===e?void 0:e)||new Re(t),n}(i?.ngZone,function yw(e){return{enableLongStackTrace:!1,shouldCoalesceEventChangeDetection:!(!e||!e.ngZoneEventCoalescing)||!1,shouldCoalesceRunChangeDetection:!(!e||!e.ngZoneRunCoalescing)||!1}}(i)),o=[{provide:Re,useValue:r}];return r.run(()=>{const s=Ct.create({providers:o,parent:this.injector,name:n.moduleType.name}),a=n.create(s),l=a.injector.get(Gi,null);if(!l)throw new D(402,!1);return r.runOutsideAngular(()=>{const u=r.onError.subscribe({next:c=>{l.handleError(c)}});a.onDestroy(()=>{Ys(this._modules,a),u.unsubscribe()})}),function vw(e,t,n){try{const i=n();return no(i)?i.catch(r=>{throw t.runOutsideAngular(()=>e.handleError(r)),r}):i}catch(i){throw t.runOutsideAngular(()=>e.handleError(i)),i}}(l,r,()=>{const u=a.injector.get(Qs);return u.runInitializers(),u.donePromise.then(()=>(function zm(e){ut(e,"Expected localeId to be defined"),"string"==typeof e&&(Gm=e.toLowerCase().replace(/_/g,"-"))}(a.injector.get(An,ar)||ar),this._moduleDoBootstrap(a),a))})})}bootstrapModule(n,i=[]){const r=Aw({},i);return function PI(e,t,n){const i=new uc(n);return Promise.resolve(i)}(0,0,n).then(o=>this.bootstrapModuleFactory(o,r))}_moduleDoBootstrap(n){const i=n.injector.get(Zs);if(n._bootstrapComponents.length>0)n._bootstrapComponents.forEach(r=>i.bootstrap(r));else{if(!n.instance.ngDoBootstrap)throw new D(403,!1);n.instance.ngDoBootstrap(i)}this._modules.push(n)}onDestroy(n){this._destroyListeners.push(n)}get injector(){return this._injector}destroy(){if(this._destroyed)throw new D(404,!1);this._modules.slice().forEach(i=>i.destroy()),this._destroyListeners.forEach(i=>i());const n=this._injector.get(Nc,null);n&&(n.forEach(i=>i()),n.clear()),this._destroyed=!0}get destroyed(){return this._destroyed}}return e.\u0275fac=function(n){return new(n||e)(x(Ct))},e.\u0275prov=H({token:e,factory:e.\u0275fac,providedIn:"platform"}),e})();function Aw(e,t){return Array.isArray(t)?t.reduce(Aw,e):{...e,...t}}let Zs=(()=>{class e{constructor(n,i,r){this._zone=n,this._injector=i,this._exceptionHandler=r,this._bootstrapListeners=[],this._views=[],this._runningTick=!1,this._stable=!0,this._destroyed=!1,this._destroyListeners=[],this.componentTypes=[],this.components=[],this._onMicrotaskEmptySubscription=this._zone.onMicrotaskEmpty.subscribe({next:()=>{this._zone.run(()=>{this.tick()})}});const o=new De(a=>{this._stable=this._zone.isStable&&!this._zone.hasPendingMacrotasks&&!this._zone.hasPendingMicrotasks,this._zone.runOutsideAngular(()=>{a.next(this._stable),a.complete()})}),s=new De(a=>{let l;this._zone.runOutsideAngular(()=>{l=this._zone.onStable.subscribe(()=>{Re.assertNotInAngularZone(),Ic(()=>{!this._stable&&!this._zone.hasPendingMacrotasks&&!this._zone.hasPendingMicrotasks&&(this._stable=!0,a.next(!0))})})});const u=this._zone.onUnstable.subscribe(()=>{Re.assertInAngularZone(),this._stable&&(this._stable=!1,this._zone.runOutsideAngular(()=>{a.next(!1)}))});return()=>{l.unsubscribe(),u.unsubscribe()}});this.isStable=function kb(...e){const t=br(e),n=function _b(e,t){return"number"==typeof il(e)?e.pop():t}(e,1/0),i=e;return i.length?1===i.length?kt(i[0]):_i(n)(Ce(i,t)):an}(o,s.pipe(function xb(e={}){const{connector:t=(()=>new zt),resetOnError:n=!0,resetOnComplete:i=!0,resetOnRefCountZero:r=!0}=e;return o=>{let s,a,l,u=0,c=!1,d=!1;const h=()=>{a?.unsubscribe(),a=void 0},f=()=>{h(),s=l=void 0,c=d=!1},p=()=>{const g=s;f(),g?.unsubscribe()};return Fe((g,m)=>{u++,!d&&!c&&h();const A=l=l??t();m.add(()=>{u--,0===u&&!d&&!c&&(a=rl(p,r))}),A.subscribe(m),!s&&u>0&&(s=new Ar({next:M=>A.next(M),error:M=>{d=!0,h(),a=rl(f,n,M),A.error(M)},complete:()=>{c=!0,h(),a=rl(f,i),A.complete()}}),kt(g).subscribe(s))})(o)}}()))}get destroyed(){return this._destroyed}get injector(){return this._injector}bootstrap(n,i){const r=n instanceof Gp;if(!this._injector.get(Qs).done)throw!r&&function Mi(e){const t=ne(e)||Qe(e)||Ke(e);return null!==t&&t.standalone}(n),new D(405,false);let s;s=r?n:this._injector.get(Qr).resolveComponentFactory(n),this.componentTypes.push(s.componentType);const a=function RI(e){return e.isBoundToModule}(s)?void 0:this._injector.get(di),u=s.create(Ct.NULL,[],i||s.selector,a),c=u.location.nativeElement,d=u.injector.get(cw,null);return d?.registerApplication(c),u.onDestroy(()=>{this.detachView(u.hostView),Ys(this.components,u),d?.unregisterApplication(c)}),this._loadComponent(u),u}tick(){if(this._runningTick)throw new D(101,!1);try{this._runningTick=!0;for(let n of this._views)n.detectChanges()}catch(n){this._zone.runOutsideAngular(()=>this._exceptionHandler.handleError(n))}finally{this._runningTick=!1}}attachView(n){const i=n;this._views.push(i),i.attachToAppRef(this)}detachView(n){const i=n;Ys(this._views,i),i.detachFromAppRef()}_loadComponent(n){this.attachView(n.hostView),this.tick(),this.components.push(n),this._injector.get(ow,[]).concat(this._bootstrapListeners).forEach(r=>r(n))}ngOnDestroy(){if(!this._destroyed)try{this._destroyListeners.forEach(n=>n()),this._views.slice().forEach(n=>n.destroy()),this._onMicrotaskEmptySubscription.unsubscribe()}finally{this._destroyed=!0,this._views=[],this._bootstrapListeners=[],this._destroyListeners=[]}}onDestroy(n){return this._destroyListeners.push(n),()=>Ys(this._destroyListeners,n)}destroy(){if(this._destroyed)throw new D(406,!1);const n=this._injector;n.destroy&&!n.destroyed&&n.destroy()}get viewCount(){return this._views.length}warnIfDestroyed(){}}return e.\u0275fac=function(n){return new(n||e)(x(Re),x(Pn),x(Gi))},e.\u0275prov=H({token:e,factory:e.\u0275fac,providedIn:"root"}),e})();function Ys(e,t){const n=e.indexOf(t);n>-1&&e.splice(n,1)}let _w=!0,Xs=(()=>{class e{}return e.__NG_ELEMENT_ID__=jI,e})();function jI(e){return function UI(e,t,n){if(Xo(e)&&!n){const i=ft(e.index,t);return new Zr(i,i)}return 47&e.type?new Zr(t[16],t):null}(xe(),w(),16==(16&e))}class Sw{constructor(){}supports(t){return Xr(t)}create(t){return new WI(t)}}const zI=(e,t)=>t;class WI{constructor(t){this.length=0,this._linkedRecords=null,this._unlinkedRecords=null,this._previousItHead=null,this._itHead=null,this._itTail=null,this._additionsHead=null,this._additionsTail=null,this._movesHead=null,this._movesTail=null,this._removalsHead=null,this._removalsTail=null,this._identityChangesHead=null,this._identityChangesTail=null,this._trackByFn=t||zI}forEachItem(t){let n;for(n=this._itHead;null!==n;n=n._next)t(n)}forEachOperation(t){let n=this._itHead,i=this._removalsHead,r=0,o=null;for(;n||i;){const s=!i||n&&n.currentIndex{s=this._trackByFn(r,a),null!==n&&Object.is(n.trackById,s)?(i&&(n=this._verifyReinsertion(n,a,s,r)),Object.is(n.item,a)||this._addIdentityChange(n,a)):(n=this._mismatch(n,a,s,r),i=!0),n=n._next,r++}),this.length=r;return this._truncate(n),this.collection=t,this.isDirty}get isDirty(){return null!==this._additionsHead||null!==this._movesHead||null!==this._removalsHead||null!==this._identityChangesHead}_reset(){if(this.isDirty){let t;for(t=this._previousItHead=this._itHead;null!==t;t=t._next)t._nextPrevious=t._next;for(t=this._additionsHead;null!==t;t=t._nextAdded)t.previousIndex=t.currentIndex;for(this._additionsHead=this._additionsTail=null,t=this._movesHead;null!==t;t=t._nextMoved)t.previousIndex=t.currentIndex;this._movesHead=this._movesTail=null,this._removalsHead=this._removalsTail=null,this._identityChangesHead=this._identityChangesTail=null}}_mismatch(t,n,i,r){let o;return null===t?o=this._itTail:(o=t._prev,this._remove(t)),null!==(t=null===this._unlinkedRecords?null:this._unlinkedRecords.get(i,null))?(Object.is(t.item,n)||this._addIdentityChange(t,n),this._reinsertAfter(t,o,r)):null!==(t=null===this._linkedRecords?null:this._linkedRecords.get(i,r))?(Object.is(t.item,n)||this._addIdentityChange(t,n),this._moveAfter(t,o,r)):t=this._addAfter(new JI(n,i),o,r),t}_verifyReinsertion(t,n,i,r){let o=null===this._unlinkedRecords?null:this._unlinkedRecords.get(i,null);return null!==o?t=this._reinsertAfter(o,t._prev,r):t.currentIndex!=r&&(t.currentIndex=r,this._addToMoves(t,r)),t}_truncate(t){for(;null!==t;){const n=t._next;this._addToRemovals(this._unlink(t)),t=n}null!==this._unlinkedRecords&&this._unlinkedRecords.clear(),null!==this._additionsTail&&(this._additionsTail._nextAdded=null),null!==this._movesTail&&(this._movesTail._nextMoved=null),null!==this._itTail&&(this._itTail._next=null),null!==this._removalsTail&&(this._removalsTail._nextRemoved=null),null!==this._identityChangesTail&&(this._identityChangesTail._nextIdentityChange=null)}_reinsertAfter(t,n,i){null!==this._unlinkedRecords&&this._unlinkedRecords.remove(t);const r=t._prevRemoved,o=t._nextRemoved;return null===r?this._removalsHead=o:r._nextRemoved=o,null===o?this._removalsTail=r:o._prevRemoved=r,this._insertAfter(t,n,i),this._addToMoves(t,i),t}_moveAfter(t,n,i){return this._unlink(t),this._insertAfter(t,n,i),this._addToMoves(t,i),t}_addAfter(t,n,i){return this._insertAfter(t,n,i),this._additionsTail=null===this._additionsTail?this._additionsHead=t:this._additionsTail._nextAdded=t,t}_insertAfter(t,n,i){const r=null===n?this._itHead:n._next;return t._next=r,t._prev=n,null===r?this._itTail=t:r._prev=t,null===n?this._itHead=t:n._next=t,null===this._linkedRecords&&(this._linkedRecords=new Iw),this._linkedRecords.put(t),t.currentIndex=i,t}_remove(t){return this._addToRemovals(this._unlink(t))}_unlink(t){null!==this._linkedRecords&&this._linkedRecords.remove(t);const n=t._prev,i=t._next;return null===n?this._itHead=i:n._next=i,null===i?this._itTail=n:i._prev=n,t}_addToMoves(t,n){return t.previousIndex===n||(this._movesTail=null===this._movesTail?this._movesHead=t:this._movesTail._nextMoved=t),t}_addToRemovals(t){return null===this._unlinkedRecords&&(this._unlinkedRecords=new Iw),this._unlinkedRecords.put(t),t.currentIndex=null,t._nextRemoved=null,null===this._removalsTail?(this._removalsTail=this._removalsHead=t,t._prevRemoved=null):(t._prevRemoved=this._removalsTail,this._removalsTail=this._removalsTail._nextRemoved=t),t}_addIdentityChange(t,n){return t.item=n,this._identityChangesTail=null===this._identityChangesTail?this._identityChangesHead=t:this._identityChangesTail._nextIdentityChange=t,t}}class JI{constructor(t,n){this.item=t,this.trackById=n,this.currentIndex=null,this.previousIndex=null,this._nextPrevious=null,this._prev=null,this._next=null,this._prevDup=null,this._nextDup=null,this._prevRemoved=null,this._nextRemoved=null,this._nextAdded=null,this._nextMoved=null,this._nextIdentityChange=null}}class qI{constructor(){this._head=null,this._tail=null}add(t){null===this._head?(this._head=this._tail=t,t._nextDup=null,t._prevDup=null):(this._tail._nextDup=t,t._prevDup=this._tail,t._nextDup=null,this._tail=t)}get(t,n){let i;for(i=this._head;null!==i;i=i._nextDup)if((null===n||n<=i.currentIndex)&&Object.is(i.trackById,t))return i;return null}remove(t){const n=t._prevDup,i=t._nextDup;return null===n?this._head=i:n._nextDup=i,null===i?this._tail=n:i._prevDup=n,null===this._head}}class Iw{constructor(){this.map=new Map}put(t){const n=t.trackById;let i=this.map.get(n);i||(i=new qI,this.map.set(n,i)),i.add(t)}get(t,n){const r=this.map.get(t);return r?r.get(t,n):null}remove(t){const n=t.trackById;return this.map.get(n).remove(t)&&this.map.delete(n),t}get isEmpty(){return 0===this.map.size}clear(){this.map.clear()}}function kw(e,t,n){const i=e.previousIndex;if(null===i)return i;let r=0;return n&&i{if(n&&n.key===r)this._maybeAddToChanges(n,i),this._appendAfter=n,n=n._next;else{const o=this._getOrCreateRecordForKey(r,i);n=this._insertBeforeOrAppend(n,o)}}),n){n._prev&&(n._prev._next=null),this._removalsHead=n;for(let i=n;null!==i;i=i._nextRemoved)i===this._mapHead&&(this._mapHead=null),this._records.delete(i.key),i._nextRemoved=i._next,i.previousValue=i.currentValue,i.currentValue=null,i._prev=null,i._next=null}return this._changesTail&&(this._changesTail._nextChanged=null),this._additionsTail&&(this._additionsTail._nextAdded=null),this.isDirty}_insertBeforeOrAppend(t,n){if(t){const i=t._prev;return n._next=t,n._prev=i,t._prev=n,i&&(i._next=n),t===this._mapHead&&(this._mapHead=n),this._appendAfter=t,t}return this._appendAfter?(this._appendAfter._next=n,n._prev=this._appendAfter):this._mapHead=n,this._appendAfter=n,null}_getOrCreateRecordForKey(t,n){if(this._records.has(t)){const r=this._records.get(t);this._maybeAddToChanges(r,n);const o=r._prev,s=r._next;return o&&(o._next=s),s&&(s._prev=o),r._next=null,r._prev=null,r}const i=new KI(t);return this._records.set(t,i),i.currentValue=n,this._addToAdditions(i),i}_reset(){if(this.isDirty){let t;for(this._previousMapHead=this._mapHead,t=this._previousMapHead;null!==t;t=t._next)t._nextPrevious=t._next;for(t=this._changesHead;null!==t;t=t._nextChanged)t.previousValue=t.currentValue;for(t=this._additionsHead;null!=t;t=t._nextAdded)t.previousValue=t.currentValue;this._changesHead=this._changesTail=null,this._additionsHead=this._additionsTail=null,this._removalsHead=null}}_maybeAddToChanges(t,n){Object.is(n,t.currentValue)||(t.previousValue=t.currentValue,t.currentValue=n,this._addToChanges(t))}_addToAdditions(t){null===this._additionsHead?this._additionsHead=this._additionsTail=t:(this._additionsTail._nextAdded=t,this._additionsTail=t)}_addToChanges(t){null===this._changesHead?this._changesHead=this._changesTail=t:(this._changesTail._nextChanged=t,this._changesTail=t)}_forEach(t,n){t instanceof Map?t.forEach(n):Object.keys(t).forEach(i=>n(t[i],i))}}class KI{constructor(t){this.key=t,this.previousValue=null,this.currentValue=null,this._nextPrevious=null,this._next=null,this._prev=null,this._nextAdded=null,this._nextRemoved=null,this._nextChanged=null}}function Tw(){return new na([new Sw])}let na=(()=>{class e{constructor(n){this.factories=n}static create(n,i){if(null!=i){const r=i.factories.slice();n=n.concat(r)}return new e(n)}static extend(n){return{provide:e,useFactory:i=>e.create(n,i||Tw()),deps:[[e,new Ur,new jr]]}}find(n){const i=this.factories.find(r=>r.supports(n));if(null!=i)return i;throw new D(901,!1)}}return e.\u0275prov=H({token:e,providedIn:"root",factory:Tw}),e})();function Pw(){return new mo([new xw])}let mo=(()=>{class e{constructor(n){this.factories=n}static create(n,i){if(i){const r=i.factories.slice();n=n.concat(r)}return new e(n)}static extend(n){return{provide:e,useFactory:i=>e.create(n,i||Pw()),deps:[[e,new Ur,new jr]]}}find(n){const i=this.factories.find(r=>r.supports(n));if(i)return i;throw new D(901,!1)}}return e.\u0275prov=H({token:e,providedIn:"root",factory:Pw}),e})();const XI=pw(null,"core",[]);let e2=(()=>{class e{constructor(n){}}return e.\u0275fac=function(n){return new(n||e)(x(Zs))},e.\u0275mod=Jt({type:e}),e.\u0275inj=xt({}),e})();let ia=null;function tn(){return ia}const st=new R("DocumentToken");let Uc=(()=>{class e{historyGo(n){throw new Error("Not implemented")}}return e.\u0275fac=function(n){return new(n||e)},e.\u0275prov=H({token:e,factory:function(){return function r2(){return x(Rw)}()},providedIn:"platform"}),e})();const o2=new R("Location Initialized");let Rw=(()=>{class e extends Uc{constructor(n){super(),this._doc=n,this._init()}_init(){this.location=window.location,this._history=window.history}getBaseHrefFromDOM(){return tn().getBaseHref(this._doc)}onPopState(n){const i=tn().getGlobalEventTarget(this._doc,"window");return i.addEventListener("popstate",n,!1),()=>i.removeEventListener("popstate",n)}onHashChange(n){const i=tn().getGlobalEventTarget(this._doc,"window");return i.addEventListener("hashchange",n,!1),()=>i.removeEventListener("hashchange",n)}get href(){return this.location.href}get protocol(){return this.location.protocol}get hostname(){return this.location.hostname}get port(){return this.location.port}get pathname(){return this.location.pathname}get search(){return this.location.search}get hash(){return this.location.hash}set pathname(n){this.location.pathname=n}pushState(n,i,r){Nw()?this._history.pushState(n,i,r):this.location.hash=r}replaceState(n,i,r){Nw()?this._history.replaceState(n,i,r):this.location.hash=r}forward(){this._history.forward()}back(){this._history.back()}historyGo(n=0){this._history.go(n)}getState(){return this._history.state}}return e.\u0275fac=function(n){return new(n||e)(x(st))},e.\u0275prov=H({token:e,factory:function(){return function s2(){return new Rw(x(st))}()},providedIn:"platform"}),e})();function Nw(){return!!window.history.pushState}function Bc(e,t){if(0==e.length)return t;if(0==t.length)return e;let n=0;return e.endsWith("/")&&n++,t.startsWith("/")&&n++,2==n?e+t.substring(1):1==n?e+t:e+"/"+t}function Fw(e){const t=e.match(/#|\?|$/),n=t&&t.index||e.length;return e.slice(0,n-("/"===e[n-1]?1:0))+e.slice(n)}function Dn(e){return e&&"?"!==e[0]?"?"+e:e}let fi=(()=>{class e{historyGo(n){throw new Error("Not implemented")}}return e.\u0275fac=function(n){return new(n||e)},e.\u0275prov=H({token:e,factory:function(){return be(Ow)},providedIn:"root"}),e})();const Lw=new R("appBaseHref");let Ow=(()=>{class e extends fi{constructor(n,i){super(),this._platformLocation=n,this._removeListenerFns=[],this._baseHref=i??this._platformLocation.getBaseHrefFromDOM()??be(st).location?.origin??""}ngOnDestroy(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}onPopState(n){this._removeListenerFns.push(this._platformLocation.onPopState(n),this._platformLocation.onHashChange(n))}getBaseHref(){return this._baseHref}prepareExternalUrl(n){return Bc(this._baseHref,n)}path(n=!1){const i=this._platformLocation.pathname+Dn(this._platformLocation.search),r=this._platformLocation.hash;return r&&n?`${i}${r}`:i}pushState(n,i,r,o){const s=this.prepareExternalUrl(r+Dn(o));this._platformLocation.pushState(n,i,s)}replaceState(n,i,r,o){const s=this.prepareExternalUrl(r+Dn(o));this._platformLocation.replaceState(n,i,s)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}getState(){return this._platformLocation.getState()}historyGo(n=0){this._platformLocation.historyGo?.(n)}}return e.\u0275fac=function(n){return new(n||e)(x(Uc),x(Lw,8))},e.\u0275prov=H({token:e,factory:e.\u0275fac,providedIn:"root"}),e})(),a2=(()=>{class e extends fi{constructor(n,i){super(),this._platformLocation=n,this._baseHref="",this._removeListenerFns=[],null!=i&&(this._baseHref=i)}ngOnDestroy(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}onPopState(n){this._removeListenerFns.push(this._platformLocation.onPopState(n),this._platformLocation.onHashChange(n))}getBaseHref(){return this._baseHref}path(n=!1){let i=this._platformLocation.hash;return null==i&&(i="#"),i.length>0?i.substring(1):i}prepareExternalUrl(n){const i=Bc(this._baseHref,n);return i.length>0?"#"+i:i}pushState(n,i,r,o){let s=this.prepareExternalUrl(r+Dn(o));0==s.length&&(s=this._platformLocation.pathname),this._platformLocation.pushState(n,i,s)}replaceState(n,i,r,o){let s=this.prepareExternalUrl(r+Dn(o));0==s.length&&(s=this._platformLocation.pathname),this._platformLocation.replaceState(n,i,s)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}getState(){return this._platformLocation.getState()}historyGo(n=0){this._platformLocation.historyGo?.(n)}}return e.\u0275fac=function(n){return new(n||e)(x(Uc),x(Lw,8))},e.\u0275prov=H({token:e,factory:e.\u0275fac}),e})(),Hc=(()=>{class e{constructor(n){this._subject=new Ae,this._urlChangeListeners=[],this._urlChangeSubscription=null,this._locationStrategy=n;const i=this._locationStrategy.getBaseHref();this._baseHref=Fw(Vw(i)),this._locationStrategy.onPopState(r=>{this._subject.emit({url:this.path(!0),pop:!0,state:r.state,type:r.type})})}ngOnDestroy(){this._urlChangeSubscription?.unsubscribe(),this._urlChangeListeners=[]}path(n=!1){return this.normalize(this._locationStrategy.path(n))}getState(){return this._locationStrategy.getState()}isCurrentPathEqualTo(n,i=""){return this.path()==this.normalize(n+Dn(i))}normalize(n){return e.stripTrailingSlash(function u2(e,t){return e&&t.startsWith(e)?t.substring(e.length):t}(this._baseHref,Vw(n)))}prepareExternalUrl(n){return n&&"/"!==n[0]&&(n="/"+n),this._locationStrategy.prepareExternalUrl(n)}go(n,i="",r=null){this._locationStrategy.pushState(r,"",n,i),this._notifyUrlChangeListeners(this.prepareExternalUrl(n+Dn(i)),r)}replaceState(n,i="",r=null){this._locationStrategy.replaceState(r,"",n,i),this._notifyUrlChangeListeners(this.prepareExternalUrl(n+Dn(i)),r)}forward(){this._locationStrategy.forward()}back(){this._locationStrategy.back()}historyGo(n=0){this._locationStrategy.historyGo?.(n)}onUrlChange(n){return this._urlChangeListeners.push(n),this._urlChangeSubscription||(this._urlChangeSubscription=this.subscribe(i=>{this._notifyUrlChangeListeners(i.url,i.state)})),()=>{const i=this._urlChangeListeners.indexOf(n);this._urlChangeListeners.splice(i,1),0===this._urlChangeListeners.length&&(this._urlChangeSubscription?.unsubscribe(),this._urlChangeSubscription=null)}}_notifyUrlChangeListeners(n="",i){this._urlChangeListeners.forEach(r=>r(n,i))}subscribe(n,i,r){return this._subject.subscribe({next:n,error:i,complete:r})}}return e.normalizeQueryParams=Dn,e.joinWithSlash=Bc,e.stripTrailingSlash=Fw,e.\u0275fac=function(n){return new(n||e)(x(fi))},e.\u0275prov=H({token:e,factory:function(){return function l2(){return new Hc(x(fi))}()},providedIn:"root"}),e})();function Vw(e){return e.replace(/\/index.html$/,"")}var at=(()=>((at=at||{})[at.Decimal=0]="Decimal",at[at.Percent=1]="Percent",at[at.Currency=2]="Currency",at[at.Scientific=3]="Scientific",at))(),T=(()=>((T=T||{})[T.Decimal=0]="Decimal",T[T.Group=1]="Group",T[T.List=2]="List",T[T.PercentSign=3]="PercentSign",T[T.PlusSign=4]="PlusSign",T[T.MinusSign=5]="MinusSign",T[T.Exponential=6]="Exponential",T[T.SuperscriptingExponent=7]="SuperscriptingExponent",T[T.PerMille=8]="PerMille",T[T.Infinity=9]="Infinity",T[T.NaN=10]="NaN",T[T.TimeSeparator=11]="TimeSeparator",T[T.CurrencyDecimal=12]="CurrencyDecimal",T[T.CurrencyGroup=13]="CurrencyGroup",T))();function Et(e,t){const n=et(e),i=n[S.NumberSymbols][t];if(typeof i>"u"){if(t===T.CurrencyDecimal)return n[S.NumberSymbols][T.Decimal];if(t===T.CurrencyGroup)return n[S.NumberSymbols][T.Group]}return i}const F2=/^(\d+)?\.((\d+)(-(\d+))?)?$/;function Kc(e){const t=parseInt(e);if(isNaN(t))throw new Error("Invalid integer literal when parsing "+e);return t}class Q2{constructor(t,n,i,r){this.$implicit=t,this.ngForOf=n,this.index=i,this.count=r}get first(){return 0===this.index}get last(){return this.index===this.count-1}get even(){return this.index%2==0}get odd(){return!this.even}}let Yc=(()=>{class e{constructor(n,i,r){this._viewContainer=n,this._template=i,this._differs=r,this._ngForOf=null,this._ngForOfDirty=!0,this._differ=null}set ngForOf(n){this._ngForOf=n,this._ngForOfDirty=!0}set ngForTrackBy(n){this._trackByFn=n}get ngForTrackBy(){return this._trackByFn}set ngForTemplate(n){n&&(this._template=n)}ngDoCheck(){if(this._ngForOfDirty){this._ngForOfDirty=!1;const n=this._ngForOf;!this._differ&&n&&(this._differ=this._differs.find(n).create(this.ngForTrackBy))}if(this._differ){const n=this._differ.diff(this._ngForOf);n&&this._applyChanges(n)}}_applyChanges(n){const i=this._viewContainer;n.forEachOperation((r,o,s)=>{if(null==r.previousIndex)i.createEmbeddedView(this._template,new Q2(r.item,this._ngForOf,-1,-1),null===s?void 0:s);else if(null==s)i.remove(null===o?void 0:o);else if(null!==o){const a=i.get(o);i.move(a,s),Qw(a,r)}});for(let r=0,o=i.length;r{Qw(i.get(r.currentIndex),r)})}static ngTemplateContextGuard(n,i){return!0}}return e.\u0275fac=function(n){return new(n||e)(v(Ut),v(vn),v(na))},e.\u0275dir=O({type:e,selectors:[["","ngFor","","ngForOf",""]],inputs:{ngForOf:"ngForOf",ngForTrackBy:"ngForTrackBy",ngForTemplate:"ngForTemplate"},standalone:!0}),e})();function Qw(e,t){e.context.$implicit=t.item}let td=(()=>{class e{constructor(n){this.differs=n,this.keyValues=[],this.compareFn=Yw}transform(n,i=Yw){if(!n||!(n instanceof Map)&&"object"!=typeof n)return null;this.differ||(this.differ=this.differs.find(n).create());const r=this.differ.diff(n),o=i!==this.compareFn;return r&&(this.keyValues=[],r.forEachItem(s=>{this.keyValues.push(function vk(e,t){return{key:e,value:t}}(s.key,s.currentValue))})),(r||o)&&(this.keyValues.sort(i),this.compareFn=i),this.keyValues}}return e.\u0275fac=function(n){return new(n||e)(v(mo,16))},e.\u0275pipe=it({name:"keyvalue",type:e,pure:!1,standalone:!0}),e})();function Yw(e,t){const n=e.key,i=t.key;if(n===i)return 0;if(void 0===n)return 1;if(void 0===i)return-1;if(null===n)return 1;if(null===i)return-1;if("string"==typeof n&&"string"==typeof i)return n{class e{constructor(n){this._locale=n}transform(n,i,r){if(!function id(e){return!(null==e||""===e||e!=e)}(n))return null;r=r||this._locale;try{return function B2(e,t,n){return function qc(e,t,n,i,r,o,s=!1){let a="",l=!1;if(isFinite(e)){let u=function $2(e){let i,r,o,s,a,t=Math.abs(e)+"",n=0;for((r=t.indexOf("."))>-1&&(t=t.replace(".","")),(o=t.search(/e/i))>0?(r<0&&(r=o),r+=+t.slice(o+1),t=t.substring(0,o)):r<0&&(r=t.length),o=0;"0"===t.charAt(o);o++);if(o===(a=t.length))i=[0],r=1;else{for(a--;"0"===t.charAt(a);)a--;for(r-=o,i=[],s=0;o<=a;o++,s++)i[s]=Number(t.charAt(o))}return r>22&&(i=i.splice(0,21),n=r-1,r=1),{digits:i,exponent:n,integerLen:r}}(e);s&&(u=function H2(e){if(0===e.digits[0])return e;const t=e.digits.length-e.integerLen;return e.exponent?e.exponent+=2:(0===t?e.digits.push(0,0):1===t&&e.digits.push(0),e.integerLen+=2),e}(u));let c=t.minInt,d=t.minFrac,h=t.maxFrac;if(o){const M=o.match(F2);if(null===M)throw new Error(`${o} is not a valid digit info`);const y=M[1],I=M[3],Y=M[5];null!=y&&(c=Kc(y)),null!=I&&(d=Kc(I)),null!=Y?h=Kc(Y):null!=I&&d>h&&(h=d)}!function G2(e,t,n){if(t>n)throw new Error(`The minimum number of digits after fraction (${t}) is higher than the maximum (${n}).`);let i=e.digits,r=i.length-e.integerLen;const o=Math.min(Math.max(t,r),n);let s=o+e.integerLen,a=i[s];if(s>0){i.splice(Math.max(e.integerLen,s));for(let d=s;d=5)if(s-1<0){for(let d=0;d>s;d--)i.unshift(0),e.integerLen++;i.unshift(1),e.integerLen++}else i[s-1]++;for(;r=u?p.pop():l=!1),h>=10?1:0},0);c&&(i.unshift(c),e.integerLen++)}(u,d,h);let f=u.digits,p=u.integerLen;const g=u.exponent;let m=[];for(l=f.every(M=>!M);p0?m=f.splice(p,f.length):(m=f,f=[0]);const A=[];for(f.length>=t.lgSize&&A.unshift(f.splice(-t.lgSize,f.length).join(""));f.length>t.gSize;)A.unshift(f.splice(-t.gSize,f.length).join(""));f.length&&A.unshift(f.join("")),a=A.join(Et(n,i)),m.length&&(a+=Et(n,r)+m.join("")),g&&(a+=Et(n,T.Exponential)+"+"+g)}else a=Et(n,T.Infinity);return a=e<0&&!l?t.negPre+a+t.negSuf:t.posPre+a+t.posSuf,a}(e,function Qc(e,t="-"){const n={minInt:1,minFrac:0,maxFrac:0,posPre:"",posSuf:"",negPre:"",negSuf:"",gSize:0,lgSize:0},i=e.split(";"),r=i[0],o=i[1],s=-1!==r.indexOf(".")?r.split("."):[r.substring(0,r.lastIndexOf("0")+1),r.substring(r.lastIndexOf("0")+1)],a=s[0],l=s[1]||"";n.posPre=a.substring(0,a.indexOf("#"));for(let c=0;c{class e{}return e.\u0275fac=function(n){return new(n||e)},e.\u0275mod=Jt({type:e}),e.\u0275inj=xt({}),e})();let Sk=(()=>{class e{}return e.\u0275prov=H({token:e,providedIn:"root",factory:()=>new Ik(x(st),window)}),e})();class Ik{constructor(t,n){this.document=t,this.window=n,this.offset=()=>[0,0]}setOffset(t){this.offset=Array.isArray(t)?()=>t:t}getScrollPosition(){return this.supportsScrolling()?[this.window.pageXOffset,this.window.pageYOffset]:[0,0]}scrollToPosition(t){this.supportsScrolling()&&this.window.scrollTo(t[0],t[1])}scrollToAnchor(t){if(!this.supportsScrolling())return;const n=function kk(e,t){const n=e.getElementById(t)||e.getElementsByName(t)[0];if(n)return n;if("function"==typeof e.createTreeWalker&&e.body&&(e.body.createShadowRoot||e.body.attachShadow)){const i=e.createTreeWalker(e.body,NodeFilter.SHOW_ELEMENT);let r=i.currentNode;for(;r;){const o=r.shadowRoot;if(o){const s=o.getElementById(t)||o.querySelector(`[name="${t}"]`);if(s)return s}r=i.nextNode()}}return null}(this.document,t);n&&(this.scrollToElement(n),n.focus())}setHistoryScrollRestoration(t){if(this.supportScrollRestoration()){const n=this.window.history;n&&n.scrollRestoration&&(n.scrollRestoration=t)}}scrollToElement(t){const n=t.getBoundingClientRect(),i=n.left+this.window.pageXOffset,r=n.top+this.window.pageYOffset,o=this.offset();this.window.scrollTo(i-o[0],r-o[1])}supportScrollRestoration(){try{if(!this.supportsScrolling())return!1;const t=ev(this.window.history)||ev(Object.getPrototypeOf(this.window.history));return!(!t||!t.writable&&!t.set)}catch{return!1}}supportsScrolling(){try{return!!this.window&&!!this.window.scrollTo&&"pageXOffset"in this.window}catch{return!1}}}function ev(e){return Object.getOwnPropertyDescriptor(e,"scrollRestoration")}class ad extends class qk extends class i2{}{constructor(){super(...arguments),this.supportsDOMEvents=!0}}{static makeCurrent(){!function n2(e){ia||(ia=e)}(new ad)}onAndCancel(t,n,i){return t.addEventListener(n,i,!1),()=>{t.removeEventListener(n,i,!1)}}dispatchEvent(t,n){t.dispatchEvent(n)}remove(t){t.parentNode&&t.parentNode.removeChild(t)}createElement(t,n){return(n=n||this.getDefaultDocument()).createElement(t)}createHtmlDocument(){return document.implementation.createHTMLDocument("fakeTitle")}getDefaultDocument(){return document}isElementNode(t){return t.nodeType===Node.ELEMENT_NODE}isShadowRoot(t){return t instanceof DocumentFragment}getGlobalEventTarget(t,n){return"window"===n?window:"document"===n?t:"body"===n?t.body:null}getBaseHref(t){const n=function Qk(){return Ao=Ao||document.querySelector("base"),Ao?Ao.getAttribute("href"):null}();return null==n?null:function Kk(e){pa=pa||document.createElement("a"),pa.setAttribute("href",e);const t=pa.pathname;return"/"===t.charAt(0)?t:`/${t}`}(n)}resetBaseElement(){Ao=null}getUserAgent(){return window.navigator.userAgent}getCookie(t){return function W2(e,t){t=encodeURIComponent(t);for(const n of e.split(";")){const i=n.indexOf("="),[r,o]=-1==i?[n,""]:[n.slice(0,i),n.slice(i+1)];if(r.trim()===t)return decodeURIComponent(o)}return null}(document.cookie,t)}}let pa,Ao=null;const rv=new R("TRANSITION_ID"),Yk=[{provide:qs,useFactory:function Zk(e,t,n){return()=>{n.get(Qs).donePromise.then(()=>{const i=tn(),r=t.querySelectorAll(`style[ng-transition="${e}"]`);for(let o=0;o{class e{build(){return new XMLHttpRequest}}return e.\u0275fac=function(n){return new(n||e)},e.\u0275prov=H({token:e,factory:e.\u0275fac}),e})();const ga=new R("EventManagerPlugins");let ma=(()=>{class e{constructor(n,i){this._zone=i,this._eventNameToPlugin=new Map,n.forEach(r=>r.manager=this),this._plugins=n.slice().reverse()}addEventListener(n,i,r){return this._findPluginFor(i).addEventListener(n,i,r)}addGlobalEventListener(n,i,r){return this._findPluginFor(i).addGlobalEventListener(n,i,r)}getZone(){return this._zone}_findPluginFor(n){const i=this._eventNameToPlugin.get(n);if(i)return i;const r=this._plugins;for(let o=0;o{class e{constructor(){this._stylesSet=new Set}addStyles(n){const i=new Set;n.forEach(r=>{this._stylesSet.has(r)||(this._stylesSet.add(r),i.add(r))}),this.onStylesAdded(i)}onStylesAdded(n){}getAllStyles(){return Array.from(this._stylesSet)}}return e.\u0275fac=function(n){return new(n||e)},e.\u0275prov=H({token:e,factory:e.\u0275fac}),e})(),bo=(()=>{class e extends sv{constructor(n){super(),this._doc=n,this._hostNodes=new Map,this._hostNodes.set(n.head,[])}_addStylesToHost(n,i,r){n.forEach(o=>{const s=this._doc.createElement("style");s.textContent=o,r.push(i.appendChild(s))})}addHost(n){const i=[];this._addStylesToHost(this._stylesSet,n,i),this._hostNodes.set(n,i)}removeHost(n){const i=this._hostNodes.get(n);i&&i.forEach(av),this._hostNodes.delete(n)}onStylesAdded(n){this._hostNodes.forEach((i,r)=>{this._addStylesToHost(n,r,i)})}ngOnDestroy(){this._hostNodes.forEach(n=>n.forEach(av))}}return e.\u0275fac=function(n){return new(n||e)(x(st))},e.\u0275prov=H({token:e,factory:e.\u0275fac}),e})();function av(e){tn().remove(e)}const ld={svg:"http://www.w3.org/2000/svg",xhtml:"http://www.w3.org/1999/xhtml",xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/",math:"http://www.w3.org/1998/MathML/"},ud=/%COMP%/g;function ya(e,t,n){for(let i=0;i{if("__ngUnwrap__"===t)return e;!1===e(t)&&(t.preventDefault(),t.returnValue=!1)}}let cd=(()=>{class e{constructor(n,i,r){this.eventManager=n,this.sharedStylesHost=i,this.appId=r,this.rendererByCompId=new Map,this.defaultRenderer=new dd(n)}createRenderer(n,i){if(!n||!i)return this.defaultRenderer;switch(i.encapsulation){case Wt.Emulated:{let r=this.rendererByCompId.get(i.id);return r||(r=new sx(this.eventManager,this.sharedStylesHost,i,this.appId),this.rendererByCompId.set(i.id,r)),r.applyToHost(n),r}case 1:case Wt.ShadowDom:return new ax(this.eventManager,this.sharedStylesHost,n,i);default:if(!this.rendererByCompId.has(i.id)){const r=ya(i.id,i.styles,[]);this.sharedStylesHost.addStyles(r),this.rendererByCompId.set(i.id,this.defaultRenderer)}return this.defaultRenderer}}begin(){}end(){}}return e.\u0275fac=function(n){return new(n||e)(x(ma),x(bo),x(go))},e.\u0275prov=H({token:e,factory:e.\u0275fac}),e})();class dd{constructor(t){this.eventManager=t,this.data=Object.create(null),this.destroyNode=null}destroy(){}createElement(t,n){return n?document.createElementNS(ld[n]||n,t):document.createElement(t)}createComment(t){return document.createComment(t)}createText(t){return document.createTextNode(t)}appendChild(t,n){(hv(t)?t.content:t).appendChild(n)}insertBefore(t,n,i){t&&(hv(t)?t.content:t).insertBefore(n,i)}removeChild(t,n){t&&t.removeChild(n)}selectRootElement(t,n){let i="string"==typeof t?document.querySelector(t):t;if(!i)throw new Error(`The selector "${t}" did not match any elements`);return n||(i.textContent=""),i}parentNode(t){return t.parentNode}nextSibling(t){return t.nextSibling}setAttribute(t,n,i,r){if(r){n=r+":"+n;const o=ld[r];o?t.setAttributeNS(o,n,i):t.setAttribute(n,i)}else t.setAttribute(n,i)}removeAttribute(t,n,i){if(i){const r=ld[i];r?t.removeAttributeNS(r,n):t.removeAttribute(`${i}:${n}`)}else t.removeAttribute(n)}addClass(t,n){t.classList.add(n)}removeClass(t,n){t.classList.remove(n)}setStyle(t,n,i,r){r&(ot.DashCase|ot.Important)?t.style.setProperty(n,i,r&ot.Important?"important":""):t.style[n]=i}removeStyle(t,n,i){i&ot.DashCase?t.style.removeProperty(n):t.style[n]=""}setProperty(t,n,i){t[n]=i}setValue(t,n){t.nodeValue=n}listen(t,n,i){return"string"==typeof t?this.eventManager.addGlobalEventListener(t,n,cv(i)):this.eventManager.addEventListener(t,n,cv(i))}}function hv(e){return"TEMPLATE"===e.tagName&&void 0!==e.content}class sx extends dd{constructor(t,n,i,r){super(t),this.component=i;const o=ya(r+"-"+i.id,i.styles,[]);n.addStyles(o),this.contentAttr=function ix(e){return"_ngcontent-%COMP%".replace(ud,e)}(r+"-"+i.id),this.hostAttr=function rx(e){return"_nghost-%COMP%".replace(ud,e)}(r+"-"+i.id)}applyToHost(t){super.setAttribute(t,this.hostAttr,"")}createElement(t,n){const i=super.createElement(t,n);return super.setAttribute(i,this.contentAttr,""),i}}class ax extends dd{constructor(t,n,i,r){super(t),this.sharedStylesHost=n,this.hostEl=i,this.shadowRoot=i.attachShadow({mode:"open"}),this.sharedStylesHost.addHost(this.shadowRoot);const o=ya(r.id,r.styles,[]);for(let s=0;s{class e extends ov{constructor(n){super(n)}supports(n){return!0}addEventListener(n,i,r){return n.addEventListener(i,r,!1),()=>this.removeEventListener(n,i,r)}removeEventListener(n,i,r){return n.removeEventListener(i,r)}}return e.\u0275fac=function(n){return new(n||e)(x(st))},e.\u0275prov=H({token:e,factory:e.\u0275fac}),e})();const fv=["alt","control","meta","shift"],ux={"\b":"Backspace","\t":"Tab","\x7f":"Delete","\x1b":"Escape",Del:"Delete",Esc:"Escape",Left:"ArrowLeft",Right:"ArrowRight",Up:"ArrowUp",Down:"ArrowDown",Menu:"ContextMenu",Scroll:"ScrollLock",Win:"OS"},cx={alt:e=>e.altKey,control:e=>e.ctrlKey,meta:e=>e.metaKey,shift:e=>e.shiftKey};let dx=(()=>{class e extends ov{constructor(n){super(n)}supports(n){return null!=e.parseEventName(n)}addEventListener(n,i,r){const o=e.parseEventName(i),s=e.eventCallback(o.fullKey,r,this.manager.getZone());return this.manager.getZone().runOutsideAngular(()=>tn().onAndCancel(n,o.domEventName,s))}static parseEventName(n){const i=n.toLowerCase().split("."),r=i.shift();if(0===i.length||"keydown"!==r&&"keyup"!==r)return null;const o=e._normalizeKey(i.pop());let s="",a=i.indexOf("code");if(a>-1&&(i.splice(a,1),s="code."),fv.forEach(u=>{const c=i.indexOf(u);c>-1&&(i.splice(c,1),s+=u+".")}),s+=o,0!=i.length||0===o.length)return null;const l={};return l.domEventName=r,l.fullKey=s,l}static matchEventFullKeyCode(n,i){let r=ux[n.key]||n.key,o="";return i.indexOf("code.")>-1&&(r=n.code,o="code."),!(null==r||!r)&&(r=r.toLowerCase()," "===r?r="space":"."===r&&(r="dot"),fv.forEach(s=>{s!==r&&(0,cx[s])(n)&&(o+=s+".")}),o+=r,o===i)}static eventCallback(n,i,r){return o=>{e.matchEventFullKeyCode(o,n)&&r.runGuarded(()=>i(o))}}static _normalizeKey(n){return"esc"===n?"escape":n}}return e.\u0275fac=function(n){return new(n||e)(x(st))},e.\u0275prov=H({token:e,factory:e.\u0275fac}),e})();const gx=pw(XI,"browser",[{provide:rw,useValue:"browser"},{provide:iw,useValue:function hx(){ad.makeCurrent()},multi:!0},{provide:st,useFactory:function px(){return function QD(e){au=e}(document),document},deps:[]}]),mv=new R(""),yv=[{provide:Ks,useClass:class Xk{addToWindow(t){ue.getAngularTestability=(i,r=!0)=>{const o=t.findTestabilityInTree(i,r);if(null==o)throw new Error("Could not find testability for element.");return o},ue.getAllAngularTestabilities=()=>t.getAllTestabilities(),ue.getAllAngularRootElements=()=>t.getAllRootElements(),ue.frameworkStabilizers||(ue.frameworkStabilizers=[]),ue.frameworkStabilizers.push(i=>{const r=ue.getAllAngularTestabilities();let o=r.length,s=!1;const a=function(l){s=s||l,o--,0==o&&i(s)};r.forEach(function(l){l.whenStable(a)})})}findTestabilityInTree(t,n,i){return null==n?null:t.getTestability(n)??(i?tn().isShadowRoot(n)?this.findTestabilityInTree(t,n.host,!0):this.findTestabilityInTree(t,n.parentElement,!0):null)}},deps:[]},{provide:cw,useClass:Tc,deps:[Re,Pc,Ks]},{provide:Tc,useClass:Tc,deps:[Re,Pc,Ks]}],wv=[{provide:mu,useValue:"root"},{provide:Gi,useFactory:function fx(){return new Gi},deps:[]},{provide:ga,useClass:lx,multi:!0,deps:[st,Re,rw]},{provide:ga,useClass:dx,multi:!0,deps:[st]},{provide:cd,useClass:cd,deps:[ma,bo,go]},{provide:Wp,useExisting:cd},{provide:sv,useExisting:bo},{provide:bo,useClass:bo,deps:[st]},{provide:ma,useClass:ma,deps:[ga,Re]},{provide:class xk{},useClass:ex,deps:[]},[]];let mx=(()=>{class e{constructor(n){}static withServerTransition(n){return{ngModule:e,providers:[{provide:go,useValue:n.appId},{provide:rv,useExisting:go},Yk]}}}return e.\u0275fac=function(n){return new(n||e)(x(mv,12))},e.\u0275mod=Jt({type:e}),e.\u0275inj=xt({providers:[...wv,...yv],imports:[Dk,e2]}),e})(),vv=(()=>{class e{constructor(n){this._doc=n}getTitle(){return this._doc.title}setTitle(n){this._doc.title=n||""}}return e.\u0275fac=function(n){return new(n||e)(x(st))},e.\u0275prov=H({token:e,factory:function(n){let i=null;return i=n?new n:function wx(){return new vv(x(st))}(),i},providedIn:"root"}),e})();typeof window<"u"&&window;const{isArray:Ex}=Array,{getPrototypeOf:Sx,prototype:Ix,keys:kx}=Object;function _v(e){if(1===e.length){const t=e[0];if(Ex(t))return{args:t,keys:null};if(function xx(e){return e&&"object"==typeof e&&Sx(e)===Ix}(t)){const n=kx(t);return{args:n.map(i=>t[i]),keys:n}}}return{args:e,keys:null}}const{isArray:Tx}=Array;function Dv(e){return K(t=>function Px(e,t){return Tx(t)?e(...t):e(t)}(e,t))}function Cv(e,t){return e.reduce((n,i,r)=>(n[i]=t[r],n),{})}let Mv=(()=>{class e{constructor(n,i){this._renderer=n,this._elementRef=i,this.onChange=r=>{},this.onTouched=()=>{}}setProperty(n,i){this._renderer.setProperty(this._elementRef.nativeElement,n,i)}registerOnTouched(n){this.onTouched=n}registerOnChange(n){this.onChange=n}setDisabledState(n){this.setProperty("disabled",n)}}return e.\u0275fac=function(n){return new(n||e)(v(pn),v(mt))},e.\u0275dir=O({type:e}),e})(),pi=(()=>{class e extends Mv{}return e.\u0275fac=function(){let t;return function(i){return(t||(t=$e(e)))(i||e)}}(),e.\u0275dir=O({type:e,features:[ie]}),e})();const nn=new R("NgValueAccessor"),Nx={provide:nn,useExisting:le(()=>wa),multi:!0};let wa=(()=>{class e extends pi{writeValue(n){this.setProperty("checked",n)}}return e.\u0275fac=function(){let t;return function(i){return(t||(t=$e(e)))(i||e)}}(),e.\u0275dir=O({type:e,selectors:[["input","type","checkbox","formControlName",""],["input","type","checkbox","formControl",""],["input","type","checkbox","ngModel",""]],hostBindings:function(n,i){1&n&&Q("change",function(o){return i.onChange(o.target.checked)})("blur",function(){return i.onTouched()})},features:[fe([Nx]),ie]}),e})();const Fx={provide:nn,useExisting:le(()=>pd),multi:!0},Ox=new R("CompositionEventMode");let pd=(()=>{class e extends Mv{constructor(n,i,r){super(n,i),this._compositionMode=r,this._composing=!1,null==this._compositionMode&&(this._compositionMode=!function Lx(){const e=tn()?tn().getUserAgent():"";return/android (\d+)/.test(e.toLowerCase())}())}writeValue(n){this.setProperty("value",n??"")}_handleInput(n){(!this._compositionMode||this._compositionMode&&!this._composing)&&this.onChange(n)}_compositionStart(){this._composing=!0}_compositionEnd(n){this._composing=!1,this._compositionMode&&this.onChange(n)}}return e.\u0275fac=function(n){return new(n||e)(v(pn),v(mt),v(Ox,8))},e.\u0275dir=O({type:e,selectors:[["input","formControlName","",3,"type","checkbox"],["textarea","formControlName",""],["input","formControl","",3,"type","checkbox"],["textarea","formControl",""],["input","ngModel","",3,"type","checkbox"],["textarea","ngModel",""],["","ngDefaultControl",""]],hostBindings:function(n,i){1&n&&Q("input",function(o){return i._handleInput(o.target.value)})("blur",function(){return i.onTouched()})("compositionstart",function(){return i._compositionStart()})("compositionend",function(o){return i._compositionEnd(o.target.value)})},features:[fe([Fx]),ie]}),e})();const Je=new R("NgValidators"),Vn=new R("NgAsyncValidators");function Fv(e){return null!=e}function Lv(e){return no(e)?Ce(e):e}function Ov(e){let t={};return e.forEach(n=>{t=null!=n?{...t,...n}:t}),0===Object.keys(t).length?null:t}function Vv(e,t){return t.map(n=>n(e))}function jv(e){return e.map(t=>function Ux(e){return!e.validate}(t)?t:n=>t.validate(n))}function gd(e){return null!=e?function Uv(e){if(!e)return null;const t=e.filter(Fv);return 0==t.length?null:function(n){return Ov(Vv(n,t))}}(jv(e)):null}function md(e){return null!=e?function Bv(e){if(!e)return null;const t=e.filter(Fv);return 0==t.length?null:function(n){return function Rx(...e){const t=Gh(e),{args:n,keys:i}=_v(e),r=new De(o=>{const{length:s}=n;if(!s)return void o.complete();const a=new Array(s);let l=s,u=s;for(let c=0;c{d||(d=!0,u--),a[c]=h},()=>l--,void 0,()=>{(!l||!d)&&(u||o.next(i?Cv(i,a):a),o.complete())}))}});return t?r.pipe(Dv(t)):r}(Vv(n,t).map(Lv)).pipe(K(Ov))}}(jv(e)):null}function Hv(e,t){return null===e?[t]:Array.isArray(e)?[...e,t]:[e,t]}function yd(e){return e?Array.isArray(e)?e:[e]:[]}function Aa(e,t){return Array.isArray(e)?e.includes(t):e===t}function zv(e,t){const n=yd(t);return yd(e).forEach(r=>{Aa(n,r)||n.push(r)}),n}function Wv(e,t){return yd(t).filter(n=>!Aa(e,n))}class Jv{constructor(){this._rawValidators=[],this._rawAsyncValidators=[],this._onDestroyCallbacks=[]}get value(){return this.control?this.control.value:null}get valid(){return this.control?this.control.valid:null}get invalid(){return this.control?this.control.invalid:null}get pending(){return this.control?this.control.pending:null}get disabled(){return this.control?this.control.disabled:null}get enabled(){return this.control?this.control.enabled:null}get errors(){return this.control?this.control.errors:null}get pristine(){return this.control?this.control.pristine:null}get dirty(){return this.control?this.control.dirty:null}get touched(){return this.control?this.control.touched:null}get status(){return this.control?this.control.status:null}get untouched(){return this.control?this.control.untouched:null}get statusChanges(){return this.control?this.control.statusChanges:null}get valueChanges(){return this.control?this.control.valueChanges:null}get path(){return null}_setValidators(t){this._rawValidators=t||[],this._composedValidatorFn=gd(this._rawValidators)}_setAsyncValidators(t){this._rawAsyncValidators=t||[],this._composedAsyncValidatorFn=md(this._rawAsyncValidators)}get validator(){return this._composedValidatorFn||null}get asyncValidator(){return this._composedAsyncValidatorFn||null}_registerOnDestroy(t){this._onDestroyCallbacks.push(t)}_invokeOnDestroyCallbacks(){this._onDestroyCallbacks.forEach(t=>t()),this._onDestroyCallbacks=[]}reset(t){this.control&&this.control.reset(t)}hasError(t,n){return!!this.control&&this.control.hasError(t,n)}getError(t,n){return this.control?this.control.getError(t,n):null}}class nt extends Jv{get formDirective(){return null}get path(){return null}}class jn extends Jv{constructor(){super(...arguments),this._parent=null,this.name=null,this.valueAccessor=null}}let wd=(()=>{class e extends class qv{constructor(t){this._cd=t}get isTouched(){return!!this._cd?.control?.touched}get isUntouched(){return!!this._cd?.control?.untouched}get isPristine(){return!!this._cd?.control?.pristine}get isDirty(){return!!this._cd?.control?.dirty}get isValid(){return!!this._cd?.control?.valid}get isInvalid(){return!!this._cd?.control?.invalid}get isPending(){return!!this._cd?.control?.pending}get isSubmitted(){return!!this._cd?.submitted}}{constructor(n){super(n)}}return e.\u0275fac=function(n){return new(n||e)(v(jn,2))},e.\u0275dir=O({type:e,selectors:[["","formControlName",""],["","ngModel",""],["","formControl",""]],hostVars:14,hostBindings:function(n,i){2&n&&Os("ng-untouched",i.isUntouched)("ng-touched",i.isTouched)("ng-pristine",i.isPristine)("ng-dirty",i.isDirty)("ng-valid",i.isValid)("ng-invalid",i.isInvalid)("ng-pending",i.isPending)},features:[ie]}),e})();const _o="VALID",_a="INVALID",cr="PENDING",Do="DISABLED";function Kv(e){return Array.isArray(e)?gd(e):e||null}function Zv(e){return Array.isArray(e)?md(e):e||null}function Da(e){return null!=e&&!Array.isArray(e)&&"object"==typeof e}function Co(e,t){(function Md(e,t){const n=function $v(e){return e._rawValidators}(e);null!==t.validator?e.setValidators(Hv(n,t.validator)):"function"==typeof n&&e.setValidators([n]);const i=function Gv(e){return e._rawAsyncValidators}(e);null!==t.asyncValidator?e.setAsyncValidators(Hv(i,t.asyncValidator)):"function"==typeof i&&e.setAsyncValidators([i]);const r=()=>e.updateValueAndValidity();Ea(t._rawValidators,r),Ea(t._rawAsyncValidators,r)})(e,t),t.valueAccessor.writeValue(e.value),e.disabled&&t.valueAccessor.setDisabledState?.(!0),function Kx(e,t){t.valueAccessor.registerOnChange(n=>{e._pendingValue=n,e._pendingChange=!0,e._pendingDirty=!0,"change"===e.updateOn&&tA(e,t)})}(e,t),function Yx(e,t){const n=(i,r)=>{t.valueAccessor.writeValue(i),r&&t.viewToModelUpdate(i)};e.registerOnChange(n),t._registerOnDestroy(()=>{e._unregisterOnChange(n)})}(e,t),function Zx(e,t){t.valueAccessor.registerOnTouched(()=>{e._pendingTouched=!0,"blur"===e.updateOn&&e._pendingChange&&tA(e,t),"submit"!==e.updateOn&&e.markAsTouched()})}(e,t),function Qx(e,t){if(t.valueAccessor.setDisabledState){const n=i=>{t.valueAccessor.setDisabledState(i)};e.registerOnDisabledChange(n),t._registerOnDestroy(()=>{e._unregisterOnDisabledChange(n)})}}(e,t)}function Ea(e,t){e.forEach(n=>{n.registerOnValidatorChange&&n.registerOnValidatorChange(t)})}function tA(e,t){e._pendingDirty&&e.markAsDirty(),e.setValue(e._pendingValue,{emitModelToViewChange:!1}),t.viewToModelUpdate(e._pendingValue),e._pendingChange=!1}function oA(e,t){const n=e.indexOf(t);n>-1&&e.splice(n,1)}function sA(e){return"object"==typeof e&&null!==e&&2===Object.keys(e).length&&"value"in e&&"disabled"in e}const sT={provide:jn,useExisting:le(()=>Ia)},cA=(()=>Promise.resolve())();let Ia=(()=>{class e extends jn{constructor(n,i,r,o,s){super(),this._changeDetectorRef=s,this.control=new class extends class eA{constructor(t,n){this._pendingDirty=!1,this._hasOwnPendingAsyncValidator=!1,this._pendingTouched=!1,this._onCollectionChange=()=>{},this._parent=null,this.pristine=!0,this.touched=!1,this._onDisabledChange=[],this._rawValidators=t,this._rawAsyncValidators=n,this._composedValidatorFn=Kv(this._rawValidators),this._composedAsyncValidatorFn=Zv(this._rawAsyncValidators)}get validator(){return this._composedValidatorFn}set validator(t){this._rawValidators=this._composedValidatorFn=t}get asyncValidator(){return this._composedAsyncValidatorFn}set asyncValidator(t){this._rawAsyncValidators=this._composedAsyncValidatorFn=t}get parent(){return this._parent}get valid(){return this.status===_o}get invalid(){return this.status===_a}get pending(){return this.status==cr}get disabled(){return this.status===Do}get enabled(){return this.status!==Do}get dirty(){return!this.pristine}get untouched(){return!this.touched}get updateOn(){return this._updateOn?this._updateOn:this.parent?this.parent.updateOn:"change"}setValidators(t){this._rawValidators=t,this._composedValidatorFn=Kv(t)}setAsyncValidators(t){this._rawAsyncValidators=t,this._composedAsyncValidatorFn=Zv(t)}addValidators(t){this.setValidators(zv(t,this._rawValidators))}addAsyncValidators(t){this.setAsyncValidators(zv(t,this._rawAsyncValidators))}removeValidators(t){this.setValidators(Wv(t,this._rawValidators))}removeAsyncValidators(t){this.setAsyncValidators(Wv(t,this._rawAsyncValidators))}hasValidator(t){return Aa(this._rawValidators,t)}hasAsyncValidator(t){return Aa(this._rawAsyncValidators,t)}clearValidators(){this.validator=null}clearAsyncValidators(){this.asyncValidator=null}markAsTouched(t={}){this.touched=!0,this._parent&&!t.onlySelf&&this._parent.markAsTouched(t)}markAllAsTouched(){this.markAsTouched({onlySelf:!0}),this._forEachChild(t=>t.markAllAsTouched())}markAsUntouched(t={}){this.touched=!1,this._pendingTouched=!1,this._forEachChild(n=>{n.markAsUntouched({onlySelf:!0})}),this._parent&&!t.onlySelf&&this._parent._updateTouched(t)}markAsDirty(t={}){this.pristine=!1,this._parent&&!t.onlySelf&&this._parent.markAsDirty(t)}markAsPristine(t={}){this.pristine=!0,this._pendingDirty=!1,this._forEachChild(n=>{n.markAsPristine({onlySelf:!0})}),this._parent&&!t.onlySelf&&this._parent._updatePristine(t)}markAsPending(t={}){this.status=cr,!1!==t.emitEvent&&this.statusChanges.emit(this.status),this._parent&&!t.onlySelf&&this._parent.markAsPending(t)}disable(t={}){const n=this._parentMarkedDirty(t.onlySelf);this.status=Do,this.errors=null,this._forEachChild(i=>{i.disable({...t,onlySelf:!0})}),this._updateValue(),!1!==t.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._updateAncestors({...t,skipPristineCheck:n}),this._onDisabledChange.forEach(i=>i(!0))}enable(t={}){const n=this._parentMarkedDirty(t.onlySelf);this.status=_o,this._forEachChild(i=>{i.enable({...t,onlySelf:!0})}),this.updateValueAndValidity({onlySelf:!0,emitEvent:t.emitEvent}),this._updateAncestors({...t,skipPristineCheck:n}),this._onDisabledChange.forEach(i=>i(!1))}_updateAncestors(t){this._parent&&!t.onlySelf&&(this._parent.updateValueAndValidity(t),t.skipPristineCheck||this._parent._updatePristine(),this._parent._updateTouched())}setParent(t){this._parent=t}getRawValue(){return this.value}updateValueAndValidity(t={}){this._setInitialStatus(),this._updateValue(),this.enabled&&(this._cancelExistingSubscription(),this.errors=this._runValidator(),this.status=this._calculateStatus(),(this.status===_o||this.status===cr)&&this._runAsyncValidator(t.emitEvent)),!1!==t.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._parent&&!t.onlySelf&&this._parent.updateValueAndValidity(t)}_updateTreeValidity(t={emitEvent:!0}){this._forEachChild(n=>n._updateTreeValidity(t)),this.updateValueAndValidity({onlySelf:!0,emitEvent:t.emitEvent})}_setInitialStatus(){this.status=this._allControlsDisabled()?Do:_o}_runValidator(){return this.validator?this.validator(this):null}_runAsyncValidator(t){if(this.asyncValidator){this.status=cr,this._hasOwnPendingAsyncValidator=!0;const n=Lv(this.asyncValidator(this));this._asyncValidationSubscription=n.subscribe(i=>{this._hasOwnPendingAsyncValidator=!1,this.setErrors(i,{emitEvent:t})})}}_cancelExistingSubscription(){this._asyncValidationSubscription&&(this._asyncValidationSubscription.unsubscribe(),this._hasOwnPendingAsyncValidator=!1)}setErrors(t,n={}){this.errors=t,this._updateControlsErrors(!1!==n.emitEvent)}get(t){let n=t;return null==n||(Array.isArray(n)||(n=n.split(".")),0===n.length)?null:n.reduce((i,r)=>i&&i._find(r),this)}getError(t,n){const i=n?this.get(n):this;return i&&i.errors?i.errors[t]:null}hasError(t,n){return!!this.getError(t,n)}get root(){let t=this;for(;t._parent;)t=t._parent;return t}_updateControlsErrors(t){this.status=this._calculateStatus(),t&&this.statusChanges.emit(this.status),this._parent&&this._parent._updateControlsErrors(t)}_initObservables(){this.valueChanges=new Ae,this.statusChanges=new Ae}_calculateStatus(){return this._allControlsDisabled()?Do:this.errors?_a:this._hasOwnPendingAsyncValidator||this._anyControlsHaveStatus(cr)?cr:this._anyControlsHaveStatus(_a)?_a:_o}_anyControlsHaveStatus(t){return this._anyControls(n=>n.status===t)}_anyControlsDirty(){return this._anyControls(t=>t.dirty)}_anyControlsTouched(){return this._anyControls(t=>t.touched)}_updatePristine(t={}){this.pristine=!this._anyControlsDirty(),this._parent&&!t.onlySelf&&this._parent._updatePristine(t)}_updateTouched(t={}){this.touched=this._anyControlsTouched(),this._parent&&!t.onlySelf&&this._parent._updateTouched(t)}_registerOnCollectionChange(t){this._onCollectionChange=t}_setUpdateStrategy(t){Da(t)&&null!=t.updateOn&&(this._updateOn=t.updateOn)}_parentMarkedDirty(t){return!t&&!(!this._parent||!this._parent.dirty)&&!this._parent._anyControlsDirty()}_find(t){return null}}{constructor(t=null,n,i){super(function _d(e){return(Da(e)?e.validators:e)||null}(n),function Dd(e,t){return(Da(t)?t.asyncValidators:e)||null}(i,n)),this.defaultValue=null,this._onChange=[],this._pendingChange=!1,this._applyFormState(t),this._setUpdateStrategy(n),this._initObservables(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator}),Da(n)&&(n.nonNullable||n.initialValueIsDefault)&&(this.defaultValue=sA(t)?t.value:t)}setValue(t,n={}){this.value=this._pendingValue=t,this._onChange.length&&!1!==n.emitModelToViewChange&&this._onChange.forEach(i=>i(this.value,!1!==n.emitViewToModelChange)),this.updateValueAndValidity(n)}patchValue(t,n={}){this.setValue(t,n)}reset(t=this.defaultValue,n={}){this._applyFormState(t),this.markAsPristine(n),this.markAsUntouched(n),this.setValue(this.value,n),this._pendingChange=!1}_updateValue(){}_anyControls(t){return!1}_allControlsDisabled(){return this.disabled}registerOnChange(t){this._onChange.push(t)}_unregisterOnChange(t){oA(this._onChange,t)}registerOnDisabledChange(t){this._onDisabledChange.push(t)}_unregisterOnDisabledChange(t){oA(this._onDisabledChange,t)}_forEachChild(t){}_syncPendingControls(){return!("submit"!==this.updateOn||(this._pendingDirty&&this.markAsDirty(),this._pendingTouched&&this.markAsTouched(),!this._pendingChange)||(this.setValue(this._pendingValue,{onlySelf:!0,emitModelToViewChange:!1}),0))}_applyFormState(t){sA(t)?(this.value=this._pendingValue=t.value,t.disabled?this.disable({onlySelf:!0,emitEvent:!1}):this.enable({onlySelf:!0,emitEvent:!1})):this.value=this._pendingValue=t}},this._registered=!1,this.update=new Ae,this._parent=n,this._setValidators(i),this._setAsyncValidators(r),this.valueAccessor=function Sd(e,t){if(!t)return null;let n,i,r;return Array.isArray(t),t.forEach(o=>{o.constructor===pd?n=o:function tT(e){return Object.getPrototypeOf(e.constructor)===pi}(o)?i=o:r=o}),r||i||n||null}(0,o)}ngOnChanges(n){if(this._checkForErrors(),!this._registered||"name"in n){if(this._registered&&(this._checkName(),this.formDirective)){const i=n.name.previousValue;this.formDirective.removeControl({name:i,path:this._getPath(i)})}this._setUpControl()}"isDisabled"in n&&this._updateDisabled(n),function Ed(e,t){if(!e.hasOwnProperty("model"))return!1;const n=e.model;return!!n.isFirstChange()||!Object.is(t,n.currentValue)}(n,this.viewModel)&&(this._updateValue(this.model),this.viewModel=this.model)}ngOnDestroy(){this.formDirective&&this.formDirective.removeControl(this)}get path(){return this._getPath(this.name)}get formDirective(){return this._parent?this._parent.formDirective:null}viewToModelUpdate(n){this.viewModel=n,this.update.emit(n)}_setUpControl(){this._setUpdateStrategy(),this._isStandalone()?this._setUpStandalone():this.formDirective.addControl(this),this._registered=!0}_setUpdateStrategy(){this.options&&null!=this.options.updateOn&&(this.control._updateOn=this.options.updateOn)}_isStandalone(){return!this._parent||!(!this.options||!this.options.standalone)}_setUpStandalone(){Co(this.control,this),this.control.updateValueAndValidity({emitEvent:!1})}_checkForErrors(){this._isStandalone()||this._checkParentType(),this._checkName()}_checkParentType(){}_checkName(){this.options&&this.options.name&&(this.name=this.options.name),this._isStandalone()}_updateValue(n){cA.then(()=>{this.control.setValue(n,{emitViewToModelChange:!1}),this._changeDetectorRef?.markForCheck()})}_updateDisabled(n){const i=n.isDisabled.currentValue,r=0!==i&&function _n(e){return"boolean"==typeof e?e:null!=e&&"false"!==e}(i);cA.then(()=>{r&&!this.control.disabled?this.control.disable():!r&&this.control.disabled&&this.control.enable(),this._changeDetectorRef?.markForCheck()})}_getPath(n){return this._parent?function Ca(e,t){return[...t.path,e]}(n,this._parent):[n]}}return e.\u0275fac=function(n){return new(n||e)(v(nt,9),v(Je,10),v(Vn,10),v(nn,10),v(Xs,8))},e.\u0275dir=O({type:e,selectors:[["","ngModel","",3,"formControlName","",3,"formControl",""]],inputs:{name:"name",isDisabled:["disabled","isDisabled"],model:["ngModel","model"],options:["ngModelOptions","options"]},outputs:{update:"ngModelChange"},exportAs:["ngModel"],features:[fe([sT]),ie,_t]}),e})(),hA=(()=>{class e{}return e.\u0275fac=function(n){return new(n||e)},e.\u0275mod=Jt({type:e}),e.\u0275inj=xt({}),e})(),TT=(()=>{class e{}return e.\u0275fac=function(n){return new(n||e)},e.\u0275mod=Jt({type:e}),e.\u0275inj=xt({imports:[hA]}),e})(),PT=(()=>{class e{}return e.\u0275fac=function(n){return new(n||e)},e.\u0275mod=Jt({type:e}),e.\u0275inj=xt({imports:[TT]}),e})();function k(...e){return Ce(e,br(e))}class Gt extends zt{constructor(t){super(),this._value=t}get value(){return this.getValue()}_subscribe(t){const n=super._subscribe(t);return!n.closed&&t.next(this._value),n}getValue(){const{hasError:t,thrownError:n,_value:i}=this;if(t)throw n;return this._throwIfClosed(),i}next(t){super.next(this._value=t)}}const ka=wr(e=>function(){e(this),this.name="EmptyError",this.message="no elements in sequence"});function xA(...e){const t=br(e),n=Gh(e),{args:i,keys:r}=_v(e);if(0===i.length)return Ce([],t);const o=new De(function NT(e,t,n=Qn){return i=>{TA(t,()=>{const{length:r}=e,o=new Array(r);let s=r,a=r;for(let l=0;l{const u=Ce(e[l],t);let c=!1;u.subscribe(ke(i,d=>{o[l]=d,c||(c=!0,a--),a||i.next(n(o.slice()))},()=>{--s||i.complete()}))},i)},i)}}(i,t,r?s=>Cv(r,s):Qn));return n?o.pipe(Dv(n)):o}function TA(e,t,n){e?sn(n,e,t):t()}function Fd(...e){return function FT(){return _i(1)}()(Ce(e,br(e)))}function PA(e){return new De(t=>{kt(e()).subscribe(t)})}function Eo(e,t){const n=ae(e)?e:()=>e,i=r=>r.error(n());return new De(t?r=>t.schedule(i,0,r):i)}function Ld(){return Fe((e,t)=>{let n=null;e._refCount++;const i=ke(t,void 0,void 0,void 0,()=>{if(!e||e._refCount<=0||0<--e._refCount)return void(n=null);const r=e._connection,o=n;n=null,r&&(!o||r===o)&&r.unsubscribe(),t.unsubscribe()});e.subscribe(i),i.closed||(n=e.connect())})}class RA extends De{constructor(t,n){super(),this.source=t,this.subjectFactory=n,this._subject=null,this._refCount=0,this._connection=null,xh(t)&&(this.lift=t.lift)}_subscribe(t){return this.getSubject().subscribe(t)}getSubject(){const t=this._subject;return(!t||t.isStopped)&&(this._subject=this.subjectFactory()),this._subject}_teardown(){this._refCount=0;const{_connection:t}=this;this._subject=this._connection=null,t?.unsubscribe()}connect(){let t=this._connection;if(!t){t=this._connection=new vt;const n=this.getSubject();t.add(this.source.subscribe(ke(n,void 0,()=>{this._teardown(),n.complete()},i=>{this._teardown(),n.error(i)},()=>this._teardown()))),t.closed&&(this._connection=null,t=vt.EMPTY)}return t}refCount(){return Ld()(this)}}function rn(e,t){return Fe((n,i)=>{let r=null,o=0,s=!1;const a=()=>s&&!r&&i.complete();n.subscribe(ke(i,l=>{r?.unsubscribe();let u=0;const c=o++;kt(e(l,c)).subscribe(r=ke(i,d=>i.next(t?t(l,d,c,u++):d),()=>{r=null,a()}))},()=>{s=!0,a()}))})}function So(e){return e<=0?()=>an:Fe((t,n)=>{let i=0;t.subscribe(ke(n,r=>{++i<=e&&(n.next(r),e<=i&&n.complete())}))})}function Un(e,t){return Fe((n,i)=>{let r=0;n.subscribe(ke(i,o=>e.call(t,o,r++)&&i.next(o)))})}function xa(e){return Fe((t,n)=>{let i=!1;t.subscribe(ke(n,r=>{i=!0,n.next(r)},()=>{i||n.next(e),n.complete()}))})}function NA(e=OT){return Fe((t,n)=>{let i=!1;t.subscribe(ke(n,r=>{i=!0,n.next(r)},()=>i?n.complete():n.error(e())))})}function OT(){return new ka}function Bn(e,t){const n=arguments.length>=2;return i=>i.pipe(e?Un((r,o)=>e(r,o,i)):Qn,So(1),n?xa(t):NA(()=>new ka))}function mi(e,t){return ae(t)?Ve(e,t,1):Ve(e,1)}function qe(e,t,n){const i=ae(e)||t||n?{next:e,error:t,complete:n}:e;return i?Fe((r,o)=>{var s;null===(s=i.subscribe)||void 0===s||s.call(i);let a=!0;r.subscribe(ke(o,l=>{var u;null===(u=i.next)||void 0===u||u.call(i,l),o.next(l)},()=>{var l;a=!1,null===(l=i.complete)||void 0===l||l.call(i),o.complete()},l=>{var u;a=!1,null===(u=i.error)||void 0===u||u.call(i,l),o.error(l)},()=>{var l,u;a&&(null===(l=i.unsubscribe)||void 0===l||l.call(i)),null===(u=i.finalize)||void 0===u||u.call(i)}))}):Qn}function Hn(e){return Fe((t,n)=>{let o,i=null,r=!1;i=t.subscribe(ke(n,void 0,void 0,s=>{o=kt(e(s,Hn(e)(t))),i?(i.unsubscribe(),i=null,o.subscribe(n)):r=!0})),r&&(i.unsubscribe(),i=null,o.subscribe(n))})}function VT(e,t,n,i,r){return(o,s)=>{let a=n,l=t,u=0;o.subscribe(ke(s,c=>{const d=u++;l=a?e(l,c,d):(a=!0,c),i&&s.next(l)},r&&(()=>{a&&s.next(l),s.complete()})))}}function FA(e,t){return Fe(VT(e,t,arguments.length>=2,!0))}function Od(e){return e<=0?()=>an:Fe((t,n)=>{let i=[];t.subscribe(ke(n,r=>{i.push(r),e{for(const r of i)n.next(r);n.complete()},void 0,()=>{i=null}))})}function LA(e,t){const n=arguments.length>=2;return i=>i.pipe(e?Un((r,o)=>e(r,o,i)):Qn,Od(1),n?xa(t):NA(()=>new ka))}function Vd(e){return Fe((t,n)=>{try{t.subscribe(n)}finally{n.add(e)}})}const W="primary",Io=Symbol("RouteTitle");class BT{constructor(t){this.params=t||{}}has(t){return Object.prototype.hasOwnProperty.call(this.params,t)}get(t){if(this.has(t)){const n=this.params[t];return Array.isArray(n)?n[0]:n}return null}getAll(t){if(this.has(t)){const n=this.params[t];return Array.isArray(n)?n:[n]}return[]}get keys(){return Object.keys(this.params)}}function dr(e){return new BT(e)}function HT(e,t,n){const i=n.path.split("/");if(i.length>e.length||"full"===n.pathMatch&&(t.hasChildren()||i.lengthi[o]===r)}return e===t}function VA(e){return Array.prototype.concat.apply([],e)}function jA(e){return e.length>0?e[e.length-1]:null}function Ue(e,t){for(const n in e)e.hasOwnProperty(n)&&t(e[n],n)}function $n(e){return tc(e)?e:no(e)?Ce(Promise.resolve(e)):k(e)}const zT={exact:function HA(e,t,n){if(!wi(e.segments,t.segments)||!Ta(e.segments,t.segments,n)||e.numberOfChildren!==t.numberOfChildren)return!1;for(const i in t.children)if(!e.children[i]||!HA(e.children[i],t.children[i],n))return!1;return!0},subset:$A},UA={exact:function WT(e,t){return on(e,t)},subset:function JT(e,t){return Object.keys(t).length<=Object.keys(e).length&&Object.keys(t).every(n=>OA(e[n],t[n]))},ignored:()=>!0};function BA(e,t,n){return zT[n.paths](e.root,t.root,n.matrixParams)&&UA[n.queryParams](e.queryParams,t.queryParams)&&!("exact"===n.fragment&&e.fragment!==t.fragment)}function $A(e,t,n){return GA(e,t,t.segments,n)}function GA(e,t,n,i){if(e.segments.length>n.length){const r=e.segments.slice(0,n.length);return!(!wi(r,n)||t.hasChildren()||!Ta(r,n,i))}if(e.segments.length===n.length){if(!wi(e.segments,n)||!Ta(e.segments,n,i))return!1;for(const r in t.children)if(!e.children[r]||!$A(e.children[r],t.children[r],i))return!1;return!0}{const r=n.slice(0,e.segments.length),o=n.slice(e.segments.length);return!!(wi(e.segments,r)&&Ta(e.segments,r,i)&&e.children[W])&&GA(e.children[W],t,o,i)}}function Ta(e,t,n){return t.every((i,r)=>UA[n](e[r].parameters,i.parameters))}class yi{constructor(t,n,i){this.root=t,this.queryParams=n,this.fragment=i}get queryParamMap(){return this._queryParamMap||(this._queryParamMap=dr(this.queryParams)),this._queryParamMap}toString(){return KT.serialize(this)}}class J{constructor(t,n){this.segments=t,this.children=n,this.parent=null,Ue(n,(i,r)=>i.parent=this)}hasChildren(){return this.numberOfChildren>0}get numberOfChildren(){return Object.keys(this.children).length}toString(){return Pa(this)}}class ko{constructor(t,n){this.path=t,this.parameters=n}get parameterMap(){return this._parameterMap||(this._parameterMap=dr(this.parameters)),this._parameterMap}toString(){return qA(this)}}function wi(e,t){return e.length===t.length&&e.every((n,i)=>n.path===t[i].path)}let zA=(()=>{class e{}return e.\u0275fac=function(n){return new(n||e)},e.\u0275prov=H({token:e,factory:function(){return new Ud},providedIn:"root"}),e})();class Ud{parse(t){const n=new oP(t);return new yi(n.parseRootSegment(),n.parseQueryParams(),n.parseFragment())}serialize(t){const n=`/${xo(t.root,!0)}`,i=function XT(e){const t=Object.keys(e).map(n=>{const i=e[n];return Array.isArray(i)?i.map(r=>`${Ra(n)}=${Ra(r)}`).join("&"):`${Ra(n)}=${Ra(i)}`}).filter(n=>!!n);return t.length?`?${t.join("&")}`:""}(t.queryParams);return`${n}${i}${"string"==typeof t.fragment?`#${function ZT(e){return encodeURI(e)}(t.fragment)}`:""}`}}const KT=new Ud;function Pa(e){return e.segments.map(t=>qA(t)).join("/")}function xo(e,t){if(!e.hasChildren())return Pa(e);if(t){const n=e.children[W]?xo(e.children[W],!1):"",i=[];return Ue(e.children,(r,o)=>{o!==W&&i.push(`${o}:${xo(r,!1)}`)}),i.length>0?`${n}(${i.join("//")})`:n}{const n=function QT(e,t){let n=[];return Ue(e.children,(i,r)=>{r===W&&(n=n.concat(t(i,r)))}),Ue(e.children,(i,r)=>{r!==W&&(n=n.concat(t(i,r)))}),n}(e,(i,r)=>r===W?[xo(e.children[W],!1)]:[`${r}:${xo(i,!1)}`]);return 1===Object.keys(e.children).length&&null!=e.children[W]?`${Pa(e)}/${n[0]}`:`${Pa(e)}/(${n.join("//")})`}}function WA(e){return encodeURIComponent(e).replace(/%40/g,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",")}function Ra(e){return WA(e).replace(/%3B/gi,";")}function Bd(e){return WA(e).replace(/\(/g,"%28").replace(/\)/g,"%29").replace(/%26/gi,"&")}function Na(e){return decodeURIComponent(e)}function JA(e){return Na(e.replace(/\+/g,"%20"))}function qA(e){return`${Bd(e.path)}${function YT(e){return Object.keys(e).map(t=>`;${Bd(t)}=${Bd(e[t])}`).join("")}(e.parameters)}`}const eP=/^[^\/()?;=#]+/;function Fa(e){const t=e.match(eP);return t?t[0]:""}const tP=/^[^=?&#]+/,iP=/^[^&#]+/;class oP{constructor(t){this.url=t,this.remaining=t}parseRootSegment(){return this.consumeOptional("/"),""===this.remaining||this.peekStartsWith("?")||this.peekStartsWith("#")?new J([],{}):new J([],this.parseChildren())}parseQueryParams(){const t={};if(this.consumeOptional("?"))do{this.parseQueryParam(t)}while(this.consumeOptional("&"));return t}parseFragment(){return this.consumeOptional("#")?decodeURIComponent(this.remaining):null}parseChildren(){if(""===this.remaining)return{};this.consumeOptional("/");const t=[];for(this.peekStartsWith("(")||t.push(this.parseSegment());this.peekStartsWith("/")&&!this.peekStartsWith("//")&&!this.peekStartsWith("/(");)this.capture("/"),t.push(this.parseSegment());let n={};this.peekStartsWith("/(")&&(this.capture("/"),n=this.parseParens(!0));let i={};return this.peekStartsWith("(")&&(i=this.parseParens(!1)),(t.length>0||Object.keys(n).length>0)&&(i[W]=new J(t,n)),i}parseSegment(){const t=Fa(this.remaining);if(""===t&&this.peekStartsWith(";"))throw new D(4009,!1);return this.capture(t),new ko(Na(t),this.parseMatrixParams())}parseMatrixParams(){const t={};for(;this.consumeOptional(";");)this.parseParam(t);return t}parseParam(t){const n=Fa(this.remaining);if(!n)return;this.capture(n);let i="";if(this.consumeOptional("=")){const r=Fa(this.remaining);r&&(i=r,this.capture(i))}t[Na(n)]=Na(i)}parseQueryParam(t){const n=function nP(e){const t=e.match(tP);return t?t[0]:""}(this.remaining);if(!n)return;this.capture(n);let i="";if(this.consumeOptional("=")){const s=function rP(e){const t=e.match(iP);return t?t[0]:""}(this.remaining);s&&(i=s,this.capture(i))}const r=JA(n),o=JA(i);if(t.hasOwnProperty(r)){let s=t[r];Array.isArray(s)||(s=[s],t[r]=s),s.push(o)}else t[r]=o}parseParens(t){const n={};for(this.capture("(");!this.consumeOptional(")")&&this.remaining.length>0;){const i=Fa(this.remaining),r=this.remaining[i.length];if("/"!==r&&")"!==r&&";"!==r)throw new D(4010,!1);let o;i.indexOf(":")>-1?(o=i.slice(0,i.indexOf(":")),this.capture(o),this.capture(":")):t&&(o=W);const s=this.parseChildren();n[o]=1===Object.keys(s).length?s[W]:new J([],s),this.consumeOptional("//")}return n}peekStartsWith(t){return this.remaining.startsWith(t)}consumeOptional(t){return!!this.peekStartsWith(t)&&(this.remaining=this.remaining.substring(t.length),!0)}capture(t){if(!this.consumeOptional(t))throw new D(4011,!1)}}function Hd(e){return e.segments.length>0?new J([],{[W]:e}):e}function La(e){const t={};for(const i of Object.keys(e.children)){const o=La(e.children[i]);(o.segments.length>0||o.hasChildren())&&(t[i]=o)}return function sP(e){if(1===e.numberOfChildren&&e.children[W]){const t=e.children[W];return new J(e.segments.concat(t.segments),t.children)}return e}(new J(e.segments,t))}function vi(e){return e instanceof yi}function uP(e,t,n,i,r){if(0===n.length)return hr(t.root,t.root,t.root,i,r);const o=function ZA(e){if("string"==typeof e[0]&&1===e.length&&"/"===e[0])return new KA(!0,0,e);let t=0,n=!1;const i=e.reduce((r,o,s)=>{if("object"==typeof o&&null!=o){if(o.outlets){const a={};return Ue(o.outlets,(l,u)=>{a[u]="string"==typeof l?l.split("/"):l}),[...r,{outlets:a}]}if(o.segmentPath)return[...r,o.segmentPath]}return"string"!=typeof o?[...r,o]:0===s?(o.split("/").forEach((a,l)=>{0==l&&"."===a||(0==l&&""===a?n=!0:".."===a?t++:""!=a&&r.push(a))}),r):[...r,o]},[]);return new KA(n,t,i)}(n);return o.toRoot()?hr(t.root,t.root,new J([],{}),i,r):function s(l){const u=function dP(e,t,n,i){if(e.isAbsolute)return new fr(t.root,!0,0);if(-1===i)return new fr(n,n===t.root,0);return function YA(e,t,n){let i=e,r=t,o=n;for(;o>r;){if(o-=r,i=i.parent,!i)throw new D(4005,!1);r=i.segments.length}return new fr(i,!1,r-o)}(n,i+(To(e.commands[0])?0:1),e.numberOfDoubleDots)}(o,t,e.snapshot?._urlSegment,l),c=u.processChildren?Ro(u.segmentGroup,u.index,o.commands):Gd(u.segmentGroup,u.index,o.commands);return hr(t.root,u.segmentGroup,c,i,r)}(e.snapshot?._lastPathIndex)}function To(e){return"object"==typeof e&&null!=e&&!e.outlets&&!e.segmentPath}function Po(e){return"object"==typeof e&&null!=e&&e.outlets}function hr(e,t,n,i,r){let s,o={};i&&Ue(i,(l,u)=>{o[u]=Array.isArray(l)?l.map(c=>`${c}`):`${l}`}),s=e===t?n:QA(e,t,n);const a=Hd(La(s));return new yi(a,o,r)}function QA(e,t,n){const i={};return Ue(e.children,(r,o)=>{i[o]=r===t?n:QA(r,t,n)}),new J(e.segments,i)}class KA{constructor(t,n,i){if(this.isAbsolute=t,this.numberOfDoubleDots=n,this.commands=i,t&&i.length>0&&To(i[0]))throw new D(4003,!1);const r=i.find(Po);if(r&&r!==jA(i))throw new D(4004,!1)}toRoot(){return this.isAbsolute&&1===this.commands.length&&"/"==this.commands[0]}}class fr{constructor(t,n,i){this.segmentGroup=t,this.processChildren=n,this.index=i}}function Gd(e,t,n){if(e||(e=new J([],{})),0===e.segments.length&&e.hasChildren())return Ro(e,t,n);const i=function fP(e,t,n){let i=0,r=t;const o={match:!1,pathIndex:0,commandIndex:0};for(;r=n.length)return o;const s=e.segments[r],a=n[i];if(Po(a))break;const l=`${a}`,u=i0&&void 0===l)break;if(l&&u&&"object"==typeof u&&void 0===u.outlets){if(!e0(l,u,s))return o;i+=2}else{if(!e0(l,{},s))return o;i++}r++}return{match:!0,pathIndex:r,commandIndex:i}}(e,t,n),r=n.slice(i.commandIndex);if(i.match&&i.pathIndex{"string"==typeof o&&(o=[o]),null!==o&&(r[s]=Gd(e.children[s],t,o))}),Ue(e.children,(o,s)=>{void 0===i[s]&&(r[s]=o)}),new J(e.segments,r)}}function zd(e,t,n){const i=e.segments.slice(0,t);let r=0;for(;r{"string"==typeof n&&(n=[n]),null!==n&&(t[i]=zd(new J([],{}),0,n))}),t}function XA(e){const t={};return Ue(e,(n,i)=>t[i]=`${n}`),t}function e0(e,t,n){return e==n.path&&on(t,n.parameters)}class Mn{constructor(t,n){this.id=t,this.url=n}}class Wd extends Mn{constructor(t,n,i="imperative",r=null){super(t,n),this.type=0,this.navigationTrigger=i,this.restoredState=r}toString(){return`NavigationStart(id: ${this.id}, url: '${this.url}')`}}class Ai extends Mn{constructor(t,n,i){super(t,n),this.urlAfterRedirects=i,this.type=1}toString(){return`NavigationEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}')`}}class Oa extends Mn{constructor(t,n,i,r){super(t,n),this.reason=i,this.code=r,this.type=2}toString(){return`NavigationCancel(id: ${this.id}, url: '${this.url}')`}}class t0 extends Mn{constructor(t,n,i,r){super(t,n),this.error=i,this.target=r,this.type=3}toString(){return`NavigationError(id: ${this.id}, url: '${this.url}', error: ${this.error})`}}class n0 extends Mn{constructor(t,n,i,r){super(t,n),this.urlAfterRedirects=i,this.state=r,this.type=4}toString(){return`RoutesRecognized(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class gP extends Mn{constructor(t,n,i,r){super(t,n),this.urlAfterRedirects=i,this.state=r,this.type=7}toString(){return`GuardsCheckStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class mP extends Mn{constructor(t,n,i,r,o){super(t,n),this.urlAfterRedirects=i,this.state=r,this.shouldActivate=o,this.type=8}toString(){return`GuardsCheckEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state}, shouldActivate: ${this.shouldActivate})`}}class yP extends Mn{constructor(t,n,i,r){super(t,n),this.urlAfterRedirects=i,this.state=r,this.type=5}toString(){return`ResolveStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class wP extends Mn{constructor(t,n,i,r){super(t,n),this.urlAfterRedirects=i,this.state=r,this.type=6}toString(){return`ResolveEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class vP{constructor(t){this.route=t,this.type=9}toString(){return`RouteConfigLoadStart(path: ${this.route.path})`}}class AP{constructor(t){this.route=t,this.type=10}toString(){return`RouteConfigLoadEnd(path: ${this.route.path})`}}class bP{constructor(t){this.snapshot=t,this.type=11}toString(){return`ChildActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class _P{constructor(t){this.snapshot=t,this.type=12}toString(){return`ChildActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class DP{constructor(t){this.snapshot=t,this.type=13}toString(){return`ActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class CP{constructor(t){this.snapshot=t,this.type=14}toString(){return`ActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class r0{constructor(t,n,i){this.routerEvent=t,this.position=n,this.anchor=i,this.type=15}toString(){return`Scroll(anchor: '${this.anchor}', position: '${this.position?`${this.position[0]}, ${this.position[1]}`:null}')`}}class o0{constructor(t){this._root=t}get root(){return this._root.value}parent(t){const n=this.pathFromRoot(t);return n.length>1?n[n.length-2]:null}children(t){const n=Jd(t,this._root);return n?n.children.map(i=>i.value):[]}firstChild(t){const n=Jd(t,this._root);return n&&n.children.length>0?n.children[0].value:null}siblings(t){const n=qd(t,this._root);return n.length<2?[]:n[n.length-2].children.map(r=>r.value).filter(r=>r!==t)}pathFromRoot(t){return qd(t,this._root).map(n=>n.value)}}function Jd(e,t){if(e===t.value)return t;for(const n of t.children){const i=Jd(e,n);if(i)return i}return null}function qd(e,t){if(e===t.value)return[t];for(const n of t.children){const i=qd(e,n);if(i.length)return i.unshift(t),i}return[]}class En{constructor(t,n){this.value=t,this.children=n}toString(){return`TreeNode(${this.value})`}}function pr(e){const t={};return e&&e.children.forEach(n=>t[n.value.outlet]=n),t}class s0 extends o0{constructor(t,n){super(t),this.snapshot=n,Qd(this,t)}toString(){return this.snapshot.toString()}}function a0(e,t){const n=function EP(e,t){const s=new Va([],{},{},"",{},W,t,null,e.root,-1,{});return new u0("",new En(s,[]))}(e,t),i=new Gt([new ko("",{})]),r=new Gt({}),o=new Gt({}),s=new Gt({}),a=new Gt(""),l=new Gn(i,r,s,a,o,W,t,n.root);return l.snapshot=n.root,new s0(new En(l,[]),n)}class Gn{constructor(t,n,i,r,o,s,a,l){this.url=t,this.params=n,this.queryParams=i,this.fragment=r,this.data=o,this.outlet=s,this.component=a,this.title=this.data?.pipe(K(u=>u[Io]))??k(void 0),this._futureSnapshot=l}get routeConfig(){return this._futureSnapshot.routeConfig}get root(){return this._routerState.root}get parent(){return this._routerState.parent(this)}get firstChild(){return this._routerState.firstChild(this)}get children(){return this._routerState.children(this)}get pathFromRoot(){return this._routerState.pathFromRoot(this)}get paramMap(){return this._paramMap||(this._paramMap=this.params.pipe(K(t=>dr(t)))),this._paramMap}get queryParamMap(){return this._queryParamMap||(this._queryParamMap=this.queryParams.pipe(K(t=>dr(t)))),this._queryParamMap}toString(){return this.snapshot?this.snapshot.toString():`Future(${this._futureSnapshot})`}}function l0(e,t="emptyOnly"){const n=e.pathFromRoot;let i=0;if("always"!==t)for(i=n.length-1;i>=1;){const r=n[i],o=n[i-1];if(r.routeConfig&&""===r.routeConfig.path)i--;else{if(o.component)break;i--}}return function SP(e){return e.reduce((t,n)=>({params:{...t.params,...n.params},data:{...t.data,...n.data},resolve:{...n.data,...t.resolve,...n.routeConfig?.data,...n._resolvedData}}),{params:{},data:{},resolve:{}})}(n.slice(i))}class Va{constructor(t,n,i,r,o,s,a,l,u,c,d,h){this.url=t,this.params=n,this.queryParams=i,this.fragment=r,this.data=o,this.outlet=s,this.component=a,this.title=this.data?.[Io],this.routeConfig=l,this._urlSegment=u,this._lastPathIndex=c,this._correctedLastPathIndex=h??c,this._resolve=d}get root(){return this._routerState.root}get parent(){return this._routerState.parent(this)}get firstChild(){return this._routerState.firstChild(this)}get children(){return this._routerState.children(this)}get pathFromRoot(){return this._routerState.pathFromRoot(this)}get paramMap(){return this._paramMap||(this._paramMap=dr(this.params)),this._paramMap}get queryParamMap(){return this._queryParamMap||(this._queryParamMap=dr(this.queryParams)),this._queryParamMap}toString(){return`Route(url:'${this.url.map(i=>i.toString()).join("/")}', path:'${this.routeConfig?this.routeConfig.path:""}')`}}class u0 extends o0{constructor(t,n){super(n),this.url=t,Qd(this,n)}toString(){return c0(this._root)}}function Qd(e,t){t.value._routerState=e,t.children.forEach(n=>Qd(e,n))}function c0(e){const t=e.children.length>0?` { ${e.children.map(c0).join(", ")} } `:"";return`${e.value}${t}`}function Kd(e){if(e.snapshot){const t=e.snapshot,n=e._futureSnapshot;e.snapshot=n,on(t.queryParams,n.queryParams)||e.queryParams.next(n.queryParams),t.fragment!==n.fragment&&e.fragment.next(n.fragment),on(t.params,n.params)||e.params.next(n.params),function $T(e,t){if(e.length!==t.length)return!1;for(let n=0;non(n.parameters,t[i].parameters))}(e.url,t.url);return n&&!(!e.parent!=!t.parent)&&(!e.parent||Zd(e.parent,t.parent))}function No(e,t,n){if(n&&e.shouldReuseRoute(t.value,n.value.snapshot)){const i=n.value;i._futureSnapshot=t.value;const r=function kP(e,t,n){return t.children.map(i=>{for(const r of n.children)if(e.shouldReuseRoute(i.value,r.value.snapshot))return No(e,i,r);return No(e,i)})}(e,t,n);return new En(i,r)}{if(e.shouldAttach(t.value)){const o=e.retrieve(t.value);if(null!==o){const s=o.route;return s.value._futureSnapshot=t.value,s.children=t.children.map(a=>No(e,a)),s}}const i=function xP(e){return new Gn(new Gt(e.url),new Gt(e.params),new Gt(e.queryParams),new Gt(e.fragment),new Gt(e.data),e.outlet,e.component,e)}(t.value),r=t.children.map(o=>No(e,o));return new En(i,r)}}const Yd="ngNavigationCancelingError";function d0(e,t){const{redirectTo:n,navigationBehaviorOptions:i}=vi(t)?{redirectTo:t,navigationBehaviorOptions:void 0}:t,r=h0(!1,0,t);return r.url=n,r.navigationBehaviorOptions=i,r}function h0(e,t,n){const i=new Error("NavigationCancelingError: "+(e||""));return i[Yd]=!0,i.cancellationCode=t,n&&(i.url=n),i}function f0(e){return p0(e)&&vi(e.url)}function p0(e){return e&&e[Yd]}class TP{constructor(){this.outlet=null,this.route=null,this.resolver=null,this.injector=null,this.children=new Fo,this.attachRef=null}}let Fo=(()=>{class e{constructor(){this.contexts=new Map}onChildOutletCreated(n,i){const r=this.getOrCreateContext(n);r.outlet=i,this.contexts.set(n,r)}onChildOutletDestroyed(n){const i=this.getContext(n);i&&(i.outlet=null,i.attachRef=null)}onOutletDeactivated(){const n=this.contexts;return this.contexts=new Map,n}onOutletReAttached(n){this.contexts=n}getOrCreateContext(n){let i=this.getContext(n);return i||(i=new TP,this.contexts.set(n,i)),i}getContext(n){return this.contexts.get(n)||null}}return e.\u0275fac=function(n){return new(n||e)},e.\u0275prov=H({token:e,factory:e.\u0275fac,providedIn:"root"}),e})();const ja=!1;let g0=(()=>{class e{constructor(n,i,r,o,s){this.parentContexts=n,this.location=i,this.changeDetector=o,this.environmentInjector=s,this.activated=null,this._activatedRoute=null,this.activateEvents=new Ae,this.deactivateEvents=new Ae,this.attachEvents=new Ae,this.detachEvents=new Ae,this.name=r||W,n.onChildOutletCreated(this.name,this)}ngOnDestroy(){this.parentContexts.getContext(this.name)?.outlet===this&&this.parentContexts.onChildOutletDestroyed(this.name)}ngOnInit(){if(!this.activated){const n=this.parentContexts.getContext(this.name);n&&n.route&&(n.attachRef?this.attach(n.attachRef,n.route):this.activateWith(n.route,n.injector))}}get isActivated(){return!!this.activated}get component(){if(!this.activated)throw new D(4012,ja);return this.activated.instance}get activatedRoute(){if(!this.activated)throw new D(4012,ja);return this._activatedRoute}get activatedRouteData(){return this._activatedRoute?this._activatedRoute.snapshot.data:{}}detach(){if(!this.activated)throw new D(4012,ja);this.location.detach();const n=this.activated;return this.activated=null,this._activatedRoute=null,this.detachEvents.emit(n.instance),n}attach(n,i){this.activated=n,this._activatedRoute=i,this.location.insert(n.hostView),this.attachEvents.emit(n.instance)}deactivate(){if(this.activated){const n=this.component;this.activated.destroy(),this.activated=null,this._activatedRoute=null,this.deactivateEvents.emit(n)}}activateWith(n,i){if(this.isActivated)throw new D(4013,ja);this._activatedRoute=n;const r=this.location,s=n._futureSnapshot.component,a=this.parentContexts.getOrCreateContext(this.name).children,l=new PP(n,a,r.injector);if(i&&function RP(e){return!!e.resolveComponentFactory}(i)){const u=i.resolveComponentFactory(s);this.activated=r.createComponent(u,r.length,l)}else this.activated=r.createComponent(s,{index:r.length,injector:l,environmentInjector:i??this.environmentInjector});this.changeDetector.markForCheck(),this.activateEvents.emit(this.activated.instance)}}return e.\u0275fac=function(n){return new(n||e)(v(Fo),v(Ut),function Pr(e){return function N_(e,t){if("class"===t)return e.classes;if("style"===t)return e.styles;const n=e.attrs;if(n){const i=n.length;let r=0;for(;r{class e{}return e.\u0275fac=function(n){return new(n||e)},e.\u0275cmp=Ci({type:e,selectors:[["ng-component"]],standalone:!0,features:[wy],decls:1,vars:0,template:function(n,i){1&n&&V(0,"router-outlet")},dependencies:[g0],encapsulation:2}),e})();function m0(e,t){return e.providers&&!e._injector&&(e._injector=Gs(e.providers,t,`Route: ${e.path}`)),e._injector??t}function th(e){const t=e.children&&e.children.map(th),n=t?{...e,children:t}:{...e};return!n.component&&!n.loadComponent&&(t||n.loadChildren)&&n.outlet&&n.outlet!==W&&(n.component=Xd),n}function It(e){return e.outlet||W}function y0(e,t){const n=e.filter(i=>It(i)===t);return n.push(...e.filter(i=>It(i)!==t)),n}function Lo(e){if(!e)return null;if(e.routeConfig?._injector)return e.routeConfig._injector;for(let t=e.parent;t;t=t.parent){const n=t.routeConfig;if(n?._loadedInjector)return n._loadedInjector;if(n?._injector)return n._injector}return null}class VP{constructor(t,n,i,r){this.routeReuseStrategy=t,this.futureState=n,this.currState=i,this.forwardEvent=r}activate(t){const n=this.futureState._root,i=this.currState?this.currState._root:null;this.deactivateChildRoutes(n,i,t),Kd(this.futureState.root),this.activateChildRoutes(n,i,t)}deactivateChildRoutes(t,n,i){const r=pr(n);t.children.forEach(o=>{const s=o.value.outlet;this.deactivateRoutes(o,r[s],i),delete r[s]}),Ue(r,(o,s)=>{this.deactivateRouteAndItsChildren(o,i)})}deactivateRoutes(t,n,i){const r=t.value,o=n?n.value:null;if(r===o)if(r.component){const s=i.getContext(r.outlet);s&&this.deactivateChildRoutes(t,n,s.children)}else this.deactivateChildRoutes(t,n,i);else o&&this.deactivateRouteAndItsChildren(n,i)}deactivateRouteAndItsChildren(t,n){t.value.component&&this.routeReuseStrategy.shouldDetach(t.value.snapshot)?this.detachAndStoreRouteSubtree(t,n):this.deactivateRouteAndOutlet(t,n)}detachAndStoreRouteSubtree(t,n){const i=n.getContext(t.value.outlet),r=i&&t.value.component?i.children:n,o=pr(t);for(const s of Object.keys(o))this.deactivateRouteAndItsChildren(o[s],r);if(i&&i.outlet){const s=i.outlet.detach(),a=i.children.onOutletDeactivated();this.routeReuseStrategy.store(t.value.snapshot,{componentRef:s,route:t,contexts:a})}}deactivateRouteAndOutlet(t,n){const i=n.getContext(t.value.outlet),r=i&&t.value.component?i.children:n,o=pr(t);for(const s of Object.keys(o))this.deactivateRouteAndItsChildren(o[s],r);i&&i.outlet&&(i.outlet.deactivate(),i.children.onOutletDeactivated(),i.attachRef=null,i.resolver=null,i.route=null)}activateChildRoutes(t,n,i){const r=pr(n);t.children.forEach(o=>{this.activateRoutes(o,r[o.value.outlet],i),this.forwardEvent(new CP(o.value.snapshot))}),t.children.length&&this.forwardEvent(new _P(t.value.snapshot))}activateRoutes(t,n,i){const r=t.value,o=n?n.value:null;if(Kd(r),r===o)if(r.component){const s=i.getOrCreateContext(r.outlet);this.activateChildRoutes(t,n,s.children)}else this.activateChildRoutes(t,n,i);else if(r.component){const s=i.getOrCreateContext(r.outlet);if(this.routeReuseStrategy.shouldAttach(r.snapshot)){const a=this.routeReuseStrategy.retrieve(r.snapshot);this.routeReuseStrategy.store(r.snapshot,null),s.children.onOutletReAttached(a.contexts),s.attachRef=a.componentRef,s.route=a.route.value,s.outlet&&s.outlet.attach(a.componentRef,a.route.value),Kd(a.route.value),this.activateChildRoutes(t,null,s.children)}else{const a=Lo(r.snapshot),l=a?.get(Qr)??null;s.attachRef=null,s.route=r,s.resolver=l,s.injector=a,s.outlet&&s.outlet.activateWith(r,s.injector),this.activateChildRoutes(t,null,s.children)}}else this.activateChildRoutes(t,null,i)}}class w0{constructor(t){this.path=t,this.route=this.path[this.path.length-1]}}class Ua{constructor(t,n){this.component=t,this.route=n}}function jP(e,t,n){const i=e._root;return Oo(i,t?t._root:null,n,[i.value])}function gr(e,t){const n=Symbol(),i=t.get(e,n);return i===n?"function"!=typeof e||function Ob(e){return null!==Jo(e)}(e)?t.get(e):e:i}function Oo(e,t,n,i,r={canDeactivateChecks:[],canActivateChecks:[]}){const o=pr(t);return e.children.forEach(s=>{(function BP(e,t,n,i,r={canDeactivateChecks:[],canActivateChecks:[]}){const o=e.value,s=t?t.value:null,a=n?n.getContext(e.value.outlet):null;if(s&&o.routeConfig===s.routeConfig){const l=function HP(e,t,n){if("function"==typeof n)return n(e,t);switch(n){case"pathParamsChange":return!wi(e.url,t.url);case"pathParamsOrQueryParamsChange":return!wi(e.url,t.url)||!on(e.queryParams,t.queryParams);case"always":return!0;case"paramsOrQueryParamsChange":return!Zd(e,t)||!on(e.queryParams,t.queryParams);default:return!Zd(e,t)}}(s,o,o.routeConfig.runGuardsAndResolvers);l?r.canActivateChecks.push(new w0(i)):(o.data=s.data,o._resolvedData=s._resolvedData),Oo(e,t,o.component?a?a.children:null:n,i,r),l&&a&&a.outlet&&a.outlet.isActivated&&r.canDeactivateChecks.push(new Ua(a.outlet.component,s))}else s&&Vo(t,a,r),r.canActivateChecks.push(new w0(i)),Oo(e,null,o.component?a?a.children:null:n,i,r)})(s,o[s.value.outlet],n,i.concat([s.value]),r),delete o[s.value.outlet]}),Ue(o,(s,a)=>Vo(s,n.getContext(a),r)),r}function Vo(e,t,n){const i=pr(e),r=e.value;Ue(i,(o,s)=>{Vo(o,r.component?t?t.children.getContext(s):null:t,n)}),n.canDeactivateChecks.push(new Ua(r.component&&t&&t.outlet&&t.outlet.isActivated?t.outlet.component:null,r))}function jo(e){return"function"==typeof e}function nh(e){return e instanceof ka||"EmptyError"===e?.name}const Ba=Symbol("INITIAL_VALUE");function mr(){return rn(e=>xA(e.map(t=>t.pipe(So(1),function LT(...e){const t=br(e);return Fe((n,i)=>{(t?Fd(e,n,t):Fd(e,n)).subscribe(i)})}(Ba)))).pipe(K(t=>{for(const n of t)if(!0!==n){if(n===Ba)return Ba;if(!1===n||n instanceof yi)return n}return!0}),Un(t=>t!==Ba),So(1)))}function v0(e){return function nb(...e){return Sh(e)}(qe(t=>{if(vi(t))throw d0(0,t)}),K(t=>!0===t))}const ih={matched:!1,consumedSegments:[],remainingSegments:[],parameters:{},positionalParamSegments:{}};function A0(e,t,n,i,r){const o=rh(e,t,n);return o.matched?function oR(e,t,n,i){const r=t.canMatch;return r&&0!==r.length?k(r.map(s=>{const a=gr(s,e);return $n(function qP(e){return e&&jo(e.canMatch)}(a)?a.canMatch(t,n):e.runInContext(()=>a(t,n)))})).pipe(mr(),v0()):k(!0)}(i=m0(t,i),t,n).pipe(K(s=>!0===s?o:{...ih})):k(o)}function rh(e,t,n){if(""===t.path)return"full"===t.pathMatch&&(e.hasChildren()||n.length>0)?{...ih}:{matched:!0,consumedSegments:[],remainingSegments:n,parameters:{},positionalParamSegments:{}};const r=(t.matcher||HT)(n,e,t);if(!r)return{...ih};const o={};Ue(r.posParams,(a,l)=>{o[l]=a.path});const s=r.consumed.length>0?{...o,...r.consumed[r.consumed.length-1].parameters}:o;return{matched:!0,consumedSegments:r.consumed,remainingSegments:n.slice(r.consumed.length),parameters:s,positionalParamSegments:r.posParams??{}}}function Ha(e,t,n,i,r="corrected"){if(n.length>0&&function lR(e,t,n){return n.some(i=>$a(e,t,i)&&It(i)!==W)}(e,n,i)){const s=new J(t,function aR(e,t,n,i){const r={};r[W]=i,i._sourceSegment=e,i._segmentIndexShift=t.length;for(const o of n)if(""===o.path&&It(o)!==W){const s=new J([],{});s._sourceSegment=e,s._segmentIndexShift=t.length,r[It(o)]=s}return r}(e,t,i,new J(n,e.children)));return s._sourceSegment=e,s._segmentIndexShift=t.length,{segmentGroup:s,slicedSegments:[]}}if(0===n.length&&function uR(e,t,n){return n.some(i=>$a(e,t,i))}(e,n,i)){const s=new J(e.segments,function sR(e,t,n,i,r,o){const s={};for(const a of i)if($a(e,n,a)&&!r[It(a)]){const l=new J([],{});l._sourceSegment=e,l._segmentIndexShift="legacy"===o?e.segments.length:t.length,s[It(a)]=l}return{...r,...s}}(e,t,n,i,e.children,r));return s._sourceSegment=e,s._segmentIndexShift=t.length,{segmentGroup:s,slicedSegments:n}}const o=new J(e.segments,e.children);return o._sourceSegment=e,o._segmentIndexShift=t.length,{segmentGroup:o,slicedSegments:n}}function $a(e,t,n){return(!(e.hasChildren()||t.length>0)||"full"!==n.pathMatch)&&""===n.path}function b0(e,t,n,i){return!!(It(e)===i||i!==W&&$a(t,n,e))&&("**"===e.path||rh(t,e,n).matched)}function _0(e,t,n){return 0===t.length&&!e.children[n]}const Ga=!1;class za{constructor(t){this.segmentGroup=t||null}}class D0{constructor(t){this.urlTree=t}}function Uo(e){return Eo(new za(e))}function C0(e){return Eo(new D0(e))}class fR{constructor(t,n,i,r,o){this.injector=t,this.configLoader=n,this.urlSerializer=i,this.urlTree=r,this.config=o,this.allowRedirects=!0}apply(){const t=Ha(this.urlTree.root,[],[],this.config).segmentGroup,n=new J(t.segments,t.children);return this.expandSegmentGroup(this.injector,this.config,n,W).pipe(K(o=>this.createUrlTree(La(o),this.urlTree.queryParams,this.urlTree.fragment))).pipe(Hn(o=>{if(o instanceof D0)return this.allowRedirects=!1,this.match(o.urlTree);throw o instanceof za?this.noMatchError(o):o}))}match(t){return this.expandSegmentGroup(this.injector,this.config,t.root,W).pipe(K(r=>this.createUrlTree(La(r),t.queryParams,t.fragment))).pipe(Hn(r=>{throw r instanceof za?this.noMatchError(r):r}))}noMatchError(t){return new D(4002,Ga)}createUrlTree(t,n,i){const r=Hd(t);return new yi(r,n,i)}expandSegmentGroup(t,n,i,r){return 0===i.segments.length&&i.hasChildren()?this.expandChildren(t,n,i).pipe(K(o=>new J([],o))):this.expandSegment(t,i,n,i.segments,r,!0)}expandChildren(t,n,i){const r=[];for(const o of Object.keys(i.children))"primary"===o?r.unshift(o):r.push(o);return Ce(r).pipe(mi(o=>{const s=i.children[o],a=y0(n,o);return this.expandSegmentGroup(t,a,s,o).pipe(K(l=>({segment:l,outlet:o})))}),FA((o,s)=>(o[s.outlet]=s.segment,o),{}),LA())}expandSegment(t,n,i,r,o,s){return Ce(i).pipe(mi(a=>this.expandSegmentAgainstRoute(t,n,i,a,r,o,s).pipe(Hn(u=>{if(u instanceof za)return k(null);throw u}))),Bn(a=>!!a),Hn((a,l)=>{if(nh(a))return _0(n,r,o)?k(new J([],{})):Uo(n);throw a}))}expandSegmentAgainstRoute(t,n,i,r,o,s,a){return b0(r,n,o,s)?void 0===r.redirectTo?this.matchSegmentAgainstRoute(t,n,r,o,s):a&&this.allowRedirects?this.expandSegmentAgainstRouteUsingRedirect(t,n,i,r,o,s):Uo(n):Uo(n)}expandSegmentAgainstRouteUsingRedirect(t,n,i,r,o,s){return"**"===r.path?this.expandWildCardWithParamsAgainstRouteUsingRedirect(t,i,r,s):this.expandRegularSegmentAgainstRouteUsingRedirect(t,n,i,r,o,s)}expandWildCardWithParamsAgainstRouteUsingRedirect(t,n,i,r){const o=this.applyRedirectCommands([],i.redirectTo,{});return i.redirectTo.startsWith("/")?C0(o):this.lineralizeSegments(i,o).pipe(Ve(s=>{const a=new J(s,{});return this.expandSegment(t,a,n,s,r,!1)}))}expandRegularSegmentAgainstRouteUsingRedirect(t,n,i,r,o,s){const{matched:a,consumedSegments:l,remainingSegments:u,positionalParamSegments:c}=rh(n,r,o);if(!a)return Uo(n);const d=this.applyRedirectCommands(l,r.redirectTo,c);return r.redirectTo.startsWith("/")?C0(d):this.lineralizeSegments(r,d).pipe(Ve(h=>this.expandSegment(t,n,i,h.concat(u),s,!1)))}matchSegmentAgainstRoute(t,n,i,r,o){return"**"===i.path?(t=m0(i,t),i.loadChildren?(i._loadedRoutes?k({routes:i._loadedRoutes,injector:i._loadedInjector}):this.configLoader.loadChildren(t,i)).pipe(K(a=>(i._loadedRoutes=a.routes,i._loadedInjector=a.injector,new J(r,{})))):k(new J(r,{}))):A0(n,i,r,t).pipe(rn(({matched:s,consumedSegments:a,remainingSegments:l})=>s?this.getChildConfig(t=i._injector??t,i,r).pipe(Ve(c=>{const d=c.injector??t,h=c.routes,{segmentGroup:f,slicedSegments:p}=Ha(n,a,l,h),g=new J(f.segments,f.children);if(0===p.length&&g.hasChildren())return this.expandChildren(d,h,g).pipe(K(y=>new J(a,y)));if(0===h.length&&0===p.length)return k(new J(a,{}));const m=It(i)===o;return this.expandSegment(d,g,h,p,m?W:o,!0).pipe(K(M=>new J(a.concat(M.segments),M.children)))})):Uo(n)))}getChildConfig(t,n,i){return n.children?k({routes:n.children,injector:t}):n.loadChildren?void 0!==n._loadedRoutes?k({routes:n._loadedRoutes,injector:n._loadedInjector}):function rR(e,t,n,i){const r=t.canLoad;return void 0===r||0===r.length?k(!0):k(r.map(s=>{const a=gr(s,e);return $n(function GP(e){return e&&jo(e.canLoad)}(a)?a.canLoad(t,n):e.runInContext(()=>a(t,n)))})).pipe(mr(),v0())}(t,n,i).pipe(Ve(r=>r?this.configLoader.loadChildren(t,n).pipe(qe(o=>{n._loadedRoutes=o.routes,n._loadedInjector=o.injector})):function dR(e){return Eo(h0(Ga,3))}())):k({routes:[],injector:t})}lineralizeSegments(t,n){let i=[],r=n.root;for(;;){if(i=i.concat(r.segments),0===r.numberOfChildren)return k(i);if(r.numberOfChildren>1||!r.children[W])return Eo(new D(4e3,Ga));r=r.children[W]}}applyRedirectCommands(t,n,i){return this.applyRedirectCreateUrlTree(n,this.urlSerializer.parse(n),t,i)}applyRedirectCreateUrlTree(t,n,i,r){const o=this.createSegmentGroup(t,n.root,i,r);return new yi(o,this.createQueryParams(n.queryParams,this.urlTree.queryParams),n.fragment)}createQueryParams(t,n){const i={};return Ue(t,(r,o)=>{if("string"==typeof r&&r.startsWith(":")){const a=r.substring(1);i[o]=n[a]}else i[o]=r}),i}createSegmentGroup(t,n,i,r){const o=this.createSegments(t,n.segments,i,r);let s={};return Ue(n.children,(a,l)=>{s[l]=this.createSegmentGroup(t,a,i,r)}),new J(o,s)}createSegments(t,n,i,r){return n.map(o=>o.path.startsWith(":")?this.findPosParam(t,o,r):this.findOrReturn(o,i))}findPosParam(t,n,i){const r=i[n.path.substring(1)];if(!r)throw new D(4001,Ga);return r}findOrReturn(t,n){let i=0;for(const r of n){if(r.path===t.path)return n.splice(i),r;i++}return t}}class gR{}class wR{constructor(t,n,i,r,o,s,a,l){this.injector=t,this.rootComponentType=n,this.config=i,this.urlTree=r,this.url=o,this.paramsInheritanceStrategy=s,this.relativeLinkResolution=a,this.urlSerializer=l}recognize(){const t=Ha(this.urlTree.root,[],[],this.config.filter(n=>void 0===n.redirectTo),this.relativeLinkResolution).segmentGroup;return this.processSegmentGroup(this.injector,this.config,t,W).pipe(K(n=>{if(null===n)return null;const i=new Va([],Object.freeze({}),Object.freeze({...this.urlTree.queryParams}),this.urlTree.fragment,{},W,this.rootComponentType,null,this.urlTree.root,-1,{}),r=new En(i,n),o=new u0(this.url,r);return this.inheritParamsAndData(o._root),o}))}inheritParamsAndData(t){const n=t.value,i=l0(n,this.paramsInheritanceStrategy);n.params=Object.freeze(i.params),n.data=Object.freeze(i.data),t.children.forEach(r=>this.inheritParamsAndData(r))}processSegmentGroup(t,n,i,r){return 0===i.segments.length&&i.hasChildren()?this.processChildren(t,n,i):this.processSegment(t,n,i,i.segments,r)}processChildren(t,n,i){return Ce(Object.keys(i.children)).pipe(mi(r=>{const o=i.children[r],s=y0(n,r);return this.processSegmentGroup(t,s,o,r)}),FA((r,o)=>r&&o?(r.push(...o),r):null),function jT(e,t=!1){return Fe((n,i)=>{let r=0;n.subscribe(ke(i,o=>{const s=e(o,r++);(s||t)&&i.next(o),!s&&i.complete()}))})}(r=>null!==r),xa(null),LA(),K(r=>{if(null===r)return null;const o=M0(r);return function vR(e){e.sort((t,n)=>t.value.outlet===W?-1:n.value.outlet===W?1:t.value.outlet.localeCompare(n.value.outlet))}(o),o}))}processSegment(t,n,i,r,o){return Ce(n).pipe(mi(s=>this.processSegmentAgainstRoute(s._injector??t,s,i,r,o)),Bn(s=>!!s),Hn(s=>{if(nh(s))return _0(i,r,o)?k([]):k(null);throw s}))}processSegmentAgainstRoute(t,n,i,r,o){if(n.redirectTo||!b0(n,i,r,o))return k(null);let s;if("**"===n.path){const a=r.length>0?jA(r).parameters:{},l=S0(i)+r.length;s=k({snapshot:new Va(r,a,Object.freeze({...this.urlTree.queryParams}),this.urlTree.fragment,k0(n),It(n),n.component??n._loadedComponent??null,n,E0(i),l,x0(n),l),consumedSegments:[],remainingSegments:[]})}else s=A0(i,n,r,t).pipe(K(({matched:a,consumedSegments:l,remainingSegments:u,parameters:c})=>{if(!a)return null;const d=S0(i)+l.length;return{snapshot:new Va(l,c,Object.freeze({...this.urlTree.queryParams}),this.urlTree.fragment,k0(n),It(n),n.component??n._loadedComponent??null,n,E0(i),d,x0(n),d),consumedSegments:l,remainingSegments:u}}));return s.pipe(rn(a=>{if(null===a)return k(null);const{snapshot:l,consumedSegments:u,remainingSegments:c}=a;t=n._injector??t;const d=n._loadedInjector??t,h=function AR(e){return e.children?e.children:e.loadChildren?e._loadedRoutes:[]}(n),{segmentGroup:f,slicedSegments:p}=Ha(i,u,c,h.filter(m=>void 0===m.redirectTo),this.relativeLinkResolution);if(0===p.length&&f.hasChildren())return this.processChildren(d,h,f).pipe(K(m=>null===m?null:[new En(l,m)]));if(0===h.length&&0===p.length)return k([new En(l,[])]);const g=It(n)===o;return this.processSegment(d,h,f,p,g?W:o).pipe(K(m=>null===m?null:[new En(l,m)]))}))}}function bR(e){const t=e.value.routeConfig;return t&&""===t.path&&void 0===t.redirectTo}function M0(e){const t=[],n=new Set;for(const i of e){if(!bR(i)){t.push(i);continue}const r=t.find(o=>i.value.routeConfig===o.value.routeConfig);void 0!==r?(r.children.push(...i.children),n.add(r)):t.push(i)}for(const i of n){const r=M0(i.children);t.push(new En(i.value,r))}return t.filter(i=>!n.has(i))}function E0(e){let t=e;for(;t._sourceSegment;)t=t._sourceSegment;return t}function S0(e){let t=e,n=t._segmentIndexShift??0;for(;t._sourceSegment;)t=t._sourceSegment,n+=t._segmentIndexShift??0;return n-1}function k0(e){return e.data||{}}function x0(e){return e.resolve||{}}function T0(e){return"string"==typeof e.title||null===e.title}function oh(e){return rn(t=>{const n=e(t);return n?Ce(n).pipe(K(()=>t)):k(t)})}let P0=(()=>{class e{buildTitle(n){let i,r=n.root;for(;void 0!==r;)i=this.getResolvedTitleForRoute(r)??i,r=r.children.find(o=>o.outlet===W);return i}getResolvedTitleForRoute(n){return n.data[Io]}}return e.\u0275fac=function(n){return new(n||e)},e.\u0275prov=H({token:e,factory:function(){return be(R0)},providedIn:"root"}),e})(),R0=(()=>{class e extends P0{constructor(n){super(),this.title=n}updateTitle(n){const i=this.buildTitle(n);void 0!==i&&this.title.setTitle(i)}}return e.\u0275fac=function(n){return new(n||e)(x(vv))},e.\u0275prov=H({token:e,factory:e.\u0275fac,providedIn:"root"}),e})();class kR{}class TR extends class xR{shouldDetach(t){return!1}store(t,n){}shouldAttach(t){return!1}retrieve(t){return null}shouldReuseRoute(t,n){return t.routeConfig===n.routeConfig}}{}const Ja=new R("",{providedIn:"root",factory:()=>({})}),sh=new R("ROUTES");let ah=(()=>{class e{constructor(n,i){this.injector=n,this.compiler=i,this.componentLoaders=new WeakMap,this.childrenLoaders=new WeakMap}loadComponent(n){if(this.componentLoaders.get(n))return this.componentLoaders.get(n);if(n._loadedComponent)return k(n._loadedComponent);this.onLoadStartListener&&this.onLoadStartListener(n);const i=$n(n.loadComponent()).pipe(qe(o=>{this.onLoadEndListener&&this.onLoadEndListener(n),n._loadedComponent=o}),Vd(()=>{this.componentLoaders.delete(n)})),r=new RA(i,()=>new zt).pipe(Ld());return this.componentLoaders.set(n,r),r}loadChildren(n,i){if(this.childrenLoaders.get(i))return this.childrenLoaders.get(i);if(i._loadedRoutes)return k({routes:i._loadedRoutes,injector:i._loadedInjector});this.onLoadStartListener&&this.onLoadStartListener(i);const o=this.loadModuleFactoryOrRoutes(i.loadChildren).pipe(K(a=>{this.onLoadEndListener&&this.onLoadEndListener(i);let l,u,c=!1;Array.isArray(a)?u=a:(l=a.create(n).injector,u=VA(l.get(sh,[],P.Self|P.Optional)));return{routes:u.map(th),injector:l}}),Vd(()=>{this.childrenLoaders.delete(i)})),s=new RA(o,()=>new zt).pipe(Ld());return this.childrenLoaders.set(i,s),s}loadModuleFactoryOrRoutes(n){return $n(n()).pipe(Ve(i=>i instanceof my||Array.isArray(i)?k(i):Ce(this.compiler.compileModuleAsync(i))))}}return e.\u0275fac=function(n){return new(n||e)(x(Ct),x(Sc))},e.\u0275prov=H({token:e,factory:e.\u0275fac,providedIn:"root"}),e})();class RR{}class NR{shouldProcessUrl(t){return!0}extract(t){return t}merge(t,n){return t}}function FR(e){throw e}function LR(e,t,n){return t.parse("/")}const OR={paths:"exact",fragment:"ignored",matrixParams:"ignored",queryParams:"exact"},VR={paths:"subset",fragment:"ignored",matrixParams:"ignored",queryParams:"subset"};function F0(){const e=be(zA),t=be(Fo),n=be(Hc),i=be(Ct),r=be(Sc),o=be(sh,{optional:!0})??[],s=be(Ja,{optional:!0})??{},a=be(R0),l=be(P0,{optional:!0}),u=be(RR,{optional:!0}),c=be(kR,{optional:!0}),d=new Oe(null,e,t,n,i,r,VA(o));return u&&(d.urlHandlingStrategy=u),c&&(d.routeReuseStrategy=c),d.titleStrategy=l??a,function jR(e,t){e.errorHandler&&(t.errorHandler=e.errorHandler),e.malformedUriErrorHandler&&(t.malformedUriErrorHandler=e.malformedUriErrorHandler),e.onSameUrlNavigation&&(t.onSameUrlNavigation=e.onSameUrlNavigation),e.paramsInheritanceStrategy&&(t.paramsInheritanceStrategy=e.paramsInheritanceStrategy),e.relativeLinkResolution&&(t.relativeLinkResolution=e.relativeLinkResolution),e.urlUpdateStrategy&&(t.urlUpdateStrategy=e.urlUpdateStrategy),e.canceledNavigationResolution&&(t.canceledNavigationResolution=e.canceledNavigationResolution)}(s,d),d}let Oe=(()=>{class e{constructor(n,i,r,o,s,a,l){this.rootComponentType=n,this.urlSerializer=i,this.rootContexts=r,this.location=o,this.config=l,this.lastSuccessfulNavigation=null,this.currentNavigation=null,this.disposed=!1,this.navigationId=0,this.currentPageId=0,this.isNgZoneEnabled=!1,this.events=new zt,this.errorHandler=FR,this.malformedUriErrorHandler=LR,this.navigated=!1,this.lastSuccessfulId=-1,this.afterPreactivation=()=>k(void 0),this.urlHandlingStrategy=new NR,this.routeReuseStrategy=new TR,this.onSameUrlNavigation="ignore",this.paramsInheritanceStrategy="emptyOnly",this.urlUpdateStrategy="deferred",this.relativeLinkResolution="corrected",this.canceledNavigationResolution="replace",this.configLoader=s.get(ah),this.configLoader.onLoadEndListener=h=>this.triggerEvent(new AP(h)),this.configLoader.onLoadStartListener=h=>this.triggerEvent(new vP(h)),this.ngModule=s.get(di),this.console=s.get(vI);const d=s.get(Re);this.isNgZoneEnabled=d instanceof Re&&Re.isInAngularZone(),this.resetConfig(l),this.currentUrlTree=function GT(){return new yi(new J([],{}),{},null)}(),this.rawUrlTree=this.currentUrlTree,this.browserUrlTree=this.currentUrlTree,this.routerState=a0(this.currentUrlTree,this.rootComponentType),this.transitions=new Gt({id:0,targetPageId:0,currentUrlTree:this.currentUrlTree,currentRawUrl:this.currentUrlTree,extractedUrl:this.urlHandlingStrategy.extract(this.currentUrlTree),urlAfterRedirects:this.urlHandlingStrategy.extract(this.currentUrlTree),rawUrl:this.currentUrlTree,extras:{},resolve:null,reject:null,promise:Promise.resolve(!0),source:"imperative",restoredState:null,currentSnapshot:this.routerState.snapshot,targetSnapshot:null,currentRouterState:this.routerState,targetRouterState:null,guards:{canActivateChecks:[],canDeactivateChecks:[]},guardsResult:null}),this.navigations=this.setupNavigations(this.transitions),this.processNavigations()}get browserPageId(){return this.location.getState()?.\u0275routerPageId}setupNavigations(n){const i=this.events;return n.pipe(Un(r=>0!==r.id),K(r=>({...r,extractedUrl:this.urlHandlingStrategy.extract(r.rawUrl)})),rn(r=>{let o=!1,s=!1;return k(r).pipe(qe(a=>{this.currentNavigation={id:a.id,initialUrl:a.rawUrl,extractedUrl:a.extractedUrl,trigger:a.source,extras:a.extras,previousNavigation:this.lastSuccessfulNavigation?{...this.lastSuccessfulNavigation,previousNavigation:null}:null}}),rn(a=>{const l=this.browserUrlTree.toString(),u=!this.navigated||a.extractedUrl.toString()!==l||l!==this.currentUrlTree.toString();if(("reload"===this.onSameUrlNavigation||u)&&this.urlHandlingStrategy.shouldProcessUrl(a.rawUrl))return L0(a.source)&&(this.browserUrlTree=a.extractedUrl),k(a).pipe(rn(d=>{const h=this.transitions.getValue();return i.next(new Wd(d.id,this.serializeUrl(d.extractedUrl),d.source,d.restoredState)),h!==this.transitions.getValue()?an:Promise.resolve(d)}),function pR(e,t,n,i){return rn(r=>function hR(e,t,n,i,r){return new fR(e,t,n,i,r).apply()}(e,t,n,r.extractedUrl,i).pipe(K(o=>({...r,urlAfterRedirects:o}))))}(this.ngModule.injector,this.configLoader,this.urlSerializer,this.config),qe(d=>{this.currentNavigation={...this.currentNavigation,finalUrl:d.urlAfterRedirects},r.urlAfterRedirects=d.urlAfterRedirects}),function DR(e,t,n,i,r,o){return Ve(s=>function yR(e,t,n,i,r,o,s="emptyOnly",a="legacy"){return new wR(e,t,n,i,r,s,a,o).recognize().pipe(rn(l=>null===l?function mR(e){return new De(t=>t.error(e))}(new gR):k(l)))}(e,t,n,s.urlAfterRedirects,i.serialize(s.urlAfterRedirects),i,r,o).pipe(K(a=>({...s,targetSnapshot:a}))))}(this.ngModule.injector,this.rootComponentType,this.config,this.urlSerializer,this.paramsInheritanceStrategy,this.relativeLinkResolution),qe(d=>{if(r.targetSnapshot=d.targetSnapshot,"eager"===this.urlUpdateStrategy){if(!d.extras.skipLocationChange){const f=this.urlHandlingStrategy.merge(d.urlAfterRedirects,d.rawUrl);this.setBrowserUrl(f,d)}this.browserUrlTree=d.urlAfterRedirects}const h=new n0(d.id,this.serializeUrl(d.extractedUrl),this.serializeUrl(d.urlAfterRedirects),d.targetSnapshot);i.next(h)}));if(u&&this.rawUrlTree&&this.urlHandlingStrategy.shouldProcessUrl(this.rawUrlTree)){const{id:h,extractedUrl:f,source:p,restoredState:g,extras:m}=a,A=new Wd(h,this.serializeUrl(f),p,g);i.next(A);const M=a0(f,this.rootComponentType).snapshot;return k(r={...a,targetSnapshot:M,urlAfterRedirects:f,extras:{...m,skipLocationChange:!1,replaceUrl:!1}})}return this.rawUrlTree=a.rawUrl,a.resolve(null),an}),qe(a=>{const l=new gP(a.id,this.serializeUrl(a.extractedUrl),this.serializeUrl(a.urlAfterRedirects),a.targetSnapshot);this.triggerEvent(l)}),K(a=>r={...a,guards:jP(a.targetSnapshot,a.currentSnapshot,this.rootContexts)}),function KP(e,t){return Ve(n=>{const{targetSnapshot:i,currentSnapshot:r,guards:{canActivateChecks:o,canDeactivateChecks:s}}=n;return 0===s.length&&0===o.length?k({...n,guardsResult:!0}):function ZP(e,t,n,i){return Ce(e).pipe(Ve(r=>function iR(e,t,n,i,r){const o=t&&t.routeConfig?t.routeConfig.canDeactivate:null;return o&&0!==o.length?k(o.map(a=>{const l=Lo(t)??r,u=gr(a,l);return $n(function JP(e){return e&&jo(e.canDeactivate)}(u)?u.canDeactivate(e,t,n,i):l.runInContext(()=>u(e,t,n,i))).pipe(Bn())})).pipe(mr()):k(!0)}(r.component,r.route,n,t,i)),Bn(r=>!0!==r,!0))}(s,i,r,e).pipe(Ve(a=>a&&function $P(e){return"boolean"==typeof e}(a)?function YP(e,t,n,i){return Ce(t).pipe(mi(r=>Fd(function eR(e,t){return null!==e&&t&&t(new bP(e)),k(!0)}(r.route.parent,i),function XP(e,t){return null!==e&&t&&t(new DP(e)),k(!0)}(r.route,i),function nR(e,t,n){const i=t[t.length-1],o=t.slice(0,t.length-1).reverse().map(s=>function UP(e){const t=e.routeConfig?e.routeConfig.canActivateChild:null;return t&&0!==t.length?{node:e,guards:t}:null}(s)).filter(s=>null!==s).map(s=>PA(()=>k(s.guards.map(l=>{const u=Lo(s.node)??n,c=gr(l,u);return $n(function WP(e){return e&&jo(e.canActivateChild)}(c)?c.canActivateChild(i,e):u.runInContext(()=>c(i,e))).pipe(Bn())})).pipe(mr())));return k(o).pipe(mr())}(e,r.path,n),function tR(e,t,n){const i=t.routeConfig?t.routeConfig.canActivate:null;if(!i||0===i.length)return k(!0);const r=i.map(o=>PA(()=>{const s=Lo(t)??n,a=gr(o,s);return $n(function zP(e){return e&&jo(e.canActivate)}(a)?a.canActivate(t,e):s.runInContext(()=>a(t,e))).pipe(Bn())}));return k(r).pipe(mr())}(e,r.route,n))),Bn(r=>!0!==r,!0))}(i,o,e,t):k(a)),K(a=>({...n,guardsResult:a})))})}(this.ngModule.injector,a=>this.triggerEvent(a)),qe(a=>{if(r.guardsResult=a.guardsResult,vi(a.guardsResult))throw d0(0,a.guardsResult);const l=new mP(a.id,this.serializeUrl(a.extractedUrl),this.serializeUrl(a.urlAfterRedirects),a.targetSnapshot,!!a.guardsResult);this.triggerEvent(l)}),Un(a=>!!a.guardsResult||(this.restoreHistory(a),this.cancelNavigationTransition(a,"",3),!1)),oh(a=>{if(a.guards.canActivateChecks.length)return k(a).pipe(qe(l=>{const u=new yP(l.id,this.serializeUrl(l.extractedUrl),this.serializeUrl(l.urlAfterRedirects),l.targetSnapshot);this.triggerEvent(u)}),rn(l=>{let u=!1;return k(l).pipe(function CR(e,t){return Ve(n=>{const{targetSnapshot:i,guards:{canActivateChecks:r}}=n;if(!r.length)return k(n);let o=0;return Ce(r).pipe(mi(s=>function MR(e,t,n,i){const r=e.routeConfig,o=e._resolve;return void 0!==r?.title&&!T0(r)&&(o[Io]=r.title),function ER(e,t,n,i){const r=function SR(e){return[...Object.keys(e),...Object.getOwnPropertySymbols(e)]}(e);if(0===r.length)return k({});const o={};return Ce(r).pipe(Ve(s=>function IR(e,t,n,i){const r=Lo(t)??i,o=gr(e,r);return $n(o.resolve?o.resolve(t,n):r.runInContext(()=>o(t,n)))}(e[s],t,n,i).pipe(Bn(),qe(a=>{o[s]=a}))),Od(1),function UT(e){return K(()=>e)}(o),Hn(s=>nh(s)?an:Eo(s)))}(o,e,t,i).pipe(K(s=>(e._resolvedData=s,e.data=l0(e,n).resolve,r&&T0(r)&&(e.data[Io]=r.title),null)))}(s.route,i,e,t)),qe(()=>o++),Od(1),Ve(s=>o===r.length?k(n):an))})}(this.paramsInheritanceStrategy,this.ngModule.injector),qe({next:()=>u=!0,complete:()=>{u||(this.restoreHistory(l),this.cancelNavigationTransition(l,"",2))}}))}),qe(l=>{const u=new wP(l.id,this.serializeUrl(l.extractedUrl),this.serializeUrl(l.urlAfterRedirects),l.targetSnapshot);this.triggerEvent(u)}))}),oh(a=>{const l=u=>{const c=[];u.routeConfig?.loadComponent&&!u.routeConfig._loadedComponent&&c.push(this.configLoader.loadComponent(u.routeConfig).pipe(qe(d=>{u.component=d}),K(()=>{})));for(const d of u.children)c.push(...l(d));return c};return xA(l(a.targetSnapshot.root)).pipe(xa(),So(1))}),oh(()=>this.afterPreactivation()),K(a=>{const l=function IP(e,t,n){const i=No(e,t._root,n?n._root:void 0);return new s0(i,t)}(this.routeReuseStrategy,a.targetSnapshot,a.currentRouterState);return r={...a,targetRouterState:l}}),qe(a=>{this.currentUrlTree=a.urlAfterRedirects,this.rawUrlTree=this.urlHandlingStrategy.merge(a.urlAfterRedirects,a.rawUrl),this.routerState=a.targetRouterState,"deferred"===this.urlUpdateStrategy&&(a.extras.skipLocationChange||this.setBrowserUrl(this.rawUrlTree,a),this.browserUrlTree=a.urlAfterRedirects)}),((e,t,n)=>K(i=>(new VP(t,i.targetRouterState,i.currentRouterState,n).activate(e),i)))(this.rootContexts,this.routeReuseStrategy,a=>this.triggerEvent(a)),qe({next(){o=!0},complete(){o=!0}}),Vd(()=>{o||s||this.cancelNavigationTransition(r,"",1),this.currentNavigation?.id===r.id&&(this.currentNavigation=null)}),Hn(a=>{if(s=!0,p0(a)){f0(a)||(this.navigated=!0,this.restoreHistory(r,!0));const l=new Oa(r.id,this.serializeUrl(r.extractedUrl),a.message,a.cancellationCode);if(i.next(l),f0(a)){const u=this.urlHandlingStrategy.merge(a.url,this.rawUrlTree),c={skipLocationChange:r.extras.skipLocationChange,replaceUrl:"eager"===this.urlUpdateStrategy||L0(r.source)};this.scheduleNavigation(u,"imperative",null,c,{resolve:r.resolve,reject:r.reject,promise:r.promise})}else r.resolve(!1)}else{this.restoreHistory(r,!0);const l=new t0(r.id,this.serializeUrl(r.extractedUrl),a,r.targetSnapshot??void 0);i.next(l);try{r.resolve(this.errorHandler(a))}catch(u){r.reject(u)}}return an}))}))}resetRootComponentType(n){this.rootComponentType=n,this.routerState.root.component=this.rootComponentType}setTransition(n){this.transitions.next({...this.transitions.value,...n})}initialNavigation(){this.setUpLocationChangeListener(),0===this.navigationId&&this.navigateByUrl(this.location.path(!0),{replaceUrl:!0})}setUpLocationChangeListener(){this.locationSubscription||(this.locationSubscription=this.location.subscribe(n=>{const i="popstate"===n.type?"popstate":"hashchange";"popstate"===i&&setTimeout(()=>{const r={replaceUrl:!0},o=n.state?.navigationId?n.state:null;if(o){const a={...o};delete a.navigationId,delete a.\u0275routerPageId,0!==Object.keys(a).length&&(r.state=a)}const s=this.parseUrl(n.url);this.scheduleNavigation(s,i,o,r)},0)}))}get url(){return this.serializeUrl(this.currentUrlTree)}getCurrentNavigation(){return this.currentNavigation}triggerEvent(n){this.events.next(n)}resetConfig(n){this.config=n.map(th),this.navigated=!1,this.lastSuccessfulId=-1}ngOnDestroy(){this.dispose()}dispose(){this.transitions.complete(),this.locationSubscription&&(this.locationSubscription.unsubscribe(),this.locationSubscription=void 0),this.disposed=!0}createUrlTree(n,i={}){const{relativeTo:r,queryParams:o,fragment:s,queryParamsHandling:a,preserveFragment:l}=i,u=r||this.routerState.root,c=l?this.currentUrlTree.fragment:s;let d=null;switch(a){case"merge":d={...this.currentUrlTree.queryParams,...o};break;case"preserve":d=this.currentUrlTree.queryParams;break;default:d=o||null}return null!==d&&(d=this.removeEmptyProps(d)),uP(u,this.currentUrlTree,n,d,c??null)}navigateByUrl(n,i={skipLocationChange:!1}){const r=vi(n)?n:this.parseUrl(n),o=this.urlHandlingStrategy.merge(r,this.rawUrlTree);return this.scheduleNavigation(o,"imperative",null,i)}navigate(n,i={skipLocationChange:!1}){return function UR(e){for(let t=0;t{const o=n[r];return null!=o&&(i[r]=o),i},{})}processNavigations(){this.navigations.subscribe(n=>{this.navigated=!0,this.lastSuccessfulId=n.id,this.currentPageId=n.targetPageId,this.events.next(new Ai(n.id,this.serializeUrl(n.extractedUrl),this.serializeUrl(this.currentUrlTree))),this.lastSuccessfulNavigation=this.currentNavigation,this.titleStrategy?.updateTitle(this.routerState.snapshot),n.resolve(!0)},n=>{this.console.warn(`Unhandled Navigation Error: ${n}`)})}scheduleNavigation(n,i,r,o,s){if(this.disposed)return Promise.resolve(!1);let a,l,u;s?(a=s.resolve,l=s.reject,u=s.promise):u=new Promise((h,f)=>{a=h,l=f});const c=++this.navigationId;let d;return"computed"===this.canceledNavigationResolution?(0===this.currentPageId&&(r=this.location.getState()),d=r&&r.\u0275routerPageId?r.\u0275routerPageId:o.replaceUrl||o.skipLocationChange?this.browserPageId??0:(this.browserPageId??0)+1):d=0,this.setTransition({id:c,targetPageId:d,source:i,restoredState:r,currentUrlTree:this.currentUrlTree,currentRawUrl:this.rawUrlTree,rawUrl:n,extras:o,resolve:a,reject:l,promise:u,currentSnapshot:this.routerState.snapshot,currentRouterState:this.routerState}),u.catch(h=>Promise.reject(h))}setBrowserUrl(n,i){const r=this.urlSerializer.serialize(n),o={...i.extras.state,...this.generateNgRouterState(i.id,i.targetPageId)};this.location.isCurrentPathEqualTo(r)||i.extras.replaceUrl?this.location.replaceState(r,"",o):this.location.go(r,"",o)}restoreHistory(n,i=!1){if("computed"===this.canceledNavigationResolution){const r=this.currentPageId-n.targetPageId;"popstate"!==n.source&&"eager"!==this.urlUpdateStrategy&&this.currentUrlTree!==this.currentNavigation?.finalUrl||0===r?this.currentUrlTree===this.currentNavigation?.finalUrl&&0===r&&(this.resetState(n),this.browserUrlTree=n.currentUrlTree,this.resetUrlToCurrentUrlTree()):this.location.historyGo(r)}else"replace"===this.canceledNavigationResolution&&(i&&this.resetState(n),this.resetUrlToCurrentUrlTree())}resetState(n){this.routerState=n.currentRouterState,this.currentUrlTree=n.currentUrlTree,this.rawUrlTree=this.urlHandlingStrategy.merge(this.currentUrlTree,n.rawUrl)}resetUrlToCurrentUrlTree(){this.location.replaceState(this.urlSerializer.serialize(this.rawUrlTree),"",this.generateNgRouterState(this.lastSuccessfulId,this.currentPageId))}cancelNavigationTransition(n,i,r){const o=new Oa(n.id,this.serializeUrl(n.extractedUrl),i,r);this.triggerEvent(o),n.resolve(!1)}generateNgRouterState(n,i){return"computed"===this.canceledNavigationResolution?{navigationId:n,\u0275routerPageId:i}:{navigationId:n}}}return e.\u0275fac=function(n){Su()},e.\u0275prov=H({token:e,factory:function(){return F0()},providedIn:"root"}),e})();function L0(e){return"imperative"!==e}class O0{}let $R=(()=>{class e{constructor(n,i,r,o,s){this.router=n,this.injector=r,this.preloadingStrategy=o,this.loader=s}setUpPreloading(){this.subscription=this.router.events.pipe(Un(n=>n instanceof Ai),mi(()=>this.preload())).subscribe(()=>{})}preload(){return this.processRoutes(this.injector,this.router.config)}ngOnDestroy(){this.subscription&&this.subscription.unsubscribe()}processRoutes(n,i){const r=[];for(const o of i){o.providers&&!o._injector&&(o._injector=Gs(o.providers,n,`Route: ${o.path}`));const s=o._injector??n,a=o._loadedInjector??s;o.loadChildren&&!o._loadedRoutes&&void 0===o.canLoad||o.loadComponent&&!o._loadedComponent?r.push(this.preloadConfig(s,o)):(o.children||o._loadedRoutes)&&r.push(this.processRoutes(a,o.children??o._loadedRoutes))}return Ce(r).pipe(_i())}preloadConfig(n,i){return this.preloadingStrategy.preload(i,()=>{let r;r=i.loadChildren&&void 0===i.canLoad?this.loader.loadChildren(n,i):k(null);const o=r.pipe(Ve(s=>null===s?k(void 0):(i._loadedRoutes=s.routes,i._loadedInjector=s.injector,this.processRoutes(s.injector??n,s.routes))));return i.loadComponent&&!i._loadedComponent?Ce([o,this.loader.loadComponent(i)]).pipe(_i()):o})}}return e.\u0275fac=function(n){return new(n||e)(x(Oe),x(Sc),x(Pn),x(O0),x(ah))},e.\u0275prov=H({token:e,factory:e.\u0275fac,providedIn:"root"}),e})();const ch=new R("");let V0=(()=>{class e{constructor(n,i,r={}){this.router=n,this.viewportScroller=i,this.options=r,this.lastId=0,this.lastSource="imperative",this.restoredId=0,this.store={},r.scrollPositionRestoration=r.scrollPositionRestoration||"disabled",r.anchorScrolling=r.anchorScrolling||"disabled"}init(){"disabled"!==this.options.scrollPositionRestoration&&this.viewportScroller.setHistoryScrollRestoration("manual"),this.routerEventsSubscription=this.createScrollEvents(),this.scrollEventsSubscription=this.consumeScrollEvents()}createScrollEvents(){return this.router.events.subscribe(n=>{n instanceof Wd?(this.store[this.lastId]=this.viewportScroller.getScrollPosition(),this.lastSource=n.navigationTrigger,this.restoredId=n.restoredState?n.restoredState.navigationId:0):n instanceof Ai&&(this.lastId=n.id,this.scheduleScrollEvent(n,this.router.parseUrl(n.urlAfterRedirects).fragment))})}consumeScrollEvents(){return this.router.events.subscribe(n=>{n instanceof r0&&(n.position?"top"===this.options.scrollPositionRestoration?this.viewportScroller.scrollToPosition([0,0]):"enabled"===this.options.scrollPositionRestoration&&this.viewportScroller.scrollToPosition(n.position):n.anchor&&"enabled"===this.options.anchorScrolling?this.viewportScroller.scrollToAnchor(n.anchor):"disabled"!==this.options.scrollPositionRestoration&&this.viewportScroller.scrollToPosition([0,0]))})}scheduleScrollEvent(n,i){this.router.triggerEvent(new r0(n,"popstate"===this.lastSource?this.store[this.restoredId]:null,i))}ngOnDestroy(){this.routerEventsSubscription&&this.routerEventsSubscription.unsubscribe(),this.scrollEventsSubscription&&this.scrollEventsSubscription.unsubscribe()}}return e.\u0275fac=function(n){Su()},e.\u0275prov=H({token:e,factory:e.\u0275fac}),e})();function yr(e,t){return{\u0275kind:e,\u0275providers:t}}function dh(e){return[{provide:sh,multi:!0,useValue:e}]}function U0(){const e=be(Ct);return t=>{const n=e.get(Zs);if(t!==n.components[0])return;const i=e.get(Oe),r=e.get(B0);1===e.get(hh)&&i.initialNavigation(),e.get(H0,null,P.Optional)?.setUpPreloading(),e.get(ch,null,P.Optional)?.init(),i.resetRootComponentType(n.componentTypes[0]),r.closed||(r.next(),r.unsubscribe())}}const B0=new R("",{factory:()=>new zt}),hh=new R("",{providedIn:"root",factory:()=>1});const H0=new R("");function JR(e){return yr(0,[{provide:H0,useExisting:$R},{provide:O0,useExisting:e}])}const $0=new R("ROUTER_FORROOT_GUARD"),qR=[Hc,{provide:zA,useClass:Ud},{provide:Oe,useFactory:F0},Fo,{provide:Gn,useFactory:function j0(e){return e.routerState.root},deps:[Oe]},ah];function QR(){return new hw("Router",Oe)}let G0=(()=>{class e{constructor(n){}static forRoot(n,i){return{ngModule:e,providers:[qR,[],dh(n),{provide:$0,useFactory:XR,deps:[[Oe,new jr,new Ur]]},{provide:Ja,useValue:i||{}},i?.useHash?{provide:fi,useClass:a2}:{provide:fi,useClass:Ow},{provide:ch,useFactory:()=>{const e=be(Oe),t=be(Sk),n=be(Ja);return n.scrollOffset&&t.setOffset(n.scrollOffset),new V0(e,t,n)}},i?.preloadingStrategy?JR(i.preloadingStrategy).\u0275providers:[],{provide:hw,multi:!0,useFactory:QR},i?.initialNavigation?eN(i):[],[{provide:z0,useFactory:U0},{provide:ow,multi:!0,useExisting:z0}]]}}static forChild(n){return{ngModule:e,providers:[dh(n)]}}}return e.\u0275fac=function(n){return new(n||e)(x($0,8))},e.\u0275mod=Jt({type:e}),e.\u0275inj=xt({imports:[Xd]}),e})();function XR(e){return"guarded"}function eN(e){return["disabled"===e.initialNavigation?yr(3,[{provide:qs,multi:!0,useFactory:()=>{const t=be(Oe);return()=>{t.setUpLocationChangeListener()}}},{provide:hh,useValue:2}]).\u0275providers:[],"enabledBlocking"===e.initialNavigation?yr(2,[{provide:hh,useValue:0},{provide:qs,multi:!0,deps:[Ct],useFactory:t=>{const n=t.get(o2,Promise.resolve());let i=!1;return()=>n.then(()=>new Promise(o=>{const s=t.get(Oe),a=t.get(B0);(function r(o){t.get(Oe).events.pipe(Un(a=>a instanceof Ai||a instanceof Oa||a instanceof t0),K(a=>a instanceof Ai||a instanceof Oa&&(0===a.code||1===a.code)&&null),Un(a=>null!==a),So(1)).subscribe(()=>{o()})})(()=>{o(!0),i=!0}),s.afterPreactivation=()=>(o(!0),i||a.closed?k(void 0):a),s.initialNavigation()}))}}]).\u0275providers:[]]}const z0=new R(""),zn=JSON.parse('[{"name":"Mona Diab","affiliation":"CMU","position":"Director of the Language Technologies Institute","hindex":57,"photo":"./assets/images/mona-diab.jpeg","scholar":"https://scholar.google.com/citations?user=-y6SIhQAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/mona-diab-55946614/","website":"","twitter":"https://mobile.twitter.com/MonaDiab77","interests":["Responsible AI","Natural Language Processing","Computational Linguistics","Arabic NLP","Cross Lingual/Multilingual Processing","Machine Learning"],"citedby":18793,"lastupdate":"2024-05-29"},{"name":"Abdelrahman Mohamed","affiliation":"Rembrand","position":"Co-Founder","hindex":51,"photo":"./assets/images/abdelrahman-mohamed.jpeg","scholar":"https://scholar.google.ca/citations?user=tJ_PrzgAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/abdel-rahman-mohamed-a5808210/","website":"","twitter":"","interests":["Speech Processing","Speech Recognition","Speech Language Processing","Machine Learning"],"citedby":60779,"lastupdate":"2024-05-29"},{"name":"Samhaa R. El-Beltagy","affiliation":"New Giza University","position":"Dean of the School of Information Technology","hindex":26,"photo":"./assets/images/samhaa-el-beltagy.jpeg","scholar":"https://scholar.google.com/citations?user=xdz-3qgAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/samhaa-el-beltagy-b410a530","website":"","twitter":"","interests":["Arabic NLP","Text Mining","Information Extraction","Sentiment Analysis","Semantic Annotation"],"citedby":2963,"lastupdate":"2024-05-29"},{"name":"Kareem Darwish","affiliation":"aiXplain","position":"Principal Scientist","hindex":46,"photo":"./assets/images/kareem-darwish.jpeg","scholar":"https://scholar.google.com/citations?user=y7tlR6UAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/kareem-darwish-788b9125","website":"http://kareemdarwish.com/files/","twitter":"https://twitter.com/kareem2darwish","interests":["Arabic NLP","Information Retrieval","Computational Social Science","Natural Language Processing"],"citedby":6802,"lastupdate":"2024-05-29"},{"name":"Ahmed Rafea","affiliation":"American University in Cairo","position":"Professor","hindex":29,"photo":"./assets/images/ahmed-rafea.jpeg","scholar":"https://scholar.google.com/citations?user=szDaQLYAAAAJ&hl=en","linkedin":"","website":"https://www.aucegypt.edu/fac/ahmedrafea","twitter":"","interests":["Natural Language Processing","Machine Translation","Mining Social Media","Text Mining","Knowledge Engineering"],"citedby":3742,"lastupdate":"2024-05-29"},{"name":"Mohsen Rashwan","affiliation":"Cairo University","position":"Professor","hindex":23,"photo":"./assets/images/mohsen-rashwan.jpeg","scholar":"https://scholar.google.com/citations?user=Q4Ic2k0AAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/mohsen-rashwan-4719364","website":"","twitter":"","interests":["Machine Learning","Speech Processing","Natural Language Processing","Human Language Technology"],"citedby":1643,"lastupdate":"2024-05-29"},{"name":"Rana el Kaliouby","affiliation":"Smart Eye","position":"Deputy CEO","hindex":47,"photo":"./assets/images/rana-el-kaliouby.jpeg","scholar":"https://scholar.google.com/citations?user=tpg6xzgAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/kaliouby/","website":"https://ranaelkaliouby.com/","twitter":"https://twitter.com/kaliouby","interests":["Affective Computing","Emotion AI","Human Perception","Computer Vision","Machine Learning"],"citedby":7567,"lastupdate":"2024-05-29"},{"name":"Mohamed Afify","affiliation":"Microsoft","position":"Principal Researcher","hindex":18,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?user=1ZIc388AAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Machine Translation","Speech Recognition","Natural Language Processing","Adaptation Models","Computational Linguistics","Phonology"],"citedby":1240,"lastupdate":"2024-05-29"},{"name":"Hany Hassan Awadalla","affiliation":"Microsoft","position":"Partner Research Manager","hindex":31,"photo":"./assets/images/hany-hassan.jpeg","scholar":"https://scholar.google.com/citations?user=jqsVHbsAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/hany-hassan-awadalla/","website":"https://www.microsoft.com/en-us/research/people/hanyh/","twitter":"https://twitter.com/hany_hassan","interests":["Machine Translation","Machine Learning","Natural Language Processing","Deep Learning","Semi-supervised Learning"],"citedby":3768,"lastupdate":"2024-05-29"},{"name":"Ahmed Tawfik","affiliation":"Microsoft","position":"Principal Data and Applied Science Manager","hindex":11,"photo":"./assets/images/ahmed-tawfik.jpeg","scholar":"https://scholar.google.com.eg/citations?hl=en&user=8mRqcrIAAAAJ","linkedin":"https://www.linkedin.com/in/ahmed-tawfik-903a093","website":"https://www.microsoft.com/en-us/research/people/atawfik/","twitter":"","interests":["Machine Translation","Machine Learning","Natural Language Processing","Deep Learning","Text-to-Speech"],"citedby":438,"lastupdate":"2024-05-29"},{"name":"Mohamed Moustafa","affiliation":"Amazon","position":"Applied Science Manager","hindex":19,"photo":"./assets/images/mohamed-moustafa.jpeg","scholar":"https://scholar.google.com/citations?hl=en&user=QGdReUEAAAAJ","linkedin":"https://www.linkedin.com/in/mohamed-n-moustafa/","website":"https://www.aucegypt.edu/fac/mohamedmoustafa","twitter":"","interests":["Computer Vision","Machine Learning","Pattern Recognition","Biometrics","Deep Learning"],"citedby":1867,"lastupdate":"2024-05-29"},{"name":"Wael Hamza","affiliation":"Amazon","position":"Senior Principal Applied Scientist","hindex":24,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?user=rJnetakAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/wael-hamza-5454b63","website":"","twitter":"","interests":["Natural Language Processing","Machine Learning","Machine Translation","Natural Language Understanding","Speech"],"citedby":3232,"lastupdate":"2024-05-29"},{"name":"Iz Beltagy","affiliation":"Allen Institute for AI","position":"Senior Research Scientist","hindex":31,"photo":"./assets/images/iz-beltagy.jpeg","scholar":"https://scholar.google.com/citations?hl=en&user=jkV6H1gAAAAJ","linkedin":"https://www.linkedin.com/in/beltagy","website":"https://beltagy.net/","twitter":"https://twitter.com/i_beltagy","interests":["Natural Language Processing","Machine Learning"],"citedby":14096,"lastupdate":"2024-05-29"},{"name":"Waleed Ammar","affiliation":"Allen Institute for AI","position":"Product Manager","hindex":24,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?hl=en&user=4NZ58cQAAAAJ","linkedin":"","website":"https://wammar.github.io","twitter":"","interests":["Natural Language Processing","Machine Learning","Semantic Parsing"],"citedby":4878,"lastupdate":"2024-05-29"},{"name":"Ahmed H. Awadallah","affiliation":"Microsoft Research","position":"Senior Principal Research Manager","hindex":51,"photo":"./assets/images/ahmed-awadallah.jpeg","scholar":"https://scholar.google.com/citations?user=sNGk-9MAAAAJ&hl=en","linkedin":"","website":"https://www.microsoft.com/en-us/research/people/hassanam/","twitter":"","interests":["Natural Language Processing","Machine Learning","Information Retrieval"],"citedby":12115,"lastupdate":"2024-05-29"},{"name":"Hala Mostafa","affiliation":"Raytheon Technologies","position":"Manager","hindex":8,"photo":"./assets/images/hala-mostafa.jpeg","scholar":"https://scholar.google.com/citations?hl=en&user=zmNFj_EAAAAJ","linkedin":"","website":"http://hmostafa.com/","twitter":"","interests":["Machine Learning"],"citedby":419,"lastupdate":"2024-05-29"},{"name":"Baher Abdulhai","affiliation":"University of Toronto","position":"Professor","hindex":37,"photo":"./assets/images/abdulhai.png","scholar":"https://scholar.google.com/citations?hl=en&user=ezgstIoAAAAJ","linkedin":"https://www.linkedin.com/in/baher-abdulhai-b2460215","website":"https://uttri.utoronto.ca/people/baher-abdulhai/","twitter":"","interests":["Intelligent Transportation Systems","Traffic Control and Management","Evacuation Optimization","Congestion Pricing"],"citedby":6091,"lastupdate":"2024-05-29"},{"name":"Yaser S. Abu-Mostafa","affiliation":"Caltech","position":"Professor","hindex":29,"photo":"./assets/images/yaser-abu-mostafa.jpeg","scholar":"https://www.semanticscholar.org/author/Y.-Abu-Mostafa/1398965769","linkedin":"","website":"https://work.caltech.edu/index.html","twitter":"","interests":["Machine Learning","Artificial Intelligence","Computational Finance","Information and Complexity","Probability and Statistics"],"lastupdate":"","citedby":4141},{"name":"Marwan Torki","affiliation":"Alexandria University","position":"Associate Professor","hindex":21,"photo":"./assets/images/marwan-torki.jpeg","scholar":"https://scholar.google.com/citations?hl=en&user=aYLNZT4AAAAJ","linkedin":"","website":"http://eng.staff.alexu.edu.eg/~mtorki/","twitter":"","interests":["Machine Learning","Computer Vision","Deep Learning","Natural Language Processing"],"citedby":2865,"lastupdate":"2024-05-29"},{"name":"Medhat Moussa","affiliation":"University of Guelph","position":"Professor","hindex":23,"photo":"./assets/images/medhat-moussa.jpeg","scholar":"https://scholar.google.com/citations?hl=en&user=x-2sUG4AAAAJ","linkedin":"https://www.linkedin.com/in/medhat-moussa-3a58713","website":"https://www.uoguelph.ca/engineering/people/medhat-moussa-phd-peng","twitter":"","interests":["Robotics","Machine Learning","Machine Vision","Reconfigurable Computing"],"citedby":2000,"lastupdate":"2024-05-29"},{"name":"Khaled Shaalan","affiliation":"The British University in Dubai","position":"Professor","hindex":64,"photo":"./assets/images/khaled-shaalan.jpeg","scholar":"https://scholar.google.com/citations?hl=en&user=keLKdlgAAAAJ","linkedin":"","website":"https://sites.google.com/site/khaledshaalan/publications/full-publication-list","twitter":"","interests":["Artificial Intelligence","Arabic NLP","Computational Linguistics","Natural Language Processing","Knowledge Management"],"citedby":15948,"lastupdate":"2024-05-29"},{"name":"Ossama Emam","affiliation":"IBM","position":"Senior Technical Staff Member","hindex":18,"photo":"./assets/images/ossama-emam.jpeg","scholar":"https://scholar.google.com/citations?hl=en&user=3Xa5wWMAAAAJ","linkedin":"https://www.linkedin.com/in/ossama-emam-ph-d-21b4b2124","website":"","twitter":"","interests":["Machine Learning","Information Retrieval","Information Extraction","Mathematical and Statistical Modelling","Pattern Recognition","Speech Technology"],"citedby":1105,"lastupdate":"2024-05-29"},{"name":"Alaa Khamis","affiliation":"General Motors","position":"AI & Smart Mobility Technical Leader","hindex":28,"photo":"./assets/images/alaa-khamis.jpeg","scholar":"https://scholar.google.com/citations?hl=en&user=btM72xsAAAAJ","linkedin":"https://www.linkedin.com/in/alaakhamis/","website":"https://www.alaakhamis.org","twitter":"","interests":["Smart Mobility","Autonomous and Connected Vehicles","Cognitive IoT","Machine Learning","Combinatorial Optimization"],"citedby":5444,"lastupdate":"2024-05-29"},{"name":"Alaa Sheta","affiliation":"Southern Connecticut (SCSU)","position":"Professor","hindex":32,"photo":"./assets/images/alaa-sheta.jpeg","scholar":"https://scholar.google.com/citations?hl=en&user=x7zJsNoAAAAJ","linkedin":"https://www.linkedin.com/in/alaa-sheta-30577617/","website":"https://sites.google.com/site/profalaasheta/home","twitter":"","interests":["Machine Learning","Data Science","Image Processing","Robotics","Software Engineering"],"citedby":3949,"lastupdate":"2024-05-29"},{"name":"Ahmed K. Farahat","affiliation":"Hitachi America, Ltd. R&D","position":"Principal Research Scientist","hindex":21,"photo":"./assets/images/ahmed-farahat.jpeg","scholar":"https://scholar.google.com/citations?user=5kcdVaYAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/afarahat/","website":"http://www.afarahat.com","twitter":"","interests":["Machine Learning","Data Mining","Industrial AI"],"citedby":2131,"lastupdate":"2024-05-29"},{"name":"Motaz El-Saban","affiliation":"Microsoft","position":"Principal Data & Applied Science Manager","hindex":26,"photo":"./assets/images/motaz-el-saban.jpeg","scholar":"https://scholar.google.com/citations?hl=en&user=xHcqzWgAAAAJ","linkedin":"https://www.linkedin.com/in/motazelsaban/","website":"","twitter":"","interests":["Machine Learning","Computer Vision"],"citedby":2985,"lastupdate":"2024-05-29"},{"name":"Maher Ahmed","affiliation":"Wilfrid Laurier University","position":"Associate Professor","hindex":11,"photo":"./assets/images/maher-ahmed.jpeg","scholar":"https://scholar.google.com/citations?hl=en&user=qsJmtkMAAAAJ","linkedin":"https://www.linkedin.com/in/maher-ahmed-5baa9112","website":"https://www.wlu.ca/academics/faculties/faculty-of-science/faculty-profiles/maher-ahmed/index.html","twitter":"","interests":["Pattern Recognition","Image Processing"],"citedby":672,"lastupdate":"2024-05-29"},{"name":"Mohamed S. Kamel","affiliation":"University of Waterloo","position":"Professor - Passed Away (2015)","hindex":65,"photo":"./assets/images/mohamed-kamel.jpeg","scholar":"https://scholar.google.com/citations?hl=en&user=6Evj9YwAAAAJ","linkedin":"","website":"","twitter":"","interests":["Pattern Analysis","Machine Intelligence","Image Analysis","Pattern Recognition","Computational Intelligence"],"citedby":23282,"lastupdate":"2024-05-29"},{"name":"Ahmad Abdulkader","affiliation":"Meta","position":"Research And Development Scientist - Passed Away (2021)","hindex":7,"photo":"./assets/images/ahmad-abdulkader.jpeg","scholar":"https://www.semanticscholar.org/author/Ahmad-Abdulkader/1859983","linkedin":"","website":"","twitter":"","interests":["Machine Learning"],"lastupdate":"","citedby":345},{"name":"Ali Elkahky","affiliation":"Meta","position":"Research Scientist","hindex":14,"photo":"./assets/images/ali-elkahky.jpeg","scholar":"https://scholar.google.com/citations?user=KB3S8RoAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/ali-elkahky-32711ab/","website":"","twitter":"","interests":["Machine Learning","Natural Language Processing"],"citedby":2381,"lastupdate":"2024-05-29"},{"name":"Ahmed El Kholy","affiliation":"Microsoft","position":"Senior Applied Scientist","hindex":16,"photo":"./assets/images/ahmed-el-kholy.jpeg","scholar":"https://scholar.google.com/citations?user=n4PqfX0AAAAJ&hl=en","linkedin":"","website":"https://www.microsoft.com/en-us/research/people/ahelkhol/","twitter":"","interests":["Machine Learning","Natural Language Processing","Conversational AI"],"citedby":3782,"lastupdate":"2024-05-29"},{"name":"Walid Magdy","affiliation":"University of Edinburgh","position":"Associate Professor","hindex":37,"photo":"./assets/images/walid-magdy.jpeg","scholar":"https://scholar.google.com/citations?user=ACQD8jMAAAAJ&hl=en","linkedin":"","website":"https://homepages.inf.ed.ac.uk/wmagdy/","twitter":"https://twitter.com/Walid_Magdy","interests":["Computational Social Science","Natural Language Processing","Data Mining","Information Retrieval"],"citedby":4618,"lastupdate":"2024-05-29"},{"name":"Ahmed Ali","affiliation":"QCRI","position":"Principal Engineer","hindex":24,"photo":"./assets/images/ahmed-ali.jpeg","scholar":"https://scholar.google.com/citations?user=t0gYEjAAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/ahmedali08","website":"","twitter":"","interests":["Speech Recognition"],"citedby":2268,"lastupdate":"2024-05-29"},{"name":"Neamat El Gayar","affiliation":"Heriot Watt University","position":"Director & Uni Professor","hindex":17,"photo":"./assets/images/neamat-elgayar.jpg","scholar":"https://scholar.google.com/citations?user=RHDcyz8AAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/neamat-el-gayar-07b7297a/","website":"","twitter":"https://twitter.com/Neamat11647418","interests":["Neural Networks","Machine Learning","Computational Intelligence","Natural Language Processing"],"citedby":2058,"lastupdate":"2024-05-29"},{"name":"Amir Alansary","affiliation":"Jaguar Land Rover","position":"ML & CV Team Lead","hindex":24,"photo":"./assets/images/amir-alansary.jpeg","scholar":"https://scholar.google.com/citations?user=Sj11Jo8AAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/amiralansary/","website":"","twitter":"","interests":["Computer Vision","Machine Learning","Reinforcement Learning","Autonomous Vehicles Perception and Path Planning","Medical Imaging"],"citedby":1793,"lastupdate":"2024-05-29"},{"name":"Mustafa A Elattar","affiliation":"Intixel & Nile University","position":"Founder & Assistant Professor","hindex":13,"photo":"./assets/images/mustafa-elattar.png","scholar":"https://scholar.google.com/citations?user=BJoskL8AAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/mustafa-elattar-phd-42289112/","website":"https://www.intixel.com/","twitter":"https://twitter.com/3ttar","interests":["Medical Imaging","Artificial Intelligence","Image Analysis"],"citedby":1014,"lastupdate":"2024-05-29"},{"name":"Hesham Eraqi","affiliation":"Amazon","position":"Senior Scientist","hindex":11,"photo":"./assets/images/hesham-eraqi.jpg","scholar":"https://scholar.google.com.eg/citations?user=Sk-VfXYAAAAJ","linkedin":"https://www.linkedin.com/in/heshameraqi","website":"https://heshameraqi.github.io","twitter":"","interests":["Geospatial Machine Learning","Autonomous Driving","Deep Learning","Handwriting Recognition"],"citedby":923,"lastupdate":"2024-05-29"},{"name":"Ahmed Alsallab","affiliation":"Microsoft","position":"Principal Applied Science Manager","hindex":19,"photo":"./assets/images/ahmad-al-sallab.jpeg","scholar":"https://scholar.google.com/citations?user=hiEbSZYAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/ahmad-el-sallab-phd-7aa2195a","website":"","twitter":"","interests":["Deep Learning","Computer Vision","Natural Language Processing"],"citedby":4375,"lastupdate":"2024-05-29"},{"name":"Gamaleldin Elsayed","affiliation":"Google Brain","position":"Senior Research Scientist","hindex":19,"photo":"./assets/images/gamaleldin-elsayed.jpeg","scholar":"https://scholar.google.com/citations?user=7PrTPzsAAAAJ&hl=en&oi=ao","linkedin":"","website":"http://www.columbia.edu/~gfa2109/","twitter":"","interests":["Machine Learning","Computer Vision","Computational Neuroscience"],"citedby":3274,"lastupdate":"2024-05-29"},{"name":"Mahmoud Abou-Nasr","affiliation":"Ford Motor Company","position":"Lecturer III","hindex":11,"photo":"./assets/images/mahmoud-abou-nasr.jpeg","scholar":"https://scholar.google.com/citations?hl=en&user=qkvufmcAAAAJ","linkedin":"","website":"","twitter":"","interests":["Neural Networks","Data Mining","Deep Learning","Reinforcement Learning","Optimization"],"citedby":374,"lastupdate":"2024-05-29"},{"name":"Mohamed Elhoseiny","affiliation":"KAUST","position":"Assistant Professor","hindex":37,"photo":"./assets/images/mohamed-elhoseiny.png","scholar":"https://scholar.google.com/citations?user=iRBUTOAAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/mohamed-elhoseiny-8a836215","website":"http://www.mohamed-elhoseiny.com/","twitter":"https://twitter.com/moElhoseiny","interests":["Zero-Shot Learning","Few-Shot Learning","Computer Vision","Computational Creativity","Vision and Language"],"citedby":11236,"lastupdate":"2024-05-29"},{"name":"Amr Ahmed","affiliation":"Google","position":"Senior Staff Research Scientist","hindex":41,"photo":"./assets/images/amr-ahmed.png","scholar":"https://scholar.google.com/citations?user=ivUi2T0AAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/amr-ahmed-b998965","website":"https://research.google/people/AmrAhmed/","twitter":"","interests":["Machine Learning","Big Data","User Modeling","Personalization","Content Analysis"],"citedby":12488,"lastupdate":"2024-05-29"},{"name":"Amir Atiya","affiliation":"Cairo University","position":"Professor","hindex":49,"photo":"./assets/images/amir-atiya.jpeg","scholar":"https://scholar.google.com/citations?user=sT6n4zAAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/amir-atiya-8685b7","website":"https://cairo.academia.edu/AmirAtiya","twitter":"","interests":["Machine Learning","Pattern Classification","Computational Finance"],"citedby":13882,"lastupdate":"2024-05-29"},{"name":"Ramy Eskander","affiliation":"Twitter","position":"Senior Research Scientist","hindex":19,"photo":"./assets/images/ramy-eskander.jpeg","scholar":"https://scholar.google.com/citations?user=4SE1GIgAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/ramyeskander/","website":"","twitter":"","interests":["NLP","Recommendation Systems","Multilinguality","Low-Resource Languages","Arabic NLP","Unsupervised and Semi-Supervised Learning"],"citedby":2047,"lastupdate":"2024-05-29"},{"name":"Tamer Elsayed","affiliation":"Qatar University","position":"Associate Professor","hindex":33,"photo":"./assets/images/tamer-elsayed.jpeg","scholar":"https://scholar.google.com/citations?user=ekS-yPIAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/tamer-elsayed-a9a71116/","website":"http://qufaculty.qu.edu.qa/telsayed/","twitter":"https://twitter.com/tamer_elsayed","interests":["Information Retrieval","Natural Language Processing","Applied Machine Learning","Big Data Analytics"],"citedby":3471,"lastupdate":"2024-05-29"},{"name":"Mohamed Elbadrashiny","affiliation":"aiXplain","position":"Principal Scientist","hindex":17,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?user=DppUkNUAAAAJ","linkedin":"https://www.linkedin.com/in/mohamed-elbadrashiny-591908b","website":"","twitter":"","interests":["Natural Language Processing","Multimodal Dialog","Large Language Models"],"citedby":1738,"lastupdate":"2024-05-29"},{"name":"Ibrahim Sabek","affiliation":"Univ. of Southern California","position":"Assistant Professor","hindex":12,"photo":"./assets/images/ibrahim-sabek.png","scholar":"https://scholar.google.com/citations?user=R8732voAAAAJ&hl=en","linkedin":"http://www.linkedin.com/pub/ibrahim-sabek/23/422/526","website":"http://people.csail.mit.edu/ibrahimsabek/","twitter":"https://twitter.com/ibrahim_sabek","interests":["Machine Learning for Database Systems","Data Management and Analysis"],"citedby":570,"lastupdate":"2024-05-29"},{"name":"Mostafa Saad Ibrahim","affiliation":"Nvidia","position":"Senior Computer Vision Engineer","hindex":6,"photo":"./assets/images/mostafa-s-ibrahim.jpeg","scholar":"https://scholar.google.com/citations?user=2fSZbmkAAAAJ&hl=en/","linkedin":"https://www.linkedin.com/in/mostafasaad","website":"","twitter":"","interests":["Machine Learning","Computer Vision"],"citedby":859,"lastupdate":"2024-05-29"},{"name":"Mostafa Elhoushi","affiliation":"Meta","position":"Research Engineer","hindex":13,"photo":"./assets/images/mostafa-elhoushi.jpeg","scholar":"https://scholar.google.ca/citations?user=y_cwSKAAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/mostafaelhoushi/","website":"","twitter":"","interests":["Machine Learning","Deep Learning","Navigation","Quantum Computing"],"citedby":610,"lastupdate":"2024-05-29"},{"name":"Sameh Khamis","affiliation":"Rembrand","position":"Lead Research Scientist","hindex":24,"photo":"./assets/images/sameh-khamis.jpeg","scholar":"https://scholar.google.com/citations?user=9WgcwYQAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/samehkhamis/","website":"https://www.samehkhamis.com","twitter":"","interests":["Machine Learning","Computer Vision","Graphics"],"citedby":4979,"lastupdate":"2024-05-29"},{"name":"Ibrahim Sobh","affiliation":"Valeo","position":"Senior Expert of AI","hindex":11,"photo":"./assets/images/ibrahim-sobh.jpeg","scholar":"https://scholar.google.com.eg/citations?user=SODWkygAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/ibrahim-sobh-phd-8681757/","website":"","twitter":"","interests":["Machine Learning","Computer Vision","Autonomous Driving"],"citedby":2077,"lastupdate":"2024-05-29"},{"name":"Aboul Ella Hassanien","affiliation":"Cairo University","position":"Professor","hindex":90,"photo":"./assets/images/aboul-ella-hassanien-ali.jpeg","scholar":"https://scholar.google.com/citations?user=aZ6bcngAAAAJ&hl=en","linkedin":"https://eg.linkedin.com/in/aboul-ella-hassanien-48a9528","website":"","twitter":"","interests":["Artificial Intelligence","Swarm Optimization","IoT","Drones","Metaverses","Biomedical Informatics"],"citedby":35526,"lastupdate":"2024-05-29"},{"name":"Fahmi Khalifa","affiliation":"Mansoura University","position":"Assistant Professor","hindex":51,"photo":"./assets/images/fahmi-khalifa.jpeg","scholar":"https://scholar.google.ca/citations?user=Ua1i31oAAAAJ&hl=fr&oi=ao","linkedin":"","website":"","twitter":"","interests":["Medical Image Analysis","Machine Learning","Pattern Recognition","Image and Signal Processing","Multimedia","Biomedical Informatics"],"citedby":6169,"lastupdate":"2024-05-29"},{"name":"Khaled Fathy Hussein","affiliation":"Assiut University","position":"Head of CS Department","hindex":18,"photo":"./assets/images/khaled-hussain.jpeg","scholar":"https://scholar.google.com.eg/citations?hl=en&user=8DgiMfcAAAAJ&view_op=list_works&sortby=pubdate","linkedin":"","website":"https://www.aun.edu.eg/fci/khaled-fathy-hussein-saleh","twitter":"","interests":["Computer Vision","Computer Graphics","Neural Networks"],"citedby":1219,"lastupdate":"2024-05-29"},{"name":"Mohamed Nabih Ali","affiliation":"Fondazione Bruno Kessler","position":"Post Doctoral Researcher","hindex":6,"photo":"./assets/images/mohamed-nabih.jpg","scholar":"https://scholar.google.com/citations?user=6VXSI8wAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/mohamed-nabih-5011b074/","website":"","twitter":"","interests":["Artificial Intelligence","Machine Learning","Deep Learning","Speech Enhancement and Recognition","Biomedical Signal Processing","Image Processing"],"citedby":247,"lastupdate":"2024-05-29"},{"name":"Omar Khattab","affiliation":"Stanford University","position":"PhD Student","hindex":15,"photo":"./assets/images/omar-khattab.jpeg","scholar":"https://scholar.google.com/citations?user=Lwr5ozgAAAAJ&hl=en","linkedin":"","website":"https://omarkhattab.com/","twitter":"https://twitter.com/lateinteraction","interests":["Natural Language Processing","Information Retrieval"],"citedby":5509,"lastupdate":"2024-05-29"},{"name":"Ahmed Elgammal","affiliation":"Rutgers University","position":"Professor","hindex":56,"photo":"./assets/images/ahmed-elgammal.jpeg","scholar":"https://scholar.google.com/citations?user=DxQiCiIAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/ahmed-elgammal-71667911/","website":"https://sites.rutgers.edu/ahmed-elgammal/","twitter":"https://twitter.com/ahmed_elgammal?lang=en","interests":["Computer Vision"],"citedby":17534,"lastupdate":"2024-05-29"},{"name":"Ahmed El-Kishky","affiliation":"Twitter","position":"Staff ML Researcher","hindex":17,"photo":"./assets/images/ahmed-el-kishky.jpeg","scholar":"https://scholar.google.com/citations?user=A4frpBcAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/ahmed-e-56566b47/","website":"https://ahelk.github.io/","twitter":"","interests":["Machine Learning","NLP","Data Mining","Graph Learning","Recommender Systems"],"citedby":1822,"lastupdate":"2024-05-29"},{"name":"Moustafa Alzantot","affiliation":"Google Research","position":"Senior Engineer","hindex":18,"photo":"./assets/images/moustafa-alzantot.jpeg","scholar":"https://scholar.google.com/citations?user=AusbFkQAAAAJ","linkedin":"https://www.linkedin.com/in/malzantot/","website":"","twitter":"","interests":["Machine Learning","Recommender Systems","Natural Language Processing"],"citedby":4733,"lastupdate":"2024-05-29"},{"name":"Heba Elfardy","affiliation":"Amazon","position":"Senior ML Scientist","hindex":13,"photo":"./assets/images/heba-elfardy.jpeg","scholar":"https://scholar.google.com/citations?hl=en&user=L6lzWrYAAAAJ","linkedin":"https://www.linkedin.com/in/heba-elfardy-a0984b2b","website":"","twitter":"","interests":["Natural Language Processing"],"citedby":656,"lastupdate":"2024-05-29"},{"name":"Ahmed Hefny","affiliation":"Cruise","position":"Staff Research Scientist","hindex":14,"photo":"./assets/images/ahmed-hefny.jpeg","scholar":"https://scholar.google.com/citations?user=FAv6Nd8AAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/ahmed-hefny","website":"","twitter":"","interests":["Machine Learning"],"citedby":1766,"lastupdate":"2024-05-29"},{"name":"Hady Elsahar","affiliation":"Meta","position":"Research Scientist","hindex":19,"photo":"./assets/images/hady-elsahar.jpeg","scholar":"https://scholar.google.com.eg/citations?user=SbcM6bsAAAAJ&hl=en","linkedin":"","website":"https://www.hadyelsahar.io/","twitter":"https://twitter.com/hadyelsahar","interests":["Natural Language Processing","Machine Learning"],"citedby":2772,"lastupdate":"2024-05-29"},{"name":"Ahmed M. Badawi","affiliation":"Cairo University","position":"Professor","hindex":17,"photo":"./assets/images/ahmed-badawi.jpeg","scholar":"https://scholar.google.com/citations?user=r9pLu6EAAAAJ","linkedin":"https://www.linkedin.com/in/ahmed-badawi-215167a","website":"https://ieeexplore.ieee.org/author/37345733000","twitter":"","interests":["Computer Vision","Biometric","Medical Imaging","Medical Diagnosis","Multimodal Matching","Image Processing","Pattern Recognition","Pattern Classification"],"citedby":1627,"lastupdate":"2024-05-29"},{"name":"Mostafa Badawy","affiliation":"Apple","position":"(AI/ML) Software Engineer (Siri)","hindex":7,"photo":"./assets/images/mostafa-badawy.jpg","scholar":"https://scholar.google.com/citations?hl=en&user=iq8c9CkAAAAJ","linkedin":"https://www.linkedin.com/in/mostafa-gamal-badawy/","website":"","twitter":"","interests":["Machine Learning","Natural Language Processing","Computer Vision","Artificial Intelligence"],"citedby":446,"lastupdate":"2024-05-29"},{"name":"Muhammad AbdulMageed","affiliation":"UBC","position":"Associate Professor","hindex":30,"photo":"./assets/images/muhammad-abdulmageed.jpeg","scholar":"https://scholar.google.com/citations?user=SOjQhl8AAAAJ","linkedin":"","website":"https://mageed.arts.ubc.ca/","twitter":"","interests":["Arabic NLP","Natural Language Processing","Machine Learning"],"citedby":4269,"lastupdate":"2024-05-29"},{"name":"Wael Abd-Almageed","affiliation":"USC","position":"Research Associate Professor","hindex":34,"photo":"./assets/images/wael-abdalmageed.jpeg","scholar":"https://scholar.google.com/citations?user=tRGH8FkAAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Machine Learning","Computer Vision"],"citedby":4708,"lastupdate":"2024-05-29"},{"name":"Youssef Nashed","affiliation":"Stanford University","position":"Staff ML Scientist","hindex":23,"photo":"./assets/images/youssef-nashed.jpeg","scholar":"https://scholar.google.com/citations?user=pQXy90QAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/ynashed/","website":"","twitter":"","interests":["Computer Vision","Geometric Deep Learning","Graph Neural Networks"],"citedby":1727,"lastupdate":"2024-05-29"},{"name":"Abubakr Karali","affiliation":"NVIDIA","position":"Senior Solutions Architect","hindex":5,"photo":"./assets/images/abubakr-karali.jpeg","scholar":"https://scholar.google.com/citations?user=ACxQHBUAAAAJ&hl=en","linkedin":"https://se.linkedin.com/in/abubakr-karali-8988486b","website":"","twitter":"","interests":["Computer Vision","Self-Supervised Learning"],"citedby":132,"lastupdate":"2024-05-29"},{"name":"Ahmed Sahlol","affiliation":"Co-founder Tachyhealth","position":"Associate Professor of ML","hindex":16,"photo":"./assets/images/ahmed-sahlol.jpeg","scholar":"https://scholar.google.com/citations?user=JZB2oMQAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/ahmed-sahloul","website":"","twitter":"","interests":["Medical Imaging","Medical NLP","Medical Fraud Detection"],"citedby":1641,"lastupdate":"2024-05-29"},{"name":"Eslam Kamal","affiliation":"Microsoft","position":"Applied Science Manager","hindex":9,"photo":"./assets/images/eslam-kamal.jpeg","scholar":"https://scholar.google.com/citations?user=KRFyxS0AAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/eslamkamal85","website":"","twitter":"","interests":["NLP","LLMs","Conversational AI","Responsible AI"],"citedby":374,"lastupdate":"2024-05-29"},{"name":"Yehia Elshater","affiliation":"Amazon","position":"Data/Applied Scientist","hindex":5,"photo":"./assets/images/yehia-elshater.jpeg","scholar":"https://scholar.google.com/citations?user=S8MZ9PMAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/yehiaz/","website":"","twitter":"","interests":["Recommendation Engines","NLP","Forecasting"],"citedby":139,"lastupdate":"2024-05-29"},{"name":"Ahmed Rashed","affiliation":"Volkswagen Financial Service","position":"Senior Data Scientist","hindex":6,"photo":"./assets/images/ahmed-rashed.jpeg","scholar":"https://scholar.google.com.eg/citations?user=-wyZHw8AAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/ahmedrashed-ai/","website":"","twitter":"","interests":["Recommender Systems","Graph Mining","Time Series Forecasting"],"citedby":273,"lastupdate":"2024-05-29"},{"name":"Shady Elbassuoni","affiliation":"American University of Beirut","position":"Associate Professor","hindex":24,"photo":"./assets/images/shady-elbassuoni.jpg","scholar":"https://scholar.google.com/citations?user=Fe8iIHMAAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Natural Language Processing","Computer Vision","Information Retrieval","Public Health and Medicine"],"citedby":3042,"lastupdate":"2024-05-29"},{"name":"Noha Radwan","affiliation":"Inceptive","position":"Researcher","hindex":12,"photo":"./assets/images/noha-radwan.jpeg","scholar":"https://scholar.google.com/citations?user=g98QcZUAAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Computer vision","Deep learning"],"citedby":2648,"lastupdate":"2024-05-29"},{"name":"Radwa ElShawi","affiliation":"Tartu university","position":"Associate Professor","hindex":19,"photo":"./assets/images/radwa-elshawi.jpeg","scholar":"https://scholar.google.de/citations?user=RD5PdpwAAAAJ&hl=en","linkedin":"","website":"https://radwaelshawi.cs.ut.ee/","twitter":"","interests":["Explainable AI","AutoML","health informatics"],"citedby":1920,"lastupdate":"2024-05-29"},{"name":"Ramy Hussein","affiliation":"Stanford University","position":"Machine Learning Researcher","hindex":18,"photo":"./assets/images/ramy-hussein.jpeg","scholar":"https://scholar.google.ca/citations?user=lc3lgegAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/ramy-hussein","website":"","twitter":"","interests":["Artificial Intelligence","Computer Vision","Signal/Image Processing","Medical Imaging"],"citedby":1237,"lastupdate":"2024-05-29"},{"name":"Sarah Adel Bargal","affiliation":"Georgetown University","position":"Professor","hindex":18,"photo":"./assets/images/sarah-adel-bargal.jpeg","scholar":"https://scholar.google.com/citations?user=zjlFcrEAAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Computer vision","Deep Learning"],"citedby":2926,"lastupdate":"2024-05-29"},{"name":"Badr AlKhamissi","affiliation":"EPFL","position":"PhD Student","hindex":7,"photo":"./assets/images/badr.jpeg","scholar":"https://scholar.google.com/citations?user=0l9UHtQAAAAJ&hl=en&authuser=1","linkedin":"https://linkedin.com/in/bkhmsi","website":"https://bkhmsi.github.io","twitter":"https://twitter.com/bkhmsi","interests":["Machine Learning","Natural Language Processing","Computational Neuroscience","Computer Vision"],"citedby":214,"lastupdate":"2024-05-29"},{"name":"Moamen AbdelRazek","affiliation":"Royal Bank of Canada","position":"Lead Machine Learning Engineer","hindex":7,"photo":"./assets/images/moamen-abdelrazek.jpg","scholar":"https://scholar.google.com.eg/citations?user=7bcODQ8AAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/moamen-abdelrazek","website":"https://github.com/moemen95","twitter":"","interests":["NLP","LLMs","Computer Vision","ML Ops"],"citedby":438,"lastupdate":"2024-05-29"},{"name":"Ahmed Magooda","affiliation":"Microsoft","position":"Applied Researcher","hindex":7,"photo":"./assets/images/ahmed-magooda.jpeg","scholar":"https://scholar.google.com.eg/citations?user=x90NynMAAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["NLP","Deep Learning"],"citedby":352,"lastupdate":"2024-05-29"},{"name":"Aly El Gamal","affiliation":"Amazon","position":"Sr. Applied Scientist","hindex":18,"photo":"./assets/images/aly-elgamal.jpeg","scholar":"https://scholar.google.com/citations?view_op=list_works&hl=en&hl=en&user=x47tshQAAAAJ&sortby=pubdate","linkedin":"","website":"","twitter":"","interests":["Machine Learning","Consumer Engagement","Information Theory"],"citedby":1419,"lastupdate":"2024-05-29"},{"name":"Tamer Basha","affiliation":"BIDMC and Harvard Medical","position":"Postdoctoral Research Fellow","hindex":23,"photo":"./assets/images/tamer-basha.jpeg","scholar":"https://scholar.google.com/citations?hl=en&user=C6Hg48cAAAAJ&view_op=list_works&sortby=pubdate","linkedin":"","website":"","twitter":"","interests":["Medical Imaging"],"citedby":1951,"lastupdate":"2024-05-29"},{"name":"Momen Negm","affiliation":"Rasheed AI","position":"Co-Founder","hindex":27,"photo":"./assets/images/momen-negm.jpg","scholar":"https://scholar.google.com/citations?user=JJ_RhZEAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/momennegm/","website":"","twitter":"https://twitter.com/mo2men","interests":["Computer Vision","Machine Learning"],"citedby":4824,"lastupdate":"2024-05-29"},{"name":"Mostafa Salem","affiliation":"Assiut University","position":"Assistant Professor","hindex":11,"photo":"./assets/images/mostafa-salem.jpeg","scholar":"https://scholar.google.com.eg/citations?user=7P86J5YAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/dr-mostafasalem/","website":"https://mostafasalem.netlify.app/","twitter":"","interests":["Medical Image Analysis","Computer Vision","3D Reconstruction"],"citedby":2363,"lastupdate":"2024-05-29"},{"name":"Noureldin Elmadany","affiliation":"AAST","position":"Assistant Professor","hindex":9,"photo":"./assets/images/nour-elmadany.jpg","scholar":"https://scholar.google.com/citations?user=sy8RRsgAAAAJ&hl=ja","linkedin":"","website":"","twitter":"","interests":["Multimodal Learning","Action Recognition and Anticipation"],"citedby":258,"lastupdate":"2024-05-29"},{"name":"Ahmed Masry","affiliation":"Arteria AI","position":"Data Scientist","hindex":6,"photo":"./assets/images/ahmed-elmasry.jpg","scholar":"https://scholar.google.com/citations?user=XqPX5XcAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/ahmed-masry-ku/","website":"","twitter":"https://twitter.com/Ahmed_Masry97","interests":["NLP","Multimodal Chart & Document Understanding","Computer Vision"],"citedby":332,"lastupdate":"2024-05-29"},{"name":"Sahar Selim","affiliation":"Nile University","position":"Assistant Professor","hindex":7,"photo":"./assets/images/sahar-selim.jpeg","scholar":"https://scholar.google.com.eg/citations?hl=en&user=Ynx9NTwAAAAJ&view_op=list_works&sortby=pubdate","linkedin":"https://www.linkedin.com/in/sahar-selim-soussa/?originalSubdomain=eg","website":"","twitter":"","interests":["Machine Learning","Medical Imaging","Brain-Computer Interface","Neural Engineering"],"citedby":299,"lastupdate":"2024-05-29"},{"name":"Ghada Khoriba","affiliation":"Nile University","position":"Associate Professor","hindex":9,"photo":"./assets/images/ghada-khoriba.jpg","scholar":"https://scholar.google.com.eg/citations?hl=en&user=jwTBsIIAAAAJ","linkedin":"https://www.linkedin.com/in/ghada-khoriba-090b72113","website":"https://www.nu.edu.eg/academic-staff/dr-ghada-khoriba","twitter":"","interests":["Medical Image Analysis","Machine Learning","Swarm Algorithms","Computer Vision","NLP","LLMs","Knowledge Graphs."],"citedby":693,"lastupdate":"2024-05-29"},{"name":"Fatma Elzahraa Eid","affiliation":"Broad Institute of MIT and Harvard / Al-Azhar University","position":"Biomedical Machine Learning Group Lead","hindex":6,"photo":"./assets/images/fatma-elzahraa.jpeg","scholar":"https://scholar.google.ca/citations?user=Q4RV3MEAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/fatma-elzahraa-eid-553b475b/","website":"","twitter":"","interests":["Biomedical ML","Data-driven Protein Engineering","Biological sequence engineering","Data-driven Therapeutics"],"citedby":442,"lastupdate":"2024-05-29"},{"name":"Haitham Elmarakeby","affiliation":"Harvard Medical School / Alazhar University","position":"Instructor / ML Group Lead","hindex":17,"photo":"./assets/images/haitham-elmarakeby.jpeg","scholar":"https://scholar.google.com/citations?user=yg6RHWoAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/haitham-elmarakeby/","website":"https://connects.catalyst.harvard.edu/Profiles/display/Person/162206","twitter":"","interests":["Cancer Machine Learning"],"citedby":2153,"lastupdate":"2024-05-29"},{"name":"Ahmad Taher Azar","affiliation":"Prince Sultan / Benha Uni","position":"Full Professor","hindex":73,"photo":"./assets/images/ahmad-azar.jpeg","scholar":"https://scholar.google.com/citations?user=6gf4UVkAAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Control Theory & Applications","Robotics","Artificial Intelligence","Reinforcement Learning"],"citedby":19052,"lastupdate":"2024-05-29"},{"name":"Hossam Hassan Ammar","affiliation":"University of Hertfordshire","position":"Assistant Professor of Mechatronics and Robotics, CTO of ITC","hindex":17,"photo":"./assets/images/hossam-ammar.jpeg","scholar":"https://scholar.google.com/citations?user=gxtCFWkAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/hossam-ammar-\u060c-phd-mieee-6707317b","website":"","twitter":"","interests":["Machine Learning","Robotics","Automatic Control","Renewable Energy"],"citedby":786,"lastupdate":"2024-05-29"},{"name":"Marwa Mahmoud","affiliation":"University of Glasgow","position":"Assistant Professor","hindex":19,"photo":"./assets/images/marwa-mahmoud.jpeg","scholar":"https://scholar.google.com/citations?user=mYyG4p0AAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Affective Computing","Computer Vision","Gesture Recognition","Animal Behaviour Understanding"],"citedby":1726,"lastupdate":"2024-05-29"},{"name":"Ahmed Elgohary","affiliation":"Microsoft","position":"Researcher","hindex":17,"photo":"./assets/images/ahmed-elgohary.jpeg","scholar":"https://scholar.google.com/citations?user=WDTv0I4AAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Natural Language Processing"],"citedby":3790,"lastupdate":"2024-05-29"},{"name":"Amr Sharaf","affiliation":"Microsoft","position":"Researcher","hindex":10,"photo":"./assets/images/amr-sharaf.jpeg","scholar":"https://scholar.google.com/citations?user=It3Gm1EAAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Natural Language Processing","Computer Vision","Machine Learning"],"citedby":575,"lastupdate":"2024-05-29"},{"name":"Hazem Rashed","affiliation":"Valeo","position":"Senior Principal ML Research Engineer","hindex":17,"photo":"./assets/images/hasem-rashed.jpg","scholar":"https://scholar.google.com/citations?user=hYdZUowAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/hazem-rashed-a9490428/","website":"","twitter":"","interests":["Deep Learning","Computer Vision","Autonomous Driving"],"citedby":1329,"lastupdate":"2024-05-29"},{"name":"Mennatullah Siam","affiliation":"Ontario Tech University","position":"Tenure-Track Assistant Professor","hindex":15,"photo":"./assets/images/mennatullah_siam.jpg","scholar":"https://scholar.google.com/citations?user=AVPds3kAAAAJ&hl=en&oi=ao","linkedin":"https://www.linkedin.com/in/mennatullah-siam-6546508a","website":"https://msiam.github.io/homepage/","twitter":"","interests":["Computer Vision","Deep Learning","Fewshot Learning","Video Object Segmentation","Video Understanding","Spatiotemporal Models Interpretability."],"citedby":1485,"lastupdate":"2024-05-29"},{"name":"Hamdy Mubarak","affiliation":"QCRI","position":"Principal Software Engineer","hindex":35,"photo":"./assets/images/hamdy-mubarak.jpeg","scholar":"https://scholar.google.com/citations?user=usvY6qYAAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Natural Language Processing","Software Engineering","Information Extraction","Social Media Analysis","Arabic NLP"],"citedby":4483,"lastupdate":"2024-05-29"},{"name":"Mohamed Mokbel","affiliation":"University of Minnesota","position":"Distinguished McKnight University Professor","hindex":58,"photo":"./assets/images/mohamed-mokbel.png","scholar":"https://scholar.google.com/citations?hl=en&user=GHz1ZVIAAAAJ","linkedin":"https://www.linkedin.com/in/mohamed-mokbel-4a053130/","website":"https://www.cs.umn.edu/~mokbel","twitter":"","interests":["Database Systems","Spatial Computing","Spatial AI"],"citedby":16431,"lastupdate":"2024-05-29"},{"name":"Ashraf Aboulnaga","affiliation":"QCRI","position":"Chief Scientist","hindex":42,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?hl=en&user=47sihrsAAAAJ","linkedin":"","website":"","twitter":"","interests":["Databases","Cloud computing","Graphs"],"citedby":6177,"lastupdate":"2024-05-29"},{"name":"Essam Mansour","affiliation":"Concordia University","position":"Assistant Professor","hindex":16,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?user=dqgckDgAAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Database systems","data science platforms","distributed/parallel systems","machine learning"],"citedby":1556,"lastupdate":"2024-05-29"},{"name":"Ihab F. Ilyas","affiliation":"University of Waterloo, Apple","position":"Professor, Distinguished Engineer","hindex":59,"photo":"./assets/images/ihab-ilyas.jpg","scholar":"https://scholar.google.com/citations?user=YG6mTEIAAAAJ","linkedin":"https://www.linkedin.com/in/ihabilyas","website":"https://en.wikipedia.org/wiki/Ihab_Ilyas","twitter":"https://twitter.com/ihabilyas","interests":["AI for Structured Data","Data integration","Data Cleaning","Knowledge Representation","Knowledge Graphs"],"citedby":14025,"lastupdate":"2024-05-29"},{"name":"Walid G. Aref","affiliation":"Purdue University","position":"Professor","hindex":63,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?user=vX45evgAAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Database Systems","Spatial Databases","Data Management"],"citedby":16534,"lastupdate":"2024-05-29"},{"name":"Abdurrahman Ghanem","affiliation":"Yelp","position":"Senior Software Engineer","hindex":5,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?user=XrVeZKgAAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Mobile Development","Artificial Intelligence","Machine Learning"],"citedby":550,"lastupdate":"2024-05-29"},{"name":"Hossam Hammady","affiliation":"Rayyan Systems Inc.","position":"Vice President of Engineering","hindex":12,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?hl=en&user=49pKt_kAAAAJ","linkedin":"","website":"","twitter":"","interests":["cloud computing","distributed systems","machine learning","data analytics"],"citedby":14955,"lastupdate":"2024-05-29"},{"name":"Sherif Abdou","affiliation":"Cairo University","position":"Associate Professor","hindex":20,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?user=aFYes5MAAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["artificial intelligence","Human Language technologies","speech recognition","language modeling","text to speech"],"citedby":1481,"lastupdate":"2024-05-29"},{"name":"Amr Magdy","affiliation":"UC Riverside","position":" Assistant Professor","hindex":19,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?user=11CMsKsAAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Data management","spatial data management","GIS","large-scale data analytics","indexing"],"citedby":1307,"lastupdate":"2024-05-29"},{"name":"Thanaa Ghanem","affiliation":"Metropolitan State University","position":"Metropolitan State University","hindex":16,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?user=ZUQDHsMAAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Database systems"],"citedby":1308,"lastupdate":"2024-05-29"},{"name":"Mohammed Attia","affiliation":"Google Inc.","position":"Analytical Linguist","hindex":23,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?user=fvpPkj0AAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Morphology","syntax","statistical parsing","spell checking","Lexical Functional Grammar"],"citedby":2510,"lastupdate":"2024-05-29"},{"name":"Ahmed Mourad","affiliation":"Apeiros","position":"Apeiros","hindex":10,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?user=pcibYXwAAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Information Retrieval","Evaluation","Natural language Processing","Social Media Analysis"],"citedby":544,"lastupdate":"2024-05-29"},{"name":"Tarek El-Ganainy","affiliation":"Electronic Arts","position":"Electronic Arts","hindex":8,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?user=CJi5hO0AAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Natural Language Processing","Information Retrieval","Machine Learning","Virtual Reality"],"citedby":184,"lastupdate":"2024-05-29"},{"name":"Mohamed Hefeeda","affiliation":"Simon Fraser University","position":"Professor","hindex":35,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?user=0pu-90QAAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Multimedia Systems","Computer Networks","Multimedia AI"],"citedby":6234,"lastupdate":"2024-05-29"},{"name":"Mohamed Elgharib","affiliation":"MPI for Informatics","position":"Research Group Leader","hindex":27,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?user=e1WLgm8AAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Computer Graphics","Computer Vision","Machine Learning","Virtual/Augmented Reality"],"citedby":3223,"lastupdate":"2024-05-29"},{"name":"Tarek Elgamal","affiliation":"LocknSell","position":"Founder & CEO","hindex":9,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?user=CMrSMisAAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Privacy-Preserving ML","Edge computing","Multimedia systems","Machine Learning"],"citedby":514,"lastupdate":"2024-05-29"},{"name":"AbdelRahim A. ElMadany","affiliation":"UBC","position":"PostDoc","hindex":14,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?user=v3akuNAAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/tarek-elgamal/","website":"","twitter":"","interests":["Natural Language Processing","Deep Learning","Computational Social Science","Machine Learning","Speech Act"],"citedby":1012,"lastupdate":"2024-05-29"},{"name":"Mohamed Waleed Fakhr","affiliation":"Arab academy for Science, Technology and Maritime Transport","position":"Professor","hindex":14,"photo":"./assets/images/mohamed-fakhr.jpg","scholar":"https://scholar.google.com/citations?user=37Rfy7sAAAAJ&hl=en","linkedin":"https://eg.linkedin.com/in/mohamed-waleed-fakhr-2b952036","website":"","twitter":"","interests":["Digital Signal Processing","Deep Learning","NLP"],"citedby":795,"lastupdate":"2024-05-29"},{"name":"Mohamed Loey","affiliation":"Benha University","position":"Associate Prof","hindex":19,"photo":"./assets/images/mohamed-loey.jpg","scholar":"https://scholar.google.com/citations?user=_kRSr78AAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/mloey","website":"https://bu.edu.eg/staff/mloey","twitter":"https://twitter.com/mloey","interests":["Deep Learning","Artificial Intelligence","Machine Learning","Image Processing"],"citedby":3751,"lastupdate":"2024-05-29"},{"name":"Wael Badawy","affiliation":"University of Hertfordshire","position":"Program Lead","hindex":31,"photo":"./assets/images/wael_badawy.jpg","scholar":"https://scholar.google.ca/citations?user=d_6Lp3IAAAAJ&hl=en&oi=ao","linkedin":"https://linkedIn.com/in/waelbadawy","website":"https://waelbadawy.com","twitter":"https://Twitter.com/wbadawy","interests":["Artificial Intelligence","Computer Vision","Cyber Security."],"citedby":4445,"lastupdate":"2024-05-29"},{"name":"Mohamed Salem Elaraby","affiliation":"University of Pittsburgh","position":"PhD Researcher","hindex":7,"photo":"./assets/images/mohamed-elaraby.jpg","scholar":"https://scholar.google.com.eg/citations?user=A5jMCaAAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/mohamed-salem-b25b24b6/","website":"","twitter":"https://twitter.com/MsalemUBC","interests":["Natural Language Processing","Legal Document Summarization","Deep Learning"],"citedby":244,"lastupdate":"2024-05-29"},{"name":"Mohamed Altantawy","affiliation":"Agolo","position":"CTO & Founder","hindex":5,"photo":"./assets/images/mohamed_altantawy.jpeg","scholar":"https://scholar.google.com/citations?user=aelgAPAAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/altantawy/","website":"","twitter":"","interests":["Machine Learning","Natural Langauge Processing"],"citedby":200,"lastupdate":"2024-05-29"},{"name":"Muhammad Ali Rushdi","affiliation":"Cairo & New Giza University","position":"Associate Professor","hindex":14,"photo":"./assets/images/muhammad-rushdi.png","scholar":"https://scholar.google.com/citations?user=vDgGLjsAAAAJ&hl=en&oi=ao","linkedin":"https://www.linkedin.com/in/muhammad-rushdi-4817a462/","website":"http://scholar.cu.edu.eg/mrushdi","twitter":"","interests":["Machine learning","Biomedical Signal Processing","Medical Image Analysis","Information Security and Forensics","Computer Vision","Applied Mathematics"],"citedby":635,"lastupdate":"2024-05-29"},{"name":"Mohamed El Banani","affiliation":"University of Michigan Ann Arbor","position":"PhD Student","hindex":6,"photo":"./assets/images/mohamed-elbanani.jpg","scholar":"https://scholar.google.com/citations?user=Iwe1QVEAAAAJ","linkedin":"","website":"https://mbanani.github.io/","twitter":"https://twitter.com/_mbanani","interests":["Computer Vision","Machine Learning","Cognitive Science"],"citedby":150,"lastupdate":"2024-05-29"},{"name":"Mai ElSherief","affiliation":"Northeastern University","position":"Assistant Professor","hindex":13,"photo":"./assets/images/mai-elsherief.png","scholar":"https://scholar.google.com/citations?hl=en&user=Rykl2HkAAAAJ&view_op=list_works&sortby=pubdate","linkedin":"https://www.linkedin.com/in/mai-elsherief-ph-d-38638082","website":"","twitter":"https://twitter.com/mai_elsherief?lang=en","interests":["Social computing","Natural Language Processing","Applied Machine Learning","Information science","Data"],"citedby":1760,"lastupdate":"2024-05-29"},{"name":"Mahmoud Azab","affiliation":"Meta","position":"Research Scientist","hindex":8,"photo":"./assets/images/mohamed-azab.jpeg","scholar":"https://scholar.google.com/citations?user=sQROlqMAAAAJ&hl=en","linkedin":"","website":"","twitter":"https://twitter.com/M_MoNeEb","interests":["Natural Language Processing","Computer Vision","Multimodal Machine Learning"],"citedby":255,"lastupdate":"2024-05-29"},{"name":"Ahmed M. Abdelmoniem","affiliation":"Queen Mary University of London","position":"Assistant Professor","hindex":24,"photo":"./assets/images/ahmed-abdelmoniem.jpg","scholar":"https://scholar.google.com/citations?user=CzfuSJgAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/ahmedmabdelmoniem/","website":"http://eecs.qmul.ac.uk/~ahmed/","twitter":"","interests":["Distributed Systems","Computer Networks","Machine Learning","Federated Learning"],"citedby":1219,"lastupdate":"2024-05-29"},{"name":"Walid Gomaa","affiliation":"Egypt Japan University for Science and Technology","position":"Professor","hindex":19,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?user=tZ1q2UUAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/walid-gomaa-40a45926?utm_source=share&utm_campaign=share_via&utm_content=profile&utm_medium=android_app","website":"https://sites.google.com/ejust.edu.eg/walid-gomaa/","twitter":"","interests":["Machine learning","Artificial intelligence","Computer Vision"],"citedby":1604,"lastupdate":"2024-05-29"},{"name":"Sameh Alansary","affiliation":"Alexandria University","position":"Professor and head of Phonetics and Linguistics Department","hindex":11,"photo":"./assets/images/sameh-alansary.jpeg","scholar":"https://scholar.google.com/citations?user=dgBdtaUAAAAJ&hl=en&oi=ao","linkedin":"","website":"","twitter":"","interests":["Computational Linguistics","Corpus Linguistics","NLP"],"citedby":485,"lastupdate":"2024-05-29"},{"name":"Mohamed ElHelw","affiliation":"Center for Informatics Science, Nile University","position":"Professort and Center for Informatics Science director","hindex":15,"photo":"./assets/images/default.jpg","scholar":"https://www.researchgate.net/profile/Mohamed-Elhelw","linkedin":"https://www.linkedin.com/in/mohamedelhelw/","website":"","twitter":"","interests":["Computer vision","deep learning"],"citedby":0,"lastupdate":""},{"name":"Ayman Youssef","affiliation":"Electronics Reseach institute","position":"Researcher","hindex":7,"photo":"./assets/images/ayman-youssef.jpeg","scholar":"https://scholar.google.com/citations?user=1RYci-8AAAAJ&hl=en&oi=ao","linkedin":"","website":"","twitter":"","interests":["Applications and Tools of ML","NLP","FPGA Implementations of ML Algorithms"],"citedby":421,"lastupdate":"2024-05-29"},{"name":"Mervat Gheith","affiliation":"Cairo university","position":"Assoc. Prof","hindex":10,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?user=zhZQaoYAAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["AI","NLP"],"citedby":364,"lastupdate":"2024-05-29"},{"name":"Mohamed Ezz","affiliation":"Jouf University, Al Azhar University","position":"Professor","hindex":10,"photo":"./assets/images/moahmed-ezz.jpeg","scholar":"https://scholar.google.com/citations?user=0oVjLe4AAAAJ&hl=ar&oi=ao","linkedin":"https://www.linkedin.com/in/mohamed-ezz-phd-cbap-24122210/","website":"","twitter":"","interests":["Computer Vision","Machine Learning","Natural Language Processing"],"citedby":517,"lastupdate":"2024-05-29"},{"name":"Dr Mohamed Abdelhack","affiliation":"CAMH","position":"PostDoc Fellow","hindex":6,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.co.jp/citations?user=S1TWer4AAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/mabdelhack?utm_source=share&utm_campaign=share_via&utm_content=profile&utm_medium=android_app","website":"https://mabdelhack.github.io","twitter":"https://x.com/mabdelhack?t=63lEQLFmxGgJjDKH4VKf3A&s=09","interests":["Computational Neuroscience","Machine Learning","Deep Learning","AI"],"citedby":128,"lastupdate":"2024-05-29"},{"name":"El-Sayed M. El-kenawy","affiliation":"Delta Higher Institute of Engineering and Technology","position":"Associate Professor","hindex":68,"photo":"./assets/images/sayed-kenawy.jpeg","scholar":"https://scholar.google.com/citations?user=fA25haEAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/sayed-kenawy-162328220","website":"https://sayedkenawy.com/","twitter":"","interests":["Metaheuristics","Optimization","AI","Data Mining","Machine Learning"],"citedby":11049,"lastupdate":"2024-05-29"},{"name":"Waleed A. Yousef","affiliation":"Helwan University / MESC Labs","position":"Associate Professor / Founder","hindex":14,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?user=dfBOO6oAAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":[],"citedby":1397,"lastupdate":"2024-05-29"},{"name":"Omneya Attallah","affiliation":"AASTMT","position":"Associate Professor","hindex":28,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?hl=en&user=QpDDpNEAAAAJ","linkedin":"http://linkedin.com/in/omneya-attallah-8729ab129","website":"https://aast.edu/cv.php?ser=50275","twitter":"","interests":["Deep/machine learning","Biomedical Signal Processing","Computer Vision","Pattern Recognition","Medical Imaging","Brain-Computer Interface"],"citedby":1750,"lastupdate":"2024-05-29"},{"name":"Mustafa Abdallah","affiliation":"Indiana University-Purdue University Indianapolis","position":"Assistant Professor","hindex":11,"photo":"./assets/images/mustafa-abdallah.png","scholar":"https://scholar.google.com/citations?user=NK4Ok1IAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/mustafa-abdallah-12315aa6/","website":"https://et.iupui.edu/people/mabdall","twitter":"","interests":["Game Theory","Cyber Security","Machine Learning","Game Theory","Human Decision-Making","Anomaly Detection","Explainable AI"],"citedby":257,"lastupdate":"2024-05-29"},{"name":"Mohammed El-Telbany","affiliation":"Sinai University","position":"Associated Professor","hindex":12,"photo":"./assets/images/mohammed-telbany.jpeg","scholar":"https://scholar.google.com/citations?user=kwzH-5cAAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Artificial Intelligence","Machine Learning","Robotics","Data Science"],"citedby":823,"lastupdate":"2024-05-29"},{"name":"Mohamed Sameer Abdallah","affiliation":"Gachon University","position":"Assistant Professor","hindex":7,"photo":"./assets/images/mohamed-s-abdallah.jpeg","scholar":"https://scholar.google.com/citations?user=yngA4KAAAAAJ&hl=ko","linkedin":"https://www.linkedin.com/in/mohamed-sameer-abdallah-91424740/","website":"","twitter":"","interests":["Computer Vision","Artificial Intelligence","Image Processing","Pattern Recognition","Machine Learning","Deep Learning"],"citedby":305,"lastupdate":"2024-05-29"},{"name":"Ehab Saif Ghith","affiliation":"Ain Shams University","position":"Lecturer","hindex":7,"photo":"./assets/images/ehab-ghith.jpeg","scholar":"https://scholar.google.com/citations?user=sTJEqSMAAAAJ&hl=en","linkedin":"","website":"https://www.facebook.com/dr.ehab.ghith/","twitter":"","interests":["Artificial Intelligent","Robotics","Optimization","Hybrid Algorithms","Machine Learning","Deep Learning",""],"citedby":136,"lastupdate":"2024-05-29"},{"name":"Khaled Saleh","affiliation":"University of Newcastle","position":"Lecturer (Assistant Professor)","hindex":18,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com.eg/citations?user=dC3EVo8AAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/khaled-saleh-5881a924","website":"","twitter":"","interests":["Machine Learning","Autonomous Systems","Robotic Vision","Machine Perception"],"citedby":1083,"lastupdate":"2024-05-29"},{"name":"Ahmed Abdelreheem","affiliation":"King Abdullah University of Science and Technology (KAUST)","position":"PhD Researcher","hindex":5,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?user=EcKJGvkAAAAJ&hl=en","linkedin":"http://linkedin.com/in/aabdelreheem95/","website":"https://samir55.github.io","twitter":"http://twitter.com/aabdelreheem95","interests":["3D Vision","Computer Graphics","Vision and Language","Machine Learning"],"citedby":242,"lastupdate":"2024-05-29"},{"name":"Khaled Mostafa EL Sayed","affiliation":"","position":"","hindex":11,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com.eg/citations?user=cnfPK10AAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":[],"citedby":903,"lastupdate":"2024-05-29"},{"name":"Mohamed Hesham","affiliation":"","position":"","hindex":7,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com.eg/citations?user=-PM2ulQAAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":[],"citedby":191,"lastupdate":"2024-05-29"},{"name":"Mahmoud Ghoneim","affiliation":"bp","position":"Lead NLP Scientist, Trading Analytics Associate, Data Strategist","hindex":9,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?user=rppS1xsAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/mahmoud-ghoneim-6108001","website":"","twitter":"","interests":[],"citedby":640,"lastupdate":"2024-05-29"},{"name":"Mohamed Hamza Ibrahim","affiliation":"Universit\xe9 du Qu\xe9bec en Outaouais (Canada)","position":"Adjunct Professor and Assistant Professor","hindex":8,"photo":"./assets/images/mohamad-hamza-ibrahim.jpeg","scholar":"https://scholar.google.at/citations?hl=pt-BR&user=b8437aIAAAAJ&view_op=list_works&sortby=pubdate","linkedin":"","website":"https://cerc-datascience.polymtl.ca/person/mohamed-hamza-ibrahim/","twitter":"","interests":["Artificial Intelligence","Machine Learning","Generative deep learning","Big data mining","Complex network analysis"],"citedby":341,"lastupdate":"2024-05-29"},{"name":"Ahmed Alaa","affiliation":"UC Berkeley","position":"Assistant Professor","hindex":34,"photo":"./assets/images/ahmed-alaa.png","scholar":"https://scholar.google.com/citations?user=_pv1sEcAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/ahmed-m-alaa-b1007614/","website":"","twitter":"https://twitter.com/i/flow/login?redirect_after_login=%2F_ahmedmalaa","interests":["Machine Learning","Statistics","AI for Medicine"],"citedby":3897,"lastupdate":"2024-05-29"}]');let W0=(()=>{class e{constructor(){}getResearchIntersts(n){let i=new Set,r={};for(let a=0;a0;i--){const r=Math.floor(Math.random()*(i+1));[n[i],n[r]]=[n[r],n[i]]}return n}sortAZ(n){return n.sort((i,r)=>i.name.localeCompare(r.name))}sortHIndex(n){return n.sort((i,r)=>r.hindex-i.hindex)}sortCitations(n){return n.sort((i,r)=>r.citedby-i.citedby)}sortShuffle(n){return this.shuffle(n)}}return e.\u0275fac=function(n){return new(n||e)},e.\u0275prov=H({token:e,factory:e.\u0275fac,providedIn:"root"}),e})();function nN(e,t){if(1&e){const n=to();b(0,"div",30)(1,"input",31),Q("change",function(){return ni(n),ii(Ot().filterInterests())})("ngModelChange",function(r){const s=ni(n).$implicit;return ii(Ot().rinterests[s.key]=r)}),_(),b(2,"label",32),C(3),_()()}if(2&e){const n=t.$implicit,i=Ot();N(1),wn("id","",n.key,"Checkbox"),we("value",n.key),re("ngModel",i.rinterests[n.key]),N(1),wn("for","",n.key,"Checkbox"),N(1),or("",n.key," (",i.rinterestsFreq[n.key],")")}}function iN(e,t){if(1&e&&(b(0,"div",33)(1,"a",34)(2,"div",35),V(3,"img",36),b(4,"span"),C(5),_()()()()),2&e){const n=t.$implicit;N(1),wn("href","#",n.name,"",je),N(2),we("src",n.photo,je),we("alt",n.name),N(2),js(n.name)}}function rN(e,t){if(1&e){const n=to();b(0,"div",37)(1,"div",38)(2,"div")(3,"a",39),Q("click",function(){const o=ni(n).$implicit;return ii(Ot().editProfile(o))}),V(4,"i",40),_()(),V(5,"img",41),b(6,"div",42)(7,"h4",43),C(8),_(),b(9,"h5",44),C(10),_(),b(11,"h6",45),C(12),_(),b(13,"span",46),C(14),co(15,"number"),_(),b(16,"span",46),C(17," h-index: - "),_(),b(18,"div",47)(19,"strong"),C(20,"Research Interests:"),_(),b(21,"p",48),C(22),_()(),V(23,"hr"),b(24,"p",49)(25,"a",50),V(26,"i",51),_(),b(27,"a",50),V(28,"i",52),_(),b(29,"a",50),V(30,"i",53),_(),b(31,"a",50),V(32,"i",54),_()()()()()}if(2&e){const n=t.$implicit;re("hidden",!Ot().en_active),N(1),we("id",n.name),N(4),we("src",n.photo,je),we("alt",n.name),N(3),wt(" ",n.name," "),N(2),wt(" ",n.affiliation," "),N(2),wt(" ",n.position," "),N(1),re("hidden",0==n.hindex),N(1),or(" h-index: ",n.hindex," | Citations: ",ho(15,20,n.citedby)," "),N(2),re("hidden",0!=n.hindex),N(6),wt(" ",n.interests.toString()," "),N(3),we("href",n.website,je),re("hidden",""==n.website),N(2),we("href",n.scholar,je),re("hidden",""==n.scholar),N(2),we("href",n.twitter,je),re("hidden",""==n.twitter),N(2),we("href",n.linkedin,je),re("hidden",""==n.linkedin)}}let oN=(()=>{class e{constructor(n){this.filterService=n,this.title="Egyptians in AI",this.researchers=zn,this.rinterests={},this.rinterestsFreq={},this.profiles=this.researchers,this.searchQuery="",this.en_active=!0,[this.rinterests,this.rinterestsFreq]=this.filterService.getResearchIntersts(zn),this.sortShuffle()}ngOnInit(){}sortAZ(){this.researchers=this.filterService.sortAZ(zn)}sortHIndex(){this.researchers=this.filterService.sortHIndex(zn)}sortCitations(){this.researchers=this.filterService.sortCitations(zn)}sortShuffle(){this.researchers=this.filterService.sortShuffle(zn)}filterProfiles(n){let i=n.target.value.toLowerCase();this.researchers=this.filterService.filterProfiles(i,zn)}filterInterests(){this.researchers=this.filterService.filterInterests(zn,this.rinterests)}checkAllInterests(){for(let n in this.rinterests)this.rinterests[n]=!0;this.researchers=this.profiles}clearAllInterests(){for(let n in this.rinterests)this.rinterests[n]=!1;this.researchers=this.profiles}editProfile(n){let i="https://docs.google.com/forms/d/e/1FAIpQLSdLaYBQyOzI5gnlGzwOki3b1TJtFjLUeHUKxkGtXQDhHdSreg/viewform?usp=pp_url&entry.186050192=Update&entry.1945362270={name}&entry.843703109={affiliation}&entry.1728443742={position}&entry.113990162={gscholar}&entry.1193057171={linkedin}&entry.2083985192={twitter}&entry.1542622457={website}&entry.2030031116={research_interests}";i=i.replace("{name}",n.name),i=i.replace("{affiliation}",n.affiliation),i=i.replace("{position}",n.position),i=i.replace("{gscholar}",n.scholar),i=i.replace("{linkedin}",n.linkedin),i=i.replace("{twitter}",n.twitter),i=i.replace("{website}",n.website),i=i.replace("{research_interests}",n.interests.join(",")),window.open(i,"_blank")}}return e.\u0275fac=function(n){return new(n||e)(v(W0))},e.\u0275cmp=Ci({type:e,selectors:[["app-english"]],decls:54,vars:6,consts:[[1,"row",2,"margin-top","5em","margin-bottom","5em"],[2,"padding","1em"],["href","https://docs.google.com/forms/d/e/1FAIpQLSdLaYBQyOzI5gnlGzwOki3b1TJtFjLUeHUKxkGtXQDhHdSreg/viewform?usp=sf_link"],["href","https://medium.com/@bkhmsi/egyptians-in-ai-research-1ff64c78cc5b"],["id","sort-container",1,"row"],[1,"col-lg-2","col-md-12","col-sm-12"],["target","_blank","href","https://docs.google.com/forms/d/e/1FAIpQLSdLaYBQyOzI5gnlGzwOki3b1TJtFjLUeHUKxkGtXQDhHdSreg/viewform?usp=sf_link",1,"btn","btn-outline-primary","w-100","title"],[1,"fa","fa-pen"],[1,"col-lg-4","col-md-12","col-sm-12"],[1,"col-md-12"],[1,"search"],[1,"fa","fa-search"],["type","text","placeholder","Search By Name",1,"form-control",3,"keyup"],[1,"col-lg-1","col-md-12","col-sm-12"],[1,"btn","btn-outline-secondary","sort-button","w-100","title",3,"click"],[1,"fas","fa-sort-alpha-down"],[1,"btn","btn-outline-success","sort-button","w-100","title",3,"click"],[1,"fa-solid","fa-arrow-down-9-1"],[1,"btn","btn-outline-warning","sort-button","w-100","title",3,"click"],[1,"col-lg-1","col-md-12","col-sm-12","title"],[1,"btn","btn-outline-danger","sort-button","w-100",3,"click"],[1,"fas","fa-shuffle"],[1,"w-100",2,"margin-bottom","1rem"],[1,"btn","btn-link","sort-button",3,"click"],[1,"form-group"],["class","form-check",4,"ngFor","ngForOf"],[2,"width","100%","margin","auto"],["class","col-lg-2 col-md-6 col-sm-12 rgrid",4,"ngFor","ngForOf"],[1,"mt-3","mb-3"],["class","col-lg-3 col-md-6 col-sm-12 mb-4",3,"hidden",4,"ngFor","ngForOf"],[1,"form-check"],["type","checkbox",1,"form-check-input",3,"id","value","ngModel","change","ngModelChange"],[1,"form-check-label",3,"for"],[1,"col-lg-2","col-md-6","col-sm-12","rgrid"],[3,"href"],[1,"card","click-to-top",2,"background-color","whitesmoke","border-width","0.01px","border-radius","0"],["width","40","height","40",1,"rounded-circle","mx-auto",2,"margin","0.5rem",3,"src","alt"],[1,"col-lg-3","col-md-6","col-sm-12","mb-4",3,"hidden"],[1,"card",2,"background-color","whitesmoke",3,"id"],[1,"edit-btn",3,"click"],[1,"fa-solid","fa-pencil"],["width","160","height","160",1,"rounded-circle","mx-auto",2,"margin","0.5rem",3,"src","alt"],[1,"card-body",2,"background-color","#EAECEE"],[1,"card-title","mb-0",2,"font-size","1.4rem"],[1,"card-subtitle","mb-2","text-muted",2,"min-height","2.4em"],[1,"card-text",2,"min-height","2.3em"],[1,"card-text",2,"font-size","0.8rem",3,"hidden"],[2,"min-height","7em"],[1,"card-text",2,"font-size","0.8rem"],[1,"card-text","text-center"],["target","_blank",3,"hidden","href"],[1,"fas","fa-globe",2,"font-size","1.5rem","color","black","padding-right","0.5rem"],[1,"fas","fa-graduation-cap",2,"font-size","1.5rem","color","black","padding-right","0.5rem"],[1,"fab","fa-twitter",2,"font-size","1.5rem","color","black","padding-right","0.5rem"],[1,"fab","fa-linkedin",2,"font-size","1.5rem","color","black","padding-left","0.5rem"]],template:function(n,i){1&n&&(b(0,"div",0)(1,"p",1),C(2," Welcome to Egyptian AI, a website dedicated to showcasing the profiles of prominent Egyptian researchers in the field of Artificial Intelligence. If you believe that someone deserving is missing from our list, we welcome your suggestions. To be considered for inclusion, the only criteria is that the individual must have an "),b(3,"strong"),C(4,"h-index of 5 or higher"),_(),C(5,", as recorded on their Google Scholar profile. You can submit your suggestion by filling out "),b(6,"a",2),C(7,"this form"),_(),C(8,", or request updates for existing profiles. We hope that you find our website informative and inspiring, and we invite you to explore the profiles of our featured researchers. To date, we have included "),b(9,"strong"),C(10),_(),C(11," profiles. Please note, the list is randomly shuffled every time the page is refreshed. Check this "),b(12,"a",3),C(13,"Blog Post"),_(),C(14," to read about the motivation behind building this website. "),_(),b(15,"div",4)(16,"div",5)(17,"a",6),V(18,"i",7),C(19," Nominate Someone "),_()(),b(20,"div",8)(21,"div",9)(22,"div",10),V(23,"i",11),b(24,"input",12),Q("keyup",function(o){return i.filterProfiles(o)}),_()()()(),b(25,"div",13)(26,"button",14),Q("click",function(){return i.sortAZ()}),V(27,"i",15),C(28," AZ "),_()(),b(29,"div",5)(30,"button",16),Q("click",function(){return i.sortHIndex()}),V(31,"i",17),C(32," h-Index "),_()(),b(33,"div",5)(34,"button",18),Q("click",function(){return i.sortCitations()}),V(35,"i",17),C(36," Citations "),_()(),b(37,"div",19)(38,"button",20),Q("click",function(){return i.sortShuffle()}),V(39,"i",21),_()()(),b(40,"details",22)(41,"button",23),Q("click",function(){return i.clearAllInterests()}),C(42," Clear "),_(),b(43,"button",23),Q("click",function(){return i.checkAllInterests()}),C(44," Check All "),_(),b(45,"summary"),C(46,"Filter by Research Interests"),_(),b(47,"div",24),ui(48,nN,4,6,"div",25),co(49,"keyvalue"),_()(),b(50,"div",26),ui(51,iN,6,4,"div",27),_(),V(52,"hr",28),ui(53,rN,33,22,"div",29),_()),2&n&&(N(10),wt(" ",i.profiles.length," "),N(38),re("ngForOf",ho(49,4,i.rinterests)),N(3),re("ngForOf",i.researchers),N(2),re("ngForOf",i.researchers))},dependencies:[Yc,wa,wd,Ia,nd,td]}),e})();const Wn=JSON.parse('[{"name":"Mona Diab","affiliation":"CMU","position":"Director of the Language Technologies Institute","hindex":55,"photo":"./assets/images/mona-diab.jpeg","scholar":"https://scholar.google.com/citations?user=-y6SIhQAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/mona-diab-55946614/","website":"","twitter":"https://mobile.twitter.com/MonaDiab77","interests":["Responsible AI","Natural Language Processing","Computational Linguistics","Arabic NLP","Cross Lingual/Multilingual Processing","Machine Learning"],"citedby":16301,"lastupdate":"2023-10-14"},{"name":"Abdelrahman Mohamed","affiliation":"Rembrand","position":"Co-Founder","hindex":49,"photo":"./assets/images/abdelrahman-mohamed.jpeg","scholar":"https://scholar.google.ca/citations?user=tJ_PrzgAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/abdel-rahman-mohamed-a5808210/","website":"","twitter":"","interests":["Speech Processing","Speech Recognition","Speech Language Processing","Machine Learning"],"citedby":53168,"lastupdate":"2023-10-14"},{"name":"Samhaa R. El-Beltagy","affiliation":"New Giza University","position":"Dean of the School of Information Technology","hindex":25,"photo":"./assets/images/samhaa-el-beltagy.jpeg","scholar":"https://scholar.google.com/citations?user=xdz-3qgAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/samhaa-el-beltagy-b410a530","website":"","twitter":"","interests":["Arabic NLP","Text Mining","Information Extraction","Sentiment Analysis","Semantic Annotation"],"citedby":2778,"lastupdate":"2023-10-14"},{"name":"Kareem Darwish","affiliation":"aiXplain","position":"Principal Scientist","hindex":43,"photo":"./assets/images/kareem-darwish.jpeg","scholar":"https://scholar.google.com/citations?user=y7tlR6UAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/kareem-darwish-788b9125","website":"http://kareemdarwish.com/files/","twitter":"https://twitter.com/kareem2darwish","interests":["Arabic NLP","Information Retrieval","Computational Social Science","Natural Language Processing"],"citedby":6173,"lastupdate":"2023-10-14"},{"name":"Ahmed Rafea","affiliation":"American University in Cairo","position":"Professor","hindex":28,"photo":"./assets/images/ahmed-rafea.jpeg","scholar":"https://scholar.google.com/citations?user=szDaQLYAAAAJ&hl=en","linkedin":"","website":"https://www.aucegypt.edu/fac/ahmedrafea","twitter":"","interests":["Natural Language Processing","Machine Translation","Mining Social Media","Text Mining","Knowledge Engineering"],"citedby":3404,"lastupdate":"2023-10-14"},{"name":"Mohsen Rashwan","affiliation":"Cairo University","position":"Professor","hindex":22,"photo":"./assets/images/mohsen-rashwan.jpeg","scholar":"https://scholar.google.com/citations?user=Q4Ic2k0AAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/mohsen-rashwan-4719364","website":"","twitter":"","interests":["Machine Learning","Speech Processing","Natural Language Processing","Human Language Technology"],"citedby":1510,"lastupdate":"2023-10-14"},{"name":"Rana el Kaliouby","affiliation":"Smart Eye","position":"Deputy CEO","hindex":44,"photo":"./assets/images/rana-el-kaliouby.jpeg","scholar":"https://scholar.google.com/citations?user=tpg6xzgAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/kaliouby/","website":"https://ranaelkaliouby.com/","twitter":"https://twitter.com/kaliouby","interests":["Affective Computing","Emotion AI","Human Perception","Computer Vision","Machine Learning"],"citedby":7011,"lastupdate":"2023-10-14"},{"name":"Mohamed Afify","affiliation":"Microsoft","position":"Principal Researcher","hindex":18,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?user=1ZIc388AAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Machine Translation","Speech Recognition","Natural Language Processing","Adaptation Models","Computational Linguistics","Phonology"],"citedby":1058,"lastupdate":"2023-10-14"},{"name":"Hany Hassan Awadalla","affiliation":"Microsoft","position":"Partner Research Manager","hindex":29,"photo":"./assets/images/hany-hassan.jpeg","scholar":"https://scholar.google.com/citations?user=jqsVHbsAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/hany-hassan-awadalla/","website":"https://www.microsoft.com/en-us/research/people/hanyh/","twitter":"https://twitter.com/hany_hassan","interests":["Machine Translation","Machine Learning","Natural Language Processing","Deep Learning","Semi-supervised Learning"],"citedby":3232,"lastupdate":"2023-10-14"},{"name":"Ahmed Tawfik","affiliation":"Microsoft","position":"Principal Data and Applied Science Manager","hindex":11,"photo":"./assets/images/ahmed-tawfik.jpeg","scholar":"https://scholar.google.com.eg/citations?hl=en&user=8mRqcrIAAAAJ","linkedin":"https://www.linkedin.com/in/ahmed-tawfik-903a093","website":"https://www.microsoft.com/en-us/research/people/atawfik/","twitter":"","interests":["Machine Translation","Machine Learning","Natural Language Processing","Deep Learning","Text-to-Speech"],"citedby":416,"lastupdate":"2023-10-14"},{"name":"Mohamed Moustafa","affiliation":"Amazon","position":"Applied Science Manager","hindex":18,"photo":"./assets/images/mohamed-moustafa.jpeg","scholar":"https://scholar.google.com/citations?hl=en&user=QGdReUEAAAAJ","linkedin":"https://www.linkedin.com/in/mohamed-n-moustafa/","website":"https://www.aucegypt.edu/fac/mohamedmoustafa","twitter":"","interests":["Computer Vision","Machine Learning","Pattern Recognition","Biometrics","Deep Learning"],"citedby":1642,"lastupdate":"2023-10-14"},{"name":"Wael Hamza","affiliation":"Amazon","position":"Senior Principal Applied Scientist","hindex":23,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?user=rJnetakAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/wael-hamza-5454b63","website":"","twitter":"","interests":["Natural Language Processing","Machine Learning","Machine Translation","Natural Language Understanding","Speech"],"citedby":2970,"lastupdate":"2023-10-14"},{"name":"Iz Beltagy","affiliation":"Allen Institute for AI","position":"Senior Research Scientist","hindex":27,"photo":"./assets/images/iz-beltagy.jpeg","scholar":"https://scholar.google.com/citations?hl=en&user=jkV6H1gAAAAJ","linkedin":"https://www.linkedin.com/in/beltagy","website":"https://beltagy.net/","twitter":"https://twitter.com/i_beltagy","interests":["Natural Language Processing","Machine Learning"],"citedby":10260,"lastupdate":"2023-10-14"},{"name":"Waleed Ammar","affiliation":"Allen Institute for AI","position":"Product Manager","hindex":24,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?hl=en&user=4NZ58cQAAAAJ","linkedin":"","website":"https://wammar.github.io","twitter":"","interests":["Natural Language Processing","Machine Learning","Semantic Parsing"],"citedby":4376,"lastupdate":"2023-10-14"},{"name":"Ahmed H. Awadallah","affiliation":"Microsoft Research","position":"Senior Principal Research Manager","hindex":47,"photo":"./assets/images/ahmed-awadallah.jpeg","scholar":"https://scholar.google.com/citations?user=sNGk-9MAAAAJ&hl=en","linkedin":"","website":"https://www.microsoft.com/en-us/research/people/hassanam/","twitter":"","interests":["Natural Language Processing","Machine Learning","Information Retrieval"],"citedby":10220,"lastupdate":"2023-10-14"},{"name":"Hala Mostafa","affiliation":"Raytheon Technologies","position":"Manager","hindex":8,"photo":"./assets/images/hala-mostafa.jpeg","scholar":"https://scholar.google.com/citations?hl=en&user=zmNFj_EAAAAJ","linkedin":"","website":"http://hmostafa.com/","twitter":"","interests":["Machine Learning"],"citedby":407,"lastupdate":"2023-10-14"},{"name":"Baher Abdulhai","affiliation":"University of Toronto","position":"Professor","hindex":37,"photo":"./assets/images/abdulhai.png","scholar":"https://scholar.google.com/citations?hl=en&user=ezgstIoAAAAJ","linkedin":"https://www.linkedin.com/in/baher-abdulhai-b2460215","website":"https://uttri.utoronto.ca/people/baher-abdulhai/","twitter":"","interests":["Intelligent Transportation Systems","Traffic Control and Management","Evacuation Optimization","Congestion Pricing"],"citedby":5651,"lastupdate":"2023-10-14"},{"name":"Yaser S. Abu-Mostafa","affiliation":"Caltech","position":"Professor","hindex":29,"photo":"./assets/images/yaser-abu-mostafa.jpeg","scholar":"https://www.semanticscholar.org/author/Y.-Abu-Mostafa/1398965769","linkedin":"","website":"https://work.caltech.edu/index.html","twitter":"","interests":["Machine Learning","Artificial Intelligence","Computational Finance","Information and Complexity","Probability and Statistics"],"lastupdate":"","citedby":4141},{"name":"Marwan Torki","affiliation":"Alexandria University","position":"Associate Professor","hindex":20,"photo":"./assets/images/marwan-torki.jpeg","scholar":"https://scholar.google.com/citations?hl=en&user=aYLNZT4AAAAJ","linkedin":"","website":"http://eng.staff.alexu.edu.eg/~mtorki/","twitter":"","interests":["Machine Learning","Computer Vision","Deep Learning","Natural Language Processing"],"citedby":2594,"lastupdate":"2023-10-14"},{"name":"Medhat Moussa","affiliation":"University of Guelph","position":"Professor","hindex":22,"photo":"./assets/images/medhat-moussa.jpeg","scholar":"https://scholar.google.com/citations?hl=en&user=x-2sUG4AAAAJ","linkedin":"https://www.linkedin.com/in/medhat-moussa-3a58713","website":"https://www.uoguelph.ca/engineering/people/medhat-moussa-phd-peng","twitter":"","interests":["Robotics","Machine Learning","Machine Vision","Reconfigurable Computing"],"citedby":1829,"lastupdate":"2023-10-14"},{"name":"Khaled Shaalan","affiliation":"The British University in Dubai","position":"Professor","hindex":56,"photo":"./assets/images/khaled-shaalan.jpeg","scholar":"https://scholar.google.com/citations?hl=en&user=keLKdlgAAAAJ","linkedin":"","website":"https://sites.google.com/site/khaledshaalan/publications/full-publication-list","twitter":"","interests":["Artificial Intelligence","Arabic NLP","Computational Linguistics","Natural Language Processing","Knowledge Management"],"citedby":13479,"lastupdate":"2023-10-14"},{"name":"Ossama Emam","affiliation":"IBM","position":"Senior Technical Staff Member","hindex":18,"photo":"./assets/images/ossama-emam.jpeg","scholar":"https://scholar.google.com/citations?hl=en&user=3Xa5wWMAAAAJ","linkedin":"https://www.linkedin.com/in/ossama-emam-ph-d-21b4b2124","website":"","twitter":"","interests":["Machine Learning","Information Retrieval","Information Extraction","Mathematical and Statistical Modelling","Pattern Recognition","Speech Technology"],"citedby":1062,"lastupdate":"2023-10-14"},{"name":"Alaa Khamis","affiliation":"General Motors","position":"AI & Smart Mobility Technical Leader","hindex":28,"photo":"./assets/images/alaa-khamis.jpeg","scholar":"https://scholar.google.com/citations?hl=en&user=btM72xsAAAAJ","linkedin":"https://www.linkedin.com/in/alaakhamis/","website":"https://www.alaakhamis.org","twitter":"","interests":["Smart Mobility","Autonomous and Connected Vehicles","Cognitive IoT","Machine Learning","Combinatorial Optimization"],"citedby":4895,"lastupdate":"2023-10-14"},{"name":"Alaa Sheta","affiliation":"Southern Connecticut (SCSU)","position":"Professor","hindex":31,"photo":"./assets/images/alaa-sheta.jpeg","scholar":"https://scholar.google.com/citations?hl=en&user=x7zJsNoAAAAJ","linkedin":"https://www.linkedin.com/in/alaa-sheta-30577617/","website":"https://sites.google.com/site/profalaasheta/home","twitter":"","interests":["Machine Learning","Data Science","Image Processing","Robotics","Software Engineering"],"citedby":3657,"lastupdate":"2023-10-14"},{"name":"Ahmed K. Farahat","affiliation":"Hitachi America, Ltd. R&D","position":"Principal Research Scientist","hindex":19,"photo":"./assets/images/ahmed-farahat.jpeg","scholar":"https://scholar.google.com/citations?user=5kcdVaYAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/afarahat/","website":"http://www.afarahat.com","twitter":"","interests":["Machine Learning","Data Mining","Industrial AI"],"citedby":1875,"lastupdate":"2023-10-14"},{"name":"Motaz El-Saban","affiliation":"Microsoft","position":"Principal Data & Applied Science Manager","hindex":26,"photo":"./assets/images/motaz-el-saban.jpeg","scholar":"https://scholar.google.com/citations?hl=en&user=xHcqzWgAAAAJ","linkedin":"https://www.linkedin.com/in/motazelsaban/","website":"","twitter":"","interests":["Machine Learning","Computer Vision"],"citedby":2861,"lastupdate":"2023-10-14"},{"name":"Maher Ahmed","affiliation":"Wilfrid Laurier University","position":"Associate Professor","hindex":11,"photo":"./assets/images/maher-ahmed.jpeg","scholar":"https://scholar.google.com/citations?hl=en&user=qsJmtkMAAAAJ","linkedin":"https://www.linkedin.com/in/maher-ahmed-5baa9112","website":"https://www.wlu.ca/academics/faculties/faculty-of-science/faculty-profiles/maher-ahmed/index.html","twitter":"","interests":["Pattern Recognition","Image Processing"],"citedby":652,"lastupdate":"2023-10-14"},{"name":"Mohamed S. Kamel","affiliation":"University of Waterloo","position":"Professor - Passed Away (2015)","hindex":64,"photo":"./assets/images/mohamed-kamel.jpeg","scholar":"https://scholar.google.com/citations?hl=en&user=6Evj9YwAAAAJ","linkedin":"","website":"","twitter":"","interests":["Pattern Analysis","Machine Intelligence","Image Analysis","Pattern Recognition","Computational Intelligence"],"citedby":22429,"lastupdate":"2023-10-14"},{"name":"Ahmad Abdulkader","affiliation":"Meta","position":"Research And Development Scientist - Passed Away (2021)","hindex":7,"photo":"./assets/images/ahmad-abdulkader.jpeg","scholar":"https://www.semanticscholar.org/author/Ahmad-Abdulkader/1859983","linkedin":"","website":"","twitter":"","interests":["Machine Learning"],"lastupdate":"","citedby":345},{"name":"Ali Elkahky","affiliation":"Meta","position":"Research Scientist","hindex":14,"photo":"./assets/images/ali-elkahky.jpeg","scholar":"https://scholar.google.com/citations?user=KB3S8RoAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/ali-elkahky-32711ab/","website":"","twitter":"","interests":["Machine Learning","Natural Language Processing"],"citedby":2108,"lastupdate":"2023-10-14"},{"name":"Ahmed El Kholy","affiliation":"Microsoft","position":"Senior Applied Scientist","hindex":16,"photo":"./assets/images/ahmed-el-kholy.jpeg","scholar":"https://scholar.google.com/citations?user=n4PqfX0AAAAJ&hl=en","linkedin":"","website":"https://www.microsoft.com/en-us/research/people/ahelkhol/","twitter":"","interests":["Machine Learning","Natural Language Processing","Conversational AI"],"citedby":3246,"lastupdate":"2023-10-14"},{"name":"Walid Magdy","affiliation":"University of Edinburgh","position":"Associate Professor","hindex":37,"photo":"./assets/images/walid-magdy.jpeg","scholar":"https://scholar.google.com/citations?user=ACQD8jMAAAAJ&hl=en","linkedin":"","website":"https://homepages.inf.ed.ac.uk/wmagdy/","twitter":"https://twitter.com/Walid_Magdy","interests":["Computational Social Science","Natural Language Processing","Data Mining","Information Retrieval"],"citedby":4037,"lastupdate":"2023-10-14"},{"name":"Ahmed Ali","affiliation":"QCRI","position":"Principal Engineer","hindex":24,"photo":"./assets/images/ahmed-ali.jpeg","scholar":"https://scholar.google.com/citations?user=t0gYEjAAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/ahmedali08","website":"","twitter":"","interests":["Speech Recognition"],"citedby":2067,"lastupdate":"2023-10-14"},{"name":"Neamat El Gayar","affiliation":"Heriot Watt University","position":"Director & Uni Professor","hindex":16,"photo":"./assets/images/neamat-elgayar.jpg","scholar":"https://scholar.google.com/citations?user=RHDcyz8AAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/neamat-el-gayar-07b7297a/","website":"","twitter":"https://twitter.com/Neamat11647418","interests":["Neural Networks","Machine Learning","Computational Intelligence","Natural Language Processing"],"citedby":1881,"lastupdate":"2023-10-14"},{"name":"Amir Alansary","affiliation":"Jaguar Land Rover","position":"ML & CV Team Lead","hindex":21,"photo":"./assets/images/amir-alansary.jpeg","scholar":"https://scholar.google.com/citations?user=Sj11Jo8AAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/amiralansary/","website":"","twitter":"","interests":["Computer Vision","Machine Learning","Reinforcement Learning","Autonomous Vehicles Perception and Path Planning","Medical Imaging"],"citedby":1603,"lastupdate":"2023-10-14"},{"name":"Mustafa A Elattar","affiliation":"Intixel & Nile University","position":"Founder & Assistant Professor","hindex":11,"photo":"./assets/images/mustafa-elattar.png","scholar":"https://scholar.google.com/citations?user=BJoskL8AAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/mustafa-elattar-phd-42289112/","website":"https://www.intixel.com/","twitter":"https://twitter.com/3ttar","interests":["Medical Imaging","Artificial Intelligence","Image Analysis"],"citedby":803,"lastupdate":"2023-10-14"},{"name":"Hesham Eraqi","affiliation":"Amazon","position":"Senior Scientist","hindex":10,"photo":"./assets/images/hesham-eraqi.jpg","scholar":"https://scholar.google.com.eg/citations?user=Sk-VfXYAAAAJ","linkedin":"https://www.linkedin.com/in/heshameraqi","website":"https://heshameraqi.github.io","twitter":"","interests":["Geospatial Machine Learning","Autonomous Driving","Deep Learning","Handwriting Recognition"],"citedby":809,"lastupdate":"2023-10-14"},{"name":"Ahmed Alsallab","affiliation":"Microsoft","position":"Principal Applied Science Manager","hindex":19,"photo":"./assets/images/ahmad-al-sallab.jpeg","scholar":"https://scholar.google.com/citations?user=hiEbSZYAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/ahmad-el-sallab-phd-7aa2195a","website":"","twitter":"","interests":["Deep Learning","Computer Vision","Natural Language Processing"],"citedby":3534,"lastupdate":"2023-10-14"},{"name":"Gamaleldin Elsayed","affiliation":"Google Brain","position":"Senior Research Scientist","hindex":15,"photo":"./assets/images/gamaleldin-elsayed.jpeg","scholar":"https://scholar.google.com/citations?user=7PrTPzsAAAAJ&hl=en&oi=ao","linkedin":"","website":"http://www.columbia.edu/~gfa2109/","twitter":"","interests":["Machine Learning","Computer Vision","Computational Neuroscience"],"citedby":2033,"lastupdate":"2023-10-14"},{"name":"Mahmoud Abou-Nasr","affiliation":"Ford Motor Company","position":"Lecturer III","hindex":11,"photo":"./assets/images/mahmoud-abou-nasr.jpeg","scholar":"https://scholar.google.com/citations?hl=en&user=qkvufmcAAAAJ","linkedin":"","website":"","twitter":"","interests":["Neural Networks","Data Mining","Deep Learning","Reinforcement Learning","Optimization"],"citedby":357,"lastupdate":"2023-10-14"},{"name":"Mohamed Elhoseiny","affiliation":"KAUST","position":"Assistant Professor","hindex":34,"photo":"./assets/images/mohamed-elhoseiny.png","scholar":"https://scholar.google.com/citations?user=iRBUTOAAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/mohamed-elhoseiny-8a836215","website":"http://www.mohamed-elhoseiny.com/","twitter":"https://twitter.com/moElhoseiny","interests":["Zero-Shot Learning","Few-Shot Learning","Computer Vision","Computational Creativity","Vision and Language"],"citedby":8011,"lastupdate":"2023-10-14"},{"name":"Amr Ahmed","affiliation":"Google","position":"Senior Staff Research Scientist","hindex":39,"photo":"./assets/images/amr-ahmed.png","scholar":"https://scholar.google.com/citations?user=ivUi2T0AAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/amr-ahmed-b998965","website":"https://research.google/people/AmrAhmed/","twitter":"","interests":["Machine Learning","Big Data","User Modeling","Personalization","Content Analysis"],"citedby":11322,"lastupdate":"2023-10-14"},{"name":"Amir Atiya","affiliation":"Cairo University","position":"Professor","hindex":48,"photo":"./assets/images/amir-atiya.jpeg","scholar":"https://scholar.google.com/citations?user=sT6n4zAAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/amir-atiya-8685b7","website":"https://cairo.academia.edu/AmirAtiya","twitter":"","interests":["Machine Learning","Pattern Classification","Computational Finance"],"citedby":12838,"lastupdate":"2023-10-14"},{"name":"Ramy Eskander","affiliation":"Twitter","position":"Senior Research Scientist","hindex":19,"photo":"./assets/images/ramy-eskander.jpeg","scholar":"https://scholar.google.com/citations?user=4SE1GIgAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/ramyeskander/","website":"","twitter":"","interests":["NLP","Recommendation Systems","Multilinguality","Low-Resource Languages","Arabic NLP","Unsupervised and Semi-Supervised Learning"],"citedby":1926,"lastupdate":"2023-10-14"},{"name":"Tamer Elsayed","affiliation":"Qatar University","position":"Associate Professor","hindex":30,"photo":"./assets/images/tamer-elsayed.jpeg","scholar":"https://scholar.google.com/citations?user=ekS-yPIAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/tamer-elsayed-a9a71116/","website":"http://qufaculty.qu.edu.qa/telsayed/","twitter":"https://twitter.com/tamer_elsayed","interests":["Information Retrieval","Natural Language Processing","Applied Machine Learning","Big Data Analytics"],"citedby":3081,"lastupdate":"2023-10-14"},{"name":"Mohamed Elbadrashiny","affiliation":"aiXplain","position":"Principal Scientist","hindex":16,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?user=DppUkNUAAAAJ","linkedin":"https://www.linkedin.com/in/mohamed-elbadrashiny-591908b","website":"","twitter":"","interests":["Natural Language Processing","Multimodal Dialog","Large Language Models"],"citedby":1647,"lastupdate":"2023-10-14"},{"name":"Ibrahim Sabek","affiliation":"Univ. of Southern California","position":"Assistant Professor","hindex":11,"photo":"./assets/images/ibrahim-sabek.png","scholar":"https://scholar.google.com/citations?user=R8732voAAAAJ&hl=en","linkedin":"http://www.linkedin.com/pub/ibrahim-sabek/23/422/526","website":"http://people.csail.mit.edu/ibrahimsabek/","twitter":"https://twitter.com/ibrahim_sabek","interests":["Machine Learning for Database Systems","Data Management and Analysis"],"citedby":525,"lastupdate":"2023-10-14"},{"name":"Mostafa Saad Ibrahim","affiliation":"Nvidia","position":"Senior Computer Vision Engineer","hindex":6,"photo":"./assets/images/mostafa-s-ibrahim.jpeg","scholar":"https://scholar.google.com/citations?user=2fSZbmkAAAAJ&hl=en/","linkedin":"https://www.linkedin.com/in/mostafasaad","website":"","twitter":"","interests":["Machine Learning","Computer Vision"],"citedby":765,"lastupdate":"2023-10-14"},{"name":"Mostafa Elhoushi","affiliation":"Meta","position":"Research Engineer","hindex":12,"photo":"./assets/images/mostafa-elhoushi.jpeg","scholar":"https://scholar.google.ca/citations?user=y_cwSKAAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/mostafaelhoushi/","website":"","twitter":"","interests":["Machine Learning","Deep Learning","Navigation","Quantum Computing"],"citedby":497,"lastupdate":"2023-10-14"},{"name":"Sameh Khamis","affiliation":"Rembrand","position":"Lead Research Scientist","hindex":22,"photo":"./assets/images/sameh-khamis.jpeg","scholar":"https://scholar.google.com/citations?user=9WgcwYQAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/samehkhamis/","website":"https://www.samehkhamis.com","twitter":"","interests":["Machine Learning","Computer Vision","Graphics"],"citedby":4044,"lastupdate":"2023-10-14"},{"name":"Ibrahim Sobh","affiliation":"Valeo","position":"Senior Expert of AI","hindex":11,"photo":"./assets/images/ibrahim-sobh.jpeg","scholar":"https://scholar.google.com.eg/citations?user=SODWkygAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/ibrahim-sobh-phd-8681757/","website":"","twitter":"","interests":["Machine Learning","Computer Vision","Autonomous Driving"],"citedby":1501,"lastupdate":"2023-10-14"},{"name":"Aboul Ella Hassanien","affiliation":"Cairo University","position":"Professor","hindex":85,"photo":"./assets/images/aboul-ella-hassanien-ali.jpeg","scholar":"https://scholar.google.com/citations?user=aZ6bcngAAAAJ&hl=en","linkedin":"https://eg.linkedin.com/in/aboul-ella-hassanien-48a9528","website":"","twitter":"","interests":["Artificial Intelligence","Swarm Optimization","IoT","Drones","Metaverses","Biomedical Informatics"],"citedby":31717,"lastupdate":"2023-10-14"},{"name":"Fahmi Khalifa","affiliation":"Mansoura University","position":"Assistant Professor","hindex":48,"photo":"./assets/images/fahmi-khalifa.jpeg","scholar":"https://scholar.google.ca/citations?user=Ua1i31oAAAAJ&hl=fr&oi=ao","linkedin":"","website":"","twitter":"","interests":["Medical Image Analysis","Machine Learning","Pattern Recognition","Image and Signal Processing","Multimedia","Biomedical Informatics"],"citedby":5472,"lastupdate":"2023-10-14"},{"name":"Khaled Fathy Hussein","affiliation":"Assiut University","position":"Head of CS Department","hindex":17,"photo":"./assets/images/khaled-hussain.jpeg","scholar":"https://scholar.google.com.eg/citations?hl=en&user=8DgiMfcAAAAJ&view_op=list_works&sortby=pubdate","linkedin":"","website":"https://www.aun.edu.eg/fci/khaled-fathy-hussein-saleh","twitter":"","interests":["Computer Vision","Computer Graphics","Neural Networks"],"citedby":1112,"lastupdate":"2023-10-14"},{"name":"Mohamed Nabih Ali","affiliation":"Fondazione Bruno Kessler","position":"Post Doctoral Researcher","hindex":6,"photo":"./assets/images/mohamed-nabih.jpg","scholar":"https://scholar.google.com/citations?user=6VXSI8wAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/mohamed-nabih-5011b074/","website":"","twitter":"","interests":["Artificial Intelligence","Machine Learning","Deep Learning","Speech Enhancement and Recognition","Biomedical Signal Processing","Image Processing"],"citedby":213,"lastupdate":"2023-10-14"},{"name":"Omar Khattab","affiliation":"Stanford University","position":"PhD Student","hindex":12,"photo":"./assets/images/omar-khattab.jpeg","scholar":"https://scholar.google.com/citations?user=Lwr5ozgAAAAJ&hl=en","linkedin":"","website":"https://omarkhattab.com/","twitter":"https://twitter.com/lateinteraction","interests":["Natural Language Processing","Information Retrieval"],"citedby":2871,"lastupdate":"2023-10-14"},{"name":"Ahmed Elgammal","affiliation":"Rutgers University","position":"Professor","hindex":55,"photo":"./assets/images/ahmed-elgammal.jpeg","scholar":"https://scholar.google.com/citations?user=DxQiCiIAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/ahmed-elgammal-71667911/","website":"https://sites.rutgers.edu/ahmed-elgammal/","twitter":"https://twitter.com/ahmed_elgammal?lang=en","interests":["Computer Vision"],"citedby":16665,"lastupdate":"2023-10-14"},{"name":"Ahmed El-Kishky","affiliation":"Twitter","position":"Staff ML Researcher","hindex":16,"photo":"./assets/images/ahmed-el-kishky.jpeg","scholar":"https://scholar.google.com/citations?user=A4frpBcAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/ahmed-e-56566b47/","website":"https://ahelk.github.io/","twitter":"","interests":["Machine Learning","NLP","Data Mining","Graph Learning","Recommender Systems"],"citedby":1482,"lastupdate":"2023-10-14"},{"name":"Moustafa Alzantot","affiliation":"Google Research","position":"Senior Engineer","hindex":17,"photo":"./assets/images/moustafa-alzantot.jpeg","scholar":"https://scholar.google.com/citations?user=AusbFkQAAAAJ","linkedin":"https://www.linkedin.com/in/malzantot/","website":"","twitter":"","interests":["Machine Learning","Recommender Systems","Natural Language Processing"],"citedby":4263,"lastupdate":"2023-10-14"},{"name":"Heba Elfardy","affiliation":"Amazon","position":"Senior ML Scientist","hindex":12,"photo":"./assets/images/heba-elfardy.jpeg","scholar":"https://scholar.google.com/citations?hl=en&user=L6lzWrYAAAAJ","linkedin":"https://www.linkedin.com/in/heba-elfardy-a0984b2b","website":"","twitter":"","interests":["Natural Language Processing"],"citedby":607,"lastupdate":"2023-10-14"},{"name":"Ahmed Hefny","affiliation":"Cruise","position":"Staff Research Scientist","hindex":13,"photo":"./assets/images/ahmed-hefny.jpeg","scholar":"https://scholar.google.com/citations?user=FAv6Nd8AAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/ahmed-hefny","website":"","twitter":"","interests":["Machine Learning"],"citedby":1586,"lastupdate":"2023-10-14"},{"name":"Hady Elsahar","affiliation":"Meta","position":"Research Scientist","hindex":15,"photo":"./assets/images/hady-elsahar.jpeg","scholar":"https://scholar.google.com.eg/citations?user=SbcM6bsAAAAJ&hl=en","linkedin":"","website":"https://www.hadyelsahar.io/","twitter":"https://twitter.com/hadyelsahar","interests":["Natural Language Processing","Machine Learning"],"citedby":1755,"lastupdate":"2023-10-14"},{"name":"Ahmed M. Badawi","affiliation":"Cairo University","position":"Professor","hindex":17,"photo":"./assets/images/ahmed-badawi.jpeg","scholar":"https://scholar.google.com/citations?user=r9pLu6EAAAAJ","linkedin":"https://www.linkedin.com/in/ahmed-badawi-215167a","website":"https://ieeexplore.ieee.org/author/37345733000","twitter":"","interests":["Computer Vision","Biometric","Medical Imaging","Medical Diagnosis","Multimodal Matching","Image Processing","Pattern Recognition","Pattern Classification"],"citedby":1589,"lastupdate":"2023-10-14"},{"name":"Mostafa Badawy","affiliation":"Apple","position":"(AI/ML) Software Engineer (Siri)","hindex":7,"photo":"./assets/images/mostafa-badawy.jpg","scholar":"https://scholar.google.com/citations?hl=en&user=iq8c9CkAAAAJ","linkedin":"https://www.linkedin.com/in/mostafa-gamal-badawy/","website":"","twitter":"","interests":["Machine Learning","Natural Language Processing","Computer Vision","Artificial Intelligence"],"citedby":407,"lastupdate":"2023-10-14"},{"name":"Muhammad AbdulMageed","affiliation":"UBC","position":"Associate Professor","hindex":26,"photo":"./assets/images/muhammad-abdulmageed.jpeg","scholar":"https://scholar.google.com/citations?user=SOjQhl8AAAAJ","linkedin":"","website":"https://mageed.arts.ubc.ca/","twitter":"","interests":["Arabic NLP","Natural Language Processing","Machine Learning"],"citedby":3515,"lastupdate":"2023-10-14"},{"name":"Wael Abd-Almageed","affiliation":"USC","position":"Research Associate Professor","hindex":31,"photo":"./assets/images/wael-abdalmageed.jpeg","scholar":"https://scholar.google.com/citations?user=tRGH8FkAAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Machine Learning","Computer Vision"],"citedby":4121,"lastupdate":"2023-10-14"},{"name":"Youssef Nashed","affiliation":"Stanford University","position":"Staff ML Scientist","hindex":21,"photo":"./assets/images/youssef-nashed.jpeg","scholar":"https://scholar.google.com/citations?user=pQXy90QAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/ynashed/","website":"","twitter":"","interests":["Computer Vision","Geometric Deep Learning","Graph Neural Networks"],"citedby":1554,"lastupdate":"2023-10-14"},{"name":"Abubakr Karali","affiliation":"NVIDIA","position":"Senior Solutions Architect","hindex":5,"photo":"./assets/images/abubakr-karali.jpeg","scholar":"https://scholar.google.com/citations?user=ACxQHBUAAAAJ&hl=en","linkedin":"https://se.linkedin.com/in/abubakr-karali-8988486b","website":"","twitter":"","interests":["Computer Vision","Self-Supervised Learning"],"citedby":119,"lastupdate":"2023-10-14"},{"name":"Ahmed Sahlol","affiliation":"Co-founder Tachyhealth","position":"Associate Professor of ML","hindex":15,"photo":"./assets/images/ahmed-sahlol.jpeg","scholar":"https://scholar.google.com/citations?user=JZB2oMQAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/ahmed-sahloul","website":"","twitter":"","interests":["Medical Imaging","Medical NLP","Medical Fraud Detection"],"citedby":1428,"lastupdate":"2023-10-14"},{"name":"Eslam Kamal","affiliation":"Microsoft","position":"Applied Science Manager","hindex":8,"photo":"./assets/images/eslam-kamal.jpeg","scholar":"https://scholar.google.com/citations?user=KRFyxS0AAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/eslamkamal85","website":"","twitter":"","interests":["NLP","LLMs","Conversational AI","Responsible AI"],"citedby":324,"lastupdate":"2023-10-14"},{"name":"Yehia Elshater","affiliation":"Amazon","position":"Data/Applied Scientist","hindex":5,"photo":"./assets/images/yehia-elshater.jpeg","scholar":"https://scholar.google.com/citations?user=S8MZ9PMAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/yehiaz/","website":"","twitter":"","interests":["Recommendation Engines","NLP","Forecasting"],"citedby":135,"lastupdate":"2023-10-14"},{"name":"Ahmed Rashed","affiliation":"Volkswagen Financial Service","position":"Senior Data Scientist","hindex":6,"photo":"./assets/images/ahmed-rashed.jpeg","scholar":"https://scholar.google.com.eg/citations?user=-wyZHw8AAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/ahmedrashed-ai/","website":"","twitter":"","interests":["Recommender Systems","Graph Mining","Time Series Forecasting"],"citedby":186,"lastupdate":"2023-10-14"},{"name":"Shady Elbassuoni","affiliation":"American University of Beirut","position":"Associate Professor","hindex":23,"photo":"./assets/images/shady-elbassuoni.jpg","scholar":"https://scholar.google.com/citations?user=Fe8iIHMAAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Natural Language Processing","Computer Vision","Information Retrieval","Public Health and Medicine"],"citedby":2865,"lastupdate":"2023-10-14"},{"name":"Noha Radwan","affiliation":"Inceptive","position":"Researcher","hindex":11,"photo":"./assets/images/noha-radwan.jpeg","scholar":"https://scholar.google.com/citations?user=g98QcZUAAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Computer vision","Deep learning"],"citedby":1828,"lastupdate":"2023-10-14"},{"name":"Radwa ElShawi","affiliation":"Tartu university","position":"Associate Professor","hindex":17,"photo":"./assets/images/radwa-elshawi.jpeg","scholar":"https://scholar.google.de/citations?user=RD5PdpwAAAAJ&hl=en","linkedin":"","website":"https://radwaelshawi.cs.ut.ee/","twitter":"","interests":["Explainable AI","AutoML","health informatics"],"citedby":1610,"lastupdate":"2023-10-14"},{"name":"Ramy Hussein","affiliation":"Stanford University","position":"Machine Learning Researcher","hindex":18,"photo":"./assets/images/ramy-hussein.jpeg","scholar":"https://scholar.google.ca/citations?user=lc3lgegAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/ramy-hussein","website":"","twitter":"","interests":["Artificial Intelligence","Computer Vision","Signal/Image Processing","Medical Imaging"],"citedby":1065,"lastupdate":"2023-10-14"},{"name":"Sarah Adel Bargal","affiliation":"Georgetown University","position":"Professor","hindex":16,"photo":"./assets/images/sarah-adel-bargal.jpeg","scholar":"https://scholar.google.com/citations?user=zjlFcrEAAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Computer vision","Deep Learning"],"citedby":2543,"lastupdate":"2023-10-14"},{"name":"Badr AlKhamissi","affiliation":"EPFL","position":"PhD Student","hindex":6,"photo":"./assets/images/badr.jpeg","scholar":"https://scholar.google.com/citations?user=0l9UHtQAAAAJ&hl=en&authuser=1","linkedin":"https://linkedin.com/in/bkhmsi","website":"https://bkhmsi.github.io","twitter":"https://twitter.com/bkhmsi","interests":["Machine Learning","Natural Language Processing","Computational Neuroscience","Computer Vision"],"citedby":103,"lastupdate":"2023-10-14"},{"name":"Moamen AbdelRazek","affiliation":"Royal Bank of Canada","position":"Lead Machine Learning Engineer","hindex":7,"photo":"./assets/images/moamen-abdelrazek.jpg","scholar":"https://scholar.google.com.eg/citations?user=7bcODQ8AAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/moamen-abdelrazek","website":"https://github.com/moemen95","twitter":"","interests":["NLP","LLMs","Computer Vision","ML Ops"],"citedby":384,"lastupdate":"2023-10-14"},{"name":"Ahmed Magooda","affiliation":"Microsoft","position":"Applied Researcher","hindex":7,"photo":"./assets/images/ahmed-magooda.jpeg","scholar":"https://scholar.google.com.eg/citations?user=x90NynMAAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["NLP","Deep Learning"],"citedby":308,"lastupdate":"2023-10-14"},{"name":"Aly El Gamal","affiliation":"Amazon","position":"Sr. Applied Scientist","hindex":16,"photo":"./assets/images/aly-elgamal.jpeg","scholar":"https://scholar.google.com/citations?view_op=list_works&hl=en&hl=en&user=x47tshQAAAAJ&sortby=pubdate","linkedin":"","website":"","twitter":"","interests":["Machine Learning","Consumer Engagement","Information Theory"],"citedby":1170,"lastupdate":"2023-10-14"},{"name":"Tamer Basha","affiliation":"BIDMC and Harvard Medical","position":"Postdoctoral Research Fellow","hindex":23,"photo":"./assets/images/tamer-basha.jpeg","scholar":"https://scholar.google.com/citations?hl=en&user=C6Hg48cAAAAJ&view_op=list_works&sortby=pubdate","linkedin":"","website":"","twitter":"","interests":["Medical Imaging"],"citedby":1865,"lastupdate":"2023-10-14"},{"name":"Momen Negm","affiliation":"Rasheed AI","position":"Co-Founder","hindex":25,"photo":"./assets/images/momen-negm.jpg","scholar":"https://scholar.google.com/citations?user=JJ_RhZEAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/momennegm/","website":"","twitter":"https://twitter.com/mo2men","interests":["Computer Vision","Machine Learning"],"citedby":3807,"lastupdate":"2023-10-14"},{"name":"Mostafa Salem","affiliation":"Assiut University","position":"Assistant Professor","hindex":10,"photo":"./assets/images/mostafa-salem.jpeg","scholar":"https://scholar.google.com.eg/citations?user=7P86J5YAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/dr-mostafasalem/","website":"https://mostafasalem.netlify.app/","twitter":"","interests":["Medical Image Analysis","Computer Vision","3D Reconstruction"],"citedby":1969,"lastupdate":"2023-10-14"},{"name":"Noureldin Elmadany","affiliation":"AAST","position":"Assistant Professor","hindex":9,"photo":"./assets/images/nour-elmadany.jpg","scholar":"https://scholar.google.com/citations?user=sy8RRsgAAAAJ&hl=ja","linkedin":"","website":"","twitter":"","interests":["Multimodal Learning","Action Recognition and Anticipation"],"citedby":239,"lastupdate":"2023-10-14"},{"name":"Ahmed Masry","affiliation":"Arteria AI","position":"Data Scientist","hindex":5,"photo":"./assets/images/ahmed-elmasry.jpg","scholar":"https://scholar.google.com/citations?user=XqPX5XcAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/ahmed-masry-ku/","website":"","twitter":"https://twitter.com/Ahmed_Masry97","interests":["NLP","Multimodal Chart & Document Understanding","Computer Vision"],"citedby":138,"lastupdate":"2023-10-14"},{"name":"Sahar Selim","affiliation":"Nile University","position":"Assistant Professor","hindex":6,"photo":"./assets/images/sahar-selim.jpeg","scholar":"https://scholar.google.com.eg/citations?hl=en&user=Ynx9NTwAAAAJ&view_op=list_works&sortby=pubdate","linkedin":"https://www.linkedin.com/in/sahar-selim-soussa/?originalSubdomain=eg","website":"","twitter":"","interests":["Machine Learning","Medical Imaging","Brain-Computer Interface","Neural Engineering"],"citedby":250,"lastupdate":"2023-10-14"},{"name":"Ghada Khoriba","affiliation":"Nile University","position":"Associate Professor","hindex":9,"photo":"./assets/images/ghada-khoriba.jpg","scholar":"https://scholar.google.com.eg/citations?hl=en&user=jwTBsIIAAAAJ","linkedin":"https://www.linkedin.com/in/ghada-khoriba-090b72113","website":"https://www.nu.edu.eg/academic-staff/dr-ghada-khoriba","twitter":"","interests":["Medical Image Analysis","Machine Learning","Swarm Algorithms","Computer Vision","NLP","LLMs","Knowledge Graphs."],"citedby":597,"lastupdate":"2023-10-14"},{"name":"Fatma Elzahraa Eid","affiliation":"Broad Institute / Al-Azhar","position":"Biomedical Machine Learning Group Lead","hindex":5,"photo":"./assets/images/fatma-elzahraa.jpeg","scholar":"https://scholar.google.ca/citations?user=Q4RV3MEAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/fatma-elzahraa-eid-553b475b/","website":"","twitter":"","interests":["Biomedical ML","Data-driven Protein Engineering","Biological sequence engineering","Data-driven Therapeutics"],"citedby":363,"lastupdate":"2023-10-14"},{"name":"Haitham Elmarakeby","affiliation":"DF/HCC / Alazhar University","position":"Instructor / ML Group Lead","hindex":17,"photo":"./assets/images/haitham-elmarakeby.jpeg","scholar":"https://scholar.google.com/citations?user=yg6RHWoAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/haitham-elmarakeby/","website":"https://connects.catalyst.harvard.edu/Profiles/display/Person/162206","twitter":"","interests":["Cancer Machine Learning"],"citedby":1776,"lastupdate":"2023-10-14"},{"name":"Ahmad Taher Azar","affiliation":"Prince Sultan / Benha Uni","position":"Full Professor","hindex":68,"photo":"./assets/images/ahmad-azar.jpeg","scholar":"https://scholar.google.com/citations?user=6gf4UVkAAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Control Theory & Applications","Robotics","Artificial Intelligence","Reinforcement Learning"],"citedby":17481,"lastupdate":"2023-10-14"},{"name":"Hossam Hassan Ammar","affiliation":"University of Hertfordshire","position":"Lecturer of Mechatronics and Robotics, CTO of ITC","hindex":16,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?user=gxtCFWkAAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Machine Learning","Robotics","Automatic Control","Renewable Energy"],"citedby":672,"lastupdate":"2023-10-14"},{"name":"Marwa Mahmoud","affiliation":"University of Glasgow","position":"Assistant Professor","hindex":18,"photo":"./assets/images/marwa-mahmoud.jpeg","scholar":"https://scholar.google.com/citations?user=mYyG4p0AAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Affective Computing","Computer Vision","Gesture Recognition","Animal Behaviour Understanding"],"citedby":1550,"lastupdate":"2023-10-14"},{"name":"Ahmed Elgohary","affiliation":"Microsoft","position":"Researcher","hindex":17,"photo":"./assets/images/ahmed-elgohary.jpeg","scholar":"https://scholar.google.com/citations?user=WDTv0I4AAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Natural Language Processing"],"citedby":3380,"lastupdate":"2023-10-14"},{"name":"Amr Sharaf","affiliation":"Microsoft","position":"Researcher","hindex":8,"photo":"./assets/images/amr-sharaf.jpeg","scholar":"https://scholar.google.com/citations?user=It3Gm1EAAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Natural Language Processing","Computer Vision","Machine Learning"],"citedby":331,"lastupdate":"2023-10-14"},{"name":"Hazem Rashed","affiliation":"Valeo","position":"Senior Principal ML Research Engineer","hindex":15,"photo":"./assets/images/hasem-rashed.jpg","scholar":"https://scholar.google.com/citations?user=hYdZUowAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/hazem-rashed-a9490428/","website":"","twitter":"","interests":["Deep Learning","Computer Vision","Autonomous Driving"],"citedby":893,"lastupdate":"2023-10-14"},{"name":"Mennatullah Siam","affiliation":"Ontario Tech University","position":"Tenure-Track Assistant Professor","hindex":15,"photo":"./assets/images/mennatullah_siam.jpg","scholar":"https://scholar.google.com/citations?user=AVPds3kAAAAJ&hl=en&oi=ao","linkedin":"https://www.linkedin.com/in/mennatullah-siam-6546508a","website":"https://msiam.github.io/homepage/","twitter":"","interests":["Computer Vision","Deep Learning","Fewshot Learning","Video Object Segmentation","Video Understanding","Spatiotemporal Models Interpretability."],"citedby":1323,"lastupdate":"2023-10-14"},{"name":"Hamdy Mubarak","affiliation":"QCRI","position":"Principal Software Engineer","hindex":32,"photo":"./assets/images/hamdy-mubarak.jpeg","scholar":"https://scholar.google.com/citations?user=usvY6qYAAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Natural Language Processing","Software Engineering","Information Extraction","Social Media Analysis","Arabic NLP"],"citedby":3753,"lastupdate":"2023-10-14"},{"name":"Mohamed Mokbel","affiliation":"Univ. of Minnesota","position":"Distinguished McKnight University Professor, Univ. of Minnesota","hindex":58,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?hl=en&user=GHz1ZVIAAAAJ","linkedin":"","website":"","twitter":"","interests":["Database Systems","GIS","Spatial Databases","Spatial Big Data","Mobile Data Management"],"citedby":15995,"lastupdate":"2023-10-14"},{"name":"Ashraf Aboulnaga","affiliation":"QCRI","position":"Chief Scientist","hindex":41,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?hl=en&user=47sihrsAAAAJ","linkedin":"","website":"","twitter":"","interests":["Databases","Cloud computing","Graphs"],"citedby":5864,"lastupdate":"2023-10-14"},{"name":"Essam Mansour","affiliation":"Concordia University","position":"Assistant Professor","hindex":16,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?user=dqgckDgAAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Database systems","data science platforms","distributed/parallel systems","machine learning"],"citedby":1371,"lastupdate":"2023-10-14"},{"name":"Ihab F. Ilyas","affiliation":"University of Waterloo","position":"Professor","hindex":57,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?user=YG6mTEIAAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Databases","Data Management","Data Cleaning","Data Integration","Data Science"],"citedby":13153,"lastupdate":"2023-10-14"},{"name":"Walid G. Aref","affiliation":"Purdue University","position":"Professor","hindex":63,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?user=vX45evgAAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Database Systems","Spatial Databases","Data Management"],"citedby":16201,"lastupdate":"2023-10-14"},{"name":"Abdurrahman Ghanem","affiliation":"Yelp","position":"Senior Software Engineer","hindex":5,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?user=XrVeZKgAAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Mobile Development","Artificial Intelligence","Machine Learning"],"citedby":457,"lastupdate":"2023-10-14"},{"name":"Hossam Hammady","affiliation":"Rayyan Systems Inc.","position":"Vice President of Engineering","hindex":11,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?hl=en&user=49pKt_kAAAAJ","linkedin":"","website":"","twitter":"","interests":["cloud computing","distributed systems","machine learning","data analytics"],"citedby":11330,"lastupdate":"2023-10-14"},{"name":"Sherif Abdou","affiliation":"Cairo University","position":"Associate Professor","hindex":19,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?user=aFYes5MAAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["artificial intelligence","Human Language technologies","speech recognition","language modeling","text to speech"],"citedby":1344,"lastupdate":"2023-10-14"},{"name":"Amr Magdy","affiliation":"UC Riverside","position":" Assistant Professor","hindex":16,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?user=11CMsKsAAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Data management","spatial data management","GIS","large-scale data analytics","indexing"],"citedby":842,"lastupdate":"2023-10-14"},{"name":"Thanaa Ghanem","affiliation":"Metropolitan State University","position":"Metropolitan State University","hindex":15,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?user=ZUQDHsMAAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Database systems"],"citedby":1260,"lastupdate":"2023-10-14"},{"name":"Mohammed Attia","affiliation":"Google Inc.","position":"Analytical Linguist","hindex":26,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?user=fvpPkj0AAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Morphology","syntax","statistical parsing","spell checking","Lexical Functional Grammar"],"citedby":3251,"lastupdate":"2023-10-14"},{"name":"Ahmed Mourad","affiliation":"Apeiros","position":"Apeiros","hindex":10,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?user=pcibYXwAAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Information Retrieval","Evaluation","Natural language Processing","Social Media Analysis"],"citedby":491,"lastupdate":"2023-10-14"},{"name":"Tarek El-Ganainy","affiliation":"Electronic Arts","position":"Electronic Arts","hindex":8,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?user=CJi5hO0AAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Natural Language Processing","Information Retrieval","Machine Learning","Virtual Reality"],"citedby":177,"lastupdate":"2023-10-14"},{"name":"Mohamed Hefeeda","affiliation":"Simon Fraser University","position":"Professor","hindex":34,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?user=0pu-90QAAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Multimedia Systems","Computer Networks","Multimedia AI"],"citedby":6057,"lastupdate":"2023-10-14"},{"name":"Mohamed Elgharib","affiliation":"MPI for Informatics","position":"Research Group Leader","hindex":25,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?user=e1WLgm8AAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Computer Graphics","Computer Vision","Machine Learning","Virtual/Augmented Reality"],"citedby":2627,"lastupdate":"2023-10-14"},{"name":"Tarek Elgamal","affiliation":"LocknSell","position":"Founder & CEO","hindex":9,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?user=CMrSMisAAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Privacy-Preserving ML","Edge computing","Multimedia systems","Machine Learning"],"citedby":448,"lastupdate":"2023-10-14"},{"name":"AbdelRahim A. ElMadany","affiliation":"UBC","position":"PostDoc","hindex":11,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?user=v3akuNAAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/tarek-elgamal/","website":"","twitter":"","interests":["Natural Language Processing","Deep Learning","Computational Social Science","Machine Learning","Speech Act"],"citedby":657,"lastupdate":"2023-10-14"},{"name":"Mohamed Waleed Fakhr","affiliation":"AAST","position":"Professor","hindex":13,"photo":"./assets/images/mohamed-fakhr.jpg","scholar":"https://scholar.google.com/citations?user=37Rfy7sAAAAJ&hl=en","linkedin":"https://eg.linkedin.com/in/mohamed-waleed-fakhr-2b952036","website":"","twitter":"","interests":["Digital Signal Processing","Deep Learning","NLP"],"citedby":685,"lastupdate":"2023-10-14"},{"name":"Mohamed Loey","affiliation":"Benha University","position":"Associate Prof","hindex":19,"photo":"./assets/images/mohamed-loey.jpg","scholar":"https://scholar.google.com/citations?user=_kRSr78AAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/mloey","website":"https://bu.edu.eg/staff/mloey","twitter":"https://twitter.com/mloey","interests":["Deep Learning","Artificial Intelligence","Machine Learning","Image Processing"],"citedby":3214,"lastupdate":"2023-10-14"},{"name":"Wael Badawy","affiliation":"University of Hertfordshire","position":"Program Lead","hindex":30,"photo":"./assets/images/wael_badawy.jpg","scholar":"https://scholar.google.ca/citations?user=d_6Lp3IAAAAJ&hl=en&oi=ao","linkedin":"https://linkedIn.com/in/waelbadawy","website":"https://waelbadawy.com","twitter":"https://Twitter.com/wbadawy","interests":["Artificial Intelligence","Computer Vision","Cyber Security."],"citedby":4218,"lastupdate":"2023-10-14"},{"name":"Mohamed Salem Elaraby","affiliation":"University of Pittsburgh","position":"PhD Researcher","hindex":6,"photo":"./assets/images/mohamed-elaraby.jpg","scholar":"https://scholar.google.com.eg/citations?user=A5jMCaAAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/mohamed-salem-b25b24b6/","website":"","twitter":"https://twitter.com/MsalemUBC","interests":["Natural Language Processing","Legal Document Summarization","Deep Learning"],"citedby":179,"lastupdate":"2023-10-14"},{"name":"Mohamed Altantawy","affiliation":"Agolo","position":"CTO & Founder","hindex":5,"photo":"./assets/images/mohamed_altantawy.jpeg","scholar":"https://scholar.google.com/citations?user=aelgAPAAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/altantawy/","website":"","twitter":"","interests":["Machine Learning","Natural Langauge Processing"],"citedby":191,"lastupdate":"2023-10-14"},{"name":"Muhammad Ali Rushdi","affiliation":"Cairo & New Giza University","position":"Associate Professor","hindex":13,"photo":"./assets/images/muhammad-rushdi.png","scholar":"https://scholar.google.com/citations?user=vDgGLjsAAAAJ&hl=en&oi=ao","linkedin":"https://www.linkedin.com/in/muhammad-rushdi-4817a462/","website":"http://scholar.cu.edu.eg/mrushdi","twitter":"","interests":["Machine learning","Biomedical Signal Processing","Medical Image Analysis","Information Security and Forensics","Computer Vision","Applied Mathematics"],"citedby":550,"lastupdate":"2023-10-14"}]');function sN(e,t){if(1&e){const n=to();b(0,"div",30)(1,"input",31),Q("change",function(){return ni(n),ii(Ot().filterInterests())})("ngModelChange",function(r){const s=ni(n).$implicit;return ii(Ot().rinterests[s.key]=r)}),_(),b(2,"label",32),C(3),_()()}if(2&e){const n=t.$implicit,i=Ot();N(1),wn("id","",n.key,"Checkbox"),we("value",n.key),re("ngModel",i.rinterests[n.key]),N(1),wn("for","",n.key,"Checkbox"),N(1),or("",n.key," (",i.rinterestsFreq[n.key],")")}}function aN(e,t){if(1&e&&(b(0,"div",33)(1,"a",34)(2,"div",35),V(3,"img",36),b(4,"span"),C(5),_()()()()),2&e){const n=t.$implicit;N(1),wn("href","#",n.name,"",je),N(2),we("src",n.photo,je),we("alt",n.name),N(2),js(n.name)}}function lN(e,t){if(1&e){const n=to();b(0,"div",37)(1,"div",38)(2,"div")(3,"a",39),Q("click",function(){const o=ni(n).$implicit;return ii(Ot().editProfile(o))}),V(4,"i",40),_()(),V(5,"img",41),b(6,"div",42)(7,"h4",43),C(8),_(),b(9,"h5",44),C(10),_(),b(11,"h6",45),C(12),_(),b(13,"span",46),C(14),co(15,"number"),_(),b(16,"span",47),C(17," h-index: - "),_(),b(18,"div",48)(19,"strong"),C(20,"\u0627\u0644\u0627\u0647\u062a\u0645\u0627\u0645\u0627\u062a \u0627\u0644\u0628\u062d\u062b\u064a\u0629:"),_(),b(21,"p",49),C(22),_()(),V(23,"hr"),b(24,"p",50)(25,"a",51),V(26,"i",52),_(),b(27,"a",51),V(28,"i",53),_(),b(29,"a",51),V(30,"i",54),_(),b(31,"a",51),V(32,"i",55),_()()()()()}if(2&e){const n=t.$implicit;re("hidden",!Ot().en_active),N(1),we("id",n.name),N(4),we("src",n.photo,je),we("alt",n.name),N(3),wt(" ",n.name," "),N(2),wt(" ",n.affiliation," "),N(2),wt(" ",n.position," "),N(1),re("hidden",0==n.hindex),N(1),or(" h-index: ",n.hindex," | Citations: ",ho(15,20,n.citedby)," "),N(2),re("hidden",0!=n.hindex),N(6),wt(" ",n.interests.toString()," "),N(3),we("href",n.website,je),re("hidden",""==n.website),N(2),we("href",n.scholar,je),re("hidden",""==n.scholar),N(2),we("href",n.twitter,je),re("hidden",""==n.twitter),N(2),we("href",n.linkedin,je),re("hidden",""==n.linkedin)}}let uN=(()=>{class e{constructor(n){this.filterService=n,this.title="\u0627\u0644\u0645\u0635\u0631\u064a\u064a\u0646 \u0641\u064a \u0627\u0644\u0630\u0643\u0627\u0621 \u0627\u0644\u0627\u0635\u0637\u0646\u0627\u0639\u064a",this.researchers=Wn,this.rinterests={},this.rinterestsFreq={},this.profiles=this.researchers,this.searchQuery="",this.en_active=!0,[this.rinterests,this.rinterestsFreq]=this.filterService.getResearchIntersts(Wn),this.sortShuffle()}ngOnInit(){}sortAZ(){this.researchers=this.filterService.sortAZ(Wn)}sortHIndex(){this.researchers=this.filterService.sortHIndex(Wn)}sortCitations(){this.researchers=this.filterService.sortCitations(Wn)}sortShuffle(){this.researchers=this.filterService.sortShuffle(Wn)}filterProfiles(n){let i=n.target.value.toLowerCase();this.researchers=this.filterService.filterProfiles(i,Wn)}filterInterests(){this.researchers=this.filterService.filterInterests(Wn,this.rinterests)}checkAllInterests(){for(let n in this.rinterests)this.rinterests[n]=!0;this.researchers=this.profiles}clearAllInterests(){for(let n in this.rinterests)this.rinterests[n]=!1;this.researchers=this.profiles}editProfile(n){let i="https://docs.google.com/forms/d/e/1FAIpQLSdLaYBQyOzI5gnlGzwOki3b1TJtFjLUeHUKxkGtXQDhHdSreg/viewform?usp=pp_url&entry.186050192=Update&entry.1945362270={name}&entry.843703109={affiliation}&entry.1728443742={position}&entry.113990162={gscholar}&entry.1193057171={linkedin}&entry.2083985192={twitter}&entry.1542622457={website}&entry.2030031116={research_interests}";i=i.replace("{name}",n.name),i=i.replace("{affiliation}",n.affiliation),i=i.replace("{position}",n.position),i=i.replace("{gscholar}",n.scholar),i=i.replace("{linkedin}",n.linkedin),i=i.replace("{twitter}",n.twitter),i=i.replace("{website}",n.website),i=i.replace("{research_interests}",n.interests.join(",")),window.open(i,"_blank")}}return e.\u0275fac=function(n){return new(n||e)(v(W0))},e.\u0275cmp=Ci({type:e,selectors:[["app-arabic"]],decls:51,vars:6,consts:[[1,"row",2,"margin-top","5em","margin-bottom","5em"],[2,"direction","rtl"],["href","https://docs.google.com/forms/d/e/1FAIpQLSdLaYBQyOzI5gnlGzwOki3b1TJtFjLUeHUKxkGtXQDhHdSreg/viewform?usp=sf_link"],["href","https://medium.com/@bkhmsi/egyptians-in-ai-research-1ff64c78cc5b"],["id","sort-container",1,"row",2,"direction","rtl"],[1,"col-lg-2","col-md-12","col-sm-12"],["target","_blank","href","https://docs.google.com/forms/d/e/1FAIpQLSdLaYBQyOzI5gnlGzwOki3b1TJtFjLUeHUKxkGtXQDhHdSreg/viewform?usp=sf_link",1,"btn","btn-outline-primary","w-100","title"],[1,"fa","fa-pen"],[1,"col-lg-4","col-md-12","col-sm-12"],[1,"col-md-12"],[1,"search"],[1,"fa","fa-search"],["type","text","placeholder","\u0627\u0644\u0628\u062d\u062b \u0639\u0646 \u0637\u0631\u064a\u0642 \u0627\u0644\u0625\u0633\u0645",1,"form-control",3,"keyup"],[1,"col-lg-1","col-md-12","col-sm-12"],[1,"btn","btn-outline-secondary","sort-button","w-100","title",3,"click"],[1,"fas","fa-sort-alpha-down"],[1,"btn","btn-outline-success","sort-button","w-100","title",3,"click"],[1,"fa-solid","fa-arrow-down-9-1"],[1,"btn","btn-outline-warning","sort-button","w-100","title",3,"click"],[1,"col-lg-1","col-md-12","col-sm-12","title"],[1,"btn","btn-outline-danger","sort-button","w-100",3,"click"],[1,"fas","fa-shuffle"],[1,"w-100",2,"margin-bottom","1rem","direction","rtl"],[1,"btn","btn-link","sort-button",3,"click"],[1,"form-group"],["class","form-check",4,"ngFor","ngForOf"],[2,"width","100%","margin","auto","direction","rtl"],["class","col-lg-2 col-md-6 col-sm-12 rgrid",4,"ngFor","ngForOf"],[1,"mt-3","mb-3"],["class","col-lg-3 col-md-6 col-sm-12 mb-4",3,"hidden",4,"ngFor","ngForOf"],[1,"form-check"],["type","checkbox",1,"form-check-input",3,"id","value","ngModel","change","ngModelChange"],[1,"form-check-label",3,"for"],[1,"col-lg-2","col-md-6","col-sm-12","rgrid"],[3,"href"],[1,"card","click-to-top",2,"background-color","whitesmoke","border-width","0.01px","border-radius","0"],["width","40","height","40",1,"rounded-circle","mx-auto",2,"margin","0.5rem",3,"src","alt"],[1,"col-lg-3","col-md-6","col-sm-12","mb-4",3,"hidden"],[1,"card",2,"background-color","whitesmoke",3,"id"],[1,"edit-btn",3,"click"],[1,"fa-solid","fa-pencil"],["width","160","height","160",1,"rounded-circle","mx-auto",2,"margin","0.5rem",3,"src","alt"],[1,"card-body",2,"background-color","#EAECEE","direction","rtl"],[1,"card-title","mb-0",2,"font-size","1.4rem"],[1,"card-subtitle","mb-2","text-muted"],[1,"card-text",2,"min-height","2.3em"],[1,"card-text",2,"font-size","0.8rem","direction","ltr",3,"hidden"],[1,"card-text",2,"font-size","0.8rem",3,"hidden"],[2,"min-height","7em"],[1,"card-text",2,"font-size","0.8rem"],[1,"card-text","text-center",2,"direction","ltr"],["target","_blank",3,"hidden","href"],[1,"fas","fa-globe",2,"font-size","1.5rem","color","black","padding-right","0.5rem"],[1,"fas","fa-graduation-cap",2,"font-size","1.5rem","color","black","padding-right","0.5rem"],[1,"fab","fa-twitter",2,"font-size","1.5rem","color","black","padding-right","0.5rem"],[1,"fab","fa-linkedin",2,"font-size","1.5rem","color","black","padding-left","0.5rem"]],template:function(n,i){1&n&&(b(0,"div",0)(1,"p",1),C(2," \u0645\u0631\u062d\u0628\u064b\u0627 \u0628\u0643\u0645 \u0641\u064a \u0645\u0648\u0642\u0639 \u0627\u0644\u0645\u0635\u0631\u064a\u0648\u0646 \u0641\u064a \u0627\u0644\u0630\u0643\u0627\u0621 \u0627\u0644\u0627\u0635\u0637\u0646\u0627\u0639\u064a\u060c \u0648\u0647\u0648 \u0645\u0648\u0642\u0639 \u0645\u062e\u0635\u0635 \u0644\u0639\u0631\u0636 \u0627\u0644\u0628\u0627\u062d\u062b\u064a\u0646 \u0627\u0644\u0645\u0635\u0631\u064a\u064a\u0646 \u0627\u0644\u0628\u0627\u0631\u0632\u064a\u0646 \u0641\u064a \u0645\u062c\u0627\u0644 \u0627\u0644\u0630\u0643\u0627\u0621 \u0627\u0644\u0627\u0635\u0637\u0646\u0627\u0639\u064a. \u0625\u0630\u0627 \u0643\u0646\u062a \u062a\u0639\u062a\u0642\u062f \u0623\u0646 \u0634\u062e\u0635\u064b\u0627 \u0645\u0627 \u0645\u0641\u0642\u0648\u062f \u0645\u0646 \u0642\u0627\u0626\u0645\u062a\u0646\u0627\u060c \u0646\u062d\u0646 \u0646\u0631\u062d\u0628 \u0628\u0627\u0642\u062a\u0631\u0627\u062d\u0627\u062a\u0643. \u0644\u0643\u064a \u064a\u062a\u0645 \u0627\u0644\u0646\u0638\u0631 \u0641\u064a \u0625\u0636\u0627\u0641\u062a\u0647\u0645\u060c \u0641\u0625\u0646 \u0627\u0644\u0645\u0639\u064a\u0627\u0631 \u0627\u0644\u0648\u062d\u064a\u062f \u0647\u0648 \u0623\u0646 \u0627\u0644\u0641\u0631\u062f \u064a\u062c\u0628 \u0623\u0646 \u064a\u0643\u0648\u0646 \u0644\u062f\u064a\u0647\nh-index \u0645\u0646 5 \u0623\u0648 \u0623\u0639\u0644\u0649\u060c \u0643\u0645\u0627 \u0645\u0633\u062c\u0644 \u0641\u064a \u0645\u0644\u0641\u0647\u0645 \u0627\u0644\u0634\u062e\u0635\u064a \u0639\u0644\u0649 Google Scholar. \u064a\u0645\u0643\u0646\u0643 \u0625\u0631\u0633\u0627\u0644 \u0627\u0642\u062a\u0631\u0627\u062d\u0643 \u0628\u0645\u0644\u0621 "),b(3,"a",2),C(4," \u0647\u0630\u0627 \u0646\u0645\u0648\u0630\u062c "),_(),C(5," \u060c\u0623\u0648 \u0637\u0644\u0628 \u062a\u062d\u062f\u064a\u062b\u0627\u062a \u0644\u0644\u0645\u0644\u0641\u0627\u062a \u0627\u0644\u0634\u062e\u0635\u064a\u0629 \u0627\u0644\u0645\u0648\u062c\u0648\u062f\u0629. \u0646\u0623\u0645\u0644 \u0623\u0646 \u062a\u062c\u062f\u0648\u0627 \u0645\u0648\u0642\u0639\u0646\u0627 \u0645\u0644\u0647\u0645\u064b\u0627\u060c \u0648\u0646\u062d\u0646 \u0646\u062f\u0639\u0648\u0643 \u0644\u0627\u0633\u062a\u0643\u0634\u0627\u0641 \u0627\u0644\u0645\u0644\u0641\u0627\u062a \u0627\u0644\u0634\u062e\u0635\u064a\u0629 \u0627\u0644\u062e\u0627\u0635\u0629 \u0628 \u0627\u0644\u0628\u0627\u062d\u062b\u064a\u0646 \u0627\u0644\u0645\u0645\u064a\u0632\u064a\u0646. \u062d\u062a\u0649 \u0627\u0644\u0622\u0646\u060c \u0642\u0645\u0646\u0627 \u0628\u062a\u0636\u0645\u064a\u0646 "),b(6,"strong"),C(7),_(),C(8," \u0634\u062e\u0635\u0627. \u064a\u0631\u062c\u0649 \u0645\u0644\u0627\u062d\u0638\u0629 \u0623\u0646 \u0627\u0644\u0642\u0627\u0626\u0645\u0629 \u064a\u062a\u0645 \u062e\u0644\u0637\u0647\u0627 \u0639\u0634\u0648\u0627\u0626\u064a\u064b\u0627 \u0641\u064a \u0643\u0644 \u0645\u0631\u0629 \u064a\u062a\u0645 \u0641\u064a\u0647\u0627 \u062a\u062d\u062f\u064a\u062b \u0627\u0644\u0635\u0641\u062d\u0629. \u0646\u062f\u0639\u0648\u0643 \u0644\u062a\u062d\u0642\u0642 "),b(9,"a",3),C(10," \u0627\u0644\u0645\u062f\u0648\u0646\u0629 "),_(),C(11," \u0647\u0630\u0647 \u0644\u0642\u0631\u0627\u0621\u0629 \u0639\u0646 \u0627\u0644\u0633\u0628\u0628 \u0648\u0631\u0627\u0621 \u0628\u0646\u0627\u0621 \u0647\u0630\u0627 \u0627\u0644\u0645\u0648\u0642\u0639. "),_(),b(12,"div",4)(13,"div",5)(14,"a",6),V(15,"i",7),C(16,"\xa0 \u0631\u0634\u062d \u0623\u062d\u062f "),_()(),b(17,"div",8)(18,"div",9)(19,"div",10),V(20,"i",11),b(21,"input",12),Q("keyup",function(o){return i.filterProfiles(o)}),_()()()(),b(22,"div",13)(23,"button",14),Q("click",function(){return i.sortAZ()}),V(24,"i",15),C(25," \u0623\u064a "),_()(),b(26,"div",5)(27,"button",16),Q("click",function(){return i.sortHIndex()}),V(28,"i",17),C(29," h-Index "),_()(),b(30,"div",5)(31,"button",18),Q("click",function(){return i.sortCitations()}),V(32,"i",17),C(33," Citations "),_()(),b(34,"div",19)(35,"button",20),Q("click",function(){return i.sortShuffle()}),V(36,"i",21),_()()(),b(37,"details",22)(38,"button",23),Q("click",function(){return i.clearAllInterests()}),C(39," Clear "),_(),b(40,"button",23),Q("click",function(){return i.checkAllInterests()}),C(41," Check All "),_(),b(42,"summary"),C(43,"\u0627\u0644\u0628\u062d\u062b \u0639\u0646 \u0637\u0631\u064a\u0642 \u0627\u0644\u0627\u0647\u062a\u0645\u0627\u0645\u0627\u062a \u0627\u0644\u0628\u062d\u062b\u064a\u0629"),_(),b(44,"div",24),ui(45,sN,4,6,"div",25),co(46,"keyvalue"),_()(),b(47,"div",26),ui(48,aN,6,4,"div",27),_(),V(49,"hr",28),ui(50,lN,33,22,"div",29),_()),2&n&&(N(7),wt(" ",i.profiles.length," "),N(38),re("ngForOf",ho(46,4,i.rinterests)),N(3),re("ngForOf",i.researchers),N(2),re("ngForOf",i.researchers))},dependencies:[Yc,wa,wd,Ia,nd,td],styles:[".search[_ngcontent-%COMP%] .fa-search[_ngcontent-%COMP%]{position:absolute;top:12px;right:16px}.sort-button[_ngcontent-%COMP%]{float:left}.nav-item[_ngcontent-%COMP%]{float:left;color:#f5f5f5;padding-right:2em}.nav-item[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{cursor:pointer}.nav-item[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:hover, .nav-item[_ngcontent-%COMP%] a[_ngcontent-%COMP%]:hover{opacity:50%}"]}),e})(),J0=(()=>{class e{constructor(n,i){this.route=n,this.router=i,this.title="Egyptians in AI",this.en_active=!0}ngOnInit(){this.router.events.subscribe(n=>{if(n instanceof n0){let i=n.url.slice(1);this.changeLang(i)}})}changeLang(n){this.en_active="ar"!=n}}return e.\u0275fac=function(n){return new(n||e)(v(Gn),v(Oe))},e.\u0275cmp=Ci({type:e,selectors:[["app-root"]],decls:93,vars:4,consts:[[1,"navbar","navbar-expand-lg","navbar-dark","fixed-top",3,"hidden"],[1,"container"],[1,"navbar-brand",2,"font-size","2em"],["src","./assets/logo.jpeg","alt","logo","width","64","height","64"],[1,"nav-items",2,"width","60%"],[1,"nav-item"],[1,"fa-solid","fa-language"],[3,"click"],["href","https://github.com/bkhmsi/egyptians-in-ai","target","_blank",1,"nav-link"],[1,"fa-brands","fa-github"],["href","https://bkhmsi.medium.com/egyptians-in-ai-research-1ff64c78cc5b","target","_blank",1,"nav-link"],[1,"fa-brands","fa-medium"],["href","https://www.youtube.com/watch?v=PtdyHfpzodg","target","_blank",1,"nav-link"],[1,"fa-solid","fa-person-chalkboard"],["ngbDropdown","",1,"nav-item","dropdown"],["href","#","id","navbarDropdown","role","button","data-toggle","dropdown","aria-haspopup","true","aria-expanded","false","ngbDropdownToggle","",1,"nav-link","dropdown-toggle"],[1,"fa-solid","fa-globe"],["aria-labelledby","navbarDropdown","ngbDropdownMenu","",1,"dropdown-menu"],["ngbDropdownItem","","href","#","target","_blank",1,"dropdown-item"],["ngbDropdownItem","","href","https://mohamedelbaha.github.io/moroccans-in-ai/","target","_blank",1,"dropdown-item"],["ngbDropdownItem","","href","https://ahmadmustafaanis.github.io/Pakistanis-in-ai/","target","_blank",1,"dropdown-item"],[1,"navbar","navbar-expand-lg","navbar-dark","fixed-top",2,"direction","rtl",3,"hidden"],[1,"nav-items"],["href","https://github.com/BKHMSI/egyptians-in-ai","target","_blank",1,"nav-link"],[1,"container",2,"margin-top","6em"],[3,"hidden"],[1,"footer","mt-auto","py-3"],["href","https://bkhmsi.github.io"],[2,"float","right"],["href","#"],[1,"fas","fa-arrow-up"]],template:function(n,i){1&n&&(b(0,"nav",0)(1,"div",1)(2,"a",2),V(3,"img",3),C(4," Egyptians in AI Research "),_(),b(5,"div",4)(6,"div",5),V(7,"i",6),C(8,"\xa0 "),b(9,"span",7),Q("click",function(){return i.changeLang("en")}),C(10,"English"),_(),C(11," | "),b(12,"span",7),Q("click",function(){return i.changeLang("ar")}),C(13,"\u0639\u0631\u0628\u064a"),_()(),b(14,"div",5)(15,"span")(16,"a",8),V(17,"i",9),C(18," GitHub"),_()()(),b(19,"div",5)(20,"span")(21,"a",10),V(22,"i",11),C(23," Blog Post"),_()()(),b(24,"div",5)(25,"span")(26,"a",12),V(27,"i",13),C(28," TEDx Talk"),_()()(),b(29,"div",14)(30,"span",15),V(31,"i",16),C(32," X in Y Websites "),_(),b(33,"div",17)(34,"a",18),C(35,"Egyptians in AI"),_(),b(36,"a",19),C(37,"Moroccans in AI"),_(),b(38,"a",20),C(39,"Pakistanis in AI"),_()()()()()(),b(40,"nav",21)(41,"div",1)(42,"a",2),C(43,"\u0627\u0644\u0645\u0635\u0631\u064a\u0648\u0646 \u0641\u064a \u0627\u0644\u0630\u0643\u0627\u0621 \u0627\u0644\u0627\u0635\u0637\u0646\u0627\u0639\u064a"),_(),b(44,"div",22)(45,"div",14)(46,"span",15),V(47,"i",16),C(48," X in Y Websites "),_(),b(49,"div",17)(50,"a",18),C(51,"Egyptians in AI"),_(),b(52,"a",19),C(53,"Moroccans in AI"),_(),b(54,"a",20),C(55,"Pakistanis in AI"),_()()(),b(56,"div",5)(57,"span")(58,"a",12),V(59,"i",13),C(60," TEDx Talk"),_()()(),b(61,"div",5)(62,"span")(63,"a",10),C(64," Blog Post "),V(65,"i",11),_()()(),b(66,"div",5)(67,"span")(68,"a",23),C(69," GitHub "),V(70,"i",9),_()()(),b(71,"div",5),V(72,"i",6),C(73,"\xa0 "),b(74,"span",7),Q("click",function(){return i.changeLang("en")}),C(75,"English"),_(),C(76," | "),b(77,"span",7),Q("click",function(){return i.changeLang("ar")}),C(78,"\u0639\u0631\u0628\u064a"),_()()()()(),b(79,"div",24),V(80,"app-english",25)(81,"app-arabic",25),b(82,"footer",26)(83,"div",1)(84,"span"),C(85," Developed and Maintained by "),b(86,"a",27),C(87,"Badr AlKhamissi"),_(),C(88," | Last Update: 29 May 2024"),_(),b(89,"span",28)(90,"a",29),C(91," Back to Top "),V(92,"i",30),_()()()()()),2&n&&(re("hidden",!i.en_active),N(40),re("hidden",i.en_active),N(40),re("hidden",!i.en_active),N(1),re("hidden",i.en_active))},dependencies:[oN,uN],styles:["nav{background-color:#091b2b}footer a{color:#fff}footer span{color:#d0d3d4}.footer{position:fixed;background-color:#1c8394;left:0;bottom:0;width:100%;height:4em}.nav-item{float:right;color:#f5f5f5;padding-left:2em}.nav-item span{cursor:pointer}.nav-item span:hover,.nav-item a:hover{opacity:50%}.sort-button{float:right;margin-left:1em;margin-bottom:1em}.search{position:relative;box-shadow:0 0 40px #3333331a}.search input{text-indent:40px;border:2px solid #d6d4d4}.search input:focus{box-shadow:none;border:2px solid #007bff}.search .fa-search{position:absolute;top:12px;left:16px}.search button{position:absolute;top:5px;right:5px}.blur{background:whitesmoke;filter:blur(.1px)}.rgrid{width:6.5%;display:inline-block}div.click-to-top span{display:none;position:absolute;text-align:center;width:100%;margin:auto;background:white;color:#000;font-size:small}div.click-to-top:hover span{display:block}@media (max-width: 992px){.search{margin-top:1rem;margin-bottom:1rem}.rgrid{width:14%;display:inline-block}}.edit-btn{float:right;color:gray;padding:.5rem}\n"],encapsulation:2}),e})();const cN=[{path:":lang",component:J0}];let dN=(()=>{class e{}return e.\u0275fac=function(n){return new(n||e)},e.\u0275mod=Jt({type:e}),e.\u0275inj=xt({imports:[G0.forRoot(cN),G0]}),e})(),hN=(()=>{class e{}return e.\u0275fac=function(n){return new(n||e)},e.\u0275mod=Jt({type:e,bootstrap:[J0]}),e.\u0275inj=xt({imports:[mx,dN,PT]}),e})();(function VI(){_w=!1})(),gx().bootstrapModule(hN).catch(e=>console.error(e))}},ae=>{ae(ae.s=466)}]); \ No newline at end of file diff --git a/src/assets/images/ahmed-alaa.png b/src/assets/images/ahmed-alaa.png new file mode 100644 index 0000000000000000000000000000000000000000..f18ea0250faf032b948d3cd2a621f4604fa4dbbc GIT binary patch literal 109537 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

ipGYgmc|Nn}*?;hLIJ+bSna?U4px_!HE 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 Ef^I=N{Qv*} literal 0 HcmV?d00001 diff --git a/src/assets/researchers_en.json b/src/assets/researchers_en.json index 4bc7caa..ce9a3a1 100644 --- a/src/assets/researchers_en.json +++ b/src/assets/researchers_en.json @@ -2696,7 +2696,7 @@ "affiliation": "UC Berkeley", "position": "Assistant Professor", "hindex": 34, - "photo": "https://vcresearch.berkeley.edu/faculty/ahmed-alaa", + "photo": "./assets/images/ahmed-alaa.png", "scholar": "https://scholar.google.com/citations?user=_pv1sEcAAAAJ&hl=en", "linkedin": "https://www.linkedin.com/in/ahmed-m-alaa-b1007614/", "website": "",