From 021ec9c8f65f4a66e9897a690b995aeb2c9b396c Mon Sep 17 00:00:00 2001 From: Sense T Date: Fri, 19 Apr 2024 15:16:24 +0800 Subject: [PATCH] Squashed commit of the following: commit a394259f0a515c4ee68377e73546de9b0e69beea Author: Sense T Date: Fri Apr 19 15:10:08 2024 +0800 done commit af9d9663760af0d1984dec085230e434f79e84cb Author: Sense T Date: Fri Apr 19 13:52:33 2024 +0800 debug done. commit 47335ca5e9447b2de08a4a83e55541918914835e Author: Sense T Date: Fri Apr 19 12:47:00 2024 +0800 swagger done commit 34fb2a478b90760c1efd4401a59a29bb236a8653 Author: Sense T Date: Fri Apr 19 10:05:19 2024 +0800 stage 2, not completed commit 88b2255f8bf72840b7f050692fccc34cef1a0c14 Author: Sense T Date: Fri Apr 19 09:44:37 2024 +0800 test stage 1 commit b5837202235c0a96140b4629b85ef27800125fe8 Author: Sense T Date: Mon Apr 15 21:53:09 2024 +0800 Squashed commit of the following: commit 1e92328a0fc570fe9419ad5dbaaef77f7dc9ad2e Author: Sense T Date: Mon Apr 15 21:52:44 2024 +0800 yes, react it! commit 09fffff6139b4cecb81cb1444139f225e95e8917 Author: Sense T Date: Mon Apr 15 17:33:26 2024 +0800 actions to be done commit 1611b0b338cfd965d15f43fb10308bc56015895f Author: Sense T Date: Mon Apr 15 15:22:08 2024 +0800 modal needed. commit 88453e7382618fb6774ff1cc4c0f7045d4dfcf46 Author: Sense T Date: Mon Apr 15 10:52:13 2024 +0800 Domain View done commit 8cedca27c79ca2ba69c8777dfcb6019799875e31 Author: Sense T Date: Sun Apr 14 21:24:14 2024 +0800 domain delete modal done commit 60cd00c0cad0774bae5b57bcfc4723a29d28d221 Author: Sense T Date: Sun Apr 14 07:55:11 2024 +0800 1 commit 285853e988db6e6a6371135869da0129fd73afd7 Author: Sense T Date: Sat Apr 13 17:29:43 2024 +0800 eslint commit 8f0ffbf744fd85a612daacd7bd6cbc45d58907d3 Author: Sense T Date: Sat Apr 13 17:20:50 2024 +0800 f commit 9762b632225f185d83388e58d93ed49f62fe6b3f Author: Sense T Date: Sat Apr 13 17:08:37 2024 +0800 views, components to be done commit 321e5255f2b1e705844179dd910d5f5a1ae58298 Author: Sense T Date: Sat Apr 13 14:29:04 2024 +0800 prepare for react commit 3305d8d618d6d4f8332e8cd5cffe25e3a526808c Author: Sense T Date: Sat Apr 13 10:30:02 2024 +0800 swagger to be done commit 2c754e7eec2bbfba8fcb8eaa3d9d0c90c8141216 Author: Sense T Date: Sat Apr 13 10:14:45 2024 +0800 validate 'em ! commit 7b529ad8f61d8c2dda66064a44011976d91f0665 Author: Sense T Date: Sat Apr 13 09:22:27 2024 +0800 try to avoid nil point panic commit 0012a697cbf2712228a0c78670180c317f0132cf Author: Sense T Date: Fri Apr 12 22:26:35 2024 +0800 fix some bug commit a098d3056ce0694587394177e3b06b6ce6f59fe3 Author: Sense T Date: Fri Apr 12 20:03:34 2024 +0800 web debug done commit 01765c4e7f8f1345980bee1c849985408c6195e5 Author: Sense T Date: Fri Apr 12 15:16:52 2024 +0800 all tsx used, no vue SFC commit 731504ae8283d7a47d1915c9d115df6f80e65245 Author: Sense T Date: Thu Apr 11 22:05:58 2024 +0800 tsx used - stage 2 commit b669a3e68e66b18dcb6d49b8113a3244c2715d4f Author: Sense T Date: Thu Apr 11 16:18:11 2024 +0800 use tsx for compoents stage 1 commit 2ab1b0bf1ba52622af3500b7488a2209adfedddb Author: Sense T Date: Thu Apr 11 12:10:57 2024 +0800 rr validation commit 58c66fc3a8bbb9b2635e7af16974bc7d0878b26d Author: Sense T Date: Thu Apr 11 11:41:33 2024 +0800 stage 1 commit 7a5fcf19725af32af31ac7aec4d715501a0665f8 Author: Sense T Date: Thu Apr 11 10:51:50 2024 +0800 long options supported commit c3b80093d20ea4a284d3df38b6955f6ac3cdab3b Author: Sense T Date: Thu Apr 11 10:51:33 2024 +0800 for develop use commit 7f527073236238f768f7233a5b6c9893973eccf8 Author: Sense T Date: Thu Apr 11 10:51:24 2024 +0800 fix typo commit 9cc2696bbea57907ee4aeb2fdf8dbaae79b4a804 Author: Sense T Date: Wed Apr 10 16:53:03 2024 +0800 record data validate done commit 5e2ae637a0fa75393a34cc982f761fc8d2d5a0eb Author: Sense T Date: Wed Apr 10 14:56:15 2024 +0800 end with dot. commit ed4fee935daf4af4928d4c6c60d4a52fed31613d Author: Sense T Date: Wed Apr 10 13:41:32 2024 +0800 content safety commit 29f75938bb4bd28943fc921d24ed71b321cc302c Author: Sense T Date: Wed Apr 10 13:24:01 2024 +0800 cmd is ok commit 9465bb885d2f7eac7f7a74b789ba4426ba710792 Author: Sense T Date: Wed Apr 10 11:00:47 2024 +0800 web done commit 65bf461d448127b52dde0dfe735baddc303353a0 Author: Sense T Date: Wed Apr 10 11:00:38 2024 +0800 use tokei for stat commit 61395ab61b4177a4f023941fbcb86233bd889922 Author: Sense T Date: Tue Apr 9 21:53:12 2024 +0800 errors handler commit 9752e7d9ae547b8cfbf489cdcf65e4c283df62e3 Author: Sense T Date: Tue Apr 9 21:16:19 2024 +0800 model with generics done commit 7dd3af37079e0abfd69ed35a64706dfb1f6a2a29 Author: Sense T Date: Tue Apr 9 16:28:18 2024 +0800 use DAO commit 236973423082b6d6e61d4d92067135f4bc247223 Author: Sense T Date: Tue Apr 9 13:06:31 2024 +0800 dao for future commit e18781ba259b79c9bc5bf464b5b7204e33607e40 Author: Sense T Date: Tue Apr 9 11:36:34 2024 +0800 DotEnd commit 613ef7fdd9325a3495dbfd84805c953f170d9851 Author: Sense T Date: Tue Apr 9 10:16:06 2024 +0800 record should endwith . commit c93e8107dc43605e4d5197aad6c03dbdec7fc9c9 Author: Sense T Date: Tue Apr 9 10:06:47 2024 +0800 update regexp commit 84e9961f4befbf99fc88de31119f69fc5ba26c35 Author: Sense T Date: Tue Apr 9 08:30:32 2024 +0800 error log commit db77b0fdb215ad767d3466e654774da78ac7b587 Author: Sense T Date: Tue Apr 9 08:25:25 2024 +0800 no console log commit 0c197820a09b8ffdc3b3152160e4b4314dfe0fbe Author: Sense T Date: Tue Apr 9 08:25:01 2024 +0800 use flags for validate commit 33c90506539a6d5e0c0003d5e7832f9293deeed3 Author: Sense T Date: Tue Apr 9 07:58:27 2024 +0800 SOA Email Format commit fb9c78efed5c4078d666149d0b04f11838e4904a Author: Sense T Date: Tue Apr 9 00:19:03 2024 +0800 no debug commit 1a7bf83cb9c5f693ab191f1160e4e235450f4988 Author: Sense T Date: Tue Apr 9 00:18:18 2024 +0800 1 commit e72de1479771954aa9d4be0e79a9909cf0ccb8af Author: Sense T Date: Mon Apr 8 17:30:25 2024 +0800 last modal commit e884840b7dabc2c3aedd1cff8072cf4f30d1fb12 Author: Sense T Date: Mon Apr 8 15:56:03 2024 +0800 add commit 36b03843191004fc29b8e7276b9bd8e7ca478d09 Author: Sense T Date: Mon Apr 8 15:02:55 2024 +0800 delete domain modal done commit 753e950faeee8dda8c1c6dbd7da5d1fd8f297ff5 Author: Sense T Date: Mon Apr 8 13:49:11 2024 +0800 add domainRemovemodal commit 69613f9b6eee1e8b5dd132ca38d1019da5f304c0 Author: Sense T Date: Mon Apr 8 13:32:01 2024 +0800 modal needed for edit commit 8c0b79066f8886674d33baeafef29dd504506c8c Author: Sense T Date: Mon Apr 8 09:37:32 2024 +0800 base UI commit a67b2d7724123f2fdcfe911f3150804f27ffe03f Author: Sense T Date: Sun Apr 7 21:07:20 2024 +0800 route update commit 5a266e9e6c942def49931bd70ff88c7e3c2622a3 Author: Sense T Date: Sun Apr 7 14:36:55 2024 +0800 ui base data struct commit 3449df913c553614a4b5c4e2c31e5fbb1cfde509 Author: Sense T Date: Sun Apr 7 13:08:45 2024 +0800 web store for dev commit 156bf651dd8b770a277eaa7087a2364467931001 Author: Sense T Date: Sun Apr 7 13:08:30 2024 +0800 store friendly commit d90e9494722fc11017889fadb24298421793eb10 Author: Sense T Date: Sun Apr 7 10:08:02 2024 +0800 base code update commit 0a20b5a67048ac5ee48edac049969591d81f0586 Author: Sense T Date: Sun Apr 7 10:07:26 2024 +0800 metrics commit bdd4866c10b07ea918608e8b653760a246a60dad Author: Sense T Date: Wed Apr 3 22:37:15 2024 +0800 all api done commit 8a8ea59b71c1842ab1f40e76333ffb2134018faf Author: Sense T Date: Wed Apr 3 17:05:12 2024 +0800 1 --- .assets/ui.webp | Bin 0 -> 525434 bytes .gitignore | 3 + .nixd.json | 13 + .vscode/settings.json | 17 + Dockerfile | 14 + README.md | 55 + TODO | 12 +- cmd/config/config.go | 13 + cmd/config/database.go | 33 + cmd/config/dns.go | 33 + cmd/config/user.go | 41 + cmd/server/server.go | 39 + controllers/domain.go | 156 + controllers/metrics.go | 61 + controllers/migrate.go | 22 + controllers/record.go | 106 + controllers/settings.go | 89 + database/basedao.go | 119 + database/database.go | 19 + docs/docs.go | 1069 +++++ docs/swagger.json | 1044 +++++ docs/swagger.yaml | 573 +++ flake.lock | 36 +- flake.nix | 87 +- go.mod | 81 + go.sum | 1135 +++++ main.go | 65 + models/domain.go | 65 + models/record.go | 82 + models/record_types.go | 142 + models/settings.go | 31 + package-lock.json | 18 + package.json | 5 + server/.gitignore | 1 + server/handlers_domains.go | 129 + server/handlers_records.go | 281 ++ server/response.go | 44 + server/route.go | 99 + server/server.go | 48 + server/static.go | 35 + web/.eslintrc | 12 + web/README.md | 30 + web/index.html | 13 + web/package-lock.json | 3750 +++++++++++++++++ web/package.json | 36 + web/src/App.css | 42 + web/src/App.tsx | 34 + web/src/api/index.ts | 92 + web/src/components/domains/DomainCard.tsx | 32 + .../components/domains/DomainDeleteModal.tsx | 59 + .../components/domains/DomainEditModal.tsx | 132 + web/src/components/domains/DomainInfo.css | 7 + web/src/components/domains/DomainInfo.tsx | 22 + .../components/records/RecordEditModal.tsx | 261 ++ web/src/components/records/RecordOps.tsx | 26 + web/src/index.css | 78 + web/src/isBrowserDarkTheme.ts | 18 + web/src/locale/en.ts | 98 + web/src/locale/index.ts | 24 + web/src/locale/zh.ts | 98 + web/src/main.tsx | 10 + web/src/router/index.tsx | 28 + web/src/stores/domains.ts | 76 + web/src/stores/records.ts | 358 ++ web/src/views/DomainsView.css | 4 + web/src/views/DomainsView.tsx | 102 + web/src/views/RecordsView.css | 38 + web/src/views/RecordsView.tsx | 119 + web/src/vite-env.d.ts | 1 + web/tsconfig.json | 25 + web/tsconfig.node.json | 11 + web/vite.config.ts | 7 + 72 files changed, 11469 insertions(+), 89 deletions(-) create mode 100644 .assets/ui.webp create mode 100644 .nixd.json create mode 100644 .vscode/settings.json create mode 100644 Dockerfile create mode 100644 cmd/config/config.go create mode 100644 cmd/config/database.go create mode 100644 cmd/config/dns.go create mode 100644 cmd/config/user.go create mode 100644 cmd/server/server.go create mode 100644 controllers/domain.go create mode 100644 controllers/metrics.go create mode 100644 controllers/migrate.go create mode 100644 controllers/record.go create mode 100644 controllers/settings.go create mode 100644 database/basedao.go create mode 100644 database/database.go create mode 100644 docs/docs.go create mode 100644 docs/swagger.json create mode 100644 docs/swagger.yaml create mode 100644 go.mod create mode 100644 go.sum create mode 100644 main.go create mode 100644 models/domain.go create mode 100644 models/record.go create mode 100644 models/record_types.go create mode 100644 models/settings.go create mode 100644 package-lock.json create mode 100644 package.json create mode 100644 server/.gitignore create mode 100644 server/handlers_domains.go create mode 100644 server/handlers_records.go create mode 100644 server/response.go create mode 100644 server/route.go create mode 100644 server/server.go create mode 100644 server/static.go create mode 100644 web/.eslintrc create mode 100644 web/README.md create mode 100644 web/index.html create mode 100644 web/package-lock.json create mode 100644 web/package.json create mode 100644 web/src/App.css create mode 100644 web/src/App.tsx create mode 100644 web/src/api/index.ts create mode 100644 web/src/components/domains/DomainCard.tsx create mode 100644 web/src/components/domains/DomainDeleteModal.tsx create mode 100644 web/src/components/domains/DomainEditModal.tsx create mode 100644 web/src/components/domains/DomainInfo.css create mode 100644 web/src/components/domains/DomainInfo.tsx create mode 100644 web/src/components/records/RecordEditModal.tsx create mode 100644 web/src/components/records/RecordOps.tsx create mode 100644 web/src/index.css create mode 100644 web/src/isBrowserDarkTheme.ts create mode 100644 web/src/locale/en.ts create mode 100644 web/src/locale/index.ts create mode 100644 web/src/locale/zh.ts create mode 100644 web/src/main.tsx create mode 100644 web/src/router/index.tsx create mode 100644 web/src/stores/domains.ts create mode 100644 web/src/stores/records.ts create mode 100644 web/src/views/DomainsView.css create mode 100644 web/src/views/DomainsView.tsx create mode 100644 web/src/views/RecordsView.css create mode 100644 web/src/views/RecordsView.tsx create mode 100644 web/src/vite-env.d.ts create mode 100644 web/tsconfig.json create mode 100644 web/tsconfig.node.json create mode 100644 web/vite.config.ts diff --git a/.assets/ui.webp b/.assets/ui.webp new file mode 100644 index 0000000000000000000000000000000000000000..c09df4104f9a7c9544b9daba66562c501ded724a GIT binary patch literal 525434 zcmc$_byytRwlCU^ySq!{2_D?tLeN0aU;%==ySuvvcMI+iBm{St;F92O{hF-3&c5s1 zv;TSbyYJOkR8Om7jyc90Qom6uvQkp^FbDt*Nin7ON<5lK0000B@<$90ScC?MD$2fv zgVex~0|2SLl~O~6RR0`*jW`7Wpdj}t@I%^Jh^4OqEIW+xpnfgzr?KI*kKX$7y6{hm z(D^d)IHULY4tk2P7ZxQE${^YB=<%+UX?r+=Y!pG=i|R%zVz@=V3pfk_KnCs>#Q|nm z1R#P0)qNf>3kQ%vL|~Ds`v`jgtyJ8L03KTcD#?*N_Ii!QesV`!DXEsWf3|-H4c{gF zN=m{S`V0@hRAf5F+VC0hD{&JVP;fhgb{&@?Cwn<{B3xlgmy#IoY@Kz2R**)t)p(Hn zVJyeEFz{Qm6}5ET{mK2gWxKwF0s#Hu-F>}Eo9ni7TJDt8bS6O7S7jpH94EsZUnD~& zkC1OdE%d*UG|_Y_(Q>`Tdf~vYgd&qt)^;de-IJ@VhzwA78O1eYh<_ z4DlYj1ii!AqW-xu@woDYaR!9#;KCcPrK+&dXMRIs**MRUdTEx<2xHU6-vf=wNylnA z@Fv9N7zVhAF=7V9HqOeuWrq>A#0g%!*5Gw(S+C3yyEIV;C@S|Z27DU><^-RSgU@nyg`c=n zj-j@Cj1KH_An!}97FUnvyy5)i-0-#{KTyhovth9k+t>R4M`{$LvFkFKI^bmtB;$Md(ZtYUytJ|peB*x(?3Af6g$enpH4seXjiE9QmOlQz86=OTWU?Zoj#awH(GpL6$9O_tS9!W!V+M%%d!msVWgn zIfk1Jj~0UAopBQSQSWT@sQepr3FK4SZ@S7v%{|!J_k&FuJ{t z{mY}k0(X_}#iSqiyOIhL=_V8zcz{l>uRtRqy-w$kGOVn)an_NP@&u`oCe4&RjsnY_ z+vRMrBkUXXlFTggAvM@Lg*|;fAL9}GsRWx`B+r*T}r$tCC?@oOFPN1 zv9!eU>-`xF9j=0+Jc=j83AuRkTjLMW(dLnYh_UsAW z5}ppD3q|0flMvQom*`{3@P8qprm4YH>1@nnJ12<8jSU>zU}6gx4fqYvg3^X5LpcO) zZ(+?qqX|N_0lEs~GG~ny}fKw9`q2y}D_RozN=WIJwly)|l{^$Yi;tLDwD<#xJuUGxj6=K#@1p z`%;`%c!o>xKBF*#Dd%gQP$jck<&of~o1-iItpu_QGAlRRX*WI0DO6?j;bUsTTmZUA zj@lK4xv`mxsVyg2Rua-XWQy`nYJl}ZQvhpr5&j-7x9GRsfs~(5$lfETNpNgb+a_zD*gS21%lD+HeC1 zD8{rcf%kLQK^Foz)#>UB%&M)-Ypk#!6aRYn^Nz}u82*)=)RG)b$7Kmz}JO^#6(eB znntg0=ci-evbw&L`NIYAXeIH*!@)$*g7e&9%ZIC_o*ua*%KhvUw|vsNGdt?P%+QNo z`R7?rdj`IVdocbl71M$C3_nN$w#vUtX6Q?~xx77&f=%H5Y$S`P^5fOxt9aLU?=E-v z_Sk9H%8UR?!5=x+rm?*w^|LSD8eU(hGa&B?3Qpd5$1nG>2Zeq%HcT9QNJeb>fb-$I zit!hzPsBYg?s+UH_uf(;6!?>^XnD`H=5$ha`|M??=^`)EcH1O0 z7G<%A5ceWwN_kn9vUc#^DlQD(F8kexb!cXPxirQGtl)2dJ4d9Vef0y!sK=@ksi{z2 z!Fp>&jQ8<+KrETN{;abWVtMs%nevfUA4Kx0CTevlMO+*f zW(%ulP4@ddyRCAj!($esmX;1`oY8-@@P<#yR^Q|f&$A1!Vzh4bf0=KK)Z6txtyS9h%>H$>;v!*(VsZ0B=|CV0NO(ZiYb(~jc}i#;Dq2^V&F&Qfo!X$@XF zsEacANb35nDyv%u-DhD<0$W=I;~X&?>KUq1w#0Bt+dqtgw~pY}|7}8+n>WEHx;sMy z4FA#f;GlsJ7yYao?O`0ZpK9rUw9{OXC*~_Tta0tU-GkSx7ag(s)?&QYzjQ(tLYH+# z6e?@F*tRU1Gw)c@k}CsT8_A%1T3w1PiZkyqeE?(>k~6O&6Katd-OKD*4M>Z3-`aJM zNCVo>gQo{u6s1FI!p(Z4Lmrt{9|}9{I^*8`v25$pe>{z*r#>+A;91wO-5PZBIGMk0 zG_n_o0YH}Vw4=c=AK{n%3NHUu!bGazTdbO4ySvmn`EJKIfx@1~W7@Xq&KnI-Tg06owwo$=)3h^69HCD~ z{P6F|{L|9@@!qii=dIFl_96*34UCXg91}|l2kS=5s}^rUP#=4>Cmvddw6lB0us02HAGc-97P^4PLb`hDqd7&2&xD%#yqoD_?eKFK&sk|}y6#G$H;UdB?DsIo8A~G-Uktd3y0)k%Z&zc7 z22OC4{@OSVRJI&0`r%p0_~fVDwokaFR3(;S=7^Fa%r! z=5AKN6jy=ANita9Dz+VC(x={PS;}Cd$_;uJj$6HJ@uPYTqcJV!#lEs9?7JRa+v_R$ zYd7QRUIRGCCOA`U{H-5s!cScbpGjVC{oL}4M$x^h4?&2XkqP!dOuwY#40H^Pf%!v~ z4iEsS1OjY;FL5Q+zo`<3w6kFOB47yj=0ZZ4!JLyOUAHO$#9+ug&VP3upJd{^6c3*t z)|h0n!F-V<4)|hHw4aVKq17>=Dd(LK(+EMIeo+Xf5`vXP)o>{>cHW`qG7}&i0-=It za*;p(5~URMEo-h?e&~#)*mi04C7?GZbI6Hd%=;7_n-&J_TWWmEZ{f4-oN2Qx?D{kx z=)s{PDgmYgjL&^m9&}c>dR5^K-BTSK1&sza7GlD)=gK;^Z1Nf2iR?x!W`1~TTO`di zJOAVaKe&M$4M!OR>dW2z%-nTP39lMr@|x?u_Jc;Qd!3m+c5Kat5q2NXEh-8fyPPiI ztq1$Th;ERy7Tj`O#GaRe&^v5_{hSMXSRtP}p-ZxSm7@Dr;=wcO^E%!NIM{YU5v*q+ znL6=!Qaq@Zw;)Ob`b+ru*w~Sp^WZf0R_re;;o z$;nyvTpvFL)ee4#oGZh1)Cnu;S05?zHKhat2Ka62YYmVBVU`1+#UW2B%t0rT*98^< zsDdMpMU~)yC8mI9vLo-66KEs=uoWIN*8>m=5UpC8KRSu)4yP!`^4f!i(QLHJh#qU< zZf0rxT|lzzJO!RB(Q#Vm*T;M^UEqqR8lNd_Zqd((TbCGxT2`eF%(G2S zY|#8|g*_Z3tNfcR$H(bb5U8-q0jB&3Hqe`1q z_T;I+lc#aJ#pYwQuhr3~OgvwcW#^^cV8R?wv3J9;!KYO4_f(p$XNgN6C;*NOv1myt z0KisOu=NUI>wvKz!1$Ht6(-UfywEGC9gtYEqZn0RgF(d8hu57XsKn(TfXHD0K&R3M z@pby!cT}gIW0Q-P_n2@{z*ML#idguNHZkD*nc~H^h(l-B^5{(l`0O#`+|@^D&x_^9 zyj|x79(}lqpx$bwjWtr&(IR}Wv(xL9y#CYe$TR|k@mt5&eAcg5_{>MF z-&8Rev8)L1tkxQrDm4*2^Rs`hF{;EBp^5m}bp5G~DDan71WcdIPQu)#v8tOS8-PBR z%U?+q_=jJO|AAjwfAb5!w z_sFD$PPe5uG9!3F{+S2eg$xrD3y1!cwR_c!zGt^>m(+goG?tZKD zg@?5xOmqamha;yfI*}%;W!JAp^-*?)%L27);7YZdwO`L+`(3?_Q8>a|P@DkYSYrnX zgb#>7U-3=vVk}CYCqz2{)_cCdP>RI&LYg$&k~(3AkLTxXtBpf9hIDGVUu-SPFpacS^41A4VV3yGfi zo$%VdE{WOppjp*=j~{~(fFh8A0Y_Gp_{6BEROdm^fhcq1W{oY^Z;OAdk>=>VQP2-@ z-3F%P3Yb})FL&S9TJ=Z*<3HCZwN5WC%^ek}Az-No1if_%mOUzI#5IKC0bLxbQ^Blj zOOa6Yqa*&Mar^!Q_sajxy_enA)^v*Ud991$({pW4jTK1JgTLtpW!4i6%XWdjEESJ) zHA)ij@WnHj{LDiDEb8C*O6ztq54=6LQh~} zDAwk$pWZ~BdwmoPP1nL14C;o#k__tZTgMSkcFDt2+boco9(au{;|q&==+4G8RgW3^ zVF2yzSBEZ!;X-;^znXB7&1Si;_;%;92nt>xjP7_#ZS}8qF8s}H-+Hp{#*sGdZJfQS z?#EwdEEEiN+64e8GvI__AYs7*LJA%gX~b;rr#AthB1Z%}QO;t|nh^;a5d@-me+WN= z@`w~%e10u!y&@VV<6(yaypjX%v^SI!$vPAAT~D=vBRb^SI^FQGq2+yi!1rn^D_hiu7k~ zN(Nu?bIfWi%G+KyJ6{|hnZI}$`5$=c_%|FQEORPrJW5>ueZD?S?-l#=RXZ9EJu)=1<=j;zvDBPo5XY50R z1H&?^^@C;UrgsY;s_JT?UoARM%QU5>&G;E0d^Q7@8ztx8h3$i301jb>(gZ^!xilFD z+N1^^%}IFQ#a4f+q>|5&&$YEglK3lv4qXHFaLNs;-C7Yji8A0^?UB?JMZ0W)LDEVS zyOEb%!-7x@I@>M6u6HX8D_)9cjd{vj4z7DX?T7NX_av8Ylg2BSeug;+C< zTw1^c%u!Cvealr09-l;7kVM@3Imj`!r~Fs)N#kiIDUU8 z1w$)XF2A?8lSSzzHln~ZSEDtUtc(vemhw0Yea4nqvV7f1CsIdB(oA2&NK8WTR;=!hZ=3A&HDe3fF^I$df{t`TB&HMyFaZL{ z059j?9(>V@B$4^TW4QFbh>p{d{#8}Dfv}tJghuME%4MA9*PT^ zVHpsE>NozLB7X@A9Yw`f#dg4L7fA*1;f$`Z%pOiYUg_1c*i?=;{n$f1)8iTTqD(kW z4Yz#U46)>-CrDB)E(t^-|CD-oueNxdT*;x3&r$>sjW?ctum8|_=iYc1WvczKKHkr} zS51)z#`g88NNr4z;c5JG8tar}=$<~3=iawpRtpN?AyP>+#?+7xXAS*|S%l^ChQi}f zfY4VF$_a3j(ao5N?!}~IZyq-L3 zX(*+t?=z8i6m!kTu#v7u(cDAel%xC|i#Lfp*&U0~lrHP7;N10_I;f42;Am%YW5N%i>t_3b6o*W_2WjLIvaa<;z{VHfRwR5 zaDjc(9_Z{$a8V!zKDaK^qiq56kGnZ(U;rW#Sra0Hh%NGCE_v5hN6yDkPN+L{&4j+|>WdxCC5~aSm z4BCU+>dUnn?y<{4SzLM?BUHV*lOuMmcG<7zS461`?cUn`ougaL9c=1(WED8Y zmC6UC4JXcJ+$Xd(+^;`$;Ap~V1{P8ccGI19xPLiEqAp?hl|RZ1SX6Iz#YyNj0$IlPyEB4U@+W(6^KD=Ot{aBoqWCf zQ5unQ7mN%L0c=WQAZtn(&%1>yzZ&(z7QPii^nJJ7WPJ#HUUyj6x_& z^@swYj;0XfPPZ#q=_LZ0ad0FrS%6eBfmP=*2pr{mxNu`mpUCRygZ)4AirA46VZjj@ zjL9K5{8aPrNyO(+Z3zr$`SBU;Oyv93$N=#c_w9`LhMURVn3-_H>HTglS2qlIR03#h ze#A-@=iFkK!gqt!b%Q?jqk~uGG><;VrGrzv;Rz?MN5To=)G`1ob~eu-53|9e=QOM_ zswC{^X+|R|oB^uYM~%9330xyTXAO3Opj98^a(kQcA9$;y?@zlvuhd=&vwY$Lk#M?7 z^)nl)W%7vhAAl4xjbZvrO?6gcDgJ2MUI;J#SNrhy9xa2k|FI9Ix%E~cE>~E=>dPy+ zWhuh|jfo36{p!Xj&<=t9?K}N>pD1B4(03%^QAUJHc5%b!sk)7h>bG7RtfGaLM|z4L zDRpja$70c$%mN_D2%t6!_>lYXJ@Q71CJzh~&!ru4g6LaXN?_Xz*!PcxUgfra#wTg! zdG7&>j2B)!-Q8Zqh3Yu~Bd{PXq4ezh_!JUO85i!B7QQbc8J4T4lJ@_G zsQ*n#{=X1)jJ-aJco5wU3~X~Z;&X?w^`6jYr3o1oadls$f{k_gJ?jtB@fF57UwBX7 zQf%i$@bmu#r>D8QhQRXfVFCc(-+#rrQn?Y~nn$O|umt$N!mH2>rwDLQ3>tBQCJ1|A zJ8$p^;GM6gM%nbJ2KyL4td+BY!51AG!JKu6j2=<_`%me2)xbVDfa}S(E2g=zOYnFH z3kAhFysX%Cth5L${bi5*JG+u2=BAv3;>nESV)?nf)jJ z@b9h_)XNqPxl-&&AB0e=Ve?(_nYo=#YrChOb&-wp8knt#6yuq^NnOsRyvg2w0n-14 zO#lB-(6G6l8}B7_Umk1(ckOwv%I_hpHZ=K-dNJivJKbz8{dzCHysB(PDtT$Mym}*Q zb+08}1{Wmaez+SdF|z zG|aBYj_z9-$>Nk~APYzrHs7(73;386@S|k0hmu+oS@cy-#kqlQ^HQx_>8_s{aLu@x zL2m1*VSZaqy$a_HB>tUspD!?1KJ`=kDv3xL9c-p+aUh z5g-@_S{3tPfS@kWZ%8wk7)xRB>u>o^BIu!4=r_Nm{)MY|{u5VsO5M8mW30TVsNo~c zJ?mBsu9QY2G~3O51A`rXjWL{AIU3_9w?XjpO+c%9H0+Sp$J+XYG`;h=oN+%N1$ezW@HC9l)QPz15nn+YXw`~-9KfGbCa>OwEFE4ElkeSscAQh z@FU850bAof#awS$ir<0uk%`?>GIvW61K*8g-iu)I1yuK;aG^Isn;}|amavz=$HvGj zq4Qj#xH^2#imhfJ4Z&!?=plc;?9t|q5pl=!EBN`%h-?Tj%nAG$NfLa4t5d-Gl`S)w z36JMe04C@RBa#?k1069k#4JrD#uz*m%;-j+po(xhodYG`Dc^GX?HnYEU@T%HlkoM< ze3d**_dJRLn%4f!$i;ua)d~Jz;p(?Ft*_-c&DBNnrhdp%aE3@SF$z*6V-S~xue?i_ z!B2ljE4abqYdA&ic~S{)DeYZjIj#JjCD4(@JDIVGdT*(y<}r`?IG7NEtF!!XxOzrf zouz_TCKDe&{kg}MJ$26CfchVR@Sv+Uy2#ql$0qN6{;O;*w!0MML1^efWYd=M#Sp8< z!@wI>!q$qRnW?GzI04zS9UiGXWxkRq*5#S((nWm6vmG6=tqjW}R|moS=P;Nj80H z-hZlsx?BNt+ts$Yz?#E|+;O4{bTg0|xuR1H-;atEB_tffKLsYWG86s=mAyX*&a4DX zLWxX$?%*bsO@>DI&6F0G)lO-MQLc zD0M^;eO?(^T%7Sli{uvg0TjifViov!5Q{D&CP;dN70ai1(G9KS%c1AR^Gl6Hk;wTb zKu$gY-6b6jEPS}1=e;}n?S^)>7Auplx-!Y5u;Cb=?ubyb0u-GN$Ggo?~L3wdPkaG<}UhjkmU>&i{9y@K1{uR~Wb}W`%>8?qBfM$?k?x&5yHnPA#*11u^sS;Nwny z%)2q7VLSH1Nrn-IkZa3ZrLqfa5LO=vG{7v7;Pvmt(=VR%qd~hE)5s=?G*j8A6F$DCl@<9NkZIZu``}`REn-WBH=CSPT_sRqsk=WO}#C5ZpW>Niim(v8UjE` zUyYT42Pw_=b7B;BL(q?vWM=l3C-`d0%RKGF) z9iSDU6HR1a&o;U?Tw=@;u%uT0<@a%9SCaVf)V(qvaU)rWiBU#=p54YvZd1^IKs;@_ z{|12Tk$wVsvS~g-Ao$?z?|8Gp1nIA0pdhGk+E=tN_fei-8wFo4kL-2o`9N=rk$8?Y zB0oGk@kRq{W+{7cVoitUcbey8eRQLlw*2CnoEg6YAVBbLK~|A=)hOB+-!KF+4jb%q z;Xr)pAYogb`5F7#+QMsA@K9YN5%X~OT4G9aW~!(efoeU&Jztd>FlK+_y=I3lCDZb`h|Af|`IZcXRfPUsTDEmM3=oldP zFdL<_Nn{%9r)-f$%a1wt|F$Oqmees>r)(9-T38QjbK!LGXFycBpoD4f%;}- z0P$Z*3T?c%1Qqs=E)j!}Q~=o8vKLUCjusc(MxxPO^n#vmF3yC#K(Rxa#dFux=>_OoudAW=doH%TO;SvS{ zqDGZO5(%u#p^_sMmC9yy?+K?s1Pv9rigqhnPT!jshLDypv1i~BH_@16Sj^T~byhsA zko>c8K?rj;X_Yrxh)~$$YN3Z-RYX@u$ynJ(Y<#R)%g&Np=~p_@TV&#~`ft`P87Qc79fHJ%R) z?$XC|wQ?w|yW06L4s;#FSU#du>^%@p!mCa5#|2GI9?SFQY{!R@2|Du;W zqfs&+FKW!}k|>IKd~)AjBL8D1;-46<=0C)6DSyXsU44x4#&kBvJNl0iB7k((Q+p`n zNGjQI3A7u0Fd3_F(Hq;kDA3T*=$ggPcpoen5s7A^-F3?)F5|aat6$>791fO-5)q^d zDI-J1(0HgR0Th%wl~Z08U>4yR3mQPK5fq4A0Z{=F1OxEZby|QknY4@oXj7~DlOKKb zB5Z`uLAm1Bg}kJ^!d4yW(G=u)1c-A%wV zIj>>(-$)zdshbgR6a`*aXHl}Gja4FR;vC`E;bwxneeTDp_cU;f z%;?KUMhXmG5kWN;8I|e(ycvkY)%=liJ?!E{eb3?t$;yu3KTaFwU4Pou-SUGvyCIj9 zSV$6Si8G_I_(k51Fx|YLWXo7~#;O_A%ZRNf5%60=Q<5}Wc+K4WdhJ1FR_c-*>hrQy z2DPp8`Anfg8oexPZ92e62-#wU&P**pN(_8=(gnWE0Y5*y`%`>=fYkr5T>ktMn>Dov zy`GIeruUUxlGSQ&`1B`|+VlE%jV1wJ$~TjGZLMa(YtB{;52t+y{pDJpkKzec7}KS> zCS8cs#}!psrEEI?o~(~&LMIzz0Sok%cZN7V;y^(3&;$*sJfAgmMr-Cn3R$R_bRi7q zj}iq5TzWNVbl54$F|YEhOLhXXyfYO^w1 ze&Yi;OG7i{Jm!>Kdj$n_5%>oaUpER|v&DA&;>mC%ut_sgBuLF1^AegP@^-8LWJ7xv znxSusWh;Kf?`7VbIfWzgWfNv)-ItRzxS#@2#UUw$a`qQFlvUGel~khsmc?fVLWbKExH?p#dlV?Nm-pIDVR1tw^NcX#CBD*e{JoOYBdWF zEHn?eL**wdoVa`?Qou&P37V98_a!fA)04O)bBTx#Uo*Ghb-s##ddabIQHUoFPFD^T zW%wNfFIL!FWp>Q7gP1SKm^8VpnE1a;e5+hyXb;}$RlMFeBJC@@zzkWMaqB^w*I50! z2FZp-7SmmN$%ak=Ki;f^U#`MXK@3P-%=^ONr<|@e_3) z0bJ~dUS+`NI92pGev0sT$r7Ejk8FFnvBzTe;;6oG{2%-QjIt#S7ftM@+x3V&C+iQirwupHzDZ~#u&)VT=`cnHP?D1oC!#dySYYDzhp537 zP|;t?RVW=Q@%d_gnehcF^7-29C?0o<(2ErNVWI4l(K=!HgFC@N;~n6x3~h?GaFMd* zrM)<)5(R8P0evyQUXNs5S-hcbr=jS$l8#br>qjD>qkT!~`&N?KAmiq;7Ok@KqCAWZ z?RBVR_gK%#;w0H1f=J(jSo)Z$;+tm~WEE=#Le{wQkJcW=3MQ&hE1{_L)1a=f*OBeKHqr}6!4DlJw!_MpT8b$$NzTNZ7jC`Ic0_I&|>vFGK=4|BFoc> zC&wVa6Y}vxYDVRJ(~4c@vaUw3w+bH_{B%*Vi@V_v$++EfM#uK)NGIj5m}ntiJ*%I` zs3TTL0&GaY){o^K(Z>!;?x(=hp`VH^t=?M&Lm6|cu~yPh*Lc1Twpjo{8G3*SUnMeI zs1p(EaV&*rl{96yN$5)ZNUv2iF}kMV7f(nk^uBSwmF!x=*XR`?O78bupS`HT7l=c? zl|hF&Er)(;zSt%9+(^Jg-+}8I0$0FCTWGi`gPI9Q0=BPW(Xo8hQkJF7yJM}a75}{lcxlbM&GS9Y4J^;T zX;}Pftn`pbJ~nF@!)nGgXxI;4gdw|p>b*%nDX*sniL^Co0(?0ftR~+alxNudngi4& z?@U&3Y2r)RMzX-1GH;V9;C9hkJ{3nW15o^6=G)d|pGy)OerdZ>E`sWs3QyLph%z-h zx2ITWs%3bVsZX-E_dz~-^auJOLa*0cX?_U30X;EX%oy9Q2k*cHK0GpPlHULuZEB5e zkD}ypBduo!?}T0b)lVfZ>s&}mvI9-u7D4wu&);8v-12|U2R{~r_q*)i zh2dCu!PNOJXTHs?^TjSZ^(-dK3$u=bXP3j5>Z?cmC!bf>?ex8Cqh$r{+~Q|DIxmjh zH1<}?J0Bcgo7^~6pS1Ja7B*(Zz;Cxl{d&xrAbzd7JXPu_u3}ES*yiyC|GD&mILDo( z)02m$u{Jnxbw8EQ<+yUa&A~QrinZZ*O4z%ar6=q-p|jLw{@K#CV1A=-9shW)cz5+~ z^(2Phc60Q1ijCwA+4JGevbaDCHs)lfsqn+oBZ@-7mY=Le264@Y){k|Bdj}i)+Ptf= z>|EB|cu#x6w;WRB3Qsq}RAHu}&nXB>7q1%7>`PNAlk&2P4hi#VJ!)s(OLAN`68Ens ziBm~d8#GQ0ey6?j> zI0@w_aL!YvM3-kNHY4tOjq>D z-QTZ+q)84siH79Y4$mRFs&hs+q<0o!u&DhYi- zZJYMIig|rJjqPqm2g^f6UN)IF+rvH(Cr$Wi58|v%|GRi0aS48m)9xOCg-F01q@VkE zV{n6J59})NGS{w!vKNUctW>+~O4(vwEPbg7)~lWbKHu1r@IY7xehv^ey6l7vK4Ri|5T!1Djg()BoK-FuN|Di{MASKD?6OIUcImpZtFw=ig-G+ zW*{^D>~jg74a(F-iEb(KT&_X_UotleZ&5mXWA0O#pbg1X)%CJJUa9nM4|T(LyqOC3 z0oK>=y5^5X-z@tl{)jP2_O3=PtZ=O@d>1zv8a+?Nk4u9#IZbpEG}vd{1QP3~|KTgF%(R;rw`(UI^XO$DcM~vxu+O-h}uLzt0evRoQE| z>+0be7V~xG_~Ud??SkjVLgYm)GjzEdb>ph0@7{WlzW$fsPqPW!Xa~xp3(dq;HFizH zhFjKB!2?f3fT#!M5aeG?y!q$5^8e*QOFwrHY<2UwgPRko-3RuI$KUcA{aXPiP% zQN^f)mI7~qqDKGSdHRQ(|6Ah!&r8LB+_n<)H!_>RcO+6!RosJBTqv*yEKh*A18_u3a+xTNx#fefT zXX)ZIZ=(vZ#g7CB4d-ADaExqVkVX-jS#02Xc1lETTq$y~;e~4O+Gj zusk|HNLfQyzL9Y7tofoM6G{;|5c8rM0-SO6IilZ?V-d@SgEUyyS0mC`I7R%#e89>Q zfwOR_;)pSaGNR^`s4(y$!EkWFaAf?>mkYBEtr-FG-$5_iGe6};6(p9~?WU={=v z%=%@y+<2CKEV##6WFrmME{*=}IKg&5ph(vL!Rf7K)h}(+s|pn-!{uFJE^Bp-Pq^2I zgnf5|3nn{ul9%g1kZf?Gm;3Ur#J*Oel|A+F`S^a$q;M|!yzu_2I-5)BzuQgOKVIY$>r4C2Ar?W$TemsF5KOhKboNhwP)k$%~WW(GcMZB@b+Z+1Z9x*B-Abi?g zi0_i~@@~6YLm;-qjoP*{lJhFq1~gQ9<5TAm@n$it*i5xe8+zpu_!i})AeNmnA=yQN z)`;C;sLe--MI=pz!Zr@($A~1jV4G?dS!qp~_K}VT8!;)8>O_)+?-7;;Uur}c#1)St zJ7!X0(%jZb=Grp~24{W+!u&&MFRjpB4fPKihH?n(&vr!GSA4>bx=m#?FES_>lkdFu_M~# zK2M&q+8@1h_~KRT|1ksQFWdcpwVD6t8szWiUA?>?$a%es;juV`MluG&G%?UCgj9Ti zuxiX&vlzvjD}DHE`@6a2%d&2nu5_rPnHaF)n=H5S)Cx70V4*ThQ7Lb}w*H@|R6k#U zZ+*NU-u3QR=R7~XiG46aYmq%&$NvyV(`39Fe?@TXgSD;Db<0u)`5^2W$oYi5WvWiv zJu|7khg%NF`&yDNkzR@=-P9$i?t}hy-%XjX%!^e0qHnlPU$Tx(CaaR;5M!uS@0b2) zeUsH8%X{N8yN?!eRyaSjOx{_JdL)eDzgB5Tz^M#N$wT8@wJqHELLV|duNS~H+oDpB zk0f?1(nKM_x-^MuGY?y{7y*<|0{#xeSE2gB=U3_sa2+ZGingz{f5HGElwc~)?>mi? zDj}8E`om1Rr+cPpV16u7{P@AzUT8j`hRMClvbCs8BE`I+%xE8OP1Rpp2R-#nml#GX zj}XmNg*~rhC|hK%fzyadcDiXlv6R;vHLaIU#`sE5n!KpGc-pYQ7!=5z$DMa@tM-X`$=c%2;1`AUhBnrLB8_s-J zFPL>k%{#qKt}x9|CTWnUn1j-s4f}CIZnl2;a;DF?tcdUZ61f?(eBjf8tmfWu+C~Sy zeDpiL=w)LjZ)P3^(xR@~N4B5w%Z!yt2t!0AhjClM<&Wx{CjRR05%Fvz-LrffE&DyV z;AL3Rvi@V)oIlf1|zamSaE0_Z(bgY_IrVK93bfE6;c**>vYIsJ(u`$Bo0BWo* zHTu0l(V-|G(6*>%*o5w-)ClGXWq30x{-48f#Ac54CB$;z^%i;D zmLpLx0&wY}eq1t=Wj#<=PJ3dQhy+&o-!^jp;KZhpAbLMU<<3R~Szv$mJL41-B{jd< zBbXzo{nv(Hf=VWyK7y3}UoFv5jEvYmz})l)H7Xf=G=_u8?b$u*zl!5ilF!BSB|SFt zT7A`+Br&A2#>nh9MDN4dJ%-G^LvR%)D>6(kbt&*&B8z7&@?NU4Tlo-m&EuGOC{BjJ znlX=9tSV-`kg;X#gFViBq0gJl&7wC~mpyNHDVRgl6|$Ggm>69y7|*Yx4*0Q(xW+^? z{0-j`cX6M;NXQNNNcd$p`#cTuRZCRPs|`zfbr`-L3rqdNWK-07{f=p&?nj*zn!(pc zTabBb+{|fZ)Mjg4r9tA%Q{qs$d7f$KXOC*+6WdkE&+RRHha7x*(jhF}@awL8ek~t- zx!oy6tWQ_VhQDQcuHOO9hoY>eI)5&ztGQ|LKsBi9oYnz!SU}zUSBL<{Nwx8;1t-5z z(JV{hD>2{3%*vqXxCS2Ustv<}y)PHQf&?j$Wd3wF^N{!csqV+$G3L%1^jzW zb6^uB3j<@q6b*gtaDQ4^lo6WMEsURR!(@iF9Xi#~hc$Le_D#9OT`}8vz9lfGUlLh3 zSA$n%8kKcNC0mkd(rOU;ilZu`6IrlhGx@Mb6~- zV!Rxi&VCiqg6FO}6ZXxl;x3y;$c=(m7+dn|rp)oL2@W?IqxXHRxgW-06{NW0RKA?3 zlaF|z>0G7|$&at1-g+SbPOl7D91gwIk~5mIEC=It8q~Sfc2IE~ZMAxyOi^Uthtir_ zWsXm(Myt4Py-RGT{sGvfm>RFG#R3S zrZ%4^#yl#%MY2SDRXCs~8J!r6y1qjBghGDlP#?R4>C*04yKp<#6k5q;s`xGaSRq!y z;^`z|j&k(p6T20ZFQp6fW0v*=G9{}KW3HEQFt;ihlToGaR62(}``if@$#nXt2-KB1 z)FS%ag3*$Wfu(s?d6_{wKcdBx3y}4j)bxrx0UCushQ#eM2rtP~BRW8^>Z5KgyhO6A zJ8O1+5F-aJevyAxr2{S=V?xqqJS-cKx#K)!&!X3(_nX+82HVQqI4l~ug=s!%EA=?6 z90vv5HY`B; zJg>G^^n@`#xyp?fh;v@>COV3+fAeQtc1D_RClDXT4pqQLKo2or(PM%c#3C3_b;}TM z(6E=Kh;Xn3rT0+}a>w%mjDmp{%*4W77amw&|sJfIH!AQDYSOr*DU7Ytxk^N=WH*S=7VaEUm3K*`T$V zLb{_$q_IG2G7kZb1B{5!$?*}3j$VO)VH7q7l-wsFv3g(LM;Os3d1t3*p{%rbn7(wG zx7G9~)i7HSehyqSw=qoEQnpw;@IT5hES-uOo9K0ws#KhCFs8fzcFrX+qP}nwr%6awrx8%ww)W> z_Klrvp6B;&y>IRQxwTVMGc~N9o}TVLJ?EUyR>$5(&)QB)?Z<$yS{7})!A6WS_tvnv zzQ?sq-T;(49P3tl!`ck3jGiY={i9e3Z&@0Kr@NK0S7&qgtr~P>MsIVynmLBmeo45O zbIH+s6aDrW4M`9)!J*x$lXEy%=k@$kMbg*I)RBIFNJ!m>mEY&ZF!HrR%9gTt1yJ_X z>1}rye*+c_pCh+meU3Nhqj|f-kVD?NYHky=^x--s@>( zZ%w*4WQA@=j)Y$Jt~S~IK+%%xivI~4fYDpfNQu=sQB^XzR%2bq*pGRBjGc5O{)AcT z#O-*J!akGB`#wLuLhYXM(D3YQl%(GC0t`*Rb0WZjW2YXC=`7Hw-&ScRm%=w#@+WgMEX1AOMQs&4S<*6t#MKAbV0(-+8UL^I$j}TtKY`x21-N?VqZL{zlF~&+f z3PHU0@7htDB7@71P#*;*M>p14*hm)EaG^hGVDx>e+n3YDsF`=!oEI*Cl|cLrElQZe zmuH^+fPhHQ6x3Zbt{hCDxr-k0iE{xVL^fa6NvG%P9Prv&`;&NniI@%<=uG$%AAL_W_t@msy|K$}3BrnzvT;arU%Bo)<1`PtuV_bh**ZPiT zkj@a*{wBx>c-JWq=&QQiPotvZjw!=(mhd9WFUP3ji6Y8uaT?PBYkBa_+7@9$)tT$?SWp zFV5tH61R$1)ZM=nvh0mIgJ9mlV&nyY2o=YCC)BPQ2s-B`Cj!j!LD!*}#<7h|CVPYo z)e8mq^Wsc7Y52aPR1Js&06L2Tsh~os%5=QkEGOnt+EppG1vk2q^`r_|A8~}|6m^My zy_U`>wq~{1gqSH$$__A#;BAoMV3Cw6wuPb0m7=Lg05Sbu4mA{g(>MGAkY`)hSHg*MiZ~)u@vI0UO(u!PdfZP7#US`!&lQ>YUJC}7%^WbsW+Ggo=pS!eX$TJ)5+H=wBv0hDjhP7ARy~ znpm5-z&}P6h@qzGobz>?OLeElhdcq%KdGCIO6k*$HI_K)-jkOjL*E$*d(zzzHA=zs ziq9+KJ2Z_tEhaw%Y#wpg#qz01b;me4ae5o~wpDc!=Jqp85twG+?+4=qcH)HTe2^!K z_zaHVjA5tO6oQvc-es)6y`xwB;- z=Xf`S%#jm+ke%xr?oQ?nT}TvBx|0eiN+~0yR<$1py&%Nr=D_Y>y z)Yv*yu9i@%me`R?tP;MUG1qh>6bG9`F_Ydpjq*6gS5LlSa%9tD`){9Xf6sNtk$-Xm zEH-<5-{-4_ygUJPYuLHh`CqE=4hpAukCnopeVjs94(deo;VLF>qc(0f61zsa`d;K% z)V%e-H+6@R%S=cuc|blkH?ltUg*E-5z1FOR`IXfIbml9wHjv189|!?CF>a(6_PQ_! z6a;Oy^wsqOww9u`xYaZAKrz9D&?St(!7f@hURQ8(5yQVVD+w7=s45_#SuazIbAkHE ze#wOrsKBO?K+nFMy^MN)6@7l?D1Y}G`ma+&(kjw^I;%nDu5}fgFRMoM)^~KQK&s$g zL_ysC`V>2xIe*YzDAU^pPs9{%ZuAVtE7?VdYFpbYd~S}ULy0l&WfMy?kC7MW-AFWT zXOG2ZWMPrrhHvSaix$=^9B_{JXa7g9|3t6*s2>L=$meugr{)5 zBQJW=w>|Ua3eGUAIk~PPsyL4+sfdN>I$liyFi?Oyg=S^0FM}DM`Zo!x@D}ih^`(~# z<_^3=k+Gb7O=W`A2imuz4RT7OO3iaHSSioN^bxo9^L%~_FJ0gW^*^Vq(*nTz5E9>Y_K}o*L7`nJElS{s37}%%Z)dl3f8_=D{7{tP`G>X70t(gWysSzU*9ezu3fvd=c2No%j$HkX_pltwZh41t^L%|YSmFVz ztNm(nG$cu`IEh^i(`B?ev>CWXg=6souBe>ksNo<052J?FHyau>WvJ9qyr!i96L^Kx zkMo+&EUbJM+V?95&m*Bo6OewV^{K7D3eKHy^ZhnmpeE0-hSLH179LhG*)&*~BVfuz zGE&YO<0KfcS+{4yq7A$gyG-1xj*nx5*@na%0bL*cM`6Qui@w?te@W@pI=0aOrgJp>e@y9iB(;KG|x7BV|OokZNI_j9mN`diNNynD`-Kof+@+<5qV z0MNmNrEv$NCBlIOD67bAvF37sGNO7(x{VGR{S~4D-asmIAIMltF+CUh0+zOm0}$n#n^^U0-pp%M>q@k0W_X26!s~eoCl{cER6&(%)JVtP6?<`_j*B7k zU6sbASA40-6=QwK=HGqm(_p7qO$^;0W?BnzuFIqzySzZG^#_5qcNuk<_G~E5`HaJ0N*```&R!!*ybHl zn=COL@Ph?a5gq;hT!8S7X^M7nHXOM_*8tNv`de}4)^2{4!koK z1tW{+1mQAYxUYq^xwx2Q1reFUGz@YDtT^&1V-4ngIy5%#gE)5mfh%6*wmZsXzsl7E}!dGr<%q|K4dVv&Te<@aE@=4DtOh9&COiTVJ=0e#jjr% zwxa}l!G!HqWe}ZWAu!$CLqgMHtiY7R2&@Hze)xwB7{Uen{6ZGeAakj z68ve-3<u$(1rD3c@xCrLyPfY*4XFpkuk||#N1Ix!1*!9L zI=B}!51~U$Hzrx=`~14^d+obE7H980>jd*p_{QH@+8@Fl;reY~O1%5d$y+ zx{Ku?|I-f$G5xFlc$niHScXr9h7RYoA?FZ;LNE`|7gh_V5EzR@FrAyFT_T-V52ENz zOH^@@T$hQV)DDnK1?n@!tsXdKy`^OuLeY_p{C9~?(YktF97Buf9f+2wF7l2)2+Y$pFF!-De_4r8GBsG%ZY(8sU~UICOE&1bF$ z5WX-j12MGY-Y;R<$;V$U01MGS(m~=9`a_jw_TsPQruTh3o>t~xYr?qoPRT^fGmGF!Pv9zI zB>u3eqA)nTE}udC>dPDiLeLE?+G{zNVI1)!MbgBtc?A#uu<+SK0tiQur%p$?!XR4a zmRWNk#`Q%{v_6U`ax^$`z0Mz|g`S4MomZCQ;}wV+I)E^KDiI zhK%`L8a-S*o$NS=gx7B(0bdb4zDPlAETjlT@_~^hnN;0?7-ms9%pxAMME|#OgbYjx z;Be_N_(q9r8INH;<^dJ}aWDg5N#gY#!NpF-nQuU9Cw8MDz<7%-6apG}5oxG4;SmgE znosqvKfn=f$b8~&v0jXDVKqdiaL>1`cqK}a2nYVF`#Vvdtjm??kYoNxS(Vb3S;%PA ztm*OMio_#MuB#QycCLCk0#qc67Ns0nG3Az65%2H~VJ%=1Wq19ELxZ8AqqO2G-ILC0 zW3ySa_9hHGzH`3g1jvaU=>ANM3txGI*~&+^9l{w;P7~cXxj}Nw#@Z*48sHs-{$D% z_o^$#z{xsv68|M#HlVwolH|g3#lfRfr-JPanGCTTH3B4}Y*ELJ(}bRt(<6l34-?3G zswNJ@v{lqx49KVx?!4Z+j-U1)pS{aBGn$Dc=0epo-Yh2c)bI7*TE1aVipJ`2czalx z&3V!hNhm!d!Mg!%g6c??5o-Y~BZ%5Kc;lLf6=wZ29Wq^3U14)J79>8SaLZJEhTh@* z=f+uUVS(;*gjMkM5;NHw*)+LDcS2(0I(;;nE|=G>O1HBtX(JuFd1eK1R)GL0ww)zx zg?q`Smnv72mD$=>sdKbeX|oDnj1*~kCaUpT?*`T-1V(pk(xJ0Q)GHtZ7nQ^j~2@!fj=t1qJ81SNp`HmdG9 z-mlpb{hhDLq-DGD99nXpQstbgz3A-oFbt;5}*Ah7g; zWcMy3y%|fz_YiBt7GnTZ)wQHB)EHymcQhrwKdydJt{fiJG99G zJpB)T0whgbgetK0(V*QDt?kl`;1A+5%~iNJ%s7@B*B__%m90mOlHYzG|E^$KcQn!RsDKRQQfdsyD;Tt2+lYjDjJzb zs}5UpIFKUF06r~*vo(s5)$S6gWfU(Kq>Vc2v#Mx=q;U?d=6KYoQOh~f`k=r&)t1U5 zHwbP6^>~vD=W6Hc=S7pKf@mVFIoEShJc0ayULy9~$q@VWOc^?I;4OLN+1E#Bg3x0c zkW_thz%QB?Ge=Wq%uHcc3*Kq=Y(2>_^V?^e=n`CXMNQ`1xX`)_#2EY8in|Kbii=g9 zY#SA(?}>#R(DLjEYO>Y#vJEuUoR!If(pOK1QX9S!r%Kio=%|4R&>?gPPr#iQT}4Zh zPzW%SEP*4g;C*0X;R;c(GM=NqjVMJMX;OOAuJL}b-^qKgM|hwPsVqs?{X-I{{po3U@H+ zg*fKT)g_rSFm)MhBxt~srREHDtx{(Vs2g0`T0?%4T!M<-7J0)~&<{%I6LVR_J~R28 zUa8Y#lCdX66puPwTnZ8%eQ?ezG|j*}yhLB+nAJvuKO-bV%d0>zfu<0tdnxdM@xzmF z1cQylkOBdK)Q5ooBAr_@FiPf4>D}L@SSGO7-bwCuL$S~VQ7TsLfrJ%casJZ+^YF)r zUKt4`&PYKEz|y-jD`4TFK_MePm~K(36uA4?IFt$a4{DZCdmWZ0*YC`Pxx^4RL%0tr zBNYLGbvU9;gEW&e>x&|Qe`aAD>$5h>VKxfndPd0|W{u(sG`vR4)qyq?0r5Mu) zgdaUA&)l-$!KYM&u%xnr{a}4KM?O^ijSV`_EQi5*EQQH)*5#k3ObCOBMHAG@GXNbZ z@ED+)8yD2#LHh~ zTOQZZh3^O%69f55xcX?sXdBz&nwN!+bE|QjF2c@E=GZq7>;1v;(|KvcuR-rW6y_y= z_5b`PB~0s!t%58qj$R@Up4&ns4PXio62ghXG$JcwO0POlGOeDseg+m^Mvjm6;CV^YRbe1#1a1PZHK>F3?M-^H_ z%nKR-FeP9RZE@ztMAA%h3cd?)RikZ|mEGBKoFh`{cc?aWYL^k>PKQC`JE26kF691f zT>Vlsc8MK8Qpi6*vATu+mH6~pu&9kI3Pph5QCPds=@#(86u*slf92MBh7e8gj~X+ehTar_(vkmkgz$GQqJeBVr;(Oyta9U? zztK1+iW~PSBG@f(v%<`c3o+3~G)u**Y$?;T>PDv+Mfch@+R$7FF1%#~AtbnFS9(t` z|Kqos&08AQS4y*SRPryE1(uDW%FE-QtuNXGt|n)RLR z+C8e;+;Epw^mf9x6l{;py8No1;2hV`1<39(w$s!QMFbgkPo+1j*HA3fBk|L}eZTP# zl?fzvdp7AB3uxOLKThwOg|jB~)>i!?8Hjll>lf?ddE5d$(7sUuzwS;LoW+@N3vXS? z>-45aO4)LFKUCOmQ^JQGreO}i@5mfpO#KJf7gua># zA%l-9DhpkEqCwN!PkzR<`%dbA?tZ|VUhlk}{aG=57$u6%$Q+Kqg9{DJr3#rlyd9bp z)KH_iV*Clp!n&4R1yt&*_u_Eo1-?!B;LhZ7v}}wE2CJX99_#+wjo@y)DX(#M9Ng6nk*!1$ff#c z+S^SaD4BJj8K89Xt7+kYuIhUg28_*l)hAStU~e8|c=B47A0z90L_rREIV;SJTU0|W zJ?BW1k{ZoKUZWGv!n(z*t2e`n1|;l4*ED)itvOlyuK4ZB5hy7*g3k>+2H#~sg=Rx! zz7D0Hg31M9)bFKrfa;%6los`~2B|SE)@fMDClzx>r4)@InuK#X_Y*IYp;Hu<9L&19 zQ8yZ9F3|v44s#SXI|o$frVRAmX0~ZSI$(ZJ1yg7a3)x`bj0)BD3diyCdu--L9jV~2 zA(g7E7iv5y>Do0F4e0QWT*SYN$AymeT0rDpB-8vOO3)_)K!9<{gJ+HlUrM>!5E|6A zTWm=Q_r*y={~Q<^OfbHbO3?rr08P7*+Fv#sE{`?%i2?F%S7PT*T8@l8TItO|I>C6~ z(-7?Fv7vF8@07*8Jn!S!foQkGsMmVK7O{?QY|zNe(3WiJn1jr*hP-mSaR+i+2M$E+8I|Z_ z>?=#k&mPXOs!2xy&4-`EoLl>h8w~?LCnQwNFw#@FPCbc~kb}B%!V$f56pgxNPT*c- ztyB<{PdWlJ=!|t4&NXIu!+t!FCCQWLyeMvkjxAZ;KySXXzVB}i{2$!j;didZd0)+x z&*?P_)?UGT=tfC%Bp}3&1V4<9fCn5d8NQF*Uq{t%_}gAS52E~$50eFMuH%Sk-h29g zw6?{_ex1%NsmeX&7uKss!rz1V8$928!{3>fLI%%(VMxhsMxP&ZWG+H3-lAJLcOo5y zbfDAMUv+WTrNCUe(h{{_p+9L8@TUrN?{32{e0%)(d$-|YvQQHLkv05te-dOF#~}ve zmCUm-5^6$BeTB4xM49V@Y)nqFQ3Sz+sDHvyH~6}}aNiYq_}ctwvImG?d=OG3e|Xr` zKnOD*gMZ?i)XmP!yfI}&C+XgDcu&NpTTm69Npk5;mPC<`TU4pYT(Y@aLWT6u1kt6% zmci#@eb^e02N6C-@7zj>ZiRe-0Pa+mCdD>ry>wVjI#wQlaW6n?)%#5WI0Cg+YPGIR^If21 zKDC}Mz4(NB^A&EomMdTJMd~HHoacAGmh%GjzG{kjb|{5s+3w#q>)hJ*4A@;TyN9^F zye(a52In;R*SUP9ggTGOya`5eOf^5K4pw=Dz?K~4I9YR+e&!xyli~ylMbqXWc={~_ zc~VLVqaWhKHqz|Xmt6H+CK-+$;$5C9+_}Yy>Div&? zad$SzkH0E@R?F_5jSVK0N-*uqz66?OW()B#-o^joD|xGgi-OR91({u*Jjopf8$p{ zO#S$oFVm^<&jKPP?`BC0fiSN6DBvRqV(C9R&i5?R4pI+&@SkU-VGYKoQizqPA6T8dYT1DVAHI6IM)Mktq?nHOj3NG`#qm$E|9<@@A;Fy3-O zgsXGaH>fpfBmCG8)L0v5mh$_#Bpr@r=WWzD55{kN!`JJyN7cP~SmdWQW&zgWeDy0N&GDdmW#8N*i zm}sJnI_5l3($y@~O@7E6rxfc~Hg;B-oVZ!z97>ZFO4St%pZYs^6^q=)o&NXkxqUU2y+l@(!R#f*YqjLPp`;Ab8{7}hi ze~Wxc;3;VRCB$sZ(!ol$E|VqbYg||s0DsO+WX+6YDq(61z9v>< zX$|AzqpCTHWX1qy&R|-lC0GEPJkBWdiX7}$x@dE_Tu1C!``c>UqVxedh{{we?9a4? zHRWHq;zl9CrNw3-#xXr0duCP2@)RsK1Mpezf0o5)U@4TXKwJfVG;7W9!tfzMg1J)A zQsbcwugwn|T^nOIN)GSF^=W*c8X7=zuhy$jci4ojD3tAH4DVEa|8s70g2$==8<_o^ zHCtTdX_*o)78teMqdRBJM=Yq#tuid%~6#ovtJI}T)^=H!*S8wBqx9jIVY^C3|1d?i*+mLYnjyOt3 zDPt789IY zaL`9v12IClAxwyR6k`tw_YpKGCM{!nR>48pNZM_R8e_>%bGPClNP>1K(5y&^GfEV5 zW12)Ezo&?SX(StEwLN3Zf8Lep23wgyZ=n5uf*8ywc7M~ce>YleL~fYrYeLaX4u4Q2 z{oQTWwLYE_mt#2o;2S@Eh!7)}Vd1hWOpyPto}ui&-{ODx96uVj|KD5*D*mgQcs%|G zvGwhTDwoanSFBT*Du=wP)Cp@9M+1mgatT={%bN9}KFUg*qb_(KraUGEOUd#PGD2^G z0d4_h;2bZ$~@PbNKup_pAz(^v**`px@r%8R@qwQ)NayFgAov$NCfU z0@NSKy$Qd1@81ynMB#K`F~qCoz{MbVkS2lt6n|U+{8BU>_ypwhr;-09dS-k%54jZ; zrn4XTirP#;{D?f)D`W3=dBHb>Bk`70*V~HV)GoD94}f^>SYl$i@8=cALMDJwvkJ+c zSMdH2FL@Sgz*7mS6|_SVVzE+sV3S#1!^_FxRQzS4hgRLfI1I=mk=_YFkQv1mhY$q@ zs;z__cbugXI7(v_{cXZyqCcVt<_RQxxuNUmR~u2!%&E_&?@XL%`sRC}VMe;MAR3_! z>hA4^4SFgWHXfTTlV4LFw3&{ag^KmdzCS!L2M=Tk%evtupY=h5ocyp1g667^U z2y3Hnp_i-VKgPDXF8M=!BGc2c_U6f1J7*>D<}<1?JiB;V6Zl7SlsUc&+R>n>>)Zy= zxU+-QE}B=*!qN^b8#AtdrB;}}k(+sDIE*aNTh7Rg!A-)q<(k%f&CI#6`lY@m@#t>w zN>pEUH(!M;?sBLy#(FgS=F*mn20si}CCpWKu#pOP8r3YfFg|S7p!PRkk!hz|cWN}- z>htszUzOP3WFT}u{*$)o-W}Yq$Shnw+qDw24vRXT_SjCu1{tx&soCr&6b?=DY5+Ts zz=1&lw{y~mp=qr8Ywxrfb{>*#6GW4aGtJ>Jr+`5C)@MnUbGR0Sn<{{2ouNcOr+qvp z7)ths*w{gZQU6GAHeA5r&2z|TkxfK_NQ9wbuvMThvdy859&w(shvil^^o0ooweT^K z_fIL+TeU$%Ys`=+E7lm^Voh8nN#19|l1o>-iGfgDq~%(c304MD4X#O^<)@btH-7`y zd%bhoYH{rY#u=|gdT|e_PNoc%uU=;(#g}attaRBUp2!&Yz$;o-*%&C=>KhA+9{K~Yv4GMHCJ9o;4ivZJhD#M*-G(oz~* z9ilyY>CITW-9h&9xS-}Z_RaqiH}wAbR{E)R{H?zYb8e)RVfYTSCVf{7DBUb1r_NnR z@I970zrUKlg|=V}o3vVE-SAuBGrK@4mQk&H+x<|$l3OyJ&5F+{2Jv>i5U|qqh>JIfUF<*NN{pHA#7|IcApgTLEux4ngyhsLYe+%V8fJUl zM&Wnu6x-pRW8Z1zm#r-->(06R10W*9yxr3HT&WQfp$&K7zt7ks3QoY8GIvrJut^&a zf6q7+fz61P1RFQ8p=XyiBpMe1QlK#+iuL7ZmK{K@UA24=NMoC)7U7b3TrpmY(ApBz zE7cUdfYY*u6uo1INDm_rMFFG)j5_gPoMEHPXG4aUGz|3wCJrrDJUS2-F7~}JChsZ` zficxVdG^pbcv_T8N)~kXgfCPXA z7;%CJsGzASNFjoGQ!4)11ptE&+tiUjW~Qfk4U`5pDxLHM&y-A3VpIr|5P@)|N&|(9 zk{W2BiOz&$CorY{V#I-y5IK`Qt{$EavBN&6m_K=3%yMxn{u80Zg>S-iaU24va1AL( zaAR12Uo3lC9U>F;_LlVCYq|5q;#rq_$05!tKw1L~|d^ z&KpnR;fyWNuR??}(b4uM3X)V8ER{K>Ipp$pqa9+MF;ec*(QXzmj9c)WdHkwvclXsP z5k7?l(sazUU1zVlP-n&&n93v(epixUMpXkgX-ov%!pWT0z%LJkKN4xqdABUrNEyA` zO$bg)2z^79ibMRbG;5?%Ezz}k<_kBXM%PErxth0aa_{^0=d*EL&G}+zEuUzpn)7Ax5q4$Cy5i8_pLqp*e_Vf=B(s<~itBUm`e%j|m- zasDsKK~6@?0ngQ!&#!3C7==Mup&ZZdlVtR+|kswq^qT8cAO*{`@Hsj7Esfy-G?1}9x^REFP#=Bm~_cz^%LAA+Bo%W@Mx3gyG9r1 zGo>~`ik6G2h3OR6zX~e%GZd^xI;t0ma~8Yf&{+yIBIzOWm`$V@5XsDtp|CO_VoGV_ zVZGtSOk$Wc+!K!dM&n-=iER=iO!g#sBLppwIc*04Zs1)&DyR`6Q%sL2AZCa%m~`UY zv6BHro|CHeGW^J?eE~rvH8YEVNhh_TRrr&-jnM*JJ4SiQhl+2J*(06B9pEKJJ@w za;4F)-f-4Q{doO(&_5D+)%rJxEJ}#Sa{ca>wekI=*R=g0?fp*{NK>~~L$dVy^rtWK zUPF9NmzwXqPSF?Kx1X_3$FzWQ=%|}bdy?b6bX)LW51RML?*>=#Iua)? zUff@bGHiP88;ozhcaiPAsaPIdY^P0KCLW6_eCc=Vc47SkAmDi38N0IcWbzoX3%zhJ zc3SI>)o(TSKj-9+s>-`VlUn^z@U6P;Z|+Y)-oKzHbKhL>-U_<@G%n?aEuePG>i3=C zuQ73Fh0F6fyz7^!#J2)jEp0w8vTr{uGW#d!e;;S%`rK`{=nt6Fv23?*du-_9HpxHc zdCeZ=`1<-d z_R+C)PDrMl{cFJ4Hgf;Uc~oayYQMiadvHZnRaIrwr)B%fqHXQIuYk|RZF@|pD@Oi$ z!uH47dEeINkFIg>IKH`kIKRx=@t=q0OO@OC))U{pOSs&qHb_{)UiI>N`g&cTJ??&X z`jo(<>GiY+5E^o+D+l{J7wZyI~&^_*nI7|=l@NP zWAu*q`Zk!orp*^!Q)m3njbHT+<5p{5<#!+Q^h?u~%lG%fqWo@{&#}xm4c+v1+h6}{ zFd8=v|8u9@)2`2e+KZp^R#P#`7ahj~^3R-xCWbs*Clqkw+BV6>o3%s7|{=|1EaC`TBIi&6mio-<9YFbUen){!SJ_8ubI* zZ=O51*2M8JpS)g|XICOioJ@A9w3r83zJ4OtmOY8&mh0;2UBCSdfyFFwQsH-bUp*E# zc)O9{thu=-qBY;YEqAS8^WBZvv~Juyi$`UO4D`n7ICLSt_tlnGk?BZ61r(gv$!leK zGOM6G$6=pgmlYOM{ikEr3a9orMxC9=at+vaz;d9gRTHr{1lU$0S-rbOv3KaM>*)2j zPwk0}?(MQ!1SptZB;LQ}(#Y!FUrLMK*gp4T9Z_SiyqUAah&c%Rt~7GtsY?+uNQ6I8 z-k_*nnW@HKxrApyU3JyFV}XVbxPYZjyzZq>|FVeQV=1qehD$Y)oSYoC6%kD8jg6Ec ztrhGR!tzc#8r+rLkDTCGP6&%-+Wamj;ohEZmF$?wIqNuN{Sgf>hRira%=BK^YRAeH z^{N>}W9mX2@)Sqft*O|(vL%vjS|yTg_v_(5{|V7cd06qQhX0PMlcpG5o6w!5BNIyK zFcVhNik*Rt&Cs71tWpF>#q7b68fYod2$(L0PogAiB#It!01=ZQsB?r{{zQaJC_*dW zW9OV^0$B{##`BpR{pB~H8~w6}d&w&L71i#iROf$GPLF$+NB0=HKjC=lpCxYWA4nah zuJ*tjm`MQ3*Xn+e4+S^|nud)`g@sV1w5VV#gszYQbtEJ;8PKBXmuO8LY`3!#?`RSl zV8k>GTq(z!?-)!~#D_|=%8YN|c}mSoqM?(%L#zFow`%(u(%-o;Z+U%Y%Tz8*+QKEju;D1i z9@OrAbpIE+^z+g2Pf5C0Eja)FTO&w^im~V*Wi6mnJXQd%!i3Zkki1jNO#;ctE&2-( z9tj7-j{;vBvx7E+s*x*oW^3S5BH{0lh zQ)W{4Uk)uNzIVO8Ge;FI2oLSRlzmO<3q>G6as5XfIdIwN7?v!QQSM16%tVUWLkjp< zacqw&Ikv|~w6(zhe$B?ig~+`LC6;!xN$e1u9$T!Zq0JXft{3?O3n{6hN9Oj0P(T#| zsz|Wdh~#GkReI96-x%_tCvc<$vOTh)+8En$9m_wP5-5zWw*0hFQ^)BvMdycm15V~@ z-Wfr{L@Hctz{UitS@`clfR{MJ!EG`4NF8CEL}d6Uu84|)1R(?Zgv8W-AT?&`zbvqL zM;%l1#^>8~kO1HkJ2#hekC?43avaYtxPbF*w-gn}N8AzEnsSL%qN#St$OSJM!t7LL z_-!&pcg#e8XFTV=jr5tARs2NdPqe=VzyPb@E)3^@;PKKnG2+@J|DgMH5WUOykwT#J zjkX<$9iD2y)XksiP{^A>k8G|*dc~dLgDeny$$Kzuk%@x6VPBr3NEA62bb}o_IBJ-Vj<@jKY@0Ug~r2|z-91y*ud=yaX} zx}sX}vq#ZmKLS=NG|D{ghk^NVqvrE3T-{^X^6hJ z)m#Mx{9fp^T+nvTo9M8bMS=mVl$eWwhxoZPEA%%VPW7atRXDwYvZJ1lvXbtx@2Kfci%bUFJklTtxKpb?3$1)au z3|EZZq7|MgU;xS(FDj)fjt3p540yXNFbZuRVH|xZ;Azvv!To2L48!KbsKZ}bmin64 zd2JVIYOi%>S;|Trq-&r69nAo>w0!%UIZTLySQtR8@GoSywGLDMb7UIFbN2g<XpqZoNH&*zD`VFWT-Pc@9SaGMyK}(JPt;-ou<#j?fqlemF#Q72L|6O&|P2{E5?>1 zd-+i*>>i5j;lIb`Kp>G^#BYUQ__FvKbxEp8B}X)<`&&Z5 zM7f*?X^!fvN+kI5qJV5TdsAp!WEHWWUDCHph5uvyw?|3d+%-E;c&-m2>;ds>OsFA= zF6L)Ub7y1{xhQwB98ZBG&Pf)wnwdEQPxjzbgU!QX2W(fu;A}}neBIu|?f5TRHiQtM z0B$j$-cpk$o*-t@ET(B2P$=3%imV9E<_d;JszcC5N&(nJmF!TL1)L-xWk3KCa(t5* z!LQ~LL6J4_;VS8m8~VD-yl$I4eyy{r2^a5?%1)ert!u7Ra6T)B`}Ov2(t{JLJ_a8A z4+A~8WpNLWvNR(g%-nRidCCJJX;|tX*U*lC|7GWOAVG(*BF|^yOTi)UhlU3vI6#sO z>@ffp@`M4c=D+p;{)y*8_sP<%J2MU^ly{ftqV;Ezd30VQkz6f>Nxy+2FowY*I~Qs= zug0|-s}6Q64a?kyFacu`v;#C1+A#{WG6R{2iaTu?20_=sgE5O0tpfDy+ zVQv|2LvHV&w_NW-_=j+DS$7GpZfsXl>2f$;jg&fb)nW_r2UU>++}hFs4M}A6s#3|t z#~a1#Mgo=RZu%r)nPP2IG*dMAd$wbS!Doh?1rY_X7^uS{C>0$0nz_$S&3U9kMj|Pl zV2sp^`WOH}eZ)%$+RB0|5Ik{zN7zs<5_!AOpHXh|VV1>69Q#kfySUS=)IMC^g zvJ2p~(xU-YXda)>PWiH9{N68KH!+5D@JirF*s1UlT0rEKz`g^Ea7id|C6j6*EG7`N z6~}qP(p33GAGJZF$(@2KMJd04p$KWp0uv}CMgbrF!R?qLI^(9EEwcj?dY#n@_PGd_ zu7!358p@DXlB*veYVKcjFAW-QIYb|iQFTZ4>Gs02D(0x`g3NYo336;3du)|FMqE1O zVjALZl<@L+sY*Sx+UWjXocA}Aan^jKQY1>X9^qa1xh{N!hv2#G5WKz0a3ON-CEU01 zIxfAV5N#UGxs&T|B_b%`u{fnAao#k@Um1TgCbSK8aH>G=9-y>*#6f@t=Ai_+2XtcF z`5^qN+vZU4=0r!cxzdRgk)cFGrXgoSh_+Byy5Q|agSG%^Fk(VDVi}4Mo`L6#>riA= z8IUXi7z2^eOgm^x=n*`pR7EqK$(mi%8wtUmxYzDA-OJA*&@_`Vz!8&agb_SJGA=cR z&PKCLjG)Gp)&?Rpv%}LB=PduJp#v2HfDj-}ai^wuIvvzim$rU&Ub+C3rgr~=$`Nze zAEtx$MT1?E1dOl%j*pS*f38@5RMdnVn90ca^$QuU6Bq2dGL@L@w4-)d$8TpLQgRbb zBO6>ROS-=C$Msr(qDez_k$2i9*zOBxvIA#yFG8vhcU&$G5$=bD2e2cYpmj({w?N<0 z`JL>_Ne3euD%Gz-qZ5&liizBBIN~yxXo}Dex?og_iokOGkWqyptzBB*4oZ39go6+c zkO^<>3@XQnI-5GPZk^MhA;VxWvJBwBlOT5xYSxfp_Zha(t#&=-L~vsN^x#+u9#Ey( z=NSU@(X<2#E>KLR>oA<4a;xQNV?U~P8frzqkBEzuib(}dn6RD^!@%vl^=e)nLAu`_`4E>VV+MovXCOO(DYk}D|tT0*tub7v2Rm{ zh=ZMdrDY`{C^@w3$w^86YFtgB((EVK!D;Q#hCPH+D9*uM5oO(OC=*~=h-US+;DmNa z$gXCOF6IT}4s^ko?1u(~k-Jr=PoCUJv-GBVdbYQjQPZBLd;q6A+ziIE9{_|UuNEu6 z?a)J;8cZ%GrG}c5vHh18GRhU^wa1nRp#Gz{pwd4m_8=P?*fwvPf{vjnU-v)s;p##< zXR3xGJC}-nm8A|$N=~#ZslEc@MO*odt!-)T+!|aQTNoOA6u1$q7PI$d<22BW<4j5_ zx|P9Nzu(IUAHf(E4`N8@zVoAT zRG{fN>=tZr4AQ0say8Hh0gPw{Q;h(IQlyc7njptKq&*g90Sti*SWuciAH`b6-S5u_ zxbOAAyv2*1wezZpX6v)^OUGi;X7++lUo~|yeGx|!l}|u&d*~UF_ed%&dLcTDGz~rS zWGfn+8ovwpZk~K6Ap**|XuOTWm_?*cW@L<*kf0zV5<`?yffDL%I1zM$NFPSX00c7T z8a|m+D{P=b3tw1xaby3rN=sfCC8W@=*-Htc^fNO+vA3_FeY#E7zQ6j z2z}Lm;0k^ABYw?8loc4jvc0bG&!0b@3`lo%dENHFElGej%yreJF&x3dV#u zq1WUkG7)2^!HcxioR_7U#b*SONcIJYF_cA6W)FRrsfH#h-2UCLBxn#Ct#D#RTcBbT zv2rPvMbOg)JI_NYU|$=Q`fRJcJvZb}k9o9i7yv7|n#HB1N48RcctL5Kq5aZ2=m#-T zaig6<)mA}GZ>YBWh>d`M1Yu5fZWRuV{<}!7O8~QaTCdb}LHc>CR8h7SC+LueLP8PB z-_EN=2Agngyj%{{`ndskb|+NscEt8hU#BtOzGr_ZIuBPf)iBxP*%8peW!M zK3g*fNBQx+(7Ogzfw#x1=btc*USU;YyyNN7KaSK z>+FuP|5g$)R4)GxfKrr2-5^Rq8o7=ETNnn*Kn;fVK;jSb)SaFiPLontQ!r2CIhagZ z_1h2XO%azlU%QQxD6b78F2+9ePsLQMA{nsF*V;{%U1dNE1AAc;6nx07kzSxdi10nF zg9Qf8_vMEc5)!-s>Y2^Yjle;q^f%{1LkWL&Ot9;6QiEfj!A*nina4aZ$hCexLyaqi z|8va_W?&bLM?lL&_Tr^J!Acf#aqgD9Ll@xZmk~Mo67XRC~J8Pi13>_A$%Bx)E~A;Kd455J6;<$?zt|1x>N63H<+px|X&f-a z>Fy{7_VWB}aZoocPAz%I1VA9tHt+3iO~ei0%Xx9XAnz7MOeKJh^7m3UD{9Xiq?%xf z@%Lbe-4{L^XbSyaS1pF;pzCpWD-WN+>SOW0+ z%%m3HD5}6k3YM7J4zPL@pSRB)-gy@eo+2Sw(*$QI8(qG%)qmGe8~?ki>Jd+DthgJT z%)@=N-Z-iNC!dO0)DX5`PBf{7kEOjIfphzLTojuuQdaDMs3oZo-2x`xfwIAJOB!3` zuoNP9NIL};9;i1bs!G}#3R{-rF|=U(K)oy!N7x#MijcRtON0e-3lyk1m_Y7m3g<+? zFCZ$w(qZFtzJjm|*(ku~>j@m|2p=PR2dzAC&!uD^N?j~tGZL(AC9Q`3d&3Z04d#bF zvi>i+)VyyO?QVhl;~|J7C(fzD^$ArjaUf8~v}`#C>JXb%JtM8Cd`Qk*{ROcMK+U$f z95_G@d4hqWUI?Izwq0i=eP$*OB%HChGXN$I09?L{JEBzl{N5)(D}_G!&S;PsUTY|O z5P$6Kq6>O@;Rn);kY7jaU)mHot>{$1LeGGyV*Laoa0RH-PhkNNnn+Cls<7X@Nm*D? zqjg1LFiCi*tdX{cj#BeKLMV^@r+iazm=RGOZ^YBGXskhQx>H*FSth}STAMn9!F8t& zG$LBW?`u1PzheYA793YQ9lHy7qrslB14jxIi2>kuHL$1#yCbLvFH{72`v7|Z39gx zLM5|+`D5%)2?dfOSRw*hJ-y}R@=c_|fxP<8xW#kZkA>fBeR<*SxH%^Q=^=~rBAV4m zqe_-uQQ&4l@iKfH+f;a*U~dhV7pD|}EMB9?-Dc|piFD5N(Jhxg^xR3ihvrJ zHA(r?2jR0E%Cu`#&d796q?rMX&<93-HJtNr`cuuk{B1|G@_VJb^@EUv3a{ronG(Ol zE*m=`Sh{FgwDBZKf`c#VB!CDQqkvZGfEgip9p000X$!aUJI_+S-LQDm7(mWkGPP9_ z@>X4{g?Yj@*=8knb6ejIMt!k?J*g7aFOQ`Q<=cq5=+P`K%3E19<;D&V%Nz;yrdM`m zduPf_wWOq^jDlOm)>|EpX7bq_tNA=~P#V0?9wazHyPxmY274>8KrpeGrSOnoE4|^)G!D*?hdu!rrV`kUKC} zXmPc)#O{Prf0XrvUH%vzR5sEWEr9iKxdr;&JfHeBJ!k><+Ak9*Pii%!*hn5WuUHM& zc%jqIue~u~qgvx+XlOXxx)K{(WfglYYwNVtR zam3P2&F+4fzUZQi>SAryYUOw`6b|1}d94UX?5W{H`|ja!=r7e64X(gW{F1fMxA4UE zH|emY=l2fE#|!JC&aASdIh-$^sl?_Snw1x#-%42{E)&rc1|A9H-4v~p*22Tnnyeaa zn_TEQ2EGn&1IK199t9R9IG`yF*p`#=Sypdn@d#J>tjKQf`r6iMX#rI2D%V=cA^?)Y z_nL=^T&loErg8!(NGi+3`s0_$*ip!lb=(rQq>aW42HBVH&7%i3cp1HcH3}|{1^?e# zO$W^OEJ>o|cvsPO4y;aN1HX6h@?MfbWo&(K!tWe>^D)v?lJJ z$Nov-tT*%F@zhePXHA(V&i)}_a1vg7h}(K{p`z#v!tN%xfB5C4>B63^#m2KvPg~m! zAD@pUIn|vJ{{Haq=$GPU#|&X%cd%Y2Cw-9xc$Fd6v8%}2C~5tTzT0yc`06sD_S)f= zoMAJIJycI6rHuOdZ_oRap)|#(4>pv^l1taT#)s?D&BdqyB&Krvk9Kv7wD6X!);sAT zMh^8EmzI3i)OA#lDzX6XcOxsnanl|VI9-pm8x?d!wd=P2Ui;R997<)k7@jrbEt2Z@ z$ZlDmW5q$YfXijCB`R?XhkLGWwX4&ry-U`qEkEyI8@t68y+K%XbYdOIr~s{oyNY7w zsaNje{;rCysoW4I_Dr{s{E*Dpx2&oSd5-qUF=)8hZ}G#a7~|Lj#Lee-g=Xj#ju{;$ z>57L#i&I?7UT|w`YTrp~uo{GLb+}$AWq0bVkK+P!(gS?gEhZw1w90}6XiO+p~BMOSSBCGt~^(j2_(mlR(VkDaFs)` z27S+G(@t_oNT<$$;Q5{@r^J?g(@bi$;r!2&su_s5aj6jhH;`oHGw#*3wQ!tA=lO&P zR2iBF$?xd=*rj+i_*5Jqkz7_@PTE>#*l?7)twouy0T)1KyQ@#@%q!u zgt1ymB?HOhb=oK-3UtS|uBcd0)`AMc1cwAsmvdgaS>3WhWQCys{gmrBcx4N3k+1rq zJ)oe=ivw&ZdSQVgYoI2#v)Q}Qu11*j5&=7-@v)rt=;#q=WvlFhlY>Y{`q)fhr?FnD zFrY_2l1UkrQyc2L-N11jHCvq2k&oTqwwZz5I&KJJWepQdIMH~hH^^0k3+TC8UnvHP=nI04hAgM3O7AlxP~x$wXv;#c zx6hfMMt*8on4fRBNBO>;F9#YGEtCpakYS-D-xhT|nksd4L6uF;ouej}U=mQf94d2I zv0`&QR&|0lFzD~)Ak^+#hXcVdfQexAZPmQ6*8o1%M`3RnDQf?M-^6fFC-LB zJ@Yom-~-Q3IE2`1QGZ0(Wu3^Ew_RsnWW70VBHTiVbQQ#p^W0PAxo=5sQ6%Z^3AcmK z5qkksQtTWUh4kSgOw`9Cpi6lHk&s}vxiJuCt0$Ufiwrd4Lx&KhehFS_Sz4Rw zAylsIQ5k>%xW`_M`!FrMe<=DRUU`ukXyJ6XGLz}w2~8* z_yLL(fgFoATU5Uknzj}wAVxJ5u+%f^?|2CYz`!Cm_any#77SMidC=678R(y;&a_*@ zTh;{pixI0}9DQuJCTLwE8kAcNA(M>6xN_{O6A>Hp7zw~zIH*T3KnPUf+~?~mQoxSN zFA(Z;bbfPG7O|uI{);6u2wC~xv|OEyKpZ{td~w?U0OqQ5NUSi9q&4%Z&baItv>L&a zx;TOUX*X3^!!r{CgDYoRb3K!&362C*KuI3@fxo~3Eoq2!uz)wuG8U?4Ql!cznN))g`(}^SkV( z9VT>UEC$ewkXC+Dj{ulBsGMUy7u6puyV?|EA_71ifjL(*>$-60#f|4~N-S|H`(F^D zetSN5>6EB6t{_JJEjmc1#gp=M`5Ana_CZo`TWna}TKs1;l&FY9_D z?`60Ze82bVkwS6tpancH+QQP{L%d9~_%_mEK1_sX=e;t)^Bu?OUt`PF%MEW^7V^5C zvYJ}uu&NhD=(5%HdWg~dEgJw_HA*IM@P3e?3X2_TN4inS<%DGbC@HgiZeCsnpb-1$ zsR})KuyVsc#JB3pkm@Ifs+^{NHWkU65A6X#QCz$MxdlBXH*v-pr?C=THGb!zUrJPb3^2h zgU&o#x;W!*-O#CX%5^zw>PpPQ<$hnFeoOz|9;@!Fcn*(Nz2;Dx*+yAgr)UNkQ`Zwg zdA}7(gd}xnA%;G#^jP{apOi0#`z#-o5jMkuXk}(qNM+bd+WFM*iIwHa#rp z;>FJ?b&`ZQB|eFm^k1f=;Z?46H?2Rs&_opfDvYcrlxhAZ zt-9^~qpi$`k&bhMx31t~9B`c|i4i%)r6x?Gn!tqqB78b=O>L8w!eT%I&5T9aOo?ivc zRt-!;Hp^`i|D)}L>BH3a2Z`!Nr``kUkx4#t&|G0*p_(AK@_VYJv8lN>4Bid8(lKzc zu8Tb;2KQAC9wwpnaxG3KZV@Vo{W@SjHjNum4H9V5$;2J=k8?R5Nl2m01^ne1O=nm_ z^mAu?sY4<0o_sRuFc!8 z7lO3s59dPe@N?&Lez5IDD^eoSmFG+GcI*irZJKA@Jx4pKrw<_-*cQ3J&LRQz+{VEn zA?dqP{0Z?kBm^$F`-q;;SuS{HYgSz8=H{n+0*XP{r&pUEETPPIUhPM)Op8=L%z^!C zx}MWjKsm>_-ZJVH7rX(qo$4P_$}S_<@^lT&iiwaH;d54AYcu!nRU*?S5JwQvcF?(r z{ZpHr7E3^MJ-Fr?U!PX*QG0(Fbx;p~pmN<;a;&e->n$~UH}`XLMpx%+E~SESi|21V zjdwZ?1*e8^z1B}6pH)`E3ZCS8D1$>l9NDB|tSetpJgW?6@^)J+8EAeFF3FedRqax6 zFpK?;-ol~I3c2&cklGV(?%?1Dc|%uS4+kuTtGdJRDeF2CNXN^g=X4-ifK2Xq@F!pabM+@5N&-q?ZtDJS;hHmmh>3)3xt;GiF0r0q-Z>9$Oj<+BcpN6STK__&i(jS**195 z%*3Yz5Cvvp4|H_?;Jws3`J93yTlwC7#KC|DDHiyFT@o#}E)jC=G4rGNQP+N}XdREU zM2>C`vHeza84+BR#RiT=L77f+5lKn48w!+x-Upx z4Gck%dd&?1Wb!@O020|*|BeMF&c6~rAQf>=ntEa96a0BS%EpP1X%qf-MhRA63D`L(@LY1nLhny7kl$42X}Dqj-mqrMx6tCB?`464#`zox4|dv^tfD@ z;MCsUIyyKjS}s>m#G5YXwOkai=vRD1`EU9c^}iXwWppU&38TUGAGPxyv$I5zcfofi z*ztI~2(mf2hX5`2m3K$ZuRsna@xSbZkpp}mtFl;M<}S<-xc1Gt2p_apu)s^v{!dkzXv2C+?rwb!70 z+faKN$Ly4RC;@q+j`qYnlBTRPsxlR%50&#cET^{Da2xwZEdiV3A5c*d0e0(WrzsM` zQAHw7zENdCP*JIBv7XqH}c;^D42<`|IYV5t>SQP?9 z_wW?JJIwG`-L{E3EOiew-(c}*?)?Xw$NEpd1Rc419wEK@%Is(Dy@^d{U+nsa=?KQ0 z+*=2caIbw1sqltYOK%a0dEO00EE4V$%re$91ATFip?dj6eOb3mVm)M|^fwy`K%F1) z3Ae`!wUtlNUcNpVh4t85F{Op=rtR7w@NW9qFS-)*#LI57 zuTuA%9`Q%s{28L2k7{{(++3N<@JH+t(Cd~iZHi!5c{P3xSM8aNs)?ZU$^F6bh~>0&F?~ z#g_w+A2=SAkov+)H5%n|7j+NesY=^Y!F{Eo#Ms>*1cZJAU`x3Z2+?r|GEc;)v-E9#hyv%akV<24~~t z?Zu>pD|~|jc3Zi~|EU(c6ZI(w0 z?L>5xlJ^xDLln`scYl#%5)6R}aP62rL>qlI>oaa(LJwt2>W2EU)Rng2a6DcD;uBzg zXA9@Xx31F8Xo@7m?N%nEgJD^y7CUpE_rRD)=s?q6_9v>S=8`X z@cv8jr$NJhv;BAyE%{cPoM~)y3P)^ZL72^}YM6v`jtY3>1CJAy7I#@@V@r#3*+4;c z&A5ybUtu_zTgnBE&*D(a<`O0E}-Ll0N}C3V#U+@pR%B%_kh6t=354 z!p@=v@%xKUpVPKD-QTLysi`R|a(1W+5v|~_e&KaSnv;Lkp61JpvlOS_lw zf?i+FQ6EA(e|&xLgB4HqCBmtdkvQ)OtEPa!rf~Se09Gc)M8cmbs zE#nrp@*#s{`Hc-Fxv#V|e^;t?rj_MIVW{aeMl38}U&D2zwjG|s-MCIkm~P)*hFv** zcvM#DKFuE$NK8ysbnNVIdhmU{fe0plMi?O{tJvV#ESxpg2a3quV*QO#~kG~qARRJXgGduo|rIE zyj?vDO(m__{?hVPftGp%Il+O$+Yk*e-NARM-z$lFmP9$X`Yoc+^hf{5Y-3ptdxPl^ zF33ZojD@Z4zHC(Pb>-s_w;>5lNFaJm9-ycxx>fYuduVQ=R&9@;+=q1e*(N@N1kvv< zA2bU8$H&h0jmT(|8jBWdf zL3>^Qju{wA=jJ~}iV#@QSH*C|-k>Xxedi>-{K&uOnLBh=QtB41aKxmxP8AS_?&TmGC7sSE?K}ANe^oDZlYBrF(T)NUCjzvX=9*5 zdO_>`16v+6M;z~Hn-_>e3?9uV&aOS@mC(>^SNi8}05m89J#Zl#9#5y+e@TMCaNpv^ z=woMwE!uDY04GlAI)D2=NxKmcjXxz?t@m<@B>7;?^Pjx)NJ~pfkU)dKw^%LJyg}IT zRB53&0`70aAwSCd(#!7e{LY0~jHA6ea_HQtL8W`a&tSvbAi6mOY1_!CGqUb@su?jF zFEw^MtWhd`=s_jd{>e<8MYm3H{6lQkFE^Ltw>@F`lXhxTZgkbZ5OD1n`uZ!YztXfr?5(9f3sGFfP{`iX2s2)Efr z3vqEMxdG=(rZ^_db_diH7IlN!D|;r1m~*gww)~PAa=)BC;(V=jp8`&=Ll0bConIFZ zhqs>5%{B-78hQJ~1hm%EcdgnsBQNz6Cr{}gdWYLPAB!AnztouKbV=VVJ%qAi@NEMc zCpu_|BXm{2?c|Nsu*>9`D;e!_RV*Qq$Hpb{LNB>z$8cxKQ@Vb}W$&8X*u1AU`g$gO^`8_Syu7Qz_kZgS;6fuYs0jV~(% zI-3aQ7>r+k?pV_n)zNGQ^6X5x(r}qaF5W|ZMUqU1Qg6QGO;$qux?!792rVQM5~8EN z9GKRtd=MQAp7xyqG5Weme*cCuXx4s3L0~c|GCIV?Lom( zWbP2X%5;QCzRzAzQTiqP(`5la^;xjqO5Rg(E6AUV)nj13;jEec zOLDoZw7Z(6?J_5)jZJ>;(X;#7dyXp=O=9g-6e1 zPnsJ)JrH+lzdn@vg~~q76UC~6@@PEXfo+k6-`X&QdN^`|{HP_(6Z1xaFFc4+#1r}I z_Tt^`^DX4*3RXmCaPV`w_Db*e{p(iBuzTUd_xj+4`?HxokMgbZa@mE|?b9Qb562)w z#>uYZrRz|5ja?adn!n+*I~w+?TlcCwSHa@ftU%t~uARyUqTbHY^v>y(d!&0!(I+;f z&(ug+@Aua?*r{gq?SL5gvVaw3`NVRX1@pFY5I^|8N_l<03LS)D8LeMG-Zrm>DD#`$ zeOGf9{`S+=eBk2C33xH_etALrTtzwu^@Yt1kz@Toi%9bG$Rq2Z_Ve>x(onm(ex^I(LfJamQYW2@Lm;jsb0{Rz_L1A|d6SXD zb(ICwd|UP7mQ?m(_VHVw?YJKFr_W$z`fx((|CwIG{`cZq@sy~^be5Lcx5c1Or#xkg z(T_2sYl?mDRNCgOZ^{vKo1V!%3Xjpj&cwaEDyfM`sb(Yk%xtuOOiafRpFZU|hT`iN)+^s~e@rNcWxHbOV3vW-`#R?U3?WbcU zE%74<*PpUb+E4v-h}1s3pF1|6WcuU0+1;Vx6r_kBAp^p3M5C<{Zp-8EdEYPveT@~L zKkeVsujloR4Rl-S=?vxg^Ep>81y>Z?i{o0t&hNE!b~Q%Y8og%k$JPx8-x9+u0 z-v!}}r%y2RvT}D5cP`L^GteM9(5Y-uX2eVxf>~MJ52$%J#7rq7+t0WPbV?>fNFlOa z86*}I)ow9Iwy+VQcY(ME^1nx5j$L8{-=34iVzK+0L#qbomwq3nnqNLiSZa6pZEsxT zMi;q9bn$QJZ(UdaXI`Um*?RieTrq#7^)k8Q-!A1+N-EmD_hl+RM1*KBKkgfnB~ig1 z&Gnx>{vIskM-+_zgybS64h~c(7#FrL;UT4E3+@wc!3NsI~Uksnc|I7w-E_kT^BY zVqi8GPDh;1I38QfoxGavrWt8kYg)nX4OZ8E?@>A!Ei&F$U32!H%KBzb{5Na&=xo)z zcOOj90M#n2j-uJmzWU5cW14_9nY(QIX>}i5Nut-MrBXrog8~fGKfa{Gt=1^@HB>_4 zNH7=c|L3brzPx{O+ph`7l_=OS--QK3#Cq7WN=CSGa5Cp}8<;y1OGZ{jmC8;1W8}Zt z{G(8QH2=G3^Zy_B;8Wv2yh0?q$_|uf(zx#Sz!6Nt&L=9P7nXuaWdwW*DTsOi;dP?N+T<5UZf zW;Lr}IuMa#X$$2;k^U%SXlP@ksu_@tsq!F#X?1l;t&}25Xb98^?DY8)}CtFpg&QQLo9byi8KMJKY&W2)>6fU=|5eVed z)ZWIiVTRb*d6CVgAeo=WZun#Oo->(0@W@_n)X7q$S_q9Nz>u>fKp%)J)e5F)DYA$UgpFP_hAQm}otLgk$xyQH$bogy za7thOHha`Sfa+-YE@QX<&m8(I=^Jg)jfEmCHxUW(Z+Xk-zxCb!IaqIfH?^d%rhkoW zAw#rOY#FTOF`*s1E;b{5d-gsIe5;ng4BTn8N((NEOJ{t*- zdq+>cu*6AHsLM8k8Ii6n1;GhY=$yjCcp?u^?ZV4(;3t(D8WwSEcoRKN>PW4gW)emt z>9F=N21!zW)UAJ^Ee@sayb<9I=?PK?vp-=NuC43PpsWM8m#` zTJ8Sd*_1)S*{C|rSyUoCN-q1nTH+8toGBr9k`U-vy|C1-U3O7)1Ald z0rVKC6g4vG5oZ956=GdV({xtWhSP4a(= ztMEruoq^+GlF1c4QlD~_S{HkUy)FBtIV|)>O>)6t!xv$%Z2cI>*u!xaeq8$jMB7`H zVeS7BD+K03$xYUPR(7Pm7CqzM^^yhjv!K})%-x}_X8H^7>oj$C zga*fEfnvl)qG&+f18WL>3vke~vD#ak>)2p)fgm+ujCC%9SLm&}o7@&ODWY?Wk8*ao z5vu@%*~VCFx1ztltpb99V=$~8DW>`*X$I|4CV67NJ-o3Q7${IKJ``#(&T4^vv(WEv zio$}yBeI)i`vv=_pgQ(YX{ycK8xYwu8g_0;lKNeB%rZ2x2a! zHe<*Y40+SJi9miY`w6Fz*^J#$)CsrK<0wcr>f&j6>}w|AXIK9{^y6ScXb6a+6ZC|) z46BsIw;6t1hvcN>NOH0r#84#hkD4Z10ZTX8Vv%N8E8+w)jcz!ely!q&gZZ$lpylYN z&x0es(#?(E%}jZXSD-O|6mqHlxxy{&=$%o6Bn?fzWmiMq|2t^X&b3L*q)GLj`$*Fo zxgfOJix6RD|rMsk~-zN4uolbeaw*rF9xeyBUb zS!I#o#QqUjl)VuI#zl-WB0s7AW8Mf3WV_KY#j70KP-}`0pNc+jOtrKwa&4ao1>p*t zE$egH;4k}N#Q+Z9Z6r`nBQ|tYA!^;W`v)8xaHKHb19(Bt;`3-?Ssfkga|-+z7Xq)I zlF#?M6;Y#K5W7MH8YKoG2m=<-y2PQZ+}j0{?ud*~#Z=Xv4WW|>HH*V{xDCWyP>`Jl zHLk$2vSj;gL9VwKN`iW)gB#i6M;2~buF@VI= ziTxxHfNT56el4i^E2dj~BYwqXM>X1M;4*U9mMLzcKG$*_2K8^2H1?T!KUMogiON>F zMv+hptSxZ|e%k)joO_<~oSToUujh)xDRBN(Gu0-VjpA33u2MCP5}x{sb)~p$6>2&U z5BTx&G_q*l;Dk*yxH3dfEncoOJ(jQrxpviYEi#h<<)ab=iY+uUEAV2l5;@jg;~ z+jr-B68F_-!0)Oo`dTQ({m3fGt%uQmvBh}W&c9b#uqixTI=zdlGyW@EX6_y2P3qyZ za6Mo+L;^qgi21nP>1pzX8K3i0=q~Fq`A#GC4w&zuT9n+6IOVeC&gEueZ1ie(_@-zm z14m)>jX!Mo3m6{Lfr`KBioSNOThTlBH8-`cu8#ehQs?K&K>CX3_~+DC54rY05X<8S zV@s4Mu*lGd%Q>I-7l@1Ev-0xvVSP)!)w zDK5YAo2!>`$^Ogx9cW%#W5>~KGk5)#Wt32SpOZb_b4kGKG6;R44Tx2U^;8dD>l8%j zOjj!CQC-vMhqHF38}(T*{8!5G(c58j{ud$<<#&+?@N z68ZDETm5H9H0Gi;^@#j4*5;d?XNfIsMIlAm-R5uOx>c1A$_Z_^^IGRE_)iF~VFH|c z-uS$cTv$)~AP~vHo*1`rgUFWSwQy&ebks2H{dLCNPf~LI^q2%$U3yoyTjB6Kpc(@=z3+;z zsEzpqSSPhgRpN0yvy+n(&h||;Bp~*OS_{f)R!_7m)0F{Hms~m%6l`pG-`k_h%n!f5 zzCMTgpi9f~`CUBp=;k^)+OJGdf%0%uD_Gz&V;E{&iZgd=P5;Hsa6_gs)PaS{ub@ns#hYP!+%n^&?kxNq;C?)f0 zI8>QNQ_|^nb;Xd{&A@C7RgeHRMQ1dY8Ap(@X;4~qa?&Wub@ST;!XhxZEN3-xZvF>utp%*)gIXWa2K?7PO&h+&A&u6LhE^v6gPgOZ{q>RlAOt+uSb&If`I zxKbOP<`x=9A4t!XeIcE3xz6FzCJ_+@0+k@PxQ&j~g(O9A{!l-1?6Uc7s-ql9fP0cB zkBzPDvtk1#>HKndw0tq#lNJZ84Y#du_DvnC z{~E^Sxma%Eeaud`jwET=-Nd7#Usp33OJ&8T9>MKSQc;(XkZ4>*)i$bgDGZ>*PwBLr zHf`fzC9yAh;?H5MCvovFq9&z5SZFLUa!7Muc@ZTs6d!MBB_N!(+(6vG2wTE^DM4Yy zrQ`3q8zuijksz5p5zJK#Ckcy8`r@L22ie4KaS4Ru@6y5ws-!NLsjrXw(In@mJwB!=s}3Rl%$GegdyMr>4`xu@yIwq zeAa@=9Y&a2m>R{xhxN^=#Gh|AR5WblP4*{DM#9GlB%%(7S}5Q$#Ye<2Q131^t|Coa z(%|g#)=ioxfc*2fCqo*64+M6sB9V_NCD?M(A`L0 zRYV}6+)}owwK~_CjU!-h_PJb9=i!N>HlC~&W5S_NekgQf5)3btC~xBa$h~<;_9&an zf+V|I{j&D!UDvUn;_h2DTv%e|XIzkX6OEGUP-8OP3lF@Qs*n#8jEEW8m%|n}$UE4; z%r1RlE^+d)rh@eMuKI@aj8Tap`uQ};f1&vv91B_Hqqx8UC`jJD%t^OHV;e+G^h(D*FKtQXyBsbJh%a=+R$s1OXnu?{ zNruc2;P>s#6o@%6wQdfn3Ua>dAV#5Q0V`Ph+Wz@J;aiGZ@25Lk+y)LQ!7qAcE~#PF z-`%Dz(}LRtnHzY&uaSwBbtVrjT~41N(?iRlBpGsPDkwSss0nAz;!RCEe+Az42s6{k zohy%?|NDuV7bIo#up#KPE~IJyE^%=H4?yK}8QSb(E1Qo=pI6Bj!%?f>K7K*nsZL%v zr^bi0GaV;em6HWs=U6MhoD15qDC0#m1Ei_ZoZlH@#_m!V8qu<0Aiv^OCZ)(Ia zHz(J8n{FCSZq)eE(pi?B$aIEp2hmVjE8g@2+T((&k;viZ9GhZV(adk|qyd3vL3qyQ zU?kW49S-mP0me_NGt%6O)GaN@zm%$*>V-ZI$D8gdQ@Hwuq2EI0$|~{Z*_JDB3kQ|qRyOUTLq`NOAuR89tEh0v)#5sFyITT@q*h} zJS_RURov=u;oRl8-GO|Tsopf$y{1elNTx>iM`fy?m}dG6%HstBy0O^Q{nX(7l@YsK zQDg1UFU@Bl3@A7$`QviKCFzwS&B(~`*mQ+4+@poO@7D8$NJf%d%0i!R7GjEJ z<@4r_bK3RIK8%gP|U zu=>!H3(sHVv*{^o)P#wXlTIe?ujh2AEk+p!!p(2k2w6J1I?j^ynax@!SLHesEuhx5 zbMyVxvRZ{4DV-EAMp1!32#d6U`@is z)7C_JyA+!L)zX_Q``2_PI-RB{IB355z)dsz;Bu1p$rn{`K5N~LT!{4Q z#r&p5h-CUflQzKgupgfPJ*dO+>ib@?;E#nU{V+z=2t^16MiwU#aqS%Iv9z?qk%3-H z#wh*+3U6|CQUA{-dXA4N|IdSr#zC%GGZIf_C0_KNgfv%gh2LkA?8A&{q;*~BId!Ac z)RwR{$-3?XO@L+GgE;8}j!jWt5@x`41Xx@Xg#z4TB~rY!AQ4(R&X%KdRlY}NvhzR< zGj!)qGLH%vKuMfde7Wz*AS0)MI*lRfeKG`8{2ZFJi2N7bj(BAyZ(U_mld~&DpWz4V zw--;*o_p|9k=4Vk`C4Vpb5yIE#hH<$Oz1R5@BIXCcNoy~;2-bnI(MLyQ^O#DBAOr& z&dQarZjaFPqNHDsPU{mJ7m**XL_W}u7pGfktW@PKIaqbu<;Usqbi_)`i{dx!iH9%o zqg%zLe0Rue2|GcQ2M7e>2LouNfsQsA2GbI5wph^m1BqD+Ah_Oz3}jI2!9aacLCQl8 z8aB+9fYeHNFV-J_zy4auYls-1eWJ%gY%?k$H}GFwFS>h5q$dk5`pxYHj>WpRw2RYF8nY0(WLU|ndoC@~b>}qPz zN`oOEM|?+`FtADUId9BKtE=r*CsgLBxgK#3l!ovWBS4H!7Z+q&OZ%F`FEnt0ZVH7SPN>o542NPeUBb-CX2_?sR*58g2a?JyImukrD>b zQ-5`fs>0l+yq`LzIkkqcEgAqrHVE^O4$e8h3nzOP+~RQ@0y_`oSA*T8;YzQET7YariH8n1X6P4pMvs0Gbc!N@=-k7o1ET&wKevQTL32De9gTwcfhm@2K z0&7eBx`;pm_?GneF|cvMZG-Ux7(c_z&fiU-P@fwznl&Bnx;vGJm^OO~3lkjhBR}HB z2^WEw*1|7PF<@a%D;m9j9xU;y`4LA5nE6_E)H970eo5k?5?z~RE(&P(FUMrL$QM{< zTYX8kzt+xFMO|E{1#p+XALGN>-(W{qm*L^=|S-bPOS_P!oxA+G=D?hz-%NJ91Cjc&06kDz%52u;s7f_lo56k?>f`k|a^9 z%jmEgdH^(}KY$B)L~Fc%<{Z0{8T;!S*d7UEnR;|pJ6Pr`(NzVjq6EPxq$rkvH=4pM`<)%!8m=3tKY(^!Qv^Wy=${*O~ z=~WR)VCYco4jz@B{gkSxhtQyIV`ck8AbW3;<5|9ZPuHeDb4Rn-xY#Ulo7h43KqQuY z6fB7AAMffNV#D*wTZV8&xJdSnwb4nK=eN)g*`s9e%FEVAkiTWb~Y@5Wd7v>0m02l!*i@}MS zqpQ~10l2BEcT4T>0+1P1%d$D!)U5UZfE}0)H>vsHtak9_P05f~Kmr*YTH? z0)Y$q`P_)#o~H~&gZoXSXD0d0R?L^=MI!51l6G8qpP}99Cm>J^&b21H|T+2;g zxL&1L{}1B+F}jxKed7mrZ1cpnZQHhO+qO?^+jeqd+dQ$86FZqa-``sEpBM9X*7S?& z-MzYcRqv|Zz3cAl`rMNb0f^*sHE3gt9b-x{=02_ueRn>`iDk^sw&BKZ^#uiP*204d z6-Zrt^??}IpP>&m>X&Em(s4c4|Arcdudmn56M;i?olOQE?*(RO@8d%@Ql_W{*-2h( z573CmxD8xVNf~}+GQ*b16502wRjVQv#^}?jvKFkdB0dY1z)7s~EEK;}8U}+cy#fnt zD*)g6&*#7_Rfx`q^V8ICxNnP&wsEl^gk`Bw1Kz0PnLekeV*8)2Xk6NnI5=+)#S^&DzURV;FLQ+YKRl=`aGh zM)N4k336M37jO3N^22*w;JXNPd)t2A6>Ei($p)kqP=O6)ifVb>oW5^Q;56)j2wZar z%;tOJIqZO?BSNmg*lm8UjkC6GhZ(jOi{?ful8Rn@2bS4gp1*M^f&NATrQ#w^XJ@1= z^&i}rS}&-reLGR|b&^j{8!7pk zo6`KzltyQqftS)^K%h$g0-vltc~F&Ew?^2wLWxnoF%_QOJIt(4wf|Fl9yYEJYu`iV z*=XsTUmZzHRoA%r2z`f+3w-3A>*F)qa|XPs&)3{&m*i%!;{qI2iPS36M$eq_0G5_@ zxvNrsf-9Q2AFY%Og9(Ng!C`!q&79j=4>dMH<3y=+OJcJ0<%H*Ae&Isg#Fg_qGEl$m zWXx%{fB4ZYa@+NFEiO5@_i=o}a67xH8p@Q@8U_aKuIS&a4-MZ`+(uJi%hn8rZz^Rj zd%q?~B8IxukGHB23$y1q$(b53r+xFL`v;$1(PV=5vS>G@wKct)^dEP5Zw|dx99_6W z{A^PP53>Zi27bW{V^Zh}f7zgJ2_`J)C6&6AraFOs+hM{|Xg ztdMm9ATjQqar%QTDpCiuLMpU3t<;Xf(L}gO%?Kn%XhvYfH=z`JTwl&uPeAs?2i0+A z{`tMGsYqx`n2)7Lv8cl1Yb{fwS!v2td>kg{B=G)4U)1t_#m!W0>|pHu-@PIK|6ag; z|G!tkxd)zXhETJ8=2?sRtX#-iPjE|G012letRhSY05uImeGM7OmDu(kU96y_^ zMUrHHI^`JhxqU4$1&mA8zt9p<9!O-5r(Xe&BHlPURt_RWeAa>{n(U1^NE+#NR-%e> zea4l50K85_JXX`V?RbvrX=!L6odzO31GqG;&ZG&4M#*soWHb7rpJ9~_bG?^M-&;Od zsGOKg8(qV$t>CB~j%1rY5n;G>0#SvIH~76)b&X3XLu44C!X<{!Bb_Jd8ZSF!rY4QG z3^Z5lXti)TwetB>m9p70x}E6;g*mC(Fm9ThaZY%v$UVnBh0<~g#vnG9M!aYIk)km? z=9D4gW`P4@INAEuUwP!f|G0gb?KE4=^UOpFG{rC?@@Qh8+UzYk@=D6(mINdoa3s22 z;W|jI&fn0mVLEBjDe2%&C=@r&uM)zlI*6K@nu2FRx`vXGlgA&aGE}@@%PVi2UlNq@br9rrH;K@Ts}@({}q_`=l#Z?FP=aCnIDsf5o|V!#}IZbLtacx zufMdEtY!zw_2j`87JT!BiCK$kKxGd=qrF}GVfbqpyJ_g-3Q2Z2-MP%0#`*D6y{D13EAe`$>TKn?w~LG&iz&Q0tqQuPrl}Kz0gR#GMq;0MJrt@R=Tel~0#B zuwRw>B?An8{j+KWN+mvC7ue*x4eOkR=}OEP_QL2C2j7kxwzl8Ho3%~HVE3u z-?rs1q`RV%msVEu$e`8P9>6!ao{JG$=Gt@3%Ed2xWG3gWDdCzw&BowzpvPq6Ez`@R zIHK?=ryH^0)H@W)NE>PmR`>Q+1g!8Hnp~>uZ7U2_E7zsBHtCj%sk$uP+@6d@0<;Fi zqg;qtO;v}vJZ>%|XBpG&>GqsZOQqovQ7v%je4V~`N)xh+nnNOyi#Fc&7nBTNx0K%8 zfXC00=B=gFlbE=@i4z&hY%eqQn87ACMIPnNDlz~Ba4RQ4xFigZw3Do5R#dg---kP{ z*v9Qx>zz|1E2`)m3aVV^#DAlX!GW(0;?>Z+2-Vjy7A_w3Vt#M^4sfvXbQp_wujlaZ zZtr-l_*{SG6lnD;ohK3UNLu6oyFUo5PD_fMC`WKH5no=^Qk>`2R#J3QBxL`Y37HSW{mZ-tMm{h{Q>AHj{{-_beOYblWap`sbhiY(rF|Q)GXq8{6MdbSU z+VsoBNLMp71#}0>bCjiITbY?lO-SK4%|SD6b@^pe#j;gf8&br&mF2o_KumJtH^|2+(s+LEmlx3A& zV8in6A^*s|i>IEH&nxIEEnDl@0i&JanZTX9d-6A?qZhZw`V~vS=c6EAfUzSg3Mb(v zAFg)t{*nrwvRXcuRFa?jEo@o@`fQaR*huQLTFO((YW@D$JldzsS@|EYl7PQP#-p0t zfP!{)!Hw(0QF)GuA^0LInm^i}=R^I&j4Ny@H z`^GJ?QhXYllR_)T8O_M*i%$mqt=<)X!MxwzjRo$qcHVObx9LzhomT3Zf65Rz9-La4 zBx;y#(+5kww-QS`-#b9czf|jDU z$>S2Yh_<|X@BqYP0M(Lx9FT{v5Lz~uJi()l}DkVt9APN2~`!DB;FFZUP%js#ZCn|0tUkfHA|lzJCF_wY}nOV{#} zFi;ZYS#Qrf!9dbEgb=c7$(01H(cVd6nef>NnCm zPLc_ca$l}*6AS1x%TAeXNyGDiU&eVGPk#r+_a?>P~^c!^~AK3 z&k{nt-yGe9{BWyeoH?bO)KgOcAmC2gZ~ue^tjmVkK z?%;!(^Js|3&^J_HrH3?*+zF@}AR;92?b@}!g$zBTaQNc~?&KvKAJS!odv0M%G&(?MG^ z%$&F-RHQ8aKLt*OL;^QE8xk2L|me1sG{==Tom#)Tg9hSc@XbMoMJ)& zhwy6?he^gJIFdCA1hTwUwQTpwGkTQ&#x^yoZm(ml*!1~bF}R*C%1Ja46=BWe?Udc} zz?afL??1ic_w#?!)Q%HU-LY2BqZA}lq=WYDvU@44(DlpX2Q(yoG{!h*Ep|a`y7)m- zJ3S=mVvb?@F$*)+Q!*THXqx?Fv}p2L=S)t#ax&A4mynXLxWdy$sLXq>*5DJARIbF$ z;;5j!jmgIxZNqX8zV7;Ss()kxEoUyCl(KsXj6jvLCn{M0@{dj&_VvVT|Uq5LCQaUK={UrB8iWS`? zswnD+&FC9tw(Qm!r7EDxNc7VVT#BPkjyR%~Vgl0DLWr~_LTH36fjOb<}jcAaafsdr?>4M|gueq`!(Z^AOATEoU*GAP%Q0v5xptgL)bE*}qd?9gt+m-P}Jb`c*k zXvh!fQ$t{Ql)l_RC1hjU`)gm}a1tYR_?OXV&aADe(utq5fm_f1gUtvMf)kc)wCf)%WqoV?nS-_q;&?9KLWAVPj*?h) zyX2RYLpfNpRDdf;jyIWs=BhePCn-*o+Tm#iu&v+Q5!u+9l|1c^@Mu2ABp*Wo)N@HT z5?7T;%yDNETYb+gx@wtS6*XsX)XY>yqGf@SSlkp{#nx|G2@373+-;llpMR)dbK#u> zDFrc@3`s=s?V>Hy@#fR+9P@qYz2+*0R|P5tYz#{J!e?Qri_!P2H@(TsiHDU|jTRl> zRvcx#x8=tvLkp*!IIG*WH-Vy^bfb*>J7!6^Jc)^0-6`W&7c^7|?KA3dcs9+heVLct zmKRo*pWEuGx~p@To2unV^tqw*}pf z^H4NJTD0HgD3$n)=^hJ)I$bYT&dTyyFYI*xz?4UzZywf`iSlBYy}0$nQ`P+y zmPAi3KpYCV;$qIQcOX7(34n1K{2kH4UU7lHPIf2?BGS{on{N z;V;vhbcMISNuHKomde9Zc3HfuWyRdx8x2eO2Z8lvHC_Gv{T1)8Tty1yP|2{39e9s; z#EKkU1M=U%e883)eb2V5tyAU|@PmkqB$uJ67aj#ndTWZvzzz7b?DLP8cN;G6gnOv@ zd5qhs%#txk@oHqv+3Wbteo#lVoC57X-6|N|5Zz*6;=yV3N zQgcM zRtcGr|Jl})EtfUF{u*pkZ;rStVyPJwfLmquu%bmi&#lW!m(X*l=2x{$NF;%%V@cpj znsW$WN%rNbE0}z=K?braz3fe91Up?NYrcLM zSM-$Hw&0+;!JJIdEL=}FdRA!YN2091bPBTSqcVj%5kZ5%iSJ{TCJm*mT5=hV88)tr zK&qG|f+KU{5!kYh(9llXmjwPQ@a>dRsO;_-6YBBX*czLmz#j~MC9uvra{(}Nv?p+% zgi7nh<=#qO32yhQQ=>Z4+*FfM^RCS!9KB)gcD2zGh`-Zv5s3`UR;4XE$S~!R4LS>y z`c}|kiJQRA=2G2s|4$&$7ZNdSgUMQR=&vV>RrZC(0w$&ud(!SGKBcs#RI=8Mu`dmp zysJDI#Cet%Jzk0E27|dmf7${PxDO(e#NXz z^S0->coiO~(3JN*zuf=>Zoh+$t{FXT)|N-^>+(|-&9{>rd+g4Z(wh@;-y)Ael9?Hr zS$2kA+vwfh=ohcF-j%cv`sO%THFBq(i)rC%%`AXtr$TU+?Ix0MmITAWt1{IV)6DL} z^~C^ZRLiJOGjt#haCt=SrZRZ=f+p!o;ooMy=K0=&nJcv&{3JmAqSVEos;-ZZE)w>- z6I(@|F1)5rGEZ;yl0+yMOtTjlbtVhn6`OWc^_^Zlx}p*nwb%nG3F^E}PsLa-ZB zC(f3!9+$Z3g#iT?7OoyaF_oc{)ALr`QCze38JC&`kT^4JM4wyds5CGrRXw0+0L-%M zEiS0-ez8i|WHjIVguqZc&#E2p&?KgQW?fV0;78iDQYoyLHSPqMz(_xLxs7rWvYnR0 z1V)9HUOrwvzUx|MSEqmIa2hTv8>E(ELV>|{ZFaiPz}yxkby2By?f{-LGq^8ZR6szS zKqAE;vY0U;T>|WFb_9mUAVa2-ct>LeYa5?5Mr>tx%S(eoV&B#=Ou{Q+HJA%#wmvS9 zz$<77%uB+uZ3_^2Pk_#&k8^H3#8S5MKR+yh1u;SjBQQWDY;}xl0<4Uy>%mqpNv1pc zp~-+WdKd{hbN~q#L_iA&>!W6$#}BL0iTCa4z!I+Z@sPY~f0T zpmvdEEOEA9WJDK7NR=jN)rmd|k9~1h?hwr3wpJ<^w3MXw6TQ$tYh#RqUN%eH_sGCl zskAh$_tF9(vuDe+P6BhDF8n=To{WjPJf6OKfb_Ctp;(R1nY!V5_sZxN$?rxj(u zO2w_KukR^4v?}H@M5&d^A*EPURafWX8rM#mHxRqX=Dz-02g+^gC}keatZJv<>AYA~1G2+n&@){jP3gl$>Q$Se_otN5pn6TZQ`7Jouss z3zeN4#y0^9Tb&%j7ryb}Te+3T1CM9a3Rv+UHBcWOa)i(>FT(oE{OuVnNhGG^vU_hU z1(C*K!AlI|kU01{IZ z2N zl3Cp68nIG*TACE?gDHx?=+H^HWj{hNHOv;y6Xi zYYh!Sj1SeXkdh*SlpP|s?>Whi$d+7wR2MFWOAmkap+^X+V1NFVwvJ=*zNCzEPgZXYzQHT-%Vz^W7S->iIj%1qb6rk~a?RHJ7iqzoGnUC@PWVvQY?n(lNc6J>%6xuAb-&9}-po~DxX-T|m#w*dJ~(*k z`De;KP&F#1fAqP!aTlpMrXS#Z-Bou-porQhwp-6+6Kl6pQM-SXHve`j<|-Un@hFzG z>e*Rk8VY)qaMOePL8^>xS4@PWe7BUKhV6<5uZdNaslKJR886n0q;jLTk||J$nReoM`eA})^Jo`<3Z+t_nbGRlt=EwTu_ zC(5V8nEBnvxh9bx`eR^ie>fVgqK3uo8ii*4sQucY=fT_Koz}Th_W9{1GphC5>&cfh zko}I-2UmY6&d-y}pZNfWDlzkwbWQP;;zdWyzs=@>)ua(i0!_~0Kx z5wmB`M-=1>O8D-t60%wb2cY~B`6h5jFLD?^?wg&*DB&vgd%zroM&qQTZo$Pu!Nm)e zUPlSh%FM%QSNaqADFp06F2?Pwqg1Z{XxYIuJ)BpHq9yN^ivrHX73$l-A$XDmVf-R2 z95yW}yV~?+k|Kw0-+a+dZ8-ASg^I@c9=Jew9y;uPR7TD=1)ZMEm<%ugC;J?P;^!)B z|K)j9BmqJD5!=5)SH37pKi}-xpJ2>Cho|@6z4W@}U+Le%;qaKHn12bMD<3$yS3in< z%555!ur|c!rpg8V8`5TU{9d+=>3Ezy!9t*#wzxsi+=@<4FM;Q$#Tueh)5CmOEc(MI z@ZX4mw&f2^u_pple}M1Y)2bk^FWz%4@W;Ci4%eNm{`+ue$Yhp>(*n|4x~hro`(3ln zMGfxz#*@S$MMs< zfg$;?^U{m^!U#AB`jp&n`;gEs0vL9m#Wfl!=|`8zBf^J(6#sE+ zv)#rH0Xd-$`Pwd1N2BCvUbuHgE~yu|NtU!)8T*xQV=lv7tkh^rb|B?KqWvke^N+bt zs<Zl@M#NcpY#;G`T;sx&)J#Rn55bZ{+q3{;5e#GcwU z<2FA%4korYH}rk>yGHXE43JIX`(O#m^9@nAz8d=&hz~Ha0^wq>SbfYscz2^5}_vrsr@U>r+ClFx38M; z!gJ-teT;L4kAYyX<5YY=`CmoGH}_BSzK@OXZ+VNb#ntbHPu~YWSN3;;71*xms-&BJ zq3ne(Dk(*ZlPmrVZ2lK*%3jk(EMC3OVkdqY*atEI_PK{8hA-wlV+l6DdV>;?hYj+Asr7}EhjAS+td0o*#x$tpUx;zyG~ zQO&q;Y83%Ki_9xKxn+ILZKFmFBAp6U%gB!b$h}e}E(DPVMl5L}1ZOT>98{z!J>Utq zpv}stOcZEy#TB$*EG5WX&}_}*d|(`I>38$YDanvZ`2{3F1m;M$zRd-^QUFmbE>lxS z^DdhCpR7ySQ&iZi4mj|9cCpe)GTaK(gp0>P+I*66h@+|4JMpy8wBKC`PI6cz;zE4#~lQQgI>()T8EWkK2Vq%XXv( z5>RC*Fus~6aP%Y4+W;wIP?4>ZB{)SW!Ex=7F(Cd<)NQ_s72hob<%3?uh6=|#to5aK z`Vkw?dW3Hq1z0D}Qwo2E)<57H^kIVMe9aPgs9bcewSN*i^FW07-M4!fa+bWnkur1B z#O2syF1~PJCssRT4V|7Oqj&~Qe`}|O2cbKLL&dLyojOqk8E%Q@=Oc71s_He}*o^UM zE2-Ls<(_RJ2nxE^R(F?{VcU3TsKz39igvmxBwRpmD<^t!ruauH47&mqOi%|uMx)N; zl2ART?e1yRH6hSrt*FwKkWV%18?K!lyY%8YTgwBO_OKW?v_6TIW$Yd z@9ItK#7z7QBwKpsIT15vw?2qy?fPjPs;(s&)b*&EU7V9+ZVaT|-jgZkakIF|kxE$O z4TTdaFK~vs=+W@4GYahLZg}3vvI=}CRXYPBrqB<`?OB}YaeOKwoXvEu3f&TUPYL}7# zgq+WuQ`wm2e~8Bar~1wR&)60JN5`nM+vqb&66=w~S|+tb&6b~txRhLoXePH5aU;_d z5tNe^WBbYb@_!391YjKmK=HHjANvOPXaE1$H>wE4l1YUw?8D#qHL&g8F%eL6@>h<- zt>)c1o$8ytQdy4=gaVZ^)2SvBx@9fO$;li)UXDv3NgtaE(#U9MtsC&-Q;`#})118w zEjM;a2`4P3T{h*^CLs z*xFKDR9uzniN-0;vqC`77R(lZmtB%MRjXUfXJwbkK4zbv#7Fe|S%ZSF!n`UmJ_*gZ zD(4-l3qX*JEotWYvCB4amm%Bn#HJZT2v+*AWi>W|#SpRT|1kvQR+)XF{lH5~AV$S1uJ1CmS&lKt?EXk3l=8ih=M^PL31L*ODO0{2hEod|4B6Mc0USUBg3KteM^$spq3 z_Ird-kfpKdklz)t6WDZ?E=9342{;{CI0-<2Eki2C11G&h;r>Hj$>K;B@!k?5Nh-$kYt#bTk(M57?qP?NC3FqkaNSO{Byc-R5TqqSVmoKOYI zhsi=?oHQRZSs+o)V7`>GdN4sYf4)O1ALIqfhXn|d5-3k#vOzQ_zy>%?V3gpU=nWy# zmRKCw*Kpu^;BzBe56&Xz`#a-6YoX7H{UqCczH!^1fLFx%aJhVvxbc}AW5 zB>Q$T{xEeb^{VoM3jwK9QvzG(XEnYoF*GJbWELx;6Pt+{o4_V$iZeRvKh)MOwfF(hLVQKg7N3=;|4DMVB&M%1JzF?6biLin?TEB1fQfU{;gRr$R` zvj0=Xj7aF`B-=DZEYL>+-bYl&+S*@b6pKFc4^`AR!wpHRlf{{jFrh-YAt+MnH z3&F_s@Dm6V_)c%%`uwEL{~@3LTVSrQxpF^_9OG|1b|IL-ECivIUZhZF_Y^Jm)&A&a z*6RW3Feya9+JR}fmV|3VP$3?zXx9PLRdo#+x?TtYLnriayDp;_zZj+Xn2-jWwWE@> zgRVgf0{R>0KflG*H(R&qT)DmBK>!4q>;D58E!kxCJ^vpdip%3G{+#_ z;i_pe0Jd5o5Z>Z2^wqokaJ#N@H+Ynmgcy*P^an)BQ}KjTUO01xSV8P^o^!>PlBr_ab*A zwo~1;J8%_O%}ejJ7OMjzw8%oX9;+x)VWnwZ%kRyqbKDnAmurjMs+B7pR@DLNEIZ;6 zkcy^i)wJ^&bm=r@xRiaciKUQhZ z6Oawmt{oQkrb_<&^GLPaI!f><>A&-b11nly+s=0uPx4|Hq!iO-`_jrP^IImi-6wA0 z9J}2cFq^46^wg^~EUB#-=rFXcoEf$3-@>1JcyMp?noF-M3s1AkQU(H`%wm6d=tdLy+3Hd?Fyp zEk)qkxBMa?-r)%BC)(i%GWaP%{u1gncFgQp)jm1=joL5+g5k`NLUyX9V?8aL;Ojm} zrR}>2!-ciXj#Yrvl4X>@B`mIrE!rJKhxmHd@S4Y?1bXO^MMW8Y;=clpOeove#<9FuDvEDiXvWOzZ=8KjIA&a7Kqx7;6P8;IzcaRK|8BtKBlYHQ-SxW^ie)l3 zU4g{hq}L4#GZ}`((wq3z3(qs8ENUP$p^sR@M%iSUsa6I$*HPZsgb^^w^i(%p_Xm}U zw8yuoA6j$746eb9D{C5k4W+3u46I^Mfo*ea15w**?gaxI&&)pSSJ zfgE_9yi(F|wjcxU;~&#c_9JM)e|7zj5e5lvA-`qXAG10;&3qt*E5bD>i;AFJE{778 zGUg#!YJ^=c8i^`gvzt;E2@)7h2mdY5UOTnD^Bxx9qA5#-v-;#0(KfcHb+yN4jk~PH z2olnuln^)89Kt{QdGMl?b8Ha1JHzOJhfsX&yzHgKhWGsILQ$} zq+zK0o0)dK84*%k`%adYjy@mX?+wxLsuP`^DVOX;u(^*91H$iL%SGGD4whC^I-nP+ z!?&f2GZIXA>B+)%9R--kLk;;R4Q{)Qw>8$ z<2;b?Du^wG`>-=HLYA1&^m`O#*L4|L-Z`o1ITd%hkKeyY5KO-BZb|dozv2F#$(!;6 zE;tn@((smg8Xwg(X#5d-x1>zdc2er5YY|J`&OU7PV?~%ds~Dex)AcI=!0Tr z7f<(gYJ4*!y+VeLV6it(^A`9K>*Jp5IY^43=lQ;_?u*~c<61X<&%G0CJ$UR;X>_=Q zKQ+kh2mE}~cRX=3#GO+Xr7#l_8Uz18$Gc<4b|qT65GWC88RncOk=?wQImG+;8=tA> zb^hbY#t*Ybt@mJRa>m;<*AvSA?D8({Xias8{UEiAUBwS8342wqdGDfXCvbw=kAq#z zc_%(|qXa`QK`7K2lSER;BYg0QeDn(+-|v)PT+FNtf&MFRB0WXQ6d6uHiRBR$7_hc} z%RR&IGHNR>PUnF%liXI)LuZTO%iZc;v##@R9>dR3_s`XBU*I#}^XtGqlX1}5h15}Y z2n6%VG2>q5_D*B7bFJbzKq9Kpg1|DURX#s{BJMy*s+C)lt-pkB-llOC7Nd-(%WlxB z)EJp#4h29m0nvEn{KWr#UQ~jsUeoiCdZMTGFPFz-y|;aPb*J;7cac5$i(Suc#@#gY zAUAK^HE+d7?(8mCOvrS}azU-zVOi81T{(aYlpwHFl7JG&SH%r0!NmRUNj*8$-|!42 z@APx$VWyyM@(6ddfLsAV6iAe<3{|JGDCL>XXGa`;$PRm!4RssCR&J~51Z8ze->^cNPR z4|N(r_bwyPE_NB&L{{t%Tleqn4MgD#N@f8Kd0suIypv5~d;3L<#<<#(eXc#tV zqyi+BD!NS6ad`N?i<3jqYi=@lJ_DCnh!pd@Kd7>&={4G}0mJTQST<1art@d*=B%c@ zOmC|D9By#OrxIyC2AxQd59sHVLbLu8aY*nlB}eDqtNI4&pC^ma|3GuEe%&ulm$p;N zxb_2E5IL~DU#2w2p|td2Y~{tLJ#dD{d$lm!*x*)bqP6c2@?ISol_4dO8Mg5VOK$$X zXUC^HaQN3D;Tis+*XkoYYkDfL?9D$nKdRIsNMtYG)~@Sz>#D3Qr%B9YV>5WvXJa+T z(Qa2)UEg*1Or6JlElJVknM+Pn2VMU2aTd@2m!B4CVuRI{wsTN^1(eZtic)`MeVdp} zzhwntoYb5(JkIfGAf4occeR;L8}V11{BOF;&c?}j*!nnZI_;)rmqiyVtIC%*!|3Or zuCL9z63|)g`tSgh0AV@Y~3hbUjX^9e!voR_~H4B@G&w5LQ{5a zCtO&NkiVh$M*7vAItg0-{J%ERPk z-;G!FF1YGH70mh^e~XkGx8YhBQh2H46FL&v=_?!Z;!mz=*Z}~LR+7i{3sHiwh`}Y| zfOJuQJUIZf^|)BEHyg$UQa=?kEQ9n_{ep@3-QOtsua)m_GHu`3rrsfI{qqiliU%dieO$k)p?))O z$DEUJeNAbVYroH})Qdz5f7hNfAOXADl|C?5ALr-B?$lQ@Z>R0++S*WD%fZ3u-krd{ z^SZvf?>gtD@Dy0?v74l2upwDCY=GTrM4glrq!KDTK#-iFWXrSLsaf4qR^VUy7RW<^ z=v~lb_)VR(3U}m}9ShN?EiF6{h|d}_34}LT4%(ejJ~~1URJAd7l6kLsQJv2=#^LaH^{p{ z1?p!VN@e1p8p9@H%??|~1QsC;6#x(QS7o&kDzJ;Qz`<6+@7+50Wn}YngMIBD&iy^J ztOqDoDxGpIH}84g3)0kO0WE8&+-J-Q6f~{(rVH!nY7gk)f~vff>em?D6ZY;i3h;wo zYz=Wh7K}Fvz+-!`_gE4L0C3p0t;i|;@bbKvM~~-B?v#}hFij6UW)6*-2Bd4ezH;rG zVdBWB#ys6OI+5Vg0b!~B*=GWds0<)%>$n;RvF6LC)2j1Y?oBgf9A!yz>0jpsMdb4d z5NBxN)Ed>>ui(HCB|Y#}$1B}P&h_>-5E&knOoMbHeySR>?%3+k?T)pP2h43bj^`#t ztritqbBI>Z2-}Wl(14xOR=T~Wy24bP!2Gq9kU}{GhuXcnf9J@E@SV9y#5zX+5Wd1>+>)8 z&mqG1bc~plkj4CgD8E*iM%*$_l+nJ|{6Qu<7gG*RBMt~4bU5C+(z2im?!Aes3WK*6 zD*7Y6YB^*{&E)Zen=(2y7A>oAEh+|sr`B>FflWS2^UqIe&4A^cm{8p))?^HGWhY;@ z)sAkiEnvgS0aW6Gs9Szm}4vLU+JZ6)YJD}F3L^p(qq==_exNrA{#GoO)gN!rfijN-D#h#P=O;Y#KrR&opwJMt zKJW+?J4?i1eepbwOgT`mE>G_X#I}=Gv_fUWY!Mv@*yzmZ!pK>+tvNZ0M~*ta<1t8W z!-%K-Jh-y(=z6o+a`Bwk++N5?IAgYf(z+5DaNM-&32+hBi#S7kh5~m0FX}IJF<~G*=SCV1)7X;_`Bl4HD0-f#nRCYvnIfrM)qR0St_x<%)jHfSmh|vNsOzv zE=K?ioQ!kxr!n|-liW2C14t~)9A%ALj38G(gDqP9U`QA%M4WjCVwQ{F+b9OVNV4*% zfi%|nc$jXmuU=9od;jR^Uv=BJ&iCDwXYcX+DnAt9&>VyTHc%x^aJ+JwK?P}O2tok# zGbFPph15GhgZQMMm!LYb-*EAcih~4XFJ|x#WgYm4e$ap$;5#yh77^gp@+@7gSXyKK z4Ua9yc56+nL^kUS*M5~lut!nzTjJ6jU2~27U4n_}m|0DQ3Mj9+X;Zj0bCysf5A{|P z*`y)Q64y`UCA{cz`$X|SZS!$G-sWNx2gR%lib?6w1Y-h)y+VCZvKTnq;Bg;c*G_!U zXzT(TtX*4zcHFFSb#6JzYjVA~zKHi5D>29a6ah>qPNGKLkeRAh6kByg0MbP?w~l1< z-kGXN_8Y6Pn){H+)-$y2d?UFBb51TTnpqH4#v$~`0ojkO_gv6ngG0BWTlQSf$7D40 z$X(+66Q9BA{Lia?&#NB~%XB^lx&{o_bhNx)f6jgqFIxWEyR#K*HjtL09nkCg7l{iF zY2M`LTB_bTKb%_5$;kK|B*<(!QJJhNMGi50!NtxjN0kDcfI6M+CJ))vteZBK9OnX()ZV>fbGOAYOwSgw_tgL-Sc8KBNA(9>@@;S`0DS@{C^Sm z&Ox>_QUC8A+qUP7ZQC}_*tT`Xwr$&Xd>-KzWVt()4(?sSs9J4vUy zv(|Tg+K{5hwq?@>86#y4=IwN7dAPpjiIJ4;-l&b@G|UFgGr>lcEbEI90B{l_kf@LV z?`=N)<&cqTvc?sO*wg1G@I|i2AM-?BSE2MUKmwen%e8k2ujz^e3#beMgn7YIu&2lZ zcjXZc)@(0{@D6(W0<05^|abVs}#z<}twU^vMt>ONOMAQF*Vj>D6J$P>x(t*O7H2n9QUoBY( z5<);5Yct+|RQnwg;QrilJ&yuN!>H2H6UdLls;548Zq^~xQicTxs7S{JSU5JF3-AJw z%3ARM$}FHzO@%zMbTG3F&uT?PxrfCAl+1~R3EwnqixflBv*1c@*{h%(aOVxE02TUR z#Xk7<#epPo?fF7Um~A13W-jvez0me4Cwv`4x<4WOgL^;v;}7h9%j&ZE*Xw%&E|W!yE(pdCk+j@8 z01$P$o;w{{>Ay<4y?QAi1>VqPdUT5oqR6{{;g2y`GN2n$L0>SUr2R??=kA_8Vk*Oc zl>lBn$I6o=V+5I$M!{i#GsEw_|IRaXo*HUsI0VAxApzl)F64+SpPI6z2E3H`Z{SJE z@qsNoKuwPf0JoE*%=Of<(f!eaoX=!OKlkv)LIbW_8qb%EJUUc1&#xY)(&SeJN|D*l z@V9N|l$vClO8&FTl*KcY?y1Kw;FA&Q_>)_)#f0D^^?)ME2Qgy@9}IPLH>RASqO3I> zkUUlDkuKu1i%hd`Z&gDkb3_6%7U-2V7^kWup)mpkYU04a8}k}>L@0OjFQe@dGDYmH zw|dm}0t%>g{#m;4%qQWr?LU~Z;7xw z>AcUDME?Qtz1xfPMg4L7uHu6UF=4Z}Oj5~4704!&vJq6-7Kd&#c5#nZcd4@ikZ#$I z#+0^KQEos(r_5olT-Hq4iIPjvXwG4`9hqR{ibK=BTFcyC*$)h~lnG|mHI<)gP=h;u}l&@H_?Bt$y$S7K7m99qX>rm5zVZ*{;KSlFe z(2{0Tp=!#973^pUwm8=fR99~-|aNv};u79?%Ly^awN+Vgy1Zt;?# zUbg!%1OSR^+R;NIiYoG(43Whuy->`6Ue!Z@+FCuillfS}ZuMq+SDp4QtoD506HE3v zMg;8v>wG|Eyo8r5fLT}E-S54}--pI_^RAhWOsWMl)GFJZmo@Tj?$>PG)#qI2B)Oe# z*W1VV1Ym??Au+p~|MvY{R4o-Zm|nt^ zv_yfZ(f1xCT_nl$Dg`AVy_`^@{`!5*l<}tN%VXftsCy1&hDb>1Uc=8WQ-L8FvF}GI&UD=a<*IlJ z6)uc*l07J4gVT}Huity#f0=W6KTo{t%p4&*%6{(|kYG8?YkAS}$Y@n-;1v!C^!&?p zU^6B+KZ@CfS1uGfptu@gzQduj-a2fCin%wqE)*`NGevtnz4}`k0Qe_kv_O>3kQqXq zp@4>w85WMbV+5FNOy(^Its8@7w*{7`i@t>Hh=<9Yb($|$x>&!izP#cHcUKyJ$M7-V z?tQ&;^AY(Af$@HlL@KiwgKKdEpvO{(FYOx_q<@z~LA;bm zmMrSj!I37t!mD$ZG2xaNtPo$Ei!u#K*Yjw z%k{6%ckj=7(buk3o!qj5ayK7K?K+j-d|QX;xhtl>T}*911Ca(xlaPaba9f!vo<{p+ zzb6i1TDso=J(bMu@?_(>Ij_6J!mfgT@>^|p7ZY_Ff>QceD6!Pk+rql)j0V7CO6^5X zwNp*6rZCkr{<~%Gq@mo`c)VSA(-Y5nIMx2Hzo%Rtk6)uiP4=nMoxRm{{VJ>7927g?0Oo9y zL7pk+Ffq(t8+mI*a$Y5G=S>!{CIqgy>e#Q< zF$?eZPuc~0v$0{R?NYkrBzs(-+@2hSLGO^yMkSrx*yfI2LYW{n<5uu#C5aOFxsSA= zKEdZb56XIX?cWD@VxoSRc!oGWJ=@z-zlq`iwbF_F`J}$~B_%gb{?K7SOi3UNyV1f) zHJ-c6m2m<64+%wOW2c6`28O>44EBeR+JuurE{BRYO^jD1n;_n}vHLG!4fD28=-Maq z*AsjQ)G-|9cqoywE+GUIS95g7I9%(vB>o}%t0E!XawRz=qL0w+6L5nA6xRZ|cm=;> zuMXwSw%R@za8r%3BWdK>CfiBzt$&rsIcoGb+v~oigdOiqQ z+c+R_XHN!qzQTH`IrrS3@(Q#;n4J*fhMecSZLaOr0|?+u3pH3zjO*8_LN_KE>D8*o z*kgrN=_*wdcXRRlcuxWbR2Vh4^jNgZR8kn!(t;^bt9GsFOq!A6)GOC6J9{j(+3D4w zGY!D-{k2*#vQe!6Rh4oE{d3)k7110~@E34i3#7z`$J!=p2+q6R`HE}UH9t2UTvUb7 z*&p^nW9<1j(;FTC&>9#li-#6mx~-3S^CSSfWZS^NAb7?yx-S`Nz=$|T|JAjf_VLkX z12`~DH6-7yp{SuZNwwK{vE}ZhTd+6}uTv2?V6SW|Gzc9R?p;S4T4H(MRjq%rFea>x zP!*VN-iI|4&4e9%=fS5-ni3Kxb*)Q{PczbkrSi$%zD$wwfT$>*|HxzBSRRqCQH`h+ z6FYq(vzzO8;WJ9LC=v|eJVwvI8Lhv)rTr0v0G9|1PgPKWmsxKzTxiw+4yiff32Vi( zfVqtAahtN$$&mqGH8|#uWMzoM4V1D_T%`IS#|ogb)I=m;nk=^wOWOhV_jy6EA6?0P zYCx5!n{H2t)nu|!i_echdPYOpSMf+2tCbGMniL}i`;|^WCyI7Rp|u2uj_u_+GgGsQ;t1c3{?Pgw=l`5QL&Z(;&u4t-^FN z%;|T@`9w1t$)#yDd|=}5KeQ^K zMs-nq8ODoxbomiUj92A zYGzwHJQKz;jWC+jn1&)8Y35jn0vZ(%m|J(kapGrVv!=#heZ(n=2$L?BQ)DARCt9Yz z^TaKGnh!kg2yHA>R0GMFmk7JvM19D6;B`@cF#m8^#f^w|N7|+r#>6O@SC}=4r2Kk+DjK(yQ<6}#xA?;&5F#zp@W{p5({A=@n^@RfegGC7^XxxBi=El7 zSu)$B#pm>n)Y7aPvK5+8;J(lrFv9FxHnjB$@+gn5V3IdaIIbo zfWzipM=pzOjI0ri9A?MR^4KbkH1X--;oyUZPF+nc;}-G3dWk`1h?^A7-|dLht-yVS zrOfTo1#Em4Ax}7*S$1PG49RY{7)s0D|My=ycAz#2yU(!TVpa)Lm__s+QO7GA+D3-o z-C~8|3nPL0l56!~iP7Y{Vy+okXYhzle_>u2J(W|r)}#<0F> zjgtc080MGbuq`!ulTFu$%3J{E?%o91K_HAkIIa>7$N4Jt@hGVsZe<=DjwO?9aH= z9?am1Dc99bG}9MTIQ&7LqH&%ol{-r%;*5j)(uWRUZKO_@H~abER`nu{+4doNl)oVk zx*i@KnXbL`Ik%???b747P)vGT|KotLM0eKMba6kH!@~>HH8wF}eQyb41;ZWl__()| zt#0VLn!DmCl%G~`c)?2D{Q6U^I#*a&m;sCG6f%PR3|s>|_ohsV3hmaWxY{c}i2DA6 zU2ClnR9=uTAP{REYX$1ofkYgS$&aAo1~sb?1{55$Q@eHudqfT|;sc8t@+pH1NoXl5 zuAgNU6vSQ)E~y#{z}-0l0d9FR6(}|%nabpXS9uNVIcV|!_J|K&m}aZXCXo7*x4^=K z*(-R%xUInuo|zk(+_i78cZjB1k{*N5zkFt@X-c7(wa`^k<_2UVD*uu#doZO!sJYHv zuWR_6uMf&TnSwn8Fa(OpBFp?O?dhRnj;y%E$=#kE1q+*oz5+9>!|u~Gh>Ru!g7*j{ zWNOl3ImcbEVQ5y)k^7}w1tS_DAR9o5xN19ST+aD)^kb&zfOo=l1PC~#gQnP;5F(~I zPe|m+fF|1SV`BjT)xWV1ZF7MA>F-#je(24XYNmGW4ia{(}dcgfm!bhE^5Qfo^vXHRSfB@ z!u-9p1(b5wnZXm@T?lL|+y`*Gx^i8VxC&1K=W+(uTRtk8Mr--h!3M75cC2`{3wJ2s z42w$Sns*&!bP?bF;p+C-9`$Yqggm$>IF#qq42rmsGmu89lMIs3_=JkVZ`Rk(o2O=- zV|bUE#V_UYAXnPvAWt%mrrPM~)L&ewjX#lvtl=j4I&idDHLq_O0GzY&LLDae}tdyhwWMVZsKa6=&;#0(xvHNkH}aafU7oPvRSxzNYJ6vV6G>@84D= zBdf|YUg^TuS0esMhd4&;J130U?}F@dP^3=S8K>!^Yxbh_5q^29?xOn7SH@0FPIgtw zHuFH%VP@xUkATT5k@-{96wDqWD5)r@u9%x3*LJnHo3Acyc9p{-S;@w%AuLy&F_1d8 z;|}q%%_ffGL|jwaQALCyLb4|SBAn|(LH%8nphZ?@C!zsZMz2*eN{Z%y`#fz(Sr&7^GAN9rtE?b_X_ zfWF^^hd5bJRT>5A`lPZRS}9F=N*h7~ia`}!G4hP!8`UaQ%C4>y$>YA*mi(T4;7By< z=8Dfu*4X&?bmG-)$?z40(h1AB*3l;Bh6%je;DE6j??t?_tHk(5DM$TbER|NIDjMDa zV`c?Z#bP&KZE=lOF|Npv{#zdpd=8)S;QFUPj28RUB6yv>jfrZS=i&|aj}PB^;!BPE-!c_?H=|Zr z|M+*JZc_0@Z$`1{JIOX`KT`Ex$p3Noj60`1fW`7(w?aaibwew(_q$6RCP9@stf$lr zZno@Wr~YnnHg}CLNE@uy6H`i9XpABSEn=9+F8u&&}p8g}_uA zU#)2`*BBXuO2&yNr3MGoXTQ7Zke&7yZ~1^IX_-C}`KN9zjpn{*WCndM$P;%&AoAWG z1W`_}cu%2_#qnA_TolIoM*kMD$x;WeO4eH{mY z<3j6N>O7>;L1*lDF~#wWskFQHk3@TSeD|=c&-Nqh7!&Ex;+vczq^L|PpS$-ZwX>=B z*pIT%3|h8`YxdJ>Gr%FF3V0SfyW(fYb>xW2bM6RBNvYn~&&uY@pwVEfArWYVZdv3P zQe;z%JuCpW8@vf8GtG;$|=*fQJXAJj+HKPrLZaVRGEHXl2dV6h${AEf@2 z{slu;Ldi{ra%9nI!X{gr9+rMcllnG&lZ<1G4`NQC1!_#yY8ukNN3O z!QCIvn+~99=9p?^1aMxSVn$0H;zwCbUV;u+0|5zMZ3UJ-ceLBWY*crQ=hCW`Kv5F3*B?545F+37Jjh6_V5M7$X3UJEh6) zWoNPnaS}49Ha=gCQ}5Go4{_)J5i9S&edm+OVc5y*Pa;HE5@WWY@pDoWBL%&M;M7Le z7L5@Rcq4pl0iPINcBr)pI-8-v)N`Rrk})3FFC-HmYp3jir>Iv^a&V2X5nx4hgZ*>i zS45HV5hdFh|LmjvdszGaoy$y2c>i6Q3r$3TJq>gaR+?VC`>HPC+^6AB-$;>=xH%+Y zX2L--a~xcX+At_6=r<&JnR)hf#bF|*>;eZMu6rM#A%-RRTFsT+Omo<8Q0KWCi4QIP zTR+D`3aLq}TBp%GzTbTP9|g?2_8*EYN1sDLnv}$>FEy14YCyOn)N5u{uFBD28)+PB z&FnC|RrJayLr(qOTjK{fhJ5C3f(pDkD?ZvPcW97oq(<5dBO#ya(5)zj3K@FW8;%_} z^ZxWsD<%LjB}xGt2$h%<1A^%Uw@v{da#fHB$m4}OA_UMWm!pzKp6Hru`&4HA%Up*7 zOBB-2NM4F{JFMdOe#9_)2@;y-3qVYkyH`nbl-z{@+yqg%HMIH1)2<=Ch|C$S2W;xQ z9|9|&10cB|nhYjPWP5^dms-hDyvN$Zs&W>8N-q-6V$ceq#8<>pyn4k%d4utWH{w<- zLl8T4rZ1e?=V9ID;uS4bh(x<%+@f_TOoFaB;a@@KbxANe?eQf4eSUopbP@1}*^Sjd z-(zc61P<}4sgM&si>W2qmXaio=`e%VGKvLZ`a*47LxiG{8(LT(xM6uQ2j_-aT!nc= zcJ#cq=J`CDD6R>*MQ1i5W?N%>xuct0xDctFo=N+2EWk9fEI8hajO9Mo{bk&(NfHtg z`h0pbc@mKWUch1gX$0G0d`_)H4%1k&KuSG70NSMbfTw3glc)UW-n;hSJ8lNSPh^c4 zH}rUBzw!jC(mZiWEyg5hUGfDeZwfdjxh&}F68IcicYB4f%uG!=ytTi~m7?WM7BaT) zsGT=U5UdI9n)nDOCHsHzDKgai55_!Dp%2r-899Z-pDGG#`9R+Bmk#xv-#ojzG(tWJ zj3mtL3@|rWDjh+ZB4#aX`8=l;$>_M|ts>}~N6iS3B|*E2GA&Y{mz0*SWb;#3e~U28 zF!l$-U{M?)5>%H2;~cit*M`@D0|}%$p~q#=c0-%An-F&B#j|epCpbdrNOynX*Bpu>My96vRudYt)LYslt_-B z2P9d$kYF@rMo6lu;C7!06k397iX!xO)VrRwd2q&T>C_)C54UMrkjNuJEUaX znRNyqLuI|2+Hg|~oq}6lY1NHP`4dKidd6mM-#h^9avh=z1KO|@e|$3qjg{Zm0U`Ad zX;;(wHy+BQeVVklRAMZ`&+|fy#_ z{jd;$UTJfi3OSpzX`;T)N@L3E^45M%MtXbS+YlG4;e%rX6xc21*$!cyInPq`dVi=er zdKGtjM3Ue?Wo!9M3z+MuCx`P5%*sacZv*O2E9tI@3z&VCW}~g^H5}-eDaU+ak>!x0 zrlMji6r^(k={jx8le);|T2{sEtb|o&UEZViKdS)OkGvn>0PHq29^f%;-=jr2k{uUx zq-t>gy?4Ylc05*K`uR?;ML2L^LBk8MUTA&EuXE-*b-!JFn(UB{69kcXj3^*OW#4;f zir%nusATunsYQ)lGP;7q83~`zrhiFwx1D69v>m+|<-jw^gA8a-+NbbTCnEM)4!C<{ zTGp2zlUz4rA#wD8aV=pR!Lz7=HTjKE+upu*;!xE&qNbvf^zzu*8Ii%Q2;#M`#KC5_ z+2%k-49sqrPB1(D&?_IYxsr#3;h+(kwIPV5Bnweye-Z#ZYZ@XfxG{U&V;06C5UIuKSAePsN;HIh4Wq05;-Se) zjme&rCK-&AV__{Krm5?1U0G!%&Y2%oRaMhlZOba|Obf&J1{?+r>%9#J2dlsp+@D{m zkO3L{ne48sLUmKaEgnEZr^p=@7y25sLz;>;)Sx}B_)G3&efBuyj_9sXM16(W%T#f$0``CR!#E)%V4_offD&H9amp2M1 zCg(LbuRNu-vb0?1E8*`LbNq>&540KRSp|=C zhKqUhX);i8FVe`>AeYN0N4y8~;MRrq58wOLPsJ?|E5VELpX1ujgxy|-_76(31)>Pa z58JxuzvkAfWtr_Cj7Zp(;~^2fuuKdrt&Lql3-v;e&~Z@`hP-pka00iWnmt55sMj=^ z2C9MDrI(}m`v+C|VvW*f)!M~TO0EzWBn?u}+Hl)G7SEsMcMS2VBjH@W{qtzrUasB! z6BPPsgNVbJJsUir4%nYtd*u8_L47J(!xi&~^%(b`9Px*2cBA`@MVty@QB zVWIGe{h0nA-C6`XD&6eAieMVNZQ|+Em0<5GNO^ld!H3G zpxZ(K{Gouw`J+UxaReJ@agUu6#xvS}u}7&Vyu3g0q;InLanRyy{K= z@L1(bLi~buN=TiK<^vs_*hxtdo!*F=+3uW{Mh<37=}=5_vwvO&OtmR5P1|0LN}anR ztbirm$R-B?0Sgwx@ZZ7EO=x}C(3M*V6Q)ZlHxe5-+OV~!u=6pzRptGMcKIxSyxl^{ z?2lcX`7E8ogJ$LE<@eag|6BYahSW{&?)NuIs+w<0dSFu+4@*!cu3Ll2Rq8VLM}Lxf z8py1aW}%6C$6a?_o;4xdCtFNVRv;pHq?llc>H!RbW)U%yKp^jEJ_6JO1hM0baOBod zv*0>P>nZ~DH6cG~PGTjVLuCjg^?mU4uj$b|dSG&<7i!YzaUt$DIQN|4zkl+Rmtd5O zW)XlE)$ds}4j@8ZRh*XCxq`xkCR_{c?QuX=Ha{9>F`zEppLz69+<|Eqg6k1z)S-P9 zW@GSLAHJ|`lXbOFHre_j?e02uI^00%!58n`+7OT#F(()Y6 zj6$UFu_ODp6!x!4y37B5EqFP2@%t1M{HmdOAmYmj<|+!4@W0MebCJ5e9bov0CmdOq z3+UP<|N04(#<=2=*2osG?YJH8RBONcoje{vLriBzkw0yt=SY!)@J>R&`gX93fjfBw z4KB-mtg*%mFLu0asowt3Uu0!9?U~=vgnm4HwvB~0g)OABDW!BNiq;Ya(={hsSo4b* z=q7>R{Vbh%@h~P`3NrIdolLCeBum#*8~lu|KS-fkc4~o+Q!9p4xTsKM`%Y}2bH&oL z9TXPYbc-WA#l>dQ)M6CpWd4FDl14xMHIUrH5hF;gWcy`XATs_tZ``wRxV$yadLNJP zvAkJ;Fx8DTNVtLT+N8Z8wJ>z#9&Xf&MVvrx4@o8swdA(rF**J!A`I3O$VXFbFX~Xy zzHwsH4Vb+(Y0*=&rfHGeFI*54L6>warCm?zlIb7Dc|UbwE0Wm53+ocOf7(AheizfI zPSkcT9W#7Mt#}?*c!Wd8`u3ZpQD60xFsl-6E70QjnCvw!l^Ba^M0EIOlJ{sDJGQgh z$w$(4_31vv_|1HmQ5sdJ$c4$qyb9fZiHQk(WYiHv6dt#kuTSP|M7~4N_5z}$4T6d1 z!^no^HZ8kCj*e`-G-4W!^3Ot5vb#{2$tJDeQB+Ihqwj<8VIAAdHvAyWg0Jh;)c-(r+-RJJ-j&!+Ff*D# z=o&Z@mQzVMF~dvRoz=KLLKJGp`Ar_xB(0Hf$6g7)ChZNu zW*W4F_9WP4ya0g>x*k@_p3pvV^IFH38?CAwX>hi6BRVme^nUg)G4sMPDE0~p4TglP zypxe23X5EL1L0&6<0J@shsS>tCn;h?xBvW6wX4P`LPlh>bKH~!3QR!nRhJs~ET*fk z%|gml7@}-%De05!NyB`za&Hd>?gu>;AKRa4{;-y$rQbl^1^1aeZ1cEdwM+LP>NS_gO5p&3iTtqpE%DfF9)-O8Ia{ag^F?K6OeCdDW7Fm z;*oC!Oxq>gN0I=a*kyr{xPHA-DoK@_rAw$<1B@tt-16v2WlTPe0{Kwg%PXG{HY+ zbB~~MThwQ)yFCn_l%D$lHmJIsier*Mo4L5f8&Xt$mI?{tEMYZsa7O=fF9xXZ-mG z#|qmqn3JMKI;@X;5;-qCs!%JdE3BR{a@h=fXm$-Vx{=$fml)0~BMBgY+?*h6*$4{6 ztV8=?xbIhNZLu;UvEa7zU^09sBeEIQgJf_IpCaKkZ!bo2jbyAI*4X`6qKT&f{)R9 z2oe(S%g@shK=mpC%QwnC#9{#x!?V-{trtW8J^gRiBo$AC!nS`fta!_>HZ*;wF#Oz( zY-@`9#+pYX>jr&I3Eu%@b@fyGc~#3=G!#)lC-?ieb~A4BTM+NwJVPMdXB?)}QuxwI z18H$Cy?0x69<^;<7`TX^Uu%I*`0r!Ax!-}&K{oh+CGpsb*euPSV#bKiyx^U%Kk|!L zdVmLoYrELZub0IpK&e7T=ALm*AOw#FZRo2r$;S5OLj4IT8!>1CYEH?Bq$iqLpCqb} z-ySS(J*n7jy?@vO49DnzyTOje>%34ir=SixH=%m!{tFTKm#0#*M=DO-k2tUYBq z9i<)OhmQ~xq?QzZ-=PsQyR&Qp|++Cek2K!{;Z z#qsZ>E#VgU78(zG6oz)~FSq6RG=MbGM`p(>%~leM`sQD}9H}wN+2=uY?k{s}3&x0eq5(&fNM|wH`$3?YW#I`CL?{=G1{#PrIU&ca8A*>_QPbe# zKUcUuKX}N=Z14}3$sD>}`NF?_{r(f`TPg;(_UQYyl;2~+l;#tFS z0Gb9_n9+9#KWMsJ!;&S<8HBn&x6Lc%#su5r)`J9H zBpo{POMV&VBu94P&UO`r5wV;D%DOTI)2klAo}>+8@Jae#>uuvF^UCWhtX)I z;Gi0}Zl*q{c(yd_A$00p6%d{?)yogb`N&VmQLRu&XhQ2Gs|E9^h*3xribS(s{=M4X zuF)~(<_`IeU|!YTs9|YpRaO~^@vvG?j5gl)x6T6l{!6*|f_H2hBDHLyTcV z;{rjLx@)OS_XslK7#K7WRrSF@%glscW95IBOXQ~uQfH6n!V|CsqZuSnsg-p}ke zSOEFcc*%;z&@U2UV3hsibK-5H~KjMYAI| z@3+GGP)(i<+F?<#Qoohid+RKg`&%WW&4eF|G*6ISxP0^kKwtc<8YY*`1aVq+y1O=V z{nN_ck6k~1>5j2Q!x;N&n=LgR8mTv=b156ha#w@B)!UEJL-jDcAYQPtn+ zQ***`V6mk$s=QPJT4BO}77db`f(zP57-wtT^I){z7)E;Dc|OBnwBKN}O^V#Wvsm_n zvc};|AXU{1g?cs!2wGdq?0&z-Uum-0sAlmyFx2Eg zb}9p;3;<(@aK@!#7XWck7XZ>&=K7N00n4*RT9|)1g$U+~IZ@be>By0z_}6ypzFcOd zdEV5-i!F=iClALW;8B{m0HFKC0Q;whbhFYHDyl9M^*LO8*jl7dQHU1{#zC zKvW%Q_BeW|$R|?p@&YKKK!B8~Zw%UIn~h;>VMIWkHOt2Tpn$y0CMSHi{lslIB#@W9 zo@ofuI?%vpxxT;e#aa$}4{d))PF<0X|M8se`+ty5|HE|}`$0Zk2hWoR$;gG9FUTqr3uQ*jbTs`f8%v5GBg9FUfl6oL5+aX|i62XfV`sr8 ziWhAB*DWA=1jxBHT)Xz z`?}{p;{Q12|2F!cm7no(e$qd~<9yx!f1BK~lQyHI2`3Y>FWLmRvF}i^E^rE*F2${@ zH|7B9P(1E$X8I+Zs$13q`WP0s2yWRfA9BO#0gAk}P)8|4LMn!_llFb{Q^eR;gm1iF z^vHTLY?29Pm`ny^LI<6>0Sed_aebxmMGD4ppY1o^^-Y~O3itsI}S!523*@U)T zO`-yW+9&v5BEh9g4$}&AL{!lt3do1)Dt^I;wD8XPIsSL}iU|>~;~MwGw8sN!uIcSr zdsQ+_E7<7xNzmhuP*PHV>WVZJT%#1m07Nb_8b@(#%`zHoaq9+Y%0!52v{H@>`6)-D zp@zr6(7H05tJE2P2duht%$DwHfCb@6g$0y=p>BR0YIZ{9PMVs~gD*)u)KV<;j^p=T zvcc+}6FE+FS54u7;jw$PZGRAO09CNH(EM!*kNHoF+@h8riq9lgN8E96Ve35LjVy)$v}b{90)-|l3?}or+M-$UGH9`$Iz}61`-#?MBed!$94D0&_<20B0v*LR_s|__(^E~{nJVKHt3oo=(M@f) zd)+MNvF{~aSngf43DJ&KmmKhf%_mIt{sG0dO$8f}Ad1=W+U-HhB~N;WR9 zCZ>6|sx4$%_2OOXJk^FBk=XxU|UjQ{}NET|9 zTJ2^WVYlhUAH=L-pPL20@KNa#!5F7RW$y;DKn(ZO+*qkkv5kQXB7%;EO-98x<0Gv@ zuB}6+=!sa71i_=v2{AMvF=?Hk2s)i(754wtLQowzXaS0cEGB0(FNtwYwGMHL0AY^A zOB~9fN6C|}=kO8ZtGY(0^HER_)@<(qP9v$~lNg*tVkTx$loab*sCXI#7FJm+OpeA< zY`C4GM!*T zMm%Nw-RItcF}})Ib9;D52Ah=$TpRgBNHv23utx zRa4Ct)Tn4Sr+pJnQMqn4vEGJi8KBygBKF-gi?Z*bbp69(5=eMnTZ$hirkzx5qU=}p zg#L`+`B&~VSsM5#Aln+Mrw^wmlGLKOkj@8yci=HMKJ7RcO_jF^cnr6ls}N_uChev3 zEFp7M;}dao3qm1m)oh+z)}F+$PETKIh{}@#38(UGxibtq8=_&q1}$5&<~$30OlVctc@&+TxF!*1-q6$N^)jWEiLwswW9a z0+OVeA;V~;GidZdc#>#jLE}^mhy$^`=kpLQD3vI%{HZi8o{C%sVvC@`>Lnpufj^N0 z^xN=2w@Pe=Z~v0r?Tng{LjgoU8SY+Rm4c2B>Gx~Nz=KZKpax-XR**mh(15uATw}yf zA)u&KP3rZVk#uMpo*wP361CO!|IOj<1&s{6J2sk-H{M%05H|sSLwT8dQ7t18CP>Q7 zHCS^y^1$bu*nW_FWe&T^ev#q1&};+(RKEU!kuveN)X0^|F$)FVZQ#>PWknDR3t))lX#m&EO^Ah0*=cgCJCO zX5gjt*NK(+eY$3(CqGH&eoQ}n%}lchdt~(YOh-GV%hY{#{q6TfXG;lW zG;bU}S9zPQ!<|_ENRn0@4D^;ysT6`$wa={=D2Xv~)2ZYYA8%jE;icaW?~3(;3F&GN zvnYJ@K6Sx3a;I~@dd{{hbGkaZk8HeyKcIE$dz#mfkA5FL{rDm6A@Rf{8pd*#63N}cFPrICvN}r{ z+?pog(0N;gG_=)!Usl^UvlEw{j8FL+CFOt4And&E`eLk7Q&QIHJ7%Lyt~z!y<`igM z>Ylc8csPse%zSN^CxMB{*sXUDBhy_G-VHrGzWq8?j%eE2wr|8f^H=I~y7o)x$7CvQ zQ@!RJ3FBbg$XO zexY{VS8UjIT&z3AN|n*^1&o6I=!J*CLR21(T5B#CP4Q><_p*_-iNm=bvWf~p0mVv^ zfK#chuPE}redoAL6caz9%(utpr&B@d4M4N$SLX4=n7|*@22xb^_@k>%gboiwyFXsauG#y{)eKoG z*%|l&m{Y#VQsA@GK4{(H5Pc_8WPnFYZ57IvF_y3=&YQaZ-D@ZR@?!~j_dU0>!?oht za|O@F-{ahwh_`wkT@DFj-goZbQfbJ$n`qr^YK1^q`@J0@$2IQeq^H5s8lWP7I$j4t z#e}jY9Kle^`~Td`LNb@nZ1we5Fa(531l6R&q{#>V9UyJlr_;B^s!#tDJq$Kk7C4pM zbk_XMmssurdEWg~F#tqV$##M#1*$>q>phfIW+|v?p-egStx*ud$l*oZ+iGJ#aR}Qk zE7ZzPH33*E$>J0Amrtp#U_U01z1k?R_gg!K6fAi?1EiWt*^y3_{cyR+Af2<|A3AXos9j1+K~ z1U7N;sv2B;zK!vhediM%nA8LiBGys%KH z4}QnNvE7@PY8|B8=lc;8t15o{XS|I2`vs?|gSXW$dO3M{uT#zp_p2&?&tJw|ptHs4ce`GMcei_GE-C?#rsIR<(AbdXA`Mf^A@u$vX zS7AqKe*?+Xg0)lFUVV6Z`4Zva>?g1&YVdYJ4Vd@@@iYJvG8e^~6@?3OnD!lGJ9GdK z{$ISkV~`}z7w_F;8#}gb+qSJ8+qP}nwzXsL*tYH2(VgG_iFn@J_qQTCv#L7kWOhYH zcAU&}K3^ysol=HsK2g8|CtxuIY*AZ(1msqfc`9XPtSOoG`&H3T=?{O!O9Qy@(<@v-LPpq*S07*vM8*G;E zjseIYzxxVd9Ss2RkLRC7D#wvHv*Fw#ZR;W}octLNLgOkF;~4L$KqB>NwFZqa2GjKO zMauT1@<52;5$AmXt$pxt_?EVDyXp>@@p+f0$&AQ@%%~4}RLKzln}9{u2*$>tqI3qP zvUv-hh$zwf4Z9^oi+5zbB0e}8Ts#nKn5I@mXM4gDNslZbK9g71!+7iM^Bg4X0`3g; z7aLJyuLzPYMlz$A?)}qpa2Oi2xN_e8H6pPLC%7L#j&R=y=LLpPR&c4;=9g3+$Hh#T zYbY;o-U@`0Dk#rVFy9jc5TFkV(#B>H4^yh()u0<8!75gfnj>$I4+3?kM;xP_(P4&k zPb(Ny02r`Qn~Hs}Ve@Ug9yQQT3E9_!_XB&`N^n(s9z}U633J%cP!+=y({aactGH|! zJVwr<9O`rcLUEY=iyAYd+jmHnaW6PPQh@EAmw=>JP!KlSk+2MGYe2K;^lw)pU-)x!1z@d5wq;k)Jg$H)Ip2w(jxskLr5AL%(B5;cKKcoJPv$$O!&A(ils z4kQ2t%n3fZucD~3EjbOIS^J$MS{%qh{L)r#?!U2S;YF})WG1RCvBF+^vGFb{iyheU zCqLJ6Z(0<-5ZdMYJiS4To{J3)yUk6$c7gU9%S+*68Vn#a)B;7%?=wsF(kAP67o7g+ zf=kHyaXRjL0(bZ5Wo#A3Q@mt3pk>L_0YIv+!2n$hmjI-wRmBu<{+hRJAz{`oNORNA zMPQ%Grg5au|76honW)D6|B{U_00}5u6cNN=8B{<=j`+}2N=&~>9}5%zD8m}x(F(j~ zK9AnJ^Egzgg2iW%vi&|fI**ZK9|XQm9mH@zBh*`C}HA_ z%7yFSmorv_o~J%b&>z%F+)T~k9T*m@;Xv9%(~_Z{pG&uV8UssrZ(@#x-1H2H|4@Ub zmEjo6$b}yZS}0RAhE2{W;HZs1jJtQUF{cHpwMxw4>H>KuAVL>xewwKtL!fjMZS#{F zxBLn%BPnef6W7Cc>;S)PT0g~rlYg5%DFettJ4Gpi^omLqI*wLiO=UVM!aHBm+)9iZ zEYr)L1YU$!5-HqdJPF~CbQuvaDpc;%QS9;B&>&2g4=Pwyv>}_evt{3a0Q(Tc-HnwD z*9=?}kT5Efsy^K zl+~ymzJtfI2I!R^Yo>$8C}gcuS)rBuVC- z!HiL5L3Go)Y1xm^zOSk-dS!4E_X9Ies%gWbB{qj~Uwg>4BJ#byd}IsG&3Lf~6mHwQ zuH*fEx&+S*wXA5P2zE0ANIutvzBkZL6r_F6t6wS#>eE4&@@|!x3l zu(+$2EPZIMv97BztY}hWaeBX$@3uF#FUQ8lAb<6pnambw6tpw@T1C`H`N002oi>VH zkQBne%Vo)320J2;>OFd81Q|4I>4zy@e53&|yWmhS#vsk9q@UUdACHQdo85%o9l&?- zpMDkv>5ujRq;83S4*l-;_pvbv#!sP|G6e^2tVl|Lv7|WDD`Z+S+nqJar|*EvDv{+g z`IOrY4Lv=6tg*%B@KMraO3`QR=AM7*5B4d)0z6U3^p5bTOW~VU@`Ej)C)-j1b!t2e zSRQIt7W_F9=+r@Dyr#37T+-_&_naP3PY*dZLSYGaYYaqnwRL-UI&RT4ii7XtIWcg0 zcErgKB4R+61L_0(-9&U1A2&e@Y0)x6u8+XLtFmz`;szcz71or3;!89*hjTlk8$Qf$GA3!#pWSCQuOL8v4g!dP-tQ>yK9oNUb%X$a zn#r-KqqX(FXCdRiV;q<66X4mU_iJ*>#ek%8z0Y4O;?G{UmE%g7Oqkn?1c6$ST$i=x z#mf9CfMoK6L|1diLJKR7?QP?=@-3up>xbg(mjeJHIKR_Rb0dBSKvHjEV;xJGSy%DM zK-Vv$?AKx1l_Nt$Lo5`qz=fkFXOa{wPt+PXNJ4md$W#MIWu#H10{mMl2z?0c8bx;M zb-@4>Si@iLw(jePi~z)=>zwBPm^VVHh9+}>2=@fJAYQbw;TGh%@sTLywE*#k*ljir`8`D{=J4Tfl3i8dzP06eZlvE@(6t0J zy-W=rEf^sdw}q*JT9;<}OIqDpqVNm#6{$kOF?&r_p>&1nQR{dLlkKT^e^fyO#kf7# z9-&RnZGV7*91zw%NAan68`(_N6Bj*UWXni{)Wf>F%cE2lCl36`7!fMxs=- zAT3~<@rT`I9rZPKu|z_nN_hYMt@=I8ZC~u10Lr>0eq_Phd^ux3RN7%yCbB_Uoyygk zDep4C+MgyJh9GvA=|>X?tu1Z6|HS>QuYd1}vr7BP%b90vU||QIf8lI7rM1wUq3z}3 z@TmmYt13&5*~i5`GCTIKdwUVYhd{Y0KL~f~A6$%pSutM+K&(=!x9qieh^*;Ar(|qG z4mj_8p`b$n@_~m_Z6v;Bn)>_h=v^>j6Inn=|H_M*!1g76o0tR>QMGA-=2J6Zz%up8 z!nbK3p_jIA0k4e+darZ~#&Wb84~0O0XCV8T$W2jiaVIoQQP0>%r@Mb;KHH2U2m^l#q(RI4%ySDbCF%sf9Ya}EwXLRIZZwT2Z$xHD`89OMRsq3LaBVAg0cRsKqYpOeLvP~ z(YSxgQ2*c_*zOOwN7A-=_x{db-rwX1)!4r6>1%wDZvJh-%0b)dks_$J$?n%P>1!%#r^6{F{(ltgA$I016US6i`X^#h? zzy|8C8Fx!c;(9C#JYd%`bi5|zA%1TI!;E0M_PdQWoe=Pm?XZNAfi~wF)Ai@salJMV zFxXo6d)38gRPctNMK!ro4U!okNgt^G#h+AhmcvKeR3~y$odnkyd%&?qFlH2tJP4^^ zG^2D2as6S#Z+MEJ|Bv`*YdMS0Ob&K18m4x3GJq(3QArg| zQmw9yL&BiVxgk{L%)!EE^J2|Ei59Azj90Hy;kDHYV5lq^&v@p*L+c-nQ2kr!aiMvJ z`Fq~fqQ4AK^(YPyEF`Ql@@=7_ zpU2?N1FqgXg6~-4pTg@XaWLQmn&;|d8XB5pSlSEE=m$4H*lmxgJp`Jz=i@&xr&!nB zubWQz4%ap-I!RPTqfh?f6l0!C#1WWIEn-Ej_T+$6Hh-p4e4nnAZK>(pu%p-H zbz3GTyjxS8OG3?laXLH**0`}=A=xC|NIt6OY$eks3h#{~4D2jF>7p~@RZjeBzhrC` z-jLSQAu)z!#St664Z|({{u#k$Z+@1)<-8ES8eZzt2w86)tE>+KLx18nt04njyLL3r z_}|oaK8g7aR>mR$0`cC4)&d0f*l@DN@NK_vvTbB|nA=~X8lQZ&Lm*uxk|NC>vU-ML zE_5za-|@e1!4T+6pU$e!@||c)v~;%asHtJzDFDI&j6$osIn8!7@hyquD2iV+4J31^ z{`pP;ylWte8U=5GM^1K4lOg|XAK@^R*VyyW0tB9>`oF+jD}XXys?Sv$_*PAt0d`N& zkiKR9mp%P6IG3kEOARLi@9WQ_Kg8S&`cT6znY=Xu$Uy6P2NA$u*BPbzuB}H1yRQTB zuXcw&Hw8Nno!?OYeULN#?vz&M=KB|lwL|4-%`2tlY5&B^A`EQl1k`&|{d0+=_Uy1R z^_hyF_NM72*$ln%`hBGxi)KzTi+~N{`Op@)xx341qU>t|p3UP`H_!<Z+DfJ4Bq(Mh5n&jqA*W%iW zK?OqJRMyGUTgg$Z5H@@0s5nz|G$SO93t71c=e2Zr_*ki!$VZA}e=`dV>WQ>p6(!D; zVsbClv1W3irR#eoa}-tDK^mcQ}UPvQ|fipJ`%WlUwzX%R~8|N55kySdkT_cg32+C zaoy{9QidW47)ag9bU1Tq#%Dc(CYJjxJ(!w~*HiqCyh%n0=CM9Ga!%hatM`vGYQx!a zDSRKY)Y5;CaNooqPX$#-iJmwjq70$)2%bdj_3L%MvDW0jMxgeSvpY&oq#y(ZLd}g$ zn>$xinipMosCaiqY4z>kS=Lrhx;(R&d@IpaJXkndjsJ4~;E;01M18NAGGQ8=qc>fT zP)~NwHc`U^MCY?X_AS`_{rgw<#?Z%L!q8zAgJpEI4%fY-v-gos|7zkofdu(i^>=Jg z)uuMjw%85b#Cg6PJc*Pcr|))(x?V?6V7(J0I6J1yIMh&$(aOo1h@6jHk}Q-=QTJ<15f5t#vh$fqViIZuP=bRIph4U=Ip|t5l~g|+pj^>d z#}y3_nc8m`Am}qnxlsyC1fvm@mX>yKke1duzTXqcN&*0)oAhpyj6ntCr9$w*019fD zeZ80a53Hu>%#RLozZYP$Z<&-D``;U4om2_Ui-O@;K_N+d-WSjZ{ac}${eWaqAdMEd zzQo7V#Ye<^$|DRgkZf?+m7wKeNgEjd%vX}IS;bad8g9ztV#Q=-UJrk2so1l(kVRat z408UiJ#Ph{(rSEvNI&HUQD-gqBvpDjWa*3=v)O9xAk(zF8K+d*v$00Gu=>8+$@&O$ z`uKjS1s0ihOTqd&;QyYv%j1CTmET(@8T5P>DB7fRi+|h2DY9Ca@-r5FqO@K#U`$5h z3fZ9BAvu^@6lG+B+lXP>;;=_0dMnL{r>T@T?CSeVZbU>p;9>2If@=qXMO1{9omXbi zsMt=0N&>_7H+o;u54s7>B-#X+9UM`XP_lPmS|{jQF&;37nwShDQjIaDK}ToZsi6ob znbelJw zB>|^R;ZO?_Jb1$spde}bIBJ2AlsQ~keqefhCrB}Ajm#Zly$44bc@7O7N>;8pF;e6&AQ=q+023<$ zpUSS_#F~Rek!VgyDX=(?XO&b*4CDQXGIwX~Jn-&3FsAMFw6>PAC7zuD0|2vaM;e2O zbQdJSV-Jwy3U&YPM>kK#G6jZaOmPAf2ZeY7G{?v}qyUYWGISi>jczklVu_C~X~XU* z<5m%XsHL&VSXpkyO(qt_74?Qx=h0$UmEa}4MfHXjxKRhWaoa>uaBiwKRV~ZwrhCk= zI=oJIIcb1tx%(m^ZAxn_45Aiyk5?w(deMiSGg~H7Sz%2C=}8zdf2jNP1|E=fWaA`l+>iwPmH}m z-(I2uU)^34$73ukNVwHH8qJ+GmBo3SJK=rJ zNBonBKxBD2E0my7y`qUU!3Y+$_ z!*XKLQTthAe){LtIjN*3X521Cmz8x!J;|gH@*oFK(`z%v9Z*CON&GnVJfnv9OSXU-Vlm6}yU z_!seaCJ?zV0;YIN$0)zc|u0Q zvghm^CRBhTkuMNHXn6OYT(e|E$xIy5MkAUyOY6M1(qU+xF@Tik!>_<2)L*QwEUS|< zOJQ4VO@!|fg2~K(`jlD1Q@2ut9?*ACgUhYT{)>M`-19<#f+f}@Qb6C-W6pmiYYV3j zh(^vJzT1&pPPaWpvnLaTET7>>`wEpasHtv5iC=iL(e~LTZO?HiJcp4pHLabVcjxUR)i6yT;L5CUNGT5&Cl+V)B-Cfv<=%gj|pB6WM zc##!RIkFm+X^zDvF(rlL@V`p&u;{WNAb-zd0|LMam;7hQI|juo(pE>cmwXv5T9?M>cSM^}-iTSdUuKlNhyrmv0~) zQ&&->cnUkFjrMc~Dlm+xyU+mJmKj@lc)am3C(;4KB4w1?E8tkfr*})S^ceFwSX!R< zA4=5X9S7MO{lJz0L<&2gQDfjpHn^qN4NgFat{|uGyqi5xZ#W9PGU4Z>dg(*M)h;o|wmWA!@^hpFK>+MBQ z$mF<~B$E4B4?5UCud=a`uy;H=lTkH4ArC_>W);1Zcaro7bm?(73fSdhw~x#6ijtc+O3F!GlA}+8UP4#i%`}pC zOw2ZcZA%spQa1s0-P?0HU=&BY2mrcLN#D-}mr6w%o|mwEle%7AX3EV4rk!uZD4PGJ z2%0FXtE;POzOK?l(x7w@eKSjEtC~>sc1$c8;MCH6sKkd^l%lwGte(ZKzL-JOUr>8C zURkOod*q6*fEi16ZZ;B8Ps;oUtAG&za4ft0faeU?BS!=ZWt&r3ULs{T+Re?ZqMip@ zvPJT@v8X13gOu~#*`ygSe%)gkZSG27Z$M5=itb1K>pUfOn83r?vi`@%XpEaQyQUNw z7_jHOe2oAH1C%HOEc;ury;lijGaEFUkuMAmz_b#pm`E?&75cBSk_ezW4ztxlk=>(H zl5}ORymp?Ii8W|4rB-B`65W-ab!IXXMJ^_3<0A(%!d#H=!$rZoB4~R-D(3L5zVh;uw5d4{QpF-Flr+@JH$vWgHF9(%5){`-Ix^RgkLD_4jQdCu+rcx8C zm)5Fjtfb>1)cbB|3BM+R00Oy8Hy-%Y?H~m4mJKiTb*4)fY#I?#uR130DijYd2UO|S za+Dd2?-ER*)V=TkPg3t$lBLqSe)ZY#LGyS(9*FtQQKMA_EwCixe5J-_NmTAX4s}wC zB(WTlafU^s;$J}crz8<(gj9@~JKjhy=8Ec!{=-!V(w&j+8FR|`C;i0&T8wU!BgV!# z2Y(RQxzo90dN`!;wk!(g+7pJ)a>&wgN*0{cDtxYm!~_{P4galjN&UgwHXNAF`DhVR4^2vrntA$?(s+uqElF1<@Qy9N@R|2yI+kCLKp^+f8fZByg@ za$RW_Kz*KcKv!i`5@scC*Pi2p1uJaQk5wMjLZ(AQvH3Bj%3Bk0dYN{xsFs>RtQ%4O z6J$fA%I#b<9RGeW7wOAc+cA99QQMi=7>8sb9mihY*eatwExw5dO;V%@8OvqL2 z@(A0BvLR!FYDf`lCspY@b%3 z$PBuFK@Sd0Q}9giM}^JuR6jBs^hUebK_U#G0>M{v_}Mc=ntXDw8k7$P_;Mv;V6@KXg_hOrb7fR-1Ae+uXLvSfES#+*6i4sN;ZIAX%{cy4;FglPYG8?6TJ zKkB%yx5T(%Ls=s$kA4j+J-Ow7_ZDh;Mt;|xXaGmL>V|-jy}rh<%q>&SgY1BR|ELlJ zQAVYqfa}9*^f>)%6*cI91zJ9Net~0jH8-w88RY5dp(0HQEtTe#TcMxnczs}z2aVnH zd6}CRaCLa?WEe_HegCUUEqNwxoKRbNiLwC*pl?C-Io572(_MvqX7BS zP`2&JqAi01y|%`pvcV7}{uP3nC~iN9utG74O4`yLfg7N!QqIZXwwpla$uj}c%@ zyQa+^BX~5iJ>boWE|tfrvjt=8vLG=|R4I+Awa#i~hQ7J2WXMPvPQ7}dk2A|CHalCI zuJ^*eTt=(rs6qL(M8BdHH)Xl&Lw36BNAmWq5F`XCr9@GA3;EX#Ld_70Yte4|bZf5jX(puvpVG8?lpMEsH0eUZoLxCz&HQmkudtA(Z zbUgiZ3r(H;2o_iBuVPilKKCWcs_@m>IWA;(o(dJN$5sUOG&3F04CBSc0Z_CE#?tdX zDy&}aUDU{x|9B9f!?ZlEh*7~#;G)>|3vleu}fc5 zMZjI&Ifb5IMc0?LW@0s8DD&DhRa{6i*&|Gs6)PEWmAer=Hp{fZ%J5S4m8N@py1Bi8 za6)>E8p1L^}c!ec{T51(w9VT>BWI54c+LHBw zBZ=#~q@zKiP-yLQiJAsShKB4!F*trJ+M%a6@5F`(2ggSZ?}fQsNEIS=0#B)g%u-T62wJap&em{F6F zabVh~BhL1G3K0uO*@`stlur?Zx3~J1BEM#shOU=&?X}Ixs1uFzrjok48xZoU<`1nk zv3+3?<~RY(>0iL5gx&%qYL)Dy3iH9(`?jHbL26-Vku@TPR>xFhQDsY-RStU`)$^;% zpcbF8lVOjoVf|J`0$%wOZv}`L_t)am(kB{8{9Yg8 zmWh{_gNtVVO>1{iipVron~Y>qdLQ?AYG) z(vu^O^yA;|rn<31BXhM@MENvZ>ne_Y@^UzJ6kP$?r7B#Z4_aO(HC>F**8Atni3Mgq zKvd+S4*$jZDHcE}D1mCCn7l1Rft>(mE#h--)UNIxVI)xSd+C!3ToYPQpG=6iyOF76 zd5U7S)PlWOd=&Q*W`+&%zn`GSCTg3@?b5`^$jG*ytK*VLPwW<^2)FaIc6UR=J`QlGuc6w(&=2vx7Q)=wcznKnH$(;aqvhhm3EgkC_M`+nTj6pLL)3?^Pd<|eK)i)jY2zZ?+zw)d zGPW!$S}P?C`b-*6!AV4NUs<>AAadK;H949>C2x|(x0;xk$Xr`UPDw!$ARx++9(7HT zVnt#7IK}~J3U{>@01PyCm^n;Zwx25l<}G0aDp%j+(EyibV;M<3d~1p~E%BWW4%WVS zlKRmL502Td(HdK1yE&Y_PcC?Pa#Aukh|*2_c;jVi`^%t&3q%HTbR~s9-Z>R&Cf#_c zJ#wEA5+pDT;m#=WITz0Bxtv=r3)sq)uIq?r;H=K+;`O2bd3%($Iw)3)R@-*v;Cq#5 zR1Wg3D>_J$`I&{&k8d$F#InAN83&zn4bS2g(2U?MsH`1l9{6Ikg=kIuv7{}cfg$Ua*A(i7ye znIM>0?9HN2AJGRs#KKEIdM3l3XSpOaB2;Z(A~SGzO=Wp8J;oO)_zK?anpftzLgb&A z#UEgxYhfL2)vQd(3PD1_D}~j$H+@twK*woodtdAZk=&EB^v0|w)2p4}RbTp|ZZFTOGFJsBeb z#Fuy>su9mhL|_Z9BnvSG+FwP!Ov$P?Kqoepl1U-Kt)~HsiS>Bef06`be6797nw~ik z6%@u|c!Mk_8i5#Pe}-R11aB_6`fX*^Fwezmw*x7!{K3qr6&b8<^1i*2%{~iRIqelH zF{C#jee3EUF0Xgsjv*liAfx^C@JoswQkQ6rK4Ea-@5SGq?s!vQ%k+ zuV+0z8gU8)kfZI;C=c=44QgzTvY4W@xLgI=OWVJR3|^_q?$6s*zE}=g-QLjwW~{`K zcV+(k&x{Ktn#NJsC^I+hAR0WD)VQa^V=cKZjy9$#ltBnJ{G{*Rk-R_>LpGej>voHRiP z%CbRq@WwFciz9)y4$+k~0AL_;6=??tDjg0&mMB48vt%U{`{~6FTGWCA#*PiL&hPk5 zfb;x`Cqf zv8l=IJvizt#(oFn#PHjiO#S@<4@N>Bt-Tskjjr<0kJbd4LaR?t@5trQ`q=K^ApPCy z?VzQz{YAYosscKFN7XNK)1k>CGUe0x3Cok`-p&d(~;o9 zihGi=zC{s>#p`so@Qi?g>CROJV(!z^yUi)Li2b z027G9ZNb>MV{@$bYNrOp+l1>?H=S^?&tRLHxqK~5QPG+&xEwyYg+;9DF4 zJZTe@Wz$5zn+3_DP(gm;aMkM*MJM0Y>HMa=wp~0HnBqn+`a}^t81ypeI5dXcbozN= zc0ua10X!F_LyeF{>b-QO6iZraSVrT!}V9X$xM4fGNMMHQonGrTw;gk#GT8 zW`z=15pLuA$hEX-1aupJfd0Aut-*!#$MvQ*BVsxxF7?Cqn(v&mgHZfvYtBMd?AyM)xs z-*Wh)_IfPng?Gz(Y0@+arL1$X<+(AN&K9*qmikdmG;(Nro0R4%Xyl{nnXHk#Ofg9l zR#Bp$-@O`^T3z>Rt7$yRG0hA$n+mW=ooJ+Qn2K1C8&PhwLW}p&*VbsuL18Yt&w(l3 zK;XBUzg=0s%NVG=NFZ;KQIRTMF3S!B-PYX+SnsrVInP#Cafc!+LH>wZq(WfzHEXC} zBinhe%1H=+1Ye7)F23j=wr~2^R3E~W;g1@Ege@O)S{Nd{%pta?FvjCwtSltuJrU&p z*WBMG*RsXly~r~Uj7{!)ln4-aZm8TP@jCC$nC-h2k`lK(|D3 zRfl?PvVT`*!mhSmU9>zH?J1tIS|Sm@dKHVr(vGgQzzuG{=to)6l9PX zg$=tcK9y|wDBdCkxWj1Z9yz#k$GyTvF)?eC%USAl+(@R|5gjI`GvHcNo6fIE&eA`I zqj?(vtC<&T7aNS?hqAc?GS6@?aGQy?nVMUOprozzXp|f}>8q$nUfZpDu&?fAs=|zizyOTYfKc!y z_{IzXcwOnjI>YBbMZH>$sp=Ky>1+Isli2EvB9^>$1Y%It+t0FD#9c~a;nEH*nXG)Q zcENv=>*2f~ddg*G-;)>n7bC4fwpAW#p(26j@}ip@Tf@3P=J!QxO@EkHD$zaQ4NL%> zfZ2cmCj!+>%hU(%=xu7D2wxQD%LDR)B;v!|2Q&Amt3knA_3n_;bdhP8iOL&c-V=~Xlm>D^;o&|>K}-Vgmro)f zCdm`!Z7(t?9vxna*gchjS=<}YDCN7HFCgz)VvHAl2f32R|LO8aUCyJ&*gKC(W|rbz zD5K2R^Be`=zd9w4v!hau@Jy)cF%0;Zb>8bA9Pvx`Doa-h8mgTrL=Y@AzxrgD-vQw~ zI&SRJ%`&RKWZN;o+;_JygA`aT2dVD_e!!f@*+qxKpHcArP!o*6=E`3|6fUFSvh!eM z4r3It`9udC)+t`yUVmR3?H0vxj!A1F^s!+G`eT>}V9kPYU2oQ}vUGFJP98SaPIIOg zBvu{Fn%o+8Al%gXVjY-j0EP2}hQZj5(el04>@$`m-fOnKEnRhAc>Xfc4-Ls#;)e0? z(F8Q^1_*gHyC99aA1Js*% z@m*yQOt+sn2cR@+p#Os7EE!JCYHc??h7=)GAuPQFXb&PG7;J?;j=Ms6`7JOis_L=T zrv*1UiqVyu7k~;f`MQm#JT|!`i9_jpBX{Y{FN{+nWzMMmVKe1$m@6!z2d$e=RYEx} zP+0XaVS0ZW$fj~vcY^8Ap~Bm7+oF#9mj&Xp;(#+cPcmv-s%+P;;i)8k$Y19Nag#F7 z&Z0iYoe8t`@0cPR^Qf}0S~4ln{s?F1rT3zFOfjp6q2JTCL{7f*#^;B{+N)OJ@kK8JHlgyK*s(BaB~g)HyS%%-#sdnWRfsFV=$3~f^x*H6x75Mtt}D-35a z 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%0D{LmzsdKmH!! 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�xv;|;AZ=&Fwb`-fc+wjFw4@D4G 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

5pEP9&t4vK`?2GQMfqp{? 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 G;Ln{Y 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%0Do)j*?j#$^p+4c-o? z_Y4EY9n*qd0<)5-0h;kJCXF~a$b4yzup40HwB<*5EJwce4U|o(R{&}CM768L0pj`t zG9FI_8?n?5*?^oXiVdgO%{70=N=4z?xdw;W*g?vL_ljnDpRw(2f^Lb^qOrJ)edEwX8%Iwqif6hgyIS?Z#q{+7FtN06 z0hMGPz6+gM^8;Qc9gPzrsxzeOD}fD&3n^4h9DEYkG4h4aYi9ump^DxYw7g4?7T*4} z*I25r;<4}mt>$fN$^32_<^UWKXWGOl+th+xQhxpp%JJ^H2Kx#*D%Zp`bWS{H7KVGP zQQ;-Q*?tXh*h7fIyoX24g4^=d-x?k3IGG<4*=B%8;S=xEyr*(wskic0Y zbw{pV=!Q-3-GlK-Q;mkAdnx)712;?wGevTT0x0hw6 zCzU$>As0X+W~l9&QB|YbBQX<}Cz<#>u9Pw5VV*xDo9(Tu#-D+IWj-X;U~Tn9B1p0| zcDRxLpqoa%&`w)@juQLJcjOW4Iwj+qwETBWRC{D-)oZ~vZsQXsl%BxIP;g?(BQ|dUO|;Ldc$Cy@lu(o?$Frel3blxrqC-F%DWs`m~j$F|qB0KJQg$?XT@p-`o zcEdgkm*sWM)lJ_8s6g{O=;(3O3F4GqGVafT{I_p|S-nI&V%G?!A}K)9Fn17s7#uAa z5&pdl_~8&iAQLS0&|WJrHPz30iAr6{>k}$JE6em=(@>=8ij0)|K2c!~*w?Bn!jdVgYITTrH~$al2N2i-Bh>-$0_r2#dBj-d)R8eNgIIh8oEaRt!EM4M=D5V*3J(HByR~hc)i9*^q$6`D)#KtPtnLSQ` ztMDlkhFp1B!&W;dTU$i)alwubOS&WeDR3s2ps)uvbexh*m5nidgFo$KBE;8`KI#iP z!!I->Jt>QqNt2r+mJ3VESY)1h1=ZXB#d&q1hGf0Ies^DfMm{E$iIyZuJTz=S0LZl65%v<3e&ro8vrPJq1bp@a5Q!TocR26MVN;^N-GgB9lJvB!(}I@wUx6 zhEsb@x4I_f>-YDlucii{^B8UxS` z6J7L#=B{W#(6tsJ1$K+cjIH3HRO5`WA}2;9Sl%(vbL5@DK*(^Y=&>;*LmKuv5W9MC z?l5-#q}x+lPXah{orB}p@c`uskEhrspwI9eC4m5m1 zR>)&6SvEi>)k=-n?DT5Gs$Pj^zU%#ye>O`0=j|T@_A4|u+p!_Y?W*79Cu>aA9bI<$~s3r0*@$!$>>tC`aC1`y>E;}&4 zm&*j{C@=3jq3a_Wg&Wt|_<&?)o*YIi4>Dl+m%snk@_%f$|KBckJ9!JHEpRi=XH5C? zrq4+Me=Pyr=>PvM0i>Yxzm@=(J*N1)fmB|BjkK*qA6!>CB8UL7cnqft*4oB<8{qld zdXp8oWO6C(v12sy#QU|y;&tVa)hcvzdGZ_dkQtBezVT+ekP10DxtPzw)2~VS2Rej-V3tAA#uKei(iV4Em;CmR6f*qOM-1X&xL{`9ULd+nIha%>%C} z-4=T!^af^|Q8g$qNU-+dnq(m(XqePcWIYlgmJ~r4oH%InVai(&_7|+6U#z+ZHHw}P zu>t@)$`n#`g{a!P^Zv?2L8 z`4V!?ZUCK4pnNz@^;!0Ot+CL)&4U|MdPz)){P9QXMdtf;4V{$-p1$B zWGL={5tC%ba1*O!B4u0D(77Y=MOX!e+kFK2`0+gYw9kh~axNu|QRH)(@z(Y)dYI6& zE45hs0d~LbDRUPsZ`g5V|34_$>HgtMp5x!H9_zNyxkOTFgO@o+>E(A=!0M{z3&caI zbuaC-jnyf;#*%V_F-kV<_9EF1Q(^aj^dgZ)wx=SqinQrzkihrP3HHg$9t=D&y31Js z)D*6!_^qaGMQpA9-0(r;t-fy)chYr%gvMlyuysRBkOIc=8j@TO*gCEq5++(=OI?cbR_4*L4qZ>t9GLF6 zj}kW`i+1`Qq?XkbPP<-WK>0a` z9@))l!+O^!&=T{GT1U4*n-v}Fz--{xHIGZTmuJI36i#k22Q=8@PFy1YOuYWF-yp56 zBLe5LB-fPoRC5BIE_BHk7zsA*c#28=xTv)WbgNIPJFTxoK>a;Xf1U|L^zy=I?yM`wE)E8tn`s=`KHZoh91n(z|?n{s^b0 zdr4+(D$j^r|Mf6oKIr^LB4K|IMQ=7&<$5{hRk3CdndnhzJg(9m9ZRXL1(l;T!V`07~WiBxhK$p&ve*uk0W*fM`J;qTk5 z%VWYkv_>_*bJ7D+Pla=FYYmlSJ)mpAc-7rKJn` zR?;baJgZB8ux@AiC5iTdCxTmLUfuI72D0>o{UZR17mH@GU9@0>8jK;5SUtkTP2~5E zhlbWJ$&^Azq@zyUAedH-<=FnC94O2W@^ z42l?Ie5{^#BQ>aKr;2VhII@WX$8AzdtWhDjr{@C3-^Ps89HIQtZ7AEVgG=U>31y!d zt^t@zc;t8IPYmO6Hfkw5#Py#8d3JhxCz}5s;@$!(u4P*r?Z(~RJvami?(QBWNN|@x zf|JllaCdhnxI2LacSvw2KyV3e{~~+uv(GvIxo^BN-aX?r&}&hv*XsJ_teQ3Jt65bZ z2g|s|*Ey7jHMpK6+Kx>r(O;E3@Y9NbJ{ILz&ndwIux+K3g*ay#&xJ{2sH z2d|sobv*N-%!PG)oZCL=yFow8^A{#~+UK^m zCkWL5CdZmDK36#9pKyMD4f>hiXQSIn);X3?=F=OR*)WKG8aZeF3ZiMrBMSeWumjoE zXsS#Xfr1So)qxQk9YjI|1N}ic*0WeeSd`zIzo22}%Y4rBh$D%(v;~v15aCfz&`Uee zm7I|_JP4lc-MN~WI#$=QlKDCqVn5m=1J)|{VUPZqKezc9&cm+clD|I!vK#Az z9ZgYk)}%!uTZWAeS$?aVl*%ady+37dQ@{V^+p219dC}9i87zLyXRBfO$M5Ma{BRU1 zdGZQ4>{0O031(@?7JW)cv@#~a`>!xz=8&1;Z@e?}J5ws{{fwP7lm$iSe^68ic{rBn z+h{G7j4U_LPL-aeYt5*qmZ$23;?TPCock-q=1`Xs57nEa5HrctGI2x0xb#>~;Tg5m zX;xL#^!AewaJM>Z@H;_QlR<&j-QOhgm5{w~qGh%0Q&`lGc-dH7Y8!^Q@rs=#zFBoT zJ;LdOgLIjEU5bZXpx5a(^1=9jC?Zc|x1F)S%~Itw&BNn|%~3m&KL>O>zkRl@8ar9B zs5AH$>33vs-Wp^Xk!xbAFa}lJt6X(tkkL7`7pX;D-?)-gjP978y?yidR1`b2j+! zE-TG#@|}(08>*U?85VvE{tkLxrxX0V+ohVG@0qN~%Hw`6A%`BeXsKwGh|1|Y?Hl>O z+LdmV;JH6O(*v)*U${t4hQhWi%Yb!U_|ZR!s>m@q)-tq0mRTR#-Fw^12(+NxuQ~ZS ze~3IR$T}|sKQK}L%qxD;|HGVklH4}6$4Z*ki@^rF9hKCr@k)=6%aWWeZ8Y^fY2!KZ z0ts#e^i$PJdt%dhTS)o{E1xohLS%wp4s#&k zPBRD~nYSHkB)?a3Osy&@`~>FGiV7>VEV+Lcy9ies>;!rUAVpyXRhUinCstjmA4p-j zrf!x!v|xY**k7&X>B9BYvb>bmL=M1fCMv*S5xZ0e_;yyOmYu$6<(w4aGS(sOT|!W7 z!33RpnT?h0({$Rym!BiPU5K0>E?xd@8o2dO9xn~dEj9@L^w9s!S$%4H3cmnQCIANb z(p&Bw4$tbcNlI!FGZ)$u92TrMyGa@@h-NR8dzLVVwWIX(=S!kbau z_#uyBOc)6f;MiSQYxW{dUKsQP7rsqG>KUN{dRb1xOywg1aO+mIoTck)S%B!DV^E0; z5~aLtA#rnC>TY}ylty;kJ@(%{q@qw=5Sb&`b*2$b6GZ-JJh zDf_>VeEjbI)XOn{`7{zU5*i8++pYYSB~Klpu+$bDpi9I0$G8msL+ZrSB1NwSo}_O4 zZ(}xbz9Q8bh5E zlfAZzD-Ij*ke2}Q%$p!i>_*_66B)RuVYE2da~`e%JaoI-JEOse70Et5k5Qpd>LkMU zD7;iv!+dWxv+#LwZ@YcN-y+vq zeEtH$2~JkpG6VCn7BdI893Yc4sLyI^#=9)wbI8}N8jJHKI~}SG;4PY=xyMiVNm(G{ z>awVsHL}O#!M-5ee%Q46`Z(PD#_X7#6X{{qM(UApTT;GMRyZ^zM`ygz-(i69W{g)` zQgJ>RU&?PamW7>$ePDunrw%rz$vbS9dbqDByO`kr(! zx!V`98O^>ER*Q!Jfnme_ttxwtBis@esZ$?^!|S_SAHGqIv7QaR)sy&V`182W9)aDR z$5!vt1XfN~B)$$kCT%dk-n;wmzCsS2KjieqWA)YHUe@6WCM+Js@=3|njxz~1q-MF7 zmQKRSiZAkMLw6ikw4iU+i!bU6a34}>DdUbsDDGhW4DF;gS*jk8e1JFJZVWXRWGe{^#LILlJvF zG=)i^hNZ~2M+iV9n}y_dWPS{wv5`;Q%f`iGL{a4o$K{90I=AT2(sNkVp!tXNpIF6m za^XwLCT-a1I&N@trbIuRP}@)K#RW3@8jKVbOcj$oV5mt$!#VlI2pZG>GYqVk(ICQ& zPBeu6YIwKO?j^IgQT9UAr3qT1U(#VVq88R(o8EFR>wI?ZOZ`419OaO3`;Zs?`Gx^ zmjv4g>YSrbebFPyv&*1MhP{=_e*fDVLC+h(m+d|uXuyCT-uQl2gn>gLKN4zeqY3@_ zwd3eE#vOpU5RCWbjvh;O^MWe!@#gG4&CL=2BS7d*^BX`xLmEU zPFHc%zGlcEdPD{;EPXC5g`4vtZ-#eM+CY*ZQ(*__H8jIPce>?8AhP!I0u$39a!3jq ztl-ym^79-B_8rFD!uV=4A9IV5I!{#L&CHj`E?g)Ve?y^u*?Cw&aLVLmg zBk+IoN&Z4_k?b?EBgN$zF6}n4V;3b2EY;!QV2b&hK|{m%R|ZY>&sf?E^gkK2?Jtb6 zX3r#%2_@HF!@Xu(YOBijeMvK*YzX=@Dan;UIyQe3m+B2d$Q`xQT*fs|S_5jz6rs+ zz3ppmlCSm)(hZm7t&OoA)Z)Gi+=I_077j3X3533mP<#L4ZV#UO+UHXwO8fv%%SxQ4 z^Oor+>bP)lYadQxZhGW8`gg^~!w|V;qvk1e9apk_G4Of zuj{lso!$Pb65@-70{k_kxONilNB6>3%cJAMdd&MIkX-Bn_dPAW@2?JQ0&*$UNn9;u z?VhIe%ESpZqJ#ViPoi?5@c!q*@PDUgefu3HBBLtL@|dJizaW)W{_Vs_We^tc?IIJe_)2OOs7+WIZ# z%RclcR(mXQpL?HD1@R=T_pKN3LQn8i*}7@P-wfGS4kXxgs(*=drEFBLWrZM{h)#n9z>&|`Q7N!{Pgv&V(842O;VKwI2 zo(P83&GNs3+!Oa*+R!w4LNM(Jr`u!~W7-^YGqpH+41_tHMN|S?X6`AyT(pUD_YWQP zd{90e&Y;XKvY4_!S1m531&|BsrF}Lg%U76@K@sm+g=JdQaf$NG=t5-BT&G;kx=ic4%ZZ>F`&&!5naGL{y|C%s zC|Rgph!WWsDuE|*$xLk%C|YK|H%ZLf?5zYBviR1&3~Or9j8LerLHOLad_#8J(V#4qMl>TB%8F{^jY;PZ6q16sI1qy2U=~GTJL3>616#G|)bIDSRo@_T z3rc#@S`=D18tqw{-wL_N6c++FK&~@*pUb~B81tP*SQA^MEMaoAU1^o7N2M!}b`ORH zHtpfTbDz4^J`wRr0urI(gtJ=60u32D)+$p95rTy0DA}hueuS_})Xy#`u|zuUff)-sR_weX{By$r zfttniLBp^5=b~HA;WF&UNwb?1Z)7Swv(1d4W0&neg4jg4_?5T?K^V+X;2#vKVP_HO zs?YF+Q1|Xpr>0Q-%TU`b)!RYYgh6md@`{q7P%PRYgqqu>Jim8PM$SY$f?W)x@7>{| zT^@`m_BPutv&3S~1IY+8Of=iZQH2)JBv(L_uLj$V=`tMLL7R(v0O2$@47uQ zO7uk=hEVD~){DoWI?ASD;kI&3lF_sa^q!$1>d4Dik&kVARyKkrmT$`D{Rk*^jLKX( z8)xR-ovRXKP=d8=!6hZ;pEM~B8q|IzLu-^b%8`3Cfir_ZAT+kc!F1s$d5#dKr8U{a zvg+MXM^|O|KxH=v`7V<6p*ezWR?@!4#-IZ<$feFG{6Q5r5YYZN_W^h~nSYQ9WxrjP zv3Z(@F_}XrV(mYfoJQU&LObU>o(Q~e%yIOSwX_2DY4kSVbvn|Xk2p*?T<2RdNn&Qa zuBBfaehz|I$iATz(xa3QrfM$sp18{;FlTuBK#DY0+Bh?|uM}N=nvjC^mo2R$I=Ob@ zuwl-GeY=nJlPdZL;M^u{Xj?_Bx0Zwvn}cm%1c$~E6Y?<)swNj3CY;9@-Uo2ote+XEf+@$0OIhFiy!WnD-sNxp)U7AyFxBvqVkhqPrN? z`scXArO(~_9~h8CZM6*8TD6l`i?cj3IlVf+M&19VG?+dzy^ zs@rpBk3(31tkSJ<33)ZZdlzk%cjLmx>iILaPy_7O$kbcx127w)^#TQUn0U2oV7Q&= z2H?foeTw=FRc`4afTtb%Y2wXj{SD=uG!Uhk&H=Z$=tBJTNSb$3QILHnU0{5rz2jF9 zhxkZOs%%=R$EzpOOG`71S!?gHswv~>cT@7axlqzS@mYQuxzM!!n{;rz#WConQI z77w`5yf?rUxfr&P$j?*&$5m6p045W9J+~JlpkM^d(q%#U_SUX%d_oLZ$8P3Qse+y> zpx+DnHjF5RGGK`qtvb1~6!? zCPl95yR}7PKoDtC6lJRe0p6595Jc*b2$!ot3VidKb-(gcURYng+Zi;312UsOC9FhF zg*FdJIcP)u_+>RPxfzmM2IOg~v_6m)2q8V?p9`1)0$PQil>VQ7mA^b*_X{~}g#PLA z4khiAlPqCw4?HB=y>(D{5{b?b-us^yN>rq6c$$&>U@t?XQ zjsH_2>+|_Wh5kUos|QmeLSXTn#+bQ9t!Lt*_4M}X)uXpXc^2U3u? zUW|HtrH1XbPd{pQvH+qQ`889f&c~E;BFcon2`&P6pDWMPedK19o=ZhFmPeLd&fVt# zD6O)Lk)>xqaX4_Tk_Kw4U(rj|3@5Y*@IjXjnhVs>{aIy`f4G57|Vbj%8}& z#Ws!3^@?2Zga*a$2=B*ikU3GA`r}7>dGrJ~M4)z)@g9bN4}rO^jL%VpY6tF}7k%K; z$qoJIeth7o7-*-9dN?;Y*>z4=Aa_r^eJJu0JX;;?@j6PV18RHgt&Zb{tnD|}0lOJ4 zhnpV$js~LAj-`&*<3Q9_l3aVl5N`H>87Ex#K0xK*E)ynI9^u!r_My_9bF;nx(?tfP zk$*pdGK1AxS+2AM%Iom1y*~F3#DqEfkY6sp0G`z!l0%!8qH^_e6Zj_scpx&!!;$(6 z9vyjwJFe26vp(^jy*@|%?6YbvfNnv3qFZDpfxs547KsN=I>eqCkFR^*$%7IBs@C57 zPU{bP_AeK)Q|0b=c>*(;0&Fv08*tyb;dBs-J79t?1L)8jsP|SZX1G|b4I(w%#)1nQ zpuIGX;_mE$iNEqd4EZ$;uYdSg#A&4m>DEH0r)cZ;PgLrhUND|MX#leY(8Gsdr7^tf z`iAod?ms^PjnwPjTh#dtn6WzsgtM5Mii*N$Hs3`6j|>GKX;d$u^Rmj8X(#sgx1<6| ztii*3mV%E@pYZ(lqbcj0V7qx2z@0@L_U}FFfAr0JZSS(87B{#n{!DRnI_8|+ymAcr z%?L!4{^pk{ae?88OOC=P8*5#~0A5<=^R9^Ho7n9DRK&c(^sF#Exvq$L_wio6D@Wdf-ag*f1_r=5%fFb}PPuIE z5Afg5?vIoW2Q=~&gy8BUo_b!R!knisBD!_2$eA|TPrRxM{oYO3Ji(v~7oNz7%hg-7z-*=KJ} zZKMMxNJ9`T@YX^QaE)14t72$mtoKduRkq2Q9xoN)Fz>TKr+bkvi;9)iGIIH)Ttato zzLhw-1iQHeYr6!?+#f-o3*;#Xmmvpn`tQzKe$yjcpnSJkYZIv*xlQ@5LJPHht%F#? zvM|c+0(rc8d+VK^9~w)#_}f5LiDF7DzfKQ|3F;(?jML1{y=;;yt(~^_*+=81(xJH$7g?l7MG-wmuz#pdweMs zOr=o_>!3IynS3ZI$zB^QDp`#17R(z<(;A92(zPq5aoI_)GqwB*fDUnqYpy`c;Sbow zD3vJweG+Zy0(ZHK;_!`7-)0ed*Ja-Hx@RqI&6aFv*?CS`PYAD*jttip9`&CGQ{0g1&7V zOa1bJa#gyk;E&oBEIlh8&HLjdahJDnm$&1aQyY_Y;4Ao%o{Y1IMbfiz_~oE{4=Yx5 z*2Z)qBG0kC1;|MbPSR1Y;ODr|cJHW>-YO%{APETS*uk26Kw^hkFPYwhH(fgk1DfE@x;M{^iY{NBwEVkD zbuv;{lSI(@jczX?`|_&X03kb3MVFTUUIxV~wDWh|qM3%F)!Ia*w;js{{esYDZv2CN zAdGR}q>tEHuFK34ZpY2zpSe+Nvr5Cu74*BabPLNROb>30g&|!R!Vi%f=VUJ-^94zv zW_o2EoqAAQp z2X1M;ME@asGeE{IU=S=ABn|>G{VjWiC)ta4Az|=*W{l0(y3!7Y>)>FstI44Q&BHyC z*=ElyixP0f=I@Mlem?6uzJop^hZXBSp+pm<03T6nm<0yo%(faLa>}k`lP?DWn_R{6 zDI+3KV@ey?wVpZ8SqRCS>W(?3)t|)%Wuh<8`yK~NU=H0 zm?5oKe)I=UD}jklZ{hO?!z(ZH#xP$46oq~w=&~l!;eg`X*oh;=I~4-!#kMWPSso z(H^I@jD~Z6by}nxD9j=Y=^~CLV8*8bGa#M@FIFAs5&?Z>z^aqy09O6S9g`sHr3r}+aVWK%JjEjkA|&Y+=_zV5!{_6+?}?Mq z1NBFW{YNMe3=q(PB^QlQv*k1ff7HVinn*FeXNLfdR$mifHnO1Gn4TLO=jC8bZ8VDf zFop$X^Rt_~4=fu=!w@T2*vR*mFR3Ny@ll?6e3|-21WXb!ud-)rFN0SW`L)!vdRONY zKb`_DZjZ@;=CDPzq-?=)oeovL`VO8#fF{yLEE2z8jxvTeEmqN&~lPs3d0_+E;6by6cDNuii1V$J$TXBOHK=S7Kj)8+ zv1lkMg}w()1>%e4a;I~rtJ9L%^jP;W$VSzz)valgC=)A>yarD0<#=6u+KxNXSKQED z1QCAAR11(@4)6yCX@Wq&t}uVKltNE3)$BsR(EdyxOCz=MdNp(wpNxA>l|)V*>bg$` zt8G!6pfM)jitiEQXe=D{j2zc*_QXdG1_Z_p28o;0K%L;rth9fnOND*JZj1Vb$>4D8 zFcwI__#m0;Vm{E$I@VD?{j>QpQ_l`2-Q)A4u6P%H*z73p=NMwS(0IP#reVd$M+(UX8n4o_Rexz=9XsY2y=FtclLq=*KFIxcFtMO3Il>_)pIA4q3TCKgw5ue(O!0P z=W!$RT|+ltA;HICOCzFIZ3K?C!{jvKc{ADY0QeuRa?Ee(0;b{5Sl_4pcUFNC&BoLP zgR%1erd1Narp)ys#uSs({PvE53PUa6a{1yhh@RtP>UQsRI6|HP7UnQ>H^_)eTq+rv zH{5PPE>f3c>{HRByf4qAo|xq0GsvT`B<;uxwILj(X)z5hHTb3ZvYC=@FP9C_xFjE# zOA6a%{P(3!I-8WWDM{REluEkNYzucTm)R@vT4uT?eQ!7F15sl!DKMJ1o71`zqvdWZ za!ZN>eL*h$_&(Hn|Gj?X7f-isbt{7b!KnN4Sg5BO`{b4Q{>IPz8~otd&-#qWTV|l-rI@O@`n4KL+r7{l*V0`2y(wuhFSlAf1iizl8sv z^)Fxw|I`LNxED*-7E)2CB8>+ZLcO!CG%TvW-0cNtm*9fAa!WuFR*a%~uQg&2vkDtj zu?>~%bLa$9ArWj`LmvU?OA&R@6vgyizDE_xg33(ND+UuI@1TpH6pysqf8QovwY=0^ zRYEgn>Z9<7H?|4j^Z1P$0|dhP+o}vd;l=>L{#VL9jqb}WChy0fo=x(faZ~}n)&4z| zmE*f2I2TvZH~XVjWuHLW9)tl@=Lh_C|2}eP-4%kSv9cII^(u}pUU`CU&93q0)w9v{7-d! z@(C;Ue@VwQ1J-cSJ#SAZ0j&2vC{H>rmEXX4q1Q{FQ@^~BDcsD_MF4?tvr8k|8--)d zcM;Im`98PdzU!mU{(cpyCR%J$U(0yjgl*gTW$vdXxo67^ue?j& z2q(|PRU-u_>Q&-&ZWH^bdejXiWIbti9Khr7+rvWpmwMaugcA*@xBt7nD3S*IP1%<8 z?e)j9N3A0_o8X;C7?AvfN2VfaZVII+HVQcP4Z=8#1cZ(Nit95*F=C*o(p{h^%L$=h zz#D8@+%d3xPiq|q>rNIMu#U@`9_$nxa%B!uaA4lqxex!&fZ<46=Wjdwq$dCuG#G>e z0s*^${#9ZtpKzf-VE#JkqK!(C?;Kf!sYG<~v#dqjhz*gePq_$EO z4h5`Ltsnj)G-!asG>HZz)f9=oKa0KSR0&+3e5EW_7P>BE{(-lk?%39K3pMA*jO5r- z+FhyDQ_9XTNo&1GF19U=aLodrATT0$xu(lL(N`h7E%M|E)Ls zMYcgn&sJ!G`|)wC!Q(Uv@iyysrL2m5BRdHzi%($yiU0O}hy$cv$EuYG5|!^DI~sxq z<%{|v(eZ=iCQLF%@2A;q#m7nd{K4DpVJ%c7JI z=#R~5@kI4TvcQ@z#Ub*cndXMgc5m20Dqf)y-4wZ6@}#`z02^^7e61j|U{NzQ?ibvM zHCTp>QkvPS7?bKx!i}vwvzFN78>J0xzo$X5&TbW|2qN71E#Fsw9Ie41MDSC?O!RkM z5POm@4g?NEW*yjfQFIVs1@3+B-hDR$fyD1_;jNZF0zt>{Afx_ljs@)=MD`W}#%`pum_z6azGB{BfrDbD~kQSu*#| z-*-mijFXcDrNG2NnPkTbYzc`p6t|?u4o!nh>=z0%+B@yjq?2)H{2i`t=M!4 zED9kSu&7!?`VW$8^j&mHJzp9rykaUlDFzsDz%P1qm{3M2RWezSs1yVwPN+tP5CaX? z#Dx5EAFXw}ytsMq3nThiBnXm46^MF|*j&1I9z%v@C(*AJ8+rdz(D35GSTE}Pd2#gw zcbUih-t9|m$GUSQ4C*;<`w`Cud+)uuqlJsk>%P;9T^WptN5oY?MW`Dig=@Vs94U$& zw2!gm(r<;!9sAL`h($usO%3f8VY}zt?t0uW+{wKw+I)IN!tvcP`=_;bhf-+5lxk0k zb^49zEDuJl-nS$Ttwp+@^i`;+T*6i?h9nvN`VOnR7=q99i(+&Q&9G{lGb9va`qQ%F zGi~(BPBsc-2fyo2c)LRF2#dO!*`Acf_fR!9OOh1pMDPl16uR!@2TmO9F}nNn;2u_r zfqWt9Zih8tRM~l*gddQDDU9rqa$gz}GJ`Gfz}u^M+|ky{cJ;!R*25sD7ge=_Y2^4- zzjssZ{zI?GU=ZNV|C3%zp7crp=rwB{;2&gm&$kW;n8Uty1Rw6Tu$5UgMbONZpdIH& zz=}n`XtwTXGrd>@BF<#bh8@~&wAvmG*%hYMUYwB|f1LwoSJ4gV(tsx=us~nhEfQ9= zCkznhh-B5xpkD@*pK!tWjvXn`Z$!!9g6Yv|K-pBHpqy}e^niXpP$`0_XWMu9Xb=Jh z-&*q30x?!Lpj!|n{=xl?EIMKXRlc3F!IZN0=;GNjw_W(m_xY%djc)y@x^G>zBp^R~ zy}q=!rVGkT$@QeR4|&%KqZGN1*i|C4i>5xEAzw|ZCG7AQ_Gt(3x_s?_Sq-&*9i))i z^C)pVZChJCSaG~^i_Nmi}jyiPf{|a^E&T6UOS=6=uJuXpmvOkN`jKfGTB1+ z;f?-Ul$=5`Y&qHJ9;lKG?%omOWMGC;ZO|a~X%ys)W^W`)f?irl>6)uUD8NVDBkWi8 zLKoYi*I#M^4|Ly~N)U+;3^~WHD!m{PN?y$XF6on%8Ciqy4P;hb93VNc^`AOnuTMP8S?T<@%Qf`y!8b zs{LChI$I*CvHdrOqwlBQ;LJ5(3w4KzL)q1$-RX6SrVAc99lDVK`>+mYihDvUuXd6i zPbqyH_DN1qBn5HU#&Y1wfi9zAK<&#a;?}4%1M1LHlCL%#5TLSFf};D-8>yf$o~o!M zP({fw$q*8epy;VUhbN0Ve1Q&Nd0C0C*50MZB(8=klV2_$y3#+t`M!+!}w= zj+FV@6Ss4ImkOWT8lLIe4zj`APfLYmfi?6N&=lN287l?0iv1vHVPVm6eYujHalnWD zmpEAtW%B(f|}MJ9upT<1X%kH*YYpsWj2J=!3}U5gZYL1)a9?*@ldXU zWhoOX&f#ARlb=8`=3bDZbi4%Ze;U0$V}!4Q##_azV={taHj|{I0x5UFeK8B^Wpwm& zrnX?Rca<+kpybz*A0>f-4{`+^PjUO%>)Wb+!Wepykey1YT*`{fyp%7KQH9d%8$lyE zhxF?VTf`c*lb8)U#hhU?0y*jAtpB7;Dvz(2t2$vX%J zj%>)H&=^tK^s)I{e!*vz(9hdWIW4PlxMItqp7ZlVe^39hgo_~u9I4i`N4WK zPh%WSD&ps{A81*0;ARJ03!6d?npWOokTrSUqtD%DevjU+ux6stWBfNW@dHR_3lb&3P}$~+a zFkENBkkZC8`8ls+c_qaOoG{jvKv#RM!) zK`Hqh6J`3AEi1%100Rvpyz)&kp^T{b@neHsa4^l_WWBvW3=KmKJtuWFW0>s=HyKnO ziMbv{>rwgIMS{~=J4ZX9h5)b3>xl8GsW>Xn2(QU|FODz}DvZnvW-T#_gm1;7^ zsTniDGNGL^Bo7rjak^Q4Ni~|!48>ZjUI|fg%M7l63YCDSWG;GBx|-8hmy=*FGX4Vc zVsM=PJAwe}L8<;E49V6PnClQ;TOq=XgzQ;Y6XjGnd!L?jKQ+G>ad^?3=Di$M_E}a~ zo2j`pr(#fv!)9Hw*vYj!AI&8+qCuWoeu~KIlLb;igrY>kwo5;SR#GUKe(=f4SmcvA zza*X4Yv&Y8O~bs4&Y;g9K*eKU8b35SGHz9t*&|!*TRIdbq3t(IMuqW&xeof-`%@_5 zCWW5fMj*kM#g}0hdKP(5AlDfvoSm{qj59tAHE53>R3yCs;6b{Pz_NeuP7>w^q zk*KUT(`1R{nFj66FVj9ce8DBa!;MT$UBl&Vt1i5@Q3~SO4jQAHX}5rQ`=8-aW|_rF zeo#W=rU|#HeerUMS8t>4)!ER_zI0(o;z3y5p4XE3&n_BK2FJZuf`q6TXOpl-JFL_! zTdh`2GRLNsOO*UF0<$2$lK)&$>s*UYAx7``m415o9QVsux|c#BUp5a*q>HBwzS8r4 z6~*3em`q-&Bke*fWzJ2PwjbkPse*MP8YsHCWo!Rg{Y)Ouq2=9cAI2}@My34kmq%1I z#d$IWga&Z#B~N~-uHjbuD|N~pXMH|rFlfFD8QiJ)!B9^p;LGc5D6(6)3;85$jt=>R zL$c@DZTbz|H}itRJ+D*Cao;mnoIgkHS%H(uGDTD*Pnp!zD^(1s@mJJK2DGk)5iNuM z?kLZsH?42UtC(nw)gxyTLQuK%ymGH4CwEON?S#_XJUDqpJaET=}d8?ihk)Ik{gdev= zWpjID+FP>~+ToL3davVV>fv zR4W$({*kF5&(eG7XOM~7!wz5R6P&B&i8z z+H}4_n}kVGv!f-d*}@zO%ZOeHYN>xmpCSDu)xh%XfT23yVqm4RHOm+6nF|%xzD}2x z`y_ZHYfZ%FC33^eB*0ke^#*YI<7#FYA+Bybr zaWl&CKrP35|BVQbSg0IHJ2=kvh<+B!mC6K{vn^pOUQ@fO4g6u*Mp;l>V<^O2oj3azxz~_ z#`yDF(6Ba|G1C&w2AM<=*CgF6H?!I*4|p(63mj6*-%n}3n+n2TTu~B>w)A_2>#DG7 zO`e8&sLxv$6kyMgGJ+JUvKAkiI}yg2oTGJeTzA9CFI zOQBK$$hZ+&m^;<%vJO50Q(L_Ly`9zevu@3w;SewWViWxvb@O z!sk1Uk?so&X}Q!xs>J_C^n`+StQ{A_)M7iQoC zug81SrjtpDFd>dew7Hn{I$Ii!dZ%};P6ZC}>Tc*Pa6ib}@3yX-lSzwNULFEz+9W=U z&jq+gFIq{7g;t^hv(ZN7&{;JrJ6ccQ_=dr37MK8@f<>?YaE23-KcIjH(tOZ9eWn_0(Dz~-xx5Hy+vN+*; zpUYCES1ugUukTw~rHO(WUgS4)l^%q)>Pvh3FpP+DtaFF<=60oO*l{f>&4(6gX4qfQ z&q(C5^@r10-NX;VRuXZYwPNUoyim7t|AsTPl2xkAa1J2~=V~gkJe5-i9iNMYci`5) zoMA{X^V4mHSd*LV3laz%{g~qE^hQ}dit6ZLTXEN0f7VThvBf@t60Oqz{<^lE+Gp=F z>+UYWo8JNIghVdbn945m*HG5Jlh04|tcPC(?=s`Z^3kxZ?79{Dj~;~|_kGq)!A649 zdC7swMm`UDLWg5xna|x>-`sdA3Xyq1EocBUflwfty#9wnRJ{3R#L0d-S&#h6W{5g- z*Ok2CDtGg^V$FLM zhIO@jkv;dZo`uf~jPG}djfKc`eU7_Njpcx_m?tmw7ZM00`P&N&1A$Bc*A#d?dD9C( zI$Ico0HYqxufaYpP-M^HmQwNy3}|i1zwb0SfXi5Qcs~dQl;dB=Cfn9|n6T8)4$NCRNZHiZ=j4N=6pmyc zP-r*aOfCgqyKOeaP={dean*Wsg7{)-W{?6+;!i=g?18JrFNWV;GOr7sz!DepSe-1J zKWrO4P|C(GHV`h`pd%xUVtRvlVqdU#yL>UzbD(O~t0J`!j*rPnd#*hL_6~-+>c3j_ z+Dg8uD>2lY*zRsJNOpX-E@0Gk3pXN?+TZnx6yr)>4F{|q zRH^yr^zQMg7aUb8QFmoT3Q9yqL5Y}WL1EgeBeY8<%f@j<`3K`jAwp|fq;ONY0-sVt zXckpvyA<#gzUITdUjrk^ef=n4T`s1fCL!-1;<~c(l3?(X$41{c?3y|@UNf6ookDAv z92=P?g99bkAA(z#%w!NnLmM67H=6p!sQ_EvTNblreVLCNLR(jJYuSa=CXYTkL*4@DPKawrv2XrQ5&9M|5H(qA&=FQz$eCgWGDl_VXhxJrVZj`hoy3yRTS zaUFCPy%97o>8T^L=CioBSVf7+*(Mz;@-e%dn;l1y z1IiSfGndvD(kwfqc4q_`vgh`8p5rhwDQP_iRL)Ma-28!u91C_eYW>7AL}L~+5B8ih zqq(H%wv95GsEVEIx1lLD&(G68ZR|=D)@@v^FPurUh4%Z<2Y(=a*~d+}(eEPCPRf~r zNe1rE;{vfsTO>!jjg6sW9J@JvvhP8LYD@o~bgQf^IOkZtP-eT)JL=7!9M3SlDGRIbH(S*EroiyC@>VeS$Xn^CldI0)L8u$7 zwkyl{*Wm=)qPV1)YH2AI?fwmc9~z;$<_x8>9Z2Yk>D9ZN?jZctT=#Ux9bsN8``G)< z$LiDNUW=PV+KAO7k|Oz%POAiC7SZn4Z{>D(6Rfi+mSa3PS4JXeDt=yi8SOrXU$^J0 z2-33JkHlw`)VlSOO(z9y26ctkg{7YM)T^q51{10rsP;XdN zo^5@{zme!d+{`=d;`D^$U~{(}fK1g8_oJbD=f3I*xDSF)OME0iOixM;-#Mrkb5(jI zem%?U{qvWlya4L2@x&vHBAKz)LJF+2igI)EHa?zbR|W5GoGx4@Xv&TTIv-lE6+XOj zot}k_G7q{adv!V^9rM8}9Rjn?053^ts}!26GEMlbFv~%Z6Yr?krP0N`XT^#zV~b?& zPUL6L6c&3@+cz7`zM~nxHpBgyx}rAtVRt2ve0+5dDR z@&`#kvFb3dGQB{&f@Ant@8fwz|x`IcA_xRk@AA|CX}giBAB|D<$rN`3{(A_XhCBSf!jjR zs`1AgUPX{y+*`5!wPUgS-V68&KRNNw)u`hQC$d+>!N;6@E_ZLL!;9V^DhI5E)#IHN zu`7TYfRNKSX=vJ2Ft#n^145bkTp7GMlwy^_uzmjB*6xTIE-YA6zX)jURLVcFqnt!F zWCw9`Kwbxbz#S|k%l5`< z=%R|#6$bT`y@nNOy6>Ypm=E8WzBs(kbS#W4JXs+-M~BODUlc}eR3l_O5jgZgkRZEnYty?!18}KxgmO+$+tEE3{KNNuhkx1Xw8uPuJN*d zoMi7CN6s~@w9j?W-_@>s3ziO!Rh;%EZPJEAQT%``lP)ax4QVH<=V5Q|+hA>wd)fPP z!Pdw9%d}jHgcp(20{b*br1~#E?boZUmHwPTthMjNU-K45-}13jHXVzcZCLrp6-nC` zNLevBje=vfX}ZG?eLnIImulH&WsPlUXtq{hA>SqxEngR&*3;tWN1|g*>G$7PI$dUk z&)CSl!iC$1>$y;RLW@fv8JNLbN z@0&mW&&*nHt?6o6(phTByWps#I<+@i|46v-gZXTwESSAwQG9d5Px`4@7?-;?n1c-3 zI&>V*P%%I?UhWz4QRWiYtirJRmAKeU{Kj#j@a_jGor-$rak-ZJqH#C2mHTIh;&Ns{ z`N#b6t(M_VtRLDeX%Sq#=bAsW$Yy3mSev7al`ti{3KKJ3b|A?$NZ34Qt7Qr?hC8G() zyRtu$*Zw%<&?lvEK+!2sn;LSbX0oe6Y^`ITKq&w6eN%YJ9AimXHKoeqFr$5P5DP`t z!9xU9JlDDOfpA!%#toud=tfWicJzrLW!%NSN*lF7-@PAMv|of*M4KMFv?A7z`lUBbIewb7DD-%>}99U08?(k29dkYSj%d&2mIrvqtAw8E`29shc z%x3VTwZM~Q_0F)Vt=3_tV^UpXZF%9&l7DHsDDFrhZ96ird$V(!b?jMRv%jj+=acn- z5b?LaeP4Ny{+S{e;PP+BSLt74030AY%cm|3RGgh=&_I6Knklr}c)~SsY*dgVC0v*{ zj#AD^choHGm$T$sKze%VZ#UZ&Yv-iRGhMhf62@zq_J zkCH5}8Tj*uARWtx+!xZWlE9nrgokIF#&Y8G+J0}jFSwC2OvRpOZP|!vK2EzeT>Of= zy`dGTcnaJ@N`^5)>k$)zAG{7PJtm0pSuaVpqSLf%U#5;Q<@X}{`D>Q~vK+WxyGMGU6`e)5r#Hm)Jo~B24)q0>QI$T^H%w!S9*i;9!zZL}YLv!I z*%FM8*~B8C13?B20Ot$rCRra8oM>-3V=daOZ89r%DqAuE@whzFlrgTlW|;_^;QURx zO%qk>m34K&m$+_IIvlIJD3^j0hFh1!O8Ly}V4|5~J)I|O7A|Zv-)V{si>Y)usM1>L zX=`VzA|(VIpNdhj9~y@|e8i9!RtaY7f-)Uu@Ts+kt#D;`DWaN5HDi8N)a4b@(U=zI za7uP6vn|_Tq-q$qC0GqiF>W^&KeMB4;Y!P$i?J;>Ou^IPd5LnBw96`J6NEVO+qKVd z3Vu>HP{A;HE0)*X&Le&tP1TpDuhuf;7;{y$kW2Tos-r&M{a6)r*lg(rz>Bwn(~M59 zy&;Ng5X543k0IBK)c;MdE)MlX=xQ!6<6@*~>O8|4uWJV7qCgGM>HJ}p%=`gDC~fL_ zUN)X6iNF6Mq%ktZ%RF67vX8M=t7buWnlf7RdR6n<;G@}3#cv5b3*&QZ-V%7`gq`3I z9i;kS;l#H*<#T)F<%uGP(F#ZfYVZ3VEzzwlP+^e?MR4Q@mA}+rbe)(EE;JFx(Ws=s z!ldgBd7LO(eH~giUz0dWkIq&q4<2jvxsL!DWqz^pl=qNDDSKLS%zP2%w_|VchA#%Iu4k5-kt6hbHBvZZ4TOIsgL369J>^gf_{nCN_%9;x;(JbQZ> zaal~+=G<a;S2^&NeZ4g+JeL=E?YpcBuE=b z-vxuVV9!6wIQ&ufQ1=(P)S+4;(#0r@n4nu4+68>>uV3tO!MrP{`kkp2&N?Al1p5>)x-G zG_s+X%X^_S#qqIljD4}}b)e}H$285}PP-<@)2GBx;pRp>T(|o@qpwFeF_VK;6p1?K zMKM7c!TqZALk@LJl6-mJ`Xz@EAu5uTk&qfEOkc}G%IY&$*L8jecFG)*Q6m@{Y1|+0 z`gCm4h%i)fSg|30FCC=c*0`{wA+&+4AyW}wP{reXW(@!;nz3Z}y%T?$m1UD{SL(A~ zZCALr2NxSpclx|zu2GLOC-{#~b`b8qGk{#j=GzJkfEdZc!>!)y;Dp%wC0;2^U}}DO znou16SW;_a%JenM(#8%BiBbcR$$Z|#+|pd=XgkWgrloLhG-6WuYb&aFrH(k#n79zW zENR*tCBhs)mIJ|DTKqVWzLuYlmO;XiRteFm2!i2Qmj~E#6!$ch7 znw<^Oru@f;00yuG@y|%+u>aJobl9x{NegBm_yvrl&UjW#0I7KGDdiIOHoe{m+_D)t zv^4nN_pL7{1Au4!qmvqZe=GFRyo(Gb82Fo1GWH??@XGJ|<6U=Tll~-Iz-JfmO-bPZ zfanrHk@NFxyLV|@6T;vlm}3uIpn8EScWLq%98CeZ;}6@wpL}E~KT{Ow1C7tTnZMKO zEdi>d&6q(!x$$^it>?QOU>=_#Bz2s{>Bkk83cvw79BeEo5}oEz=h^nd7+wfy28pRV zWD7wqsWv$AE=jMxBOPe6z^p}SJcgJ`ou7A1AFCw5^CGC4I_0D$a?ZmPBRNIm5cVhe z{TW7{_6TL{S7Z}qj^2RzZS-?l8K<~t81XwAyDD6K>|u(cRB&z77GCa(d?bBOv}#d? zhX+_g73ZRLs|U2x8d!wjM?<n6wpf_8m3*G(ES5C#B{nNqua&>q*{7wEC&e2cKdE=YbhdmqD05mPG4`8|pl zuzO|6z<Y|dY1nA#lXV*+WM!+-bL|AgGB5&nu zsoXJ=RX#>_`oFzLPeTscQOE&-PopPzbXbCHN0&jME~&TdQ6bqvHwxB7)qY$n(*)=6WO ztbR8u;Gf1zXBMbz1-$J8@1G84COVUo7`cZH&sPhRI*usLy~(Oq^HFhbbf1U5IH~Mw7C}Cu_)~}H zGxyg&yn*}rPn5KLnM4dC&D9Ie^w6(*miy4g10Bm!2GR-jwdG64^Gyn?&%%M8bS$~( znXaP_T{~2?Lpk{hSYbO|w?@B_m^UEYH%BLVymnBd2V(O#q6HdC`Sk$!ox)ol6cE9M zwgMJ1Mv9-DqX>Pc|h~1>%y3YO;|(^B800ZL)A9O z3q_^;FDY0a)*PhVp3a+&x7%u>5Y7ZdN-SXa18$of>9FFugQ} zyGpQg;9;P8QU4*0Ba7T84~)TaRJ0-FZlK99)qLOB0JB z&%0D(1y&;yR&}nd@w=R+2D{PEGFixZnDS&I?*^Y;s*L?lkXZdi6kanDc?hq+pq^@1 z`LB9pn87CJ1G~;4&ZeR1j{~!ad|w?pJLSuBr}>q)@Vs)qYBY*T||?Fy8#xTlxuw>t$WeiIV+X-HC%;*B8Bgt-K2Lo+ThA9oIMI|lK2V)>otQ$Lc$4kYAn zHlNN>w%U(TM9v)%4NwB}#qL);VlQ5+MP&fzGKE|0@~qcxoCZMr zH+w~`!O6U}Q;Nf`a)U*HC>~0n-b$C2G(U2Uzg3~X6#)Rh6{-_OYl_L3$T2Vz%JQ`z z=KMjKd$(yA(y^7daG!C{(Ai0q$B?I6hd(6q4I;jJ$o9vRB#JI+<9!X4i35kyXQUu4 zGc3zFELm$`&n5CtZLW0!6t07JN4SqIOC)Hm!~hwrr<8=a&`PihnA~Z+hoGyY*VYBk zPPR`mY3YG)7dif!%c&x!kL0G20K)zRyW-!@VzNo#&L+ugo>}8m2sOitkYr1SmqExZ zq61i`K6VQ}vp<%F<6#=g8pE{lv@5OkCgt5#?L=s?KWF<4EkPDbw4FWK9Z*cwfCaJ( z`+jz{>2l~KvF{LAJP&T@j8iN;)w@$(N@bb_1B0vs^IKC=#YnKSbcXLa`Yt7@iX-t0 z?wYr*?TB>73#O|(gVOFZz?c}75bxf%6cq!U0|QPpWCX68Ey#!Qcbdi6N4YlljXzJY zt08*sEfnb!e|jrntM2s_oU<@x9=Sb>lX)US zvW|FQE_pv7K2aFazYN3Zq~V>PP@fN<%-n7PX(IebtG|;;?ISlh9@V68Gt|V@ST21S11PPlIjEA``_6AI zu8Jg+&p;umtxdIkz=oy~Upf#?`uk1ecL>dxssqdQOm*ku0|(1qC^HF;ZQovYo9j;x zp>^#uAU&nl*0xGb^;T?q%_Ko65cr$}eC)gc1^};tEVm6kz?TW&i_rtfm;*!r*>u)U zq;Bc0k#OSKEH!OhneofG%DFz^DD;Ec++#V%tNik<~VSb*>5< znzXNb6rfVaAFvfV!*hBSWW75N8@kbqf4AG26G9Z+~p`qROzsL}p2s3QV3}Q&0L`La3vy2@(;OgzNa`F)QS&|wG zmwByPKC|7g$l`wK{}D;{{%g=>Lm{dYbU&(MH`{D2ZMfrI_oso(Pfp=H+{Mr2>S7L>%J&rrHt7ADVz}U5si6Ah|9~`e(;IR)p1F&#)I7s<*NvDT=OGDUD{p@$)3 z=`v-&x!~27SOk{Io4X+mt6Kl}H`~1+4NPX9FU%j#EI%;QcjpVm-O>7#5Yq4BjMD|W zEY=MDS=wE|I~l+22Ob6_)@-4TnYSy(X(%1=vmY1E4$-;6cwMEPLAJB>wbh#6BsM6H zpU#PL+ly%*OpV4>b77~L=k!A!rF9@^Nj}N4Sky5((IKWe3XA;_^Vw01FyCAB5;Uh) zPZZFXi;GHV#^mRQ%P`*Q=HA)<8P<|`X`k^$(jQgLC?V$~X5(xvG50BFt0b$N?$^et zZMmvmE0(Jh9`N2(#}F(F6m&+TDMpmrFI5+V#QWtm8PKepjsYKpGL}^OojWq$7JzWj ziE_Q|L9=j~YHAR4t+IV+eJZ}<%hD^|WJ!M%9pjl`u?l2 zBM1w#wEPyoBgssB+Zq6|Y5&S`w4b9g7Vvb=aC>|@LoZ+MQK?!l@JAr>pDZJ(y1+Fx zAw$$tpx%*$n^Fe=;YVxX{}&PE+R;UXLl<9vuu*UJBjGHwI`1N-)e2K@uFi?=4n$u^IRJfR^W~7kx^nU(~ILUoraWBOQNBDQ&zK^ z4bg@F2unq2D$uWtgmtQ}XHX%QQo3wulT}uNA9X~iT5pKg86$%qGjY)8+@fY=!HmyT zvfq4kHTo$Y$By}T{T>`Ksd%KbyiV#ZRGxwjCLW0%%RH6Mz^Fo3E zPIjq;4jWBrR`!{6=BaC+V?EpK_!0u&^2u4jmV9*nM=}rmhBO*8E*&}=-Xb!;2YLLA z;oR2-vo|mz(6c`8mRy}2%;jCJ;z0;pUPUz2?cC4ValD3c%(st7%$+#MY}`hH5?@a( zbb!>F3}uJTUO6xxxSkPA)bu#qi^koOm*0LL!R`Ihb&vg6!F+mLhGeQ!UZo#i@wqN0 z$*snmvCTnd0qL5Tm0)V*`A4|;tb~+AX=!0;O)eZ)2-WQKlmfC4LJBFE`N6L5Gr?T$ zWsiQzrxMHjSU1Z;{IaHkOu}`cQq?6SQ_C-bIJhK7RDOuX{PZcHw|rh>|B{O^~G1nHb-VKc##&p(3XiKr>=kZcC(^$!t+0v6Uo@?i*1@ zzUsmo+sd`KpW1E6N&S%Gnu&!hRpiv%KFKhBSvAjQFXj7cqT*yJJ3VinR^gGE)v z>{d#(;#ctXFte(vYgm0;qf;+?iiGC6EPd2?JiBW{q&0Kr!`#mwYPR-h)4abFXLyTv zFP97{_rl(yCHKiQT6}95QrgK28T)lg3DCTRA~{?O=FF;a6%6sDaq1`OYD@QwN(y!6 z5@Q%UBOn_I$VW+I|7=8Fj~W zrB-KS1-l&cZ}stwj(<8F55%S^eB1Q2k+UV~LOB9L9j};mxbznAIdtl&>jpFaPAQF3;9lpND z;FH60X7C20#9ZzQxSxINjJyLf-R89xA5oX-(E}q>eIks2S3Ko2MVxhQ% z)l%25=|`?o|85$S7hh|eI)d=WjM;|yD=RaHk!M#}w;G|fb+I~5Xlsc(J!1(o{G6D1 zMIn2qt?(Hy5*L2z6S_f;{d~tIo~f3N_8wiTOd7NDfld9KluX7CKX2+E24(d>?D&U# z$9BuhzDMsVN)x%+2mdo4U$hkM^Ye-_Y5(V(!LRScpy$qCWPBmU>4;zO??(4?-Sc|7 zi!Q;SL1g_LYI~tV)KQU0+>2YhpTx8V*uRaDngi>%jq{})N1XrWspXi6J~De89gj-oL){W;86Yb%KzmK?{gAiG z-UK5*83y}oFpm?$U8!Q`Yulln8bfd_X9gt4KkVNlTP_TbtSZg3Od6*#@;Z#3KGskq zKfkewA&S!Fzj`5fmr3t5`U`oZ8U(Pw@sY;!s)uY~525D46ot7lXV*ut&eJhG$iXz5 zx7c+qtk!oQCgmXS!f%f6b3p!8rHA+BT8=9Dk4g_u#q^EXxSt}PIj;pBnhp)w^)p9f z^GQ{@9c$h{&yjGj99oJzXQ=vDs%Xc}7-$tgm(#2Zu6jP({;_TRv`s-tKtc{I#G|R7 z%iMEO_ECarP?P9Aj>HN0VydE4F5=K{euAdm?=+|~$TK-*`TRrV^H`y`_-#c=mPi7( zYR-H8XGVE1LL5cR*XL0I+L!wo0~&P9x93|U+5>s;r!k{0QHUh5&gQG7mX{#-BvBH; zxYT>ou%K_hzkNd$=3Ws=dVT#CiJZp)=4?W1I=doq;1VtU6bbKT9L~<&ArvwWH3YVp z7bE9@lGhtb^t%9?AD6vi1W%XYU}xxv0*Q*Cl@0 ztO}?SXWmTNV*22wEXKST9sWbn=pm(J0_UDN;7N>m)3QXq7%K+rf}ItyY}yM7w>TAe z>2%IQ0>P|YPl3P+ExNfIFyzPEs+97}8!gBiyJmMp`Xbyz#a|wYP(L>tDh!A!dN!DH zuM5@Tb*d!Rg&P9g`mkCG7{U={BXEj*ImxPM_c~J&2PFSA>9%Fv=m1tQVnfZwAae>v6PGk;wmjYJi@A%`DE zH8yAE7%2D?4dR!B4aVQsVkPg2;Wajg{0ZqNArvfz%a*ojCn{|W9ZrrdjtUiJ4poj) zvmwD3hsA8P9*YpWN>3jQ)mh? zF(X!vA#!upF~mMmMpoL~@py0!*xdicKm7lO@PEWXFT%v%SZ2=78)h7Xyl@`+ryy%`{s4?tm~q zNqxv&JeoWDzc>=eC6dqeJvvO_^-jw@#H^jZ&-gw{H^mftD_j%$BR?jxRDhJ8bcZZ~ zNw1s>h`mU~e1WBb+A7#Yp%0nKDGr2($5ieH26RePZ%k}t?ca|81GWl8#duXfM)lmD z*H`J#=jT}X>W!~JV2PujaOljXH`=z=RL1OuLGvL~&CnFyfG*ssVleqi={N$7VpRaO8oT}@w<3f1mGAFU zYV0K@UXu9O0JEme+k`p9=uv?Snz}*7AXmbscbUwqiB^4~g)1r1{RYxu7Y>R)r7s%%`i_c4H}KOtJ}C?ku9Ie2o+&9AdV zhHI0IMLYYeS(eJ;uJ*XP_K|*AO5bb*{b`Kl1P8Z0A3ihm0#w@h%vdU>r>A3&xXxy? zad?cZGI6{;8`d(>{QAD6ls`4PqfpT;c|(G}A{|FLe`DL;0qxGcVaNVtI=FPln^*u* z(q<7xOoZ>;GsXB_>L3s~fCgdB1oyD8J$c;t-p{es+dEDuOxGUuL~cg9$iIer+= zA-An$M#yB56f);Y?A=dus47mV#@+)<+(rPql}fQz;sE8k zhE9IDiSL>1gQAQ5&7~%4b|J>G)WeQ^TDA&fqdqy-BdpQGU1-CMs4;Ts?E^85tGOyL z!CV*AXK@E-s^`e}w2@)o_R3;4dVRsn?lLJ91S4pq^+WqKaeW^BtfmV29YZ~e$A@z} z9NF+0Yh!B+{l4{`7}wyp;f$}9eHAx1xAX(VL?bjS03fTHNETsZP7A=mVkj9*$6B8m z9(=mY&wG$FCNLgTj0&@h&KMSZHF-s>gre!yA4*2)H^2(Ev}?|WT1lplna*bW@{I+a z7GZL4FNNBX3d#E*astl9TE1_$oC_pLXL@7d30;|Y$>n!t2-LKx|LPr`d$Y5%=VO_}UmuB32FG!tBo9?^X7So9A; z9F&cA2sooWO|7ki@VNnNr>Y>C@{Z!~1mP@2SYZ8C7wmPcR zpL_5<7`5*Wj|>9p2ge^V^R7Q+K>5$H-mHe)kX>u3m15i#40J^_lL$PHA*%1O+GKX{ z;+V>4=AXrX3GROKr-Oecar)|OZE=8#7&4A*(_()@_px1pQ!#{<9bHC|fk-7?>Sw&B zXEwmY2!lXz)o;QGIlY5b-M|+nSmR^ADlFk-!H-hw=E~7g^*#3_YaOk?3-pFu&K>OkMU9z%x?WEBJL#7r^#77(zQ*(9F-k8O*t9~9_jow&$B2ucZZPWI?-pbi{OG~eog0mUccp>Gjyyy zII|t18n{8r_G(o9sMy0IX77K6*1Dil>S4p>@6EdU23z1i#F)`40JIBybt{bLh}pfa z%WmJ}uNXOv>nPzgJ}E#PlJCzU2DcMFA5!$yeQc46<@MDif$!Bo3Y4R(zOZS|M^tN_ zWU^RZ`&A@IsmIPr=V!*sFbW}Xjw3S>W zDuq|-GtaPgB5s=(IJjB97;n&)>q>0>9fo>6L>&xZ79O!23q9A+0!BRF>uzPebb6tA ztJWA>wxoe$)*RcN3(b9Z^?+O>1=rFb8X`UyiwSE6+!1F6!VO|xXJOtO1wxzQ)}BJr z=YVh_-%zwF%J=>;&X8K{xNj;@b?m zxnF3=bg7;S;bOvwz80vs__)Jz|70<$@^%{H5|RE|KEzrhkH)%?fraA&C5l{#EQ($o z$LE=*$^g(VhM(7_6r{j^uCamS8WcjW@XOCKn>lwYhRN>rQ!a;CfQs7U=!a6we?FNj z(`sCr&jTkjc3%o*payqju#l1 zaLAWSXpTme?a+k1^N$+X7C=LZ5=irCKM`h)ctrUm0P<rp37^ThaD%j0%r$yK@AWBx*AtBT| zrKA^oROXK;`#-gaJuy$kbn|Va8ymAaFjuivY0G-%XJzi`4h<%_zzql+s|NC$IqgTl z5c}K+OFnL9l{GOfutF!E5!Bk~}r2R#SpTU8-=yr>H5oOl-4nfj5OFUrLIM)~snqyGnvqLFL)q2^D{ zg>x1kJThMw&V~i}zo}_2AE%L@$B#7AiSn|A@}hYNfDL?6>ze|$&rN*~REz#D5?*Z5 zsMLLrIy=F>C6b|hKkbb&F>WL|A$UB?ey^na%J^C1bfL+Vou!NIFN(+Rx&_q@ z-M*e%@HyIMeM!G-S-k}sB@8W??%j&hhU6xg=Edw?{>RH^nhJtcRQ++@aBZ7~r43(& zGCsv5{h2SHYM}*Z{`;Qbg!}WiXQq8Zc~BX{%hbh5KGrd%gM6ww@E%$uoMNaDwsj^~Pke%q zgoDT!;elV6(g?5=+Rbx<(MUZdr;>NM#`S@$kbzG$En>JUl+UV2J(jJPx}vzEmP)R{ ztbwflPS7TlUlzc7L>aCmd0-)$$c=KvaN#Pp8UtDF`-Nvf$M^duK$~#3Lv?~Kc6=ev z11sVB0Dv}`Z6g?g3Lyg*oI>hJgL-&B^QUTC9Mmu!Fu@6=o`}SlSBM_R9&nh5hXCLq#E#n=Hh+Zd_zPZHIUb-nF~@{_y9KiN_!2hwlkN7{$`!XQL8 zLWt2(b=8T*ymq$vj)1bix<OC}Q_L|`$(Y{5)pJ8I zNqXJD6+>=^4b4U?fB153u#?e*&y)C7og6O)8x#(tpwm*o*LSfrBZE~2wej2sX^HRwa#HtO&Nz|=#WktOtZ1vT%E%4p>L`-gtJ;b ztWnLB;*S}3*VR*T1Bd*|k!Dr-&Y+?nm`L@bd_~9&3%f*d4VV66qCh`{_X4FyskONc zxLXjkMa-8~48YEUQ9=rz9zr#P?((Mf{^eoM;&5>!30`K@oBk{;zF+sVwXy z)p(8wRu?^mZzoCl{sj5T?PmgiwrH~gxcNjTk2SA?K5&MggZJcm`Vak~rNVts-grpC zCsg?$HqVHH$};ac$Cy5Ff^LJ*i6w_CJ!L$vzBisRBr>u>1;>MrktpL8Kn2i5g6+kg z9{iL$BoC00IE{tQeF*tdVKue6Stgffm>lZsvlHV_Pb@kXJPCbVV)GR%Xb=Mh;Z519@2mTfLbir zySe@cl?nb}bX3CpDvAsCPZ_^gGD{kxh!TnqNv9#EgpdAq4k?GS)W$i}E3J zgl8TVwDD&xU@iAEJ;sv`$zj8M)ZU?WLe{+_EJZwwj)k3IQ4MCTif)1N=S84IC70}F zd@d=Qe+g6z>?P2fU?qoUcfj$j;lTUn<;3~6-!Im&1uI1Y%dG&?hmU7EygW{UG|@Ha z;fN{ejbz!&Psr)xi&%1b2UibP^5*uGL~yG;KH9m?vd)g+c#6uhYkc)*ym1J?+Q0a- zHN*lJ&0NEm^D2oKhRY}Jm??qGZ!5S98wJnETcky$g<99OR?ikr-6P_xXpL0Fy%pVU z{YExj|2GFBHQ+bFL8Wg*IeYTo-#W>g$r?pqBRRmRJ<^+g{Ke|~GGRxj_U&oBj)~Q{ z;e)xXk@5*4lHao#sxTMC#I2o{zYR5QvMGPs9{eer~_ZW zA@(SPdbNM+nbDERXcP*p#NRvHKYF{f0q~U@Z%_M1s+FyVC69T}*Tv_eWwEhq;suBP zQj$yp35~}QCHOv(jn+;T7?zruyqPJYbFiV-VV22%G^1l`Y9S5Oyf^pGGVLercikClfyiJ z(EVNlE((c;I zNm>UccB81};X0hySn+msu_qX!Skdb@u)NZrJsy!+RQ@rmc=aDBKn!!}fOo2_|Kz^u zdq;r|0P&yw@30>K@2W3=P!!{xn4nDTkuU^QYyDMUc+>WQy9Q6g>1qe;1!0;H)Ab03 zVwz-&M;TsYs&?6BlLwCoN>v8-viCvUjd_)Ynn06hM}5m5^QK>DW*^7Xm~UcZ64zLo3?k>SDU|#pdgO7f8)*m%lb+P;?4eV#%QLI z4or|hvAFt*2XnY>%b5$qgV8HKt`Nt`l~mnKcK7EQATP4jFn%|dq2@LsCqqW{f^-!(N3fiT!@ zp8P;;LQ za!k-^>1#RgAMjDNVYKzag!d)KBc$FE@NZwA_3T0LpERCKm|Es*0-pgA&5beJoH{A{?jKV9ha`Sc*{k?|! zKm4RAAr3qO`}aSa23do3{9k3iikoR*jt6+zIOj2_yQiB*Tirg~IifwR?gRi%OeNRBDQG`xgU78suLu{Eoa5 zq^%7A7ytlTpdHZX{Vn=3Xw72Kg#}{4%}prazV8s(M23o`Y-l-u1@oYdqAW!+9EUM- zWdni%S~u35#>FHhK`dMv=fn}Ta1a{24R(Kg47H7I>QkqW9!2 zu=>jqZS;HOwZr}5R#}}&R_u|jxXGGlhB>4owpqKy+T}#A z9qya&*Mf6)mh&+4EAm{NH!*+6XRdD(KL4DlU!r+_26~hoj)s{_)a5Nr+FEjRW=$#Q z=SfqfZkp0!QPrg>NKI)|`c#E*V7#~SI}pNoFhIgzudimd;a<9O9HynI~Rjr-p+V5N;8f8xk;wLIUcQk|t_Lb-Zt$er|h$mSsZ z`1=tTC#a1}6oGV9wtt#E{c5YBZc})6`5EBPmGuwI1Q|$UVMQGH)||7JJLoTng+I)& z>q=?yqs=x_EWZx^N%#kE=L-lWsO;ST7P{QO(C@sX*Ahj4XDzp*i<$3+wwZQ%j0-)XzVd=3-BpH%UM()95APGqxC3|iF40zYjq2ehr zCztoY01@{8NBPVCw4>oOr@98rECD~bd5+}0xA;vOVfBh4)hTuQj1N+3rIz$q3WYyP z)z6E>FKy{DzZQwta(Nj}`VM%V$}9)f!x%od))-v1-%0VzAX(YB!4>5n^Nrox?`9nO zAEn9zmu;BU@=7PwE$KP2GT_HP)6OcFP`Ex7; za+?E#R$0w5`+^QQ#c3cY1Jqo}()8wD(** z8~5wlUwofo`gz1v@$sbi>CZ&+=$g8)fZt8nt4P+h)#JSCaE28Uzt`n@Xq^?n*+!%zAy$!IOupH>dzw8_X|vAxDm zQ_)T zz++Djc1OyP@5H-@*Md@DXas8v51j0%Dify9AoSqu!najMRCgSGvlDy(T6b6Jo9sUVQ4AvQB^PP;hk1g1XLOs}cTI_8Kdo-zqWAL4${IE{ik_-O%B z28Iiy@_2@szXV;EQ2^Kf3A1g#g_{^FL+7^%E~^v%62>Fkd({7g146XX0yOb%X z#~DPs5?5U@0{SdX%UHuccg8TO5a=Xbh_v1qR#7lhRPZv*dKpZn3IJJrFqZKugLEne zy(8iNfWbL0dDJ#qH$H>?(W{BM`RN^MDr-G#dV2kKhP1`!i&^{134Hu0HJF;4y;}g7B*|CsVzG_-Rx_Gx6Uyt${%VkLY%xGx%Ux^ zoJeI55j9@ZV0w zdSREIC*gnmt2}s#zqqFzjhSeAl*}wMhL(d9+I>#ERF^12MplekuZ~^LUk)d(#&kJY))aoAYL`s_H zoB&o5L}ua8LawG@_%8|+a&hJ}e^AcRd|lT!xO-(Ar$y_5hSMMT9X$x`-%`cU0|QAC z*t#8lepGc`1E8W@l1Bglfyqln;57(?+<PJmhcw-`b z<3srOuf2%qYwU7Bg8~vD0!KlC@2iDU6@lv|c-oOe2~n37aThijEEw6nE{1pD7$+o| zEUmR{Njp_HU(`yYlkIt@+tZwbq&(nPBBjk01YJAMPJ_!1KdSZ`LK?NQsCw7p9|RBLZ1`5(xZm zX>slslVG*m+@Sf<#_U}-r^E4`~s@NUtOMdfnz%&-K%9;yDZlV=`j2Pr#K2PlYJs-NvS@iMw8)uX&lWX8BhW& z*aITLL{B+y#h@tg|6xVa9fx;;do~m%@N+B9wwZ$9?udoILAGm1m1|eDgkHyS1TaWJ^sHRm)f~uBYuulw-AEg zvTF0?yl@qgpqW;%(DCWK%-2EAA7Rb`CzPZJrRL)!Ohux(LlWnfn=HvD)388oCcAOU z4U%U81%GxCn4l_jMdIFCLZbPfaH}3_jqpW<-NuzKO=r0d(^3g2EDC9T*)_ufZ3 ztciI%w%zK*qYuxh(b7u<`^7S^d0P5cw2|q5h!x?k6x=k0kfz!HK%^b{oxzuOWq!zv+!d}+|I<0!z z`{G$ZHR0rG1pW$on+4CvJ^hUvHQ}#NZ|b@(L$i}L->5hqN3gHNvXhmb@(MRb9R+%`a6vtBNLB69Z=2eG-CzfG5^NY*p z;@R;x$84GgPWy4MQX%+Tt z&CkeNeK{KZU7fjg^;}T&t2U6&)XMc%@;+lV&%T+5JlRNmyRDr1(5d^cmJGzVzc|DF zA6l1&C9%0y9$w3;hNI#sJud`KXfdWD@O1*>YXHRxusN7p?kU0R&G9ma`Io_ozK>mx zt4EWELd$2>Y4=(QXYFXkU`wgn0fH-nk`%51Zr+jh12EfZszSvhNQZR1jU#Bf;JhqQ zW2qEX)7Cj}GxcXDc7i*Wyz2=(S@M)n@1MTayjrR~oYG^FX`9_8dW=X7yB!FuFeaV<@^!{F}j4#71@aCdiiCuq>%PH=(+ch^904Nh=(C&Are?vV4n z_q^Y|n+?yN9)3(ub#+y*u3pRehFI62+Eo+_5qfN=NpE7X#1tnrPhmPhtr~lThKnIF zP=;^kBsYfEeIY3?t*RlbTiI{;7E?ZWvIeD?6ut=HkbASeH*1btXevETHnDHvDkGAu zmgwF~ty40xSC^~cp3dh!+eTrYJ9UA5exmZ`Se$~`Y9dhOh=L}eFCq1qs;sE-eJx$2 z1BlTJh5|Th`tc$a#5Lzd1klCY^R8HF%i2n^^(m5A0pyhC_pym4PP2RDlDa^;<%^SMbScqUA^NdkS7_W^i@w;ECKQ?=aEDqYRUvktwUyxAB08 z1R8mth(t8Fk<8rTD0yb>N2n%H{@^(c^23E4Ed+DGK@7y0Bo5h)x!y+s507CX^xI|o zc+wpvuU$Foh2Y{b{n6%0TYMv~nNw>fV;3nqh-BCqE?gtJ1_IY`-$D7y{F zX?GF=xL8>Q%w!x8KI?7^gTn`P#3DZ%Xoli)kq12a({ux3vav0O0I^H>E}gd0!R0Lh zoTV9vM9ZGi#$m%`TdQK9;6F>lNFA96vyLr}1Y~xUYslZpj22)rFN`FxMpsC%=vV8c8r%iD*#gOjA&aRXlQ>&01k-nVMu&53f`6FrZXy#x z#P>v-`0@}FejtSr2biC4v+5e)-9b|RS=l6zTnPFowh=$`a0JOp4KnoZq2H^{0uf-| zzBe|90Xe!7%o#vE{8&p>;c_Rk*t}#dS32=vGk{=z|45+n#NGJG$(K*}AQ(ZvdJUnv z>}$-g$#$T={z^oXw{+Fsl#2n|zrJhK_ZLNqhx?m*fk8uXE#}0(xt9mH9bAjaf#%Ws zwvyJH=)(JX9v+yxcIY4oOJrIOg=sAT)i~K#*f-CGx%1>_vyE)s5)4lBR zc29E)-*T0AHBLZImMpoGoaU@8#M7wh#5BU_Z$Wt8lZgkwb;J+C)P_TfLSaP8Vw5pp zOq&n_90)f-HDWS3l%~LQyWudw_`s&TetARyB=^zoRuS3C(01JizNMzd5(mz)u`$ol z)jzCQ>!8mByr8-B1(p>5ha~Jb$)JFy`V$oiDVJjv+Me+$*g&%Br>+kTx9eFr%WQ#4 z_g)}U3^49-e!Q%y2j=b^wn){#_*zio>m2&BA)syLJlr|`IT+@emzpLDtPyo=jAFF* zlV6E)bt#=|-P2=z(xIsGBwM92P_h>f^C6K5tu6T@zq{t=Tgjg)1hqPCnwN!1d$U-sgbSfK z`X`2V&3v2=V=**VxXn@vt_#q{4>5GS{a4?$OQQS59XP571+_kq0Y+Iq2$tUH+M#ve zyg=%L03S(rojo!gf(1%k(Z|$Kp_6y2`H#FvGvKhni(-97gR1E{mN5M>8VoU-gUS+i z^LO@`&HFSm$UoLN!wQWX*=0H~Xv(ze<#FJV_c+a$Pj2Ddl`9q@7qy|A9ozFfNt-fd z73CH8O=XtenV+2KPG)LCdy^@OIolqF@HLT_xbwKUFg2qnZxYn%_4Dug5!g-=tLG{p z5_w25-%_QN$*YPT(TA`3ie=rg2@Uh%;UYyLoJ=-j$p#Ipr1QqvY-RphldydU{OuS< z$jWP;i1@qQy7?oY4uE+Q=|Ot)2W%Tf)pG8g)~avYuXaqm`gF8=@0Mm=Xnj9wWj%S` z9!C)cOH0Zvgx~d-&M@b_pEAxbS2b$bZ&o)u$UoWHdsX z{9eb;(g0@noPb9j%K2%;X{ZZ$wN*M_C0oMCU=X04oQAd^R9N`w!&}ksIAQCf&q}^` zT{+3g905c9gI;6DL}nBRmfxSDdj9ypp0gae=o zvSyl0HnV+GJBx93D;KyQMdQ31Hwsw0M}`S;dHi3t(QV;HKVB-^a zRjWVG>#NUvdB}Vf!KTYtIsE4{`&K0VTW%{R*@pMmr-R<_jTWwf%x!msad|&T1vBOm zH&q8Za0FAL5a+Jubg}+j;&g?1Y_4Vf_YwsJdddAZ@GfV~EmA+9aBy-uCbhf&mzbj> z$RYJC(M?d)-_Kp`=h-xiaN>ODMP#AQqyBV=nGAL_RaU5g%;*W);Q#o+TH$)mHP} zB=Ap2WQm4$j2I?O_Iwz0@zoz5)-0#rrl_Kl(~`YPjU~)lAB62jPT^rCY2T|HYni}4 zl95K|Q@D1E*BR{=_o94Jbj)9@38y?mv9b56s%6keaTo9;UmvIt`)!;GKMD1jMHqAT z^h^ALo6>G0PPN9OJB~|ZZz}@1;g9KRI{k|H1>JLvMeK=i24ShZ_qj@##@>gfh3=iG z;kmZceC!$1`=XL+%lfP7X3isLQSpH>UwwmBe0FY<`-naR2BnXD_XxU6J0Q33T_8xcx^wTl_#Q@FEu~*z4!JeRTj%`I-Hetad1#!7;bEIw<`_YS8%pXME+$@ zb;42{RQaxcY6ekjxjtccY0~$9-gwwyOZ4S1sGYC4INr-R6RVQi2o0hM8Rz^#6GHKe zzi-wj^)#|9_n2?U?p@KTUQ1-Y<<{)3g@WEGAA%aK#e#_8%nZcr_jJHa^ip=0;Ci@P zY5|RKQ)xA%dGuivKc$JKg0qzTNqY*mBnws3!fk%svHH39HL%`(#EXgH%WJ?Fl*?X% z017Dmqdb0~;?h%q8>@O?QKU@w^iL|sF$3D}a*vQNABc*HAQu9L$)jKjJ0-g5DT6qh z@&oPAP}CG%&3Ct0_wbqr`b@x6&h&t+UXrVOe8VV7YkVusNAqdPp#XYVWaAN$o$)k^ zoL1^6d3So@!*VnPwRJFkZfEE$mkCp=i`Zc~>s%4Qpmaz*6MTA6>#5ea_QVzuCI4p_e6p-v*8S#=edxCZ3K;)FR-zmGzpUEPCyHa=4 zWk5EMs{+26s4+v-NbegrFjZg%A5p>GdT&LS--y2mdsFomKXvlk++DE+fO%O%Z&m^u z)+npyp6tK<=pRhz8TM~p!t^&U$p>$3fUmdRtsQVX7~!Wwv+6Bva-asMO^>j7QNJQK zPuqh-oxoc)6nnjPFFza&j0f6e2NUcW<{F3}tVH1oh2f4@_v9u(>=6J7KXX&R7aBRN z+0cdO7K+w;pgAB!T_2sR52@ufvkNzfj6&xO(-i*pE{uru;4EzDSoV7tp?MqSRY<() zXYL{2?D&TdV>8ixY&I|2wJzqg3Mj@C!=rLS$grAFBe0j8~0>y!rsZ54sk22 z0rMXMxuIH34>XC-{JEyaYZEh3C@!{e?=NBB$dZJA(kl|L*! z7i)Rjtj5O+3tv?Vf+YO0Oj~~VIH~vnaTFn)aPnfdmd?j>q}epQTm|ERK|tJ;KPXQn z4bl5LfSeebKb+&ke@~W>H^~2vff5i1dJN|mEA8!uPZTQs4*7!V!xq@MZ8U)}xQ zXtHy1n9g7B!j(^3cF~am@j*#OYM^MM#C4GBYZhu5qrNIn;YQJ?Wv)N^_h}60Vq<1S zGHurKYl5TBCeweo*(}mpWs>L%5WVjzk1C(ejy^FrNw!wcDZt8=&Yf<0j+L3BXw_Mb zJw*OdTJ#;6UaE^D^fv2KaN45^=N)fFB^~d7r@xYn{$T7}g`G-@R@ zT1-{omw6N%U3Kfjqq^LX;VJ0XS#=tE%=hfYeb#A2Gk~?U5z#nV(#e5pYvwN~%f?^( zc=(rbaGQ$@v6rgXE<|UUd&zl>Ck;$czKWSZnp@M{#_6V|6I3+8$1?#Dg<+~pfcn_j z4SH?O5SVl#gaKJ3RikWctOEtNs&1IEh^@rT#f?B3ehgiv@MS_QbQPRd4DAy4!Lp>sX(eqSB!5z#OZ< zR$~@I(`iUTCL44M7zQU6-!(I~lCm;$F$b5q2+J=nQ+5rxutxCHpCzsrA{A&!h9^6h zSR3H!{o191PR8u(o-=mC%aR)>&LvFkfN{3ji>NZT#gbW0ffP-Ao?@ay=${5grQ|F7 z>xJ|(kRTX*fl$jk@3|lzP(V@1GsZWlBIV^Z8W&bT5ie@bkCABh#<5>pW}xG-brz zUkO64e{Xh4?=-0mCM$+42tepv+gUL3{miwyTCa|#Hj};69ZV*->Er**R&1;|p?k&$ zOR^(=3~5B!^2gN6I=N}nd(4m(7S{9wn}1%iTv_lz;vKH^12kht{KJ~_7v%lTW{-2~ zHlkba1>(l+a4LPD)QcfpIjwi*H_;}?=me8k?6JCt3aIW)(DK<-WoB$*RWdG&pJZA# z$;)uVM7MH_MbxYZPPPtn)g!PyIWdh}FEXA#*av^^HvQsU$C}?gDZdazlvIHIJh>ZQ z{iWh+QTt1B9*R7%8nnaWw6Ua#Cf?0ta<1YeiVXhY8r!Wlxm{{%ywL^~}r>?)1L4`pD7H4ngt(Xb2fX*Go6~sLy4Pv&QWhKGR+VgvJvzwd-V*!iJ@g z%BR34?-^=mW`i}W%G)%*o@P#MG=MKpQImHCG6mV_xR`@@=R@r~=YAYk1h>lvV8YtL~+?=9bt@H$`1*YW$~1(~NjK-NNk%ni0Xrv-b55JDGz zl=9w3v-U1{$CUe-anW*6_|8O^N1@9GDm^5#Rgw2bYN)&sWNKAIi}<=#r<{>Po$f~i z1pRX2tr3r%OYAApK)F)($VvowE+$O|)tLW+8S!BLViO@?j$`n?5dGgA!1-Tn!XDht zaxO`PR`Pe3e{%!L^uAYQJbjIr@C%`gE$1#NIotVVCVn4S5>~3g<3-E0%J+H7YW-

%sU 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≦;wFmwXmOul?Wp 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 `=Su0#s&Wrpn46ZV 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

q;lZ zv&a2o_RZC8ihsEZs)rk&JxR5_t;&@?Fu>6TB$zcp^#m%;<&N#`fO zw9w{X|FBCf%;SF0d@?a+)b-jTMX0hCrm^+TKL#AoyIV+`qXEwQE7ofF*VpcB5ek}R zs1@+5tn?%8y>X=c30rM0&b>N~_m}C}*IaYHm?vngDc@jUqZ*{FHMJi-b4HhzmYR8L z8#`skXnu;hAU$@TaaR-HaHKgXY}I^<)d66Q)koDgW>)mBy+;K(oJOMfbLrQykih_3 z#6hdzlb6GbyB@ezW=)nZj~__gttO^9aX0HPJTCV%)XAcJ@;l3kAwzQ6+nnp~ph40X z*?%VZg!kd6QzTi{zT{p1p-M8}SUL?c?eG{PtI?zVA4|s%1Ae^%Pi}EDh10)=$$a{> z^3p>Cv*$65s?6?*-#4HggNDvdE$FQVO^^4*uSGBLe>bm z`unRl7cBZmOYRa@Q69klDC&%w<tqet^1Py|c>JhjV&I?gq2tEA~U=^={gGU)T1&Lg6B% z6PexfQg=$)u!%Q^CYOX=3tA}r4*6$S7$pl$)nAqJ<kO!U>-&Nsh^~W)h})=`W9HYUtt&VHV*`SolJpo=aTzKjqzC z+x_itdGi*HxByS8oO7ZK9P@&bOI%YHR})~ta*f5#GNJ;NtDcGnev**n#qFK38r}D= zn`4xYON-Nziw5W2ngFzX#f@#O$j*by3t*{f155+NgdXOuUxU zL?lZ|gL{)qD^xRyA1=Ie!UXq}II^G16vnH<3 zXHo{-mn0p}5ty?oTHX{$>vx*16iPzl!?m}z*q#|dutxq`)1{R9tkyZ)n2!X&bt~23 zPXgz4Nn-rJmM$O2i-qD9K>5Oa;auzc)mqy6$@1~n?>zxb? z%eT9Ikn|t}kxm9gzAkP{cwb(S(>IK(aO+fP@(!83sApLZ3_#oP_OlZ{&)|HU|K@e- zpv@O`AHd?-feKFa3;_v#Y|ek)dVd*Je*szQ_Uay${Q??ugd!uH`RxCEcBPeg@g(K0 zo7eR^Cx6h;Oqw&MgEnoa*lGU6@|y$)Ag0lQnQ|7$dZxPl^p@)9fpF2og${QMe*}*1 zT~W=#M>H|ytrGw2uY8Xb0b;HEXs>wH+0YyjO6&4?o7FMc#$~Ld%*DK4I8MRcjz)Vk z0VOPpNERV5Cq?^Y=+|q0oI3f|-P7^!MekXP zrM|h=4y7tYheBxKAPFT;z1SecWEi)sn@pb%B3nf@X_E>s;>U>kwmp&H=c%)?N_rFPp#UMJ|?5J4Ia_|pFbN`-ZuU2B5flKVxs zEbc@bk!$D~Q36`D)huK(hJXAiaEJ>y&Bx8~9+%%wfsCN=q)$v18QWtgbhi&Qm75To zgm*b>J*HErZo(B;@LFUxjc@y{QjL0*%4+)lQ@5{C(xZPDBDCA{!QRUVyHU~H?;Y?Y zjh{;4Xz%j3=(H;M+P4-Ir^;|nmp%6ChW|sZMq!v z!aVC3>WCEDni$$wuK6v5q_ZWB*6cQ}+GW-T8l;#=zsh^^S-XtFQ%mLd<`Pe{P&-66m<%O!(3AlJX3Do%aK zA&6GyyeJfT(y}WyL!FgxdEVu_nv2~%IC{X%0h^*zc!?aIf6sA^Z}C*_@oV%o3?jH+ zGc$+Ai@P@-?lrgx{~}7YYfvu!o(sa74+2xjPp%;q#;*Jl#u@_ZDOx}50Y+wY{qxz+ zl}0yrr`Tr`{->+^R7>EX)$?#5K~r@@!jKno7(nBQ{R$by2t>RQtKWN35F};w0n%*K{G3@z)kmtoHahpY-wI4R}nkIxwMKi+FbLNzSiFx$KgUGHYDFh=ca^ zPe)z^hP2QO1yt0cdtCda#?J;B7TsLkZlAJ=LkF?ndsUxIM@c@gmRf!n;-7~?7Tx2& z(m+#cTMGzJjzS1l%8D$%Y{Ahfg7Sk;P8?fl|2bl0g$bOReq4`ps- zF-WW)P{fQp=yDiX=bTVIW3$mArd8~r=o}>>J%!X{SU6Lb8R5+7Ny1{yJCf2Mr?jqm zweR9_l-MHdp4b&q9X{pCoa7z^(6sDq(Lxc5c5MbYj0&8h8yDQ@x|B6;2#%}n2{t=9 zQbrKC>>B=sz0Xxv&|JaRz@*1n^H8}1a}e4-@(Tg_)IMzKxHIzv18i*NVm+%p!WWoz z>W_Kv2BL3U;#XPq{i>beE7FIkqYlEXwi!>EdioVXA&2N9J zFaM_Zl@LEYH5c@5!f~`CnqJt8cViZ+d_0X z=m~2(A~P4d5*&6?(;aU5zU+NanaPs@plQeWHGxGsZh1I-ih#VXC`aPI*{y-$3xaVz zR!wQJpILT*TWFGHve_pn?KY=0JV7tVotEe(MuTQ+s`*(qWyDbXKL%PdsT9#i^tD4> zZgR9r5PWaw?(;wdxBObdS0L=VQl$J_0a3SXZ#-IHB1zsY@m?`Yf~qT_(9(~wy!88@ zIm7ca0j6#6k)jUNRP|JfWeQL%%<>0{3CnRYcDH0Vk)Lng#(p{|Wg6W5>(k?L)y~)5 zVnl*ISQjFV$%2h?v=hJV`V4h_v6Uz!jMY_8f)3U?{e@wBTLMYS+K{e1qOvz_pfnPG zQ9mTEr)sO;QbQMnRhM#*r<-F;|NI3RCup&69y#RbLXBYeey>T^U;@MRQ|!=DUM_J4 zd70r^bfw^?I=SW!%E35$&I6>79IpT`xJM$-ZF=2zyDqSA!HFNELyXzd=41WOe*=?G7m8-nrCU8;opbfjxMiSNG<1fBMK2$Loy}FnpSJHu^ zC2s6xiD(n6_|xO(id==#ubfOgaEgAqoH${YPo>gDSe}<-55Ke8gW@>(QihK*++L9}(hPkeLX>0W9>G79pP@qCW8(@~BeoqK~0m zv;5Ttal?hWEZ&n=8?RY1YZa<>Mc9%x%D$G%6OkV_i8KJU~?HP57hnhsZq( zm+uUYu&VYmhXy_5ywi$6Ieg)z_3k##J}AONo1w(^-3{@TbqEvKQndz`1qf7*bJ1k) zz%Xw0THslRh{U`8)GL5m=f;^4`Z0IN6^9{OOCYtOWTXW(>7`W!`Fw_7KlYN3hZ*0K%)^pmBUFWFOTd2?LB- zecx#d6qF%ayPQ3WC~at#a#}f_WE}v`70A7e%2CWLwVn<4Rtd7*1=?#3p&J?VhFHC4 zNIr-x&3mwI=Gp``O)~C|;n@Rbj0h(B7cg~rpKz?nXdnNCHg&UQ2nsoj76n)UyW}5+ z3zxk_RZOa?lI&|!anP#FP$+w}BORfXWit3CsTU$=tPr~70EU3mXbO0&iC-uoRPb2u zzYbiK?00r%^%@DoDX|(b61&KXJa~mT3+VqnYtsJDaD@LidN%(*Mk!y9W8%nQT0;=e zr=c-U1nVM=l6g&I;wWWSC;E?O%)tLeT9N%XX;uEekyhdk{VYF0BoDrH(OPqzCddg$ za-Y3_#jgRYI`J~z)wnqa>T19&r8%2$(=RW%|1Ae_sPL^T_%;%(4PV$m=}N)zT@D=< z&BERD)VHUNf!jA9#kkv^t*nQK^0LyraPWAUVw2v2Fdh};>vw!RIp_HVrL+ebUk>=E zLl>69*iPLk^w5#g)IWpUCSS&e-4#DWZy#*wqLG7Lp}+3Fsuza#s#m{hrp~ATwdurmjQN^?vpsYS2;uBOLI1C}F1YYIhQO!(D zMibJE%;wgB!PL@g93WA)s3!zOhStEd{vr^fnTfgjDvl3M z*>;cxzWFw+jm-FpTM@Fy50td6eP`e9I9u)cj(L9fwV*nNhiP&QnXoF3{>kudtc_eT zRrzW!bZ^gFqMPl$-_bpUBF*Zctz#Nat>OGSEK?{^VokLiIj{1_l@rGlAif17ctr?_ zBNA4)pP!&kWKADzCb#_Z6?37v-r!GG$3E|?{V#6IdYWT##7TDW&ez~6;n3b{{b;Rw z<#SkuqUl0MnDc51E>M|Xw$SkUaV6TiV3k-ZaSu3-FUluluhtw3nZ7;R(gV z3q}kdpYv2rXOkXfn%dknNlhEPZU3zlWFqYY zk2<0pV`njAat1ez4=R~8iwCh{>qUphV2+1(A+RbJ!))g7sz|6r#*bRxY3q%{`|}mM z!s0+AuB^Gpt$)SZj?S{fAeTF{?TdoMPrUxf)kJJSxyHh>F4Gj$AH79#VPI`q^+1SU z(eRFX;0K3mbOQO(+zPLJo~Fwd{TT>7uz_)xZud@M|=gToG!- zb25_o(`iFDuA*Cav7%ZR5QWL72^)ZPN2%=1Iy2;hwb+Eo`rbN)?5}p&zyPvK?@*< z@i;Fp*(7d7k1;gIWx6&|jqwo?<|r!d`H>FhD5v?Mr8YDJ#X=}%68#^(b@ycC^IC1R zT1RvAl`W)CU=s<>N>)QxFllT^m^`k-nsSsDf_+9W)%H1@rz?s~#jcnV#xGi80f~qN zwO8?09fx!m8u&j@9Q>+JzAi~L6q|F)ZFi(cG zd&ju0!mW@lPn9#P?!4#56rC%Eaatkx&WE-o)9olvss|2-DbRp|55%v2-w)0rnC*3O z|J$_akB{>00Q4+|-f!1sChcV{mw302LPP6mN<(G+VBsFFBiDxq>08PVRsTNG?pK@Zb; zC!O`Yz$RturIXZl3@7r<$du!*Z^2ZJxcSBlY<`Fen&}$(WyOm{=|Ah#1m!Wn_6{$p z8p6v~nr0;d+6a}qQ0gy#pKeE?cQE@EIDieoMyv)8rtanYhG0{`hP)+@6=+QFy8haK z>sq=aG_|kcR{qK5HuX|%g66Nr+VQN?YBm20l6Dk$=B(Z|mI8;B_gtHuFGbNRj2L4a zI}fO+6@H>lPOqS(bpak$7|QC_gzX0Rb)7!gTzv*{?I%8l24=w(rjc;3Z1e4dE&=BS z)sc7j^+K+?-k(2FLrSf(ZXXZyMF29X0q~Medg-f9Rxp-d=1x&q-Moj)?LPggaQJp; zc{u~9pbvJa+fY)_aGa}NnOz+*n0ulmQz>jbpJks;2x*UR0m@ad@kCo0)4KmBW zJ&+0;b=l>R_QUfA4@L|^4+v*Tb5L!UPLT?k%-I^HvS>0vRR~|{b_(vzsIS|I`Y<|2 zpg*291!RCpI|khMn5;n50`}0&)XeYJbwnE|49(OU1_b6I}*ru#!sfp1(fC1uePn5%17IVEq6Sf^Ce;8KwX$pnw@CP5 zFF`Ez_SE2ZGz031SJtaMd4uWqtkZK(EGC*_d$*g+88;%(hGIWjiGImEvKDb;^~)Z+K;@ld8R-BXP* zK}7RCu^%acx@IdsaYJ_5u=OFFJ>vf8K*}$`R648XN2^@k(mGL8Vz1WG2c{-%r%$Ot z4_71;$!g~zXEUU=7BQJM_P%OgVB}EgsP>5~f{2;RMZ?YtZcT120SGPw!ej@krcG>1 zwR$0^b6s*nU3Rp0Oidb!K%1gev?ChYBWdC?fG>0g?DHD?M3ZK$;Q{@B8o-+}$wB06 zC&NvNuALZPU{GZhZ49G5ircA)F zKiSLXu3gusjGliDOY$(+QyZIIhY>irJcnWX$riRO`fv)N=1xmmPbT6J0)_1XbJeNl zG4W`0t)pS~dMtj^1Ei@Bo{X4fE^@?Reh%^Um0?g3@cakEubfvTc7^Q>4V> zN5-5%rC~ABY15Dh>Xdb+s7#raMam-pxR4;OXv(OUAR|56FyY<_fZ|k$kv*B!PHrkx zFU2C>{4JSt$_Sy=w9;O~bM+YMn7cgu?69}I07W)cT$2JaduSTjzx~z2Tc_|6^r(r% zaW5hh*W8#r=~|O-m#z9wBSz>Bk8_{FU^F6FNxe-Y>OeaZ2F#|l^_0Zp+Cv3Xy*j4# z(e)o1mB!dbp^%foP_GXcvcGsH%=wPy@*g&eMFXpzA{fpS^wk0jCdKkgm&`^(v8YtNhDB1))f^{7hIB;6YRidPL8aX~eF zik}7aSyg=AzTVY0g&CPrfpr?_dn z2rmfb16H#9IQ!kjz&K7ngldw=jjl|kXi;rHp@irc$2U7L0#TVc9v(X^DGSJ}wv0}D zBVzX#T=J4ENckmByGpTydt z>PaX*aFN8fUF08el^E2p0``q81-Ly_SkH7xkalg6%yUrHyf3lIY0@@NSlsh( zSi(0tghBh$GJ-&rRZfq4QWu2vf$_2o5=Gd7Dr{6-cmIoil03uZldwfgGHW87Pdi!< zsYB4$#(_6PHT+S^S07FWGzC_FdXzaoiJ=#W=mD*^Q4wWcLQz~6jh+-tE>%$J3;3p= zC=?}UH}R%87DnCSVB7T;{+oWX5lLsSoF60Cv#-ZcW-Z!We(<-ygV>_RxwGLJx54tn zpWhr^66>bDg$}nUf;KM?u#YG^lQQ83iOAOYod&@obGAyZXI;+&8%{%>g932zHxz}J z;34Z=sEIxWzHlyYXjQw?Pa#z&Nr-b5HiSpGKJk99uvXbE4pB&=ZeRLHonk>x zo2_V2&W$U@m%Gs{s1KbW8kSW@kp^#g=6h<3r6`EW$0b~1v3z@%n{ztbbdnWAfyu5q zD`u@QrEs=Qr9za!>Y@<;Q;wBf08U+2$;cW9BRaii;yqRz@}sNvTa^J2gid5Ok<}R3 zC|&A*l#0G{V@1Sy>K_>RQigO>okj0WOZ?4SL@TMn?APK%f zhJ*B@?*_BXgFULbjHiU4oG_UnWO~meDWyZ`Lb5}a3nZNTrlBu38|7q6t%!GsbPMjT ziA$l=-I7$2*@DEA=No^bm|`Hg0RH=pKb4jJ=hS9l#Md&KDme~+q|9Dk50P3#4@)|k z8~%2HmlA0W-fsM!sF zn9u^-b~PY`Yn)^2O7~ zV+6#^8@~;ogg-88OjKe)fv}$erw}T5CyB65b-0zIg_HlUZOkKI~wiu)|RKAw!F^N zNwTM^jGkBmdhhqpx`9c7(>&Qv)-fy!!|`f5o#9`ZLzfkPy zHsI)EY%9ZovF5KTk4PTr8*^xdyFntdVHvlHF9kh4`0$4hE#@cVE4E{dsd+?3aRC|4 z;lw=&p4vQlS?82bfp#C& z2RPTkZ{-|#Cwr0?c~;*yNOtl*t@#MaSD>nM`8f9ME$sismqWV-6N{Y!{RP?{x0r^V z1v3VE2$hIAhAMUxOHxxbpKuI6ai80|Mn4T-z6yreoGCdhXIdIvFDLqPu9r5^!PtqA zO1t!d_Qt!F>&)KIEcA1v8RYe##Lb-R0*#ZkXU)K`_PEf6ciA=phulDk4(+KTIn#Dr{nU+#~oP~v!kgcCY5YS zu$W^FQwe!4UPTP%4@|=;kR}rF%s4j53+2)=umspr#LVuT;CjNdh1bP0l)7UBf3qlUW*xiJ{{PPx>$t$YEQpv|7& z5d*OuFbT~f^Vso-p&cn15%9kgAs#jw&K1z;67F7;z}7>?;6^>7pIr~2Xcn8?_yuuU ziIxmQJX={IRd1U0!sv3RNHQii5b+}w!k;%lrkW}*lNB3t>yjG2>eN|ox=mjCGWiTK zN0s+ON1FXpr(oFE%~p6cG9?y*>+={78P>$PqR$vPUI#u6K90LRBMcYK(<}>rhepVR zCgkGau)e(sjlqZ{W0YJ)NyVX$C@X<*$VfTCEwpDri~Lp;G8Jn~h$4Mz5-$L^b--Hw zlsF}K!y09+`&7sz4#I7W-d__>i8CWoXkg_SdZ|ZY8NaLVa5RMKM6xdX7|%Rbf>*>D2S zpi7VQVz|bQ{s`HlmG4Thb2y949HbgZTS}A@r`s)0547D_0^okVd@cHRy~f0Ru_1aH zno^$gK7Pk|)PD)g8+<`cmC<9L`+j%+cWHq>erWjvJ>rKOYEypngV1WXIHZQ*AIIR>r4a*xvg+Wud-|=EAm%Qb zAH7T-`1jH(2>xJ~#jizB?WMPb?}a-T&w_-GQ&KWC*=(|MfpKRy4AZ}i>+0jZeJpy& zvr7eE$;Fh?yHH$ot`ShFq!nDzBJtZ!j(?(t#7wM$PY_6(G3S#^c{q|@c5v8sHSnZ)Hcd@*#gY~U5KH8$c&mgNtGhD%0^MspxgoGL4A>d>Ufy- zo{v?sNBt77Ta5Vk^|i`@3nxde)fS~V3X5a*azhZ>AUIL!VGoD+X$O|L9jeo6yW;1e z-KV_W<{^Xb?HP)Iv1`-ZrZej>Qod8g9L|J7USS}L(4-0c`8`3s@Th&-^k@%{=*YwexCmFg#P8+&X|^(D%1xl2)x&?;Z?>qZPkik6=&Nb1q{) zp$Bk%KW~=NzP`Hi`%rhyVI@Bw`vf9+z~neJ{gP?D5u@G)qW)&(qAdE z2Q+3L9$OIyG-Lg%K-#rM2$}H&O<48)38vz0gI4+UJ713jbx7kKbE7iIZ1B8L-ELuy@w-3!!|_Q6{6hpylEahXAK%_ zWi`BxNmzu&At(!h{XErh_pcve*Oxmg`maJUV{+(otDst2!sV^wll@%FuaD*7B?Bw` zOMsl|=Vdm?Yu_@^TUFdTWMF8#bKu)07I|J$>zs9?SGlIO6;&wAHvHIUqXLeG0P1xd}Ko zCQUMzkbJ-i@8~WaWM%CTXjaS#K9I2&+7tj(1Ib7k;Jik~H*wq#Jz(rHz@ZhYi3FJC zbkMYsS#$~fp7oGsmLk?da@7OQ;(%-Xbwo9I%mBaI@G!$d?{)}^)&-o{xz+D%` ziHdB!EDO4#eoS-u6`)TW${xFBMltGb`%^O#Oc8uc)e)MM1wWIRTtUKN+tMj;nCqP5 zt?cG~E#t4u@@tX~&Jf)BBJ>@G82JhAgH+5L9WLhr%t+UR#%JUzX`%_VH#81?d!EcU z{dU^p?)Yf_D{H4iD?Z(CxCGY)So|TW_;iUuZ%XUzwQNR*g`OOgj;ESD9$x=EAGg3WF-&F+(*nNHet5JO`yyr9*S4$ONlC_458g86 zvzy2>#gul8rh<8SW~m#|+v`;yt)k=6DXO$njl%Ji*AKeJtt8-FcKG!G_unDck1!#b zn_$nA;9EOhbj$2zJ=OI|*S z#}+dSf4u7F8kX%vpYuNNu-oSEZDBoO$Xwlj1?=suet7K)zbzhETu$kI1)jor#xj+G z29*bmVFtrzF?SlD=oEEA1Ju?pL5&QpfzNQCw*WQE)9KHWey7>Wr@2K_TWQ7^6bZqU zl;#6-@gSx-Jz5llvB2F^Dh|9T8c3mj=z4H1e(N|Jv2lZG0~4-^KdA<|0an(5R$B5y zczDzhnwHp{QM3mW9}YPEX@++wW4s%F&8Bl0unHZi<2Bn(djW3OSubojbi8f?(R&_& z)a<)L{QZJMZ2Ji!SqZUpHyiWF+2a9Mqwb6AaYkmj?zw8YmVFo4GlI_qD3!xuDm{YN zkR?ks{^W+xkZG2;PJDL^)`7>Vz+F=+1zKzn{*$+RBtThZK%_x>)dY9x^+AFukob>%*_zOL4ID@-m<$|2abgB zt;o1N`|y9N`R4f{xWXZ%(i@3Ojed+6;RQ{PyIjEH3Dxa!n5B#Qi$ht7hwy2YEn@9k zF-$18{;9s9AsC9P1G{!^VkrKreb2{%?kfgwKwRj3jzrBfgQ#}+?{os}d^_y8x{Zbr zZW4lZz2LTz`io`dU@2c6Bj7}?30;V@G#){;uyb6WpimcW7AF7jciR`=Jx4C~+IE+S$5_ijE6V;+j8dE=NQF zH5y`e(e1x9S@f#*_K@;?yWv2Zj2sx~n25a)$D5T|+m>P7Db5vhZV+k4fp(UxoF9#& z^HbrUH&y(w$7#)NXx|DzC%EY-W;~tv2%-2kgTO6&hEPMMf)T*(of=I(OG0kXU>%&o zPrfkTZ2BC#C&I(^hYecVylTTAWfba8;gDk-$WZREL(qclVSgJ1g95VidMW%s(Sh#H zO*qFlt~<_ZJVoZS6OfI%*TWs`z`PL1#9Au>Fuwyq4gIj`7hZf9ah|b0WWNz9 zNRM(ijKJLaJ1?&{;SV&(u}(&_&0uk0M01FxBH#$^?sc3i{1}Qp=mb{x%L7 z-aCqO2yY&5*Cm9q>IQ}C=X~ZPcG>7t8?jR>VK6{RHesE z2J=SiioIKw6zy0kOB&ypjAbG}U*Uu$J$g|P$((@dkCHV-ra9R`uO3^LplMvD&PJqd z7|F1B9@)@|%(0wn#f(#Mu2L*Zh6uBx1Tq7%vp}d0p|`pukzQnuB3xxDRnM-8$X0(l zix*j~^&91H2Q0nvS*&psVGudw?^h_wgt(O@!hnMFw%EYV*Gyzk@p|*fGZFd3B6AJn z*NIB95ZVzX>2x217UlzBYdo3Ud-^C+xl)huqLYq=7AOV@Q@OUfM! zSKVp;J={}@Dg?Hs_igrKFM*qaz{VR}gKC)%HXe+2GylQSz{GSG|U9ryraH_dS$V2p`kT(z!Hw+800$9 zI@sImX_n7>uCA`#3%DyB6rhJ{umyU*rD&EoND{eLlYuyAbR}drF%a=@SrTj>)Dgp5 z!C3iUNXp#FpLyWF^w&wBBY=2ow_|Yc=Q*o1&o6<1_||_kQ?ax7NXNHT(K>KsI7chE z-92Xha9S~D0*p%xWo`P9ITH{oM|b60i&W&GjY7X&Iz{*}%n`4>EvtSyuM>gYhh1p1 z7f$Dqkct+Th~m?Lp7!35)wZPpkK)eR%LuH_WYpjkj46s48$$xC>lbI%nW=Vn%uO<) zbb-Ab{(fvDM96Y$#mj|#c?kwV7-#(n%Q7neHc?tpQ8Dl5q;63vbpvA^d%Q+`iK0AV zD!HKg>t5nfziWIb5SrtYw(r;;P_jf5=Q2443K;jwa0)XpiXSc$w8`x=Fd1$WF%B#h zS0Jr;qaNt^0c54$Bm~Sj$1m3xGog1TYv%ydHdc$}H@dD%P@fxD~VLQbjij zz^A!H8ef1#*z}CK{q1I{=HHOX*$9iVxA*k|D?1reUOjF**yf*@o(~k<(sC@k)!~-) zsC_vc5Y&NGmFrD6%^LA-DX6$*?KsHW4i=`y;G9Zy*6Byahxof3o!M=`o@tUj@6_PTVv^EqnoVZ9ggQGY~3(c0N zAKK`87h{T{+4c|`#W~DWo04V|n8=>}85j9tOu+ue3L)gcE`a$}$?>RrS)em1K3w|1 z72l{6LRlc|Y9(aO9+GTmT(SHy+k`YpBsPweDNL@}IW^KD3^(T#$w{8}*BVaDwGL0Y zm~m9eHeV(cr@+#t1p7~ewWHZS)nVQPQe9)D44_EpAZ3+Z=3NcgVq+U@mCXYD)K$eW zC)Z8;B~w{FXZ5$aOs++r*_pqo9tFssR^bAN9}uR^xdtw9dSyNae1`pMg8ldw1Wd%N z?VXkbquScF4jdf#0teXqFo2qsI#^ivDfDFule&h+j6d1KOqNn;lZ;NX4V;o8$pu9i zK==AA_7&h(jvVxe(UXr*Hu0NrvL9E`^sM9exR}eB?XK8rdmKG_Y0b`MM z60YDZP6}0*Z9>LN=SSyeUq8_GW#`$3w78%{XDkAG=~{za24TveJLq_bX(WLvbSH}j zYPHp?YI8R3u%F&u;8ZJr0D2Npk$hiZR+Myfw*G4B|0za=q`_FDU?4FAaES7s9_$UO z>wbYGx9FQ&{2o#@x@2zuL(oi)=r;rGGdZ;CW9;tBVYLu5^uDCkEJh0eC@n8weRh-L z@LZi*f#~&3(EER4bU)7NA%Q~xu2t|T7}FoL-Sa#QhsK21nnNm7PM=6Uwk*5bjMKMs zDm?ww)M1I11RXm0{P~raYKdS3r)g{$L%}52C8}lQi7y>*pW_oXIxqol>w-Xhkv~9^ zb*C*hj_YcWCKkm92cYT0)FNsSMyjSZZcu|l21kQT1)^>1Woiwgb2?n+7IW^MMT9_s z*VWzBv&xu-dszMarc4>S>(>ZSJ{%o9VFq+O`CkacsD7w$e3{=o<`- zJ`bAddrI!9-O<;>nUIR|<@rrG=ikUMIEsdtSy+a!N`IP*S>bAD8IUTk+L!uCfrBH6 z=4@-vY7F>u6cduref$sR-od%DU=91-v2EM7?M%#x?POxxwrx9^*tRpVZJRgeobRi9 z|Af10uj*Z0yVq{iQosFso`%6QrAT{YX&6L$I*o(ceeMz`C#M(J8{C-+R-rjdfOi-? z0Ld?OKvUb{LeGF;*9qC9E818{V+T|p=$02CbP8s$1)_X~y6WG?|MyzNoxmuD1`rA- zwM8*X08Bh-vd=bA=k!IinO_v7*h$QsC=cYtRJAd<6N zJ@k3F{h3DlVMzWvfsX(e)e?f$HOdaX80e^~ziUT{8K97$Yh3RUTdbCGz`6xWAU-=f zu|dl@UwC?{*$HKZ3Adv|_=pZ~)?XyL1-Vr|lwNng6HPdUu1%5{8@5O~_B+{4w8SF3 zIv=&1Hg?3>4s{A~*f3`~>k86f@=pIs&BYszPPAz1P1 z&ISaD(iIb*O3dg6q4>VLogCdYqjo%|n>YHE@TUi45T}zxzO5jEq-2iyrWrVHzz%Rx zE)L=C?V8nA;Rjum80`34>!q6=ti_H8#%NppJzg$WEmBX_@;a4^wv(=1#6Sz%#1?=Z zqbG0xlC@8zXzL9tFz9ByX5Qz!qxcIDDukVG(p$v3ql49;MoN;km0Ky6nL(qBFYD5^ z-1}AL=TlUqlj}MuA0SySF^rFc#Y-)O|Fgmvr~!Ybf*noJt7JN|0j}^EgNLPC#9f;G zhtc8e97+!Mcn|;VzHZ3fKDmPfLjVM%jADDihaSpIoGXa=_vQ>`{Pt%qR(}-k5qM-! zo`(iyH<928Z>+P6wRPWmg!vrorup}Fm8ny$6bpz8vs{4jt`Y*G^{l5N>sO;v zHt*PZLqY}S$IwE^;zQQ&hQV>51}#!gO}E2@NeDgoBErn(+>|2B?OexKJQ{Fk8Z-Nm8hwG~7baEVih&rx z`x8o3TBl+NrquW*RooHrPF38YF<^kAzy6HXYcx0`Y>j_g4|A-Y_E1MSV`(L;j&GtT zhVO0(bcO9kdGeihWJV9GI0ELV?a4WX!#m+RmxT6Y>bN_S@5sxVg794%@bIfvMctCC z@w7W2STwML1Xg`$Qj94Xn70NR#rAPp-seXC8_IgV{a=`CL~Ns1dENn*$PrHQw1m-B zdL%gguZP+&wwY1_WYK|3{%TQTwYVl{TuC9Mc(Vt=xYp0ptFmSYV>}nn(La-_*lQ-Q zeS4zg{T`b6cL)6g9!@9oZftpTe;@I*oU7>*5C4z$>9~UQajLk<{#~1z+t|S0DzrGR^B7bhpkjy{4M7I6GXE?BQElJ z{k8vGlnU?uZ)ebGdEAkIBi}~4-eQ8?_h;zZ`%JZe9B1d*eiRNpyvONIt5EsElU(Ae z#kFv8R-5=3@=Ev`IKU)gE12Waeva6~% z59DGS?zq|#C+^SR!gx%32CAB6Nygze!wmRKVB#Al+wSw{@A?O}{YIDz-e0KYY?FV0nYt7u9F=+<+N zs4m!%eEZaDu}`}=%LQfqhS4WS$b`_0y4kgN2k6>3J2-n~z zS3a++xEMcqhvu5t$qR1?lEZ&m|9!%^O6`Z~Jxy*<%0j{>_WklRE9f>7`|jF$midl( zYAgNB8EX#5eS!n)DGW|0{y;gXYTo6{r7>Sv-AH%U+sY0VB?3SV1=kc9swi zvhwYPZX{e-IR%+m@ULx!Z!y#$qhkc?HiRC8;~X=b$<-9M6e{7J6~4qcy!+0oviuHl zX{P>jyr;_f)2&etqQT`}mkGje_=>$OF`PQH%Wg2b>9*uN0E7c0_n-l^lm<}G09T>{ zx<8a(133XPtt1fG?jQJ89gT*cT!4&8_Mt}W%CSE~I|3MQA0JK4;d`#~WSlYbVvlr{ z4ai=48ZZ@>KF2b=O3D11)LkmuxF6v;*X~nna89vWUtYu}XHo3s9+b~~U(K+Xev^YR zc=Vr1>h(5c#H6tsAwvTxC3!HV@T_@4*A2vRfQ-IsLXVY2S#-@i7`97q-(VI{eC12{85l7-r@FIq0LT33 z`l0q#&SAgGHnUrAxjz{nqm4Uy8cpCtmo1jC%>dQ3$wFyqsCdzsVb%kx_?+Z7`Bog6 zAtiZMGUC(v*suB*B-{=rq&N1;w!Mi!FlYWy5QHitThi@Pg1g72D=%}%cRtT zhhDdxs`eDREPl|uQ$1%H(rpP%c+ViOeh?mJE33Ipc+=1QSb>~SW-Pu_s3>Iqz&~{@ z;nLC895lAWs$52Lif$$7Y#(7f4KJC-VCfXFqJ)tGU4K?bbM?Tz`xDA-HL_9in-7!J z3nHY;2C7N(Y@Z|a%ydO&cqat2*x;i&&OOyM&EY+UuDTJO-@JLvky0XHm(L;xTj*@Z zH!$j9Y)1Df*aZ^A%3jt*CDlJox^ub%op9Ar+>;T?NDKc5Oi+Dtp2wogV8i<2br z8wi(LD8$lnpg%%!4$kf5R61>NniAHhHHy0ys#g{fpkQI7{MYr5ti zYcM%NkQ5NAQSYfEE0Wd>{owX}4k=FK${S-!YLU@sa~wv(+q;gE`z2wndA>pwmcnFKpPr|XK=MW9B#P~`a1fPv-&$1zdyShz5<d*gL;w>&@z=R7Ho%&O;R*+WC*DbDf7wE`-kWQxo@?htW^ zRtS+ZhQ-l}+-}X1OHKiqjL8%ng}=9gbfukT+7A~}%G+4LT2Z)m5cv-hLZ}k53RUB0 z9RI;ZD5+Kz>F=f%P&|C42n*!sg#yT~JYi1!F#+86%_(1bqb9DL0 zaUNlqsy;YEi-2`jH^bz>K}%|f@Q^IP5$u)**>YH~KGedXOrAN)!f(>t-^KcLe|yPq zRCmjm2BVzsLRToMhj6q(WOY(6MoBBlTJ7p%SR-!46nHUGEmh7a$F%1NJcX=wEP}W- z*UBXAsZf_@qa=x3ami&ZsA*SefQ>0`psYw*)0xYv7LYGEM^*DF?wg-bh>-D{4A6We z42EWRE#TyEAHbv5F49maknxNCFAIQ|NfLn;IsH1c#@m~b`QXEJ9qG)~l`qK+NqN~} zFwg3#+{BCY=K~u9q{c9SU&JA=kf_qYZeTs{LV#|d3`E8Vs4t-Ao!iEfl#+fS;)fv} zB`K*uB{hUF6;I&U!UJ&$;BPEj*($dfSdQau&}LG zU(aqzVoFr--1`APEd4IcT2s?SeA5uV?U6V-Tr4BzoG!!it1UYyQPAcr5OX_(Q6W*$ zdfPt$rkW7kfpWGZ&Ds=r(Q=!OjC8Xq`KrS1;bUt_hoP-n^ZOI*27~ML^o#o}$JW8P zbt@0q+ZuIExcUQ#IY+l-7%<)uiDSy9p#*Q!@f=&?5n_iMjm@6^wmqG%Ohwx|Z}PIy z@7i&PjaJ3ULh=i95L~>O@clt1N8TDjZhQMx;MZ13^2ZA7nafii$9Gqs?=JzI@GgHw z{x!i41%@3lF*t3WI)4fJQtBs_;Pm?Q6BQkdbsR`1F(y5ZZ|EOZOXNcL&o^0p^noNY z3(UW+E3@etl@V2e6ZZA3;S|kQ?+twRdmQ&4yv(Nq!}p7uevvzvS}>ZD-_*|^5Hj)s z#lk)SUi1I~5+XzXo)@s_H!t=75>dTUk4xt6Hf!jBjOOIy8z_$pkT<~cx%))3&d5>I z|DdMNMNO+3?vBkA}?`yzkTJjiQ@?wE|1jr%2o?>wEJ zqLq&><$~5B-a;yyVAK2#HKFtmW0rK)*!e^x24zDf)1`wEg%Rj8wO2fWSPCn7eRUHA zf^3t8n%tfi~-^)IZJp??>@_=KbJ#greD|uu+k0 z8*H$7b+zh3rP+q3JnC#A@mAFriw6rN0RR9`()d4RMzcMHvft?Zi>AE3r>_M_TH;aL zQcgiC{eu&?SC&|$5}IXO$TKY~%1eAq#lz$IasA9vOvFhHza+~5ERX;odN6wQhFXtt1@^(Gz`e@G6Njy=;B)MN{-1Yyi{5|MqhvR-VQU7NZdFYj=Ud%oo2cn zFA6z$VX_c3ohW>g86Vd;XT+K`eazd~0WR$If1?y*lD6M5(gz~-$I2>pqt3P*$eEb3 z8Lt(-6RPW(==l9BSLI=Ugd=UrT%=8aftPUXb zIy@+$-iw|WWJ4+y&Hf#CBPkRZTg+D5gZZzy`o~r-+dB)?xQ;236x8qT{yNMCM`G{a z<(7Jlbz9#jcL?*yed5N$}Fo2TIa2R|P+1OEGN-(fuvz;$8 zuFa4HvI7{)2xwef!3C0=y)beC4QFmrs1bM*ot0-c@AT?ltoZP>mkUV-*@<_wP!6KG zQ(im}2_Vn>X6D>_>vqSBYAR^YSY-v8**NVKIRO4^DA`|8i6syLZijOE!8%;P%D~r)bu_32ckd%Sm-Q1hn2?R>%j3DC;s$KY< zGR$^sD&1=ZhtzeC0-rA~_S0_j$m*Yg{l6{tk zw9GZm_>2vy@69*kFoU=00JCc41}$j3y^p%xLTQUD0H{Y`t%Y(`?I1=?1tH!SbQtpH zz=*KMLDiif*DBEHrV*T`gA+3N&s7D_ol2xY&gri`P@xB*fw^iRdT}|>UUqkiS-BW1 zBl|N;40EO;r6XR;N>(XYsq1dW>oTf8b)+$17R1zF*i{t3xfI<(RsO?-34%@FzcF0=y9`!dClVR zbAL#BjoTW6xSSw9y0tCyubQL0kFnB5pDw6~-xRKviD&4FVzU2L;l_a1og)34iSv3B z;PpOt)|K?na~bHe8j4Ya{MdV4t0OuaugnqO`)TXa+p-{Ckft8dSUi9y|IUQIPBVe@ zXO=33@DfySXHC?<-{?pOb~R&k1mbe4a-9jifMfx2EN%rSHOMC|EgT{|9b#fu0$bv9JX@CJnORb{Mrgc^*DwT*HkE@Jv_YAb$_|buYo2aRFd=?zy8z-FE=hBKjN1TB)8{KbHmsz-(*Y zK8Lv1-76-3k{CY8tMM=txYCX@8DJ(uio;C_+u{wr@Ah=h_Yo3jha8$_(u6)vXvQV2(i} zXt-0m^@Q|GUGpmxnM%m5c4)7>G@Mh39TwdUIdlWDJ>0_-A0Xx6qY8vQh9{(w1X5GF zUW`QkOr6j@ZB4i!Tm7nG%>Q+L)|D#yy!vO_6HEUTBz%)&oVP-WufjZE^Tjy885lf9 zKZ;8ujlHvu1*?tw6lR-Z_@B3lY@Mueq%~MH)TH5bsy%*Fh5cCZ6*%ZHS@;38St)Vj zVV-@t2Rr~4SG-fS71GZ8%fnO zv5M}S*v`9e?~I1VdyJO@y-~q!M1j??Xfi{u)^167pdQB(>Z{mOnUU!1rm!XMFLs(& zqTy_R~^&b6@tQvz{$(^e4smr{?ks=3L6wvO8{>RcBdWp3hu%@+__D zh4f8e@9kzQi@!aQq1ImT>J7JT0^`HSQMB00*u5WCi}f!oJMVbT_-KY!i|#HY-1h`1 z&D%Eg$%a;$p4ZSBRQWi*8tA?ya3|jR77Hw{n>r2TYC_E^4v7Q3bq7>Yvr|XFsntY}t1`;;3DhK8oK`s=i#OzAxho0vYA*hLfSzYf|5SRsueH&X_uD7;F4e={*XR zn8->ct7N}J(Kwv>P@Jp>X8`_6JNF@pVaml+A14NxkMgLhL$<0mxoDEUKa^Jqnub2J zUE?l#*;cD+@`6HU5U7s&*l{oJjhHY|ITrOSI3G~mlx4|pFT;Paa#FOIT&c@BN;L}hwtFVE1+6302eDRY!SV@YnXxG8G8ZMVzr8n}Qds7@_j zLk;Vq&6Q{1Bp#4zAQ!z}G}32ibwRZsTgJ_0tTG>Peh&|5@$3!GDvDA-jRpbeSZa|x zv}9XY8wn2?K}nX!OU#(`jCbYV`rqF@d4@bAweW;+s6bcKA=ub2FWw(^Qxz`{3hjle z_uT}wjZ?9cC)IydPvUopoSL-QNXlahMi{Jd*s~vu6Ib7aJAm0^eIj=>`y7*F^a^wQ(^oL;30*>$`R)U>Y|m3zFzO;!9DTwO8T^54pEKMyV-3p>~|Yl&b# zLFT;JrZp9heGXq@N$TvNjXr{UJvgxyaS>vya!do9T?IT^O}*z}0Hc{ty3R3VC5@Z; zBNXj;vBf8g!@?tJxM2>m9iGT}_ei)s7JgJ*g;S4ny==VLmtw#F zV{b*S`n4QZ(6R~AaO+-Q@xAy%V*XgSzMe^pit)dkt9q?YM84&@lY%$z7`rwc#B4K83V{)KZsX~!@sd^xzRxFk~ zrL#tyFm9UgiW~}&*Vodjo?pg_N%TH6y#l^W6HFp}0{D@#drL{xsW5Ub&kk!BBsD zc4K{9;R!*j{?cylFx;f9sKm>VATp$X!ZX2bgiY}IxEkiV^jb&+eSaF_H^{N1;`+8Q zUrR(C6(w3^G>{b&Sk5h-Y-DzXuB^+OX z9*zdsaMsydFOI4-fhE<10zfGxW(KbS&RBfM{DNzX(x-edl4e)gc%q(H7b*KEia=E> z?SGF;6o<2|sx-5PSvIcPbZcp*VFe!5A?i&iju^+nPhmyns=TwMa=U7Lz*9u_qeBse78bl4;3M@{bLLk^GRU)qh%zRl_W@$;PX`9o zkQQ|}$a1FwNu-v412^u`AQecx| z%$4&Q3qLy>&gcetDxUN|49guf^Pq=%atUXr#r<504_Y=0kMgiJZ(eK;0B3Ap1Uz!N;jX*1>Y=#1UO!G8F<4{HY z(GtK?1oM9r*uxo%a)YINImv`Ed$swM`a-iom%Y7>8RC2*>s!PYK1mH2Jqt@=@InqC z$ZB3(QhZ-GH_!M^!WPtB#$Y6;u=F~1JQTO$~=09Zi97l{HWqVhP^;&Su!O`X|K4>AGulFzZn}%_95~Y2~HG?qGIOq4!_vwjwyLgIotoDWvEb}j6$wxE6-kO)pkI2 zTw37V8fp5vz}{MO)N7p}a(}Qz$6qd_(v%2&gO7Q3^ZiC})aTsq@B7^ES9$wyumTR#=7O(#y`RNyZ?;U|U2nOo z5zjB<*1-d#!{-@+mFEUxdS$$g$(UfJ>D7zYU7gi@TCc=X=%pYmMa zyQH2_f)=JUsmMCE4l`;Wr0roUq}?+L-L{l6|!*&Gm7}t0iSen6WCY>|W~GJg?H7VnzdnAk3m=0q0iulYxEn z_@7?@GFHbK0oVUy%`$%eslN6CbILmS0@^#(vw4qfHTA)o%s>BaQZ3=PRL!JXx5(DS z(4-o`tu1X88c_RX_S5E{9bodmwwHc2W-j{be$H4Qrs^5*hrh{xmj1YOeV5RD9Si&? zTkQYrV7)zeKL$RV%soNo;i#Oe=?H7}q&cA!9ADK@zgA?w#;V07hAE&8T3EEo1H5&G z#!usgD=@nNVDkyryHYDX$wHX!q4%~n@rz#3IR`VS{g!6Uz<^-}!gAb*qy>A>s}Sas zmuC;&Jjv8`7z%-JFCk+N>{G82#AcpGG#}!gW?*X&Lt_Lvpu2An=mJx4$F#{1^KhwGD6eeP+p{JJ0gJU z#lia<(pF$?zXqqx1pd;Tu>0u3KFG&I~$!N8hQZk~g*dHB00$4`DGXX0rN+2a^S1SH0v? za*2VivO%*A-m-o+9a{8B^u=8}cV^f7DQEB#XLjeu&$ZjaSxpzmmrm=5jSEQ2XCtm) zFF2rR6}0#x%+SR_6GEHii@V{{wwU^nF1&IvsTR_4dE`Dg20}9fL4~0({Zqfj%)kyK zvkb+CgiK&Hnk14Rd<;4yIHA*m@H_3(n~E+?x_6mk4M?6?8@(U$AvX|r(m8mmLJa|-a9fTa=;0eMc+xrS z3&Rg)$*opKn(s2?lU{uwSp^KzDH0TMqTM8r{Hp)V+J}A}PFjAc7s=4XtVjTv&nG7Eh9R6b}VB0P4PR5XD#>`eZdeoV=>t{~?A8+4e*3Qu&+Dg-ZciCWDU6~e)!F-&! zFk1!jp{@|JV|3Vqj{(n;_c!=?RO!qad8w<=;K$^P@1XcwrGn|FLAjG^`jOYxIa>n7 zMiZbjCd~mFjz(@?qa8I|h*{2l+Jt8C?#lzvq4z0Dx_U|Bhs;{>c#nSEi-2KI zFw7?}Fe-ucL;u%CZOTwdUjdpUVMbOt;@(ZIdLR zrqivm(;qryv12_W7I-a8vYUbT93Ylnm$oXMArGFg(-n#a49v_6$4eaa4@}OS=K!(6 zK3J|+?%opm_6%gctZYBV8STk`Wn+CsJtxF) z^SguR2N@!wIjc&}yN*Wt#nt)o{FEuECX+}5G+_XaO-Dop2gw2;^^XZrlmPeBugA5Q z!k$v15M;}9!utdLbNDwm>PcEee>y=51^;RU_5&w-Q>OPAJd==YG$9Sks;nqD%~YwEnBp+g#I~Rk?3C*zWC{(Z&HZ4jWxcvFf0NE$f}Rt7W*L~ z>#C4z0Y)D;>EtK`S74Afb@Gl@OFAd7ULJ!#=qXEkjE!jCqWo{7JB*D$PCxLDlC)4< zi{j`oTEqD&3vc%~%|rw2Puu(#4c(AQ3+4HWQOEf^{?+d%g6`=QsSDof0zGMiYqpEO z{{=7Nv4dt5cj_&L>KzDdqzYaT zZtYdRh8`t?_`5CLLMV=k6 zQ(x=tiF_M$GxK)cXB%d3SO%^=T~CBStWZQ0(7De>#BZ(jf?$Wxt}) zESa_X81zFIDLOl%QEUxF_rFai+X|6dSRU%1a4qltvAw@x`wnYy+4M!ddssXz^KO26 zH8>MIz!L0ViaDuU0X(x?*!*f%Hg}iJUE9H6=@B@OWtcXMjHI%#k~K%7Y%Q^UO;%F> zHDh=WW?z!0b??r&|7waF@{muiu-5ii`fmsuz%Eh zpEkY%-oZJ=XtH11s!{0u7Xk)QB7vM<+AV5p>uPUg<8eGiD98o^ze`=uz$S`RQG~HiROA5vgm_hj4u^u)_S@W7%Sj zr}a)|y*(xJ4BA$$JW?aJc& z=9jZI(e2DmWo<~x{pJ+GO5r#=W@TsJ8lVrg`5b&aUp{ZDTxRKLO;c|Grn)h14zS7j zC~88nk-}+FfB*f=B(n)E6PlS8B(o|*u*VrxY@?&2ldBRKIWj4m^FjQrbXn--kJB%m zLH(S>A!_$?TR_NweO_>I#n{$w;}+q$a??nc7Czn(i#3xwd9c%G`ibynAUJ(~f9o~& z=6z})%rA3my0!NfmT%2!SOE+*;<=OL>I7E{2q<-s>R&=>@z2KxXx-~lRn^rQUis(g zJ@klyRi9O5lRWQ4@D?(vx>}mYBN+(1lgv3*Vy_Do1kQoJB0spsWIiUvo}b%WH18C8 zme<#{?ik}W=P?N3s`TI=`qcEuyE4~!Jlb5&*PB4rrcAxBhu2p*tTtXIvSqIPtDRG0 z>C;I(8aTfwj|nXpJZo~qBrID9&O84iP%&2}Y;C`it(|Y@#YC-(Aw@s!)j_)ly>e_# z=ZhrUBwtY{I{TljvuOQVOwP{EE|-tX_tsuRP_p_Hr>5t5Nqy;^{nw%C@GbpT?o!Ei zd+PhkoF*3i@QBoNn0J;yMgMfTgvBJmM<*FrhRkAnyWP2xDZ1}%UpDZeZ+d%NMrUt* z$bt@Hg?*f91l&n<3~ii6v<)Z>`Dkac-sOTetIA?%gUhUuyFwd%&DNBevjt z)axmmFgFqFCG1UWvZ}10CZ|{~xqHx+>)B{H+>h<~nUzzkTsW2a*#I>CXsd1oUy&+a z&?K(9p5QCVGt-I&Dl2XGZwPD1^XZgBL_15%Bs+Okzji0*qJf_A$D3&~i&v<2_HcMl zCQL6kK0hE%>QbgyS?wN^ldaKdcJ8Lo<9o3pfGE8%vEh*=K-RWxE>S-y6m}<`QR~vs zO^ZFcnk+|yz(t2Y%HN^$lgz9!;DZW}mr=)#+~3!sX{5#c_b8`@8oBna?&Vh{#iK>p zsa%}DNi_;ffb?&a%G%)9OpyE!uRCcbTGbn)=a=~e25UyuwqWM#fiL%i4pTNph77DK z2G~i_|6qPAa7=n;;g~k$dHd9bZ%sD|Gd+)MhPff31h>aanbJjp%Qh=@7ad}@6kwSNF>Di#ZdW4L$%@bUV=o=;Z zsprx>AUf$jTK>lxtiZD}7h30TO(V@e=cmSD2QFL3HB@4q9YI2G*7@=5MbY;Y?$j~p(F zMs09#JNs1vD1+n5i*H&ZLgYY_{Z@2&QguW~h}_hGUNAHuP4M(i+P`n`c1sL%(H);} z7!b_hGjaMiSgFQj36vN$_i#*UbO7{(@Ub#2(Gi=TUXjX;*1DqYfthZsT}(|af%_Lh zoB}Ns1LdOm5Ng`I!`K%J0C-0%ENPp3m%`krr>R9{c8 zsrDsl^MbiDmd?ULfp5fVtouN#g~)MvW8ULi`&%f*b*s5O)$2ZwKwEFT76tH4NS zEyq^uBZc*tCJ1&EX0Db1+uWi^B;mYA(i)0a%UsdXG|l$XuR6^6TglICUPE~~K<@?o z_0f2yHxGu?8vF8<{9c1cnyCgF*p{Vjt@L38S&3^iEpKmfof4GJdY zXVHONlF9TYA|i@08DN14gEFE07on50dht0XlrbYf*inda;8+c<4xs%0YKg&`#OeKY zPTzZEDdTd`07^$y%H~|tdx(D(@34<;hjM0f)QLS6XrP?fn9j=x3dYYW z#?vX>xdei)_>=_2ql=A;fN`f~yCB}MoOPo_bN-|TvSV4NtR8!@uYgN$DmqP2! zK>*N=AUeNiPvay^-NhdH$W_*54NvcM;|P+&5!~zCE6zd}9m?{;mi?$g4FujZ7Emfp z(P_^h!xOx$T4+=WFM{(SJ{M;l~qC2Ctd5X56pVI*WYnTugW0954 z8dlUP7|-e!R!f$IhRE3sMTv`~kwbgYuQ>nyG!lHic9nAjB#a8N{0>0gF7rIgg!ct` z!O3H%chOH5y@Yk=!UFw(xr2f0I2-FdNRa+mS zBW-lf;E1e7HCIsm@oE0O4z>Fu&*a<^elRb;^DWM2){k}Q7^>CwP~oF~=(v7lKG|2y zu{_4n9Nu)3`}QLX2lM@(*jvwyUZXDPm@BA`mxSHy_lvDkAwVp^_IgPp6loi~vuS4< zgK*Bdg9(~$4_EdpB4BlmSs7 z(Z8AHNQg=mBH>|Zy^xTXbzT#`4`Wetf3@}niO#Mrs356GP8ITzqKTZSS(34tiVP#m z6p$o;Fk$B|tP92XWNZO|qe-&-9hfaI8xDEuc=1`8rECPj3Dm91T|NjLd5u>||Dd6T z;dI6}$K0%58Uqxrzg2@0W+6L93nz)yXYfnRM~p_kasa^wM>lk(qoh!a+Mz0kxR&H1 z=(#5rCX!E~NbSeflKVd|Tj@iF)8sv#bsT?OR~o50iTEv3a!H@>NjGK|<~f?A^kNM| z&pHHS}_Sp;xRKhZgw6ksKd|L@@In4CL|XT0mi#xT@XOkys_64 z|M5Q(=}7=UaZI<@bAY$p!!OFqy^dVgYb=@Ov9U?<-`xt$f}Khb?V>O!H1525KXNnKvedo=qXI>w zHEsghh~h>j*yL#A^9w9YKrg--lzYzIUAIaQPNZ@=wNW73kHE9WIxIAEAve2Fxwyor z5N&W?XPQhm1DiT?{O+;IEJ@@7&_=npB0JcNDZE>PFi-(|2!z!cOhKqN9O>pPWjfi}l zQk+*h()4vj;+H3+`H!j9YDy$HZbMMe^QQvQ9WOkle*gRGvUrol+otmimAbWMdEX$= zXH93|htYKdXFGvkIR4Xz%P6w}6K6V%8j|>jsoO zlW`o~EMqH0;1w^Uy#@^`JkR{BKYUNhzN`$b=6amn+}j)u;pGJ(o$nK4ev1#{mw|LI z)Eu5CG|}e=-W8gENzjt?pZY;CVo_ivb7Ee5s{sQYFrBFgjfMpFXsjZD${Lw-l50ryXz8eP52 zFAT^G3~Kb!{ZYkdnQOGe7y{mt2>l5T^~2cAK5|4cd9lQ~lgSbLM+m}PN*QC$6U_B< zLmWLA??0Pi`w<7^_=;hkS9mVBiPo2$+w0I=9n5_Rd`fK8$5R((@VO|cF)1jE^FVfZ zx)jk(g#B9FJZG}e5Z48Djs^U4bD_u4jJ$6G4~v5T3Vzzwl5<>7T0tOG^B&|V4SBAXks?l(zpvI$y@`42}b)P7sPw`L6$c>lW%j}G0`O4c_a(LMz;iXMaN=+m<_B(C@f!v4c zYMqAnCV_pYDA6>Lk&=cI{6R6Js~mNP1M;(sCZ0Ex+M&L==@gBK$1O@es1v~Sfma~4 zSFmbTvxovt0C`T`tD`XDB%I-zO@+e^B;))WkBgbR;PVbM?hTK;647!^Pl4+XxP|JY zc19Gm1OK)AFW=L4*r(3^WMkbKA1+-lX{`S3cgx4WB)@KFQ!iOldL$MIBKubZTXw}C zopxQ50(ynvilK!04B(m&H+x7h<~9_e-;3Z-7H95(mvLn!%n=I{3k~ z<+{kycJv;>-5JIEFaDv9w$p0*#4&D<=?9~ba%eq^0!=KFh*w)aqzCkZZ(L7TqLI*& z4T|1!&rD5*vpa~b4PC~-bg5$WiGz~yrZu`)0y`+aO%!BfH*}xwlC{4>p+0ALDlm$^ z<_Xh^>Vz&1>-$dNj4pVMRhTL>cfZ7se05Zxs_wJr--rhGt=P7W)06#$;u7EH4Q0Z>&a__xhY$IrR+9JSWRT-NPReN3%w6>WwkHpXE5f^TwG<<$Nx3Q3fL zT0a*#R15C3kriv!xMJX9+wjSjr&O?yM=PaNf}-Cusit&geusFR+$B}@HdXm0qB{|nl71r=L;R?WNTCG{H= zD|=Ii(T*TtAhJr~o|+D|-BNEz;?J{7{UE*#-#@ZstN2vMx`<--gBQdf>FMJ#J^RxI zCvJfLZ?glvrm&5F!2C~SjTPi{Fnq$|`LT0o#C{Hv? ze}2D{*Qi+F%ea}h9X$o&-9zYZFy&s;;I`S-52|&~Dyvo}N9$R;n^e%c0PA2&z7pE* zA|rvyaBi+X&^jk@w8!Q$54v_Auhcs7&7__fCw&0|V*;IWhop@ijo>%muYy2vvQ=vS zrC%g5y-yA6U6%-+Slk&ROzx4+o4YS-s*fo<|0y`D{wSx2B#$}Clqx!8PF7nZ?#st> z=9{<@)$%%plCO>}7nX&OBZDyaObO7tTgWl!O(0)M@mXN%UcQS4Kic=Gs=*mq!;J1K z6$%9qt8yyt@&*cIUFMx z2$OK2QafM9olxZP*$*1(l63eH0Mk#$9yb3E@U;Adn~l|T&R|Ix>V9;3bu_0&>t47E zxKrwyz*?A*e54FSgc8_J8nt_PJSgrI%2TR_V&*1cwac4yX%NmYL<`6DMU%I7_x{!! zGSrG6T@5vEPEf@$iQC00HY}%0%w*qOtmP>vT76>SmPd7QSe&uS)5tC?`ats;?76KU zcWK!xJ#_(mW^OL%c(>s(ixX`lNRw{mt8=r2v(?UrMWQJxq@C7i8;l+e&f~29oMELH zHI68$W3q5pAKdD5CC=9c1>uFU(Jv~zL+WCh^wH_p81ypbDF|E#ahT^!1%J((Kda<; z04EZg#`-#?0WZg1flcG}@^z(q(Yik-+&Q#f8!>k3KEt}q)a+nXj$b5!*){VO$hhkv z54FNNl}!MktPCmgRh5jcUwZvZ{ERzf8-6JveXY`+Bs1dez8j7@=M&=2Yb>;-Fx`MqG>%ki zJ1j$$e!baJRC5e)bkBc`qF$Wz zFZboHh+L6#W~?rH%wjUi6rtuO(T*EF;7S~9xUU4`x8jkI*0wMt+ zf~mzf;OSF`9b39i9H&H&j!7U7JwV{WSa|%VFh19A8@Dh>Lv4}>D; z(uJ@N>ovUq8#SzKje8+#Rq{!4k0wS&>4Tsm5Fc;q7r7UY$x>af3#4>1#Dgw;IVUK6 z8jj)>I!m7;cxxp@n!FZM*HNZyrVCs!p|+i^mlLJFm#C>UEg=5;X}-#{-#abeg|5N= zg+oVvq>L=nRut%o!^H$)DBwX)!N+3DzA$2}xH}o*4>0&2g5jDN^nJm&{=hpHMCtNp zWtW#o+?`M(h?)#$cD?A0x82dd7*f!th?aP;${YFxF6>>FR+gIl}d%vXj=+nR4 zVf?zwm#KZ;vn>-aDSmPJb4DMce2l@$5$*~rr+VBU!-Wa?QA#jk#+-6ob{Rl`rACb5 zPrk+F@9ztl4xnJf#MAE%E*c}zPxMugHsB=Khp_lf2MB{`4H=6Q_Eql3kJ3Xa)}q~_S-=-zyLzcZ93l#+BmqU*hl`Ha7PU}7G1o~_v3ormFl2f4?+oXY3 z)2j{mA}d+z|6NROLNscn%}tjR25VkKHv$!nZWPm|0?z_->5ANA1W4#JEwbH4AcKpB zVD=6=6sLm+AcdlWxR`>miKJ`P_5nw}>Bj2B)8EHaE6AH$k`l=H(?H+Qo_q1I{+SHX zh7KAG4D9w8{_5Df06Gxxn*zT|!CG*Tz`Q3&bqpfRU5AojFzro2h6R}}6dO}RBpq}u?+RpmWIWU2Yc|%i-d@Qkdh;ATaAH};vz0{-&L<`6iA4Gh{1&c(ESRt zJBMt*dTB}a+9}93r~Y61xtcGf|AgB9|0ss`ACkWR+qnM`tbf|wU3v=_UJDn-3Kv?j zV~?5NfX$iTAPEY_%1{wHG>M+gAG006)Mz&9A63i!VnJNKV{x^IyRMAX>*=J=%a zwXcd$qYsfm&|L^8ZxuFv6By^3a@)K;diVw4sLV7q1FD2_;^Aatkb35Q)ne0)r;9(4 zk(V-$K=tzAqrX;Qx?%=EVFN}8yp+BjyuaV6a7Apl|D^+l5Pz$l7SZUvAnA0K4IsN#Jd2MkHMcY~S~*Uq zGaOQ$;H+nri#mo5zcRi=@+^t8ae@DfSW}*)-qZTmc^t|J&Fv2>;dC?Inowi}~L7xykiQ{@MA@6Z@YB|8EU+8W)^|FR3@W zv!0^w|8r;P`|P{foiFtZdKxBY|9gk`@(%BRUhn_$w>QPxa3*&(6%>nlP{+`ZsmU)? zsZTJHZz07Wl#-u1QYX;2EsiNusQY$Du-R0DJL49drSG)$))Hu2&xO;ue^uKv`vjj` zObX2%NnVx@o%L8ddw3|MZd9LgkL&kDg0wh9GP9-pw!3vLoYw6kXknQLHjnuJk5l-6 zZSgHD<&7LP=-5uz0pPsD%6|t->HLPB$6NIik8&p;q%2j#^93__;hFg_dC>MYQc+m5_T8Eoj@kDCW z7U6I1TW7I*9bvMRE>YW?3Opp4bUiUyst1C(rMmBOKAZz<|72ufY$fR2Sx?@y1M~5VJ6|7ON$O+HiJhHJFhr0Z99o4<3!_T z92Wn8)_9+i(Us8P?8ez~#E!S3&81db=EnV=X!37!RjJpB_Em zeHIRG5|ostI`HO*()A$t@(s0k>w6;kukg)qR<;3IfpWYC0`O9U`(!hkvr=<9oWxO+ ztAfnN2;vszn1t}#jgT4RcqVG@fPp9Z**2q2#L^ZGR!LO#$(Dj7ivI{w1}lRa$hZQa zSoEd&DWx3S^dY#)n8yb(=}QSM^a@vj!n4B$q3IE&YNcN610g#$R173o^r>HE004=h zM5%mfQ}mTVg19qK`FoakP!RA7S+E4k_*FCUmr)?8b30-baMwFT3tremOX5kX;$T>6 zB95Gy)Y^_NI1l0!ZfSiol|2Rwqo^{x>i`h=c<;#tr0HB_;s;iI5-1*&Hpnx52{nAE z6i6i!GT}GGSWbs`0`eQ{{a0#M`fD-3&ZCKZ5%D6^)S3ic14iH6JQ4BjW zm4oS%YVu##^pNzqdpAWb$;-+Ug}$&$Q3q+nLjK$VHsx&c^urkBN#U-`y!V^+>CIaT z(51kfL1B=?g=J*dS(5%r9vCd#z3JS4JlTUpRipZJsbzp8C|?+P4Ar{-{GI}MUixl^ zPTVzVM^EbAS9#-s?74U6+8Nq*_9G^i_s#LoJj##kJr8ZFH{iFBqok`Xm%Lb&KDXtre zi$yaX(T%}S-al?eH$LjI9&Y;=uu&~*=jGeIMyqE2>~y=~whwL22h@tHCmrkv4PD0T zoj`9vm>kvK5b!wjR}s5bTkecDuC`3P0W$^ykz#lI0&1JN1IK2^AZ_4sM6>BfX7irF zLlkW=BGab50K@JiRjNcZxsXw zxc#FsQjV7VM(wx!SEBIY>CS2q{MWaGlS5t$Qet0Vu|P99o!;=<=?7L<{hiNuVSNqv z1f3W4ks!7`e0bwA21-(B2mCJAaRxh(kRIH09h1?u2!*W08!j#?m&Wq5QrbLJozH# z`C2o(-V522lf-Iq#kl>w>sQ9(q;}P9rM3#ZIdcc0+Gi2y-FHR3S$9S|nJ98h=v<)) zP53mMPuPU-t_RF+oADJ$4@}Z}TO`C=8DDIr#l_tr{9LQxe=m0#w%(p+oOb&ZTAd>W zZuq^wez3q99;?-crU4B*Nyw3i+uIk^?ykpZ*sTAa8HTm(pi9p9NFW;ZAbGW}k01iy zE1!ZpyJeQe!D66wClHMr^U_{9F3GfQ_mK6CABn%<;r;`#hoqt(-1e2z{ksIV6OCs) z-qdifu$k-cJD?zUG_~UiuGfEUJ1T`YXqiC9z*GXU;X9irkoYBjxKj{A&i|VgyOxFG zo=v5%?|Jv-Hnrrm%bOa)zwWTS&qjCnqx9zA_j~M+p@|aheOIv=!p@h9ipujoWI_4P zjx5UYzaW}I+K5&Yef#gt-Ev+u{`{u=;IC(xwWEJ@W}fE9r;!tbqPl$hUM>tgx`U39 zLyYH~1-o@y!+I+0mdY+0`rnIftKSe+|ICJZing2UmO=EJLLh^@bcDcCJVHu{&HXu@OfV z_0+Ej1&P2@B8+^fr7#S*6RXHmz^xt_Q}knP^1rLKtVQ2_8j4sbMUWb z$V;s|B6z?MwG!#f#yzHp&p{?H1KIm`kC0!zRu=uGK{*1je$x=>##N}0j!lUk@4O$dgKV*< z=zHZCPesFcQg4Mz_Mn={S-vQPRO%x+3HN}RUUQVP;--;=gws5JYh5S=vB;ch*R+@Z zO+{FHzaqAYhijan2^b91s5D=QcE_Q?-XqlTcG>=1TI4^i0&w=sy2d1JA4-*cWF_*e zDhWI{d=B{{c7_bYYiPC1%e#qc?j6*Wx7^?{WFn&^S~I882^Cd#&{!OEkcAt@4sS_y zr${l=wcPl&fUe;x>Ckmn+A005RB)a=3f0`J6rHWc8ZEb0ttu(&$G^ryrow;b-*78q zkVtT1j3fH+uWwkf7TaG4ZvX<%6{9&krK!xM@*Cs}gp084^#zxj9ewh#vB;2r?6%rn z?tbcePSsjeX|;fBl8vV|b1K-P=5u5^H%@7(Dk~34Q}&{?SXe6iSF;li4Jh$22}|&K zWGzu1`z%@j0Zw%bf@7~qBtZeKme2Xl<7Cp{fECosDwNcme1)`JuH)!{TLa&>f(@W(m;#h{gO!BC#J?ZvNYr%JMJj+8CdF*BEyH zv8+G2{Erx;^E2#wpFllwI7@uZh?U%85yBO-Q598et&oue7Ir^~iTn|R+}nKl@2@!A z$~i%$uMu>;7^Fh(RvcV%KV?+lb*F8Kq;C>HcEDGzTTaV&HCY3&KTS9hL;L;ji#k_O z+zmU$^6_XTQqxGKW6c!an1{TLaH!o-l8sY6T`_UD-t!G{Ox2Ktfh;?^qsH3hEibiZ zUvM*q^(Uc?mTuz4$KJoQv*uj~{S35D1?*)c08bKzJApFtRuGs^E!J&$&t6h-Q|o^N2=r-{6h>3{qW1UBzeje z#{4o_NQq}W_UdYnkz+}K0N{`FU}KJO9vi_XmTB8ziItpl=2JD(v0Un=bx;;CfUVK$ zq)hANi22T&+Bz^0+LmXG%@Md;7wQv`p+CG zj&_@e{4-nTQ{Z>b>%MBX`Q}0q;L_LnCgczJ(wt)>+ZtEOl{{|Zt?To4Iz|g^F*36< zF`5?>@KfjZbdskBi2~>L7lcGcsq+$JkeI4^qD_$KdTpcjs*{}^6*Dh;T_6Bx$&TFH z&b%M|^w{a?*)Q1PN*!Z)_?hd8I$8gB1(@3q?uq(o5Gd;hW|(W~oc{Y^t*udDeXhI> zEaUfk7P1bRj_=NCcl2$Z(-bYlk(zaDPXByIB?Wn`-o8p!=iEKFJu-F+#g!Oh&YuNw z6w}2q<@SjHHEYx-U_t&`BLmdkG~5iVw$sx{*_b+qpVVwSVjEG%osO-7`x2+Xy#q zYN+Jsb2b`-k#J{JU<_2C{XEk5x`sWy{bx?@`0%O0Nq?xo6Mvkp{Gb$E<*{Qa2p|YJOfxQhXLqff9uSdLoe9aVP zI{I2TK>}oo+#2UgiG?iDOe1nV_;lfcMm;*&f;qFEaUxFGqbyjz|EH|)Sji~Qc*YSE zbs&(CyRSveZ)FXpR3olTvr@~&q{&0}L>5vC!F)l;ORae(L6UP8J~- z{z|}{=8IZO=3@!qR6BNe6x8y5wvoQtSmGlsqpYUY2?4jv+S5eds%*K(y;wic@#uy? zacvY+Hw%^&+h*e9)i66o@>~a^)lIt{Lj^Q#E#+jb-bJ>TxImUse0h1F84Dv`C~TQ5 zzYQ4$!Ce15)^c!3-9e|A=Ak}xD*oQo*vrpd`|uO@3}Lj5Cc)0wiu}7h{-%7OVvR8W zpu%9D1qz{Un!D80F;;7_x(xJ!aH}b61i{TL{#yhirL*kA0FhV*Q;ghn_|otCOtMN!iwn=;uyzGy3;ntRSepB}ugc*Y1er;E9AC1iDCDVadObSE5XNy77ru zZ?B4UnXXdAw;Q{TjBEfA-*7$oAY+95*U+Ub3MCMrRs;fIeM)(;T-5;7T8TwbC$i?7 zU&o(m^!7M!7!G%Nf;Zw%7G?^}>BnWMy(O(jCE2z`P>Ei&eH9m73IupyH8jZD{-KgL ztH4r08_88?PrqEn;5Z_nNrJwv-Fn}FU>V0$`j`v>HeyKoxHh+DQYH3mc7XYdy@VUR);9&7bk_+28hXOLcGEcm zW5n?0x6Sb1QxxIb;~n99YPuJN4|3K4;z!zS8A0x4x%qdtkk`C;P4F_;?GTzJYz~*U zE#i&udh}5oVVLTslSs|nqVdE5qEFGUSs3WmZ_^>~JC+N@?z@Wx+`fzT1eQ{~-BE(c5N z>GYLm>0p4Sldvy=zdg53c;~^sj#a&t>~h_(vReA}t%KxjkCLwhI(TvJQRq-hB%ed~ zPUiFOF70Eovx+qXFarfO<}B*$?1f@)gVobkuibznH5M^DxWR;yPjSeh=FU9saF0I5gf1f6=7Pj1<3_h`>ol`_iW#0j_>-e*P{NK66QD1`BY zv@kd+g47Mhe>*qw(E0fAL=2fsd1H{UxL%u=)E_x`bCajM&YhuP7IK(uES4*$J{lk0 z3q1v7$9hkIo-U^(qdZUHV=m#sPCd>nRudI{RV98fZr>7$UIyc&$)qT3OiCnV0ap>G zB1cG#o7>5V01KH<1ntFri8SLYqQ8-}9SO5BCdY-ZDwF{@4Yq88M-RVOIk%iqQjOVq zQ-+l}$nb_=u$h{V1-R+JJ!RIEC8t$B8_o0aa2{?}>d_Sfw68emi=58DCIoKpFXSR> zbcOSxA_wbZ2?T93CM0g5ezUa>kr5ubLCnGzSxrxt#gictpS>XRhCUxWxc-~Piz%oc z=<95nw5^Vr^uyliE24M}klAr-l4IgH!EC_ve1X{;_S=kYv$Xy5k9u@TEoQX-SE7;< z45#5EY>n=2$ZvvPhHxD;VwcJQdneUS#TKZ%EkYHotaJpkA}C_b_=f#qS-a75hPVk|{ng)fH zy7~1CDPUvw8e^@6Eg0hc_?Y}X!pmEk7~wftRd6vd zlB`HjiWe7KV&Cw#bd=v=STme+6i99$hGK95#pT8AAA`=(b~e!UpO}LtH+>#j8T*me z_c}w`udZ_1rm6}HbHNSF&CHr(JSt%i{Oi7wQme$s<3Cb^Sshe@7nvO$$I`MMhASfI zyx0(~nvM=eoJKz^bF2GM_++((2~oQ@|0m5Q1Nvbu2k!Iv@E+QJ#(CJyuqnA_R z8OTP#8+mFEv=%?2HzIwIf%)RsDWz|~C6Xia_mb%VQ+h6SHRz6bXY}nSiDck|a3sS} zDqon+BR@y4FDn54_JTY0_P1IMh8(BHAmO2HFeEnlP;jDU*vkX`l3Rt&7xDT&W=(3I zXtkiF;uT#crObP7GpdX>4hO^OCm9v@gj7AZ`0I_vHzijuPA>K0a$0w?Alz5e z&#XG_Lv8B-);tXZ`nu>3bTf)8Wioc8>Y}moCQR^wkB>%?6%VN{e}6`H8{j~^uo$X_ zk>btSiJK5}-U4oOfmE_4|J6mEf0YNNApzE!cvs}2Aqv79bqTy+g-;|3f~cohz?8GH zkzEMnceY2Tc`EkM`Oq{)M=lOQ=XDD2wuSk7oVhLoT=m&4O7a?><)uabgRy15(6-%b zx#vZFafOZ4el_6WIVNX-i6ZVBB)T6T7Xf$zS{=NZOA_vDPGH9iu^_*+R6=qa!pNd)Av2Pr(Sfo zkqU2)Kl#>vzW#`u6EtCJ`?~x7SWbiM0uqMv*7t7ew8SSdLf59q#9|Xl`9AHi@w#Ea zYjj!Uv~i4zJlby;#q{T$XYlb-*ewdQI;-G4e3J?wp}{wn^{bxuBb&{yp3!ItckiBa zIaL|qri2gh7kE$Fa*LcQ_HSTDJ&x{9F#og#pQ+qebLUydXH91-SKzNN{Ft=()Kd?O zDNz_`MU$}2c_vZFAO^#XR~xX?SOH!o zReuj*`-Qi`sDKAa=!r`vd5lc)rFA^queu5+_@ z0jat^L|LkQp1;019qldsQG>OzPTOkd-)3fyn`1a!X&#Bg{;=O*2uP`JA2sjZZWeqr zAsiU<`J#N=uerzfw_luF62yJN057Bc_RiO>>lT;pyXl@-KdomaNuwC<^iC@N@Ou63)B5H62=7SJqhAX=AuV zZ^A|5mr249i_N;iM`>#4q;*YI5>>Rz6GX)w?1^LUMazYfo zC^Mu}@$8c%Q>_G9Z`kZKg-C@1cH$}M;^<^@{!jIX@>d7{7yS!rM8*4qSE_uAI-YUy z)HRW&YXDrOY01$188?Po)+d;Z)f4u(kxkwKb)4)@6#=nLF%*AuG>yY@3*izXuGJ8& zj`F8AVTEGOGXE80s8s6pIHaaJqV0atv`PxeyiwI?)?ybMJrrUK$LZUiWV$q(I1x3b zf6=Lw_3*DR@JZhe;oo9og`EE*Q`RV zcvHKV)P@0FuZX(!!Bqtv@P{PGtCXEv`d2Da3)dU`o@4mN_G)NzcOOIgHPZP<&*;>6 z_@CEPdv;CS!Sqj8Q9uH+GNLy>`V)4b|Inorg8=IPmo8=XKXfU@L6wLsksAQ(4RFBi z_kt=BNipp&2A~(RL*qIk$I@}EnxQia*Hro~TN>AiOUpU!luZd~{sjP;!b)9tZ}#tB zbui7GWmao-ETT4>^L4x-NyHFH8lL68^!gI=KEq0D+EJ#F*Nw_ zNRE!Y%^%N27%KOrW}dw`j)Zo!r6-MYTXU}DDi08MIta7xMJAN3D5YXZuc&&$WF zg;^|8`|USHN){-sUK=H8;#l&;B#OT=!`kHJ`PrA-%-;73(aT6)d1{|V`TAA|v8Xu( zpak(y7QCJ;3XPZ{g&oj_+#kRKHJXcf$XH48zFDRSfIXl9^2QuZc6$_5cME24hIG^e zW`O-n9b`=)l86YOpk`uvC$D@y#&yj6*5fm=a{Hg3fh`^1!*9OBhv%Saol^U@82TX+ zy-iI@PR)K$W!Rf*d$WK{pwf08dpGs|u6oQ(F3)~o_^M{u-K#4hL^OMB|A;vLIDo(P z{Wru=vrTE8<*Ut9si67lu$xgT|&LEj(WZq+u~e8nvr6K5^Y zx~^?qKO&u;=av67DE|2}N#*$InQ-e)WTATBuDt6q304xkFi@9ecUe86Y6*21kK151 zU}xFP(OO0yAeGoVF6U`OML2}fFU>Q+xwCdMWtyS8FAcmvW;W9}U zQYq{J;b97aV@TqnHQFYWHRa(>}T==6=xOryt$#5o!KcSb$CW@_c= zACn=Y$FmYD9+1L;X6H!CP*mE-i01;p@-GIP{)B<3a(BB07Bgn0d$Ze^`08whyCY)S zu^SVxliLt%n)H`g&NnH6WbCgr+&6^JurHx+19JYR5CwdjD(oyuy-GZyn!6#E?O*tl$5)W=A0? zYX|{33utj@-XdZWR-mGgyd|V0oIu%sbymBg8(HgU-W%pvXxio({%6I#sVD z(Q9G(ncf+?YD45J4vrbmP$@v>^Zxe>rmBK`i#7Nb!$*)3@VEw88nmJxi;XbO*ewEU zYwh^3fqcsP+R(v#vfisC+r3oN5H7rif+y4dvu0g+-Y04d5thIBTR(gKNwsB?ie5fx zoRPS+FAi3p*5V&Tin=Rl^fZFN4Gynn&-Se56X*|J9ZIy}&?ZG%r%0@Q;TT>&&Y zAR6ukw&)Yg(4WAMdRnpP=K#B8!DwQ&E0IWI4CaFbtOj*8w+L!3fTnD~fDs_wq|5*d zQw!DMU(e?M_$P{IwO`luv6@$4P4^|*=*Kk@iyI$yp8!+d2R8?B!Z{Yig%zumai1Js zVrm%%iJ-i5VmPvfY4WSI|MDDTiyRN`@Ak}*Y%R#vRmiiGCo#(a(9(C?HGc9^{_)_X9yjYh> z!L_FsZS~(A)&Lj+bg-LUK>>k5c1Qvgevp7B`Dh^=lH&l{sF5a76BtKfgBb*DdqaI7 z1paW%V9+vfS3p~<0W_hbdWhU?$WiOE2~MqADKo!23Y-W2i6J;PepV#Jl76EnLud+E z3X_g5zIzeFE(#>IxqzfRoM;X7XT4_gf#&_H!mFS(a}c<3Y91pY_sHave|WfMdsxo* z03~XjT*#em+5k9nLx(X_qkXM^IHAC890)pE{6^TOS^Ed@)$34`sMc;UO@BfyT;2qI z@J>;?bKrPePRhcR!hr5#yEGP#gaNFMN9q}s6slgPAEf+WOgqxL^t27MPE7rD8Tp#* z)5iE)D#{7BII7j~90_xwf1;rW^@4flAvTb}Q8J!*0sMjkpnL2CPQ?ya?7JTeJXV1C zI~;*Ql!EF=bF3u{Wa*%g@aL~;IW+#mSzNmvh|jcRB|E=NZF;|Hw>Of$-p60YwP<|JfsSkoS(K*&ifGGJfZ|6GKvr{{!^mcF6n znocM3C?k8UihWP&-Au$36}`>ZxT0S(RDV?gRASbjvK=IisPbRCh*6%o5 z#AB_(EzeiZ5SUH~=#c)bE;D-uv?Zj0s`A{X$Il#_E}O~Bxz3%>cmMOG?8npcp1*6^ z5sXU7e~j(b!D)T`HWETbwqr=(rne4w-z{W8>R~;m23QR#2d`VcPEP33no2}Ys_18t zCUC!ybvxZ}CkuN3=;p1*K>oVk&G@*wUrOiwUS3RZs~TG6hxC_X^uR5qJU<0+s4Lj7 zuJNRWwARVIqH3J2tt&m18n@W~3U0WkGQpN!v^`_5TFQO;uD12bgqD5rU}SW6{l>;r>=Azb>*J2y(lBVw5pm*p zT69_0^;hs_n;wXsZ$qlCTvhaxon>9jw!zX7JPo+h*z;4`G$s*<{`I}cLDV)Q%<2g< z95BGYyV+FV*_pX$LLE|G-J=p~N&W z>!PC*MH(B&0?WNim5_e+d^(o>74%iu-Kh>`yGx{uGmluQyat6>>woK*}Bv{Z`oUx5GW75BI&w51DAW2?akCg+cr4VnQe zp9re&kcN$}s#_GSZ@4t!{nLe)qr&Tv(7&ag zwrXjRWoY^9xjDP8E_=sOo`fSOdl*!FNk9juR-(_?tA@@c#;E++uU??MX*r{<*aLkt z_1+<%KNwUD!c5I#>tKsOZvM!c?vGuMjL7@9Ok>M}J%z}_-Gs4GkWxnimpfRhiD~wX zbjRLG7%bwq4U;L zNbys+E(dh6vJ~09Y26V|>a*Nsjz_~+z4I@)l=aF;x)Yk23y0xqMz^G}a(8IL55rxN z6O73wqPyvG?NSvggYYssw9q(&Zf?9@664vi*_0@^73oJ_2~myhkBS%wkA=qj_^Ewg zcyveJu_5+}4w_$eyK)-EA~&W%G-x4bL@}bw!c6)Vk&5l(ckG4LV;YCFOo4XC+I>i} zk1=Rh+nel&!_YSCAuacK6JFJ^+fHa*(7~0rmSN|$;rQ$@Ge3br#2ywYlSMXnL9K&nfJWPp^dLD6V+Z3%$5cgvj zAfy2J?~oTEXc^tTe_lvEFqC*Apv^RurSg-ehze4es{~!skfN=`ar0A}5tESUP=o{& zi3KxLoFaSAi2@L5iI3=)I-;h?`&i|ys)xPp{OZ*8iX(}ux_A+qcFJz#8=wg$DNAO| z(=g*Q;FN~g#7jX#zg@RQrXUb0MMI-*$MzOOY4K!fw4h+KdLc&;(7o~V+Jw0G^oujc z5a{q8Y1J#gEXpO0%V3rTK-^+B2moyR)-@0EC=H4?9DSpH1SJ~meW^m-p#PQKiJ z<8M(u=U2AL-RsqWMr2$i1SmPm6xgpos_y*XjHR=r_!h^r@R#$TlT9fPg{6RBNl(!x zyZ9}@fR^FeIJtcwOUCpxf=!fjiWOZZ1Aoo>9+xy7k0}G^X$1@PRI+ysWx9Ac*JXMc zytZFXLXc9Tghg(xrn--5C*>UzuWs@7#Bi^F?AYn}cFvCxLdr3rElYMO5yys3y^DaD zkf*1$aBuF6i>D|44Vd^;^sr^&Pp|UC3Rz&Zz%i@c2@m3@9{&L;E>;6#UMW~OqM&EO zEyrw!dBFy!Xcp8pJ!9RGDm%hHc1B`2Qz>?_;bGK(^@l_U6PGE7gcXga%9kQ$!p7Fv znN-V&hP$&Nr48lZ1Mp)aqoSh?d)Qa|e<;KjdvoWz=(g9CZP=pQiXQRF`;Wa!Tmy=<5>%A|gou_zN&9;QjuXSd;#>pta>eDg0OFGVHjTHi5WCL#bF@!#{~LUPazV9^sBq;ZKObili~qh*Ns& z=%@_O=LqCEm-I95o6ZTXPKWDdw9_klRw2?J)a^TJ)-V5A-_g#_h(hI%IV38&go8K!|28gKxhS=I*AMnx-w;}4*8TYvq$pgU=C zinSu9K)@Ce0Qn23Kj4%0{A=GY$HaW~Gu0z)mGC5$y)bCz31e1O$n$uSH(LwjvVaUG zRGTW?>DQc$>X?AVSW@N~v=9bRpr{Kd!N>U4D@a1BM}RM@UT|{N({XXfCyGDaW&RtryfF>#-OVEo5ixzkE)3V6ug!rk;39wwPi`#!y(rXM!HjsQ{}uTF}9d7fyplL z!b)XA1%x3;0>qCP*Zf(lG0j}aH-#z56mUR`12BVjcu+9_AhNT7pSQQ+NN0qlyhRuC z#$x_jHRYeXoQEfQp7a-PG>4!Nw*2tuq$>NF(*?-M&3%5X&nf}}l#Ju^xlRrFGn;=& z&ct1eEM7p0Sw`pnM{FHUqOnlj6fb_qSh8lVXg05Cjmlw8rK; zK;c|9^&a>S1DW)EB{5GT*(3hiLMO704BM%Uk*wa?C&3l0aEwz!p@vu?lJs6jrzY4J zs$d={v!7n3YY;?c=P;&KsQ7GE%S~SEpXF&dBW-pJxnpR;A354ozgh)x|2VU{0|2|< zEDdoWclsIF^Yq^(7@1~_5_`@HVWjI2ZgrOO!+-6CmX{dGp2xqT_c@E*>ZD24^dzTU z%9D-*{#4=NTn3KMtMKt%A>7FyLzI@L6D1Ti$4}B9J*e>3d(a4L3(v0`b$#z}H#?uy zX$pCA!o78X{*ZS5_@~9y@4?dD+9-;NW#8N4Rc$ufUq?*)Is(6YmJ7#IPT)z_k6~*L zWyF%j2}@M9Nw}yqHYj7p7oo_*kN+`-hufSu0|96{h6M1`1Q?LxpuutYHT3#rY5~HY zF9O;7=Th3GQ>B>ynkANK6!#vK2s*2E;?5k{cUso+w-^|ZGz9TPw7BVHq7JCWe{${U zWR8P?Ax>R+GD1^Tv2clb%X*2K53jJz1qCufO^#f8XEu!Xi8W;_V?jFAc`{um`BNIa zES)rD;BZ$RPmaKNv_qS}*ROKwVzwpx?37;VKfn7JYG~1pL~~WU%Zw98qDgECx65vm zG>K5+K|UIYarkT5DDa!KbbpAKoi!u2()7rFYC$gKp|(3+yL5rX*i&N*x4)GfeCsm_ zVDh=vApzC9vNJA;4zh?fB(QBM!_%{wJjzzXI(?R^UQ$#2BfutP49H~);!Odj3c`5N zl~S$5AvdF!<{^`ACI0i4Crc~l(!kuX=G`1Ly=Qv=pz<8}F5j>w?&_L>nb3OVZ2On5 zRcUr0p=G<5Gi}B8*-AZRtfnym@?88~9n!$#ZWS)0^dLrh^WB_+aR2=YcTkm!+n|cI z57@*Z+1Zh76peE$??HH}_<=D`W5H?3-gK6YajvgjL!GF_0z%{3`Q&!MlvMWl#UL^p z2+)guaB5WyizN2C67#n|{yn!XJ6My&+K6&aa>r`1Z$ zO!~kdBaP@Cnfyj@j{i(hh>%Iwiw9 zlvTmdkh*o6Jb@wLf+^2YGh zA|!owm`yaMVRg2+GFBHNV-n)SElAx^v!AqRwwQhJjFcgix$01CCVUFE{6HsGAlWKh z@-$LW48;nbFSU|jrBMLh14T&d&sqh)Iop^)GGYpTXHm0&2qrJUSWr|Xr5%hr z^n2J^9WEB(d8i2OJB`=Gn3d3Z>LT2N1A8_q9?$Ym>a^1$rQ>Iecy*BK>cTNh1?AHZ zlB3>5<>?33dl^km(GcITs0qn@eg?Uw`qRFlb2TCYdI2i_!NuYE!5Vamg6n+{pP2)L zuzd0-EB=wKzJ@^jjqkeMMeoNt|NK*&d^~^m`xToPYOwXhkP1Dn0hhkTv zslEHHJr7^}rs2H(n~LLRufp{_^j?I-feZE}2>)y5NqEdbhXs;QiIS@8FK9mFV$q-8 zN@9FHiQh6y_jtkKCvz_sN1%3LGQ=4xVpElViT9Hi&;P+o&Th)pkCopR-%&0Jk1=1bg|h z=%YrU_Ls)*U_C2^az2p*xCx#7h4h_yk~ixkQ&7vpv($Xnz@*_?9964Aq1OuXaaseL z#|%(`2+FY<`YYtoFp=NG(mq4&(S*+u7_Ft5s-%Fl);gVv;5*&cw(f7ttMFg)GVySM zi!PGxe-E50d8G1e;K#!J;Osm*^pRb!2@yyi3KiH`RGcXhZ5TRIR zHwC)-9Y^AWp&!Z`APf9U8RlChr{JRu*(F=**L#D(o_nz&l(TfzxMlC4AUUEh>a*#J$QlB?j-GyT`$r%B^boh=%T&Bw(Cu1(7w{T6QGjiHQIf*dVb0h-BkDyuUpk>+ zITE+WCt2Z+OIYZk**8`x={k7%g5^V6g?-8zp2tU}Uk1nML6Rt!kI5n(I*jCab$Ce~ zD3$7Zn(`*IdwjBSTyRY&4v-J4|GZgVBA(>g>$wlh&Q_~EPb_!=d4o74#`h$@?g1e> zQByIE}xnEs9`8KU-q%+H24N4FF;)WK16Bg&FLW4I_rP3iW5 ze@fihW2e6}pP2bXZmKt5PrUJ=_9gWwe+ZxwyuQ%FjfSGR8v#S=fwIGTYs`BhRBz9YK7g6~GcfyLV_?;ol@A%aT|MnHdZ5EzNp*FKG6*OBAHtoE*5#VV zB%hgJB(p;VVYHyD2M|iwVX3|2j46mi^X!vp8zNWQqE5d(L~M@0Y)6QHBmY1mq!p2L zI_()tOesd1vm3(p0c}-($8FKc2XM(#++}>YF#t{>7{3qpAtc8rc$G0o$0^`@l&s_O zfWJyyxEd!?ud6IyUVR$yCh#$r$8^5n@mGD{;h7a{Tq-T_;q*&D(a4WU+So)@vqQsP z3%PKI><9OO5Dd4{AI_$C@`Jbx+_>svl||wel_@#CoAp#J{n#n$d4{0tf zZ;Rku{!X4t&Y7DuJ=S{JUc(7<85 z9+NW+0JLW33<31Nx3nJU%$QBo5X#v_FqQ>_aBCpx}%@L=3vGRnN$6-~1UY zPsW8*ri-07peOStQ_HamG z_By6r_9I75!1dYBshOxu-IK3Qa9hH#FMm_vhs}@aP?p{;?Q)daXFrguY}?Yeu2tf8Wd?74b1a>^@>7<>4QI zli=5#cQ>aVZPEZ#{*PWP2JO7=XHef9y}xqZx$ZKW0nnko0!T2FdoswuWCB5RB0%7l z4slh(gvAZi0;IQjxFs~W7*TI*BdRblRoX2+G;AWwc_-i;gN?25BqcH)%+FEHfbR;T zWefz}%)hDcw?FT+zyZX|2b)xsLr%>soWtK{v4+|(W};d)c$=wR5Y2xErO^e!lIUQ< zfV0bK3!g72AAL{mrN8A=&~B;SjwR#nQ^7u8hWhR>anAhtP3dMre944u34DojoZ7QBN5;iO0TfjIB_=?V4GlYKRc25MGv@TSd*HZFl5k zVPON%TQe=5o;Cu6m}}Cksdv4+lcS?QX%*ZYyA;0zfvP1xiSaWgJr1t1Qyf^IOof(x zFxf9rLX&uVA4MjgWG63jt<60k9GrzQsv!Xx&=j|&6=;Vfq2S1yIcnWeDxOho*`5sd z_~y=f)gzx6vG`&)Y%fG!zlU5*)6C%qk$WFMlVT`L6`7g{K3`B!`6ijzE`hU)LP=n6 zJg=04`q?~Y;5)dZjZl|DE!VULG-wdTGXV7%XoT`$u>s~6@ZuN7ew^^CVQ-hao&Mwy zZfKl%twKMPPXihh@Ef|<0Y6~dGPE9Aa-XV=zFznMK6rk1`MeK{mqnFkV`Igu2z6g9{FP?d)55^pFs<#~TrA?Q$ zjV_WS4O#%y8KD>errlH;As)9{X<@LyH|(-vaeZI?uliRO+kNNP>-O@9mJV32m^u5z z8%8E7-u(Qosi~m}c+4%k-NNAY-xT>aW)tY$V^jsQ?OzH{o7^CNoJUzOOR#}~L}rq2n)FJH zs(%YK^rS~#oFv2f)-*#92dndhT?mhEcT{p4-$n?kIIDN`hcj(%@aPPW&+BMti63a_ zQCn!K9|wmoDPvo1u$7@rZZJ$7VKQXsh7}d9i;N%lG}C;_+|!bD!>&Hl+f8iMzT0@iw3QM?_Y6@wc>A3 ze|jfI1}r08VA9#GNeo1ENX1ir;x^8RQGdTOP$E+>YmSmw@@Um^8K|U##18ZHhN>1 zQ3_)htr0B2f?2b?Fw00;Tq(=?Sjl`0)b0P?HxRKiojVyTnEi+y&1FQ%AJ2#kPW$iE zZMJikso%NCm(dF+k&3UEVqx?0)i9!Q13e-_#ghsrmzb{dOnytfrJ(`{EvhTG|98M$ z{mH*DGb88d91D|xB)Hr4dI}5Dhz3$ zWp&5)0lK1tv*{W89YNU!5>}~qb5saPy&1I28kDuB%?nhzmJ1#Ll>HR6Y_iK(OtcIA zMv*M*{uhdLY5uwC8*E2Lh z_{+e>rqm3@9~Otscdf4-vZ)=OYnr*ZgU*OsGAd*+3H+t*VzXHxrH`SnC+w0Uhv#4t zLJMc}4J0-3+4 zYEqPk$)4KkNk9oLo`GAR?H9HFVOf0yora(4j}a~3QiTfZSa0_z`qhw<#R(WT@41U^ zuIKG{PY9`P;qFccYFiA^oKq}|mjj$FvtSJr@*IPw@sT~45(`k!5{qT95{n9m5(_`5 z65+4^@7Rp!|J%F2lY(+VN^xV${@+fs&I`ITR>Y4>p2?)d1V7!YEf?7y-LIe(1HQ?j z|1vUW1iN(l7ib-yD9qK!hR+6F3=1af3Qw)Z4phAbDp7#R+u?DWBg@`WKBNjW51z-G zK=z_nOGo=D>L?zW!1^ivippn-8%QXU#S59yp_}NvZOqzzz5M~Lmdb8+7QQ#-zz?j7 zruhaEH1^d-z;QvWs=7m|mcApN4`k7rc?N$z7jSK4WTP+AG-gB73fzD+7OJ?H+P7;h zG7*?RsD@dHuH9UlF3GE-$rXue-!h5MO@yZ(`|qx(M2eAZvgemZR8XeF4`+vyv$XdYTTl#PZypL}PfPkOAWV=6=wAOZToJhJMja%8NMqj8`-QFG zn4|nAoB+)Vf21c_ubZEpAho8lQiCamSlpo^sQnK6`7KN-9C`$nm6AK(XQdd12)h3D zVIdw;-}|87Cy&sLVjO;RAjgijP(hg2vdi9D1k?{W<2dS%*F-7zn=707-j8oWO&PnABycnpUMPm0%4mS zS>(@4@O+*RlzlkVR1h1zamBAkecl%S}hl31JM)AZtOZIs&Na{7J8JV^oGK)3?)@zL7 zoXVSP4P9i_@7Qh)Oi2Dj&Q{W5% zoXrmng$bz04cLGQ4S0{~jAgo-fD!60D>?#d_00+!C&Ldwd|1qY`QT&iY&cOeLr$UV z_JFhY!vHdsK@=VFfzOca+>C8h}*X*eWi2d1cvMS^UVST ziwq6`$%c3YPeMpr4c@FOq!;C!iv%oacZ9nyg5W3TM_{Q+1av2QX7zAA-nR^SA!TGo z2v*@7u=@Bh?YlxRXc%ci7E}ovV)#g)}s9!;J!vQc;B9_h*IP zx4B<@X)Ex|HZ%>m{ZWbvf^8529a#Wf6Im^hZa^lgD*`{exRMijmqH4heI5IQ(?y(< ztsr)6qd4Me?*Blc`63HGTYsl?0&3Wv9mgd1o1raqv`E2*&cGHiqy*dw7-Hb ztNXByh>+<{ff@%pmvQ3HW1r-yM5qrNA#-4t4*Fq{=Le1VZCqb#T!$Pl*nH^KK+c}g z=7ILTd1NYH`d`^wbo-U}u{MWE_p$E>5h@QY9p+5}EI9$3@*Q|bYWJR+h(1$Is*`DT zFEpuQV0Y)(YCSn2uyHj9S1Y4qpVuLK2{Y}-WVNp$=tC3D+Y6{2GWsmP!a0ZY^&x&m zaSoiD2SLhGrQJgx2r}F*gcz>G6(69*rd}GH*cLD;tWU2}-s&3JYGk-vNWWAl1> zv*12i^shLT+r4))FhoaPIB)Y!cY!zTy6dcy&A7)EwamMD^qeXy>df(FImd_X!+$X& z8KT2r(fjM*5#hcnIAvTgtMSWvYsr1=wW6M>{5Qv$M+YFb$eMol63t@GA%xsbhwpp# z*%@iEDt9C9!SL~5QvLRH*^x5MkJQ4q1ufdu{jb=|bpCU>=YpcV>#XZ#d0UC4Yv8=o zs&7255&E3)rFed<|DW~Q+Epr^!d>78$s2qo_sX!Hokzx0-6>JTR@9}hS7YX4Ob&(f z5N%m<3-5E!gZ+Jz%8l6uN{-*2*Z$d8=GgVhyUJ9Y(qc9!&o6x2{-4`xK#%7%F}Zx}bC0Xtm&b**oz#U;p|T>vIR5X(t=TLh9Hir(U!D<_DN|J#g&DoiH@OwhKB{4g+qg zfc8PZp{HQ`C>LK6*8ju`o+RQ!pcpLUU9am zZTH#xYW>`ghs`4StT)Vvu#V&RbgysAXF;2`uFpH%!26B^7`?z zeVa5VsH0i$xjC9A+dZ%I&!N)S{Y9q>``pCvQM>GWYI^2cc(eOn>JI@lW7=s!v%7=Q z?G`$5_8T_c6wBAX(cg68s)ukB=tn*id(-QGy4f$i-F=rZ}3@O z#viIKH3ddNth%-FZH(;g;USI>JpbJ~6reScr(vC; zH9*hb;#S`$n=Tl=>U0>AzB&hGu+gOU(?{}+Oplqy&ht*RB}1QU&`+rqoCOdt@!@l4 z-~x$*vkKtB0VU%NHh>&R+b`fHolj58-Su-J--MN~#rrj3T9*#V=LiXSVBKmVwR_in zPeU|)PA~T)*_hTTJ*Zq*p0LAoc^ZmhlmmqAfB+VzBV0Rp!!~4(ldT!271LPF)s`kX z7QN*>6JZpYp@y*hhmZ2j&G`mIFFyyE;zlG5$xE}{;i3p|pXAus*mPZWz0pGM86!C1 zQXgFl$?QjE|1A9+l&ov530lwGOnKpF4eJL$Jc1~6x7$A(hd}B0mNC2&U^)qjOmqh) zd1>8sIqna(IGL$9^Y0`1Oy5FPBEn$!d|_jq=Q~QSUdle~X|zcimUXc0#M-;ZR}Mz6 z|L%A!dhe$#UrO7D|7c5uNjjRfYRYDFr7kE#gy~n~TBn$aMoD!_VPkQ_mp>mrm-~?C zC!nM$*3i4E^>P391y|o-p1!2_SupRnFWkc%Q!MLt(dY6`oM+uk^Jy`*<&3A@cx%Q2 zt9dm#LOt4u_*q`Q5VlRD!!~5$s(umg^IR51scqJ{n5^S9g&T3H&3MFX77zDQd1~hK z73x(Zm!xzU_?81#cfWoe0x!6GWrVtFpWGh78(Olh(wqaAMIW?SVni5R6nZ8 ztFc}<_co6MgerOT?Bwy%7OGw@j!sy_I=SSxyPEZsvCB{c1*wjOO@ZgeXY*+#LhU9? z_Z?5b$olf$$T+j(F>Y2iXX$QSwH><@urk`poeai}9S&aXTnRn|12lz?1~7g7N*Pxh z+pk0GB^pcWG^w9*_bNrh_kl4`PV-FuGzNq1*|Vt)XN)qihc~fvxJQPcgaBBa`A>*3 z*Bwa*B##!1P{RFfh7{7g zi4CmUn%zo1blXYF9P%qx2dW-dkoZ{i=p1BZCBNtjVP$&hCPkPNQibmtH%?v~`l{4n zi&Ojy7BFPDd+oLIs(=%>q`V7I(m=8KLXZceOCo-Bur|NIuDIRjNjt3p-_-y$Yh?E+ z6OMgxDzGn)gSsp_SyZn?SDw}e{14|ZWpW}Y^7Y;zb=NkekS!T6VE0i{RZ@9tQsz0C zLNYhe(CC}Pk&Po0Ct!Eil#le*P}+VcIynK-sF2~(Qsun{AQrO;Vqw4lMvriV8b+#v zvbb>t69rX+0YV?U6_P%OEbI8$`gx2Pf_@vvQHl0cV4=z=+{eI;7-En(L)Dmxlx=W7 za6ob?REgTwxm;s7QAe25ka|a^Pl<~z8gca-uE=D}n~(nT!Rk<$C>`4j%oCpIY1`yw@gi0aG5LGs3 z=Zz<&Tqm7V=iub<4DJ;&VSoW$OmhQ&%(2vNTIS2y>{&S6{n+s7UmG@7$gK~}QCk2j z2otGzlT)N`ThQpCWoALUbAX@lvnoc=DGxajIz?Oy!)HsQK;yT zYEVs<4xQb)eeM2Hmrda#q9nMc?DKDr_jH5LTT*&)A=?QW`Fux!Ls5<}nUlJsV{KDm zblTLK;tJVU0Mp5-QZOYCzy%L1aC0Q-o$8-;0*k?_?ZBB#fC6%vz*>Bzd#j4^`@IOD zAfj&zwG525$qB$5oIj#G_Tb4=~y-xjMh1m{PO!p z0m!1`W)J@G3#ZJbCXJ+B#hPzlUJ*!$sdXxK zeOdV~TiW!5U*c+Ak@UtnYZP_58lpTbSQMnkNvBV%Jh*0CWExJ-hWPFc@g7mZ4YXKW zmEP|z79$eu^XsrAFS}!$q+(egBPULi{|$&Huvho!bXyRR zJs2>|G+$gOZW_YU(~43=)n(K-@$g8#=3gEA(K_-v?$UZ1oI$2Tt~Di-v03r)b80X9 z5NFyto~0ZICJ~eM@Swzv!)rkVLZZrCBUU!H;qi+M8<(u;dgj}t3ev*DY8+xQI@NSs z+BDrCxlK(Rqi*=!^kYksJRYxrwjD>gm1}-&5>iPrjB&QJd}tEW1NQ3z0GApbl ztJpX(@g#T>CvvoL(cf-6(_RdFtp~1qX_6!9+Vvs%e>eA^DhYne;~^H+RPdGu~sdEcREqM zsuoef$bpBoROzJhJQq!p_8RuL>CCBKeAhZiH19dBVsG5sXO1vwxnw+QG5W8Q%<p$i(51YE>P2rgBMzp}N5m!%ns_!G`ol;gDLFMd&uyG6oi1DS z@l(vctJQ@GrL{SqORvaK+J)gVE_|^W7|oRty5?`zr^!$g>;2+d@ z1M~#O#rkUq@J7p{U3K=Du~>&2w0_o(p0WQ^v}_vfU;b!`={YfFlUnbot?M_{o;5cD zNh!49l5*ATeh5M3ORt!!$5KC9O4eD(u)~(o|8Z;4o`jEUA3YrH?s@ktQ#4?fb2>xL z7Zk$n3;?D#l4OO{?_B-^Cf#+iBFk+c==tdaV0pb^vf)%2UJHhT5pGBM&lP?fhu z^^xg!nr;83vSVE%`!H~U2h^tI3o`x+TXd_1^i~nj`V9@k?BF0+4nk}UP5%4i^sBC@ zJ55dBdNu-gfo!zAooThr=8mtqvSZ0vmqdQW4FxITFa>PvNgkGh7tDN$`MD)kK;9oJ z%j&E2=#W7$u=dFSm{wuEm+hgjX`)0{{>TE?8`B9#j7mk8H=0Dw68+xOdF7RKV` zSH95M^Rfd6*ohfGHyYnnFRRq%{A{!?f}E%~YoMaj`5;g+GuDR}DeKyXZ)hy9BKiuQ z*->-0Pn$Qbt_cf3VO#g4+^oi%C9j5%AJccRJZ;<&)yG1}4o!kDBI%s-F|ejBg*#?7 z%Sv<-VvWa!i^Fy@p%s!WNu2Ub-K`kH2(O`Hz{=cWQTN9>RvKq^TtIiq-@hPa{u^y zK*p?8UH6t|F)_;DM|rC(L8A}c?5Z&I!`<+^OK6g|V~zE&`#}?9N|6UeXp%rhR&K&4 z3Hq#`6BC;YEGTR^-kH16QCAYCDpTZ1KYL38+jr0tb7msRPIZxrxySPDLrpR!#dwzO zTt%G|(_C9|e&mit<4_5V9=BD>)4{cE*lJorm{CsMK`T!)fqoC<{rh=e(Eqv{bVFT5 z3ZVPzsgpbDr(?-Jw2fr$CCs9y=>^67U=ikCSmKFGq>$~$D_9ba6bj0MKXy`^2vfzf zVTx01qGlUN9+`@HHs~5Y)6v=}*dT?r3(~V;!rR)~9KSOyny)~FveS8o8KRtf^fZF& ziY+fw?UGnMN|;Xc3wV3qB6qbG0fL=H&i-9}x3nw>P_3@oJucNdpF*~>tlj*O{Sw~zB1Qkjn z+(_B{#CpCH3&mk?V`6|{WWYpOI0_xy-hc&T+zT8W^JrrxEt2!!06`e^9zkpr>=}1q zdl^{ggN<8X7MWL=q{EiIM6ME3+EX!mD>GR*Uy@j3p{*YkZ(+VVYYK^4Gzmgd`}7RA zwkEdVHY*>G|E$JhDrx=suTc+^G_BGNNM_Q%4td{f6kcmVHJF3TQZzj~MtjokUbnyQ zC0|F4%~9#fw2kAQ3c){t0iD}9Yw+gG-8q3;)^SHacN(A9RRVyi8mxurW zE?g)@*LOS{jsm3-a1Okks6oF(b|sEA+ks8mxw#h*x?3PQwV3KOjz1`_etdjR|Ng?x zs0%|r%B>Jhd*0w!3KAC;i~SjWF=FBaW3o%m;b5-mLd~Ph%4tu`b?$M?iy?IWHP^S(LLz29HJ;QGIFsw6BQMNz>y*LfoT%S zDk?c7dOH+I8cS+V11ZN*{q%Z?lL2ogPpL#TI3>94xS*qO5%_48wC;?!gZ# zyO6V1?3Lo-1{Ggh61(>z$P5LyoTl-x-}~MYEJ~rr@E<&)F zS7^rg+_7_Ef(j)2Of$vCgO)zd3sI5}hqYewLD|FBc)oSR#9z}9{x2cnz>X)%Yr1~< z@y+?Vaz*1H6IDD0gPO^XGzmIF4F8aOQx^;gNfkf7=JyN8B{D^37-rI6-|BYxIpn6? zKIYdJ`KL@Y@-U9sD?$ku)!V`t_rjr0g)h42@ST~J5gXOEF0qHYm;w}?a1@BUnvh2M zRty~6Ye8FZQWx>^0=b+;iRp|t*1Uh_+{cl(VQd`yD5TvLc=xu?gaq=u*i%5 zxkHo^f~uBCIR-sXndsN%W+2=wJx}haj2x`_1;L@9PdxC8x>vBgA=JTmf&a9Utt?HB zDT{k92-7rfz{ij*%St2PAna2-DSiuMSL2`)(x!$nHMGKO>sANPL|--WKUTZe$3M$ag}_1Z1EH=EjK&}9yP|kxsC4z$P*da$?b^o+5n{g#fk93+0lP1?oWPc%2!Z{1sruRC_z z-5*WG;=6I9p}IZHvLwlFav!+m=0EVb$HA7iCH3)c#i~)?dJsA!?J|!@K8oAN!VJ3V zB!?M71X)csp#99X9G!{@91b>1ps~8u`f57Rt^Q=aM<_j6|KZoCpPqePn85ku4mr9o z`wO>13sM$QFK-gMO;q;oer~MZj{^k*27n~y=l;g$5 z*LTbGNupH~_%1eV#}UQT!4n^)U=)$+UX8zkY~g*^t_~P`Y zd5_svMG$+Zl3<(g3^N-}Ap8VO5z$>ITnJ9pq(LtRAUa!mQpoS*BlT#td{!m@8@@vF zm#ne3Hm0rZHJfpjb{U~EOr2Ri95RcrNcwQ|pMe(%o1@ z+)EE}9L|Z|kO;=guv1C&oj7a434u&np^5aBfWRTA)YlH(oFO9`6mDJ9fH68^hY8Z+ zTJPAGr~X$ijH}aML@bZQqpr{LhgPnRh-()O#c}v%-ew~OaXD>R?Fb_OijYnR*hu;o z_uw=PorHj!hfZ_$QdayeWRRCFPYX+mB*i^P* zH<+1b^Xwpfv}>n;NOF!7JkgwQRg&6(=Fb!ntc%MWAu8~I9iCyQJKVoTKf z-TB){Cdfw$l?z)(&LcreLCxe@ELw^izN|%S_*5*9CHdwLC$x2QC8_i^`O^xxdf%1a zuLOwY9q6-vJt9g=J7P*p^S(HSP;@UTK^SL#^+odH-X)#yx_bU1+*vLo&JU|d``Xj1 ze%)BKK0fo}v)0hf{GlT@sZZmGD$U8R6P2UOXQW&K^Tv~a&;J>d(h zv$ARt?#7j=4aBr{dzBWWyY(tTdQkJRm%r~ahcPv1eft|&J~+S z3eglzz%U+Waf=szbb2CKb~PGl*oIzp`U!H2SDp7zIG_&a@Ty}d+F1-?@e86AF|t#2 z6?Q8R$SS*CJg9i3AOxjOd>M=BW*+BHp1zV?RY;_#M{XslKHrhhjAN4<){SD56K2n0 z6i3O9-ta{_2Q2hl`~5TTtq^zJ0fOQ%8{2wAC#bJ*IH0@9?K^(Yf1Fbf=Kq6pYW%-B zr;_jIOr@fg$i7Fk@wOVP&*Q?dZY+LnnNywZqDz3hIC2T)$=eWzp6Ec|^&(mViTDF* z*Ed6Eu!%v1Z0)JZr4KkcG~1$05|Bt@aMVt0dSn1N3?>+uAq|K)D3iG#P@FL|4nhP{ zx%dkg&`S+HfDPgI2?p#5h6GxHK-&{dT$&yP2}Q0-#|nRu2oVSO;Qw~`ipQ!a*%`b# z24CO@)AQX%jgm^qfkTFFu-qX>mc%7LeGd?V$t91)MW*)mKcu!2B97G)YRUy(fP(rJ zDBY#76SF|WfY(JdocN@+<3t@s_GRc1KAK>)M@qSY__cjq+=={?IfKc))3|-v1`6fI z#+yG3e71e)Q^+kJJUuu0ZbwON`fh=*ZA35el+tqHQ!@7sRfXDmAcG!qQi+ErV5d^++f9z4yV=C)w4$v+x!OA3Gu+T@*ej|8f9Y@pk2|WZwn| zI#cted=}bF*$^wmYk{DtlwXD4QrA2@|0U8{YHGG4@AbB}==5v7IK_~iR-596(y5a! za*eJSW8;O8R3y;-;D-7A)f4)u05n)_+LUavvw3LcdX0O8lhNTA_=y_9WRPiCR|`E5 zWCjTW$p+0RqKm5vt(X9rLEa5Nz)xD_5uCv^H;c<7F7`!5yuQ}_hX!u^ci{v$BUus_ zWt{{Kdmc_+OW5VCRN9X(>Z8P@S}BzuN+`)K z`qp~t_0`E>%e}J%8cE^2T+F?A=fcaRm(yE2TI0OjO$vCUCp=XmCf0^^S~9=CZTdjN z%=z2jo{j^18n745oFY_Y!p7*e8NTxY{~7YN>-$3V|M$iH1L^A*-7Q_9Ds(BbGD(4m zWKb+D3C4fAJqI5QrN{NHY-ywH&Io*mJnI!sL;Sf5QW6%~iFS1u&mKj|vopnFR><`wt3)f_h$3BgGRk{B>ZM z1z2-Om85bV?J{0${XehNZO<0%Qv~+Izb#bl8bV&htebaq4(%5>^?1_{YPp@|G#Qga zm+=;VT&f^1v*hjB7+!}`oWE6nU0;!&>&k)cY4#~R`(r4D$B($b?Ou_Nm7_yZYP2xl zwT$UgYxyIV`*gmQ;;R}+W2k#K@tf_ZN|44-BAbj)JvtCG^)ZXvn6QXRVGUj3{=o~g zP;Wa=9-8Vot{8e8x-&Wlmqr|4Hce-)y{ayTZ>Xp;kva8kge$%B; z&ub8#jphEnSAYGl)cr}wRC7_IYO(}jhC z`LF1^jc#Z4D{eyV>kGe;iZi-q^NB6)KVQKXU$szQe@;AKK6kVEYrtx7hxIYEz^G6e@;RdXb zzz}1qgAxeoq8MVt&y3GMtMzjH{jV-ofiaky(+p7GQxlDxYX+zJ@YgUnzB8U8E07bPFOjX$_R^7>q}2`Cp*|GwuA3$N+>9IBuK)L_hc zz@RTbi|qQM_hDaT8NW#dVl>x7AFJRxNHkv!qa_TYY@^vP35@eVZ!3?SVm4Ots=sAC z!v5qS@x3_5j4BjUZK_s6a+?A&TC#9Y2c*g(|<_ncwaN?m3^* zqvQvRNBN1CBj^OBB~s?aohReMcwtuV&0f>GonvYi+P%|+#o_0LGhd^5tON8?tENRFJ~TqK3~F?Rul-{q z8-J+;K#D4BdscL-g(tkGQUQB(1_ycnBw?F#kI9cegvPMExn+@50;zGZ90Fus;>E zhI6E3FH#B?ksQ#lj|ZUb|6b1}%~C&eMMw zkhpdA5z2-81coz0rj}W=^>QhBkZBDQIuKULg~_B(45M0y*2HyyAv1Fay9v!HIu`TS zgpBi_WyKz+2Z(Vkvl=YTu%9bMstPqjvWqAW1J!2BtsxGApy4v^tDNMFpfGsO8KlBaZ=h3-9jvodf^gE9(-S~2?pQJaX zjdy~3-OI`*0W1`;rzg>xVT)kWQ1o<;ZV3AQX0z=XO<+$w{80K%e+++rJbOn{4d^12 z0zye(qs#pK>n~qf82%Z69p8VwBYna_?Lee~)0W{iGqGa>MbS;ibvL>wBm6~yl;V6l zf$%S)W+eK|2=M;W3bCQW3m!*MjpoQvx8QTO(c+-wLWDwhd!aC4@rEM)&i9*#N=trD8EnE zsod_Jz)dZkw^eyb5)^FLk6_QCMdyq5(lV4r z+Wy|V9B4)kOTQ()-@#mje659@BxwBEI$mCHGAh_~B9V!=+GM#-05LJKk>>mY{y{S* zcs&SuQ6Qxq*zfGn5!7prqmP~N{+>@Tk_W)ZG$TI?o#V1~3;6B!cU$?t@a>3)DdD+o zrIYBv0Q3ofAfx*ie~4S%`-+)N6^OI1=cg$F%%@`l-|pxk`XK>k+{%qqz(Fbnqv`nP z3@KJSn}hBbjOzrNzNM(2FK`|w*GRT?jl!s zPp8MA2Yp$5CkiR{&g(U0>(Fty3jEsnmNfi)@BT`~=pc>({9hGTe0aePD%$GbU7-z)KUX2KMw_% zP^iDOF=42VyNXd^9S@U%Y(Av-G!4BCP&@{ZvE0g?|f-#8RO7Ka8@2my)@8}9JssrxY!hr z&EYe5B7~?q!VCc_scc-DNFQZd`>m#?ZEw)ssco<+2QHjT3}2USN8LVT%L^b+Sh1k@ zjvKJ=%mlg7W#*=K{j2N=37dLEmI>VoTuryxtWJjpAp1>R@@Y#UT9TZT|9Bg~obzBT zjJ70SZu>L)1@NyC8Rp{FDaZl{B3HVI~cbywjey zr4iG@JwX-G0F}WO0pvDGhxLo5F%4b%EOLJUm;QINSH-*mkpv4sPRH(f1VLl%BZjRr zv;XcUWFR7tOH01*W(@0azLB-8|2<#4A*$Zvr4uFdc{bwe{F=~OR>c8k+zu0c+*nD$KgJWKTQhT~VatcD1BxpRwb&_i!&9i2N!*DNNK zg_c1ol$EKgZRs29@f~?PqT@qIDC9UV7dL+qVtHDXm3@Tcm)j5<{Et472RCf;vnDr6NP>|q0kLW64IOpT%aD=EmWeqLEH;u z3zW?_!`Y=U%3WR#R7eV7#bZAT;{$gFK~%yB!}O2=mTbnCX?EaEdk<-2mpMO=hf<0> zOV!NOnya_;y^GwR>zm1f-)5%=3rnMabx)SxoIYkSz+RbQ z#i%wkJ$e;oBi@jl^~e)(b2b+&*NSWt-qUXB8Q9TzFx4NIDx|smOtqA!`1gLiu918Z z9#dsARQA7WS?jP7_yVc|&zs&4+jg4deMObDFx$&YYDXnRR%2;qo?y{u#1B^)iy)b z=0tlSi7xNID;k;`Nm0)$lt{1b3U>~0sujJwuQJU$&PT!s;h<>&H4y{M(DDl&r1Q~wCoa!DA#HYU7lqekZ_dhsw_}U!5%XA`}c_sJcHasHsYw(JtTp)X%Xworb-UbGXtSenXw?gCG-PuMSjAHr!c52p*+(cxl8bWS+a%F z2?AolC76;&!f3Hl(=ZMS=Oz=A0+~d%)c1r~*-2k@C8wbGSQSFVn4;|sIy>KFuMwdG zI`!~(=g&EH&?k)TTvi4n$o{8nxbqwBWloMlkeP}J{Gbda$6%%uP8WGm{&)MIq!FRL z`i>Ig>E)mB8{{`5HWAF8xD=#hvxIbtOhFpd#s1HEzc79I$t`ZRtp5MH?2-rYFl;e1 z5TgJ3>%1@!T_R=@GWfs5I!8m7Hg&2s&~f2sLzi#}lo`8iLOi?wb<+V~JKeF+n{Uuk zO8`Jgi9L_9C36pt@)}nsgY1xS4rI^gcLQZ4C>{N)IelVf6o002fkZCe<{|=Vv(vz= zg<)Sq0^ z|HGeHE69`_q(XRVCr>z)TC1=iJ|=QENG{&CE|wIgp@&v;q;xK(tSrE3S!0322#x&Z zg<7(1)UB%Q%1TbnYG~+GA2J}s4c+gXf@We<^uNhtQ44A*V6gJimVDQ}fo|b;nWfJ; z&vGDmz1HuxFlR{Whq97D89|nS+r+2vrlxf~k))KKgly%5yejn8c77ssGLGD6l8a}U zNFPR?izY>;n47!W|x`Tn|s@s#{jYT6;jnU{!Dk+!_XaT&b|x$iFHHI7i;k# z{v+vWq{e*tq`hPW{RNb)+dX}utt2g$I7(g>p{$$gtg0XhY{;ht`WY+-j*IjwOfB{GVzR`#x5Uu%hNP!ff1APegOAry+WmgD7#RTX>%+Lm9( z4?%5OG?aZiyrLAf$-8c*&AUV?DQzr^BA;+L25S%sX)*nNTp4xkUZ)w@0bzTBH`~d8WzZ!}}#43qFq| zoR&8U;)7aF#JD#~M~gB{$StLMYOhi{6 zWWv__k9iZfaDD4#D?}9oTYbOo_3;KjBtFuk(nqTfs8VM3`yw|Fr4QdDzenObL!w^& z>Vo?r$g|fxXjb1Pr^+@BwQNqywqH;f2v5LAp`FUM028%z%)mdlB)F!D**M4dEPfSP zAG^B_Vj8jSXGyT<1hByjIM?~On(YC(q8Y)Lmk%qFg1w;B$QNvb#5=GcY4;%nXWlm` zH8vU(Sys`U-a7KSbD`O^jJ=+!Pd{Oj9|+K(9KbCSbtL<*LWRBUj8wTV@9-b~fvQ)& zltYX*peZn)dS!BTzQ2r>$6P3K|MrH}>%B!Z3eoXP4?SHr_B@r; zbGE@MqCpi|CTBCQ$Jo0-lV{f z^SWlBH&ZAy>-MhzFM=(R8aUD~sHvA4c7kEd4n;l}D@tAeAZ=5!2$Q$cLg6HAC8@4z8r zi`V(gSr3cKV{%Qv(L*hmoQ|(ZT-pcoe-QW8VNreE!ZQq=LwAn|h|&$x-3TJ0fJ%oT zAt1sG9g-uGBB`{}-AE}dA_xdbH_|!toxxw-`@QcU-@VVh-#I*-fW6n+tM=M!t#i(R zP2vsU$v^q+CeFDguU%*NR_<$BaASGLR(Zq41y^00uFe{v`>hYI{X`f{)5v6~g6NeL zU%l)|v9h`M$&9}2huaQQAGEU&F(yP&_?k)Ls(>)$hNAA{t`&R3mk=yF5<2yKH#fY2 z+$rJ*a<*IQb6Ot=*dDQE5nlD0CAObZ_WhKSARTx|DGN*-XGE>LMQZy*4_W{G5rh2auMLcMvqtZr8Uyh&tB7&c z5rw=X?+X_o1yj&gUJk_AU0mYa2r1s%cW)$wiTr?qf##W2w?Vk7TtyPLUzJkFq3u!} zJ!Xz?pL6SyZ?fyXWPG?{uA+=vQdPDqkatdeP*Bevv1P1GmAQCpiRq*G{kp19fdP4C z9+%FEh5AMOTwi8#L9y?VSYvK$O2o+!j%>w!h=NB3gySJIv?u$F4@%DNM;@MYCL^yL zJf*^h+;RsSBvgmve;n~^eyE*Pm>lU^Z(;ikUlh59dVAt!>1Cl*ON?mvz|5rJVIkR* z-SC0-9z*N&H-Z@T`m@tkaxE_lT8Zq{t!5fmwVO@czFS*81+-TNrkNuSo<;25{Wy-p zFpQ0fW0L~a1i)LJfcMm+aX^oO1F+rJm(V^W0pi%`kTmGk1vVs1CG`<5#P+9EOU_a2 zIg#)Ito;d0BW5IT+l$6hF2*t<^qalthPFZs@KSTC4jHWCO|JvmsFbb3hp59EmPer!!5tvarOwuC6%WLlpMeU9u+(J{e3~?Jsg~#9fYG4* z`OO>e;B9eMqVp=UwR>8!jWJ{gJ5o2NPH?a;%mJkFXK{3(Z1T)c_!p*iQj>H$LR1LH z)I&)s+PBQvc2#|A{Npt1Y*bcd>aO(`jzj_+v|;r zyGGiT*Hr9RvGQJxsoFaTciQpw%c0KKw-YyhmKVU3zl|K)UkxWrO3F|4c!i7T$9OLjLT*@iRVCY4xWvqEz@gBo=;h1LN+`>jb$KIfWPZC$;8F zs=2$9Zs%E8MGU`6;m<3&o&MfBpDsGI-09uS5Yqp9f@=GIyX72KUVJ5aS^daOqheKu zw!ksIJKX8$i=&wnV5NL{0$+xsFVHUYYCD5K{f)W5`|e30OO=$AAa=z9<7 z{RkiJ-wFq#an5NoXYf?d#oOVW=i-5WtOJzjs^brx&rceC_s+bx=tpDGHY&j!RAB#) z{x;<8a$xuXdX*VYib~%cVto{bqLbe59?z2NBE1lNx)NKa1UKmN!1NPUqR=%*QkE`s`+x=xA0T`a>8jI-Ma~%oa=`C?)X+A8*+7pL%+^H%gBAa z12=y@)WbBWSi%Qg5qw2CG^;T z7(aVjQ$Vf<@iTb*UlPeniN)w4x;kpd43Xh}>tWH+}8;oi6p$ggfIZ4()Q zVP&i%POw)OaoOz>+_%dXjw8V3P0C%*1d|l`5qk0(2ifLPZMiFN+sj_(ib>7E%CbKy zx9A->-P<=XgekPWQgt>J^K7rfiogniQVPC=YE)LMJAioYQ{H(r4?ooW>ZoX6J7QBA zS^Yh6{xv=&<&c`&(Il25AJzA8XU()bh&Kj2eF;oax2Lx|xCwZC-uiHs*gWrqj%$%w zXRI{LYBSuz5qdN;mUic>Rw^&%YAG?|C?30xtH~P53kvKyse8#B-`%qkL{%rn=UZ&0ZDAPm^Q(bf{wi?WtG$_SOW-pjP2ecCJrv*+<^Q-`bHgc#5d%W;QXHAn3ZSAI2{oxbUER z_#j4}asz6uHtvP0*vSg)VPN|H>RarmCjl3^t`EQDkEAc#8fax@NFxlnacK19MVMW- z3;Kzu3Mf@to4jLkaxS5zbpKDpcNx;nVqsNq@zvwu7CBr4Oh?MHFWQx%GPUd zbbt4@%<1+8?rbdmGF=JVm+b<|_gAi(CTaN>d#-n~Zgab)B)lhJY5sf?a`!obiq?~P z5h+(9JsuE^@;76f)SwxEzisLxlBsLx^~~Bq_m8{F`qJK}t!V^u{0=<(6U*Uxko>7jfa+D(sJYA^5xUTqP~T10-m zLs9mC7aUG5ulrWFHG}psQ5RxF=a>HrPu52zA|}H1EG<2t3WFL;ymac%tYI6=!rw|0 zN9>jozCGe~PA(-e<9xj%q$?Q2Uof*gETofY(6;)l`pmW6sES*sC041r(#Cpqp#JKy zJFtY^S-I;4Nww_m4`No>EuCMZl@1(lCq38mpw;(f-*`UvsBUcY&AS!I4&oXdHrcdb zmbHg52Ll++Vr+vPZqu&HZ_b(@d%KoQ%IXZ`wK1cvS>xUDoq9t3D&5iv$Md+HQ=R20 z)BSCHkv39;r@?;9Epm1Pt^RhB9@D;DOpc;gUKl72Ty-{8jZYKoy|3CZ?d!>-NcjhACDuP^J?STnDk`U?uzMn3WAP1DqR zV4fgE#B~y?_4v)2f+_de(6(&fv&~>i%?#B88}qN(7Xn)T6dE|QLA$pRUpbU0=@6^Gv=u`yM&}kbx=&QZ@5@ zi;1`^fGPB#zL_59{=M?HIR@UE(2;K`d?Oo(El9>v-)?O)=`*qj= z#%}VmhkS|{iNd+lzM85%N=T=_a-$k zv5a3uOpS~^j}FopT|(tueKgJ}Y0y)(WwC@6vI=Z?)84AZ^vUVP!~}siSkhC6MK_n< z$gU}J;SEaMIxRmTUX%QBkDdbOdJ_c#dCQ#gKqNyb849_3BB3)}@oS2S_~rF=FADOK z$<=ySQ~Ssfj~Eh9{{>2>=BBrAu(94+n|x2E6C*4Wc|yN`5wV zzZ9aV;1?SsRdlPfW8Y4r+&<7gTu6EYKY{xl-f5URK_Iz*-4pw8cB*xd?-KHdDZm(m zb6}UVZ2p%9;p!*S(!<($US8?8al*A7YqdC;4T<_6y`PL${o6y@0mZWQMNu9Xn3LKDD*w0W`R)LaO;QJSNm@> z!^1rrZLj;F47pwDQ0Y z18D{)ShWj-R5-3S@EUruM0O#Lqq&D{S%sBXA}j}f3{<5si!2*|>C3TiO?G4Qd```p zAV{1VY-2Gn^}v9|@GURnZOP^P;PMCW-hCq!HqyBMYokDG)x}&ibThCA=&xhJ z_m(N;p>WN!E7zPoJ`RW9H;-=^>$yjAN5(IR;*}H*4zg5VOU6Bnn;z4j)o`58n_u2e zkNuZMilP%VI)&0DQ=bY9)?NGH?OGjZB`2*b2#qXSrFI+2)2t|(V0YK4t$FyKo*Pvm zwBVAEAJSpE?IX$ypkiMd6kTliilit=sMgH|r>D4kZ(?fxthYN*#q!y~#v-++t!PfY z7xKf?mur>-*VICl?D|H(vd>1dEJx;B@*?GYVP4FzG@Djs(<>=GO(|;@RF_{b1A{;b zmv3>}!~%JPLEL|=3de!_{F_+jP_nGdXxQRFOFiXopM)5d3UZW*|6EH6OmhP-`)9Q? zr}WwOnC($5|J4*U6y*Qo%5smakh__uXc{4zqogy^b^dcxMs%Rwb8nSh5W=fXXHV>v zd4HqL<8!J4$+I*5DNbM6=_C#a8-Zn-DiXITLHj{68r|1BtaVo(vj}PlrX7{xjl6kr z*P@)aaGwz+^|I<_wEEM8wB^a%7ba8YCad&89&&7mYW|<9-ReZWr{dB(cn1I$b%Kqm;C%*7l*52i*l{`+}!eG z31dQH3m7ig01Id;5nUJAnQs@P8+ zO4WR_nVb`K$<@=+L|JehY z_LJ0n#;~5)X|Jl>#L8913#*(Ar*q-sUNOuM!3p1q$#}(evwRo&3#ZSCB+uKME3faY z--yIITY&?p;hh%*H9gt5rh3(3{OI1y&JeyIKk}fvWjehr;O0tN%Cw~H*_cU(Y_CrG zH(M0xb1$Ts)Z?-baZ%66MsU{rxTJD#+Y|3_9kJ3dmNdG0$&A&b7V3c$365xU8=twy zr|)EMN$;+98w9zb;la`+&Wr1fUDD2ji>VVhjR9xxWv+H0@m zH6`cOogHMo8UB!$=1jjP4wsaYyTc6q0r_2b2}ok(rG$bZpo+gGG!G-8;0`Bf#-9?} zy>krl{w<--u!0x!-pp_)x{qrf2xsv)v|dG#OidacoOi>dh~!^JtSM8u7G{H1JX`K* zJr#kd^b=R!?;lsfhUW3&vpG4_mKx^~jo-k>{|Wi>+#_36QiS#)*H(mJ>M?)cP1D#- zEM4P|%NHm97WyD;Cu$rgYCufy?=|1lHCCon=vS5ESmb`JC?3$lm|6X0U zeTx1dxxSI-vlbKs2x(^hGi>M-HuQworfr(9+}JgxIPi-R_0&=U9aAjdt5*R<)luU`XQ6i_eG3vwshEtM|$@2lqqac^~g{L~;0yiK{sphvU4 zE0N!fF-ruZ(fx6^E3t_2b3~7!yaxU?#x!%M$Hl?0WT`oU+V5B6Jp0ajIn2Q12v!is z0{p}Rm4sgWUpt_s0{i~LkBc6Oplkzur_+*f< z6Vp98X3@LtK}FXv*PL=jni+Jqb5cwm!f1g{=Gf3#zePvpyBA_Z#_h6G(9m;&zc{yU zo%ZU!1okTbG-+n#+-FDD^#>?>zgn-2j?Smj-YwR@HrA{>p;2U)a-0CjtIwqzb3#Bh zf6MW6j2v@zI72PkGUH(??x@ZtG8?8lj8PmKh9c`TQ)}b2Ocs0`$8 zO_%R7!ZEKc19&D?9UcTZ3q?=SDZJFl38H@bu1p{Z=RyrV4A<7Q#Z9+g=)zBRVki&| z6idN%6ADOpkXA7z2ERxZ8;pXe|LzkjkB?*5FZd&#{EoA-sA{;n6Uc#r88KeUZ;R+D zDD<^7)sH5*lh^|qE#(VPKrkd;;gweg4mcE)JGW>*Q&6+HktThnpj}{k zpLm6P_VCbE_wj85a5=3dDW4t?YUbFRCp&pYh27QE7i)b@+$=csq-=H%oDm!Uz=uzM zV(u{|{aS|Co$j#p>F%Zu2*wKt{-r`2#z6f%>q#2njwla7gE_CK}M72fKGhT4OO>oz56}tiOHLWI6~QR%@Mlb|B;gCe_uwecF-{Fz1y%oT%hJM z+LAEizpZvFrZx+=dMNrmztlL{SGqb1@BFUhyDNo)20;Xu_1)@`MFB;s_jm)s96bE4 z0FQUOjv8g+cvjH*p%3=_MHboq=#l^^v_?Bh4XX|*s%M8-{)eCF%m7Oc5^PF)TCR+0 zqSwItrhhPoZpy?XxvQT@i$fzOC3zwe=MuQhQt^;e124z%9xwOGyGrK;)Q%63V1KA_ zhqO&@PRYC0R*{&rZ~A_5^)&x98JRfjK23^09)1Z46tK_s<=yUD5 z3Ni>h#n}7OPFe!87X=1=2Z4Y@74U4upDPh{;66Vo0tZSffZmfs@3A8As-ttmP05j8 zAg8?VD_^8btHm_yPAMy+A+2Ct*C4!&R+x+ELljiEjl5DuZ7-`~nP73mmloUT@_Wr2 zfSCVfj|cy@$D^1P4`+uvG$|8`gxOw1=+0a2h7IcvsUqD_)ajw_9mkoO&Wv2r=NiO| zGv{F-tXIp9ccLH2D7kF3_FoM zz%v1@JO1z-=S0q1kB6P8zdasow)O0t%1r+}JSn{X%*5bKw2r!A!g$=jgnrQR?Lc*L zQeKVqF)Ml=evbYj@i}pO|2^v`_u7%Dvro-37m;RyCyHUWOm_wD-Ho2ua^)?2S~9We zFOk^3)?t#vnAH7v5ayV+*pm=~{w0U%M*r?8_J8vN?|5&~;r@}Yl+3%jWS!9Z3}Jp> z*M)oJD^Vo;R6%dTR0jer6SK-vu@w%7?vNSO#$>RXRa-E@OsmdbAPmZLX~TG9(A;sG z!-p?|a-ZZ+XZ(7GiZEbMEpV_Vi(cH&8{IJt?Rrj*{U$7Qgnib?N!ML4&8Ydc&qRM{oKvv3`ZoiqP8JXigb=kQF-D)+odn(?^LPU*>{`lkbnxu%qq2c8Zx*YznlCQ&R9qB`zR z5RV8}4-d9b^ZPL>osFi<+&+13VX_sq&FzlH2&)V>l4MkfBNtn~D6p1y`M`y4Z0 z_%2e;ub`pK;K0JGZ@ijhXdue3Bj6?daw>#Y_`TasB%1DP-BN4k@4J)L5NY8`LCfhU z^R

O{-edB(gJG)aa5c!k3y=31}*yS%3ydfI+N(Yj7GygCpATpca|=(J-qEN7;9* zK5Au;BeM@Q)EIEp55Z6f0z(Z-SQ2vKrGM#C70LjMup|hi2M~?%^Wp%kH$+GV;xG zSb~*b&2l0J0to_UjGqSKTy5yKL$45U#E!6)w_(i&DFD16g7t>pw^&68(1s=)Y%7 zcD&M-k5HAevh~b4tG+GK9najx-w{voi61ISdT$gw;3Nor+vTJ&WaIGqQ#&PkPVQXI z&_*jz>{f>=1+iB2g?iv4J(7t;tTZ0+2Id^Uy{ad7^hoV%eEhfdCSRppaf@zfrsM(DYvV>bUA>T-dqX@6BJfsxDAdjjk(;n&oTx_bT{)%3XSoX* z;%gcPWp!9jsUowtLY8p@e%(Wj;JC`!tN>yva=}hFi=g*EmS?*&7ex6KI6}{NyiGLJ zhWzKhtLf-az9I@A`LYm%>gSMnXiNOnXym&=X=#5Y|M0|-6xqxIk5xnUbanhxn&!qn z%O{;ZbcUTGd%&5zxsB`A70y#R@K=lTL4L(|geH`3lBsch1HpDSTvioA?60$U3eL5Q zSv8CA1gG)T^=TJtma5c_6FKwW)3&4hqd2m~+}zH0?%~6W?5k$MFA5f;-#8hVzsneX ze!EZG1-34JMWtejSKQa{mf_wt=`W1re!h9xR@6niZbWUL`t1!vbz_A*eX^9^2L3NQ zZ~yA~xOTbJIflaurkw7HedFWpMJCBUjYpR8wee@Xq=%9Y;iqq$*Ou7cnh#%zImy13%=cwJjpZC8CS8tjNMQB z63}_E0)MN{)5(=eIu%VB&%xPXW%+bl$)=$7`=Atc{>5m4{Cu7U4yivW`j*|fNP+xj zo-U4cg6cy+<14mnP)u?|T~*Bdlw=RLZ+<&?Gcmfx6g z)TpT@p@HL3&fC?;Jk8{%u!hQT1h@xfu|ru3#5ISR_GICxx?NxCF}3{+OXRz8+D&k2 zme}o620zsaqq|8>C9tBH6C@&2-fAUlU6cU`m{}9aO`cy1qiv_VUxm*00qJvE87ix^QF+6 znvT{?Z7p}t$hTz_yILL0(xK{g1!n%v`jO?wV!~oe=K;_$ZIo>ywE2rYs zKAO{!%lsi`x4-rahS-u{K2Z&hwy|7XG9o*0^G(|*sbI57(E+x|)rcR%ueob1=pl^moDOY%FF z%?Alq{A*XJEvkfMS>B3kRy-3jq`H!78tfxA#XVtuqppa?=T+grQW$@!a&eqH0P@B)5qL)oEnnoC0+0g`kEziKyLK*%t;y=Wa(nN zn*pDimoo_THdT}T_}~-E?8jP0oM{ItrOX=nK zNW7)(^MT0t32Oapl#!5aSDwv&{>%#nINTEJ+sR&g{J@$p$2wi1al$^}NuZm!>%+;h z@~MNXUcK}fptL!VkMp$J^1lgF@ZG!{6Jh!i9}=|u1&kO)*o1HQs$ zpWY(Z=DYqD@%;hzuykYPm4+(BaXMMMT|oe%L82*%-jy%W+_JUe-iiL~^eH7#bbH*aHvMcgB_YY?yy@?6;--OZUBjQDJ5WAQA9e_ro%|kyK%wEzJwyEq}=g z{ZVyf`GUo$l;m^anJc&>)xEVR4O{1U;AIal)UuyLlwEu0B6%o|02`w6V+!RGsM^`g zI4zoqolX~tMo;g0Ka4JLC3O}XLuw{96t6dIY7%Z{rvgn z@sSTtUi=ih;k@cjzBASTgIktm=1VRBi|W7UPXBk-^EYXX&sIP15G6)xz zMt0~PV6RAB7mZ9QA1a2079YS?`V*4BCWPIl>@aM*TzDLBmlVBI)FC!q*BDCU5q$Cc zKdthfVR@v#o093fizQOQDGB?muxM*=@vDfp?zdN)2=EXN1_56WAOL|VK_LA89r>X5n4en!Hj6dQAU;+5ufW+Mgf%yK$&J=^)eGn0pmJO=z#`>HDtT61=(LZ~R zH%c}ReBj9TxUB(-zo^K09)Il`Fln@gbtkuWK9@IGfjx#A{&XqIrY$mY+&e2CyK!4> z=C%qMj|NYs1oQh{P>kSjy1WJ;1YObv9|WQRfqH;zjI0M^AmbyjputMMWE)e}k)taH9)nTCzQ@4IrSvE!T=^r~!ciwG-hIF~w$RYHurT50 z4=v*W9ji&*f#tCoatc=j!YJ?1i@R0BfxPv|^(&M~d0&or1+J>w!S$^Snbbi1c&ToO zz>Sq(lB7smHPjYE9gL;?Cw1%qJ;dO6xwgkpM=dkX8C$}Gzm5J)V72r3oxvNCV1_nW zbc4T1Y(E@y&S)h*;TXJT#XZYa?Q9~s@Cd;|ZI{_cSdRTEW1_h?ERh2f9>Ze)xG77M4bu^TneK+wc{*D-s7o3*=w@;a&EJ56BFL7SAyK z;a&0zh!u#|y7nC_Qs@24Q*ksHG6XMklTkHOP z6A0B-qbF5gVN;dIV{bkx=PPnW2_;zrghYIqBCSG1Ko+ zr4VW0R&&K)-}WR^R7P_iXU%p^I0{`t`Okd#Q$qeLeE83OasPqwH4Mg=Je6mYPvLF+ z=WhWt_!!Q}Z8sSja^?<5j3w~D7|AsRjsQ<*K_K8W^}zZAvtdRr2^{%xTk)Z+fP7$$ zTXWqTym;@+-?2=(f_3SJXXSZ)`fUdG#xe2R$%Fd#G*|Rp#1JLu@ zWzWKYuWUqq_e>1*OryQDJ((UV&(_Q88LO^#VZ4qAO})_XkTTMbZ#3n zqZ7UCvk_NA}=uZHa&2aV5Xgkq|Ztj9Lcn$NzK z0wyS#_{XvPi3I`FJ6;JSti~A^q_GG(M|bG@ zx)pE$aSM4quQfmUhOw9*8n2}zukMA~9qC^`$ywN{ZLmb-EWLc?+ZfO=zvZC4&ZwUH zvFe4Ybj^Eu!I_g!g`WyFMah1Q=wD<-raZ8Db~y%lKx_UQ1Hj5Z$G{ET=dS^gL&bqe z4oszqnBV;B`V1v&28n7sj3?DP^xLz$XiYj&dNt&0Rc-zO1$J(9g4JQ$IiCD6+@IN1 zZq^6X^m^Im+r!eyv+QNC`|FsCx(|asS+}dvc-_sx)pRaUC;+`~dTyon-| z5WUwYAQ5oa`XNHU3HRX4Ju5_j19nQ(ej(F4`hLyOcSd_jfZT6F-}g+NO;d5Wo^`p$ ztNA^#Ez8c*N)^mqMt^r9%b42u6#+&&3ICE6AbxK0_ZW9EV~l8{hSpfJIj6ayBWuuA zS(sGRyk70*oAzph*E`neC#!(cgHEsMdUb|~KE^Ay+en%0Qu;WPjD8l0$9KlF=5az) zYBhPAVbhkq_8!Y#hGTKdYIt*#S^kBm2XuoTy3FfrTY^~0AyV%c>-BeVD$w-vn=Uj!TdCSPD3j^mXf z2B?#6Cx1VUx6^f2YdJHbORjJI#r5A50WL4?)z?2M0z~D3IPT!Qp67N>R;e@R;vs9| ziGj|fdS7(++)2e*T@BzBZPd{hwcSI?9-uejUR~&K4Z{@2t>aN)Beh4fzw(ZhhbDBWAt2}(wjw_S6XBGKlYeCmcm z2R|$CdSEab9~4a59QsdQd>AE?E1|@es*d zinVZM8d=dT&?T$&3ORkLq>kd-P!!EUYk%YS8o*Bv%Pi<%DJiGJf3jGQe70Pba9oyf zM*(Z@h>AQwQJI&5d{cSh7CF0F2jDDV@bmaj_yL!fI%xJMeynUTwsX0>hS@lI#15LH zJ&X>l@e@7Rd5)J^BCAiO;ULm^Er~mq4aesRHH7Jdk;=Y>JQ9{Z*SvzO>mAdn7ecH` z)X}@s%|IVTgZm;QvU?Eor%TvU01Uu$2V@NJw8?>Z#~-lSF|hIE0e|+dnt&iDP7*iC zF4;9kU^SD)6s!AtZ3RrZ|G^{vbKdx`cw%CJXZlwZDgN(u1PgGVKUx6>g_be3*fk+y!jN{sq1ik7 z+`wB0?vtD2j$HFB6fn5 zH-kA?$=iA&p&SNa>T-_2JEK;XDo*FNR7%mS_zv2n29FA37%1~TCUk1+ zDE`pu-1hIC_@JJN%+Yst{RL?1%;t*yk!$>Rotd8A<7T!O5AN4&lW;ZB@rK`lSjgj;j>2dW~#k)`!6yAdO zXO%&m>B?=XU(w=HVo|PM%u!FabeS9Iy7dm=yBSe#&+qd*wa#_dbr^4xdYW+K12J8m zsBxGZFi!Qno6*rv9sHKBAwU{(X>XM+D}ER;llM8peNkA-E!3v#VUm|2A9d$5PGQ0!d5N)mvub|hy{?k=*F|Jjf6qbxcXmlR z>4ad!qNSc(VWL23NuREO6s$=&~0IYEpsG3sCw3DKUyXtK72Q6(hFX7h&O~;zE_EM;G0v zu?MW{a$|75Y<N=W1M&HCyBEtXoa>MHjPrbUy7WbCM#c-5+*?kZ z1PMM)YQ%jIB^Y&N0ZlZt+=1cmWhd;D-rcot%R_Mi{oq^RCna}nQSQ}x>E zY1vsQv~<SeOA!*c4swf7= zC@mb3_uj4g=W74hmy;m0k;z9iZB2Kta9WqJ^O1P5MBxdBF%ji}U??k?y8<+AQ{-b|cWEdN(K5 z>Zf4v{cT%0I^6OWB}VAbuPxcPY_qrA9+7gd{FE!l7zxWuBVk9CXE{1p+7?K~D-mUDRYOw2y!LIX8dP z6R4a5^1^^;@u$>c^2L{)#Rp6TcyZ@~@%**04PzvyhNf$;oFIj(5aJtsegsT~K`3h0 zfdcjoCo22;@~jrD*mjmX z7fs=Pn z@5EymR-WD7bvhD0{ILo9hPpp#EO44wWGrRLF$ukGhTX&*#C)&nAi)(o^Jql z{gR4aK>Zn2xHzgR3k%{KK!W28;|W8_roZ}vh>hgXcoJ^7!yhevFZm=EYpyehGaeP$ z5cnMx7Z zeqggLyG2S)POglt0z|_rl75(+>j&a6&06TVV&bv;rJBA81AN04uD?BXD*!f-1pzR| zzl2Tq2lp_M#mg*+ntUZVCDC(OL__8OIsulG@<_DC!$~pN#25`#l{4gR3kL(@#mKQ- z9y<_lrW^8%xO%&J zTj1I57KrU7G$)`}!21KBVP8V~Q!Z~|pkZRpdX`+4BYgbQ3OVB%!r+%SJ`)5Cow}(6 z$s(UW>ke@POHL(<*{ynMw2KW4415ws1(;Thp~T7HiouXleZ^<|xa1dP9WEjCOyjiz zzjXlGZ^L=<`q4LLRb`Is>a1U{1Wo0NiIXLHg^{c5f>)_|TieSa@1dd8e zU2InJK>XXCoS1wP2*oF?^Mw!GPb~ACdL;9vJ>pktt;%MvsE%Ul4J?wKODVMku!+0G z5^_nIKco2S7%U+Gmi+QGmZ?)s;)n#d2<`7;6AjzgeIt!gf1f&`AVY`nNmy23s=8tF znlBOu#s)@bmj{QV@K#vYkhr`UZFmaw7yl1x{F!6GWCJd#0n`J=Q;GE+fylg9R17$I zoRHgKmYty&*{X))uo;NVY*x|<8OKALqR56@#vF>u0u^XHkZ=%?e#@S)^LrggR3;ya zom*nYf}Md$#}Y+)JSshLC%TD`ShrJ4;K-H7XEObKI^f3O6Dh$V0p$>Kn|BsuL>+4do1nK2tVdW?nF(N%_ZUYX8vFe?OXg zf3^6{Mk>THX3{yR-YR{c&THU^?d3jRscExjRC2;ly|`N{mzp7W$*IkfrQ9q z8#mx@X_sw&Te}_L8lxkZ8QxPUV^#MXt~^S5RUi1Qw)PzR za^#q}7-0X%!64}6?7;oU$b&KPp{>|Jr8ajp$(qWJo~2Xt%BP9KEDYUoTa~Vgb^|c^khb2 z#UZd^nZPIK=hVOeIRv`hiT6RvP1*Kohl(o}nj3MCLIR~eKsXRPi%w*cVOC~Z^ej)$GonD%7ZUnaJOl< z!iYe$R%OY?oAc**AO!jY+3;fIu6qMrcI9g@Mse!UFB^`eG?%Wi(J5dd;}E9iBEV!u zP+MOVZwD$+b1y}sb>MVR_~U0q$Q(2 zXiS>1YhFJ0ZwEjt1qcNOT?c`v|MoaBwu%3`JP!0K803UJStubVs75uy5J~R#-HX*Mm_h z!GeHaaXb^MZ1gn;cf1;S68-Sr^Z&!!TSm3@b$g>BxCeK4DNb>BT8c}dIK^FxLy+Pc z+@-Wgaf-VXcPZ{xTC}+44gH_zdCs}xo)7PbdpEF?y+#;2Yp%KG{7v1<-DYgfkV@!E ztAIKzRMTaCydGEb^EJ2|EmE?>*&y;I%ynAps$=e<$ljO(xhT-FbVR-TgU?1YJ&0 z#I#c*SXA}^T#}J;(Q`#To{K)~K7jHoLs7*|H_UWcKtet9*XCcj`HXM=p};?T{$Ggf z{|kKcd@tDiDB+$nZLt5dy04z+huQ`Ie=)z=myo2P6ey42lPFsVEdI_zNZiqnpuax0 z%|rN?md}`R?C-r`vKA&zo{wi*{>6-Vfd30xn#{^WJ}uoGTXK;;aS5!#a2pgsR=&0Z z%wCm$T3nMZX>bwU!YmOL^RD7O$=`ebgxzcA@4XoS0LuT&a{@Nb$pA(MO~7{iB*Lp# zLOw2IhPEY`fZDT2C{tjD@PRtPkZlO~Mi*D^_NZOle~Y(FivO>4%yFhAkV10KzOop`LVj8r?8`A1{HLgCMO81%5;{~_U? zlP5UoVG?c~7Av3^Xly?bkDqzY7REFhN0tzMb}T**x?xYkQgOheX%UBUWrby+#0Y24 zFNI~)g%KBPuqQS#M{FItn%gq=xC`KPkJ3US)NuBISaeD{Dczg*o$;zqiL@tA(a*8} z{Miznpy!`2hlL0#HiZad`H{GMA&kSL`H{d`j7(-p*Z>e>y%oM;HQpM@$*O#YovT7! z`TY~BHvZW5kCO7!;Ju_O%r7GH-D$1h~M&GtydS4P-h{Z1;g z*_x>C|0|kv2b<*~8~|n%Gyad+Z$8hS5jOkz=X_xP#!=*|bC2hu4!04%Q(@y`SZNpk zhnrFMUog=rd7X6-5#dXQBPFYqQd)urQV+deyMl%@Uk$CKXX2Q0eTtBTp*s{+*%A~t zxbQ@Jp)u-s32&P}6Zq%III5Hko3FtiijD-zzJdkMn(X=3#hZ?|{C~j$q0dP2nF6=4au7HGjNf6V z+`shpUkWh%v;P00fcw8Gp!zQgl<)uV6d=N(j`HUb_+lwbJjzT9!Wm`n!NXzgdDmqM zOB{0@g?L+vJ?f&}P-#7@JITeO7EE`tpD!nqWngpH#xEezQV+FMlM9Bu24_kUFqFXF zNaJe1rVJ!H%y~2vkyKNU!X6DQOK&1PVO5ix63v|pCFoF7$kN04r?M|J7Tt%fHfQ1NO>E z3DaA!9q|7~f$GE}zMH2e8L4N{4ch?jOtL#`QZPeC+e0-Zg0}Fw651Jopnj;?%*~Hy znyxNOOPl^ymY!BCv>DK+2qBmIXz3+n%?y3f-cB+OlY^?@+VU1q3utN468=c`E7_;~zf7BLmhzbePw90#YF`DIbgXW&wTS-VSxt(u>U_1@3Tbxi+G`3i~ulS zlL79XF}|q*oM#$oIV^a0F{lKGRvj&kaGJ*JX-~JTd^s7DP=KS)RLJ0Y&jW)b4^XIn z{JnVYz2KgErGvw2c9vV`7cBDN_uAlQGbU$Pur1l!< z2++)rRdLs^Mj>xVEK)Qa@RWcKyuRIUKBajUG8YO7m8?KRCj$DW3mvH~NUmxEhe<6n zBf1bG*V`@*xYv6k?}jXBfP;+aIFjOTBLGoD3TT;MhPs2MTTKt?QM;vlmX&LS!F25v z6t-dGpAQ-u>SJ9KI~|rkFlW#O7(i40O%;N_RDoGXoueSAs-{dM<->GWTLZmqhgq&<5hPXb8a+&T3)W^8KO0x|Q@ ztlOg|J0d365MF&RtX<`C`R*85TidvT&ckk-vihKj2bFrvFDTj@(7jQ$cpDv2#iUL&ub>Ovj>PXAiOi;PI>OoV=J~q1eTTie4#- z&mZG_ec!S#_T%74lTrR2o?G*D*hZaT-+Qf*6YsK+0}QBEpPq@x1X z#^LBVWc9dd|y9YWG z@$=(dgh`&=%2e+B1?Vq&eNFVsb03QHA`yWo(f0jFZU=$GNc6Gz*Hyrx+Miuv* zU9UBA+rqX1_A`pCz1VU4&5r|3h*9H8F58L_T5VNM1K*trkGwVkUN=LJi9nS6-57+A zwcjvy!SunyaHwb}N2U0r8eb%a4m<-eq2SN-t__S1`#uis^J%X`=|gC7aGOade$(T= z2jQ|a@4$tx!;(eXF^KqZAs9VyN=P)_G$CutuMkoYKZenNK+Gg$LuzDalD1;bu84!T zQrYyu%BE20{fYm*Fw^>j{JwpR5Dy`+vGhkaW>vnO={2`b5J9y!3C%_O+ZRfxkCH}w zspxvB{>ZgP|a};W3@Ik!OF~epQGraD~ z_UPy&ZeSj$Z*hRy=c7(_P0gJJ)t%1_s!8xNlgJX8<1>{UAvoM|Wnu)zvPzENS+l9Z z=@;5cO3ijr1H6K&lcNKUtS5uDNgk^OwA1Eu;HBkUtlmp(5Gf4UFtLkd@%(gN)vu-t z#e$@6`Dzr-p|WK};Oh^2kL?L49xK~qUc~L*B~vTwXx1ead_T;Lmu)4QzCD^Fp{4yR zF=k|wg&O1_GM7z?mmOlZ|8 z;sIr{B#$*rLBvV)!2i)z+3&={UHS-AN-B|~WfsAe3L3v=C?Qp&^^oLM#}p}&POPOv ziNgPy0VYMp!JmB%&JPyl#?oL_46+0c$DRB825_n|Pp*?76*jm*ISWkn--%gQVJjlR>1QYryeD@9#8+FnGoFY`865;4bRtGz9c^UPZ z5whxl)Cz*J*rni#RvRjW$9h&*ONl%^RVLwQS2Y_4pP=SD?ODhtI^yy$=?tL!5?~>A zOLv(tsM-9jEo1z1q4MY5Id|5~a3SxP*Iba~wyda~@W23B$ffF)M2|r>7c_x04$#wd z+Uq7BPNKvMvF!IBa;|S`->N6)oOH{5MLh&7@@||EP5M3MkHg^%_Id<1cYMd-&0wKE zg&kZRC#q`*U7k$vT*19@RAN3C%#6XDkd068)`Kx#L0<1Et)y|u`N~}Y4j2YAsFN~+ z69oBq={SU2uY(3y`2g@EzHvQ9eS2*AJ-}W7s^&MT_PQCvv?9;qby^=b-k@AJxHSId zDKY=IiL{G}7D#P~V#tv2TTa>~PL4&Eb{~irNB2iDA}0p1{i)`R3|eK$V7+&X663QL zuiQRC?~oaZ(j56;_NYQ1+`+PMkM5?Y9mH?L(Wx>m1qnSz^Wvj7UDP! z@NA}j!$s|9B00ARYNTrLDU&39GpZ7GxevDoER(!-yjq!E{M41mAGZW&-U_wsW1@9= zR8k1*v`eY0XC-#O?i~rI zeSB%`;$O;hxFq;Qsc(nI+|fF}!Hv|YVDMYSks}WFy!t<6=OcB!WB*`;o`3VU)nDHJ zmo_YW=54EI-rj;`3^UmlL32-gnJYH?Ue}Ywktt~ut*xG~r_@CmzyA35GW~j~p0Y~S zchnE_oQibi={~$uni)TR0mR%%gazU>;bLXs>pd|bCkHl}Y)z!02$~STyAdD?zm~F9 zd>MmIyU4||h7s{27L1y(b8Z`P^3s|nQd&Jq$^nh_dw$_o0rOm3fMwuQA}-qU(UzZh zO!(Z{@~dLCrghc4^$98oN);!5AV^{i#;)rJOs+gzf1YwDxuUR|(MGEYr_-I;tCMMkYyn6$Y_4kb!>4RVM%$!xO&Op%jdya>R=zntI8Q1LPrt{dGq#Uf76;%D3V1dHv&Dm>_W(ET1a~? zlF)4Zls2Gx5m-EKvonZf-D8_ZX5uFPhl4eGN>%uMyBsYo)xfQj9lzi{w}Q6M08-eb zlXOL#RzlfhO_t1P82rW`JSt}b{UD23>UOGWq)$Q+%#(X6hOn|01+LJUVJ^`se0xH$m8{ZCQ7$6_>egdN%Nu~-YgCSSHt=c-f zY;mNX(2nLef!9Qq1?7*z8%IiOMx()s9IaTAP08VIBM7@r*shjDvPFl-e=euEA{2un zQ0&v9syh(AKO>muUN&F;`c7f?g8F|V4z17Hno9~F)cKr0T>5}|lFL!hUF|@o(0wFv z1(xV&X{Sb@OET zsQo}dd6bcAL#CEQ(JB{I_;JBhjfBgfKoN z9~Zh?f9F9vcJE+a1E8Is1DVs5cWV6x3wt$`USRW7wa19q)aRB{%(I5e!dJ?d+c9R6lEi6}xRmp4Oj)qWnSuclJ` zP4R*_wXmmy=e!A|C&ywo_59T}lLoqjoIo^MRB}}}124qB1NrBJWhhg7eUEj&i3Wv_ zaXQ7q=e51=7xt{qG$i%AV79%dUjCl~FEPn5oE!8#Rl@c{~ z^Iu+&KA6UZRYnWK0bnLE%;okkDOC;|=fs5h?mPcu0srq_kX9X6Cpy}Qh_aSqNm-mV z-(@IO;R2JJxvhNY6h$P8CE;cy3V|s{7Z-${A)2y9Fe$LykAmf|X;SyHs3$?4m?xCx z6PE>kSj^uGCt}=|-h@elu+TVWF}U+#Fc{+ zVVP>#A1t4sQ_V+8yMj>`%cYJrXa;>I04Oa86o6H1dHgWnt#y11NQh~TW(Qjh0>Nc^ z^eG2RsH?WrZ+~Fo6Eu>3HANv`pTG65Np{^i14Ll31E^Ug0W?(+#S4VQKM>*Z2>=rd zcF z{1e=&+m#%`a~D0qKLO3+?nTY73fxmBXNPvzBs{3cvWIvPsE^=mj(-dlC6Ok4VXYsx zxJ!J^Dw#<$o_lI5{HO)yt4AE~n3PvQZ|Hi92!V)k3BW-Bv{9f9s9B|JQm!ca@2;L~BfAfbz?ZSj)#wzR|yVKCl=S0G9O% z<2Bgg{I~T9dtM)6*!l$aJTpkR$WGoCvPst=jS`pR^59g_6Z-1)_r;WfSXc_<(FF9#&XN+Gy9D4rc-J4(nwXwn-^Sv$eErhAJNn)=2%{3pL)KlNuFcErY;G1)xOyX`K;wvJ6fydHKV1k|5ZE*y6}p1T7QAF>_(- zmJLxcx7d4Hwx{i7sTJ<+y(t|6^B~l`c^LN&jm-rmz)j^hXsJUGsB5M z#do|`@j@VzBD2`MO)=uNaA^0(O-~eg&JHF7e7{7*z4oFA$%xayQ@5%vKY37)2@MJj zIEySKC=fExdpu$~TmCebB6rK$l}fMVq8UtBr#`BYbpY)=zS7yB340`kX#l{_H;n_b zj>U$-GrfyLqEufp4i=TfR118a&9Du>yg5#G@M$2QaeGKx!TDGjTV4v>nQ9Bei568) zEKw|Uh}KK7>xrey^6DEzT85l!S0c&`=qxj?gW%pTg_xftB(MvC48y{g8~`uXfuPMl zB&iLidkZ4fY9Eyu%x4-BqhIt<9C8b0!af&@36T|Au@;*?{|tvP9OJyG1Lj2EgL~;( zgLvD~!SQn((oL7?+&v(0(y7JVP}YF35~Lvc(PWQ|InP14*xq?;)9buh`9pc+_*?cL3}W zE)dZxuZX%3$F@3z$RvPuKY3A*=K)5X+Kpj6TK zZ_}-0&3pzv*)2jaJRH;sWjaW#IgQovNY*C7iThVM#q@mkJ)O3bAU ze0)e02~b2nMR|C9!d&)bfjdRp==C;3YpjA*lKOvmOd#FZzB)Vb3KSEI{TnmY_+NMg zrZNBFk^L=Jhy#;wmlbX>*@MBL{hIFyIhj4oBH=?GYJ=V)UvNOz0I*6p{5hkSX?MtS z#|BQ^qYvSdI)v)g-I9lr3l=gGZxKO0#0#_yW|AVEG6p2u@JvQ%ZePZ; z>(mS0|H%0q-IcOLGxYI~xPRlT{7jwC`YA05?lVQq=VKpv;de-X9JG_ZXV$hUg(T9J zm3{rbF}OoXxabg85+O{J)?G-!|2}3lgV!a8HU?5SD!_D%LA6h9w(x~jr70$I+L|cv z_#~iHty0=HT8kpqqLtF+t@7uxB3;evF2gg$miN>4(rE_`N*r0SWo0~%C>sWxZR~(k zs)MV&`3b7h-{;N%fv)uvRj&X%Tv*6=PaK)?{8k2xl-JqTj)utv^`p4HnistKCyw~$ zf8i|te{t5t*57Bri6uC*zFD%d@*@6O3+qf|!4Pf0h>w#H$o0^?*1Br`-2Zh&?6hic zCqLMi`{E%SE)W+iIVh!=e;V_|gb5U)1p#qnrdm!35Tr;5BND?TK$2Snz(}YP&Sx+{ zmK6>s5<5bcWcP-`m4^mdlF|Y|8pTeH3@D7EWyOFS#Qj4X9Rca+;#qN=5X&U=A?ORg z@&AUp?$Ds$sdTWr)coPTQU8n7SbL=f<=0ehEXgH@<;o;`MUlRd8JX};)4uCkzGa37 zEKq3iN?O*y2*n*gEOrS1Jiciq8TwF+9ayN@DsDwTQDv8d3dm87`IUw>S;bpvbtx`< zLfeZ?@r~2WZB9OE%Hb)^o=NJfu9s6%Nr&!vD-V7V?*~ZZ~Fo zDA$}9@YQiVq&Y&oMal-*!+EW?kQmZwU_PBZb^6p#LCz4AO z^cl3Ra2Gik-Vx?gKb3i6uk6Mb88D9Rd1N?d?bI&Dl(G5)yvRT9U*5#K`=0;a$FB0g z!QMc+xql?fT^m5?f(ILk@sz6O(eXXb-guFa<=@ZR#$C-@@?!k;4f?^-yZ*r;ng9T- zJpErf%^Wt)so8}Fs@jo<&?{uDZe9dMjzHHx7S}H|AItmoIM^?jxmIpe;yijv(^$wJ zpN=;t(7_t0dV6yA+UW+*88d$2q%_tY3#7m(;aLa@`lY1?cQ|~4P0)pf5mJ#aGFx~m zIbJTqGd@5sB`s}+7+Fv)6~&9odK&Wjrhs;>ggT?6B*9BUGUP>M33WFWD&&S*sz<^) z*~-lP4(}rvL(m;zG=dse2BKb@z!1b@ip~24>B6p_Y(%L}wK)nQ-#F_!Ra+rcp%pzq z*e~7)$1xs$wzEf7E^qn|5}JuZ*nKG)wAiOW7>-9x2_<@H+O<{3BV3g9y6hL0Hy@>T ze}bHz<9tiE>>SCTk`*%E6*4=Sxr7$plB%n zp3>i{dm!OPkDmE1 zATb63D#&h(Z7zMw=8JeY-A!Uj<3opwO5}9uJ^af0i_1zF35@u=Gbdlirv&^cOuZ1H z*Cu(3SB|dmlVDC3XT>H4*&MelFp!|VLAu^3rHqfdjY;-Ch%hZ`OI#Igo7f{}JDq2; ziBO19ltwSy5fVPBR8;|(E5R10ijtfzWh{tsu-DUk{W3o>_xB@*vUVmHF|L|+g(@gj z>%#`uCyyZDFK{^`US%<0H)dQA=?%Taup+ZL8CwIzVJw`nId44w?d$^1@Bkckbf&9!jyteTqgYNRH(eh zdF58t93r|PoQ{D+a0!3@oMHQ#+;{(&&&xC7w6~1x$~|yO-P6hQ$Ae-0XNy|@-+K^- zEC1Ublz!fW8n8Wxz4NlcLA&`{^j?qgF-=w$E&-=`EpXhSH^siyhOWBjmhC7|qzT)y z_MBcJ(Y|%~fn4V;z`6^l42op=K*F)Va*Iu8VF9Nko&Ju8T0r_qXfPJkV|2pQ4be!J zh`xCAXJB{}$r0=qKvgyWDp^u-M^Zo<#aone&sgb>Kxpzi(4B@|`NmIzBRp#`2$bcs z>FG{K?@Ar&7>aV$k__ql-57}FIs{(XVHx^Rm!x8&b>KmwU0UHV|9F^cR%?8E(mqC>?lI4rV0g7&y3cHGFe0x;{LyPxKFhvTj84P&~`t z9yL2H_@<2*EwCCH@%Ei^xPO!Y M@f92=%v)7VqCU7e=JVbB4$_}{r!!0&AWTo=z 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

}H=8eXrI1OY$jSM^#;quH0nj)I^ewBi3p= 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 WYT47iYR`ej%F*@pu$55=1^xqNrNgZN literal 0 HcmV?d00001 diff --git a/.gitignore b/.gitignore index 528a80a..14621f0 100644 --- a/.gitignore +++ b/.gitignore @@ -32,4 +32,7 @@ docs/_book # TODO: where does this rule come from? test/ +node_modules/ +dist/ + .direnv \ No newline at end of file diff --git a/.nixd.json b/.nixd.json new file mode 100644 index 0000000..9e729e8 --- /dev/null +++ b/.nixd.json @@ -0,0 +1,13 @@ +{ + "formatting": { + "command": "nixpkgs-fmt" + }, + "eval": { + "target": { + "args": [ + "--expr", + "with import { };" + ] + } + } +} \ No newline at end of file diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..baa63bc --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,17 @@ +{ + "sqltools.connections": [ + { + "mysqlOptions": { + "authProtocol": "default", + "enableSsl": "Disabled" + }, + "previewLimit": 50, + "server": "mysql.dev", + "port": 3306, + "driver": "MySQL", + "name": "recored-ui", + "database": "recoredui", + "username": "recoredui" + } + ] +} \ No newline at end of file diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..cb66abc --- /dev/null +++ b/Dockerfile @@ -0,0 +1,14 @@ +FROM node AS web + +WORKDIR /src +COPY . . +RUN cd web && npm i && npm run build + +FROM golang as server +WORKDIR /src +COPY --stage web /src . +RUN go get . && go generate ./... && go build . + +FROM scratch +COPY --stage server /src/reCoreD-UI . +ENTRYPOINT [ '/reCoreD-UI' ] diff --git a/README.md b/README.md index 745b857..c2e6ac1 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,58 @@ # reCoreD-UI Web UI for CoreDNS + +## UI + +![ui](.assets/ui.webp) + +## Build + +Install `go` and `npm` first. + +```bash +# Build web first +(cd web && npm run build) + +# Build server +go get . +go generate ./... +go build . +``` + +## Running + +Build [coredns](https://coredns.io/) with [mysql](coredns.io/explugins/mysql/) plugin first. + +A mysql server is needed. + +```bash +# example +export RECORED_MYSQL_DSN="recoredui:A123456a-@tcp(mysql.dev:3306)/recoredui?charset=utf8mb4" +./reCoreD-UI config db migrate + +# setup admin user +./reCoreD-UI config user -u user -p password + +# setup DNS +./reCoreD-UI config dns -s 1.1.1.1 -s 1.2.3.4 + +# run server and open http://localhost:3000 +./reCoreD-UI server +``` + +```ini +# systemd service +[Unit] +Description=reCoreD-UI + +[Service] +Type=simple +# RECORED_MYSQL_DSN="dsn" +EnvironmentFile=-/etc/default/recored-ui +EnvironmentFile=-/etc/sysconfig/recored-ui +ExecStart=/usr/local/bin/reCoreD-UI server + +[Install] +WantedBy=multi-user.target +``` diff --git a/TODO b/TODO index e3c08ea..afaa7f9 100644 --- a/TODO +++ b/TODO @@ -1,2 +1,12 @@ +- [x] metrics +- [x] Web UI + - [x] i18n + - [x] modals +- [x] debug +- [x] swagger +- [x] comments - [] Nix Module -- [] RBAC \ No newline at end of file + +v2.0 +- [] RBAC +- [] Audit diff --git a/cmd/config/config.go b/cmd/config/config.go new file mode 100644 index 0000000..918fd53 --- /dev/null +++ b/cmd/config/config.go @@ -0,0 +1,13 @@ +package config + +import "github.com/urfave/cli/v2" + +var Command = &cli.Command{ + Name: "config", + Usage: "config some settings", + Subcommands: []*cli.Command{ + UserCommand, + DatabaseCommand, + DNSCommand, + }, +} diff --git a/cmd/config/database.go b/cmd/config/database.go new file mode 100644 index 0000000..accd76a --- /dev/null +++ b/cmd/config/database.go @@ -0,0 +1,33 @@ +package config + +import ( + "reCoreD-UI/controllers" + "reCoreD-UI/database" + + "github.com/urfave/cli/v2" +) + +var migrationCommand = &cli.Command{ + Name: "migrate", + Usage: "migrate database", + Action: migrateDatabase, +} + +var DatabaseCommand = &cli.Command{ + Name: "database", + Usage: "database administration", + Aliases: []string{"db"}, + Subcommands: []*cli.Command{ + migrationCommand, + }, +} + +func migrateDatabase(c *cli.Context) error { + if err := database.Connect(c.String("mysql-dsn")); err != nil { + return err + } + if c.Bool("debug") { + database.Client = database.Client.Debug() + } + return controllers.Migrate() +} diff --git a/cmd/config/dns.go b/cmd/config/dns.go new file mode 100644 index 0000000..65e724e --- /dev/null +++ b/cmd/config/dns.go @@ -0,0 +1,33 @@ +package config + +import ( + "reCoreD-UI/controllers" + "reCoreD-UI/database" + + "github.com/urfave/cli/v2" + "github.com/urfave/cli/v2/altsrc" +) + +var DNSCommand = &cli.Command{ + Name: "dns", + Usage: "Config DNS Settings", + Flags: []cli.Flag{ + altsrc.NewStringSliceFlag(&cli.StringSliceFlag{ + Name: "servers", + Usage: "dns servers", + Aliases: []string{"s"}, + Required: true, + }), + }, + Action: setDNS, +} + +func setDNS(c *cli.Context) error { + if err := database.Connect(c.String("mysql-dsn")); err != nil { + return err + } + if c.Bool("debug") { + database.Client = database.Client.Debug() + } + return controllers.SetupDNS(c.StringSlice("servers")...) +} diff --git a/cmd/config/user.go b/cmd/config/user.go new file mode 100644 index 0000000..35c7d0d --- /dev/null +++ b/cmd/config/user.go @@ -0,0 +1,41 @@ +package config + +import ( + "reCoreD-UI/controllers" + "reCoreD-UI/database" + + "github.com/urfave/cli/v2" + "github.com/urfave/cli/v2/altsrc" +) + +var UserCommand = &cli.Command{ + Name: "user", + Usage: "set admin username and password", + Flags: []cli.Flag{ + altsrc.NewStringFlag(&cli.StringFlag{ + Name: "username", + Aliases: []string{"u"}, + Value: "amdin", + Usage: "admin username", + EnvVars: []string{"RECORED_ADMIN_USERNAME"}, + }), + altsrc.NewStringFlag(&cli.StringFlag{ + Name: "password", + Aliases: []string{"p"}, + Required: true, + Usage: "admin password", + EnvVars: []string{"RECORED_ADMIN_PASSWORD"}, + }), + }, + Action: setUser, +} + +func setUser(c *cli.Context) error { + if err := database.Connect(c.String("mysql-dsn")); err != nil { + return err + } + if c.Bool("debug") { + database.Client = database.Client.Debug() + } + return controllers.SetupAdmin(c.String("username"), c.String("password")) +} diff --git a/cmd/server/server.go b/cmd/server/server.go new file mode 100644 index 0000000..d2478a3 --- /dev/null +++ b/cmd/server/server.go @@ -0,0 +1,39 @@ +package server + +import ( + webserver "reCoreD-UI/server" + + "github.com/urfave/cli/v2" + "github.com/urfave/cli/v2/altsrc" +) + +var Command = &cli.Command{ + Name: "server", + Usage: "run server", + Flags: []cli.Flag{ + altsrc.NewStringFlag(&cli.StringFlag{ + Name: "prefix", + Value: "/", + Usage: "web prefix", + }), + altsrc.NewStringFlag(&cli.StringFlag{ + Name: "listen", + Value: "::", + Usage: "IP for listen at", + }), + altsrc.NewIntFlag(&cli.IntFlag{ + Name: "port", + Value: 3000, + Usage: "Port for listen at", + }), + }, + Action: runServer, +} + +func runServer(c *cli.Context) error { + server, err := webserver.NewServer(c) + if err != nil { + return err + } + return server.Run() +} diff --git a/controllers/domain.go b/controllers/domain.go new file mode 100644 index 0000000..c92a874 --- /dev/null +++ b/controllers/domain.go @@ -0,0 +1,156 @@ +package controllers + +import ( + "fmt" + "reCoreD-UI/database" + "reCoreD-UI/models" + "strconv" + + "github.com/sirupsen/logrus" +) + +type domainsDAO struct { + database.BaseDAO[models.IDomain] +} + +func CreateDomain(d *models.Domain) (*models.Domain, error) { + nss, err := GetDNS() + if err != nil { + return nil, err + } + + tx := database.Client.Begin() + if _, err := (domainsDAO{}).Create(tx, d); err != nil { + tx.Rollback() + return nil, err + } + + r := &models.Record[models.SOARecord]{} + r.Zone = d.WithDotEnd() + r.Name = "@" + r.RecordType = models.RecordTypeSOA + r.Content = d.GenerateSOA() + logrus.Debug(r) + if err := r.CheckZone(); err != nil { + tx.Rollback() + return nil, err + } + + if _, err := (recordsDAO{}).Create(tx, r); err != nil { + tx.Rollback() + return nil, err + } + + for i, ns := range nss { + record := &models.Record[models.NSRecord]{ + Zone: d.WithDotEnd(), + RecordType: models.RecordTypeNS, + Name: fmt.Sprintf("ns%d", i+1), + } + record.Content.Host = ns + + if _, err := (recordsDAO{}).Create(tx, record); err != nil { + tx.Rollback() + return nil, err + } + } + + return d, tx.Commit().Error +} + +func GetDomains(domain string) ([]models.Domain, error) { + if domain != "" { + r, err := (domainsDAO{}).GetAll(database.Client, &models.Domain{DomainName: domain}) + n := make([]models.Domain, 0) + for _, e := range r { + i, ok := e.(*models.Domain) + if !ok { + continue + } + n = append(n, *i) + } + return n, err + } else { + r, err := (domainsDAO{}).GetAll(database.Client, &models.Domain{}) + n := make([]models.Domain, 0) + for _, e := range r { + i, ok := e.(*models.Domain) + if !ok { + continue + } + n = append(n, *i) + } + return n, err + } +} + +func UpdateDomain(d *models.Domain) error { + tx := database.Client.Begin() + logrus.Debug(d) + if _, err := (domainsDAO{}).Update(tx, d); err != nil { + tx.Rollback() + return err + } + + soa, err := (recordsDAO{}).GetOne(tx, &models.Record[models.RecordContentDefault]{ + RecordType: models.RecordTypeSOA, Zone: d.WithDotEnd(), + }) + if err != nil { + tx.Rollback() + return err + } + + r := &models.Record[models.SOARecord]{} + if err := r.FromEntity(soa); err != nil { + tx.Rollback() + return err + } + + r.Content = d.GenerateSOA() + if err := r.CheckZone(); err != nil { + tx.Rollback() + return err + } + + if _, err := (recordsDAO{}).Update(tx, r); err != nil { + tx.Rollback() + return err + } + + return tx.Commit().Error +} + +func DeleteDomain(id string) error { + ID, err := strconv.Atoi(id) + if err != nil { + return err + } + + tx := database.Client.Begin() + domain, err := (domainsDAO{}).GetOne(tx, &models.Domain{ID: uint(ID)}) + if err != nil { + tx.Rollback() + return err + } + + if err := (domainsDAO{}).Delete(tx, &models.Domain{ID: uint(ID)}); err != nil { + tx.Rollback() + return err + } + + if err := (recordsDAO{}).Delete(tx, &models.Record[models.RecordContentDefault]{}, &models.Record[models.RecordContentDefault]{Zone: domain.WithDotEnd()}); err != nil { + tx.Rollback() + return err + } + + return tx.Commit().Error +} + +// for metrics +func getDomainCounts() (float64, error) { + c, err := (domainsDAO{}).GetAll(database.Client, &models.Domain{}) + if err != nil { + return 0, err + } + return float64(len(c)), nil +} diff --git a/controllers/metrics.go b/controllers/metrics.go new file mode 100644 index 0000000..b57efec --- /dev/null +++ b/controllers/metrics.go @@ -0,0 +1,61 @@ +package controllers + +import ( + "github.com/prometheus/client_golang/prometheus" + ginprometheus "github.com/zsais/go-gin-prometheus" + ormMetric "gorm.io/plugin/prometheus" +) + +var ( + GaugeDomainCounts = prometheus.NewGauge(prometheus.GaugeOpts{ + Namespace: "recoredui", + Subsystem: "domains", + Name: "count", + Help: "domains managed in reCoreD-UI", + }) + + GaugeRecordCounts = prometheus.NewGaugeVec(prometheus.GaugeOpts{ + Namespace: "recoredui", + Subsystem: "records", + Name: "count", + Help: "records managed in reCoreD-UI, by domain", + }, []string{"domain"}) +) + +func RegisterMetrics() { + prometheus.MustRegister(GaugeDomainCounts, GaugeRecordCounts) + + GormMetrics := ormMetric.New(ormMetric.Config{ + DBName: "recored-ui", + MetricsCollector: []ormMetric.MetricsCollector{ + &ormMetric.MySQL{ + VariableNames: []string{"Threads_running"}, + }, + }, + }).Collectors + prometheus.MustRegister(GormMetrics...) + + GinMetrics := ginprometheus.NewPrometheus("recoredui") + for _, v := range GinMetrics.MetricsList { + prometheus.Register(v.MetricCollector) + } +} + +func RefreshMetrics() error { + domainCounts, err := getDomainCounts() + if err != nil { + return err + } + GaugeDomainCounts.Set(domainCounts) + + recordCounts, err := getRecordCounts() + if err != nil { + return err + } + + for domain, counts := range recordCounts { + GaugeRecordCounts.WithLabelValues(domain).Set(counts) + } + + return nil +} diff --git a/controllers/migrate.go b/controllers/migrate.go new file mode 100644 index 0000000..a1d32ee --- /dev/null +++ b/controllers/migrate.go @@ -0,0 +1,22 @@ +package controllers + +import ( + "reCoreD-UI/database" + "reCoreD-UI/models" +) + +func Migrate() error { + if err := (domainsDAO{}).Migrate(database.Client, &models.Domain{}); err != nil { + return err + } + + if err := (recordsDAO{}).Migrate(database.Client, &models.Record[models.RecordContentDefault]{Content: make(models.RecordContentDefault)}); err != nil { + return err + } + + if err := (settingsDAO{}).Migrate(database.Client, &models.Settings{}); err != nil { + return err + } + + return nil +} diff --git a/controllers/record.go b/controllers/record.go new file mode 100644 index 0000000..41896ad --- /dev/null +++ b/controllers/record.go @@ -0,0 +1,106 @@ +package controllers + +import ( + "fmt" + "reCoreD-UI/database" + "reCoreD-UI/models" + "strconv" + + "gorm.io/gorm" +) + +type recordsDAO struct { + database.BaseDAO[models.IRecord] +} + +func CreateRecord(r models.IRecord) (models.IRecord, error) { + if r.GetType() != models.RecordTypeSOA { + _, err := GetDomains(r.WithOutDotTail()) + if err != nil { + return nil, err + } + } + + if err := r.CheckZone(); err != nil { + return nil, err + } + + res, err := (recordsDAO{}).Create(database.Client, r) + return res, err +} + +func CreateRecords(rs []models.IRecord) error { + tx := database.Client.Begin() + for _, r := range rs { + if err := r.CheckZone(); err != nil { + tx.Rollback() + return err + } + + if _, err := (recordsDAO{}).Create(tx, r); err != nil { + tx.Rollback() + return err + } + } + + return tx.Commit().Error +} + +func GetRecords(cond models.IRecord) ([]models.IRecord, error) { + return (recordsDAO{}).GetAll(database.Client, cond) +} + +func UpdateRecord(r models.IRecord) error { + if err := r.CheckZone(); err != nil { + return err + } + + if _, err := (recordsDAO{}).Update(database.Client, r); err != nil { + return err + } + return nil +} + +func DeleteRecord(domain, id string) error { + ID, err := strconv.Atoi(id) + if err != nil { + return err + } + + tx := database.Client.Begin() + record, err := (recordsDAO{}).GetOne(tx, &models.Record[models.RecordContentDefault]{ID: uint(ID), Zone: fmt.Sprintf("%s.", domain)}) + if err != nil { + tx.Rollback() + return err + } + + if record.GetType() == models.RecordTypeSOA { + tx.Rollback() + return gorm.ErrRecordNotFound + } + + if err := (recordsDAO{}).Delete(tx, record); err != nil { + tx.Rollback() + return err + } + + return tx.Commit().Error +} + +// for metrics +func getRecordCounts() (map[string]float64, error) { + rows, err := (recordsDAO{}).GetAll(database.Client, &models.Record[models.RecordContentDefault]{}) + if err != nil { + return nil, err + } + + result := make(map[string]float64) + for _, row := range rows { + record := &models.Record[models.RecordContentDefault]{} + if err := record.FromEntity(row); err != nil { + return nil, err + } + result[record.Zone] += 1 + } + return result, nil +} diff --git a/controllers/settings.go b/controllers/settings.go new file mode 100644 index 0000000..f9dc40a --- /dev/null +++ b/controllers/settings.go @@ -0,0 +1,89 @@ +package controllers + +import ( + "errors" + "reCoreD-UI/database" + "reCoreD-UI/models" + "strings" + + "github.com/sirupsen/logrus" +) + +const dnsSep = "," + +type settingsDAO struct { + database.BaseDAO[models.ISettings] +} + +func SetupDNS(dns ...string) error { + settings := models.Settings{Key: models.SettingsKeyDNSServer, Value: strings.Join(dns, dnsSep)} + + if _, err := (settingsDAO{}).UpdateOrCreate(database.Client, &settings, &models.Settings{Key: models.SettingsKeyDNSServer}); err != nil { + return err + } + + return nil +} + +func GetDNS() ([]string, error) { + settings, err := (settingsDAO{}).GetOne(database.Client, &models.Settings{Key: models.SettingsKeyDNSServer}) + if err != nil { + return nil, err + } + d, ok := settings.(*models.Settings) + if !ok { + return nil, errors.New("cannot get dns config") + } + + return strings.Split(d.Value, dnsSep), nil +} + +func SetupAdmin(username, password string) error { + logrus.Debugf("got %s: %s", username, password) + + settingUsername := models.Settings{ + Key: models.SettingsKeyAdminUsername, + Value: username, + } + settingPassword := models.Settings{ + Key: models.SettingsKeyAdminPassword, + Value: password, + } + + tx := database.Client.Begin() + if _, err := (settingsDAO{}).UpdateOrCreate(tx, &settingUsername, &models.Settings{Key: models.SettingsKeyAdminUsername}); err != nil { + tx.Rollback() + return err + } + + if _, err := (settingsDAO{}).UpdateOrCreate(tx, &settingPassword, &models.Settings{Key: models.SettingsKeyAdminPassword}); err != nil { + tx.Rollback() + return err + } + + return tx.Commit().Error +} + +func GetAdmin() (string, string, error) { + settings, err := (settingsDAO{}).GetOne(database.Client, &models.Settings{Key: models.SettingsKeyAdminUsername}) + if err != nil { + return "", "", err + } + u, ok := settings.(*models.Settings) + if !ok { + return "", "", errors.New("cannot get admin username") + } + username := u.Value + + settings, err = (settingsDAO{}).GetOne(database.Client, &models.Settings{Key: models.SettingsKeyAdminPassword}) + if err != nil { + return "", "", err + } + p, ok := settings.(*models.Settings) + password := p.Value + + if !ok { + return "", "", errors.New("cannot get admin password") + } + return username, password, nil +} diff --git a/database/basedao.go b/database/basedao.go new file mode 100644 index 0000000..dc47632 --- /dev/null +++ b/database/basedao.go @@ -0,0 +1,119 @@ +package database + +import ( + "errors" + + clone "github.com/huandu/go-clone/generic" + "gorm.io/gorm" +) + +type BaseDAO[T any] struct{} + +func (b BaseDAO[T]) Migrate(db *gorm.DB, e T) error { + return db.Set("gorm:table_options", "CHARSET=utf8mb4").AutoMigrate(e) +} + +func (BaseDAO[T]) GetAll(db *gorm.DB, e T, cond ...T) ([]T, error) { + var r []T + tx := db.Model(e) + for _, c := range cond { + tx = tx.Where(c) + } + + rows, err := tx.Rows() + if err != nil { + return nil, err + } + defer rows.Close() + + for rows.Next() { + if err := db.ScanRows(rows, e); err != nil { + return nil, err + } + + i := clone.Clone(e) + + r = append(r, i) + } + + return r, nil +} + +func (BaseDAO[T]) GetOne(db *gorm.DB, e T, cond ...T) (T, error) { + tx := db + for _, c := range cond { + tx = tx.Where(c) + } + + if err := tx.First(e).Error; err != nil { + return e, err + } + return e, nil +} + +func (BaseDAO[T]) Create(db *gorm.DB, e T) (T, error) { + if err := db.Create(e).Error; err != nil { + return e, err + } + return e, nil +} + +func (BaseDAO[T]) FirstOrCreate(db *gorm.DB, e T) (T, error) { + if err := db.FirstOrCreate(&e).Error; err != nil { + return e, err + } + return e, nil +} + +func (BaseDAO[T]) Update(db *gorm.DB, e T, cond ...T) (T, error) { + tx := db.Model(e) + for _, c := range cond { + tx = tx.Where(c) + } + + result := tx.Updates(e) + + if err := result.Error; err != nil { + return e, err + } + if result.RowsAffected == 0 { + return e, gorm.ErrRecordNotFound + } + return e, nil +} + +func (b BaseDAO[T]) UpdateOrCreate(db *gorm.DB, e T, cond ...T) (T, error) { + _, err := b.Update(db, e, cond...) + if errors.Is(err, gorm.ErrRecordNotFound) { + _, err = b.Create(db, e) + } + return e, err +} + +func (BaseDAO[T]) Delete(db *gorm.DB, e T, cond ...T) error { + tx := db + for _, c := range cond { + tx = tx.Where(c) + } + + if err := tx.Delete(e).Error; err != nil { + return err + } + return nil +} + +type IBaseDAO interface { + Migrate() + + GetAll() + GetOne() + GetSome() + + Create() + FirstOrCreate() + + Update() + UpdateOrCreate() + + Delete() +} diff --git a/database/database.go b/database/database.go new file mode 100644 index 0000000..91bac4d --- /dev/null +++ b/database/database.go @@ -0,0 +1,19 @@ +package database + +import ( + "gorm.io/driver/mysql" + "gorm.io/gorm" +) + +var Client *gorm.DB + +func Connect(DSN string) error { + var err error + Client, err = gorm.Open(mysql.Open(DSN), &gorm.Config{ + SkipDefaultTransaction: true, + }) + if err != nil { + return err + } + return nil +} diff --git a/docs/docs.go b/docs/docs.go new file mode 100644 index 0000000..6914a19 --- /dev/null +++ b/docs/docs.go @@ -0,0 +1,1069 @@ +// Package docs Code generated by swaggo/swag. DO NOT EDIT +package docs + +import "github.com/swaggo/swag" + +const docTemplate = `{ + "schemes": {{ marshal .Schemes }}, + "swagger": "2.0", + "info": { + "description": "{{escape .Description}}", + "title": "{{.Title}}", + "contact": {}, + "version": "{{.Version}}" + }, + "host": "{{.Host}}", + "basePath": "{{.BasePath}}", + "paths": { + "/domains/": { + "get": { + "description": "List all domains", + "consumes": [ + "application/json" + ], + "tags": [ + "domains" + ], + "summary": "List all domains", + "responses": { + "200": { + "description": "OK", + "schema": { + "allOf": [ + { + "$ref": "#/definitions/server.Response" + }, + { + "type": "object", + "properties": { + "data": { + "type": "array", + "items": { + "$ref": "#/definitions/models.Domain" + } + } + } + } + ] + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "allOf": [ + { + "$ref": "#/definitions/server.Response" + }, + { + "type": "object", + "properties": { + "data": { + "type": "object" + } + } + } + ] + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "allOf": [ + { + "$ref": "#/definitions/server.Response" + }, + { + "type": "object", + "properties": { + "data": { + "type": "object" + } + } + } + ] + } + } + } + }, + "put": { + "description": "Update a domain", + "consumes": [ + "application/json" + ], + "tags": [ + "domains" + ], + "summary": "Update a domain", + "parameters": [ + { + "description": "content", + "name": "object", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/models.Domain" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "allOf": [ + { + "$ref": "#/definitions/server.Response" + }, + { + "type": "object", + "properties": { + "data": { + "$ref": "#/definitions/models.Domain" + } + } + } + ] + } + }, + "400": { + "description": "Bad Request", + "schema": { + "allOf": [ + { + "$ref": "#/definitions/server.Response" + }, + { + "type": "object", + "properties": { + "data": { + "type": "object" + } + } + } + ] + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "allOf": [ + { + "$ref": "#/definitions/server.Response" + }, + { + "type": "object", + "properties": { + "data": { + "type": "object" + } + } + } + ] + } + }, + "404": { + "description": "Not Found", + "schema": { + "allOf": [ + { + "$ref": "#/definitions/server.Response" + }, + { + "type": "object", + "properties": { + "data": { + "type": "object" + } + } + } + ] + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "allOf": [ + { + "$ref": "#/definitions/server.Response" + }, + { + "type": "object", + "properties": { + "data": { + "type": "object" + } + } + } + ] + } + } + } + }, + "post": { + "description": "Create a domain", + "tags": [ + "domains" + ], + "summary": "Create a domain", + "parameters": [ + { + "description": "content", + "name": "object", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/models.Domain" + } + } + ], + "responses": { + "201": { + "description": "Created", + "schema": { + "allOf": [ + { + "$ref": "#/definitions/server.Response" + }, + { + "type": "object", + "properties": { + "data": { + "$ref": "#/definitions/models.Domain" + } + } + } + ] + } + }, + "400": { + "description": "Bad Request", + "schema": { + "allOf": [ + { + "$ref": "#/definitions/server.Response" + }, + { + "type": "object", + "properties": { + "data": { + "type": "object" + } + } + } + ] + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "allOf": [ + { + "$ref": "#/definitions/server.Response" + }, + { + "type": "object", + "properties": { + "data": { + "type": "object" + } + } + } + ] + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "allOf": [ + { + "$ref": "#/definitions/server.Response" + }, + { + "type": "object", + "properties": { + "data": { + "type": "object" + } + } + } + ] + } + } + } + } + }, + "/domains/{id}": { + "delete": { + "description": "Delete a domain", + "tags": [ + "domains" + ], + "summary": "Delete a domain", + "parameters": [ + { + "type": "integer", + "description": "Domain ID", + "name": "id", + "in": "path", + "required": true + } + ], + "responses": { + "204": { + "description": "No Content", + "schema": { + "allOf": [ + { + "$ref": "#/definitions/server.Response" + }, + { + "type": "object", + "properties": { + "data": { + "type": "object" + } + } + } + ] + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "allOf": [ + { + "$ref": "#/definitions/server.Response" + }, + { + "type": "object", + "properties": { + "data": { + "type": "object" + } + } + } + ] + } + }, + "404": { + "description": "Not Found", + "schema": { + "allOf": [ + { + "$ref": "#/definitions/server.Response" + }, + { + "type": "object", + "properties": { + "data": { + "type": "object" + } + } + } + ] + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "allOf": [ + { + "$ref": "#/definitions/server.Response" + }, + { + "type": "object", + "properties": { + "data": { + "type": "object" + } + } + } + ] + } + } + } + } + }, + "/records/{domain}": { + "get": { + "description": "List all records of a domain", + "tags": [ + "records" + ], + "summary": "List all records of a domain", + "parameters": [ + { + "type": "string", + "description": "domain", + "name": "domain", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "allOf": [ + { + "$ref": "#/definitions/server.Response" + }, + { + "type": "object", + "properties": { + "data": { + "type": "array", + "items": { + "$ref": "#/definitions/models.Record-models_RecordContentDefault" + } + } + } + } + ] + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "allOf": [ + { + "$ref": "#/definitions/server.Response" + }, + { + "type": "object", + "properties": { + "data": { + "type": "object" + } + } + } + ] + } + }, + "404": { + "description": "Not Found", + "schema": { + "allOf": [ + { + "$ref": "#/definitions/server.Response" + }, + { + "type": "object", + "properties": { + "data": { + "type": "object" + } + } + } + ] + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "allOf": [ + { + "$ref": "#/definitions/server.Response" + }, + { + "type": "object", + "properties": { + "data": { + "type": "object" + } + } + } + ] + } + } + } + }, + "put": { + "description": "Update a record of a domain", + "consumes": [ + "application/json" + ], + "tags": [ + "records" + ], + "summary": "Update a record of a domain", + "parameters": [ + { + "type": "string", + "description": "domain", + "name": "domain", + "in": "path", + "required": true + }, + { + "description": "content", + "name": "object", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/models.Record-models_RecordContentDefault" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "allOf": [ + { + "$ref": "#/definitions/server.Response" + }, + { + "type": "object", + "properties": { + "data": { + "$ref": "#/definitions/models.Record-models_RecordContentDefault" + } + } + } + ] + } + }, + "400": { + "description": "Bad Request", + "schema": { + "allOf": [ + { + "$ref": "#/definitions/server.Response" + }, + { + "type": "object", + "properties": { + "data": { + "type": "object" + } + } + } + ] + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "allOf": [ + { + "$ref": "#/definitions/server.Response" + }, + { + "type": "object", + "properties": { + "data": { + "type": "object" + } + } + } + ] + } + }, + "404": { + "description": "Not Found", + "schema": { + "allOf": [ + { + "$ref": "#/definitions/server.Response" + }, + { + "type": "object", + "properties": { + "data": { + "type": "object" + } + } + } + ] + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "allOf": [ + { + "$ref": "#/definitions/server.Response" + }, + { + "type": "object", + "properties": { + "data": { + "type": "object" + } + } + } + ] + } + } + } + }, + "post": { + "description": "Create a record of a domain", + "consumes": [ + "application/json" + ], + "tags": [ + "records" + ], + "summary": "Create a record of a domain", + "parameters": [ + { + "type": "string", + "description": "domain", + "name": "domain", + "in": "path", + "required": true + }, + { + "description": "content", + "name": "object", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/models.Record-models_RecordContentDefault" + } + } + ], + "responses": { + "201": { + "description": "Created", + "schema": { + "allOf": [ + { + "$ref": "#/definitions/server.Response" + }, + { + "type": "object", + "properties": { + "data": { + "$ref": "#/definitions/models.Record-models_RecordContentDefault" + } + } + } + ] + } + }, + "400": { + "description": "Bad Request", + "schema": { + "allOf": [ + { + "$ref": "#/definitions/server.Response" + }, + { + "type": "object", + "properties": { + "data": { + "type": "object" + } + } + } + ] + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "allOf": [ + { + "$ref": "#/definitions/server.Response" + }, + { + "type": "object", + "properties": { + "data": { + "type": "object" + } + } + } + ] + } + }, + "404": { + "description": "Not Found", + "schema": { + "allOf": [ + { + "$ref": "#/definitions/server.Response" + }, + { + "type": "object", + "properties": { + "data": { + "type": "object" + } + } + } + ] + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "allOf": [ + { + "$ref": "#/definitions/server.Response" + }, + { + "type": "object", + "properties": { + "data": { + "type": "object" + } + } + } + ] + } + } + } + } + }, + "/records/{domain}/bulk": { + "post": { + "description": "Create some records of a domain", + "consumes": [ + "application/json" + ], + "tags": [ + "records" + ], + "summary": "Create some records of a domain", + "parameters": [ + { + "type": "string", + "description": "domain", + "name": "domain", + "in": "path", + "required": true + }, + { + "description": "content", + "name": "object", + "in": "body", + "required": true, + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/models.Record-models_RecordContentDefault" + } + } + } + ], + "responses": { + "201": { + "description": "Created", + "schema": { + "allOf": [ + { + "$ref": "#/definitions/server.Response" + }, + { + "type": "object", + "properties": { + "data": { + "$ref": "#/definitions/models.Record-models_RecordContentDefault" + } + } + } + ] + } + }, + "400": { + "description": "Bad Request", + "schema": { + "allOf": [ + { + "$ref": "#/definitions/server.Response" + }, + { + "type": "object", + "properties": { + "data": { + "type": "object" + } + } + } + ] + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "allOf": [ + { + "$ref": "#/definitions/server.Response" + }, + { + "type": "object", + "properties": { + "data": { + "type": "object" + } + } + } + ] + } + }, + "404": { + "description": "Not Found", + "schema": { + "allOf": [ + { + "$ref": "#/definitions/server.Response" + }, + { + "type": "object", + "properties": { + "data": { + "type": "object" + } + } + } + ] + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "allOf": [ + { + "$ref": "#/definitions/server.Response" + }, + { + "type": "object", + "properties": { + "data": { + "type": "object" + } + } + } + ] + } + } + } + } + }, + "/records/{domain}/{id}": { + "delete": { + "description": "Delete a record of a domain, except SOA record.", + "tags": [ + "records" + ], + "summary": "Delete a record of a domain", + "parameters": [ + { + "type": "string", + "description": "domain", + "name": "domain", + "in": "path", + "required": true + }, + { + "type": "integer", + "description": "Record ID", + "name": "id", + "in": "path", + "required": true + } + ], + "responses": { + "204": { + "description": "No Content", + "schema": { + "allOf": [ + { + "$ref": "#/definitions/server.Response" + }, + { + "type": "object", + "properties": { + "data": { + "type": "object" + } + } + } + ] + } + }, + "400": { + "description": "Bad Request", + "schema": { + "allOf": [ + { + "$ref": "#/definitions/server.Response" + }, + { + "type": "object", + "properties": { + "data": { + "type": "object" + } + } + } + ] + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "allOf": [ + { + "$ref": "#/definitions/server.Response" + }, + { + "type": "object", + "properties": { + "data": { + "type": "object" + } + } + } + ] + } + }, + "404": { + "description": "Not Found", + "schema": { + "allOf": [ + { + "$ref": "#/definitions/server.Response" + }, + { + "type": "object", + "properties": { + "data": { + "type": "object" + } + } + } + ] + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "allOf": [ + { + "$ref": "#/definitions/server.Response" + }, + { + "type": "object", + "properties": { + "data": { + "type": "object" + } + } + } + ] + } + } + } + } + } + }, + "definitions": { + "models.Domain": { + "type": "object", + "properties": { + "admin_email": { + "type": "string" + }, + "domain_name": { + "type": "string" + }, + "expiry_period": { + "type": "integer" + }, + "id": { + "type": "integer" + }, + "main_dns": { + "type": "string" + }, + "negative_ttl": { + "type": "integer" + }, + "refresh_interval": { + "type": "integer" + }, + "retry_interval": { + "type": "integer" + }, + "serial_number": { + "type": "integer" + } + } + }, + "models.Record-models_RecordContentDefault": { + "type": "object", + "properties": { + "content": { + "description": "see https://github.com/cloud66-oss/coredns_mysql/blob/main/types.go for content", + "allOf": [ + { + "$ref": "#/definitions/models.RecordContentDefault" + } + ] + }, + "id": { + "type": "integer" + }, + "name": { + "type": "string" + }, + "record_type": { + "type": "string" + }, + "ttl": { + "type": "integer" + }, + "zone": { + "type": "string" + } + } + }, + "models.RecordContentDefault": { + "type": "object", + "additionalProperties": {} + }, + "server.Response": { + "type": "object", + "properties": { + "data": { + "description": "payload here" + }, + "message": { + "description": "error message", + "type": "string" + }, + "succeed": { + "description": "` + "`" + `true` + "`" + ` for 2xx, else ` + "`" + `false` + "`" + `", + "type": "boolean" + } + } + } + }, + "securityDefinitions": { + "BasicAuth": { + "type": "basic" + } + } +}` + +// SwaggerInfo holds exported Swagger Info so clients can modify it +var SwaggerInfo = &swag.Spec{ + Version: "1.0", + Host: "", + BasePath: "/api/v1", + Schemes: []string{}, + Title: "reCoreD-UI API", + Description: "APIs for reCoreD-UI", + InfoInstanceName: "swagger", + SwaggerTemplate: docTemplate, + LeftDelim: "{{", + RightDelim: "}}", +} + +func init() { + swag.Register(SwaggerInfo.InstanceName(), SwaggerInfo) +} diff --git a/docs/swagger.json b/docs/swagger.json new file mode 100644 index 0000000..799b0e4 --- /dev/null +++ b/docs/swagger.json @@ -0,0 +1,1044 @@ +{ + "swagger": "2.0", + "info": { + "description": "APIs for reCoreD-UI", + "title": "reCoreD-UI API", + "contact": {}, + "version": "1.0" + }, + "basePath": "/api/v1", + "paths": { + "/domains/": { + "get": { + "description": "List all domains", + "consumes": [ + "application/json" + ], + "tags": [ + "domains" + ], + "summary": "List all domains", + "responses": { + "200": { + "description": "OK", + "schema": { + "allOf": [ + { + "$ref": "#/definitions/server.Response" + }, + { + "type": "object", + "properties": { + "data": { + "type": "array", + "items": { + "$ref": "#/definitions/models.Domain" + } + } + } + } + ] + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "allOf": [ + { + "$ref": "#/definitions/server.Response" + }, + { + "type": "object", + "properties": { + "data": { + "type": "object" + } + } + } + ] + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "allOf": [ + { + "$ref": "#/definitions/server.Response" + }, + { + "type": "object", + "properties": { + "data": { + "type": "object" + } + } + } + ] + } + } + } + }, + "put": { + "description": "Update a domain", + "consumes": [ + "application/json" + ], + "tags": [ + "domains" + ], + "summary": "Update a domain", + "parameters": [ + { + "description": "content", + "name": "object", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/models.Domain" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "allOf": [ + { + "$ref": "#/definitions/server.Response" + }, + { + "type": "object", + "properties": { + "data": { + "$ref": "#/definitions/models.Domain" + } + } + } + ] + } + }, + "400": { + "description": "Bad Request", + "schema": { + "allOf": [ + { + "$ref": "#/definitions/server.Response" + }, + { + "type": "object", + "properties": { + "data": { + "type": "object" + } + } + } + ] + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "allOf": [ + { + "$ref": "#/definitions/server.Response" + }, + { + "type": "object", + "properties": { + "data": { + "type": "object" + } + } + } + ] + } + }, + "404": { + "description": "Not Found", + "schema": { + "allOf": [ + { + "$ref": "#/definitions/server.Response" + }, + { + "type": "object", + "properties": { + "data": { + "type": "object" + } + } + } + ] + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "allOf": [ + { + "$ref": "#/definitions/server.Response" + }, + { + "type": "object", + "properties": { + "data": { + "type": "object" + } + } + } + ] + } + } + } + }, + "post": { + "description": "Create a domain", + "tags": [ + "domains" + ], + "summary": "Create a domain", + "parameters": [ + { + "description": "content", + "name": "object", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/models.Domain" + } + } + ], + "responses": { + "201": { + "description": "Created", + "schema": { + "allOf": [ + { + "$ref": "#/definitions/server.Response" + }, + { + "type": "object", + "properties": { + "data": { + "$ref": "#/definitions/models.Domain" + } + } + } + ] + } + }, + "400": { + "description": "Bad Request", + "schema": { + "allOf": [ + { + "$ref": "#/definitions/server.Response" + }, + { + "type": "object", + "properties": { + "data": { + "type": "object" + } + } + } + ] + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "allOf": [ + { + "$ref": "#/definitions/server.Response" + }, + { + "type": "object", + "properties": { + "data": { + "type": "object" + } + } + } + ] + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "allOf": [ + { + "$ref": "#/definitions/server.Response" + }, + { + "type": "object", + "properties": { + "data": { + "type": "object" + } + } + } + ] + } + } + } + } + }, + "/domains/{id}": { + "delete": { + "description": "Delete a domain", + "tags": [ + "domains" + ], + "summary": "Delete a domain", + "parameters": [ + { + "type": "integer", + "description": "Domain ID", + "name": "id", + "in": "path", + "required": true + } + ], + "responses": { + "204": { + "description": "No Content", + "schema": { + "allOf": [ + { + "$ref": "#/definitions/server.Response" + }, + { + "type": "object", + "properties": { + "data": { + "type": "object" + } + } + } + ] + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "allOf": [ + { + "$ref": "#/definitions/server.Response" + }, + { + "type": "object", + "properties": { + "data": { + "type": "object" + } + } + } + ] + } + }, + "404": { + "description": "Not Found", + "schema": { + "allOf": [ + { + "$ref": "#/definitions/server.Response" + }, + { + "type": "object", + "properties": { + "data": { + "type": "object" + } + } + } + ] + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "allOf": [ + { + "$ref": "#/definitions/server.Response" + }, + { + "type": "object", + "properties": { + "data": { + "type": "object" + } + } + } + ] + } + } + } + } + }, + "/records/{domain}": { + "get": { + "description": "List all records of a domain", + "tags": [ + "records" + ], + "summary": "List all records of a domain", + "parameters": [ + { + "type": "string", + "description": "domain", + "name": "domain", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "allOf": [ + { + "$ref": "#/definitions/server.Response" + }, + { + "type": "object", + "properties": { + "data": { + "type": "array", + "items": { + "$ref": "#/definitions/models.Record-models_RecordContentDefault" + } + } + } + } + ] + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "allOf": [ + { + "$ref": "#/definitions/server.Response" + }, + { + "type": "object", + "properties": { + "data": { + "type": "object" + } + } + } + ] + } + }, + "404": { + "description": "Not Found", + "schema": { + "allOf": [ + { + "$ref": "#/definitions/server.Response" + }, + { + "type": "object", + "properties": { + "data": { + "type": "object" + } + } + } + ] + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "allOf": [ + { + "$ref": "#/definitions/server.Response" + }, + { + "type": "object", + "properties": { + "data": { + "type": "object" + } + } + } + ] + } + } + } + }, + "put": { + "description": "Update a record of a domain", + "consumes": [ + "application/json" + ], + "tags": [ + "records" + ], + "summary": "Update a record of a domain", + "parameters": [ + { + "type": "string", + "description": "domain", + "name": "domain", + "in": "path", + "required": true + }, + { + "description": "content", + "name": "object", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/models.Record-models_RecordContentDefault" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "allOf": [ + { + "$ref": "#/definitions/server.Response" + }, + { + "type": "object", + "properties": { + "data": { + "$ref": "#/definitions/models.Record-models_RecordContentDefault" + } + } + } + ] + } + }, + "400": { + "description": "Bad Request", + "schema": { + "allOf": [ + { + "$ref": "#/definitions/server.Response" + }, + { + "type": "object", + "properties": { + "data": { + "type": "object" + } + } + } + ] + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "allOf": [ + { + "$ref": "#/definitions/server.Response" + }, + { + "type": "object", + "properties": { + "data": { + "type": "object" + } + } + } + ] + } + }, + "404": { + "description": "Not Found", + "schema": { + "allOf": [ + { + "$ref": "#/definitions/server.Response" + }, + { + "type": "object", + "properties": { + "data": { + "type": "object" + } + } + } + ] + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "allOf": [ + { + "$ref": "#/definitions/server.Response" + }, + { + "type": "object", + "properties": { + "data": { + "type": "object" + } + } + } + ] + } + } + } + }, + "post": { + "description": "Create a record of a domain", + "consumes": [ + "application/json" + ], + "tags": [ + "records" + ], + "summary": "Create a record of a domain", + "parameters": [ + { + "type": "string", + "description": "domain", + "name": "domain", + "in": "path", + "required": true + }, + { + "description": "content", + "name": "object", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/models.Record-models_RecordContentDefault" + } + } + ], + "responses": { + "201": { + "description": "Created", + "schema": { + "allOf": [ + { + "$ref": "#/definitions/server.Response" + }, + { + "type": "object", + "properties": { + "data": { + "$ref": "#/definitions/models.Record-models_RecordContentDefault" + } + } + } + ] + } + }, + "400": { + "description": "Bad Request", + "schema": { + "allOf": [ + { + "$ref": "#/definitions/server.Response" + }, + { + "type": "object", + "properties": { + "data": { + "type": "object" + } + } + } + ] + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "allOf": [ + { + "$ref": "#/definitions/server.Response" + }, + { + "type": "object", + "properties": { + "data": { + "type": "object" + } + } + } + ] + } + }, + "404": { + "description": "Not Found", + "schema": { + "allOf": [ + { + "$ref": "#/definitions/server.Response" + }, + { + "type": "object", + "properties": { + "data": { + "type": "object" + } + } + } + ] + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "allOf": [ + { + "$ref": "#/definitions/server.Response" + }, + { + "type": "object", + "properties": { + "data": { + "type": "object" + } + } + } + ] + } + } + } + } + }, + "/records/{domain}/bulk": { + "post": { + "description": "Create some records of a domain", + "consumes": [ + "application/json" + ], + "tags": [ + "records" + ], + "summary": "Create some records of a domain", + "parameters": [ + { + "type": "string", + "description": "domain", + "name": "domain", + "in": "path", + "required": true + }, + { + "description": "content", + "name": "object", + "in": "body", + "required": true, + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/models.Record-models_RecordContentDefault" + } + } + } + ], + "responses": { + "201": { + "description": "Created", + "schema": { + "allOf": [ + { + "$ref": "#/definitions/server.Response" + }, + { + "type": "object", + "properties": { + "data": { + "$ref": "#/definitions/models.Record-models_RecordContentDefault" + } + } + } + ] + } + }, + "400": { + "description": "Bad Request", + "schema": { + "allOf": [ + { + "$ref": "#/definitions/server.Response" + }, + { + "type": "object", + "properties": { + "data": { + "type": "object" + } + } + } + ] + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "allOf": [ + { + "$ref": "#/definitions/server.Response" + }, + { + "type": "object", + "properties": { + "data": { + "type": "object" + } + } + } + ] + } + }, + "404": { + "description": "Not Found", + "schema": { + "allOf": [ + { + "$ref": "#/definitions/server.Response" + }, + { + "type": "object", + "properties": { + "data": { + "type": "object" + } + } + } + ] + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "allOf": [ + { + "$ref": "#/definitions/server.Response" + }, + { + "type": "object", + "properties": { + "data": { + "type": "object" + } + } + } + ] + } + } + } + } + }, + "/records/{domain}/{id}": { + "delete": { + "description": "Delete a record of a domain, except SOA record.", + "tags": [ + "records" + ], + "summary": "Delete a record of a domain", + "parameters": [ + { + "type": "string", + "description": "domain", + "name": "domain", + "in": "path", + "required": true + }, + { + "type": "integer", + "description": "Record ID", + "name": "id", + "in": "path", + "required": true + } + ], + "responses": { + "204": { + "description": "No Content", + "schema": { + "allOf": [ + { + "$ref": "#/definitions/server.Response" + }, + { + "type": "object", + "properties": { + "data": { + "type": "object" + } + } + } + ] + } + }, + "400": { + "description": "Bad Request", + "schema": { + "allOf": [ + { + "$ref": "#/definitions/server.Response" + }, + { + "type": "object", + "properties": { + "data": { + "type": "object" + } + } + } + ] + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "allOf": [ + { + "$ref": "#/definitions/server.Response" + }, + { + "type": "object", + "properties": { + "data": { + "type": "object" + } + } + } + ] + } + }, + "404": { + "description": "Not Found", + "schema": { + "allOf": [ + { + "$ref": "#/definitions/server.Response" + }, + { + "type": "object", + "properties": { + "data": { + "type": "object" + } + } + } + ] + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "allOf": [ + { + "$ref": "#/definitions/server.Response" + }, + { + "type": "object", + "properties": { + "data": { + "type": "object" + } + } + } + ] + } + } + } + } + } + }, + "definitions": { + "models.Domain": { + "type": "object", + "properties": { + "admin_email": { + "type": "string" + }, + "domain_name": { + "type": "string" + }, + "expiry_period": { + "type": "integer" + }, + "id": { + "type": "integer" + }, + "main_dns": { + "type": "string" + }, + "negative_ttl": { + "type": "integer" + }, + "refresh_interval": { + "type": "integer" + }, + "retry_interval": { + "type": "integer" + }, + "serial_number": { + "type": "integer" + } + } + }, + "models.Record-models_RecordContentDefault": { + "type": "object", + "properties": { + "content": { + "description": "see https://github.com/cloud66-oss/coredns_mysql/blob/main/types.go for content", + "allOf": [ + { + "$ref": "#/definitions/models.RecordContentDefault" + } + ] + }, + "id": { + "type": "integer" + }, + "name": { + "type": "string" + }, + "record_type": { + "type": "string" + }, + "ttl": { + "type": "integer" + }, + "zone": { + "type": "string" + } + } + }, + "models.RecordContentDefault": { + "type": "object", + "additionalProperties": {} + }, + "server.Response": { + "type": "object", + "properties": { + "data": { + "description": "payload here" + }, + "message": { + "description": "error message", + "type": "string" + }, + "succeed": { + "description": "`true` for 2xx, else `false`", + "type": "boolean" + } + } + } + }, + "securityDefinitions": { + "BasicAuth": { + "type": "basic" + } + } +} \ No newline at end of file diff --git a/docs/swagger.yaml b/docs/swagger.yaml new file mode 100644 index 0000000..a0f090d --- /dev/null +++ b/docs/swagger.yaml @@ -0,0 +1,573 @@ +basePath: /api/v1 +definitions: + models.Domain: + properties: + admin_email: + type: string + domain_name: + type: string + expiry_period: + type: integer + id: + type: integer + main_dns: + type: string + negative_ttl: + type: integer + refresh_interval: + type: integer + retry_interval: + type: integer + serial_number: + type: integer + type: object + models.Record-models_RecordContentDefault: + properties: + content: + allOf: + - $ref: '#/definitions/models.RecordContentDefault' + description: see https://github.com/cloud66-oss/coredns_mysql/blob/main/types.go + for content + id: + type: integer + name: + type: string + record_type: + type: string + ttl: + type: integer + zone: + type: string + type: object + models.RecordContentDefault: + additionalProperties: {} + type: object + server.Response: + properties: + data: + description: payload here + message: + description: error message + type: string + succeed: + description: '`true` for 2xx, else `false`' + type: boolean + type: object +info: + contact: {} + description: APIs for reCoreD-UI + title: reCoreD-UI API + version: "1.0" +paths: + /domains/: + get: + consumes: + - application/json + description: List all domains + responses: + "200": + description: OK + schema: + allOf: + - $ref: '#/definitions/server.Response' + - properties: + data: + items: + $ref: '#/definitions/models.Domain' + type: array + type: object + "401": + description: Unauthorized + schema: + allOf: + - $ref: '#/definitions/server.Response' + - properties: + data: + type: object + type: object + "500": + description: Internal Server Error + schema: + allOf: + - $ref: '#/definitions/server.Response' + - properties: + data: + type: object + type: object + summary: List all domains + tags: + - domains + post: + description: Create a domain + parameters: + - description: content + in: body + name: object + required: true + schema: + $ref: '#/definitions/models.Domain' + responses: + "201": + description: Created + schema: + allOf: + - $ref: '#/definitions/server.Response' + - properties: + data: + $ref: '#/definitions/models.Domain' + type: object + "400": + description: Bad Request + schema: + allOf: + - $ref: '#/definitions/server.Response' + - properties: + data: + type: object + type: object + "401": + description: Unauthorized + schema: + allOf: + - $ref: '#/definitions/server.Response' + - properties: + data: + type: object + type: object + "500": + description: Internal Server Error + schema: + allOf: + - $ref: '#/definitions/server.Response' + - properties: + data: + type: object + type: object + summary: Create a domain + tags: + - domains + put: + consumes: + - application/json + description: Update a domain + parameters: + - description: content + in: body + name: object + required: true + schema: + $ref: '#/definitions/models.Domain' + responses: + "200": + description: OK + schema: + allOf: + - $ref: '#/definitions/server.Response' + - properties: + data: + $ref: '#/definitions/models.Domain' + type: object + "400": + description: Bad Request + schema: + allOf: + - $ref: '#/definitions/server.Response' + - properties: + data: + type: object + type: object + "401": + description: Unauthorized + schema: + allOf: + - $ref: '#/definitions/server.Response' + - properties: + data: + type: object + type: object + "404": + description: Not Found + schema: + allOf: + - $ref: '#/definitions/server.Response' + - properties: + data: + type: object + type: object + "500": + description: Internal Server Error + schema: + allOf: + - $ref: '#/definitions/server.Response' + - properties: + data: + type: object + type: object + summary: Update a domain + tags: + - domains + /domains/{id}: + delete: + description: Delete a domain + parameters: + - description: Domain ID + in: path + name: id + required: true + type: integer + responses: + "204": + description: No Content + schema: + allOf: + - $ref: '#/definitions/server.Response' + - properties: + data: + type: object + type: object + "401": + description: Unauthorized + schema: + allOf: + - $ref: '#/definitions/server.Response' + - properties: + data: + type: object + type: object + "404": + description: Not Found + schema: + allOf: + - $ref: '#/definitions/server.Response' + - properties: + data: + type: object + type: object + "500": + description: Internal Server Error + schema: + allOf: + - $ref: '#/definitions/server.Response' + - properties: + data: + type: object + type: object + summary: Delete a domain + tags: + - domains + /records/{domain}: + get: + description: List all records of a domain + parameters: + - description: domain + in: path + name: domain + required: true + type: string + responses: + "200": + description: OK + schema: + allOf: + - $ref: '#/definitions/server.Response' + - properties: + data: + items: + $ref: '#/definitions/models.Record-models_RecordContentDefault' + type: array + type: object + "401": + description: Unauthorized + schema: + allOf: + - $ref: '#/definitions/server.Response' + - properties: + data: + type: object + type: object + "404": + description: Not Found + schema: + allOf: + - $ref: '#/definitions/server.Response' + - properties: + data: + type: object + type: object + "500": + description: Internal Server Error + schema: + allOf: + - $ref: '#/definitions/server.Response' + - properties: + data: + type: object + type: object + summary: List all records of a domain + tags: + - records + post: + consumes: + - application/json + description: Create a record of a domain + parameters: + - description: domain + in: path + name: domain + required: true + type: string + - description: content + in: body + name: object + required: true + schema: + $ref: '#/definitions/models.Record-models_RecordContentDefault' + responses: + "201": + description: Created + schema: + allOf: + - $ref: '#/definitions/server.Response' + - properties: + data: + $ref: '#/definitions/models.Record-models_RecordContentDefault' + type: object + "400": + description: Bad Request + schema: + allOf: + - $ref: '#/definitions/server.Response' + - properties: + data: + type: object + type: object + "401": + description: Unauthorized + schema: + allOf: + - $ref: '#/definitions/server.Response' + - properties: + data: + type: object + type: object + "404": + description: Not Found + schema: + allOf: + - $ref: '#/definitions/server.Response' + - properties: + data: + type: object + type: object + "500": + description: Internal Server Error + schema: + allOf: + - $ref: '#/definitions/server.Response' + - properties: + data: + type: object + type: object + summary: Create a record of a domain + tags: + - records + put: + consumes: + - application/json + description: Update a record of a domain + parameters: + - description: domain + in: path + name: domain + required: true + type: string + - description: content + in: body + name: object + required: true + schema: + $ref: '#/definitions/models.Record-models_RecordContentDefault' + responses: + "200": + description: OK + schema: + allOf: + - $ref: '#/definitions/server.Response' + - properties: + data: + $ref: '#/definitions/models.Record-models_RecordContentDefault' + type: object + "400": + description: Bad Request + schema: + allOf: + - $ref: '#/definitions/server.Response' + - properties: + data: + type: object + type: object + "401": + description: Unauthorized + schema: + allOf: + - $ref: '#/definitions/server.Response' + - properties: + data: + type: object + type: object + "404": + description: Not Found + schema: + allOf: + - $ref: '#/definitions/server.Response' + - properties: + data: + type: object + type: object + "500": + description: Internal Server Error + schema: + allOf: + - $ref: '#/definitions/server.Response' + - properties: + data: + type: object + type: object + summary: Update a record of a domain + tags: + - records + /records/{domain}/{id}: + delete: + description: Delete a record of a domain, except SOA record. + parameters: + - description: domain + in: path + name: domain + required: true + type: string + - description: Record ID + in: path + name: id + required: true + type: integer + responses: + "204": + description: No Content + schema: + allOf: + - $ref: '#/definitions/server.Response' + - properties: + data: + type: object + type: object + "400": + description: Bad Request + schema: + allOf: + - $ref: '#/definitions/server.Response' + - properties: + data: + type: object + type: object + "401": + description: Unauthorized + schema: + allOf: + - $ref: '#/definitions/server.Response' + - properties: + data: + type: object + type: object + "404": + description: Not Found + schema: + allOf: + - $ref: '#/definitions/server.Response' + - properties: + data: + type: object + type: object + "500": + description: Internal Server Error + schema: + allOf: + - $ref: '#/definitions/server.Response' + - properties: + data: + type: object + type: object + summary: Delete a record of a domain + tags: + - records + /records/{domain}/bulk: + post: + consumes: + - application/json + description: Create some records of a domain + parameters: + - description: domain + in: path + name: domain + required: true + type: string + - description: content + in: body + name: object + required: true + schema: + items: + $ref: '#/definitions/models.Record-models_RecordContentDefault' + type: array + responses: + "201": + description: Created + schema: + allOf: + - $ref: '#/definitions/server.Response' + - properties: + data: + $ref: '#/definitions/models.Record-models_RecordContentDefault' + type: object + "400": + description: Bad Request + schema: + allOf: + - $ref: '#/definitions/server.Response' + - properties: + data: + type: object + type: object + "401": + description: Unauthorized + schema: + allOf: + - $ref: '#/definitions/server.Response' + - properties: + data: + type: object + type: object + "404": + description: Not Found + schema: + allOf: + - $ref: '#/definitions/server.Response' + - properties: + data: + type: object + type: object + "500": + description: Internal Server Error + schema: + allOf: + - $ref: '#/definitions/server.Response' + - properties: + data: + type: object + type: object + summary: Create some records of a domain + tags: + - records +securityDefinitions: + BasicAuth: + type: basic +swagger: "2.0" diff --git a/flake.lock b/flake.lock index 1cdfbb3..5a33f55 100644 --- a/flake.lock +++ b/flake.lock @@ -1,39 +1,6 @@ { "nodes": { - "naersk": { - "inputs": { - "nixpkgs": "nixpkgs" - }, - "locked": { - "lastModified": 1698420672, - "narHash": "sha256-/TdeHMPRjjdJub7p7+w55vyABrsJlt5QkznPYy55vKA=", - "owner": "nix-community", - "repo": "naersk", - "rev": "aeb58d5e8faead8980a807c840232697982d47b9", - "type": "github" - }, - "original": { - "owner": "nix-community", - "ref": "master", - "repo": "naersk", - "type": "github" - } - }, "nixpkgs": { - "locked": { - "lastModified": 1711715736, - "narHash": "sha256-9slQ609YqT9bT/MNX9+5k5jltL9zgpn36DpFB7TkttM=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "807c549feabce7eddbf259dbdcec9e0600a0660d", - "type": "github" - }, - "original": { - "id": "nixpkgs", - "type": "indirect" - } - }, - "nixpkgs_2": { "locked": { "lastModified": 1711715736, "narHash": "sha256-9slQ609YqT9bT/MNX9+5k5jltL9zgpn36DpFB7TkttM=", @@ -51,8 +18,7 @@ }, "root": { "inputs": { - "naersk": "naersk", - "nixpkgs": "nixpkgs_2", + "nixpkgs": "nixpkgs", "utils": "utils" } }, diff --git a/flake.nix b/flake.nix index 3402260..6f9fbf8 100644 --- a/flake.nix +++ b/flake.nix @@ -1,49 +1,44 @@ { - nixConfig = rec { - experimental-features = [ "nix-command" "flakes" ]; - - substituters = [ - # Replace official cache with a mirror located in China - # - # Feel free to remove this line if you are not in China - "https://mirrors.ustc.edu.cn/nix-channels/store" - "https://mirrors.ustc.edu.cn/nix-channels/store" # 中科大 - "https://mirrors.tuna.tsinghua.edu.cn/nix-channels/store" #清华 - "https://mirrors.bfsu.edu.cn/nix-channels/store" # 北外 - "https://mirror.sjtu.edu.cn/nix-channels/store" #交大 - #"https://cache.nixos.org" - ]; - trusted-substituters = substituters; - trusted-users = [ - "coder" - ]; - }; - inputs = { - naersk.url = "github:nix-community/naersk/master"; nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable"; utils.url = "github:numtide/flake-utils"; }; - outputs = { self, nixpkgs, utils, naersk }: + outputs = { self, nixpkgs, utils }: utils.lib.eachDefaultSystem (system: let pkgs = import nixpkgs { inherit system; }; - naersk-lib = pkgs.callPackage naersk { }; in { - defaultPackage = naersk-lib.buildPackage { - src = ./.; - buildInputs = with pkgs; [ - - ]; + packages = rec { + recored-ui = with pkgs; stdenv.mkDerivation rec { + name = "recored-ui"; + src = self; + buildInputs = [ + go + nodejs + ]; + buildPhase = '' + cd web && npm i && npm run build && cd .. + go get . && go generate ./... && go build . -o recored-ui -ldflags "-s -w" + ''; + installPhase = '' + mkdir -p $out/bin + cp recored-ui $out/bin + ''; + }; + default = recored-ui; }; devShell = with pkgs; mkShell { buildInputs = [ go nodejs + dig + tokei ]; + GOPATH = "/home/coder/.cache/go"; + RECORED_MYSQL_DSN = "recoredui:A123456a-@tcp(mysql.dev:3306)/recoredui?charset=utf8mb4"; }; nixosModule = { config, pkgs, lib, ... }: with lib; @@ -54,42 +49,28 @@ options.services.hangitbot = { enable = mkEnableOption "reCoreD-UI service"; - token = mkOption { + mysql-dsn = mkOption { type = types.str; - example = "12345678:AAAAAAAAAAAAAAAAAAAAAAAAATOKEN"; - description = lib.mdDoc "Telegram bot token"; - }; - - tgUri = mkOption { - type = types.str; - default = "https://api.telegram.org"; - example = "https://api.telegram.org"; - description = lib.mdDoc "Custom telegram api URI"; - }; - - groupBanned = mkOption { - type = types.listOf types.int; - default = [ ]; - description = lib.mdDoc "GroupID blacklisted"; + example = "recoredui:A123456a-@tcp(mysql.dev:3306)/recoredui?charset=utf8mb4"; + description = lib.mdDoc "mysql connection DSN"; }; extraOptions = mkOption { type = types.str; - description = lib.mdDoc "Extra option for bot."; + description = lib.mdDoc "Extra options"; default = ""; }; }; - config = - let - args = "${cfg.extraOptions} ${if cfg?tgUri then "--api-uri ${escapeShellArg cfg.tgUri}" else ""} ${if cfg?groupBanned then concatStringsSep " " (lists.concatMap (group: ["-b ${group}"]) cfg.groupBanned) else ""}"; - in - mkIf cfg.enable { - systemd.services.hangitbot = { - wantedBy = [ "multi-uesr.target" ]; - serviceconfig.ExecStart = "${pkgs.hangitbot}/bin/hangitbot ${args} ${escapeShellArg cfg.token}"; + config = mkIf cfg.enable { + systemd.services.recored-ui = { + wantedBy = [ "multi-uesr.target" ]; + environment = { + RECORED_MYSQL_DSN = cfg.mysql-dsn; }; + serviceconfig.ExecStart = "${pkgs.recored-ui}/bin/recored-ui server"; }; + }; }; }); } diff --git a/go.mod b/go.mod new file mode 100644 index 0000000..f3d0b8b --- /dev/null +++ b/go.mod @@ -0,0 +1,81 @@ +module reCoreD-UI + +go 1.22.1 + +require ( + github.com/prometheus/client_golang v1.19.0 + github.com/swaggo/gin-swagger v1.6.0 + github.com/swaggo/swag v1.16.3 + gorm.io/gorm v1.25.7 +) + +require ( + github.com/BurntSushi/toml v1.3.2 // indirect + github.com/KyleBanks/depth v1.2.1 // indirect + github.com/apparentlymart/go-cidr v1.1.0 // indirect + github.com/beorn7/perks v1.0.1 // indirect + github.com/bytedance/sonic v1.11.3 // indirect + github.com/cespare/xxhash/v2 v2.2.0 // indirect + github.com/chenzhuoyu/base64x v0.0.0-20230717121745-296ad89f973d // indirect + github.com/chenzhuoyu/iasm v0.9.1 // indirect + github.com/coredns/caddy v1.1.0 // indirect + github.com/coredns/coredns v1.8.4 // indirect + github.com/cpuguy83/go-md2man/v2 v2.0.2 // indirect + github.com/flynn/go-shlex v0.0.0-20150515145356-3f9db97f8568 // indirect + github.com/gabriel-vasile/mimetype v1.4.3 // indirect + github.com/gin-contrib/sse v0.1.0 // indirect + github.com/go-openapi/jsonpointer v0.21.0 // indirect + github.com/go-openapi/jsonreference v0.21.0 // indirect + github.com/go-openapi/spec v0.21.0 // indirect + github.com/go-openapi/swag v0.23.0 // indirect + github.com/go-playground/locales v0.14.1 // indirect + github.com/go-playground/universal-translator v0.18.1 // indirect + github.com/go-playground/validator/v10 v10.19.0 // indirect + github.com/go-sql-driver/mysql v1.7.0 // indirect + github.com/goccy/go-json v0.10.2 // indirect + github.com/golang/protobuf v1.5.3 // indirect + github.com/grpc-ecosystem/grpc-opentracing v0.0.0-20180507213350-8e809c8a8645 // indirect + github.com/huandu/go-clone v1.7.2 // indirect + github.com/jinzhu/inflection v1.0.0 // indirect + github.com/jinzhu/now v1.1.5 // indirect + github.com/josharian/intern v1.0.0 // indirect + github.com/json-iterator/go v1.1.12 // indirect + github.com/klauspost/cpuid/v2 v2.2.7 // indirect + github.com/leodido/go-urn v1.4.0 // indirect + github.com/mailru/easyjson v0.7.7 // indirect + github.com/mattn/go-isatty v0.0.20 // indirect + github.com/miekg/dns v1.1.42 // indirect + github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect + github.com/modern-go/reflect2 v1.0.2 // indirect + github.com/opentracing/opentracing-go v1.2.0 // indirect + github.com/pelletier/go-toml/v2 v2.2.1 // indirect + github.com/prometheus/client_model v0.5.0 // indirect + github.com/prometheus/common v0.48.0 // indirect + github.com/prometheus/procfs v0.12.0 // indirect + github.com/russross/blackfriday/v2 v2.1.0 // indirect + github.com/twitchyliquid64/golang-asm v0.15.1 // indirect + github.com/ugorji/go/codec v1.2.12 // indirect + golang.org/x/arch v0.7.0 // indirect + golang.org/x/crypto v0.22.0 // indirect + golang.org/x/net v0.24.0 // indirect + golang.org/x/sys v0.19.0 // indirect + golang.org/x/text v0.14.0 // indirect + golang.org/x/tools v0.20.0 // indirect + google.golang.org/genproto v0.0.0-20210513213006-bf773b8c8384 // indirect + google.golang.org/grpc v1.38.0 // indirect + google.golang.org/protobuf v1.33.0 // indirect + gopkg.in/yaml.v3 v3.0.1 // indirect +) + +require ( + github.com/cloud66-oss/coredns_mysql v0.0.0-20231116193749-de52e2924a6f + github.com/gin-gonic/gin v1.9.1 + github.com/huandu/go-clone/generic v1.7.2 + github.com/sirupsen/logrus v1.9.3 + github.com/swaggo/files v1.0.1 + github.com/urfave/cli/v2 v2.27.1 + github.com/xrash/smetrics v0.0.0-20201216005158-039620a65673 // indirect + github.com/zsais/go-gin-prometheus v0.1.0 + gorm.io/driver/mysql v1.5.6 + gorm.io/plugin/prometheus v0.1.0 +) diff --git a/go.sum b/go.sum new file mode 100644 index 0000000..27987f6 --- /dev/null +++ b/go.sum @@ -0,0 +1,1135 @@ +cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= +cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= +cloud.google.com/go v0.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU= +cloud.google.com/go v0.44.1/go.mod h1:iSa0KzasP4Uvy3f1mN/7PiObzGgflwredwwASm/v6AU= +cloud.google.com/go v0.44.2/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY= +cloud.google.com/go v0.45.1/go.mod h1:RpBamKRgapWJb87xiFSdk4g1CME7QZg3uwTez+TSTjc= +cloud.google.com/go v0.46.3/go.mod h1:a6bKKbmY7er1mI7TEI4lsAkts/mkhTSZK8w33B4RAg0= +cloud.google.com/go v0.50.0/go.mod h1:r9sluTvynVuxRIOHXQEHMFffphuXHOMZMycpNR5e6To= +cloud.google.com/go v0.52.0/go.mod h1:pXajvRH/6o3+F9jDHZWQ5PbGhn+o8w9qiu/CffaVdO4= +cloud.google.com/go v0.53.0/go.mod h1:fp/UouUEsRkN6ryDKNW/Upv/JBKnv6WDthjR6+vze6M= +cloud.google.com/go v0.54.0/go.mod h1:1rq2OEkV3YMf6n/9ZvGWI3GWw0VoqH/1x2nd8Is/bPc= +cloud.google.com/go v0.56.0/go.mod h1:jr7tqZxxKOVYizybht9+26Z/gUq7tiRzu+ACVAMbKVk= +cloud.google.com/go v0.57.0/go.mod h1:oXiQ6Rzq3RAkkY7N6t3TcE6jE+CIBBbA36lwQ1JyzZs= +cloud.google.com/go v0.62.0/go.mod h1:jmCYTdRCQuc1PHIIJ/maLInMho30T/Y0M4hTdTShOYc= +cloud.google.com/go v0.65.0/go.mod h1:O5N8zS7uWy9vkA9vayVHs65eM1ubvY4h553ofrNHObY= +cloud.google.com/go v0.72.0/go.mod h1:M+5Vjvlc2wnp6tjzE102Dw08nGShTscUx2nZMufOKPI= +cloud.google.com/go v0.74.0/go.mod h1:VV1xSbzvo+9QJOxLDaJfTjx5e+MePCpCWwvftOeQmWk= +cloud.google.com/go v0.78.0/go.mod h1:QjdrLG0uq+YwhjoVOLsS1t7TW8fs36kLs4XO5R5ECHg= +cloud.google.com/go v0.79.0/go.mod h1:3bzgcEeQlzbuEAYu4mrWhKqWjmpprinYgKJLgKHnbb8= +cloud.google.com/go v0.81.0/go.mod h1:mk/AM35KwGk/Nm2YSeZbxXdrNK3KZOYHmLkOqC2V6E0= +cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o= +cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE= +cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvftPBK2Dvzc= +cloud.google.com/go/bigquery v1.5.0/go.mod h1:snEHRnqQbz117VIFhE8bmtwIDY80NLUZUMb4Nv6dBIg= +cloud.google.com/go/bigquery v1.7.0/go.mod h1://okPTzCYNXSlb24MZs83e2Do+h+VXtc4gLoIoXIAPc= +cloud.google.com/go/bigquery v1.8.0/go.mod h1:J5hqkt3O0uAFnINi6JXValWIb1v0goeZM77hZzJN/fQ= +cloud.google.com/go/compute/metadata v0.2.0/go.mod h1:zFmK7XCadkQkj6TtorcaGlCW1hT1fIilQDwofLpJ20k= +cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= +cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk= +cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I= +cloud.google.com/go/pubsub v1.1.0/go.mod h1:EwwdRX2sKPjnvnqCa270oGRyludottCI76h+R3AArQw= +cloud.google.com/go/pubsub v1.2.0/go.mod h1:jhfEVHT8odbXTkndysNHCcx0awwzvfOlguIAii9o8iA= +cloud.google.com/go/pubsub v1.3.1/go.mod h1:i+ucay31+CNRpDW4Lu78I4xXG+O1r/MAHgjpRVR+TSU= +cloud.google.com/go/storage v1.0.0/go.mod h1:IhtSnM/ZTZV8YYJWCY8RULGVqBDmpoyjwiyrjsg+URw= +cloud.google.com/go/storage v1.5.0/go.mod h1:tpKbwo567HUNpVclU5sGELwQWBDZ8gh0ZeosJ0Rtdos= +cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohlUTyfDhBk= +cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RXyy7KQOVs= +cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0= +dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= +github.com/Azure/azure-sdk-for-go v53.3.0+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc= +github.com/Azure/go-autorest v14.2.0+incompatible/go.mod h1:r+4oMnoxhatjLLJ6zxSWATqVooLgysK6ZNox3g/xq24= +github.com/Azure/go-autorest/autorest v0.11.12/go.mod h1:eipySxLmqSyC5s5k1CLupqet0PSENBEDP93LQ9a8QYw= +github.com/Azure/go-autorest/autorest v0.11.17/go.mod h1:eipySxLmqSyC5s5k1CLupqet0PSENBEDP93LQ9a8QYw= +github.com/Azure/go-autorest/autorest v0.11.18/go.mod h1:dSiJPy22c3u0OtOKDNttNgqpNFY/GeWa7GH/Pz56QRA= +github.com/Azure/go-autorest/autorest/adal v0.9.5/go.mod h1:B7KF7jKIeC9Mct5spmyCB/A8CG/sEz1vwIRGv/bbw7A= +github.com/Azure/go-autorest/autorest/adal v0.9.11/go.mod h1:nBKAnTomx8gDtl+3ZCJv2v0KACFHWTB2drffI1B68Pk= +github.com/Azure/go-autorest/autorest/adal v0.9.13/go.mod h1:W/MM4U6nLxnIskrw4UwWzlHfGjwUS50aOsc/I3yuU8M= +github.com/Azure/go-autorest/autorest/azure/auth v0.5.7/go.mod h1:AkzUsqkrdmNhfP2i54HqINVQopw0CLDnvHpJ88Zz1eI= +github.com/Azure/go-autorest/autorest/azure/cli v0.4.2/go.mod h1:7qkJkT+j6b+hIpzMOwPChJhTqS8VbsqqgULzMNRugoM= +github.com/Azure/go-autorest/autorest/date v0.3.0/go.mod h1:BI0uouVdmngYNUzGWeSYnokU+TrmwEsOqdt8Y6sso74= +github.com/Azure/go-autorest/autorest/mocks v0.4.1/go.mod h1:LTp+uSrOhSkaKrUy935gNZuuIPPVsHlr9DSOxSayd+k= +github.com/Azure/go-autorest/autorest/to v0.2.0/go.mod h1:GunWKJp1AEqgMaGLV+iocmRAJWqST1wQYhyyjXJ3SJc= +github.com/Azure/go-autorest/logger v0.2.0/go.mod h1:T9E3cAhj2VqvPOtCYAvby9aBXkZmbF5NWuPV8+WeEW8= +github.com/Azure/go-autorest/logger v0.2.1/go.mod h1:T9E3cAhj2VqvPOtCYAvby9aBXkZmbF5NWuPV8+WeEW8= +github.com/Azure/go-autorest/tracing v0.6.0/go.mod h1:+vhtPC754Xsa23ID7GlGsrdKBpUA79WCAKPPZVC2DeU= +github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= +github.com/BurntSushi/toml v1.3.2 h1:o7IhLm0Msx3BaB+n3Ag7L8EVlByGnpq14C4YWiu/gL8= +github.com/BurntSushi/toml v1.3.2/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ= +github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= +github.com/DataDog/datadog-go v3.5.0+incompatible/go.mod h1:LButxg5PwREeZtORoXG3tL4fMGNddJ+vMq1mwgfaqoQ= +github.com/Knetic/govaluate v3.0.1-0.20171022003610-9aa49832a739+incompatible/go.mod h1:r7JcOSlj0wfOMncg0iLm8Leh48TZaKVeNIfJntJ2wa0= +github.com/KyleBanks/depth v1.2.1 h1:5h8fQADFrWtarTdtDudMmGsC7GPbOAu6RVB3ffsVFHc= +github.com/KyleBanks/depth v1.2.1/go.mod h1:jzSb9d0L43HxTQfT+oSA1EEp2q+ne2uh6XgeJcm8brE= +github.com/NYTimes/gziphandler v0.0.0-20170623195520-56545f4a5d46/go.mod h1:3wb06e3pkSAbeQ52E9H9iFoQsEEwGN64994WTCIhntQ= +github.com/PuerkitoBio/purell v1.1.1/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= +github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE= +github.com/Shopify/sarama v1.19.0/go.mod h1:FVkBWblsNy7DGZRfXLU0O9RCGt5g3g3yEuWXgklEdEo= +github.com/Shopify/toxiproxy v2.1.4+incompatible/go.mod h1:OXgGpZ6Cli1/URJOF1DMxUHB2q5Ap20/P/eIdh4G0pI= +github.com/VividCortex/gohistogram v1.0.0/go.mod h1:Pf5mBqqDxYaXu3hDrrU+w6nw50o/4+TcAqDqk/vUH7g= +github.com/afex/hystrix-go v0.0.0-20180502004556-fa1af6a1f4f5/go.mod h1:SkGFH1ia65gfNATL8TAiHDNxPzPdmEL5uirI2Uyuz6c= +github.com/alecthomas/kingpin/v2 v2.3.1/go.mod h1:oYL5vtsvEHZGHxU7DMp32Dvx+qL+ptGn6lWaot2vCNE= +github.com/alecthomas/kingpin/v2 v2.3.2/go.mod h1:0gyi0zQnjuFk8xrkNKamJoyUo382HRL7ATRpFZCw6tE= +github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= +github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= +github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= +github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= +github.com/alecthomas/units v0.0.0-20190924025748-f65c72e2690d/go.mod h1:rBZYJk541a8SKzHPHnH3zbiI+7dagKZ0cgpgrD7Fyho= +github.com/alecthomas/units v0.0.0-20211218093645-b94a6e3cc137/go.mod h1:OMCwj8VM1Kc9e19TLln2VL61YJF0x1XFtfdL4JdbSyE= +github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= +github.com/apache/thrift v0.12.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ= +github.com/apache/thrift v0.13.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ= +github.com/apparentlymart/go-cidr v1.1.0 h1:2mAhrMoF+nhXqxTzSZMUzDHkLjmIHC+Zzn4tdgBZjnU= +github.com/apparentlymart/go-cidr v1.1.0/go.mod h1:EBcsNrHc3zQeuaeCeCtQruQm+n9/YjEn/vI25Lg7Gwc= +github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o= +github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmVTwzkszR9V5SSuryQ31EELlFMUz1kKyl939pY= +github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= +github.com/aryann/difflib v0.0.0-20170710044230-e206f873d14a/go.mod h1:DAHtR1m6lCRdSC2Tm3DSWRPvIPr6xNKyeHdqDQSQT+A= +github.com/asaskevich/govalidator v0.0.0-20190424111038-f61b66f89f4a/go.mod h1:lB+ZfQJz7igIIfQNfa7Ml4HSf2uFQQRzpGGRXenZAgY= +github.com/aws/aws-lambda-go v1.13.3/go.mod h1:4UKl9IzQMoD+QF79YdCuzCwp8VbmG4VAQwij/eHl5CU= +github.com/aws/aws-sdk-go v1.27.0/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= +github.com/aws/aws-sdk-go v1.38.45/go.mod h1:hcU610XS61/+aQV88ixoOzUoG7v3b31pl2zKMmprdro= +github.com/aws/aws-sdk-go-v2 v0.18.0/go.mod h1:JWVYvqSMppoMJC0x5wdwiImzgXTI9FuZwxzkQq9wy+g= +github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= +github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= +github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= +github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= +github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= +github.com/bytedance/sonic v1.5.0/go.mod h1:ED5hyg4y6t3/9Ku1R6dU/4KyJ48DZ4jPhfY1O2AihPM= +github.com/bytedance/sonic v1.10.0-rc/go.mod h1:ElCzW+ufi8qKqNW0FY314xriJhyJhuoJ3gFZdAHF7NM= +github.com/bytedance/sonic v1.11.3 h1:jRN+yEjakWh8aK5FzrciUHG8OFXK+4/KrAX/ysEtHAA= +github.com/bytedance/sonic v1.11.3/go.mod h1:iZcSUejdk5aukTND/Eu/ivjQuEL0Cu9/rf50Hi0u/g4= +github.com/casbin/casbin/v2 v2.1.2/go.mod h1:YcPU1XXisHhLzuxH9coDNf2FbKpjGlbCg3n9yuLkIJQ= +github.com/cenkalti/backoff v2.2.1+incompatible/go.mod h1:90ReRw6GdpyfrHakVjL/QHaoyV4aDUVVkXQJJJ3NXXM= +github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= +github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= +github.com/cespare/xxhash/v2 v2.1.2/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= +github.com/cespare/xxhash/v2 v2.2.0 h1:DC2CZ1Ep5Y4k3ZQ899DldepgrayRUGE6BBZ/cd9Cj44= +github.com/cespare/xxhash/v2 v2.2.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= +github.com/chenzhuoyu/base64x v0.0.0-20211019084208-fb5309c8db06/go.mod h1:DH46F32mSOjUmXrMHnKwZdA8wcEefY7UVqBKYGjpdQY= +github.com/chenzhuoyu/base64x v0.0.0-20221115062448-fe3a3abad311/go.mod h1:b583jCggY9gE99b6G5LEC39OIiVsWj+R97kbl5odCEk= +github.com/chenzhuoyu/base64x v0.0.0-20230717121745-296ad89f973d h1:77cEq6EriyTZ0g/qfRdp61a3Uu/AWrgIq2s0ClJV1g0= +github.com/chenzhuoyu/base64x v0.0.0-20230717121745-296ad89f973d/go.mod h1:8EPpVsBuRksnlj1mLy4AWzRNQYxauNi62uWcE3to6eA= +github.com/chenzhuoyu/iasm v0.9.0/go.mod h1:Xjy2NpN3h7aUqeqM+woSuuvxmIe6+DDsiNLIrkAmYog= +github.com/chenzhuoyu/iasm v0.9.1 h1:tUHQJXo3NhBqw6s33wkGn9SP3bvrWLdlVIJ3hQBL7P0= +github.com/chenzhuoyu/iasm v0.9.1/go.mod h1:Xjy2NpN3h7aUqeqM+woSuuvxmIe6+DDsiNLIrkAmYog= +github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= +github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= +github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= +github.com/clbanning/x2j v0.0.0-20191024224557-825249438eec/go.mod h1:jMjuTZXRI4dUb/I5gc9Hdhagfvm9+RyrPryS/auMzxE= +github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= +github.com/cloud66-oss/coredns_mysql v0.0.0-20231116193749-de52e2924a6f h1:/VBnzS9topruGM9hR4+nfx0Fsl4oC4GVNO3kA6eRf80= +github.com/cloud66-oss/coredns_mysql v0.0.0-20231116193749-de52e2924a6f/go.mod h1:+70Z8VLghl4oUUUOU6jQ8Uz9aosEhL72Z4LyWSk2eeA= +github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= +github.com/cncf/udpa/go v0.0.0-20200629203442-efcf912fb354/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= +github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= +github.com/cockroachdb/datadriven v0.0.0-20190809214429-80d97fb3cbaa/go.mod h1:zn76sxSg3SzpJ0PPJaLDCu+Bu0Lg3sKTORVIj19EIF8= +github.com/codahale/hdrhistogram v0.0.0-20161010025455-3a0bb77429bd/go.mod h1:sE/e/2PUdi/liOCUjSTXgM1o87ZssimdTWN964YiIeI= +github.com/coredns/caddy v1.1.0 h1:ezvsPrT/tA/7pYDBZxu0cT0VmWk75AfIaf6GSYCNMf0= +github.com/coredns/caddy v1.1.0/go.mod h1:A6ntJQlAWuQfFlsd9hvigKbo2WS0VUs2l1e2F+BawD4= +github.com/coredns/coredns v1.8.4 h1:YF7aUMHWKItH3bk9ruC0t5vcjbCLRzPGzh0TMpyYqt0= +github.com/coredns/coredns v1.8.4/go.mod h1:+cm/U3h7f+mkIGoWV7zp3JFHPTLYVlu/quSNH4rAkL0= +github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= +github.com/coreos/go-semver v0.3.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= +github.com/coreos/go-systemd v0.0.0-20180511133405-39ca1b05acc7/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= +github.com/coreos/go-systemd/v22 v22.3.1/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= +github.com/coreos/pkg v0.0.0-20160727233714-3ac0863d7acf/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= +github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= +github.com/cpuguy83/go-md2man/v2 v2.0.2 h1:p1EgwI/C7NhT0JmVkwCD2ZBK8j4aeHQX2pMHHBfMQ6w= +github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= +github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7DoTY= +github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= +github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= +github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ= +github.com/dimchansky/utfbom v1.1.0/go.mod h1:rO41eb7gLfo8SF1jd9F8HplJm1Fewwi4mQvIirEdv+8= +github.com/dimchansky/utfbom v1.1.1/go.mod h1:SxdoEBH5qIqFocHMyGOXVAybYJdr71b1Q/j0mACtrfE= +github.com/dnstap/golang-dnstap v0.4.0/go.mod h1:FqsSdH58NAmkAvKcpyxht7i4FoBjKu8E4JUPt8ipSUs= +github.com/docopt/docopt-go v0.0.0-20180111231733-ee0de3bc6815/go.mod h1:WwZ+bS3ebgob9U8Nd0kOddGdZWjyMGR8Wziv+TBNwSE= +github.com/dustin/go-humanize v0.0.0-20171111073723-bb3d318650d4/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= +github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= +github.com/eapache/go-resiliency v1.1.0/go.mod h1:kFI+JgMyC7bLPUVY133qvEBtVayf5mFgVsvEsIPBvNs= +github.com/eapache/go-xerial-snappy v0.0.0-20180814174437-776d5712da21/go.mod h1:+020luEh2TKB4/GOp8oxxtq0Daoen/Cii55CzbTV6DU= +github.com/eapache/queue v1.1.0/go.mod h1:6eCeP0CKFpHLu8blIFXhExK/dRa7WDZfr6jVFPTqq+I= +github.com/edsrzf/mmap-go v1.0.0/go.mod h1:YO35OhQPt3KJa3ryjFM5Bs14WD66h8eGKpfaBNrHW5M= +github.com/elazarl/goproxy v0.0.0-20180725130230-947c36da3153/go.mod h1:/Zj4wYkgs4iZTTu3o/KG3Itv/qCCa8VVMlb3i9OVuzc= +github.com/emicklei/go-restful v0.0.0-20170410110728-ff4f55a20633/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs= +github.com/envoyproxy/go-control-plane v0.6.9/go.mod h1:SBwIajubJHhxtWwsL9s8ss4safvEdbitLhGGK48rN6g= +github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= +github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= +github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= +github.com/envoyproxy/go-control-plane v0.9.7/go.mod h1:cwu0lG7PUMfa9snN8LXBig5ynNVH9qI8YYLbd1fK2po= +github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= +github.com/envoyproxy/go-control-plane v0.9.9-0.20210217033140-668b12f5399d/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= +github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= +github.com/evanphx/json-patch v4.9.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= +github.com/farsightsec/golang-framestream v0.3.0/go.mod h1:eNde4IQyEiA5br02AouhEHCu3p3UzrCdFR4LuQHklMI= +github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= +github.com/flynn/go-shlex v0.0.0-20150515145356-3f9db97f8568 h1:BHsljHzVlRcyQhjrss6TZTdY2VfCqZPbv5k3iBFa2ZQ= +github.com/flynn/go-shlex v0.0.0-20150515145356-3f9db97f8568/go.mod h1:xEzjJPgXI435gkrCt3MPfRiAkVrwSbHsst4LCFVfpJc= +github.com/form3tech-oss/jwt-go v3.2.2+incompatible/go.mod h1:pbq4aXjuKjdthFRnoDwaVPLA+WlJuPGy+QneDUgJi2k= +github.com/franela/goblin v0.0.0-20200105215937-c9ffbefa60db/go.mod h1:7dvUGVsVBjqR7JHJk0brhHOZYGmfBYOrK0ZhYMEtBr4= +github.com/franela/goreq v0.0.0-20171204163338-bcd34c9993f8/go.mod h1:ZhphrRTfi2rbfLwlschooIH4+wKKDR4Pdxhh+TRoA20= +github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= +github.com/gabriel-vasile/mimetype v1.4.3 h1:in2uUcidCuFcDKtdcBxlR0rJ1+fsokWf+uqxgUFjbI0= +github.com/gabriel-vasile/mimetype v1.4.3/go.mod h1:d8uq/6HKRL6CGdk+aubisF/M5GcPfT7nKyLpA0lbSSk= +github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= +github.com/gin-contrib/gzip v0.0.6 h1:NjcunTcGAj5CO1gn4N8jHOSIeRFHIbn51z6K+xaN4d4= +github.com/gin-contrib/gzip v0.0.6/go.mod h1:QOJlmV2xmayAjkNS2Y8NQsMneuRShOU/kjovCXNuzzk= +github.com/gin-contrib/sse v0.1.0 h1:Y/yl/+YNO8GZSjAhjMsSuLt29uWRFHdHYUb5lYOV9qE= +github.com/gin-contrib/sse v0.1.0/go.mod h1:RHrZQHXnP2xjPF+u1gW/2HnVO7nvIa9PG3Gm+fLHvGI= +github.com/gin-gonic/gin v1.9.1 h1:4idEAncQnU5cB7BeOkPtxjfCSye0AAm1R0RVIqJ+Jmg= +github.com/gin-gonic/gin v1.9.1/go.mod h1:hPrL7YrpYKXt5YId3A/Tnip5kqbEAP+KLuI3SUcPTeU= +github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= +github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= +github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= +github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= +github.com/go-kit/kit v0.9.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= +github.com/go-kit/kit v0.10.0/go.mod h1:xUsJbQ/Fp4kEt7AFgCuvyX4a71u8h9jB8tj/ORgOZ7o= +github.com/go-kit/log v0.1.0/go.mod h1:zbhenjAZHb184qTLMA9ZjW7ThYL0H2mk7Q6pNt4vbaY= +github.com/go-kit/log v0.2.0/go.mod h1:NwTd00d/i8cPZ3xOwwiv2PO5MOcx78fFErGNcVmBjv0= +github.com/go-kit/log v0.2.1/go.mod h1:NwTd00d/i8cPZ3xOwwiv2PO5MOcx78fFErGNcVmBjv0= +github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE= +github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk= +github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG1KdI/P7A= +github.com/go-logfmt/logfmt v0.5.1/go.mod h1:WYhtIu8zTZfxdn5+rREduYbwxfcBr/Vr6KEVveWlfTs= +github.com/go-logr/logr v0.1.0/go.mod h1:ixOQHD9gLJUVQQ2ZOR7zLEifBX6tGkNJF4QyIY7sIas= +github.com/go-logr/logr v0.4.0/go.mod h1:z6/tIYblkpsD+a4lm/fGIIU9mZ+XfAiaFtq7xTgseGU= +github.com/go-openapi/jsonpointer v0.19.2/go.mod h1:3akKfEdA7DF1sugOqz1dVQHBcuDBPKZGEoHC/NkiQRg= +github.com/go-openapi/jsonpointer v0.19.3/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= +github.com/go-openapi/jsonpointer v0.21.0 h1:YgdVicSA9vH5RiHs9TZW5oyafXZFc6+2Vc1rr/O9oNQ= +github.com/go-openapi/jsonpointer v0.21.0/go.mod h1:IUyH9l/+uyhIYQ/PXVA41Rexl+kOkAPDdXEYns6fzUY= +github.com/go-openapi/jsonreference v0.19.2/go.mod h1:jMjeRr2HHw6nAVajTXJ4eiUwohSTlpa0o73RUL1owJc= +github.com/go-openapi/jsonreference v0.19.3/go.mod h1:rjx6GuL8TTa9VaixXglHmQmIL98+wF9xc8zWvFonSJ8= +github.com/go-openapi/jsonreference v0.21.0 h1:Rs+Y7hSXT83Jacb7kFyjn4ijOuVGSvOdF2+tg1TRrwQ= +github.com/go-openapi/jsonreference v0.21.0/go.mod h1:LmZmgsrTkVg9LG4EaHeY8cBDslNPMo06cago5JNLkm4= +github.com/go-openapi/spec v0.19.3/go.mod h1:FpwSN1ksY1eteniUU7X0N/BgJ7a4WvBFVA8Lj9mJglo= +github.com/go-openapi/spec v0.21.0 h1:LTVzPc3p/RzRnkQqLRndbAzjY0d0BCL72A6j3CdL9ZY= +github.com/go-openapi/spec v0.21.0/go.mod h1:78u6VdPw81XU44qEWGhtr982gJ5BWg2c0I5XwVMotYk= +github.com/go-openapi/swag v0.19.2/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk= +github.com/go-openapi/swag v0.19.5/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk= +github.com/go-openapi/swag v0.23.0 h1:vsEVJDUo2hPJ2tu0/Xc+4noaxyEffXNIs3cOULZ+GrE= +github.com/go-openapi/swag v0.23.0/go.mod h1:esZ8ITTYEsH1V2trKHjAN8Ai7xHb8RV+YSZ577vPjgQ= +github.com/go-playground/assert/v2 v2.2.0 h1:JvknZsQTYeFEAhQwI4qEt9cyV5ONwRHC+lYKSsYSR8s= +github.com/go-playground/assert/v2 v2.2.0/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4= +github.com/go-playground/locales v0.14.1 h1:EWaQ/wswjilfKLTECiXz7Rh+3BjFhfDFKv/oXslEjJA= +github.com/go-playground/locales v0.14.1/go.mod h1:hxrqLVvrK65+Rwrd5Fc6F2O76J/NuW9t0sjnWqG1slY= +github.com/go-playground/universal-translator v0.18.1 h1:Bcnm0ZwsGyWbCzImXv+pAJnYK9S473LQFuzCbDbfSFY= +github.com/go-playground/universal-translator v0.18.1/go.mod h1:xekY+UJKNuX9WP91TpwSH2VMlDf28Uj24BCp08ZFTUY= +github.com/go-playground/validator/v10 v10.19.0 h1:ol+5Fu+cSq9JD7SoSqe04GMI92cbn0+wvQ3bZ8b/AU4= +github.com/go-playground/validator/v10 v10.19.0/go.mod h1:dbuPbCMFw/DrkbEynArYaCwl3amGuJotoKCe95atGMM= +github.com/go-sql-driver/mysql v1.4.0/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w= +github.com/go-sql-driver/mysql v1.6.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg= +github.com/go-sql-driver/mysql v1.7.0 h1:ueSltNNllEqE3qcWBTD0iQd3IpL/6U+mJxLkazJ7YPc= +github.com/go-sql-driver/mysql v1.7.0/go.mod h1:OXbVy3sEdcQ2Doequ6Z5BW6fXNQTmx+9S1MCJN5yJMI= +github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= +github.com/goccy/go-json v0.10.2 h1:CrxCmQqYDkv1z7lO7Wbh2HN93uovUHgrECaO5ZrCXAU= +github.com/goccy/go-json v0.10.2/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I= +github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= +github.com/gogo/googleapis v1.1.0/go.mod h1:gf4bu3Q80BeJ6H1S1vYPm8/ELATdvryBaNFGgqEef3s= +github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= +github.com/gogo/protobuf v1.2.0/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= +github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4= +github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= +github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= +github.com/golang/groupcache v0.0.0-20160516000752-02826c3e7903/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= +github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= +github.com/golang/mock v1.3.1/go.mod h1:sBzyDLLjw3U8JLTeZvSv8jJB+tU5PVekmnlKIyFUx0Y= +github.com/golang/mock v1.4.0/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= +github.com/golang/mock v1.4.1/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= +github.com/golang/mock v1.4.3/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= +github.com/golang/mock v1.4.4/go.mod h1:l3mdAwkq5BuhzHwde/uurv3sEJeZMXNpwsxVWU71h+4= +github.com/golang/mock v1.5.0/go.mod h1:CWnOUgYIOo4TcNZ0wHX3YZCqsaM1I1Jvs6v3mP3KVu8= +github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.3.3/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= +github.com/golang/protobuf v1.3.4/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= +github.com/golang/protobuf v1.3.5/go.mod h1:6O5/vntMXwX2lRkT1hjjk0nAC1IDOTvTlVgjlRvqsdk= +github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8= +github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA= +github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs= +github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w= +github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0= +github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QDs8UjoX8= +github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= +github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= +github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= +github.com/golang/protobuf v1.5.1/go.mod h1:DopwsBzvsk0Fs44TXzsVbJyPhcCPeIwnvohx4u74HPM= +github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= +github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= +github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= +github.com/golang/snappy v0.0.0-20180518054509-2e65f85255db/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= +github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= +github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= +github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= +github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= +github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= +github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.4.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.3/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.8/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= +github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= +github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= +github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= +github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= +github.com/google/gofuzz v1.1.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= +github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= +github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= +github.com/google/martian/v3 v3.1.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= +github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= +github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= +github.com/google/pprof v0.0.0-20191218002539-d4f498aebedc/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= +github.com/google/pprof v0.0.0-20200212024743-f11f1df84d12/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= +github.com/google/pprof v0.0.0-20200229191704-1ebb73c60ed3/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= +github.com/google/pprof v0.0.0-20200430221834-fc25d7d30c6d/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= +github.com/google/pprof v0.0.0-20200708004538-1a94d8640e99/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= +github.com/google/pprof v0.0.0-20201023163331-3e6fc7fc9c4c/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20201203190320-1bf35d6f28c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20210122040257-d980be63207e/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20210226084205-cbba55b83ad5/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= +github.com/google/uuid v1.0.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= +github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= +github.com/googleapis/gnostic v0.4.1/go.mod h1:LRhVm6pbyptWbWbuZ38d1eyptfvIytN3ir6b65WBswg= +github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= +github.com/gorilla/context v1.1.1/go.mod h1:kBGZzfjB9CEq2AlWe17Uuf7NDRt0dE0s8S51q0aT7Yg= +github.com/gorilla/mux v1.6.2/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs= +github.com/gorilla/mux v1.7.3/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs= +github.com/gorilla/websocket v0.0.0-20170926233335-4201258b820c/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ= +github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= +github.com/gregjones/httpcache v0.0.0-20180305231024-9cad4c3443a7/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA= +github.com/grpc-ecosystem/go-grpc-middleware v1.0.1-0.20190118093823-f849b5445de4/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs= +github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk= +github.com/grpc-ecosystem/grpc-gateway v1.9.5/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= +github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw= +github.com/grpc-ecosystem/grpc-opentracing v0.0.0-20180507213350-8e809c8a8645 h1:MJG/KsmcqMwFAkh8mTnAwhyKoB+sTAnY4CACC110tbU= +github.com/grpc-ecosystem/grpc-opentracing v0.0.0-20180507213350-8e809c8a8645/go.mod h1:6iZfnjpejD4L/4DwD7NryNaJyCQdzwWwH2MWhCA90Kw= +github.com/hashicorp/consul/api v1.3.0/go.mod h1:MmDNSzIMUjNpY/mQ398R4bk2FnqQLoPndWW5VkKPlCE= +github.com/hashicorp/consul/sdk v0.3.0/go.mod h1:VKf9jXwCTEY1QZP2MOLRhb5i/I/ssyNV1vwHyQBF0x8= +github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= +github.com/hashicorp/go-cleanhttp v0.5.1/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80= +github.com/hashicorp/go-immutable-radix v1.0.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= +github.com/hashicorp/go-msgpack v0.5.3/go.mod h1:ahLV/dePpqEmjfWmKiqvPkv/twdG7iPBM1vqhUKIvfM= +github.com/hashicorp/go-multierror v1.0.0/go.mod h1:dHtQlpGsu+cZNNAkkCN/P3hoUDHhCYQXV3UM06sGGrk= +github.com/hashicorp/go-rootcerts v1.0.0/go.mod h1:K6zTfqpRlCUIjkwsN4Z+hiSfzSTQa6eBIzfwKfwNnHU= +github.com/hashicorp/go-sockaddr v1.0.0/go.mod h1:7Xibr9yA9JjQq1JpNB2Vw7kxv8xerXegt+ozgdvDeDU= +github.com/hashicorp/go-syslog v1.0.0/go.mod h1:qPfqrKkXGihmCqbJM2mZgkZGvKG1dFdvsLplgctolz4= +github.com/hashicorp/go-uuid v1.0.0/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= +github.com/hashicorp/go-uuid v1.0.1/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= +github.com/hashicorp/go-version v1.2.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= +github.com/hashicorp/go.net v0.0.1/go.mod h1:hjKkEWcCURg++eb33jQU7oqQcI9XDCnUzHA0oac0k90= +github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= +github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= +github.com/hashicorp/golang-lru v0.5.4/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4= +github.com/hashicorp/logutils v1.0.0/go.mod h1:QIAnNjmIWmVIIkWDTG1z5v++HQmx9WQRO+LraFDTW64= +github.com/hashicorp/mdns v1.0.0/go.mod h1:tL+uN++7HEJ6SQLQ2/p+z2pH24WQKWjBPkE0mNTz8vQ= +github.com/hashicorp/memberlist v0.1.3/go.mod h1:ajVTdAv/9Im8oMAAj5G31PhhMCZJV2pPBoIllUwCN7I= +github.com/hashicorp/serf v0.8.2/go.mod h1:6hOLApaqBFA1NXqRQAsxw9QxuDEvNxSQRwA/JwenrHc= +github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= +github.com/huandu/go-assert v1.1.5 h1:fjemmA7sSfYHJD7CUqs9qTwwfdNAx7/j2/ZlHXzNB3c= +github.com/huandu/go-assert v1.1.5/go.mod h1:yOLvuqZwmcHIC5rIzrBhT7D3Q9c3GFnd0JrPVhn/06U= +github.com/huandu/go-clone v1.7.2 h1:3+Aq0Ed8XK+zKkLjE2dfHg0XrpIfcohBE1K+c8Usxoo= +github.com/huandu/go-clone v1.7.2/go.mod h1:ReGivhG6op3GYr+UY3lS6mxjKp7MIGTknuU5TbTVaXE= +github.com/huandu/go-clone/generic v1.7.2 h1:47pQphxs1Xc9cVADjOHN+Bm5D0hNagwH9UXErbxgVKA= +github.com/huandu/go-clone/generic v1.7.2/go.mod h1:xgd9ZebcMsBWWcBx5mVMCoqMX24gLWr5lQicr+nVXNs= +github.com/hudl/fargo v1.3.0/go.mod h1:y3CKSmjA+wD2gak7sUSXTAoopbhU08POFhmITJgmKTg= +github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= +github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= +github.com/imdario/mergo v0.3.5/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= +github.com/imdario/mergo v0.3.12/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH0dnCYA= +github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= +github.com/influxdata/influxdb1-client v0.0.0-20191209144304-8bf82d3c094d/go.mod h1:qj24IKcXYK6Iy9ceXlo3Tc+vtHo9lIhSX5JddghvEPo= +github.com/infobloxopen/go-trees v0.0.0-20200715205103-96a057b8dfb9/go.mod h1:BaIJzjD2ZnHmx2acPF6XfGLPzNCMiBbMRqJr+8/8uRI= +github.com/jinzhu/inflection v1.0.0 h1:K317FqzuhWc8YvSVlFMCCUb36O/S9MCKRDI7QkRKD/E= +github.com/jinzhu/inflection v1.0.0/go.mod h1:h+uFLlag+Qp1Va5pdKtLDYj+kHp5pxUVkryuEj+Srlc= +github.com/jinzhu/now v1.1.5 h1:/o9tlHleP7gOFmsnYNz3RGnqzefHA47wQpKrrdTIwXQ= +github.com/jinzhu/now v1.1.5/go.mod h1:d3SSVoowX0Lcu0IBviAWJpolVfI5UJVZZ7cO71lE/z8= +github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k= +github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo= +github.com/jmespath/go-jmespath/internal/testify v1.5.1/go.mod h1:L3OGu8Wl2/fWfCI6z80xFu9LTZmf1ZRjMHUOPmWr69U= +github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo= +github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY= +github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y= +github.com/jpillora/backoff v1.0.0/go.mod h1:J/6gKK9jxlEcS3zixgDgUAsiuZ7yrSoa/FX5e0EB2j4= +github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= +github.com/json-iterator/go v1.1.7/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= +github.com/json-iterator/go v1.1.8/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= +github.com/json-iterator/go v1.1.9/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= +github.com/json-iterator/go v1.1.10/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= +github.com/json-iterator/go v1.1.11/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= +github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= +github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= +github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= +github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk= +github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU= +github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= +github.com/julienschmidt/httprouter v1.3.0/go.mod h1:JR6WtHb+2LUe8TCKY3cZOxFyyO8IZAc4RVcycCCAKdM= +github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q= +github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= +github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= +github.com/klauspost/cpuid/v2 v2.0.9/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg= +github.com/klauspost/cpuid/v2 v2.2.7 h1:ZWSB3igEs+d0qvnxR/ZBzXVmxkgt8DdzP6m9pfuVLDM= +github.com/klauspost/cpuid/v2 v2.2.7/go.mod h1:Lcz8mBdAVJIBVzewtcLocK12l3Y+JytZYpaMropDUws= +github.com/knz/go-libedit v1.10.1/go.mod h1:MZTVkCWyz0oBc7JOWP3wNAzd002ZbM/5hgShxwh4x8M= +github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= +github.com/konsorten/go-windows-terminal-sequences v1.0.3/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= +github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= +github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= +github.com/kr/pretty v0.2.0/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= +github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= +github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= +github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= +github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= +github.com/kr/pty v1.1.5/go.mod h1:9r2w37qlBe7rQ6e1fg1S/9xpWHSnaqNdHD3WcMdbPDA= +github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= +github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= +github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= +github.com/leodido/go-urn v1.4.0 h1:WT9HwE9SGECu3lg4d/dIA+jxlljEa1/ffXKmRjqdmIQ= +github.com/leodido/go-urn v1.4.0/go.mod h1:bvxc+MVxLKB4z00jd1z+Dvzr47oO32F/QSNjSBOlFxI= +github.com/lightstep/lightstep-tracer-common/golang/gogo v0.0.0-20190605223551-bc2310a04743/go.mod h1:qklhhLq1aX+mtWk9cPHPzaBjWImj5ULL6C7HFJtXQMM= +github.com/lightstep/lightstep-tracer-go v0.18.1/go.mod h1:jlF1pusYV4pidLvZ+XD0UBX0ZE6WURAspgAczcDHrL4= +github.com/lyft/protoc-gen-validate v0.0.13/go.mod h1:XbGvPuh87YZc5TdIa2/I4pLk0QoUACkjt2znoq26NVQ= +github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= +github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= +github.com/mailru/easyjson v0.7.7 h1:UGYAvKxe3sBsEDzO8ZeWOSlIQfWFlxbzLZe7hwFURr0= +github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= +github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= +github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= +github.com/mattn/go-isatty v0.0.4/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= +github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY= +github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= +github.com/mattn/go-runewidth v0.0.2/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= +github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= +github.com/matttproud/golang_protobuf_extensions v1.0.4 h1:mmDVorXM7PCGKw94cs5zkfA9PSy5pEvNWRP0ET0TIVo= +github.com/matttproud/golang_protobuf_extensions v1.0.4/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4= +github.com/miekg/dns v1.0.14/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg= +github.com/miekg/dns v1.1.31/go.mod h1:KNUDUusw/aVsxyTYZM1oqvCicbwhgbNgztCETuNZ7xM= +github.com/miekg/dns v1.1.42 h1:gWGe42RGaIqXQZ+r3WUGEKBEtvPHY2SXo4dqixDNxuY= +github.com/miekg/dns v1.1.42/go.mod h1:+evo5L0630/F6ca/Z9+GAqzhjGyn8/c+TBaOyfEl0V4= +github.com/mitchellh/cli v1.0.0/go.mod h1:hNIlj7HEI86fIcpObd7a0FcrxTWetlwJDGcceTlRvqc= +github.com/mitchellh/go-homedir v1.0.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= +github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= +github.com/mitchellh/go-testing-interface v1.0.0/go.mod h1:kRemZodwjscx+RGhAo8eIhFbs2+BFgRtFPeD/KE+zxI= +github.com/mitchellh/gox v0.4.0/go.mod h1:Sd9lOJ0+aimLBi73mGofS1ycjY8lL3uZM3JPS42BGNg= +github.com/mitchellh/iochan v1.0.0/go.mod h1:JwYml1nuB7xOzsp52dPpHFffvOCDupsG0QubkSMEySY= +github.com/mitchellh/mapstructure v0.0.0-20160808181253-ca63d7c062ee/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= +github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= +github.com/moby/spdystream v0.2.0/go.mod h1:f7i0iNDQJ059oMTcWxx8MA/zKFIuD/lY+0GqbN2Wy8c= +github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= +github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= +github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= +github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= +github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= +github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= +github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= +github.com/munnerz/goautoneg v0.0.0-20120707110453-a547fc61f48d/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= +github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= +github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= +github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f/go.mod h1:ZdcZmHo+o7JKHSa8/e818NopupXU1YMK5fe1lsApnBw= +github.com/nats-io/jwt v0.3.0/go.mod h1:fRYCDE99xlTsqUzISS1Bi75UBJ6ljOJQOAAu5VglpSg= +github.com/nats-io/jwt v0.3.2/go.mod h1:/euKqTS1ZD+zzjYrY7pseZrTtWQSjujC7xjPc8wL6eU= +github.com/nats-io/nats-server/v2 v2.1.2/go.mod h1:Afk+wRZqkMQs/p45uXdrVLuab3gwv3Z8C4HTBu8GD/k= +github.com/nats-io/nats.go v1.9.1/go.mod h1:ZjDU1L/7fJ09jvUSRVBR2e7+RnLiiIQyqyzEE/Zbp4w= +github.com/nats-io/nkeys v0.1.0/go.mod h1:xpnFELMwJABBLVhffcfd1MZx6VsNRFpEugbxziKVo7w= +github.com/nats-io/nkeys v0.1.3/go.mod h1:xpnFELMwJABBLVhffcfd1MZx6VsNRFpEugbxziKVo7w= +github.com/nats-io/nuid v1.0.1/go.mod h1:19wcPz3Ph3q0Jbyiqsd0kePYG7A95tJPxeL+1OSON2c= +github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno= +github.com/oklog/oklog v0.3.2/go.mod h1:FCV+B7mhrz4o+ueLpx+KqkyXRGMWOYEvfiXtdGtbWGs= +github.com/oklog/run v1.0.0/go.mod h1:dlhp/R75TPv97u0XWUtDeV/lRKWPKSdTuV0TZvrmrQA= +github.com/olekukonko/tablewriter v0.0.0-20170122224234-a0225b3f23b5/go.mod h1:vsDQFd/mU46D+Z4whnwzcISnGGzXWMclvtLoiIKAKIo= +github.com/onsi/ginkgo v0.0.0-20170829012221-11459a886d9c/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/ginkgo v1.7.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/ginkgo v1.11.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/gomega v0.0.0-20170829124025-dcabb60a477c/go.mod h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5uiA= +github.com/onsi/gomega v1.4.3/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= +github.com/onsi/gomega v1.7.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= +github.com/op/go-logging v0.0.0-20160315200505-970db520ece7/go.mod h1:HzydrMdWErDVzsI23lYNej1Htcns9BCg93Dk0bBINWk= +github.com/opentracing-contrib/go-observer v0.0.0-20170622124052-a52f23424492/go.mod h1:Ngi6UdF0k5OKD5t5wlmGhe/EDKPoUM3BXZSSfIuJbis= +github.com/opentracing/basictracer-go v1.0.0/go.mod h1:QfBfYuafItcjQuMwinw9GhYKwFXS9KnPs5lxoYwgW74= +github.com/opentracing/opentracing-go v1.0.2/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= +github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= +github.com/opentracing/opentracing-go v1.2.0 h1:uEJPy/1a5RIPAJ0Ov+OIO8OxWu77jEv+1B0VhjKrZUs= +github.com/opentracing/opentracing-go v1.2.0/go.mod h1:GxEUsuufX4nBwe+T+Wl9TAgYrxe9dPLANfrWvHYVTgc= +github.com/openzipkin-contrib/zipkin-go-opentracing v0.4.5/go.mod h1:/wsWhb9smxSfWAKL3wpBW7V8scJMt8N8gnaMCS9E/cA= +github.com/openzipkin/zipkin-go v0.1.6/go.mod h1:QgAqvLzwWbR/WpD4A3cGpPtJrZXNIiJc5AZX7/PBEpw= +github.com/openzipkin/zipkin-go v0.2.1/go.mod h1:NaW6tEwdmWMaCDZzg8sh+IBNOxHMPnhQw8ySjnjRyN4= +github.com/openzipkin/zipkin-go v0.2.2/go.mod h1:NaW6tEwdmWMaCDZzg8sh+IBNOxHMPnhQw8ySjnjRyN4= +github.com/pact-foundation/pact-go v1.0.4/go.mod h1:uExwJY4kCzNPcHRj+hCR/HBbOOIwwtUjcrb0b5/5kLM= +github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= +github.com/pborman/uuid v1.2.0/go.mod h1:X/NO0urCmaxf9VXbdlT7C2Yzkj2IKimNn4k+gtPdI/k= +github.com/pelletier/go-toml/v2 v2.2.1 h1:9TA9+T8+8CUCO2+WYnDLCgrYi9+omqKXyjDtosvtEhg= +github.com/pelletier/go-toml/v2 v2.2.1/go.mod h1:1t835xjRzz80PqgE6HHgN2JOsmgYu/h4qDAS4n929Rs= +github.com/performancecopilot/speed v3.0.0+incompatible/go.mod h1:/CLtqpZ5gBg1M9iaPbIdPPGyKcA8hKdoy6hAWba7Yac= +github.com/peterbourgon/diskv v2.0.1+incompatible/go.mod h1:uqqh8zWWbv1HBMNONnaR/tNboyR3/BZd58JJSHlUSCU= +github.com/philhofer/fwd v1.1.1/go.mod h1:gk3iGcWd9+svBvR0sR+KPcfE+RNWozjowpeBVG3ZVNU= +github.com/pierrec/lz4 v1.0.2-0.20190131084431-473cd7ce01a1/go.mod h1:3/3N9NVKO0jef7pBehbT1qWhCMrIgbYNnFAZCqQ5LRc= +github.com/pierrec/lz4 v2.0.5+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY= +github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA= +github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/pkg/profile v1.2.1/go.mod h1:hJw3o1OdXxsrSjjVksARp5W95eeEaEfptyVZyv6JUPA= +github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= +github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndrE9hABlRI= +github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= +github.com/prometheus/client_golang v0.9.3-0.20190127221311-3c4408c8b829/go.mod h1:p2iRAGwDERtqlqzRXnrOVns+ignqQo//hLXqYxZYVNs= +github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo= +github.com/prometheus/client_golang v1.3.0/go.mod h1:hJaj2vgQTGQmVCsAACORcieXFeDPbaTKGT+JTgUa3og= +github.com/prometheus/client_golang v1.5.1/go.mod h1:e9GMxYsXl05ICDXkRhurwBS4Q3OK1iX/F2sw+iXX5zU= +github.com/prometheus/client_golang v1.7.1/go.mod h1:PY5Wy2awLA44sXw4AOSfFBetzPP4j5+D6mVACh+pe2M= +github.com/prometheus/client_golang v1.10.0/go.mod h1:WJM3cc3yu7XKBKa/I8WeZm+V3eltZnBwfENSU7mdogU= +github.com/prometheus/client_golang v1.11.0/go.mod h1:Z6t4BnS23TR94PD6BsDNk8yVqroYurpAkEiz0P2BEV0= +github.com/prometheus/client_golang v1.12.1/go.mod h1:3Z9XVyYiZYEO+YQWt3RD2R3jrbd179Rt297l4aS6nDY= +github.com/prometheus/client_golang v1.14.0/go.mod h1:8vpkKitgIVNcqrRBWh1C4TIUQgYNtG/XQE4E/Zae36Y= +github.com/prometheus/client_golang v1.15.1/go.mod h1:e9yaBhRPU2pPNsZwE+JdQl0KEt1N9XgF6zxWmaC0xOk= +github.com/prometheus/client_golang v1.17.0/go.mod h1:VeL+gMmOAxkS2IqfCq0ZmHSL+LjWfWDUmp1mBz9JgUY= +github.com/prometheus/client_golang v1.19.0 h1:ygXvpU1AoN1MhdzckN+PyD9QJOSD4x7kmXYlnfbA6JU= +github.com/prometheus/client_golang v1.19.0/go.mod h1:ZRM9uEAypZakd+q/x7+gmsvXdURP+DABIEIjnmDdp+k= +github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= +github.com/prometheus/client_model v0.0.0-20190115171406-56726106282f/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= +github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= +github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= +github.com/prometheus/client_model v0.1.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= +github.com/prometheus/client_model v0.2.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= +github.com/prometheus/client_model v0.3.0/go.mod h1:LDGWKZIo7rky3hgvBe+caln+Dr3dPggB5dvjtD7w9+w= +github.com/prometheus/client_model v0.4.0/go.mod h1:oMQmHW1/JoDwqLtg57MGgP/Fb1CJEYF2imWWhWtMkYU= +github.com/prometheus/client_model v0.4.1-0.20230718164431-9a2bf3000d16/go.mod h1:oMQmHW1/JoDwqLtg57MGgP/Fb1CJEYF2imWWhWtMkYU= +github.com/prometheus/client_model v0.5.0 h1:VQw1hfvPvk3Uv6Qf29VrPF32JB6rtbgI6cYPYQjL0Qw= +github.com/prometheus/client_model v0.5.0/go.mod h1:dTiFglRmd66nLR9Pv9f0mZi7B7fk5Pm3gvsjB5tr+kI= +github.com/prometheus/common v0.2.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= +github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= +github.com/prometheus/common v0.7.0/go.mod h1:DjGbpBbp5NYNiECxcL/VnbXCCaQpKd3tt26CguLLsqA= +github.com/prometheus/common v0.9.1/go.mod h1:yhUN8i9wzaXS3w1O07YhxHEBxD+W35wd8bs7vj7HSQ4= +github.com/prometheus/common v0.10.0/go.mod h1:Tlit/dnDKsSWFlCLTWaA1cyBgKHSMdTB80sz/V91rCo= +github.com/prometheus/common v0.18.0/go.mod h1:U+gB1OBLb1lF3O42bTCL+FK18tX9Oar16Clt/msog/s= +github.com/prometheus/common v0.25.0/go.mod h1:H6QK/N6XVT42whUeIdI3dp36w49c+/iMDk7UAI2qm7Q= +github.com/prometheus/common v0.26.0/go.mod h1:M7rCNAaPfAosfx8veZJCuw84e35h3Cfd9VFqTh1DIvc= +github.com/prometheus/common v0.32.1/go.mod h1:vu+V0TpY+O6vW9J44gczi3Ap/oXXR10b+M/gUGO4Hls= +github.com/prometheus/common v0.37.0/go.mod h1:phzohg0JFMnBEFGxTDbfu3QyL5GI8gTQJFhYO5B3mfA= +github.com/prometheus/common v0.42.0/go.mod h1:xBwqVerjNdUDjgODMpudtOMwlOwf2SaTr1yjz4b7Zbc= +github.com/prometheus/common v0.44.0/go.mod h1:ofAIvZbQ1e/nugmZGz4/qCb9Ap1VoSTIO7x0VV9VvuY= +github.com/prometheus/common v0.48.0 h1:QO8U2CdOzSn1BBsmXJXduaaW+dY/5QLjfB8svtSzKKE= +github.com/prometheus/common v0.48.0/go.mod h1:0/KsvlIEfPQCQ5I2iNSAWKPZziNCvRs5EC6ILDTlAPc= +github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= +github.com/prometheus/procfs v0.0.0-20190117184657-bf6a532e95b1/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= +github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= +github.com/prometheus/procfs v0.0.8/go.mod h1:7Qr8sr6344vo1JqZ6HhLceV9o3AJ1Ff+GxbHq6oeK9A= +github.com/prometheus/procfs v0.1.3/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU= +github.com/prometheus/procfs v0.6.0/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= +github.com/prometheus/procfs v0.7.3/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= +github.com/prometheus/procfs v0.8.0/go.mod h1:z7EfXMXOkbkqb9IINtpCn86r/to3BnA0uaxHdg830/4= +github.com/prometheus/procfs v0.9.0/go.mod h1:+pB4zwohETzFnmlpe6yd2lSc+0/46IYZRB/chUwxUZY= +github.com/prometheus/procfs v0.11.1/go.mod h1:eesXgaPo1q7lBpVMoMy0ZOFTth9hBn4W/y0/p/ScXhY= +github.com/prometheus/procfs v0.12.0 h1:jluTpSng7V9hY0O2R9DzzJHYb2xULk9VTR1V1R/k6Bo= +github.com/prometheus/procfs v0.12.0/go.mod h1:pcuDEFsWDnvcgNzo4EEweacyhjeA9Zk3cnaOZAZEfOo= +github.com/rcrowley/go-metrics v0.0.0-20181016184325-3113b8401b8a/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= +github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg= +github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= +github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= +github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs= +github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog= +github.com/rogpeppe/go-internal v1.11.0 h1:cWPaGQEPrBb5/AsnsZesgZZ9yb1OQ+GOISoDNXVBh4M= +github.com/rogpeppe/go-internal v1.11.0/go.mod h1:ddIwULY96R17DhadqLgMfk9H9tvdUzkipdSkR5nkCZA= +github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= +github.com/russross/blackfriday/v2 v2.1.0 h1:JIOH55/0cWyOuilr9/qlrm0BSXldqnqwMsf35Ld67mk= +github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= +github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= +github.com/samuel/go-zookeeper v0.0.0-20190923202752-2cc03de413da/go.mod h1:gi+0XIa01GRL2eRQVjQkKGqKF3SF9vZR/HnPullcV2E= +github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc= +github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc= +github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= +github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= +github.com/sirupsen/logrus v1.6.0/go.mod h1:7uNnSEd1DgxDLC74fIahvMZmmYsHGZGEOFrfsX/uA88= +github.com/sirupsen/logrus v1.9.3 h1:dueUQJ1C2q9oE3F7wvmSGAaVtTmUizReu6fjN8uqzbQ= +github.com/sirupsen/logrus v1.9.3/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= +github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc= +github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA= +github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM= +github.com/sony/gobreaker v0.4.1/go.mod h1:ZKptC7FHNvhBz7dN2LGjPVBz2sZJmc0/PkyDJOjmxWY= +github.com/spf13/afero v1.2.2/go.mod h1:9ZxEEn6pIJ8Rxe320qSDBk6AsU0r9pR7Q4OcevTdifk= +github.com/spf13/cobra v0.0.3/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ= +github.com/spf13/pflag v0.0.0-20170130214245-9ff6c6923cff/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= +github.com/spf13/pflag v1.0.1/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= +github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= +github.com/streadway/amqp v0.0.0-20190404075320-75d898a42a94/go.mod h1:AZpEONHx3DKn8O/DFsRAY58/XVQiIPMTMB1SddzLXVw= +github.com/streadway/amqp v0.0.0-20190827072141-edfb9018d271/go.mod h1:AZpEONHx3DKn8O/DFsRAY58/XVQiIPMTMB1SddzLXVw= +github.com/streadway/handy v0.0.0-20190108123426-d5acb3125c2a/go.mod h1:qNTQ5P5JnDBl6z3cMAg/SywNDC5ABu5ApDIw6lUbRmI= +github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/objx v0.2.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE= +github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= +github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= +github.com/stretchr/objx v0.5.2/go.mod h1:FRsXN1f5AsAjCGJKqEizvkpNtU+EGNCLh3NxZ/8L+MA= +github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= +github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= +github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= +github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= +github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= +github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= +github.com/stretchr/testify v1.8.2/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= +github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= +github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg= +github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= +github.com/swaggo/files v1.0.1 h1:J1bVJ4XHZNq0I46UU90611i9/YzdrF7x92oX1ig5IdE= +github.com/swaggo/files v1.0.1/go.mod h1:0qXmMNH6sXNf+73t65aKeB+ApmgxdnkQzVTAj2uaMUg= +github.com/swaggo/gin-swagger v1.6.0 h1:y8sxvQ3E20/RCyrXeFfg60r6H0Z+SwpTjMYsMm+zy8M= +github.com/swaggo/gin-swagger v1.6.0/go.mod h1:BG00cCEy294xtVpyIAHG6+e2Qzj/xKlRdOqDkvq0uzo= +github.com/swaggo/swag v1.16.3 h1:PnCYjPCah8FK4I26l2F/KQ4yz3sILcVUN3cTlBFA9Pg= +github.com/swaggo/swag v1.16.3/go.mod h1:DImHIuOFXKpMFAQjcC7FG4m3Dg4+QuUgUzJmKjI/gRk= +github.com/tinylib/msgp v1.1.2/go.mod h1:+d+yLhGm8mzTaHzB+wgMYrodPfmZrzkirds8fDWklFE= +github.com/tmc/grpc-websocket-proxy v0.0.0-20170815181823-89b8d40f7ca8/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= +github.com/twitchyliquid64/golang-asm v0.15.1 h1:SU5vSMR7hnwNxj24w34ZyCi/FmDZTkS4MhqMhdFk5YI= +github.com/twitchyliquid64/golang-asm v0.15.1/go.mod h1:a1lVb/DtPvCB8fslRZhAngC2+aY1QWCk3Cedj/Gdt08= +github.com/ugorji/go/codec v1.2.12 h1:9LC83zGrHhuUA9l16C9AHXAqEV/2wBQ4nkvumAE65EE= +github.com/ugorji/go/codec v1.2.12/go.mod h1:UNopzCgEMSXjBc6AOMqYvWC1ktqTAfzJZUZgYf6w6lg= +github.com/urfave/cli v1.20.0/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA= +github.com/urfave/cli v1.22.1/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0= +github.com/urfave/cli/v2 v2.27.1 h1:8xSQ6szndafKVRmfyeUMxkNUJQMjL1F2zmsZ+qHpfho= +github.com/urfave/cli/v2 v2.27.1/go.mod h1:8qnjx1vcq5s2/wpsqoZFndg2CE5tNFyrTvS6SinrnYQ= +github.com/xhit/go-str2duration v1.2.0/go.mod h1:3cPSlfZlUHVlneIVfePFWcJZsuwf+P1v2SRTV4cUmp4= +github.com/xhit/go-str2duration/v2 v2.1.0/go.mod h1:ohY8p+0f07DiV6Em5LKB0s2YpLtXVyJfNt1+BlmyAsU= +github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU= +github.com/xrash/smetrics v0.0.0-20201216005158-039620a65673 h1:bAn7/zixMGCfxrRTfdpNzjtPYqr8smhKouy9mxVdGPU= +github.com/xrash/smetrics v0.0.0-20201216005158-039620a65673/go.mod h1:N3UwUGtsrSj3ccvlPHLoLsHnpR27oXr4ZE984MbSER8= +github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= +github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= +github.com/zsais/go-gin-prometheus v0.1.0 h1:bkLv1XCdzqVgQ36ScgRi09MA2UC1t3tAB6nsfErsGO4= +github.com/zsais/go-gin-prometheus v0.1.0/go.mod h1:Slirjzuz8uM8Cw0jmPNqbneoqcUtY2GGjn2bEd4NRLY= +go.etcd.io/bbolt v1.3.3/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= +go.etcd.io/etcd v0.0.0-20191023171146-3cf2f69b5738/go.mod h1:dnLIgRNXwCJa5e+c6mIZCrds/GIG4ncV9HhK5PX7jPg= +go.etcd.io/etcd/api/v3 v3.5.0-beta.3/go.mod h1:yF0YUmBghT48aC0/eTFrhULo+uKQAr5spQQ6sRhPauE= +go.etcd.io/etcd/client/pkg/v3 v3.5.0-beta.3/go.mod h1:a+pbz+UrcOpvve1Qxf6tGovi15PjgtRhi0QTO2Nlc4U= +go.etcd.io/etcd/client/v3 v3.5.0-beta.3/go.mod h1:vWjHXU+j44Z92kL/WjCMh8sXV5J4Sk2e6cjYK9y6Yz8= +go.opencensus.io v0.20.1/go.mod h1:6WKK9ahsWS3RSO+PY9ZHZUfv2irvY6gN279GOPZjmmk= +go.opencensus.io v0.20.2/go.mod h1:6WKK9ahsWS3RSO+PY9ZHZUfv2irvY6gN279GOPZjmmk= +go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= +go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8= +go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= +go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= +go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= +go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk= +go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E= +go.uber.org/atomic v1.3.2/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= +go.uber.org/atomic v1.5.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ= +go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= +go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0= +go.uber.org/multierr v1.3.0/go.mod h1:VgVr7evmIr6uPjLBxg28wmKNXyqE9akIJ5XnfpiKl+4= +go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU= +go.uber.org/tools v0.0.0-20190618225709-2cfd321de3ee/go.mod h1:vJERXedbb3MVM5f9Ejo0C68/HhF8uaILCdgjnY+goOA= +go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= +go.uber.org/zap v1.13.0/go.mod h1:zwrFLgMcdUuIBviXEYEH1YKNaOBnKXsx2IPda5bBwHM= +go.uber.org/zap v1.16.1-0.20210329175301-c23abee72d19/go.mod h1:aMfIlz3TDBfB0BwTCKFU1XbEmj9zevr5S5LcBr85MXw= +golang.org/x/arch v0.0.0-20210923205945-b76863e36670/go.mod h1:5om86z9Hs0C8fWVUuoMHwpExlXzs5Tkyp9hOrfG7pp8= +golang.org/x/arch v0.7.0 h1:pskyeJh/3AmoQ8CPE95vxHLqp1G1GfGNXTmcl9NEKTc= +golang.org/x/arch v0.7.0/go.mod h1:FEVrYAQjsQXMVJ1nsMoVVXPZg6p2JE2mx8psSWTDQys= +golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +golang.org/x/crypto v0.0.0-20181029021203-45a5f77698d3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= +golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20190611184440-5c40567a22f8/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20190701094942-4def268fd1a4/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20201002170205-7f63de1d35b0/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20201221181555-eec23a3978ad/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I= +golang.org/x/crypto v0.0.0-20210220033148-5ea612d1eb83/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I= +golang.org/x/crypto v0.0.0-20210322153248-0c34fe9e7dc2/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= +golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= +golang.org/x/crypto v0.22.0 h1:g1v0xeRhjcugydODzvb3mEM9SQ0HGp9s/nh3COQ/C30= +golang.org/x/crypto v0.22.0/go.mod h1:vr6Su+7cTlO45qkww3VDJlzDn0ctJvRgYbC2NvXHt+M= +golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= +golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= +golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= +golang.org/x/exp v0.0.0-20190829153037-c13cbed26979/go.mod h1:86+5VVa7VpoJ4kLfm080zCjGlMRFzhUhsZKEZO7MGek= +golang.org/x/exp v0.0.0-20191030013958-a1ab85dbe136/go.mod h1:JXzH8nQsPlswgeRAPE3MuO9GYsAcnJvJ4vnMwN/5qkY= +golang.org/x/exp v0.0.0-20191129062945-2f5052295587/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= +golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= +golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= +golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM= +golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU= +golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= +golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= +golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= +golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= +golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= +golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/lint v0.0.0-20190409202823-959b441ac422/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/lint v0.0.0-20190909230951-414d861bb4ac/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f/go.mod h1:5qLYkcX4OjUUV8bRuDixDT3tpyyb+LUpUlRWLxfhWrs= +golang.org/x/lint v0.0.0-20200130185559-910be7a94367/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= +golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= +golang.org/x/lint v0.0.0-20201208152925-83fdc39ff7b5/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= +golang.org/x/lint v0.0.0-20210508222113-6edffad5e616/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= +golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE= +golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o= +golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc= +golang.org/x/mod v0.1.0/go.mod h1:0QHyrYULN0/3qlju5TqG8bIK38QM8yzMo5ekMj3DlcY= +golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= +golang.org/x/mod v0.1.1-0.20191107180719-034126e5016b/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= +golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= +golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= +golang.org/x/mod v0.17.0 h1:zY54UmvipHiNd+pm+m0x9KhZ9hl1/7QNMyxXbc6ICqA= +golang.org/x/mod v0.17.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= +golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20181023162649-9b4f9f5ad519/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20181201002055-351d144fa1fc/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20181220203305-927f97764cc3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190125091013-d26f9f9a57f3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= +golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190628185345-da137c7871d7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190724013045-ca1201d0de80/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190813141303-74dc4d7220e7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190827160401-ba9fcec4b297/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190923162816-aa69164e4478/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200114155413-6afb5195e5aa/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200222125558-5a598a2470a0/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200301022130-244492dfa37a/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200501053045-e0ff5e5a1de5/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200506145744-7e3656a0809f/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200513185701-a91f0712d120/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200520182314-0ba52f642ac2/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= +golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= +golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= +golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= +golang.org/x/net v0.0.0-20201031054903-ff519b6c9102/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= +golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= +golang.org/x/net v0.0.0-20201209123823-ac852fbbde11/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= +golang.org/x/net v0.0.0-20210119194325-5f4716e94777/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= +golang.org/x/net v0.0.0-20210224082022-3d97a244fca7/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= +golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= +golang.org/x/net v0.0.0-20210316092652-d523dce5a7f4/go.mod h1:RBQZq4jEuRlivfhVLdyRGr576XBO4/greRjx4P4O3yc= +golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= +golang.org/x/net v0.0.0-20210503060351-7fd8e65b6420/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20210525063256-abc453219eb5/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= +golang.org/x/net v0.0.0-20220225172249-27dd8689420f/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= +golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= +golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= +golang.org/x/net v0.7.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= +golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= +golang.org/x/net v0.24.0 h1:1PcaxkF854Fu3+lvBIx5SYn9wRlBzzcnHZSiaFFAb0w= +golang.org/x/net v0.24.0/go.mod h1:2Q7sJY5mzlzWjKtYUEXSlBWCdyaioyXzRB2RtU8KVE8= +golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= +golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= +golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= +golang.org/x/oauth2 v0.0.0-20191202225959-858c2ad4c8b6/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= +golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= +golang.org/x/oauth2 v0.0.0-20200902213428-5d25da1a8d43/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20201109201403-9fd604954f58/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20201208152858-08078c50e5b5/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210218202405-ba52d332ba99/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210220000619-9bb904979d93/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210313182246-cd4f82c27b84/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210514164344-f6687ab2804c/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20220223155221-ee480838109b/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc= +golang.org/x/oauth2 v0.5.0/go.mod h1:9/XBHVqLaWO3/BRHs5jbpYCnOZVjj5V0ndyaAM7KB4I= +golang.org/x/oauth2 v0.8.0/go.mod h1:yr7u4HXZRm1R1kBWqr/xKNqewf0plRYoB7sla+BCIXE= +golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20220601150217-0de741cfad7f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.3.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y= +golang.org/x/sync v0.7.0 h1:YsImfSBoP9QPYL0xyKJPq0gcaJdG3rInoqxTWbfQu9M= +golang.org/x/sync v0.7.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= +golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20181026203630-95b1ffbd15a5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20181107165924-66b7b1311ac8/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20181122145206-62eef0e2fa9b/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190616124812-15dcb6c0061f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190826190057-c7b8b68b1456/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190924154521-2837fb4f24fe/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191220142924-d4481acd189f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200106162015-b016eb3dc98e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200113162924-86b910548bc1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200202164722-d101bd2416d5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200212091648-12a6c2dcc1e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200302150141-5c8b2ff67527/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200331124033-c3d80250170d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200501052902-10377860bb8e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200511232937-7e40ca221e25/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200515095857-1151b9dac4a9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200523222454-059865788121/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200615200032-f1bc736245b1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200625212154-ddb9806d33ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200803210538-64077c9b5642/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200905004654-be1d3432aa8f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20201201145000-ef89a241ccb3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210104204734-6f8348627aad/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210220050731-9a76102bfb43/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210225134936-a50acf3fe073/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210303074136-134d130e1a04/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210305230114-8fe3ee5dd75b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210309074719-68d13333faf2/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210315160823-c6e025ad8005/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210320140829-1e4c9ba3b0c4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210403161142-5e06dd20ab57/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210514084401-e8d321eab015/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210603081109-ebe580a85c40/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220114195835-da31bd327af9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.3.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.9.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.11.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.19.0 h1:q5f1RH2jigJ1MoAWp2KTp3gm5zAGFUTarQZ5U386+4o= +golang.org/x/sys v0.19.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= +golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= +golang.org/x/term v0.0.0-20210220032956-6a3ed077a48d/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= +golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= +golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= +golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo= +golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= +golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= +golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= +golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= +golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ= +golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= +golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20210220033141-f8bda1e9f3ba/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20180828015842-6cd1fcedba52/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= +golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= +golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= +golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= +golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190614205625-5aca471b1d59/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191029041327-9cc4af7d6b2c/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191029190741-b9c20aec41a5/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191113191852-77e3bb0ad9e7/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191115202509-3a792d9c32b2/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191125144606-a911d9008d1f/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191130070609-6e064ea0cf2d/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191216052735-49a3e744a425/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20191216173652-a0e659d51361/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20191227053925-7b8e75db28f4/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200103221440-774c71fcf114/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200117161641-43d50277825c/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200122220014-bf1340f18c4a/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200204074204-1cc6d1ef6c74/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200207183749-b753a1ba74fa/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200212150539-ea181f53ac56/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200224181240-023911ca70b2/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200227222343-706bc42d1f0d/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200304193943-95d2e580d8eb/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= +golang.org/x/tools v0.0.0-20200312045724-11d5b4c81c7d/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= +golang.org/x/tools v0.0.0-20200331025713-a30bf2db82d4/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8= +golang.org/x/tools v0.0.0-20200501065659-ab2804fb9c9d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200512131952-2bc93b1c0c88/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200515010526-7d3b6ebf133d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200618134242-20370b0cb4b2/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200729194436-6467de6f59a7/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= +golang.org/x/tools v0.0.0-20200804011535-6c149bb5ef0d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= +golang.org/x/tools v0.0.0-20200825202427-b303f430e36d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= +golang.org/x/tools v0.0.0-20200904185747-39188db58858/go.mod h1:Cj7w3i3Rnn0Xh82ur9kSqwfTHTeVxaDqrfMjpcNT6bE= +golang.org/x/tools v0.0.0-20201110124207-079ba7bd75cd/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.0.0-20201201161351-ac6f37ff4c2a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.0.0-20201208233053-a543418bbed2/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.0.0-20210105154028-b0ab187a4818/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0= +golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= +golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= +golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= +golang.org/x/tools v0.20.0 h1:hz/CVckiOxybQvFw6h7b/q80NTr9IUQb4s1IIzW7KNY= +golang.org/x/tools v0.20.0/go.mod h1:WvitBU7JJf6A4jOdg4S1tviW9bhUxkgeCui/0JHctQg= +golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +google.golang.org/api v0.3.1/go.mod h1:6wY9I6uQWHQ8EM57III9mq/AjF+i8G65rmVagqKMtkk= +google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE= +google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M= +google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= +google.golang.org/api v0.9.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= +google.golang.org/api v0.13.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= +google.golang.org/api v0.14.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= +google.golang.org/api v0.15.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= +google.golang.org/api v0.17.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= +google.golang.org/api v0.18.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= +google.golang.org/api v0.19.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= +google.golang.org/api v0.20.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= +google.golang.org/api v0.22.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= +google.golang.org/api v0.24.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= +google.golang.org/api v0.28.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= +google.golang.org/api v0.29.0/go.mod h1:Lcubydp8VUV7KeIHD9z2Bys/sm/vGKnG1UHuDBSrHWM= +google.golang.org/api v0.30.0/go.mod h1:QGmEvQ87FHZNiUVJkT14jQNYJ4ZJjdRF23ZXz5138Fc= +google.golang.org/api v0.35.0/go.mod h1:/XrVsuzM0rZmrsbjJutiuftIzeuTQcEeaYcSk/mQ1dg= +google.golang.org/api v0.36.0/go.mod h1:+z5ficQTmoYpPn8LCUNVpK5I7hwkpjbcgqA7I34qYtE= +google.golang.org/api v0.40.0/go.mod h1:fYKFpnQN0DsDSKRVRcQSDQNtqWPfM9i+zNPxepjRCQ8= +google.golang.org/api v0.41.0/go.mod h1:RkxM5lITDfTzmyKFPt+wGrCJbVfniCr2ool8kTBzRTU= +google.golang.org/api v0.43.0/go.mod h1:nQsDGjRXMo4lvh5hP0TKqF244gqhGcr/YSIykhUk/94= +google.golang.org/api v0.47.0/go.mod h1:Wbvgpq1HddcWVtzsVLyfLp8lDg6AA241LmgIL59tHXo= +google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= +google.golang.org/appengine v1.2.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= +google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= +google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= +google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0= +google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= +google.golang.org/appengine v1.6.6/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= +google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= +google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= +google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190502173448-54afdca5d873/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190530194941-fb225487d101/go.mod h1:z3L6/3dTEVtUr6QSP8miRzeRqwQOioJ9I66odjN4I7s= +google.golang.org/genproto v0.0.0-20190801165951-fa694d86fc64/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= +google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= +google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51/go.mod h1:IbNlFCBrqXvoKpeg0TB2l7cyZUmoaFKYIwrEpbDKLA8= +google.golang.org/genproto v0.0.0-20191108220845-16a3f7862a1a/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20191115194625-c23dd37a84c9/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20191216164720-4f79533eabd1/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20191230161307-f3c370f40bfb/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20200115191322-ca5a22157cba/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20200122232147-0452cf42e150/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20200204135345-fa8e72b47b90/go.mod h1:GmwEX6Z4W5gMy59cAlVYjN9JhxgbQH6Gn+gFDQe2lzA= +google.golang.org/genproto v0.0.0-20200212174721-66ed5ce911ce/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200224152610-e50cd9704f63/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200228133532-8c2c7df3a383/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200305110556-506484158171/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200312145019-da6875a35672/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200331122359-1ee6d9798940/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200430143042-b979b6f78d84/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200511104702-f5ebc3bea380/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200513103714-09dca8ec2884/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200515170657-fc4c6c6a6587/go.mod h1:YsZOwe1myG/8QRHRsmBRE1LrgQY60beZKjly0O1fX9U= +google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= +google.golang.org/genproto v0.0.0-20200618031413-b414f8b61790/go.mod h1:jDfRM7FcilCzHH/e9qn6dsT145K34l5v+OpcnNgKAAA= +google.golang.org/genproto v0.0.0-20200729003335-053ba62fc06f/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20200804131852-c06518451d9c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20200825200019-8632dd797987/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20200904004341-0bd0a958aa1d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20201109203340-2640f1f9cdfb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20201201144952-b05cb90ed32e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20201210142538-e3217bee35cc/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20201214200347-8c77b98c765d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210222152913-aa3ee6e6a81c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210303154014-9728d6b83eeb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210310155132-4ce2db91004e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210319143718-93e7006c17a6/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210402141018-6c239bbf2bb1/go.mod h1:9lPAdzaEmUacj36I+k7YKbEc5CXzPIeORRgDAUOu28A= +google.golang.org/genproto v0.0.0-20210513213006-bf773b8c8384 h1:z+j74wi4yV+P7EtK9gPLGukOk7mFOy9wMQaC0wNb7eY= +google.golang.org/genproto v0.0.0-20210513213006-bf773b8c8384/go.mod h1:P3QM42oQyzQSnHPnZ/vqoCdDmzH28fzWByN9asMeM8A= +google.golang.org/grpc v1.17.0/go.mod h1:6QZJwpn2B+Zp71q/5VxRsJ6NXXVCE5NRUHRo+f3cWCs= +google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= +google.golang.org/grpc v1.20.0/go.mod h1:chYK+tFQF0nDUGJgXMSgLCQk3phJEuONr2DCgLDdAQM= +google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= +google.golang.org/grpc v1.21.0/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= +google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= +google.golang.org/grpc v1.22.1/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= +google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= +google.golang.org/grpc v1.23.1/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= +google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY= +google.golang.org/grpc v1.26.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= +google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= +google.golang.org/grpc v1.27.1/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= +google.golang.org/grpc v1.28.0/go.mod h1:rpkK4SK4GF4Ach/+MFLZUBavHOvF2JJB5uozKKal+60= +google.golang.org/grpc v1.29.1/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3IjizoKk= +google.golang.org/grpc v1.30.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= +google.golang.org/grpc v1.31.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= +google.golang.org/grpc v1.31.1/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= +google.golang.org/grpc v1.33.1/go.mod h1:fr5YgcSWrqhRRxogOsw7RzIpsmvOZ6IcH4kBYTpR3n0= +google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc= +google.golang.org/grpc v1.34.0/go.mod h1:WotjhfgOW/POjDeRt8vscBtXq+2VjORFy659qA51WJ8= +google.golang.org/grpc v1.35.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= +google.golang.org/grpc v1.36.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= +google.golang.org/grpc v1.36.1/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= +google.golang.org/grpc v1.37.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= +google.golang.org/grpc v1.37.1/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= +google.golang.org/grpc v1.38.0 h1:/9BgsAsa5nWe26HqOlvlgJnqBuktYOLCgjCPqsa56W0= +google.golang.org/grpc v1.38.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= +google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= +google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= +google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= +google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE= +google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo= +google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= +google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= +google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= +google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGjtUeSXeh4= +google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= +google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= +google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= +google.golang.org/protobuf v1.28.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= +google.golang.org/protobuf v1.28.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= +google.golang.org/protobuf v1.30.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= +google.golang.org/protobuf v1.31.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= +google.golang.org/protobuf v1.33.0 h1:uNO2rsAINq/JlFpSdYEKIZ0uKD/R9cpdv0T+yoGwGmI= +google.golang.org/protobuf v1.33.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= +gopkg.in/DataDog/dd-trace-go.v1 v1.28.0/go.mod h1:Sp1lku8WJMvNV0kjDI4Ni/T7J/U3BO5ct5kEaoVU8+I= +gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= +gopkg.in/cheggaaa/pb.v1 v1.0.25/go.mod h1:V/YB90LKu/1FcN3WVnfiiE5oMCibMjukxqG/qStrOgw= +gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= +gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= +gopkg.in/gcfg.v1 v1.2.3/go.mod h1:yesOnuUOFQAhST5vPY4nbZsb/huCgGGXlipJsBn0b3o= +gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= +gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo= +gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw= +gopkg.in/warnings.v0 v0.1.2/go.mod h1:jksf8JmL6Qr/oQM2OXTHunEvvTAsrWBLb6OOjuVWRNI= +gopkg.in/yaml.v2 v2.0.0-20170812160011-eb3733d160e7/go.mod h1:JAlM8MvJe8wmxCU4Bli9HhUf9+ttbYbLASfIpnQbh74= +gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.3/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.5/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= +gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= +gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gorm.io/driver/mysql v1.5.6 h1:Ld4mkIickM+EliaQZQx3uOJDJHtrd70MxAUqWqlx3Y8= +gorm.io/driver/mysql v1.5.6/go.mod h1:sEtPWMiqiN1N1cMXoXmBbd8C6/l+TESwriotuRRpkDM= +gorm.io/gorm v1.25.0/go.mod h1:L4uxeKpfBml98NYqVqwAdmV1a2nBtAec/cf3fpucW/k= +gorm.io/gorm v1.25.7 h1:VsD6acwRjz2zFxGO50gPO6AkNs7KKnvfzUjHQhZDz/A= +gorm.io/gorm v1.25.7/go.mod h1:hbnx/Oo0ChWMn1BIhpy1oYozzpM15i4YPuHDmfYtwg8= +gorm.io/plugin/prometheus v0.1.0 h1:kDQwAfCUsT9D6jDUpIp7pnc7bCJu/6voM8I/BmFjxUQ= +gorm.io/plugin/prometheus v0.1.0/go.mod h1:5nrc/JrWCUNoDXCY4eOae/FK/J5WjQ0axXuFusCzdTc= +honnef.co/go/tools v0.0.0-20180728063816-88497007e858/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= +honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= +honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= +k8s.io/api v0.21.1/go.mod h1:FstGROTmsSHBarKc8bylzXih8BLNYTiS3TZcsoEDg2s= +k8s.io/apimachinery v0.21.1/go.mod h1:jbreFvJo3ov9rj7eWT7+sYiRx+qZuCYXwWT1bcDswPY= +k8s.io/client-go v0.21.1/go.mod h1:/kEw4RgW+3xnBGzvp9IWxKSNA+lXn3A7AuH3gdOAzLs= +k8s.io/gengo v0.0.0-20200413195148-3a45101e95ac/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0= +k8s.io/klog v1.0.0/go.mod h1:4Bi6QPql/J/LkTDqv7R/cd3hPo4k2DG6Ptcz060Ez5I= +k8s.io/klog/v2 v2.0.0/go.mod h1:PBfzABfn139FHAV07az/IF9Wp1bkk3vpT2XSJ76fSDE= +k8s.io/klog/v2 v2.8.0/go.mod h1:hy9LJ/NvuK+iVyP4Ehqva4HxZG/oXyIS3n3Jmire4Ec= +k8s.io/kube-openapi v0.0.0-20210305001622-591a79e4bda7/go.mod h1:wXW5VT87nVfh/iLV8FpR2uDvrFyomxbtb1KivDbvPTE= +k8s.io/utils v0.0.0-20201110183641-67b214c5f920/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= +nullprogram.com/x/optparse v1.0.0/go.mod h1:KdyPE+Igbe0jQUrVfMqDMeJQIJZEuyV7pjYmp6pbG50= +rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= +rsc.io/pdf v0.1.1/go.mod h1:n8OzWcQ6Sp37PL01nO98y4iUCRdTGarVfzxY20ICaU4= +rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= +rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= +sigs.k8s.io/structured-merge-diff/v4 v4.0.2/go.mod h1:bJZC9H9iH24zzfZ/41RGcq60oK1F7G282QMXDPYydCw= +sigs.k8s.io/structured-merge-diff/v4 v4.1.0/go.mod h1:bJZC9H9iH24zzfZ/41RGcq60oK1F7G282QMXDPYydCw= +sigs.k8s.io/yaml v1.1.0/go.mod h1:UJmg0vDUVViEyp3mgSv9WPwZCDxu4rQW1olrI1uml+o= +sigs.k8s.io/yaml v1.2.0/go.mod h1:yfXDCHCao9+ENCvLSE62v9VSji2MKu5jeNfTrofGhJc= +sourcegraph.com/sourcegraph/appdash v0.0.0-20190731080439-ebfcffb1b5c0/go.mod h1:hI742Nqp5OhwiqlzhgfbWU4mW4yO10fP+LoT9WOswdU= diff --git a/main.go b/main.go new file mode 100644 index 0000000..42ca3d8 --- /dev/null +++ b/main.go @@ -0,0 +1,65 @@ +package main + +import ( + "os" + "reCoreD-UI/cmd/config" + "reCoreD-UI/cmd/server" + _ "reCoreD-UI/docs" + + "github.com/sirupsen/logrus" + "github.com/urfave/cli/v2" + "github.com/urfave/cli/v2/altsrc" +) + +func init() { + logrus.SetReportCaller(true) +} + +// @title reCoreD-UI API +// @version 1.0 +// @description APIs for reCoreD-UI +// @BasePath /api/v1 +// @securityDefinitions.basic BasicAuth +func main() { + flags := []cli.Flag{ + &cli.StringFlag{ + Name: "config", + Usage: "config yaml file", + Aliases: []string{"c"}, + EnvVars: []string{"RECORED_CONFIG_FILE"}, + }, + altsrc.NewStringFlag(&cli.StringFlag{ + Name: "mysql-dsn", + Usage: "mysql dsn", + EnvVars: []string{"RECORED_MYSQL_DSN"}, + }), + altsrc.NewBoolFlag(&cli.BoolFlag{ + Name: "debug", + Usage: "enable debug mode", + Value: false, + Action: func(ctx *cli.Context, b bool) error { + if b { + logrus.SetLevel(logrus.DebugLevel) + } + return nil + }, + }), + } + + app := &cli.App{ + Name: "reCoreD-UI", + Usage: "Web UI for CoreDNS", + Before: altsrc.InitInputSourceWithContext( + flags, altsrc.NewYamlSourceFromFlagFunc("config"), + ), + Flags: flags, + Commands: []*cli.Command{ + server.Command, + config.Command, + }, + } + + if err := app.Run(os.Args); err != nil { + logrus.Fatal(err) + } +} diff --git a/models/domain.go b/models/domain.go new file mode 100644 index 0000000..4152492 --- /dev/null +++ b/models/domain.go @@ -0,0 +1,65 @@ +package models + +import ( + "fmt" + "strings" +) + +// Domain domain data structure +type Domain struct { + ID uint `gorm:"primaryKey" json:"id"` + DomainName string `gorm:"unique,not null,size:255" json:"domain_name"` + + MainDNS string `gorm:"not null;size:255" json:"main_dns"` + AdminEmail string `gorm:"not null;size:255" json:"admin_email"` + SerialNumber int64 `gorm:"not null;default:1" json:"serial_number"` + RefreshInterval uint32 `gorm:"type:uint;not null;default:86400" json:"refresh_interval"` + RetryInterval uint32 `gorm:"type:uint;not null;default:7200" json:"retry_interval"` + ExpiryPeriod uint32 `gorm:"type:uint;not null;default:3600000" json:"expiry_period"` + NegativeTtl uint32 `gorm:"type:uint;not null;default:86400" json:"negative_ttl"` +} + +func (d *Domain) EmailSOAForamt() string { + s := strings.Split(d.AdminEmail, "@") + s[0] = strings.Replace(s[0], ".", "\\", -1) + if !strings.HasSuffix(s[1], ".") { + s[1] = fmt.Sprintf("%s.", s[1]) + } + return strings.Join(s, ".") +} + +func (d *Domain) WithDotEnd() string { + if strings.HasSuffix(d.DomainName, ".") { + return d.DomainName + } else { + return fmt.Sprintf("%s.", d.DomainName) + } +} + +func (d *Domain) GenerateSOA() SOARecord { + var ns string + if !strings.HasSuffix(d.MainDNS, ".") { + ns = fmt.Sprintf("%s.", d.MainDNS) + } else { + ns = d.MainDNS + } + r := SOARecord{} + r.Ns = ns + r.MBox = d.EmailSOAForamt() + r.Refresh = d.RefreshInterval + r.Retry = d.RetryInterval + r.Expire = d.ExpiryPeriod + r.MinTtl = d.NegativeTtl + return r +} + +func (d *Domain) GetValue() Domain { + return *d +} + +type IDomain interface { + EmailSOAForamt() string + WithDotEnd() string + GenerateSOA() SOARecord + GetValue() Domain +} diff --git a/models/record.go b/models/record.go new file mode 100644 index 0000000..0378a31 --- /dev/null +++ b/models/record.go @@ -0,0 +1,82 @@ +package models + +import ( + "encoding/json" + "errors" + "strings" +) + +var ErrorZoneNotEndWithDot = errors.New("zone should end with '.'") + +const ( + RecordTypeA = "A" + RecordTypeAAAA = "AAAA" + RecordTypeCNAME = "CNAME" + RecordTypeSOA = "SOA" + RecordTypeTXT = "TXT" + RecordTypeNS = "NS" + RecordTypeMX = "MX" + RecordTypeCAA = "CAA" + RecordTypeSRV = "SRV" +) + +type recordContentTypes interface { + ARecord | AAAARecord | CNAMERecord | CAARecord | NSRecord | MXRecord | SOARecord | SRVRecord | TXTRecord | RecordContentDefault +} + +// Record dns records for coredns mysql plugin +type Record[T recordContentTypes] struct { + ID uint `gorm:"primaryKey" json:"id"` + Zone string `gorm:"not null;size:255" json:"zone"` + Name string `gorm:"not null;size:255" json:"name"` + Ttl int `json:"ttl"` + // see https://github.com/cloud66-oss/coredns_mysql/blob/main/types.go for content + Content T `gorm:"serializer:json;type:text" json:"content"` + RecordType string `gorm:"not null;size:255" json:"record_type"` +} + +func (*Record[T]) TableName() string { + return "coredns_records" +} + +func (r *Record[T]) CheckZone() error { + if !strings.HasSuffix(r.Zone, ".") { + return ErrorZoneNotEndWithDot + } + return nil +} + +func (r *Record[T]) WithOutDotTail() string { + return strings.TrimRight(r.Zone, ".") +} + +func (r *Record[T]) ToEntity() IRecord { + return r +} + +func (r *Record[T]) FromEntity(entity any) error { + b, err := json.Marshal(entity) + if err != nil { + return err + } + + return json.Unmarshal(b, r) +} + +func (r *Record[T]) GetType() string { + return r.RecordType +} + +func (r *Record[T]) GetValue() IRecord { + return r.ToEntity() +} + +type IRecord interface { + TableName() string + CheckZone() error + WithOutDotTail() string + ToEntity() IRecord + FromEntity(any) error + GetType() string + GetValue() IRecord +} diff --git a/models/record_types.go b/models/record_types.go new file mode 100644 index 0000000..2a078e2 --- /dev/null +++ b/models/record_types.go @@ -0,0 +1,142 @@ +package models + +import ( + "errors" + "regexp" + "strings" + + dns "github.com/cloud66-oss/coredns_mysql" +) + +var ( + ErrInvalidIPv4 = errors.New("not a valid ipv4 address") + ErrInvalidIPv6 = errors.New("not a valid ipv6 address") + ErrEmptyTXT = errors.New("txt record should not empty") + ErrNoDotSuffix = errors.New("should end with dot") + ErrBadEmailFormat = errors.New("email here should have no '@'") + ErrBadCAATag = errors.New("caa tag should not empty") + ErrBadCAAValue = errors.New("caa value should not empty") + ErrInvalidType = errors.New("invalid type") +) + +type ARecord struct { + dns.ARecord +} + +func (r ARecord) Validate() error { + ok := regexp.MustCompile("^((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])[.]){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])$").MatchString(r.Ip.String()) + if !ok { + return ErrInvalidIPv4 + } + return nil +} + +type AAAARecord struct { + dns.AAAARecord +} + +func (r AAAARecord) Validate() error { + ok := regexp.MustCompile("^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])[.]){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])[.]){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$").MatchString(r.Ip.String()) + if !ok { + return ErrInvalidIPv6 + } + return nil +} + +type TXTRecord struct { + dns.TXTRecord +} + +func (r TXTRecord) Validate() error { + if r.Text == "" { + return ErrEmptyTXT + } + return nil +} + +type CNAMERecord struct { + dns.CNAMERecord +} + +func (r CNAMERecord) Validate() error { + if !strings.HasSuffix(r.Host, ".") { + return ErrNoDotSuffix + } + return nil +} + +type NSRecord struct { + dns.NSRecord +} + +func (r NSRecord) Validate() error { + if !strings.HasSuffix(r.Host, ".") { + return ErrNoDotSuffix + } + return nil +} + +type MXRecord struct { + dns.MXRecord +} + +func (r MXRecord) Validate() error { + if !strings.HasSuffix(r.Host, ".") { + return ErrNoDotSuffix + } + return nil +} + +type SRVRecord struct { + dns.SRVRecord +} + +func (r SRVRecord) Validate() error { + if !strings.HasPrefix(r.Target, ".") { + return ErrNoDotSuffix + } + + return nil +} + +type SOARecord struct { + dns.SOARecord +} + +func (r SOARecord) Validate() error { + if !strings.HasSuffix(r.Ns, ".") { + return ErrNoDotSuffix + } + + if strings.Contains(r.MBox, "@") { + return ErrBadEmailFormat + } + + return nil +} + +type CAARecord struct { + dns.CAARecord +} + +func (r CAARecord) Validate() error { + if r.Tag == "" { + return ErrBadCAATag + } + + if r.Value == "" { + return ErrBadCAAValue + } + + return nil +} + +type RecordContentDefault map[string]any + +func (r RecordContentDefault) Validate() error { + return ErrInvalidType +} + +type IRecordType interface { + Validate() error +} diff --git a/models/settings.go b/models/settings.go new file mode 100644 index 0000000..16f6e86 --- /dev/null +++ b/models/settings.go @@ -0,0 +1,31 @@ +package models + +import ( + "fmt" +) + +const ( + SettingsKeyAdminUsername = "admin.username" + SettingsKeyAdminPassword = "admin.password" + SettingsKeyDNSServer = "dns.servers" +) + +// Settings settings for this app +type Settings struct { + ID uint `gorm:"primaryKey"` + Key string `gorm:"unique;not null;size:255"` + Value string `gorm:"not null;size:255"` +} + +func (s *Settings) String() string { + return fmt.Sprintf("%s: %s", s.Key, s.Value) +} + +func (s *Settings) GetValue() Settings { + return *s +} + +type ISettings interface { + String() string + GetValue() Settings +} diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..5388e92 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,18 @@ +{ + "name": "recored-ui", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "devDependencies": { + "@vicons/fa": "^0.12.0" + } + }, + "node_modules/@vicons/fa": { + "version": "0.12.0", + "resolved": "https://registry.npmmirror.com/@vicons/fa/-/fa-0.12.0.tgz", + "integrity": "sha512-g2PIeJLsTHUjt6bK63LxqC0uYQB7iu+xViJOxvp1s8b9/akpXVPVWjDTTsP980/0KYyMMe4U7F/aUo7wY+MsXA==", + "dev": true + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..930591e --- /dev/null +++ b/package.json @@ -0,0 +1,5 @@ +{ + "devDependencies": { + "@vicons/fa": "^0.12.0" + } +} diff --git a/server/.gitignore b/server/.gitignore new file mode 100644 index 0000000..7773828 --- /dev/null +++ b/server/.gitignore @@ -0,0 +1 @@ +dist/ \ No newline at end of file diff --git a/server/handlers_domains.go b/server/handlers_domains.go new file mode 100644 index 0000000..fdbadd2 --- /dev/null +++ b/server/handlers_domains.go @@ -0,0 +1,129 @@ +package server + +import ( + "net/http" + "reCoreD-UI/controllers" + "reCoreD-UI/models" + + "github.com/gin-gonic/gin" + + _ "reCoreD-UI/docs" +) + +// GetDomains godoc +// +// @Router /domains/ [get] +// @Summary List all domains +// @Description List all domains +// @Tags domains +// @Accept json +// @Product json +// @Success 200 {object} Response{data=[]models.Domain} +// @Failure 401 {object} Response{data=nil} +// @Failure 500 {object} Response{data=nil} +func getDomains(c *gin.Context) { + domains, err := controllers.GetDomains("") + if err != nil { + errorHandler(c, err) + return + } + + c.JSON(http.StatusOK, Response{ + Succeed: true, + Data: domains, + }) +} + +// CreateDomain godoc +// +// @Router /domains/ [post] +// @Summary Create a domain +// @Description Create a domain +// @Tags domains +// @Product json +// @Param object body models.Domain true "content" +// @Success 201 {object} Response{data=models.Domain} +// @Failure 400 {object} Response{data=nil} +// @Failure 401 {object} Response{data=nil} +// @Failure 500 {object} Response{data=nil} +func createDomain(c *gin.Context) { + domain := &models.Domain{} + + if err := c.BindJSON(domain); err != nil { + c.JSON(http.StatusBadRequest, Response{ + Succeed: false, + Message: err.Error(), + }) + return + } + + domain, err := controllers.CreateDomain(domain) + if err != nil { + errorHandler(c, err) + return + } + + c.JSON(http.StatusCreated, Response{ + Succeed: true, + Data: domain, + }) +} + +// UpdateDomain godoc +// +// @Router /domains/ [put] +// @Summary Update a domain +// @Description Update a domain +// @Tags domains +// @Accept json +// @Product json +// @Param object body models.Domain true "content" +// @Success 200 {object} Response{data=models.Domain} +// @Failure 400 {object} Response{data=nil} +// @Failure 401 {object} Response{data=nil} +// @Failure 404 {object} Response{data=nil} +// @Failure 500 {object} Response{data=nil} +func updateDomain(c *gin.Context) { + domain := &models.Domain{} + + if err := c.BindJSON(domain); err != nil { + c.JSON(http.StatusBadRequest, Response{ + Succeed: false, + Message: err.Error(), + }) + return + } + + if err := controllers.UpdateDomain(domain); err != nil { + errorHandler(c, err) + return + } + + c.JSON(http.StatusOK, Response{ + Succeed: true, + }) +} + +// DeleteDomain godoc +// +// @Router /domains/{id} [delete] +// @Summary Delete a domain +// @Description Delete a domain +// @Tags domains +// @Product json +// @Param id path int true "Domain ID" +// @Success 204 {object} Response{data=nil} +// @Failure 401 {object} Response{data=nil} +// @Failure 404 {object} Response{data=nil} +// @Failure 500 {object} Response{data=nil} +func deleteDomain(c *gin.Context) { + id := c.Param("id") + if err := controllers.DeleteDomain(id); err != nil { + errorHandler(c, err) + return + } + + c.JSON(http.StatusNoContent, Response{ + Succeed: true, + }) +} diff --git a/server/handlers_records.go b/server/handlers_records.go new file mode 100644 index 0000000..b2f7948 --- /dev/null +++ b/server/handlers_records.go @@ -0,0 +1,281 @@ +package server + +import ( + "fmt" + "net/http" + "reCoreD-UI/controllers" + "reCoreD-UI/models" + + "github.com/gin-gonic/gin" +) + +func validateRecord(r models.IRecord) error { + switch r.GetType() { + case models.RecordTypeA: + record := &models.Record[models.ARecord]{} + if err := record.FromEntity(r); err != nil { + return err + } + return record.Content.Validate() + case models.RecordTypeAAAA: + record := &models.Record[models.AAAARecord]{} + if err := record.FromEntity(r); err != nil { + return err + } + return record.Content.Validate() + case models.RecordTypeCNAME: + record := &models.Record[models.CNAMERecord]{} + if err := record.FromEntity(r); err != nil { + return err + } + return record.Content.Validate() + case models.RecordTypeCAA: + record := &models.Record[models.CAARecord]{} + if err := record.FromEntity(r); err != nil { + return err + } + return record.Content.Validate() + case models.RecordTypeMX: + record := &models.Record[models.MXRecord]{} + if err := record.FromEntity(r); err != nil { + return err + } + return record.Content.Validate() + case models.RecordTypeNS: + record := &models.Record[models.NSRecord]{} + if err := record.FromEntity(r); err != nil { + return err + } + return record.Content.Validate() + case models.RecordTypeSOA: + record := &models.Record[models.SOARecord]{} + if err := record.FromEntity(r); err != nil { + return err + } + return record.Content.Validate() + case models.RecordTypeSRV: + record := &models.Record[models.SRVRecord]{} + if err := record.FromEntity(r); err != nil { + return err + } + return record.Content.Validate() + case models.RecordTypeTXT: + record := &models.Record[models.TXTRecord]{} + if err := record.FromEntity(r); err != nil { + return err + } + return record.Content.Validate() + default: + return models.ErrInvalidType + } +} + +// GetRecords godoc +// +// @Router /records/{domain} [get] +// @Summary List all records of a domain +// @Description List all records of a domain +// @Tags records +// @Product json +// @Param domain path string true "domain" +// @Success 200 {object} Response{data=[]models.Record[models.RecordContentDefault]} +// @Failure 401 {object} Response{data=nil} +// @Failure 404 {object} Response{data=nil} +// @Failure 500 {object} Response{data=nil} +func getRecords(c *gin.Context) { + query := &models.Record[models.RecordContentDefault]{Content: make(models.RecordContentDefault)} + if err := c.BindQuery(query); err != nil { + c.JSON(http.StatusBadRequest, Response{ + Succeed: false, + Message: err.Error(), + }) + return + } + domain := c.Param("domain") + query.Zone = fmt.Sprintf("%s.", domain) + + records, err := controllers.GetRecords(query) + if err != nil { + errorHandler(c, err) + return + } + + c.JSON(http.StatusOK, Response{ + Succeed: true, + Data: records, + }) +} + +// CreateRecord godoc +// +// @Router /records/{domain} [post] +// @Summary Create a record of a domain +// @Description Create a record of a domain +// @Tags records +// @Accept json +// @Product json +// @Param domain path string true "domain" +// @Param object body models.Record[models.RecordContentDefault] true "content" +// @Success 201 {object} Response{data=models.Record[models.RecordContentDefault]} +// @Failure 400 {object} Response{data=nil} +// @Failure 401 {object} Response{data=nil} +// @Failure 404 {object} Response{data=nil} +// @Failure 500 {object} Response{data=nil} +func createRecord(c *gin.Context) { + record := &models.Record[models.RecordContentDefault]{Content: make(models.RecordContentDefault)} + if err := c.BindJSON(record); err != nil { + c.JSON(http.StatusBadRequest, Response{ + Succeed: false, + Message: err.Error(), + }) + return + } + + domain := c.Param("domain") + if domain != record.WithOutDotTail() { + c.JSON(http.StatusBadRequest, Response{ + Succeed: false, + Message: "request body doesn't match URI", + }) + return + } + + if err := validateRecord(record); err != nil { + c.JSON(http.StatusBadRequest, Response{ + Succeed: false, + Message: err.Error(), + }) + return + } + + irecord, err := controllers.CreateRecord(record) + if err != nil { + errorHandler(c, err) + return + } + + c.JSON(http.StatusCreated, Response{ + Succeed: true, + Data: irecord, + }) +} + +// CreateRecords godoc +// +// @Router /records/{domain}/bulk [post] +// @Summary Create some records of a domain +// @Description Create some records of a domain +// @Tags records +// @Accept json +// @Product json +// @Param domain path string true "domain" +// @Param object body []models.Record[models.RecordContentDefault] true "content" +// @Success 201 {object} Response{data=models.Record[models.RecordContentDefault]} +// @Failure 400 {object} Response{data=nil} +// @Failure 401 {object} Response{data=nil} +// @Failure 404 {object} Response{data=nil} +// @Failure 500 {object} Response{data=nil} +func createRecords(c *gin.Context) { + var records []models.Record[models.RecordContentDefault] + if err := c.BindJSON(&records); err != nil { + c.JSON(http.StatusBadRequest, Response{ + Succeed: false, + Message: err.Error(), + }) + return + } + + var iRecords []models.IRecord + for _, v := range records { + iRecords = append(iRecords, &v) + } + + if err := controllers.CreateRecords(iRecords); err != nil { + errorHandler(c, err) + return + } + + c.JSON(http.StatusCreated, Response{ + Succeed: true, + }) +} + +// UpdateRecord godoc +// +// @Router /records/{domain} [put] +// @Summary Update a record of a domain +// @Description Update a record of a domain +// @Tags records +// @Accept json +// @Product json +// @Param domain path string true "domain" +// @Param object body models.Record[models.RecordContentDefault] true "content" +// @Success 200 {object} Response{data=models.Record[models.RecordContentDefault]} +// @Failure 400 {object} Response{data=nil} +// @Failure 401 {object} Response{data=nil} +// @Failure 404 {object} Response{data=nil} +// @Failure 500 {object} Response{data=nil} +func updateRecord(c *gin.Context) { + record := &models.Record[models.RecordContentDefault]{Content: make(models.RecordContentDefault)} + if err := c.BindJSON(record); err != nil { + c.JSON(http.StatusBadRequest, Response{ + Succeed: false, + Message: err.Error(), + }) + return + } + + if err := validateRecord(record); err != nil { + c.JSON(http.StatusBadRequest, Response{ + Succeed: false, + Message: err.Error(), + }) + return + } + + domain := c.Param("domain") + if domain != record.WithOutDotTail() { + c.JSON(http.StatusBadRequest, Response{ + Succeed: false, + Message: "request body doesn't match URI", + }) + return + } + + if err := controllers.UpdateRecord(record); err != nil { + errorHandler(c, err) + return + } + + c.JSON(http.StatusOK, Response{ + Succeed: true, + }) +} + +// DeleteRecord godoc +// +// @Router /records/{domain}/{id} [delete] +// @Summary Delete a record of a domain +// @Description Delete a record of a domain, except SOA record. +// @Tags records +// @Product json +// @Param domain path string true "domain" +// @Param id path int true "Record ID" +// @Success 204 {object} Response{data=nil} +// @Failure 400 {object} Response{data=nil} +// @Failure 401 {object} Response{data=nil} +// @Failure 404 {object} Response{data=nil} +// @Failure 500 {object} Response{data=nil} +func deleteRecord(c *gin.Context) { + domain := c.Param("domain") + id := c.Param("id") + + if err := controllers.DeleteRecord(domain, id); err != nil { + errorHandler(c, err) + return + } + + c.JSON(http.StatusNoContent, Response{ + Succeed: true, + }) +} diff --git a/server/response.go b/server/response.go new file mode 100644 index 0000000..9ccc18d --- /dev/null +++ b/server/response.go @@ -0,0 +1,44 @@ +package server + +import ( + "errors" + "net/http" + "reCoreD-UI/models" + + "github.com/gin-gonic/gin" + "github.com/sirupsen/logrus" + "gorm.io/gorm" +) + +// Response common http response +type Response struct { + // `true` for 2xx, else `false` + Succeed bool `json:"succeed"` + + // error message + Message string `json:"message"` + + // payload here + Data interface{} `json:"data"` +} + +func errorHandler(c *gin.Context, err error) { + logrus.Error(err) + switch { + case errors.Is(err, gorm.ErrRecordNotFound): + c.JSON(http.StatusNotFound, Response{ + Succeed: false, + Message: err.Error(), + }) + case errors.Is(err, models.ErrorZoneNotEndWithDot): + c.JSON(http.StatusBadRequest, Response{ + Succeed: false, + Message: err.Error(), + }) + default: + c.JSON(http.StatusInternalServerError, Response{ + Succeed: false, + Message: err.Error(), + }) + } +} diff --git a/server/route.go b/server/route.go new file mode 100644 index 0000000..b2d44bb --- /dev/null +++ b/server/route.go @@ -0,0 +1,99 @@ +package server + +import ( + "net/http" + "path" + "reCoreD-UI/controllers" + + "github.com/gin-gonic/gin" + "github.com/prometheus/client_golang/prometheus/promhttp" + "github.com/sirupsen/logrus" + swaggerfiles "github.com/swaggo/files" + ginSwagger "github.com/swaggo/gin-swagger" +) + +const ( + apiPrefix = "/api" + metricPrefix = "/metrics" + swaggerPrefix = "/swagger" +) + + +func (s *Server) setupRoute() { + username, password, err := controllers.GetAdmin() + if err != nil { + logrus.Fatal(err) + } + logrus.Debugf("got %s:%s", username, password) + + server := s.webServer.Group(s.prefix) + + swaggerHandler := server + if s.debug { + swaggerHandler.GET(path.Join(swaggerPrefix, "*any"), ginSwagger.WrapHandler(swaggerfiles.Handler)) + } else { + swaggerHandler.GET(path.Join(swaggerPrefix, "*any"), func(ctx *gin.Context) { + ctx.HTML(http.StatusNotFound, "", nil) + }) + } + + controllers.RegisterMetrics() + metricHandler := server + metricHandler.GET(metricPrefix, func(ctx *gin.Context) { + if err := controllers.RefreshMetrics(); err != nil { + logrus.Error(err) + } + promhttp.Handler().ServeHTTP(ctx.Writer, ctx.Request) + }) + + apiHandler := server + + groupV1 := apiHandler.Group(apiPrefix, gin.BasicAuth(gin.Accounts{ + username: password, + }), func(ctx *gin.Context) { + _, ok := ctx.Get(gin.AuthUserKey) + if !ok { + ctx.AbortWithStatusJSON(http.StatusUnauthorized, Response{ + Succeed: false, + }) + } + }).Group("/v1") + + domains := groupV1.Group("/domains") + domains. + GET("/", getDomains). + POST("/", createDomain). + PUT("/", updateDomain). + DELETE("/:id", deleteDomain) + + records := groupV1.Group("/records") + records. + GET("/:domain", getRecords). + POST("/:domain", createRecord). + POST("/:domain/bulk", createRecords). + PUT("/:domain", updateRecord). + DELETE("/:domain/:id", deleteRecord) + + /*server := s.webServer.Group(s.prefix) + server.Use(apiHandler.HandleContext, metricHandler.HandleContext, func(ctx *gin.Context) { + uri := ctx.Request.RequestURI + logrus.Debug(uri) + switch { + case strings.HasPrefix(uri, path.Join(s.prefix, apiPrefix)): + //apiHandler.HandleContext(ctx) + case strings.HasPrefix(uri, path.Join(s.prefix, metricPrefix)): + //metricHandler.HandleContext(ctx) + case strings.HasPrefix(uri, path.Join(s.prefix, swaggerPrefix)): + if s.debug { + swaggerHandler.HandleContext(ctx) + } else { + ctx.HTML(http.StatusNotFound, "", nil) + } + default: + staticFileHandler()(ctx) + } + })*/ + + server.GET("/", staticFileHandler()) + server.GET("/assets/*any", staticFileHandler()) +} diff --git a/server/server.go b/server/server.go new file mode 100644 index 0000000..5f9a6f5 --- /dev/null +++ b/server/server.go @@ -0,0 +1,48 @@ +package server + +import ( + "net" + "reCoreD-UI/database" + + "github.com/gin-gonic/gin" + "github.com/sirupsen/logrus" + "github.com/urfave/cli/v2" +) + +type Server struct { + webServer *gin.Engine + listen string + prefix string + debug bool +} + +func NewServer(c *cli.Context) (*Server, error) { + if err := database.Connect(c.String("mysql-dsn")); err != nil { + return nil, err + } + if c.Bool("debug") { + database.Client = database.Client.Debug() + gin.SetMode(gin.DebugMode) + } else { + gin.SetMode(gin.ReleaseMode) + } + + return &Server{ + webServer: gin.New(), + listen: net.JoinHostPort( + c.String("listen"), + c.String("port"), + ), + prefix: c.String("prefix"), + debug: c.Bool("debug"), + }, nil +} + +func (s *Server) Run() error { + logrus.Debug("server running") + defer logrus.Debug("server exit") + + s.setupRoute() + + return s.webServer.Run(s.listen) +} diff --git a/server/static.go b/server/static.go new file mode 100644 index 0000000..57fff39 --- /dev/null +++ b/server/static.go @@ -0,0 +1,35 @@ +package server + +import ( + "embed" + "io/fs" + "net/http" + "strings" + + "github.com/gin-gonic/gin" + "github.com/sirupsen/logrus" +) + +//go:generate cp -r ../web/dist ./ +//go:embed dist +var staticFiles embed.FS + +func staticFileHandler() gin.HandlerFunc { + sf, err := fs.Sub(staticFiles, "dist") + if err != nil { + logrus.Fatal("compile error: ", err) + } + + fs := http.FileServer(http.FS(sf)) + + return func(ctx *gin.Context) { + defer ctx.Abort() + filename := strings.TrimLeft(ctx.Request.RequestURI, "/") + + if filename == "" { + filename = "index.html" + } + + fs.ServeHTTP(ctx.Writer, ctx.Request) + } +} diff --git a/web/.eslintrc b/web/.eslintrc new file mode 100644 index 0000000..f15ad04 --- /dev/null +++ b/web/.eslintrc @@ -0,0 +1,12 @@ +{ + "root": true, + "parser": "@typescript-eslint/parser", + "plugins": [ + "@typescript-eslint" + ], + "extends": [ + "eslint:recommended", + "plugin:@typescript-eslint/eslint-recommended", + "plugin:@typescript-eslint/recommended" + ] +} \ No newline at end of file diff --git a/web/README.md b/web/README.md new file mode 100644 index 0000000..0d6babe --- /dev/null +++ b/web/README.md @@ -0,0 +1,30 @@ +# React + TypeScript + Vite + +This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules. + +Currently, two official plugins are available: + +- [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react/README.md) uses [Babel](https://babeljs.io/) for Fast Refresh +- [@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react-swc) uses [SWC](https://swc.rs/) for Fast Refresh + +## Expanding the ESLint configuration + +If you are developing a production application, we recommend updating the configuration to enable type aware lint rules: + +- Configure the top-level `parserOptions` property like this: + +```js +export default { + // other rules... + parserOptions: { + ecmaVersion: 'latest', + sourceType: 'module', + project: ['./tsconfig.json', './tsconfig.node.json'], + tsconfigRootDir: __dirname, + }, +} +``` + +- Replace `plugin:@typescript-eslint/recommended` to `plugin:@typescript-eslint/recommended-type-checked` or `plugin:@typescript-eslint/strict-type-checked` +- Optionally add `plugin:@typescript-eslint/stylistic-type-checked` +- Install [eslint-plugin-react](https://github.com/jsx-eslint/eslint-plugin-react) and add `plugin:react/recommended` & `plugin:react/jsx-runtime` to the `extends` list diff --git a/web/index.html b/web/index.html new file mode 100644 index 0000000..e4b78ea --- /dev/null +++ b/web/index.html @@ -0,0 +1,13 @@ + + + + + + + Vite + React + TS + + +

+ + + diff --git a/web/package-lock.json b/web/package-lock.json new file mode 100644 index 0000000..97b8836 --- /dev/null +++ b/web/package-lock.json @@ -0,0 +1,3750 @@ +{ + "name": "web", + "version": "0.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "web", + "version": "0.0.0", + "dependencies": { + "@ant-design/icons": "^5.3.6", + "antd": "^5.16.1", + "axios": "^1.6.8", + "i18next": "^23.11.1", + "i18next-browser-languagedetector": "^7.2.1", + "react": "^18.2.0", + "react-dom": "^18.2.0", + "react-i18next": "^14.1.0", + "react-redux": "^9.1.0", + "react-router-dom": "^6.22.3" + }, + "devDependencies": { + "@types/react": "^18.2.66", + "@types/react-dom": "^18.2.22", + "@typescript-eslint/eslint-plugin": "^7.6.0", + "@typescript-eslint/parser": "^7.6.0", + "@vitejs/plugin-react-swc": "^3.5.0", + "eslint": "^8.57.0", + "eslint-plugin-react-hooks": "^4.6.0", + "eslint-plugin-react-refresh": "^0.4.6", + "typescript": "^5.4.5", + "vite": "^5.2.0" + } + }, + "node_modules/@aashutoshrathi/word-wrap": { + "version": "1.2.6", + "resolved": "https://registry.npmmirror.com/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", + "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@ant-design/colors": { + "version": "7.0.2", + "resolved": "https://registry.npmmirror.com/@ant-design/colors/-/colors-7.0.2.tgz", + "integrity": "sha512-7KJkhTiPiLHSu+LmMJnehfJ6242OCxSlR3xHVBecYxnMW8MS/878NXct1GqYARyL59fyeFdKRxXTfvR9SnDgJg==", + "dependencies": { + "@ctrl/tinycolor": "^3.6.1" + } + }, + "node_modules/@ant-design/cssinjs": { + "version": "1.19.1", + "resolved": "https://registry.npmmirror.com/@ant-design/cssinjs/-/cssinjs-1.19.1.tgz", + "integrity": "sha512-hgQ3wiys3X0sqDKWkqCJ6EYdF79i9JCvtavmIGwuuPUKmoJXV8Ff0sY+yQQSxk2dRmMyam/bYKo/Bwor45hnZw==", + "dependencies": { + "@babel/runtime": "^7.11.1", + "@emotion/hash": "^0.8.0", + "@emotion/unitless": "^0.7.5", + "classnames": "^2.3.1", + "csstype": "^3.1.3", + "rc-util": "^5.35.0", + "stylis": "^4.0.13" + }, + "peerDependencies": { + "react": ">=16.0.0", + "react-dom": ">=16.0.0" + } + }, + "node_modules/@ant-design/cssinjs/node_modules/@emotion/hash": { + "version": "0.8.0", + "resolved": "https://registry.npmmirror.com/@emotion/hash/-/hash-0.8.0.tgz", + "integrity": "sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow==" + }, + "node_modules/@ant-design/cssinjs/node_modules/@emotion/unitless": { + "version": "0.7.5", + "resolved": "https://registry.npmmirror.com/@emotion/unitless/-/unitless-0.7.5.tgz", + "integrity": "sha512-OWORNpfjMsSSUBVrRBVGECkhWcULOAJz9ZW8uK9qgxD+87M7jHRcvh/A96XXNhXTLmKcoYSQtBEX7lHMO7YRwg==" + }, + "node_modules/@ant-design/icons": { + "version": "5.3.6", + "resolved": "https://registry.npmmirror.com/@ant-design/icons/-/icons-5.3.6.tgz", + "integrity": "sha512-JeWsgNjvkTTC73YDPgWOgdScRku/iHN9JU0qk39OSEmJSCiRghQMLlxGTCY5ovbRRoXjxHXnUKgQEgBDnQfKmA==", + "dependencies": { + "@ant-design/colors": "^7.0.0", + "@ant-design/icons-svg": "^4.4.0", + "@babel/runtime": "^7.11.2", + "classnames": "^2.2.6", + "rc-util": "^5.31.1" + }, + "engines": { + "node": ">=8" + }, + "peerDependencies": { + "react": ">=16.0.0", + "react-dom": ">=16.0.0" + } + }, + "node_modules/@ant-design/icons-svg": { + "version": "4.4.2", + "resolved": "https://registry.npmmirror.com/@ant-design/icons-svg/-/icons-svg-4.4.2.tgz", + "integrity": "sha512-vHbT+zJEVzllwP+CM+ul7reTEfBR0vgxFe7+lREAsAA7YGsYpboiq2sQNeQeRvh09GfQgs/GyFEvZpJ9cLXpXA==" + }, + "node_modules/@ant-design/react-slick": { + "version": "1.1.2", + "resolved": "https://registry.npmmirror.com/@ant-design/react-slick/-/react-slick-1.1.2.tgz", + "integrity": "sha512-EzlvzE6xQUBrZuuhSAFTdsr4P2bBBHGZwKFemEfq8gIGyIQCxalYfZW/T2ORbtQx5rU69o+WycP3exY/7T1hGA==", + "dependencies": { + "@babel/runtime": "^7.10.4", + "classnames": "^2.2.5", + "json2mq": "^0.2.0", + "resize-observer-polyfill": "^1.5.1", + "throttle-debounce": "^5.0.0" + }, + "peerDependencies": { + "react": ">=16.9.0" + } + }, + "node_modules/@babel/runtime": { + "version": "7.24.4", + "resolved": "https://registry.npmmirror.com/@babel/runtime/-/runtime-7.24.4.tgz", + "integrity": "sha512-dkxf7+hn8mFBwKjs9bvBlArzLVxVbS8usaPUDd5p2a9JCL9tB8OaOVN1isD4+Xyk4ns89/xeOmbQvgdK7IIVdA==", + "dependencies": { + "regenerator-runtime": "^0.14.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@ctrl/tinycolor": { + "version": "3.6.1", + "resolved": "https://registry.npmmirror.com/@ctrl/tinycolor/-/tinycolor-3.6.1.tgz", + "integrity": "sha512-SITSV6aIXsuVNV3f3O0f2n/cgyEDWoSqtZMYiAmcsYHydcKrOz3gUxB/iXd/Qf08+IZX4KpgNbvUdMBmWz+kcA==", + "engines": { + "node": ">=10" + } + }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.20.2", + "resolved": "https://registry.npmmirror.com/@esbuild/aix-ppc64/-/aix-ppc64-0.20.2.tgz", + "integrity": "sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.20.2", + "resolved": "https://registry.npmmirror.com/@esbuild/android-arm/-/android-arm-0.20.2.tgz", + "integrity": "sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.20.2", + "resolved": "https://registry.npmmirror.com/@esbuild/android-arm64/-/android-arm64-0.20.2.tgz", + "integrity": "sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.20.2", + "resolved": "https://registry.npmmirror.com/@esbuild/android-x64/-/android-x64-0.20.2.tgz", + "integrity": "sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.20.2", + "resolved": "https://registry.npmmirror.com/@esbuild/darwin-arm64/-/darwin-arm64-0.20.2.tgz", + "integrity": "sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.20.2", + "resolved": "https://registry.npmmirror.com/@esbuild/darwin-x64/-/darwin-x64-0.20.2.tgz", + "integrity": "sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.20.2", + "resolved": "https://registry.npmmirror.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.20.2.tgz", + "integrity": "sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.20.2", + "resolved": "https://registry.npmmirror.com/@esbuild/freebsd-x64/-/freebsd-x64-0.20.2.tgz", + "integrity": "sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.20.2", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-arm/-/linux-arm-0.20.2.tgz", + "integrity": "sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.20.2", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-arm64/-/linux-arm64-0.20.2.tgz", + "integrity": "sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.20.2", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-ia32/-/linux-ia32-0.20.2.tgz", + "integrity": "sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.20.2", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-loong64/-/linux-loong64-0.20.2.tgz", + "integrity": "sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==", + "cpu": [ + "loong64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.20.2", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-mips64el/-/linux-mips64el-0.20.2.tgz", + "integrity": "sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA==", + "cpu": [ + "mips64el" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.20.2", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-ppc64/-/linux-ppc64-0.20.2.tgz", + "integrity": "sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.20.2", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-riscv64/-/linux-riscv64-0.20.2.tgz", + "integrity": "sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.20.2", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-s390x/-/linux-s390x-0.20.2.tgz", + "integrity": "sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ==", + "cpu": [ + "s390x" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.20.2", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-x64/-/linux-x64-0.20.2.tgz", + "integrity": "sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.20.2", + "resolved": "https://registry.npmmirror.com/@esbuild/netbsd-x64/-/netbsd-x64-0.20.2.tgz", + "integrity": "sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.20.2", + "resolved": "https://registry.npmmirror.com/@esbuild/openbsd-x64/-/openbsd-x64-0.20.2.tgz", + "integrity": "sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.20.2", + "resolved": "https://registry.npmmirror.com/@esbuild/sunos-x64/-/sunos-x64-0.20.2.tgz", + "integrity": "sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.20.2", + "resolved": "https://registry.npmmirror.com/@esbuild/win32-arm64/-/win32-arm64-0.20.2.tgz", + "integrity": "sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.20.2", + "resolved": "https://registry.npmmirror.com/@esbuild/win32-ia32/-/win32-ia32-0.20.2.tgz", + "integrity": "sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.20.2", + "resolved": "https://registry.npmmirror.com/@esbuild/win32-x64/-/win32-x64-0.20.2.tgz", + "integrity": "sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.4.0", + "resolved": "https://registry.npmmirror.com/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", + "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", + "dev": true, + "dependencies": { + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "node_modules/@eslint-community/regexpp": { + "version": "4.10.0", + "resolved": "https://registry.npmmirror.com/@eslint-community/regexpp/-/regexpp-4.10.0.tgz", + "integrity": "sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==", + "dev": true, + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "2.1.4", + "resolved": "https://registry.npmmirror.com/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", + "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", + "dev": true, + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.6.0", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/@eslint/eslintrc/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmmirror.com/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/@eslint/eslintrc/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmmirror.com/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/@eslint/js": { + "version": "8.57.0", + "resolved": "https://registry.npmmirror.com/@eslint/js/-/js-8.57.0.tgz", + "integrity": "sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/@humanwhocodes/config-array": { + "version": "0.11.14", + "resolved": "https://registry.npmmirror.com/@humanwhocodes/config-array/-/config-array-0.11.14.tgz", + "integrity": "sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==", + "dev": true, + "dependencies": { + "@humanwhocodes/object-schema": "^2.0.2", + "debug": "^4.3.1", + "minimatch": "^3.0.5" + }, + "engines": { + "node": ">=10.10.0" + } + }, + "node_modules/@humanwhocodes/config-array/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmmirror.com/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/@humanwhocodes/config-array/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmmirror.com/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true, + "engines": { + "node": ">=12.22" + } + }, + "node_modules/@humanwhocodes/object-schema": { + "version": "2.0.3", + "resolved": "https://registry.npmmirror.com/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz", + "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==", + "dev": true + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmmirror.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmmirror.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmmirror.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@rc-component/color-picker": { + "version": "1.5.3", + "resolved": "https://registry.npmmirror.com/@rc-component/color-picker/-/color-picker-1.5.3.tgz", + "integrity": "sha512-+tGGH3nLmYXTalVe0L8hSZNs73VTP5ueSHwUlDC77KKRaN7G4DS4wcpG5DTDzdcV/Yas+rzA6UGgIyzd8fS4cw==", + "dependencies": { + "@babel/runtime": "^7.23.6", + "@ctrl/tinycolor": "^3.6.1", + "classnames": "^2.2.6", + "rc-util": "^5.38.1" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/@rc-component/context": { + "version": "1.4.0", + "resolved": "https://registry.npmmirror.com/@rc-component/context/-/context-1.4.0.tgz", + "integrity": "sha512-kFcNxg9oLRMoL3qki0OMxK+7g5mypjgaaJp/pkOis/6rVxma9nJBF/8kCIuTYHUQNr0ii7MxqE33wirPZLJQ2w==", + "dependencies": { + "@babel/runtime": "^7.10.1", + "rc-util": "^5.27.0" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/@rc-component/mini-decimal": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/@rc-component/mini-decimal/-/mini-decimal-1.1.0.tgz", + "integrity": "sha512-jS4E7T9Li2GuYwI6PyiVXmxTiM6b07rlD9Ge8uGZSCz3WlzcG5ZK7g5bbuKNeZ9pgUuPK/5guV781ujdVpm4HQ==", + "dependencies": { + "@babel/runtime": "^7.18.0" + }, + "engines": { + "node": ">=8.x" + } + }, + "node_modules/@rc-component/mutate-observer": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/@rc-component/mutate-observer/-/mutate-observer-1.1.0.tgz", + "integrity": "sha512-QjrOsDXQusNwGZPf4/qRQasg7UFEj06XiCJ8iuiq/Io7CrHrgVi6Uuetw60WAMG1799v+aM8kyc+1L/GBbHSlw==", + "dependencies": { + "@babel/runtime": "^7.18.0", + "classnames": "^2.3.2", + "rc-util": "^5.24.4" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/@rc-component/portal": { + "version": "1.1.2", + "resolved": "https://registry.npmmirror.com/@rc-component/portal/-/portal-1.1.2.tgz", + "integrity": "sha512-6f813C0IsasTZms08kfA8kPAGxbbkYToa8ALaiDIGGECU4i9hj8Plgbx0sNJDrey3EtHO30hmdaxtT0138xZcg==", + "dependencies": { + "@babel/runtime": "^7.18.0", + "classnames": "^2.3.2", + "rc-util": "^5.24.4" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/@rc-component/tour": { + "version": "1.14.2", + "resolved": "https://registry.npmmirror.com/@rc-component/tour/-/tour-1.14.2.tgz", + "integrity": "sha512-A75DZ8LVvahBIvxooj3Gvf2sxe+CGOkmzPNX7ek0i0AJHyKZ1HXe5ieIGo3m0FMdZfVOlbCJ952Duq8VKAHk6g==", + "dependencies": { + "@babel/runtime": "^7.18.0", + "@rc-component/portal": "^1.0.0-9", + "@rc-component/trigger": "^2.0.0", + "classnames": "^2.3.2", + "rc-util": "^5.24.4" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/@rc-component/trigger": { + "version": "2.1.1", + "resolved": "https://registry.npmmirror.com/@rc-component/trigger/-/trigger-2.1.1.tgz", + "integrity": "sha512-UjHkedkgtEcgQu87w1VuWug1idoDJV7VUt0swxHXRcmei2uu1AuUzGBPEUlmOmXGJ+YtTgZfVLi7kuAUKoZTMA==", + "dependencies": { + "@babel/runtime": "^7.23.2", + "@rc-component/portal": "^1.1.0", + "classnames": "^2.3.2", + "rc-motion": "^2.0.0", + "rc-resize-observer": "^1.3.1", + "rc-util": "^5.38.0" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/@remix-run/router": { + "version": "1.15.3", + "resolved": "https://registry.npmmirror.com/@remix-run/router/-/router-1.15.3.tgz", + "integrity": "sha512-Oy8rmScVrVxWZVOpEF57ovlnhpZ8CCPlnIIumVcV9nFdiSIrus99+Lw78ekXyGvVDlIsFJbSfmSovJUhCWYV3w==", + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.14.2", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.14.2.tgz", + "integrity": "sha512-ahxSgCkAEk+P/AVO0vYr7DxOD3CwAQrT0Go9BJyGQ9Ef0QxVOfjDZMiF4Y2s3mLyPrjonchIMH/tbWHucJMykQ==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.14.2", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.14.2.tgz", + "integrity": "sha512-lAarIdxZWbFSHFSDao9+I/F5jDaKyCqAPMq5HqnfpBw8dKDiCaaqM0lq5h1pQTLeIqueeay4PieGR5jGZMWprw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.14.2", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.14.2.tgz", + "integrity": "sha512-SWsr8zEUk82KSqquIMgZEg2GE5mCSfr9sE/thDROkX6pb3QQWPp8Vw8zOq2GyxZ2t0XoSIUlvHDkrf5Gmf7x3Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.14.2", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.14.2.tgz", + "integrity": "sha512-o/HAIrQq0jIxJAhgtIvV5FWviYK4WB0WwV91SLUnsliw1lSAoLsmgEEgRWzDguAFeUEUUoIWXiJrPqU7vGiVkA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.14.2", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.14.2.tgz", + "integrity": "sha512-nwlJ65UY9eGq91cBi6VyDfArUJSKOYt5dJQBq8xyLhvS23qO+4Nr/RreibFHjP6t+5ap2ohZrUJcHv5zk5ju/g==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.14.2", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.14.2.tgz", + "integrity": "sha512-Pg5TxxO2IVlMj79+c/9G0LREC9SY3HM+pfAwX7zj5/cAuwrbfj2Wv9JbMHIdPCfQpYsI4g9mE+2Bw/3aeSs2rQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.14.2", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.14.2.tgz", + "integrity": "sha512-cAOTjGNm84gc6tS02D1EXtG7tDRsVSDTBVXOLbj31DkwfZwgTPYZ6aafSU7rD/4R2a34JOwlF9fQayuTSkoclA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { + "version": "4.14.2", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.14.2.tgz", + "integrity": "sha512-4RyT6v1kXb7C0fn6zV33rvaX05P0zHoNzaXI/5oFHklfKm602j+N4mn2YvoezQViRLPnxP8M1NaY4s/5kXO5cw==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.14.2", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.14.2.tgz", + "integrity": "sha512-KNUH6jC/vRGAKSorySTyc/yRYlCwN/5pnMjXylfBniwtJx5O7X17KG/0efj8XM3TZU7raYRXJFFReOzNmL1n1w==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.14.2", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.14.2.tgz", + "integrity": "sha512-xPV4y73IBEXToNPa3h5lbgXOi/v0NcvKxU0xejiFw6DtIYQqOTMhZ2DN18/HrrP0PmiL3rGtRG9gz1QE8vFKXQ==", + "cpu": [ + "s390x" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.14.2", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.14.2.tgz", + "integrity": "sha512-QBhtr07iFGmF9egrPOWyO5wciwgtzKkYPNLVCFZTmr4TWmY0oY2Dm/bmhHjKRwZoGiaKdNcKhFtUMBKvlchH+Q==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.14.2", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.14.2.tgz", + "integrity": "sha512-8zfsQRQGH23O6qazZSFY5jP5gt4cFvRuKTpuBsC1ZnSWxV8ZKQpPqOZIUtdfMOugCcBvFGRa1pDC/tkf19EgBw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.14.2", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.14.2.tgz", + "integrity": "sha512-H4s8UjgkPnlChl6JF5empNvFHp77Jx+Wfy2EtmYPe9G22XV+PMuCinZVHurNe8ggtwoaohxARJZbaH/3xjB/FA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.14.2", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.14.2.tgz", + "integrity": "sha512-djqpAjm/i8erWYF0K6UY4kRO3X5+T4TypIqw60Q8MTqSBaQNpNXDhxdjpZ3ikgb+wn99svA7jxcXpiyg9MUsdw==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.14.2", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.14.2.tgz", + "integrity": "sha512-teAqzLT0yTYZa8ZP7zhFKEx4cotS8Tkk5XiqNMJhD4CpaWB1BHARE4Qy+RzwnXvSAYv+Q3jAqCVBS+PS+Yee8Q==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@swc/core": { + "version": "1.4.13", + "resolved": "https://registry.npmmirror.com/@swc/core/-/core-1.4.13.tgz", + "integrity": "sha512-rOtusBE+2gaeRkAJn5E4zp5yzZekZOypzSOz5ZG6P1hFbd+Cc26fWEdK6sUSnrkkvTd0Oj33KXLB/4UkbK/UHA==", + "dev": true, + "hasInstallScript": true, + "dependencies": { + "@swc/counter": "^0.1.2", + "@swc/types": "^0.1.5" + }, + "engines": { + "node": ">=10" + }, + "optionalDependencies": { + "@swc/core-darwin-arm64": "1.4.13", + "@swc/core-darwin-x64": "1.4.13", + "@swc/core-linux-arm-gnueabihf": "1.4.13", + "@swc/core-linux-arm64-gnu": "1.4.13", + "@swc/core-linux-arm64-musl": "1.4.13", + "@swc/core-linux-x64-gnu": "1.4.13", + "@swc/core-linux-x64-musl": "1.4.13", + "@swc/core-win32-arm64-msvc": "1.4.13", + "@swc/core-win32-ia32-msvc": "1.4.13", + "@swc/core-win32-x64-msvc": "1.4.13" + }, + "peerDependencies": { + "@swc/helpers": "^0.5.0" + }, + "peerDependenciesMeta": { + "@swc/helpers": { + "optional": true + } + } + }, + "node_modules/@swc/core-darwin-arm64": { + "version": "1.4.13", + "resolved": "https://registry.npmmirror.com/@swc/core-darwin-arm64/-/core-darwin-arm64-1.4.13.tgz", + "integrity": "sha512-36P72FLpm5iq85IvoEjBvi22DiqkkEIanJ1M0E8bkxcFHUbjBrYfPY9T6cpPyK5oQqkaTBvNAc3j1BlVD6IH6w==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-darwin-x64": { + "version": "1.4.13", + "resolved": "https://registry.npmmirror.com/@swc/core-darwin-x64/-/core-darwin-x64-1.4.13.tgz", + "integrity": "sha512-ye7OgKpDdyA8AMIVVdmD1ICDaFXgoEXORnVO8bBHyul0WN71yUBZMX+YxEx2lpWtiftA2vY/1MAuOR80vHkBCw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-linux-arm-gnueabihf": { + "version": "1.4.13", + "resolved": "https://registry.npmmirror.com/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.4.13.tgz", + "integrity": "sha512-+x593Jlmu4c3lJtZUKRejWpV2MAij1Js5nmQLLdjo6ChR2D4B2rzj3iMiKn5gITew7fraF9t3fvXALdWh7HmUg==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-linux-arm64-gnu": { + "version": "1.4.13", + "resolved": "https://registry.npmmirror.com/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.4.13.tgz", + "integrity": "sha512-0x8OVw4dfyNerrs/9eZX9wNnmvwbwXSMCi+LbE6Xt1pXOIwvoLtFIXcV3NsrlkFboO3sr5UAQIwDxKqbIZA9pQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-linux-arm64-musl": { + "version": "1.4.13", + "resolved": "https://registry.npmmirror.com/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.4.13.tgz", + "integrity": "sha512-Z9c4JiequtZvngPcxbCuAOkmWBxi2vInZbjjhD5I+Q9oiJdXUz1t2USGwsGPS41Xvk1BOA3ecK2Sn1ilY3titg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-linux-x64-gnu": { + "version": "1.4.13", + "resolved": "https://registry.npmmirror.com/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.4.13.tgz", + "integrity": "sha512-ChatHtk+vX0Ke5QG+jO+rIapw/KwZsi9MedCBHFXHH6iWF4z8d51cJeN68ykcn+vAXzjNeFNdlNy5Vbkd1zAqg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-linux-x64-musl": { + "version": "1.4.13", + "resolved": "https://registry.npmmirror.com/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.4.13.tgz", + "integrity": "sha512-0Pz39YR530mXpsztwQkmEKdkkZy4fY4Smdh4pkm6Ly8Nndyo0te/l4bcAGqN24Jp7aVwF/QSy14SAtw4HRjU9g==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-win32-arm64-msvc": { + "version": "1.4.13", + "resolved": "https://registry.npmmirror.com/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.4.13.tgz", + "integrity": "sha512-LVZfhlD+jHcAbz5NN+gAJ1BEasB0WpcvUzcsJt0nQSRsojgzPzFjJ+fzEBnvT7SMtqKkrnVJ0OmDYeh88bDRpw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-win32-ia32-msvc": { + "version": "1.4.13", + "resolved": "https://registry.npmmirror.com/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.4.13.tgz", + "integrity": "sha512-78hxHWUvUZtWsnhcf8DKwhBcNFJw+j4y4fN2B9ioXmBWX2tIyw+BqUHOrismOtjPihaZmwe/Ok2e4qmkawE2fw==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-win32-x64-msvc": { + "version": "1.4.13", + "resolved": "https://registry.npmmirror.com/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.4.13.tgz", + "integrity": "sha512-WSfy1u2Xde6jU7UpHIInCUMW98Zw9iZglddKUAvmr1obkZji5U6EX0Oca3asEJdZPFb+2lMLjt0Mh5a1YisROg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/counter": { + "version": "0.1.3", + "resolved": "https://registry.npmmirror.com/@swc/counter/-/counter-0.1.3.tgz", + "integrity": "sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==", + "dev": true + }, + "node_modules/@swc/types": { + "version": "0.1.6", + "resolved": "https://registry.npmmirror.com/@swc/types/-/types-0.1.6.tgz", + "integrity": "sha512-/JLo/l2JsT/LRd80C3HfbmVpxOAJ11FO2RCEslFrgzLltoP9j8XIbsyDcfCt2WWyX+CM96rBoNM+IToAkFOugg==", + "dev": true, + "dependencies": { + "@swc/counter": "^0.1.3" + } + }, + "node_modules/@types/estree": { + "version": "1.0.5", + "resolved": "https://registry.npmmirror.com/@types/estree/-/estree-1.0.5.tgz", + "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", + "dev": true + }, + "node_modules/@types/json-schema": { + "version": "7.0.15", + "resolved": "https://registry.npmmirror.com/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", + "dev": true + }, + "node_modules/@types/prop-types": { + "version": "15.7.12", + "resolved": "https://registry.npmmirror.com/@types/prop-types/-/prop-types-15.7.12.tgz", + "integrity": "sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q==", + "devOptional": true + }, + "node_modules/@types/react": { + "version": "18.2.77", + "resolved": "https://registry.npmmirror.com/@types/react/-/react-18.2.77.tgz", + "integrity": "sha512-CUT9KUUF+HytDM7WiXKLF9qUSg4tGImwy4FXTlfEDPEkkNUzJ7rVFolYweJ9fS1ljoIaP7M7Rdjc5eUm/Yu5AA==", + "devOptional": true, + "dependencies": { + "@types/prop-types": "*", + "csstype": "^3.0.2" + } + }, + "node_modules/@types/react-dom": { + "version": "18.2.25", + "resolved": "https://registry.npmmirror.com/@types/react-dom/-/react-dom-18.2.25.tgz", + "integrity": "sha512-o/V48vf4MQh7juIKZU2QGDfli6p1+OOi5oXx36Hffpc9adsHeXjVp8rHuPkjd8VT8sOJ2Zp05HR7CdpGTIUFUA==", + "dev": true, + "dependencies": { + "@types/react": "*" + } + }, + "node_modules/@types/semver": { + "version": "7.5.8", + "resolved": "https://registry.npmmirror.com/@types/semver/-/semver-7.5.8.tgz", + "integrity": "sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==", + "dev": true + }, + "node_modules/@types/use-sync-external-store": { + "version": "0.0.3", + "resolved": "https://registry.npmmirror.com/@types/use-sync-external-store/-/use-sync-external-store-0.0.3.tgz", + "integrity": "sha512-EwmlvuaxPNej9+T4v5AuBPJa2x2UOJVdjCtDHgcDqitUeOtjnJKJ+apYjVcAoBEMjKW1VVFGZLUb5+qqa09XFA==" + }, + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "7.6.0", + "resolved": "https://registry.npmmirror.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.6.0.tgz", + "integrity": "sha512-gKmTNwZnblUdnTIJu3e9kmeRRzV2j1a/LUO27KNNAnIC5zjy1aSvXSRp4rVNlmAoHlQ7HzX42NbKpcSr4jF80A==", + "dev": true, + "dependencies": { + "@eslint-community/regexpp": "^4.10.0", + "@typescript-eslint/scope-manager": "7.6.0", + "@typescript-eslint/type-utils": "7.6.0", + "@typescript-eslint/utils": "7.6.0", + "@typescript-eslint/visitor-keys": "7.6.0", + "debug": "^4.3.4", + "graphemer": "^1.4.0", + "ignore": "^5.3.1", + "natural-compare": "^1.4.0", + "semver": "^7.6.0", + "ts-api-utils": "^1.3.0" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^7.0.0", + "eslint": "^8.56.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/parser": { + "version": "7.6.0", + "resolved": "https://registry.npmmirror.com/@typescript-eslint/parser/-/parser-7.6.0.tgz", + "integrity": "sha512-usPMPHcwX3ZoPWnBnhhorc14NJw9J4HpSXQX4urF2TPKG0au0XhJoZyX62fmvdHONUkmyUe74Hzm1//XA+BoYg==", + "dev": true, + "dependencies": { + "@typescript-eslint/scope-manager": "7.6.0", + "@typescript-eslint/types": "7.6.0", + "@typescript-eslint/typescript-estree": "7.6.0", + "@typescript-eslint/visitor-keys": "7.6.0", + "debug": "^4.3.4" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "peerDependencies": { + "eslint": "^8.56.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/scope-manager": { + "version": "7.6.0", + "resolved": "https://registry.npmmirror.com/@typescript-eslint/scope-manager/-/scope-manager-7.6.0.tgz", + "integrity": "sha512-ngttyfExA5PsHSx0rdFgnADMYQi+Zkeiv4/ZxGYUWd0nLs63Ha0ksmp8VMxAIC0wtCFxMos7Lt3PszJssG/E6w==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "7.6.0", + "@typescript-eslint/visitor-keys": "7.6.0" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + } + }, + "node_modules/@typescript-eslint/type-utils": { + "version": "7.6.0", + "resolved": "https://registry.npmmirror.com/@typescript-eslint/type-utils/-/type-utils-7.6.0.tgz", + "integrity": "sha512-NxAfqAPNLG6LTmy7uZgpK8KcuiS2NZD/HlThPXQRGwz6u7MDBWRVliEEl1Gj6U7++kVJTpehkhZzCJLMK66Scw==", + "dev": true, + "dependencies": { + "@typescript-eslint/typescript-estree": "7.6.0", + "@typescript-eslint/utils": "7.6.0", + "debug": "^4.3.4", + "ts-api-utils": "^1.3.0" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "peerDependencies": { + "eslint": "^8.56.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/types": { + "version": "7.6.0", + "resolved": "https://registry.npmmirror.com/@typescript-eslint/types/-/types-7.6.0.tgz", + "integrity": "sha512-h02rYQn8J+MureCvHVVzhl69/GAfQGPQZmOMjG1KfCl7o3HtMSlPaPUAPu6lLctXI5ySRGIYk94clD/AUMCUgQ==", + "dev": true, + "engines": { + "node": "^18.18.0 || >=20.0.0" + } + }, + "node_modules/@typescript-eslint/typescript-estree": { + "version": "7.6.0", + "resolved": "https://registry.npmmirror.com/@typescript-eslint/typescript-estree/-/typescript-estree-7.6.0.tgz", + "integrity": "sha512-+7Y/GP9VuYibecrCQWSKgl3GvUM5cILRttpWtnAu8GNL9j11e4tbuGZmZjJ8ejnKYyBRb2ddGQ3rEFCq3QjMJw==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "7.6.0", + "@typescript-eslint/visitor-keys": "7.6.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "minimatch": "^9.0.4", + "semver": "^7.6.0", + "ts-api-utils": "^1.3.0" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/utils": { + "version": "7.6.0", + "resolved": "https://registry.npmmirror.com/@typescript-eslint/utils/-/utils-7.6.0.tgz", + "integrity": "sha512-x54gaSsRRI+Nwz59TXpCsr6harB98qjXYzsRxGqvA5Ue3kQH+FxS7FYU81g/omn22ML2pZJkisy6Q+ElK8pBCA==", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.4.0", + "@types/json-schema": "^7.0.15", + "@types/semver": "^7.5.8", + "@typescript-eslint/scope-manager": "7.6.0", + "@typescript-eslint/types": "7.6.0", + "@typescript-eslint/typescript-estree": "7.6.0", + "semver": "^7.6.0" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "peerDependencies": { + "eslint": "^8.56.0" + } + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "7.6.0", + "resolved": "https://registry.npmmirror.com/@typescript-eslint/visitor-keys/-/visitor-keys-7.6.0.tgz", + "integrity": "sha512-4eLB7t+LlNUmXzfOu1VAIAdkjbu5xNSerURS9X/S5TUKWFRpXRQZbmtPqgKmYx8bj3J0irtQXSiWAOY82v+cgw==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "7.6.0", + "eslint-visitor-keys": "^3.4.3" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + } + }, + "node_modules/@ungap/structured-clone": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", + "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==", + "dev": true + }, + "node_modules/@vitejs/plugin-react-swc": { + "version": "3.6.0", + "resolved": "https://registry.npmmirror.com/@vitejs/plugin-react-swc/-/plugin-react-swc-3.6.0.tgz", + "integrity": "sha512-XFRbsGgpGxGzEV5i5+vRiro1bwcIaZDIdBRP16qwm+jP68ue/S8FJTBEgOeojtVDYrbSua3XFp71kC8VJE6v+g==", + "dev": true, + "dependencies": { + "@swc/core": "^1.3.107" + }, + "peerDependencies": { + "vite": "^4 || ^5" + } + }, + "node_modules/acorn": { + "version": "8.11.3", + "resolved": "https://registry.npmmirror.com/acorn/-/acorn-8.11.3.tgz", + "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmmirror.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmmirror.com/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/antd": { + "version": "5.16.1", + "resolved": "https://registry.npmmirror.com/antd/-/antd-5.16.1.tgz", + "integrity": "sha512-XAlLRrgYV+nj9FHnkXEPS6HNcKcluEa8v44e7Cixjlp8aOXRhUI6IfZaKpc2MPGjQ+06rp62/dsxOUNJW9kfLA==", + "dependencies": { + "@ant-design/colors": "^7.0.2", + "@ant-design/cssinjs": "^1.18.5", + "@ant-design/icons": "^5.3.6", + "@ant-design/react-slick": "~1.1.2", + "@babel/runtime": "^7.24.4", + "@ctrl/tinycolor": "^3.6.1", + "@rc-component/color-picker": "~1.5.3", + "@rc-component/mutate-observer": "^1.1.0", + "@rc-component/tour": "~1.14.2", + "@rc-component/trigger": "^2.0.0", + "classnames": "^2.5.1", + "copy-to-clipboard": "^3.3.3", + "dayjs": "^1.11.10", + "qrcode.react": "^3.1.0", + "rc-cascader": "~3.24.0", + "rc-checkbox": "~3.2.0", + "rc-collapse": "~3.7.3", + "rc-dialog": "~9.4.0", + "rc-drawer": "~7.1.0", + "rc-dropdown": "~4.2.0", + "rc-field-form": "~1.44.0", + "rc-image": "~7.6.0", + "rc-input": "~1.4.5", + "rc-input-number": "~9.0.0", + "rc-mentions": "~2.11.1", + "rc-menu": "~9.13.0", + "rc-motion": "^2.9.0", + "rc-notification": "~5.4.0", + "rc-pagination": "~4.0.4", + "rc-picker": "~4.3.0", + "rc-progress": "~4.0.0", + "rc-rate": "~2.12.0", + "rc-resize-observer": "^1.4.0", + "rc-segmented": "~2.3.0", + "rc-select": "~14.13.0", + "rc-slider": "~10.5.0", + "rc-steps": "~6.0.1", + "rc-switch": "~4.1.0", + "rc-table": "~7.45.4", + "rc-tabs": "~14.1.1", + "rc-textarea": "~1.6.3", + "rc-tooltip": "~6.2.0", + "rc-tree": "~5.8.5", + "rc-tree-select": "~5.19.0", + "rc-upload": "~4.5.2", + "rc-util": "^5.39.1", + "scroll-into-view-if-needed": "^3.1.0", + "throttle-debounce": "^5.0.0" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "node_modules/array-tree-filter": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/array-tree-filter/-/array-tree-filter-2.1.0.tgz", + "integrity": "sha512-4ROwICNlNw/Hqa9v+rk5h22KjmzB1JGTMVKP2AKJBOCgb0yL0ASf0+YvCcLNNwquOHNX48jkeZIJ3a+oOQqKcw==" + }, + "node_modules/array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/async-validator": { + "version": "4.2.5", + "resolved": "https://registry.npmmirror.com/async-validator/-/async-validator-4.2.5.tgz", + "integrity": "sha512-7HhHjtERjqlNbZtqNqy2rckN/SpOOlmDliet+lP7k+eKZEjPk3DgyeU9lIXLdeLz0uBbbVp+9Qdow9wJWgwwfg==" + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmmirror.com/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + }, + "node_modules/axios": { + "version": "1.6.8", + "resolved": "https://registry.npmmirror.com/axios/-/axios-1.6.8.tgz", + "integrity": "sha512-v/ZHtJDU39mDpyBoFVkETcd/uNdxrWRrg3bKpOKzXFA6Bvqopts6ALSMU3y6ijYxbw2B+wPrIv46egTzJXCLGQ==", + "dependencies": { + "follow-redirects": "^1.15.6", + "form-data": "^4.0.0", + "proxy-from-env": "^1.1.0" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmmirror.com/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/classnames": { + "version": "2.5.1", + "resolved": "https://registry.npmmirror.com/classnames/-/classnames-2.5.1.tgz", + "integrity": "sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow==" + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmmirror.com/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/compute-scroll-into-view": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/compute-scroll-into-view/-/compute-scroll-into-view-3.1.0.tgz", + "integrity": "sha512-rj8l8pD4bJ1nx+dAkMhV1xB5RuZEyVysfxJqB1pRchh1KVvwOv9b7CGB8ZfjTImVv2oF+sYMUkMZq6Na5Ftmbg==" + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmmirror.com/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "node_modules/copy-to-clipboard": { + "version": "3.3.3", + "resolved": "https://registry.npmmirror.com/copy-to-clipboard/-/copy-to-clipboard-3.3.3.tgz", + "integrity": "sha512-2KV8NhB5JqC3ky0r9PMCAZKbUHSwtEo4CwCs0KXgruG43gX5PMqDEBbVU4OUzw2MuAWUfsuFmWvEKG5QRfSnJA==", + "dependencies": { + "toggle-selection": "^1.0.6" + } + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmmirror.com/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/csstype": { + "version": "3.1.3", + "resolved": "https://registry.npmmirror.com/csstype/-/csstype-3.1.3.tgz", + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==" + }, + "node_modules/dayjs": { + "version": "1.11.10", + "resolved": "https://registry.npmmirror.com/dayjs/-/dayjs-1.11.10.tgz", + "integrity": "sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ==" + }, + "node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmmirror.com/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmmirror.com/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/esbuild": { + "version": "0.20.2", + "resolved": "https://registry.npmmirror.com/esbuild/-/esbuild-0.20.2.tgz", + "integrity": "sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==", + "dev": true, + "hasInstallScript": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.20.2", + "@esbuild/android-arm": "0.20.2", + "@esbuild/android-arm64": "0.20.2", + "@esbuild/android-x64": "0.20.2", + "@esbuild/darwin-arm64": "0.20.2", + "@esbuild/darwin-x64": "0.20.2", + "@esbuild/freebsd-arm64": "0.20.2", + "@esbuild/freebsd-x64": "0.20.2", + "@esbuild/linux-arm": "0.20.2", + "@esbuild/linux-arm64": "0.20.2", + "@esbuild/linux-ia32": "0.20.2", + "@esbuild/linux-loong64": "0.20.2", + "@esbuild/linux-mips64el": "0.20.2", + "@esbuild/linux-ppc64": "0.20.2", + "@esbuild/linux-riscv64": "0.20.2", + "@esbuild/linux-s390x": "0.20.2", + "@esbuild/linux-x64": "0.20.2", + "@esbuild/netbsd-x64": "0.20.2", + "@esbuild/openbsd-x64": "0.20.2", + "@esbuild/sunos-x64": "0.20.2", + "@esbuild/win32-arm64": "0.20.2", + "@esbuild/win32-ia32": "0.20.2", + "@esbuild/win32-x64": "0.20.2" + } + }, + "node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/eslint": { + "version": "8.57.0", + "resolved": "https://registry.npmmirror.com/eslint/-/eslint-8.57.0.tgz", + "integrity": "sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.4", + "@eslint/js": "8.57.0", + "@humanwhocodes/config-array": "^0.11.14", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "@ungap/structured-clone": "^1.2.0", + "ajv": "^6.12.4", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.2.2", + "eslint-visitor-keys": "^3.4.3", + "espree": "^9.6.1", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/eslint-plugin-react-hooks": { + "version": "4.6.0", + "resolved": "https://registry.npmmirror.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz", + "integrity": "sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==", + "dev": true, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0" + } + }, + "node_modules/eslint-plugin-react-refresh": { + "version": "0.4.6", + "resolved": "https://registry.npmmirror.com/eslint-plugin-react-refresh/-/eslint-plugin-react-refresh-0.4.6.tgz", + "integrity": "sha512-NjGXdm7zgcKRkKMua34qVO9doI7VOxZ6ancSvBELJSSoX97jyndXcSoa8XBh69JoB31dNz3EEzlMcizZl7LaMA==", + "dev": true, + "peerDependencies": { + "eslint": ">=7" + } + }, + "node_modules/eslint-scope": { + "version": "7.2.2", + "resolved": "https://registry.npmmirror.com/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmmirror.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/eslint/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmmirror.com/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/eslint/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmmirror.com/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/espree": { + "version": "9.6.1", + "resolved": "https://registry.npmmirror.com/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "dev": true, + "dependencies": { + "acorn": "^8.9.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/esquery": { + "version": "1.5.0", + "resolved": "https://registry.npmmirror.com/esquery/-/esquery-1.5.0.tgz", + "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", + "dev": true, + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmmirror.com/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmmirror.com/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmmirror.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "node_modules/fast-glob": { + "version": "3.3.2", + "resolved": "https://registry.npmmirror.com/fast-glob/-/fast-glob-3.3.2.tgz", + "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-glob/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmmirror.com/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmmirror.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true + }, + "node_modules/fastq": { + "version": "1.17.1", + "resolved": "https://registry.npmmirror.com/fastq/-/fastq-1.17.1.tgz", + "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", + "dev": true, + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmmirror.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "dev": true, + "dependencies": { + "flat-cache": "^3.0.4" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmmirror.com/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/flat-cache": { + "version": "3.2.0", + "resolved": "https://registry.npmmirror.com/flat-cache/-/flat-cache-3.2.0.tgz", + "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", + "dev": true, + "dependencies": { + "flatted": "^3.2.9", + "keyv": "^4.5.3", + "rimraf": "^3.0.2" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/flatted": { + "version": "3.3.1", + "resolved": "https://registry.npmmirror.com/flatted/-/flatted-3.3.1.tgz", + "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==", + "dev": true + }, + "node_modules/follow-redirects": { + "version": "1.15.6", + "resolved": "https://registry.npmmirror.com/follow-redirects/-/follow-redirects-1.15.6.tgz", + "integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==", + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmmirror.com/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmmirror.com/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + } + }, + "node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmmirror.com/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/glob/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmmirror.com/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/glob/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmmirror.com/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/globals": { + "version": "13.24.0", + "resolved": "https://registry.npmmirror.com/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", + "dev": true, + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/globby": { + "version": "11.1.0", + "resolved": "https://registry.npmmirror.com/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "dev": true, + "dependencies": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmmirror.com/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", + "dev": true + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/html-parse-stringify": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/html-parse-stringify/-/html-parse-stringify-3.0.1.tgz", + "integrity": "sha512-KknJ50kTInJ7qIScF3jeaFRpMpE8/lfiTdzf/twXyPBLAGrLRTmkz3AdTnKeh40X8k9L2fdYwEp/42WGXIRGcg==", + "dependencies": { + "void-elements": "3.1.0" + } + }, + "node_modules/i18next": { + "version": "23.11.1", + "resolved": "https://registry.npmmirror.com/i18next/-/i18next-23.11.1.tgz", + "integrity": "sha512-mXw4A24BiPZKRsbb9ewgSvjYd6fxFCNwJyfK6nYfSTIAX2GkCWcb598m3DFkDZmqADatvuASrKo6qwORz3VwTQ==", + "dependencies": { + "@babel/runtime": "^7.23.2" + } + }, + "node_modules/i18next-browser-languagedetector": { + "version": "7.2.1", + "resolved": "https://registry.npmmirror.com/i18next-browser-languagedetector/-/i18next-browser-languagedetector-7.2.1.tgz", + "integrity": "sha512-h/pM34bcH6tbz8WgGXcmWauNpQupCGr25XPp9cZwZInR9XHSjIFDYp1SIok7zSPsTOMxdvuLyu86V+g2Kycnfw==", + "dependencies": { + "@babel/runtime": "^7.23.2" + } + }, + "node_modules/ignore": { + "version": "5.3.1", + "resolved": "https://registry.npmmirror.com/ignore/-/ignore-5.3.1.tgz", + "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmmirror.com/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmmirror.com/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmmirror.com/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dev": true, + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmmirror.com/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmmirror.com/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmmirror.com/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmmirror.com/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmmirror.com/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + }, + "node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmmirror.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true + }, + "node_modules/json2mq": { + "version": "0.2.0", + "resolved": "https://registry.npmmirror.com/json2mq/-/json2mq-0.2.0.tgz", + "integrity": "sha512-SzoRg7ux5DWTII9J2qkrZrqV1gt+rTaoufMxEzXbS26Uid0NwaJd123HcoB80TgubEppxxIGdNxCx50fEoEWQA==", + "dependencies": { + "string-convert": "^0.2.0" + } + }, + "node_modules/keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmmirror.com/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "dev": true, + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmmirror.com/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmmirror.com/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmmirror.com/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true + }, + "node_modules/loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmmirror.com/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "dependencies": { + "js-tokens": "^3.0.0 || ^4.0.0" + }, + "bin": { + "loose-envify": "cli.js" + } + }, + "node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmmirror.com/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmmirror.com/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmmirror.com/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dev": true, + "dependencies": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmmirror.com/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmmirror.com/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/minimatch": { + "version": "9.0.4", + "resolved": "https://registry.npmmirror.com/minimatch/-/minimatch-9.0.4.tgz", + "integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmmirror.com/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/nanoid": { + "version": "3.3.7", + "resolved": "https://registry.npmmirror.com/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", + "dev": true, + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmmirror.com/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmmirror.com/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/optionator": { + "version": "0.9.3", + "resolved": "https://registry.npmmirror.com/optionator/-/optionator-0.9.3.tgz", + "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", + "dev": true, + "dependencies": { + "@aashutoshrathi/word-wrap": "^1.2.3", + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmmirror.com/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "dev": true + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmmirror.com/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/postcss": { + "version": "8.4.38", + "resolved": "https://registry.npmmirror.com/postcss/-/postcss-8.4.38.tgz", + "integrity": "sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==", + "dev": true, + "dependencies": { + "nanoid": "^3.3.7", + "picocolors": "^1.0.0", + "source-map-js": "^1.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmmirror.com/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" + }, + "node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmmirror.com/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/qrcode.react": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/qrcode.react/-/qrcode.react-3.1.0.tgz", + "integrity": "sha512-oyF+Urr3oAMUG/OiOuONL3HXM+53wvuH3mtIWQrYmsXoAq0DkvZp2RYUWFSMFtbdOpuS++9v+WAkzNVkMlNW6Q==", + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmmirror.com/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true + }, + "node_modules/rc-cascader": { + "version": "3.24.1", + "resolved": "https://registry.npmmirror.com/rc-cascader/-/rc-cascader-3.24.1.tgz", + "integrity": "sha512-RgKuYgEGPx+6wCgguYFHjMsDZdCyydZd58YJRCfYQ8FObqLnZW0x/vUcEyPjhWIj1EhjV958IcR+NFPDbbj9kg==", + "dependencies": { + "@babel/runtime": "^7.12.5", + "array-tree-filter": "^2.1.0", + "classnames": "^2.3.1", + "rc-select": "~14.13.0", + "rc-tree": "~5.8.1", + "rc-util": "^5.37.0" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-checkbox": { + "version": "3.2.0", + "resolved": "https://registry.npmmirror.com/rc-checkbox/-/rc-checkbox-3.2.0.tgz", + "integrity": "sha512-8inzw4y9dAhZmv/Ydl59Qdy5tdp9CKg4oPVcRigi+ga/yKPZS5m5SyyQPtYSgbcqHRYOdUhiPSeKfktc76du1A==", + "dependencies": { + "@babel/runtime": "^7.10.1", + "classnames": "^2.3.2", + "rc-util": "^5.25.2" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-collapse": { + "version": "3.7.3", + "resolved": "https://registry.npmmirror.com/rc-collapse/-/rc-collapse-3.7.3.tgz", + "integrity": "sha512-60FJcdTRn0X5sELF18TANwtVi7FtModq649H11mYF1jh83DniMoM4MqY627sEKRCTm4+WXfGDcB7hY5oW6xhyw==", + "dependencies": { + "@babel/runtime": "^7.10.1", + "classnames": "2.x", + "rc-motion": "^2.3.4", + "rc-util": "^5.27.0" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-dialog": { + "version": "9.4.0", + "resolved": "https://registry.npmmirror.com/rc-dialog/-/rc-dialog-9.4.0.tgz", + "integrity": "sha512-AScCexaLACvf8KZRqCPz12BJ8olszXOS4lKlkMyzDQHS1m0zj1KZMYgmMCh39ee0Dcv8kyrj8mTqxuLyhH+QuQ==", + "dependencies": { + "@babel/runtime": "^7.10.1", + "@rc-component/portal": "^1.0.0-8", + "classnames": "^2.2.6", + "rc-motion": "^2.3.0", + "rc-util": "^5.21.0" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-drawer": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/rc-drawer/-/rc-drawer-7.1.0.tgz", + "integrity": "sha512-nBE1rF5iZvpavoyqhSSz2mk/yANltA7g3aF0U45xkx381n3we/RKs9cJfNKp9mSWCedOKWt9FLEwZDaAaOGn2w==", + "dependencies": { + "@babel/runtime": "^7.23.9", + "@rc-component/portal": "^1.1.1", + "classnames": "^2.2.6", + "rc-motion": "^2.6.1", + "rc-util": "^5.38.1" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-dropdown": { + "version": "4.2.0", + "resolved": "https://registry.npmmirror.com/rc-dropdown/-/rc-dropdown-4.2.0.tgz", + "integrity": "sha512-odM8Ove+gSh0zU27DUj5cG1gNKg7mLWBYzB5E4nNLrLwBmYEgYP43vHKDGOVZcJSVElQBI0+jTQgjnq0NfLjng==", + "dependencies": { + "@babel/runtime": "^7.18.3", + "@rc-component/trigger": "^2.0.0", + "classnames": "^2.2.6", + "rc-util": "^5.17.0" + }, + "peerDependencies": { + "react": ">=16.11.0", + "react-dom": ">=16.11.0" + } + }, + "node_modules/rc-field-form": { + "version": "1.44.0", + "resolved": "https://registry.npmmirror.com/rc-field-form/-/rc-field-form-1.44.0.tgz", + "integrity": "sha512-el7w87fyDUsca63Y/s8qJcq9kNkf/J5h+iTdqG5WsSHLH0e6Usl7QuYSmSVzJMgtp40mOVZIY/W/QP9zwrp1FA==", + "dependencies": { + "@babel/runtime": "^7.18.0", + "async-validator": "^4.1.0", + "rc-util": "^5.32.2" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-image": { + "version": "7.6.0", + "resolved": "https://registry.npmmirror.com/rc-image/-/rc-image-7.6.0.tgz", + "integrity": "sha512-tL3Rvd1sS+frZQ01i+tkeUPaOeFz2iG9/scAt/Cfs0hyCRVA/w0Pu1J/JxIX8blalvmHE0bZQRYdOmRAzWu4Hg==", + "dependencies": { + "@babel/runtime": "^7.11.2", + "@rc-component/portal": "^1.0.2", + "classnames": "^2.2.6", + "rc-dialog": "~9.4.0", + "rc-motion": "^2.6.2", + "rc-util": "^5.34.1" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-input": { + "version": "1.4.5", + "resolved": "https://registry.npmmirror.com/rc-input/-/rc-input-1.4.5.tgz", + "integrity": "sha512-AjzykhwnwYTRSwwgCu70CGKBIAv6bP2nqnFptnNTprph/TF1BAs0Qxl91mie/BR6n827WIJB6ZjaRf9iiMwAfw==", + "dependencies": { + "@babel/runtime": "^7.11.1", + "classnames": "^2.2.1", + "rc-util": "^5.18.1" + }, + "peerDependencies": { + "react": ">=16.0.0", + "react-dom": ">=16.0.0" + } + }, + "node_modules/rc-input-number": { + "version": "9.0.0", + "resolved": "https://registry.npmmirror.com/rc-input-number/-/rc-input-number-9.0.0.tgz", + "integrity": "sha512-RfcDBDdWFFetouWFXBA+WPEC8LzBXyngr9b+yTLVIygfFu7HiLRGn/s/v9wwno94X7KFvnb28FNynMGj9XJlDQ==", + "dependencies": { + "@babel/runtime": "^7.10.1", + "@rc-component/mini-decimal": "^1.0.1", + "classnames": "^2.2.5", + "rc-input": "~1.4.0", + "rc-util": "^5.28.0" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-mentions": { + "version": "2.11.1", + "resolved": "https://registry.npmmirror.com/rc-mentions/-/rc-mentions-2.11.1.tgz", + "integrity": "sha512-upb4AK1SRFql7qGnbLEvJqLMugVVIyjmwBJW9L0eLoN9po4JmJZaBzmKA4089fNtsU8k6l/tdZiVafyooeKnLw==", + "dependencies": { + "@babel/runtime": "^7.22.5", + "@rc-component/trigger": "^2.0.0", + "classnames": "^2.2.6", + "rc-input": "~1.4.0", + "rc-menu": "~9.13.0", + "rc-textarea": "~1.6.1", + "rc-util": "^5.34.1" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-menu": { + "version": "9.13.0", + "resolved": "https://registry.npmmirror.com/rc-menu/-/rc-menu-9.13.0.tgz", + "integrity": "sha512-1l8ooCB3HcYJKCltC/s7OxRKRjgymdl9htrCeGZcXNaMct0RxZRK6OPV3lPhVksIvAGMgzPd54ClpZ5J4b8cZA==", + "dependencies": { + "@babel/runtime": "^7.10.1", + "@rc-component/trigger": "^2.0.0", + "classnames": "2.x", + "rc-motion": "^2.4.3", + "rc-overflow": "^1.3.1", + "rc-util": "^5.27.0" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-motion": { + "version": "2.9.0", + "resolved": "https://registry.npmmirror.com/rc-motion/-/rc-motion-2.9.0.tgz", + "integrity": "sha512-XIU2+xLkdIr1/h6ohPZXyPBMvOmuyFZQ/T0xnawz+Rh+gh4FINcnZmMT5UTIj6hgI0VLDjTaPeRd+smJeSPqiQ==", + "dependencies": { + "@babel/runtime": "^7.11.1", + "classnames": "^2.2.1", + "rc-util": "^5.21.0" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-notification": { + "version": "5.4.0", + "resolved": "https://registry.npmmirror.com/rc-notification/-/rc-notification-5.4.0.tgz", + "integrity": "sha512-li19y9RoYJciF3WRFvD+DvWS70jdL8Fr+Gfb/OshK+iY6iTkwzoigmSIp76/kWh5tF5i/i9im12X3nsF85GYdA==", + "dependencies": { + "@babel/runtime": "^7.10.1", + "classnames": "2.x", + "rc-motion": "^2.9.0", + "rc-util": "^5.20.1" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-overflow": { + "version": "1.3.2", + "resolved": "https://registry.npmmirror.com/rc-overflow/-/rc-overflow-1.3.2.tgz", + "integrity": "sha512-nsUm78jkYAoPygDAcGZeC2VwIg/IBGSodtOY3pMof4W3M9qRJgqaDYm03ZayHlde3I6ipliAxbN0RUcGf5KOzw==", + "dependencies": { + "@babel/runtime": "^7.11.1", + "classnames": "^2.2.1", + "rc-resize-observer": "^1.0.0", + "rc-util": "^5.37.0" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-pagination": { + "version": "4.0.4", + "resolved": "https://registry.npmmirror.com/rc-pagination/-/rc-pagination-4.0.4.tgz", + "integrity": "sha512-GGrLT4NgG6wgJpT/hHIpL9nELv27A1XbSZzECIuQBQTVSf4xGKxWr6I/jhpRPauYEWEbWVw22ObG6tJQqwJqWQ==", + "dependencies": { + "@babel/runtime": "^7.10.1", + "classnames": "^2.3.2", + "rc-util": "^5.38.0" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-picker": { + "version": "4.3.2", + "resolved": "https://registry.npmmirror.com/rc-picker/-/rc-picker-4.3.2.tgz", + "integrity": "sha512-2NtobLxG2YqllXn4YczbupgIH6PSqzjCfFCnGlgPIY9k0HZti8WmBPjS1OD9JKQl+Tdg0pMVUeTEc07y4X9ZRQ==", + "dependencies": { + "@babel/runtime": "^7.10.1", + "@rc-component/trigger": "^2.0.0", + "classnames": "^2.2.1", + "rc-overflow": "^1.3.2", + "rc-resize-observer": "^1.4.0", + "rc-util": "^5.38.1" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "date-fns": ">= 2.x", + "dayjs": ">= 1.x", + "luxon": ">= 3.x", + "moment": ">= 2.x", + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + }, + "peerDependenciesMeta": { + "date-fns": { + "optional": true + }, + "dayjs": { + "optional": true + }, + "luxon": { + "optional": true + }, + "moment": { + "optional": true + } + } + }, + "node_modules/rc-progress": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/rc-progress/-/rc-progress-4.0.0.tgz", + "integrity": "sha512-oofVMMafOCokIUIBnZLNcOZFsABaUw8PPrf1/y0ZBvKZNpOiu5h4AO9vv11Sw0p4Hb3D0yGWuEattcQGtNJ/aw==", + "dependencies": { + "@babel/runtime": "^7.10.1", + "classnames": "^2.2.6", + "rc-util": "^5.16.1" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-rate": { + "version": "2.12.0", + "resolved": "https://registry.npmmirror.com/rc-rate/-/rc-rate-2.12.0.tgz", + "integrity": "sha512-g092v5iZCdVzbjdn28FzvWebK2IutoVoiTeqoLTj9WM7SjA/gOJIw5/JFZMRyJYYVe1jLAU2UhAfstIpCNRozg==", + "dependencies": { + "@babel/runtime": "^7.10.1", + "classnames": "^2.2.5", + "rc-util": "^5.0.1" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-resize-observer": { + "version": "1.4.0", + "resolved": "https://registry.npmmirror.com/rc-resize-observer/-/rc-resize-observer-1.4.0.tgz", + "integrity": "sha512-PnMVyRid9JLxFavTjeDXEXo65HCRqbmLBw9xX9gfC4BZiSzbLXKzW3jPz+J0P71pLbD5tBMTT+mkstV5gD0c9Q==", + "dependencies": { + "@babel/runtime": "^7.20.7", + "classnames": "^2.2.1", + "rc-util": "^5.38.0", + "resize-observer-polyfill": "^1.5.1" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-segmented": { + "version": "2.3.0", + "resolved": "https://registry.npmmirror.com/rc-segmented/-/rc-segmented-2.3.0.tgz", + "integrity": "sha512-I3FtM5Smua/ESXutFfb8gJ8ZPcvFR+qUgeeGFQHBOvRiRKyAk4aBE5nfqrxXx+h8/vn60DQjOt6i4RNtrbOobg==", + "dependencies": { + "@babel/runtime": "^7.11.1", + "classnames": "^2.2.1", + "rc-motion": "^2.4.4", + "rc-util": "^5.17.0" + }, + "peerDependencies": { + "react": ">=16.0.0", + "react-dom": ">=16.0.0" + } + }, + "node_modules/rc-select": { + "version": "14.13.1", + "resolved": "https://registry.npmmirror.com/rc-select/-/rc-select-14.13.1.tgz", + "integrity": "sha512-A1VHqjIOemxLnUGRxLGVqXBs8jGcJemI5NXxOJwU5PQc1wigAu1T4PRLgMkTPDOz8gPhlY9dwsPzMgakMc2QjQ==", + "dependencies": { + "@babel/runtime": "^7.10.1", + "@rc-component/trigger": "^2.1.1", + "classnames": "2.x", + "rc-motion": "^2.0.1", + "rc-overflow": "^1.3.1", + "rc-util": "^5.16.1", + "rc-virtual-list": "^3.5.2" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": "*", + "react-dom": "*" + } + }, + "node_modules/rc-slider": { + "version": "10.5.0", + "resolved": "https://registry.npmmirror.com/rc-slider/-/rc-slider-10.5.0.tgz", + "integrity": "sha512-xiYght50cvoODZYI43v3Ylsqiw14+D7ELsgzR40boDZaya1HFa1Etnv9MDkQE8X/UrXAffwv2AcNAhslgYuDTw==", + "dependencies": { + "@babel/runtime": "^7.10.1", + "classnames": "^2.2.5", + "rc-util": "^5.27.0" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-steps": { + "version": "6.0.1", + "resolved": "https://registry.npmmirror.com/rc-steps/-/rc-steps-6.0.1.tgz", + "integrity": "sha512-lKHL+Sny0SeHkQKKDJlAjV5oZ8DwCdS2hFhAkIjuQt1/pB81M0cA0ErVFdHq9+jmPmFw1vJB2F5NBzFXLJxV+g==", + "dependencies": { + "@babel/runtime": "^7.16.7", + "classnames": "^2.2.3", + "rc-util": "^5.16.1" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-switch": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/rc-switch/-/rc-switch-4.1.0.tgz", + "integrity": "sha512-TI8ufP2Az9oEbvyCeVE4+90PDSljGyuwix3fV58p7HV2o4wBnVToEyomJRVyTaZeqNPAp+vqeo4Wnj5u0ZZQBg==", + "dependencies": { + "@babel/runtime": "^7.21.0", + "classnames": "^2.2.1", + "rc-util": "^5.30.0" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-table": { + "version": "7.45.4", + "resolved": "https://registry.npmmirror.com/rc-table/-/rc-table-7.45.4.tgz", + "integrity": "sha512-6aSbGrnkN2GLSt3s1x+wa4f3j/VEgg1uKPpaLY5qHH1/nFyreS2V7DFJ0TfUb18allf2FQl7oVYEjTixlBXEyQ==", + "dependencies": { + "@babel/runtime": "^7.10.1", + "@rc-component/context": "^1.4.0", + "classnames": "^2.2.5", + "rc-resize-observer": "^1.1.0", + "rc-util": "^5.37.0", + "rc-virtual-list": "^3.11.1" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-tabs": { + "version": "14.1.1", + "resolved": "https://registry.npmmirror.com/rc-tabs/-/rc-tabs-14.1.1.tgz", + "integrity": "sha512-5nOr9PVpJy2SWHTLgv1+kESDOb0tFzl0cYU9r9d8LfL0Wg9i/n1B558rmkxdQHgBwMqxmwoyPSAbQROxMQe8nw==", + "dependencies": { + "@babel/runtime": "^7.11.2", + "classnames": "2.x", + "rc-dropdown": "~4.2.0", + "rc-menu": "~9.13.0", + "rc-motion": "^2.6.2", + "rc-resize-observer": "^1.0.0", + "rc-util": "^5.34.1" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-textarea": { + "version": "1.6.3", + "resolved": "https://registry.npmmirror.com/rc-textarea/-/rc-textarea-1.6.3.tgz", + "integrity": "sha512-8k7+8Y2GJ/cQLiClFMg8kUXOOdvcFQrnGeSchOvI2ZMIVvX5a3zQpLxoODL0HTrvU63fPkRmMuqaEcOF9dQemA==", + "dependencies": { + "@babel/runtime": "^7.10.1", + "classnames": "^2.2.1", + "rc-input": "~1.4.0", + "rc-resize-observer": "^1.0.0", + "rc-util": "^5.27.0" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-tooltip": { + "version": "6.2.0", + "resolved": "https://registry.npmmirror.com/rc-tooltip/-/rc-tooltip-6.2.0.tgz", + "integrity": "sha512-iS/3iOAvtDh9GIx1ulY7EFUXUtktFccNLsARo3NPgLf0QW9oT0w3dA9cYWlhqAKmD+uriEwdWz1kH0Qs4zk2Aw==", + "dependencies": { + "@babel/runtime": "^7.11.2", + "@rc-component/trigger": "^2.0.0", + "classnames": "^2.3.1" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-tree": { + "version": "5.8.5", + "resolved": "https://registry.npmmirror.com/rc-tree/-/rc-tree-5.8.5.tgz", + "integrity": "sha512-PRfcZtVDNkR7oh26RuNe1hpw11c1wfgzwmPFL0lnxGnYefe9lDAO6cg5wJKIAwyXFVt5zHgpjYmaz0CPy1ZtKg==", + "dependencies": { + "@babel/runtime": "^7.10.1", + "classnames": "2.x", + "rc-motion": "^2.0.1", + "rc-util": "^5.16.1", + "rc-virtual-list": "^3.5.1" + }, + "engines": { + "node": ">=10.x" + }, + "peerDependencies": { + "react": "*", + "react-dom": "*" + } + }, + "node_modules/rc-tree-select": { + "version": "5.19.0", + "resolved": "https://registry.npmmirror.com/rc-tree-select/-/rc-tree-select-5.19.0.tgz", + "integrity": "sha512-f4l5EsmSGF3ggj76YTzKNPY9SnXfFaer7ZccTSGb3urUf54L+cCqyT+UsPr+S5TAr8mZSxJ7g3CgkCe+cVQ6sw==", + "dependencies": { + "@babel/runtime": "^7.10.1", + "classnames": "2.x", + "rc-select": "~14.13.0", + "rc-tree": "~5.8.1", + "rc-util": "^5.16.1" + }, + "peerDependencies": { + "react": "*", + "react-dom": "*" + } + }, + "node_modules/rc-upload": { + "version": "4.5.2", + "resolved": "https://registry.npmmirror.com/rc-upload/-/rc-upload-4.5.2.tgz", + "integrity": "sha512-QO3ne77DwnAPKFn0bA5qJM81QBjQi0e0NHdkvpFyY73Bea2NfITiotqJqVjHgeYPOJu5lLVR32TNGP084aSoXA==", + "dependencies": { + "@babel/runtime": "^7.18.3", + "classnames": "^2.2.5", + "rc-util": "^5.2.0" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-util": { + "version": "5.39.1", + "resolved": "https://registry.npmmirror.com/rc-util/-/rc-util-5.39.1.tgz", + "integrity": "sha512-OW/ERynNDgNr4y0oiFmtes3rbEamXw7GHGbkbNd9iRr7kgT03T6fT0b9WpJ3mbxKhyOcAHnGcIoh5u/cjrC2OQ==", + "dependencies": { + "@babel/runtime": "^7.18.3", + "react-is": "^18.2.0" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-virtual-list": { + "version": "3.11.4", + "resolved": "https://registry.npmmirror.com/rc-virtual-list/-/rc-virtual-list-3.11.4.tgz", + "integrity": "sha512-NbBi0fvyIu26gP69nQBiWgUMTPX3mr4FcuBQiVqagU0BnuX8WQkiivnMs105JROeuUIFczLrlgUhLQwTWV1XDA==", + "dependencies": { + "@babel/runtime": "^7.20.0", + "classnames": "^2.2.6", + "rc-resize-observer": "^1.0.0", + "rc-util": "^5.36.0" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/react": { + "version": "18.2.0", + "resolved": "https://registry.npmmirror.com/react/-/react-18.2.0.tgz", + "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", + "dependencies": { + "loose-envify": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-dom": { + "version": "18.2.0", + "resolved": "https://registry.npmmirror.com/react-dom/-/react-dom-18.2.0.tgz", + "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", + "dependencies": { + "loose-envify": "^1.1.0", + "scheduler": "^0.23.0" + }, + "peerDependencies": { + "react": "^18.2.0" + } + }, + "node_modules/react-i18next": { + "version": "14.1.0", + "resolved": "https://registry.npmmirror.com/react-i18next/-/react-i18next-14.1.0.tgz", + "integrity": "sha512-3KwX6LHpbvGQ+sBEntjV4sYW3Zovjjl3fpoHbUwSgFHf0uRBcbeCBLR5al6ikncI5+W0EFb71QXZmfop+J6NrQ==", + "dependencies": { + "@babel/runtime": "^7.23.9", + "html-parse-stringify": "^3.0.1" + }, + "peerDependencies": { + "i18next": ">= 23.2.3", + "react": ">= 16.8.0" + }, + "peerDependenciesMeta": { + "react-dom": { + "optional": true + }, + "react-native": { + "optional": true + } + } + }, + "node_modules/react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmmirror.com/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" + }, + "node_modules/react-redux": { + "version": "9.1.0", + "resolved": "https://registry.npmmirror.com/react-redux/-/react-redux-9.1.0.tgz", + "integrity": "sha512-6qoDzIO+gbrza8h3hjMA9aq4nwVFCKFtY2iLxCtVT38Swyy2C/dJCGBXHeHLtx6qlg/8qzc2MrhOeduf5K32wQ==", + "dependencies": { + "@types/use-sync-external-store": "^0.0.3", + "use-sync-external-store": "^1.0.0" + }, + "peerDependencies": { + "@types/react": "^18.2.25", + "react": "^18.0", + "react-native": ">=0.69", + "redux": "^5.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "react-native": { + "optional": true + }, + "redux": { + "optional": true + } + } + }, + "node_modules/react-router": { + "version": "6.22.3", + "resolved": "https://registry.npmmirror.com/react-router/-/react-router-6.22.3.tgz", + "integrity": "sha512-dr2eb3Mj5zK2YISHK++foM9w4eBnO23eKnZEDs7c880P6oKbrjz/Svg9+nxqtHQK+oMW4OtjZca0RqPglXxguQ==", + "dependencies": { + "@remix-run/router": "1.15.3" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "react": ">=16.8" + } + }, + "node_modules/react-router-dom": { + "version": "6.22.3", + "resolved": "https://registry.npmmirror.com/react-router-dom/-/react-router-dom-6.22.3.tgz", + "integrity": "sha512-7ZILI7HjcE+p31oQvwbokjk6OA/bnFxrhJ19n82Ex9Ph8fNAq+Hm/7KchpMGlTgWhUxRHMMCut+vEtNpWpowKw==", + "dependencies": { + "@remix-run/router": "1.15.3", + "react-router": "6.22.3" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "react": ">=16.8", + "react-dom": ">=16.8" + } + }, + "node_modules/regenerator-runtime": { + "version": "0.14.1", + "resolved": "https://registry.npmmirror.com/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", + "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==" + }, + "node_modules/resize-observer-polyfill": { + "version": "1.5.1", + "resolved": "https://registry.npmmirror.com/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz", + "integrity": "sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==" + }, + "node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmmirror.com/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true, + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmmirror.com/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/rollup": { + "version": "4.14.2", + "resolved": "https://registry.npmmirror.com/rollup/-/rollup-4.14.2.tgz", + "integrity": "sha512-WkeoTWvuBoFjFAhsEOHKRoZ3r9GfTyhh7Vff1zwebEFLEFjT1lG3784xEgKiTa7E+e70vsC81roVL2MP4tgEEQ==", + "dev": true, + "dependencies": { + "@types/estree": "1.0.5" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.14.2", + "@rollup/rollup-android-arm64": "4.14.2", + "@rollup/rollup-darwin-arm64": "4.14.2", + "@rollup/rollup-darwin-x64": "4.14.2", + "@rollup/rollup-linux-arm-gnueabihf": "4.14.2", + "@rollup/rollup-linux-arm64-gnu": "4.14.2", + "@rollup/rollup-linux-arm64-musl": "4.14.2", + "@rollup/rollup-linux-powerpc64le-gnu": "4.14.2", + "@rollup/rollup-linux-riscv64-gnu": "4.14.2", + "@rollup/rollup-linux-s390x-gnu": "4.14.2", + "@rollup/rollup-linux-x64-gnu": "4.14.2", + "@rollup/rollup-linux-x64-musl": "4.14.2", + "@rollup/rollup-win32-arm64-msvc": "4.14.2", + "@rollup/rollup-win32-ia32-msvc": "4.14.2", + "@rollup/rollup-win32-x64-msvc": "4.14.2", + "fsevents": "~2.3.2" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/scheduler": { + "version": "0.23.0", + "resolved": "https://registry.npmmirror.com/scheduler/-/scheduler-0.23.0.tgz", + "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", + "dependencies": { + "loose-envify": "^1.1.0" + } + }, + "node_modules/scroll-into-view-if-needed": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/scroll-into-view-if-needed/-/scroll-into-view-if-needed-3.1.0.tgz", + "integrity": "sha512-49oNpRjWRvnU8NyGVmUaYG4jtTkNonFZI86MmGRDqBphEK2EXT9gdEUoQPZhuBM8yWHxCWbobltqYO5M4XrUvQ==", + "dependencies": { + "compute-scroll-into-view": "^3.0.2" + } + }, + "node_modules/semver": { + "version": "7.6.0", + "resolved": "https://registry.npmmirror.com/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/source-map-js": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/source-map-js/-/source-map-js-1.2.0.tgz", + "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/string-convert": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/string-convert/-/string-convert-0.2.1.tgz", + "integrity": "sha512-u/1tdPl4yQnPBjnVrmdLo9gtuLvELKsAoRapekWggdiQNvvvum+jYF329d84NAa660KQw7pB2n36KrIKVoXa3A==" + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmmirror.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/stylis": { + "version": "4.2.0", + "resolved": "https://registry.npmmirror.com/stylis/-/stylis-4.2.0.tgz", + "integrity": "sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw==" + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmmirror.com/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "dev": true + }, + "node_modules/throttle-debounce": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/throttle-debounce/-/throttle-debounce-5.0.0.tgz", + "integrity": "sha512-2iQTSgkkc1Zyk0MeVrt/3BvuOXYPl/R8Z0U2xxo9rjwNciaHDG3R+Lm6dh4EeUci49DanvBnuqI6jshoQQRGEg==", + "engines": { + "node": ">=12.22" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmmirror.com/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/toggle-selection": { + "version": "1.0.6", + "resolved": "https://registry.npmmirror.com/toggle-selection/-/toggle-selection-1.0.6.tgz", + "integrity": "sha512-BiZS+C1OS8g/q2RRbJmy59xpyghNBqrr6k5L/uKBGRsTfxmu3ffiRnd8mlGPUVayg8pvfi5urfnu8TU7DVOkLQ==" + }, + "node_modules/ts-api-utils": { + "version": "1.3.0", + "resolved": "https://registry.npmmirror.com/ts-api-utils/-/ts-api-utils-1.3.0.tgz", + "integrity": "sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==", + "dev": true, + "engines": { + "node": ">=16" + }, + "peerDependencies": { + "typescript": ">=4.2.0" + } + }, + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmmirror.com/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmmirror.com/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/typescript": { + "version": "5.4.5", + "resolved": "https://registry.npmmirror.com/typescript/-/typescript-5.4.5.tgz", + "integrity": "sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==", + "dev": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmmirror.com/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/use-sync-external-store": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz", + "integrity": "sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==", + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/vite": { + "version": "5.2.8", + "resolved": "https://registry.npmmirror.com/vite/-/vite-5.2.8.tgz", + "integrity": "sha512-OyZR+c1CE8yeHw5V5t59aXsUPPVTHMDjEZz8MgguLL/Q7NblxhZUlTu9xSPqlsUO/y+X7dlU05jdhvyycD55DA==", + "dev": true, + "dependencies": { + "esbuild": "^0.20.1", + "postcss": "^8.4.38", + "rollup": "^4.13.0" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^18.0.0 || >=20.0.0", + "less": "*", + "lightningcss": "^1.21.0", + "sass": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.4.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + } + } + }, + "node_modules/void-elements": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/void-elements/-/void-elements-3.1.0.tgz", + "integrity": "sha512-Dhxzh5HZuiHQhbvTW9AMetFfBHDMYpo23Uo9btPXgdYP+3T5S+p+jgNy7spra+veYhBP2dCSgxR/i2Y02h5/6w==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true + }, + "node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmmirror.com/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "engines": { + "node": ">=10" + } + } + } +} diff --git a/web/package.json b/web/package.json new file mode 100644 index 0000000..965bc40 --- /dev/null +++ b/web/package.json @@ -0,0 +1,36 @@ +{ + "name": "web", + "private": true, + "version": "0.0.0", + "type": "module", + "scripts": { + "dev": "vite", + "build": "tsc && vite build", + "lint": "eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0", + "preview": "vite preview" + }, + "dependencies": { + "@ant-design/icons": "^5.3.6", + "antd": "^5.16.1", + "axios": "^1.6.8", + "i18next": "^23.11.1", + "i18next-browser-languagedetector": "^7.2.1", + "react": "^18.2.0", + "react-dom": "^18.2.0", + "react-i18next": "^14.1.0", + "react-redux": "^9.1.0", + "react-router-dom": "^6.22.3" + }, + "devDependencies": { + "@types/react": "^18.2.66", + "@types/react-dom": "^18.2.22", + "@typescript-eslint/eslint-plugin": "^7.6.0", + "@typescript-eslint/parser": "^7.6.0", + "@vitejs/plugin-react-swc": "^3.5.0", + "eslint": "^8.57.0", + "eslint-plugin-react-hooks": "^4.6.0", + "eslint-plugin-react-refresh": "^0.4.6", + "typescript": "^5.4.5", + "vite": "^5.2.0" + } +} diff --git a/web/src/App.css b/web/src/App.css new file mode 100644 index 0000000..b9d355d --- /dev/null +++ b/web/src/App.css @@ -0,0 +1,42 @@ +#root { + max-width: 1280px; + margin: 0 auto; + padding: 2rem; + text-align: center; +} + +.logo { + height: 6em; + padding: 1.5em; + will-change: filter; + transition: filter 300ms; +} +.logo:hover { + filter: drop-shadow(0 0 2em #646cffaa); +} +.logo.react:hover { + filter: drop-shadow(0 0 2em #61dafbaa); +} + +@keyframes logo-spin { + from { + transform: rotate(0deg); + } + to { + transform: rotate(360deg); + } +} + +@media (prefers-reduced-motion: no-preference) { + a:nth-of-type(2) .logo { + animation: logo-spin infinite 20s linear; + } +} + +.card { + padding: 2em; +} + +.read-the-docs { + color: #888; +} diff --git a/web/src/App.tsx b/web/src/App.tsx new file mode 100644 index 0000000..790b60e --- /dev/null +++ b/web/src/App.tsx @@ -0,0 +1,34 @@ +import { RouterProvider } from 'react-router-dom' +import router from './router' +import { App, ConfigProvider, Spin, theme } from 'antd' +import zhCN from 'antd/locale/zh_CN' +import enUS from 'antd/locale/en_US' + +import './App.css' +import isBrowserDarkTheme from './isBrowserDarkTheme' +import i18n from './locale' + +function detectLanguage() { + switch (i18n.language) { + case 'zh-CN': + case 'zh': + return zhCN + default: + return enUS + } +} + +function ReactApp() { + document.title = 'reCoreD-UI' + const themeUsed = isBrowserDarkTheme() ? theme.darkAlgorithm : theme.defaultAlgorithm + + return ( + + + } /> + + + ) +} + +export default ReactApp diff --git a/web/src/api/index.ts b/web/src/api/index.ts new file mode 100644 index 0000000..e48bd75 --- /dev/null +++ b/web/src/api/index.ts @@ -0,0 +1,92 @@ +import axios, { type AxiosInstance, type AxiosRequestConfig, type AxiosResponse } from "axios" +import { type Record } from '../stores/records' +import { type Domain } from "../stores/domains" +import i18n from "../locale" + +type Result = { + success: boolean + message: string + data: T +} + +const t = i18n.t +// 5 second. +const notificationDuration = 5000 +const messages = new Map( + [ + [400, { + message: t("api.error400.title"), + description: t("api.error400.content"), + duration: notificationDuration + }], + [401, { + message: t("api.error401.title"), + description: t("api.error401.content"), + duration: notificationDuration + }], + [403, { + message: t("api.error403.title"), + description: t("api.error403.content"), + duration: notificationDuration + }], + [404, { + message: t("api.error404.title"), + description: t("api.error404.content"), + duration: notificationDuration + }], + [500, { + message: t("api.error500.title"), + description: t("api.error500.content"), + duration: notificationDuration + }] + ] +) + +export interface ResponseError { + response: { + status: number + } +} + +export function getErrorInfo(err: ResponseError) { + const msg = messages.get(err.response.status) + return msg ? msg : { + message: t("api.errorUnknown.title"), + description: t("api.errorUnknown.content"), + duration: notificationDuration + } +} + +export class Request { + private instance: AxiosInstance; + private baseConfig: AxiosRequestConfig = { baseURL: "api/v1" } + + constructor(config: AxiosRequestConfig) { + this.instance = axios.create(Object.assign(this.baseConfig, config)) + + } + + public request(config: AxiosRequestConfig): Promise { + return this.instance.request(config) + } + + public get(url: string, config?: AxiosRequestConfig): Promise>> { + return this.instance.get(url, config) + } + + public post(url: string, data?: T, config?: AxiosRequestConfig): Promise>> { + return this.instance.post(url, data, config) + } + + public put(url: string, data?: T, config?: AxiosRequestConfig): Promise>> { + return this.instance.put(url, data, config) + } + + public delete(url: string, config?: AxiosRequestConfig): Promise>> { + return this.instance.delete(url, config) + } +} + +export default new Request({}) \ No newline at end of file diff --git a/web/src/components/domains/DomainCard.tsx b/web/src/components/domains/DomainCard.tsx new file mode 100644 index 0000000..3fd6e8d --- /dev/null +++ b/web/src/components/domains/DomainCard.tsx @@ -0,0 +1,32 @@ +import { Card, Tooltip } from "antd" +import { Domain } from "../../stores/domains" +import { BookOutlined, DeleteOutlined, EditOutlined } from "@ant-design/icons" +import DomainInfo from "./DomainInfo" +import i18n from '../../locale' +const { t } = i18n + +type DomainCardProps = { + domain: Domain + onRecordClick(): void + onEditClick(): void + onDeleteClick(): void +} + +export default function DomainCard({ domain, onRecordClick, onEditClick, onDeleteClick }: DomainCardProps) { + return ( + + + , + + + , + + + + ]} key={domain.id}> + + + ) +} + diff --git a/web/src/components/domains/DomainDeleteModal.tsx b/web/src/components/domains/DomainDeleteModal.tsx new file mode 100644 index 0000000..d9037ea --- /dev/null +++ b/web/src/components/domains/DomainDeleteModal.tsx @@ -0,0 +1,59 @@ +import { App, Input, Modal } from "antd" +import { Domain } from "../../stores/domains" +import { useState } from "react" +import i18n from '../../locale' +import { CloseOutlined, DeleteOutlined } from "@ant-design/icons" +import { ResponseError, getErrorInfo } from "../../api" +const { t } = i18n + +type Props = { + open: boolean + domain: Domain + removeDomain(domain: Domain): Promise + onOk(): void + onCancel(): void +} + +export default function DomainDeleteModal({ open, domain, removeDomain, onOk, onCancel }: Props) { + const [input, setInput] = useState('') + const [loading, setLoading] = useState(false) + const { notification } = App.useApp() + + function confirm() { + setLoading(true) + removeDomain(domain).then(onOk).finally(() => setLoading(false)).catch(e => { + const msg = getErrorInfo(e as ResponseError) + notification.error(msg) + console.error(e) + }) + } + + return ( + , + danger: true + }} + cancelButtonProps={{ + icon: + }} + open={open} + closeIcon={false} + maskClosable={false} + + centered + destroyOnClose + > +

{t('common.deleteConfirm')}

+

{t('domains.deleteHint')}

+

{t('domains.confirm1')} {domain.domain_name} {t('domains.confirm2')}

+

+

+ setInput(e.target.value)} /> +

+
+ ) +} \ No newline at end of file diff --git a/web/src/components/domains/DomainEditModal.tsx b/web/src/components/domains/DomainEditModal.tsx new file mode 100644 index 0000000..79d740b --- /dev/null +++ b/web/src/components/domains/DomainEditModal.tsx @@ -0,0 +1,132 @@ +import { App, Form, FormInstance, Input, InputNumber, Modal, Space } from "antd" +import { Domain } from "../../stores/domains" +import i18n from '../../locale' +import { useEffect, useState } from "react" +import { CheckOutlined, CloseOutlined } from "@ant-design/icons" +import { ResponseError, getErrorInfo } from "../../api" +const { t } = i18n + +type Props = { + open: boolean + domain: Domain + editDomain(domain: Domain): Promise + createDomain(domain: Domain): Promise + onCancel(): void + onOk(): void +} + +export default function DomainEditModal({ open, domain, editDomain, createDomain, onCancel, onOk }: Props) { + const [loading, setLoading] = useState(false) + const [form] = Form.useForm() + const { notification } = App.useApp() + + useEffect(() => { + form.setFieldsValue(domain) + }, [open]) + + async function confirm() { + const commitFunction = (!domain.id || domain.id < 1) ? createDomain : editDomain + setLoading(true) + try { + domain = await form.validateFields() + await commitFunction(domain) + onOk() + } catch (error) { + const msg = getErrorInfo(error as ResponseError) + notification.error(msg) + console.error(error) + } finally { + setLoading(false) + } + } + + function easyInput(form: FormInstance, domain_name: string) { + form.setFieldValue('admin_email', `admin@${domain_name}`) + form.setFieldValue('main_dns', `ns1.${domain_name}`) + } + + return ( + + { + (!domain || !domain.id || domain.id < 1) ? t('common.new') : t('common.edit') + } + { + t('domains._') + } + + } + confirmLoading={loading} + cancelButtonProps={{ + icon: , + }} + okButtonProps={{ + icon: , + htmlType: 'submit' + }} + + open={open} + closeIcon={false} + maskClosable={false} + + centered + destroyOnClose + forceRender + > + name="domain" form={form} + scrollToFirstError + autoComplete="off" + > + hidden name='id' /> + + label={t('domains._')} + name='domain_name' + rules={[ + { required: true, message: t('common.mandatory') }, + { pattern: /^([\w-]+\.)+[\w-]+$/, message: t('domains.errors.domainName') }, + ]} + > + easyInput(form, v.target.value)} /> + + + label={t('domains.form.mainDNS')} + name='main_dns' + rules={[ + { required: true, message: t('common.mandatory') }, + { pattern: /^([\w-]+\.)+[\w-]+$/, message: t('domains.errors.domainName') }, + ]} + > + + + + label={t('domains.form.adminMail')} + name='admin_email' + rules={[ + { required: true, message: t('common.mandatory') }, + { pattern: /^[\w-.]+@([\w-]+\.)+[\w-]+$/, message: t('domains.errors.mail') } + ]} + > + + + + name='refresh_interval' label={t('records.refresh')}> + + + name='retry_interval' label={t('records.retry')}> + + + + + name='expiry_period' label={t('records.expire')}> + + + name='negative_ttl' label={t('records.ttl')}> + + + + + + ) +} \ No newline at end of file diff --git a/web/src/components/domains/DomainInfo.css b/web/src/components/domains/DomainInfo.css new file mode 100644 index 0000000..09ba485 --- /dev/null +++ b/web/src/components/domains/DomainInfo.css @@ -0,0 +1,7 @@ +.icon-info { + transform: translateY(1px); +} + +span.info { + padding-left: 0.5em; +} \ No newline at end of file diff --git a/web/src/components/domains/DomainInfo.tsx b/web/src/components/domains/DomainInfo.tsx new file mode 100644 index 0000000..c773efa --- /dev/null +++ b/web/src/components/domains/DomainInfo.tsx @@ -0,0 +1,22 @@ +import { GlobalOutlined, MailOutlined } from "@ant-design/icons" +import { Domain } from "../../stores/domains" +import './DomainInfo.css' + +type Props = { + domain: Domain +} + +export default function DomainInfo({ domain }: Props) { + return ( + <> +

+ + {domain.admin_email} +

+

+ + {domain.main_dns} +

+ + ) +} \ No newline at end of file diff --git a/web/src/components/records/RecordEditModal.tsx b/web/src/components/records/RecordEditModal.tsx new file mode 100644 index 0000000..5d1ff18 --- /dev/null +++ b/web/src/components/records/RecordEditModal.tsx @@ -0,0 +1,261 @@ +import { App, Form, Input, InputNumber, Modal, Select } from 'antd' +import i18n from '../../locale' +import { AAAARecord, ARecord, CAARecord, CNAMERecord, MXRecord, NSRecord, Record, RecordTypes, SRVRecord, TXTRecord } from '../../stores/records' +import { useEffect, useState } from 'react' +import { CheckOutlined, CloseOutlined } from '@ant-design/icons' +import { ResponseError, getErrorInfo } from '../../api' +import { FormInstance } from 'antd/lib/form/Form' +const { t } = i18n + +type Props = { + open: boolean + record: Record + //domain: string + onCancel(): void + onOk(): void + + editRecord(record: Record): Promise + createRecord(record: Record): Promise +} + +const recordTypeOptions = Object.entries(RecordTypes).filter(e => e[1] !== RecordTypes.RecordTypeSOA).map(e => { + return { + value: e[1], + label: e[1] + } +}) + +export default function RecordEditModal({ open, record, onOk, onCancel, editRecord, createRecord }: Props) { + const [loading, setLoading] = useState(false) + const [form] = Form.useForm() + const { notification } = App.useApp() + + useEffect(() => { form.setFieldsValue(record) }, [open]) + + async function confirm() { + const commitFunction = (!record.id || record.id < 1) ? createRecord : editRecord + setLoading(true) + try { + record = await form.validateFields() + await commitFunction(record) + onOk() + } catch (error) { + const msg = getErrorInfo(error as ResponseError) + notification.error(msg) + console.error(error) + } finally { + setLoading(false) + } + } + + const controls = new Map) => JSX.Element>([ + [ + RecordTypes.RecordTypeA, ( + ({ getFieldValue }) => + > label='IP' name={['content', 'ip']} required rules={[{ + validator() { + + const result = ARecord.validate(getFieldValue('content') as ARecord) + return (result === true) ? Promise.resolve() : Promise.reject(result) + } + }]}> + + + ) + ], + [ + RecordTypes.RecordTypeAAAA, ( + ({ getFieldValue }) => + > label='IP' name={['content', 'ip']} required rules={[{ + validator() { + const result = AAAARecord.validate(getFieldValue('content') as AAAARecord) + return (result === true) ? Promise.resolve() : Promise.reject(result) + } + }]}> + + + ) + ], + [ + RecordTypes.RecordTypeCNAME, ( + ({ getFieldValue }) => + > label={t('records.form.host')} required name={['content', 'host']} + rules={[{ + validator() { + const result = CNAMERecord.validate(getFieldValue('content') as CNAMERecord) + return (result === true) ? Promise.resolve() : Promise.reject(result) + } + }]}> + + + ) + ], + [ + RecordTypes.RecordTypeNS, ( + ({ getFieldValue }) => + > label={t('records.form.host')} name={['content', 'host']} required + rules={[{ + validator() { + const result = NSRecord.validate(getFieldValue('content') as NSRecord) + return (result === true) ? Promise.resolve() : Promise.reject(result) + } + }]}> + + + ) + ], + [ + RecordTypes.RecordTypeTXT, ( + ({ getFieldValue }) => + > label={t('records.form.text')} name={['content', 'text']} required + rules={[{ + validator() { + const result = TXTRecord.validate(getFieldValue('content') as TXTRecord) + return (result === true) ? Promise.resolve() : Promise.reject(result) + } + }]}> + + + ) + ], + [ + RecordTypes.RecordTypeMX, ( + ({ getFieldValue }) => + <> + > label={t('records.form.host')} name={['content', 'host']} required + rules={[{ + validator() { + const result = MXRecord.validate(getFieldValue('content') as MXRecord) + return (result === true) ? Promise.resolve() : Promise.reject(result) + } + }]}> + + + > label={t('records.form.preference')} name={['content', 'preference']} required> + + + + ) + ], + [ + RecordTypes.RecordTypeCAA, ( + ({ getFieldValue }) => + <> + > label={t('records.form.flag')} name={['content', 'flag']} required> + + + > label={t('records.form.tag')} name={['content', 'tag']} required rules={[{ + validator() { + const result = CAARecord.validate(getFieldValue('content') as CAARecord) + return (result === true) ? Promise.resolve() : Promise.reject(result) + } + }]}> + + + > label={t('records.form.value')} name={['content', 'value']} required rules={[ + { required: true, message: t('common.mandatory') } + ]} > + + + + ) + ], + [ + RecordTypes.RecordTypeSRV, ( + ({ getFieldValue }) => + <> + > label={t('records.form.priority')} name={['content', 'priority']} required> + + + + > label={t('records.form.weight')} name={['content', 'weight']} required> + + + + > label={t('records.form.port')} name={['content', 'port']} required> + + + + > label={t('records.form.target')} name={['content', 'target']} required rules={[{ + validator() { + const result = SRVRecord.validate(getFieldValue('content') as SRVRecord) + return (result === true) ? Promise.resolve() : Promise.reject(result) + } + }]}> + + + + ) + ] + ]) + + return ( + + { + (!record || !record.id || record.id < 1) ? t('common.new') : t('common.edit') + } + { + t('records._') + } + + } + confirmLoading={loading} + cancelButtonProps={{ + icon: , + }} + okButtonProps={{ + icon: , + htmlType: 'submit' + }} + + open={open} + closeIcon={false} + maskClosable={false} + + centered + destroyOnClose + forceRender + > + name='record' form={form} + scrollToFirstError + autoComplete='off' + labelCol={{ span: 4 }} + wrapperCol={{ span: 20 }} + validateTrigger='onBlur' + > + hidden name='id' /> + hidden name='zone' /> + label={t('records.recordType')} required name='record_type'> + + + label='TTL' required name='ttl'> + + + noStyle shouldUpdate={(p, c) => p.record_type !== c.record_type}> + { + ({ getFieldValue }: FormInstance) => { + const e = controls.get(getFieldValue('record_type')) + if (!e) { + return <> + } + return e({ getFieldValue } as FormInstance) + } + } + + + + ) +} \ No newline at end of file diff --git a/web/src/components/records/RecordOps.tsx b/web/src/components/records/RecordOps.tsx new file mode 100644 index 0000000..d558d6d --- /dev/null +++ b/web/src/components/records/RecordOps.tsx @@ -0,0 +1,26 @@ +import { Button, Flex, Popconfirm, Tooltip } from "antd" +import { DeleteOutlined, EditFilled } from "@ant-design/icons" +import i18n from '../../locale' + +const { t } = i18n + +type Props = { + onEdit(): void + onDelete(): void +} + +export default function RecordOps({ onEdit, onDelete }: Props) { + return ( + + + + } placeholder={t('records.search')} onChange={v => setSearchText(v.target.value)} /> + + + + + > + dataSource={recordStore.records + .filter(i => i.record_type !== RecordTypes.RecordTypeSOA) + .filter(i => i.name?.includes(searchText) || Object.entries(i.content as RecordT).map(i => i[1]).join(" ").includes(searchText)) + } + pagination={{ defaultPageSize: 20 }} + rowKey={e => `${e.id}`} + > + > title='#' render={(_v, _r, index) => index + 1} /> + > title={t("records.name")} dataIndex='name' key='name' /> + > title={t('records.recordType')} dataIndex='record_type' key='record_type' /> + > title={t('records.content')} render={(v) => Object.entries(v.content).map(i => i[1]).join(" ")} /> + > title='TTL' key='ttl' dataIndex='ttl' /> + > key='op' render={(v: Record) => + { + if (domain) + recordStore.removeRecord(domain, v).catch(e => { + const msg = getErrorInfo(e as ResponseError) + notification.error(msg) + console.error(e) + }) + }} onEdit={() => openEditModal(v)} + /> + } /> + + + + recordStore.updateRecord(domain!, record)} + createRecord={record => recordStore.addRecord(domain!, record)} /> + + } + + ) +} \ No newline at end of file diff --git a/web/src/vite-env.d.ts b/web/src/vite-env.d.ts new file mode 100644 index 0000000..11f02fe --- /dev/null +++ b/web/src/vite-env.d.ts @@ -0,0 +1 @@ +/// diff --git a/web/tsconfig.json b/web/tsconfig.json new file mode 100644 index 0000000..a7fc6fb --- /dev/null +++ b/web/tsconfig.json @@ -0,0 +1,25 @@ +{ + "compilerOptions": { + "target": "ES2020", + "useDefineForClassFields": true, + "lib": ["ES2020", "DOM", "DOM.Iterable"], + "module": "ESNext", + "skipLibCheck": true, + + /* Bundler mode */ + "moduleResolution": "bundler", + "allowImportingTsExtensions": true, + "resolveJsonModule": true, + "isolatedModules": true, + "noEmit": true, + "jsx": "react-jsx", + + /* Linting */ + "strict": true, + "noUnusedLocals": true, + "noUnusedParameters": true, + "noFallthroughCasesInSwitch": true + }, + "include": ["src"], + "references": [{ "path": "./tsconfig.node.json" }] +} diff --git a/web/tsconfig.node.json b/web/tsconfig.node.json new file mode 100644 index 0000000..97ede7e --- /dev/null +++ b/web/tsconfig.node.json @@ -0,0 +1,11 @@ +{ + "compilerOptions": { + "composite": true, + "skipLibCheck": true, + "module": "ESNext", + "moduleResolution": "bundler", + "allowSyntheticDefaultImports": true, + "strict": true + }, + "include": ["vite.config.ts"] +} diff --git a/web/vite.config.ts b/web/vite.config.ts new file mode 100644 index 0000000..861b04b --- /dev/null +++ b/web/vite.config.ts @@ -0,0 +1,7 @@ +import { defineConfig } from 'vite' +import react from '@vitejs/plugin-react-swc' + +// https://vitejs.dev/config/ +export default defineConfig({ + plugins: [react()], +})