From ae2b6d1e8670ded05332acd8899d517bd4e543d9 Mon Sep 17 00:00:00 2001 From: bol-van Date: Thu, 2 Jan 2020 13:10:28 +0300 Subject: [PATCH] history purge --- Makefile | 21 + binaries/aarch64/ip2net | Bin 0 -> 34104 bytes binaries/aarch64/mdig | Bin 0 -> 41828 bytes binaries/aarch64/nfqws | Bin 0 -> 71308 bytes binaries/aarch64/tpws | Bin 0 -> 75012 bytes binaries/armhf/ip2net | Bin 0 -> 27376 bytes binaries/armhf/mdig | Bin 0 -> 35132 bytes binaries/armhf/nfqws | Bin 0 -> 63836 bytes binaries/armhf/tpws | Bin 0 -> 67160 bytes binaries/mips32r1-lsb/ip2net | Bin 0 -> 37188 bytes binaries/mips32r1-lsb/mdig | Bin 0 -> 46456 bytes binaries/mips32r1-lsb/nfqws | Bin 0 -> 78428 bytes binaries/mips32r1-lsb/tpws | Bin 0 -> 81560 bytes binaries/mips32r1-msb/ip2net | Bin 0 -> 37264 bytes binaries/mips32r1-msb/mdig | Bin 0 -> 46396 bytes binaries/mips32r1-msb/nfqws | Bin 0 -> 78308 bytes binaries/mips32r1-msb/tpws | Bin 0 -> 81176 bytes binaries/mips64r2-msb/ip2net | Bin 0 -> 90960 bytes binaries/mips64r2-msb/mdig | Bin 0 -> 119736 bytes binaries/mips64r2-msb/nfqws | Bin 0 -> 201864 bytes binaries/mips64r2-msb/tpws | Bin 0 -> 211344 bytes binaries/ppc/ip2net | Bin 0 -> 32124 bytes binaries/ppc/mdig | Bin 0 -> 40280 bytes binaries/ppc/nfqws | Bin 0 -> 71680 bytes binaries/ppc/tpws | Bin 0 -> 76704 bytes binaries/x86/ip2net | Bin 0 -> 28884 bytes binaries/x86/mdig | Bin 0 -> 37188 bytes binaries/x86/nfqws | Bin 0 -> 69272 bytes binaries/x86/tpws | Bin 0 -> 74196 bytes binaries/x86_64/ip2net | Bin 0 -> 28504 bytes binaries/x86_64/mdig | Bin 0 -> 35968 bytes binaries/x86_64/nfqws | Bin 0 -> 67848 bytes binaries/x86_64/tpws | Bin 0 -> 72024 bytes config | 53 + docs/changes.txt | 154 ++ docs/compile/build_howto_openwrt.txt | 42 + .../openwrt/package/zapret/ip2net/Makefile | 32 + .../openwrt/package/zapret/ip2net/readme.txt | 1 + .../openwrt/package/zapret/mdig/Makefile | 32 + .../openwrt/package/zapret/mdig/readme.txt | 1 + .../openwrt/package/zapret/nfqws/Makefile | 34 + .../openwrt/package/zapret/nfqws/readme.txt | 1 + .../openwrt/package/zapret/tpws/Makefile | 33 + .../openwrt/package/zapret/tpws/readme.txt | 1 + docs/https.txt | 159 ++ docs/iptables.txt | 62 + docs/readme.eng.txt | 475 ++++++ docs/readme.txt | 1132 ++++++++++++++ docs/wireguard/010-wg-mod.patch | 133 ++ docs/wireguard/wireguard-mod.txt | 244 +++ docs/wireguard/wireguard_iproute_openwrt.txt | 519 +++++++ init.d/openwrt/90-zapret | 8 + init.d/openwrt/custom | 20 + init.d/openwrt/firewall.zapret | 3 + init.d/openwrt/functions | 320 ++++ init.d/openwrt/zapret | 90 ++ init.d/systemd/zapret-list-update.service | 13 + init.d/systemd/zapret-list-update.timer | 11 + init.d/systemd/zapret.service | 17 + init.d/sysv/custom | 24 + init.d/sysv/functions | 486 ++++++ init.d/sysv/zapret | 48 + install_bin.sh | 64 + install_easy.sh | 815 ++++++++++ ip2net/Makefile | 12 + ip2net/ip2net.c | 396 +++++ ip2net/qsort.c | 250 +++ ip2net/qsort.h | 6 + ipset/antifilter.helper | 19 + ipset/clear_lists.sh | 8 + ipset/create_ipset.sh | 145 ++ ipset/def.sh | 103 ++ ipset/get_antifilter_ip.sh | 14 + ipset/get_antifilter_ipsmart.sh | 14 + ipset/get_antifilter_ipsum.sh | 14 + ipset/get_config.sh | 10 + ipset/get_exclude.sh | 11 + ipset/get_reestr_combined.sh | 59 + ipset/get_reestr_hostlist.sh | 33 + ipset/get_reestr_ip.sh | 47 + ipset/get_reestr_resolve.sh | 54 + ipset/get_user.sh | 11 + ipset/zapret-hosts-user-exclude.txt | 6 + ipset/zapret-hosts-user-ipban.txt | 2 + ipset/zapret-hosts-user.txt | 3 + mdig/Makefile | 12 + mdig/mdig.c | 337 ++++ nfq/Makefile | 12 + nfq/darkmagic.c | 312 ++++ nfq/darkmagic.h | 51 + nfq/gzip.c | 82 + nfq/gzip.h | 8 + nfq/hostlist.c | 112 ++ nfq/hostlist.h | 7 + nfq/nfqws.c | 1041 +++++++++++++ nfq/sec.c | 128 ++ nfq/sec.h | 12 + nfq/strpool.c | 76 + nfq/strpool.h | 19 + nfq/uthash.h | 1217 +++++++++++++++ tpws/Makefile | 12 + tpws/gzip.c | 82 + tpws/gzip.h | 8 + tpws/hostlist.c | 112 ++ tpws/hostlist.h | 7 + tpws/params.h | 43 + tpws/socks.h | 93 ++ tpws/strpool.c | 76 + tpws/strpool.h | 19 + tpws/tamper.c | 222 +++ tpws/tamper.h | 8 + tpws/tpws.c | 850 ++++++++++ tpws/tpws.h | 3 + tpws/tpws_conn.c | 1381 +++++++++++++++++ tpws/tpws_conn.h | 95 ++ tpws/uthash.h | 1217 +++++++++++++++ uninstall_easy.sh | 218 +++ 117 files changed, 14137 insertions(+) create mode 100644 Makefile create mode 100755 binaries/aarch64/ip2net create mode 100755 binaries/aarch64/mdig create mode 100755 binaries/aarch64/nfqws create mode 100755 binaries/aarch64/tpws create mode 100755 binaries/armhf/ip2net create mode 100755 binaries/armhf/mdig create mode 100755 binaries/armhf/nfqws create mode 100755 binaries/armhf/tpws create mode 100755 binaries/mips32r1-lsb/ip2net create mode 100755 binaries/mips32r1-lsb/mdig create mode 100755 binaries/mips32r1-lsb/nfqws create mode 100755 binaries/mips32r1-lsb/tpws create mode 100755 binaries/mips32r1-msb/ip2net create mode 100755 binaries/mips32r1-msb/mdig create mode 100755 binaries/mips32r1-msb/nfqws create mode 100755 binaries/mips32r1-msb/tpws create mode 100755 binaries/mips64r2-msb/ip2net create mode 100755 binaries/mips64r2-msb/mdig create mode 100755 binaries/mips64r2-msb/nfqws create mode 100755 binaries/mips64r2-msb/tpws create mode 100755 binaries/ppc/ip2net create mode 100755 binaries/ppc/mdig create mode 100755 binaries/ppc/nfqws create mode 100755 binaries/ppc/tpws create mode 100755 binaries/x86/ip2net create mode 100755 binaries/x86/mdig create mode 100755 binaries/x86/nfqws create mode 100755 binaries/x86/tpws create mode 100755 binaries/x86_64/ip2net create mode 100755 binaries/x86_64/mdig create mode 100755 binaries/x86_64/nfqws create mode 100755 binaries/x86_64/tpws create mode 100644 config create mode 100644 docs/changes.txt create mode 100644 docs/compile/build_howto_openwrt.txt create mode 100644 docs/compile/openwrt/package/zapret/ip2net/Makefile create mode 100644 docs/compile/openwrt/package/zapret/ip2net/readme.txt create mode 100644 docs/compile/openwrt/package/zapret/mdig/Makefile create mode 100644 docs/compile/openwrt/package/zapret/mdig/readme.txt create mode 100644 docs/compile/openwrt/package/zapret/nfqws/Makefile create mode 100644 docs/compile/openwrt/package/zapret/nfqws/readme.txt create mode 100644 docs/compile/openwrt/package/zapret/tpws/Makefile create mode 100644 docs/compile/openwrt/package/zapret/tpws/readme.txt create mode 100644 docs/https.txt create mode 100644 docs/iptables.txt create mode 100644 docs/readme.eng.txt create mode 100644 docs/readme.txt create mode 100644 docs/wireguard/010-wg-mod.patch create mode 100644 docs/wireguard/wireguard-mod.txt create mode 100644 docs/wireguard/wireguard_iproute_openwrt.txt create mode 100644 init.d/openwrt/90-zapret create mode 100644 init.d/openwrt/custom create mode 100644 init.d/openwrt/firewall.zapret create mode 100644 init.d/openwrt/functions create mode 100755 init.d/openwrt/zapret create mode 100644 init.d/systemd/zapret-list-update.service create mode 100644 init.d/systemd/zapret-list-update.timer create mode 100644 init.d/systemd/zapret.service create mode 100644 init.d/sysv/custom create mode 100644 init.d/sysv/functions create mode 100755 init.d/sysv/zapret create mode 100755 install_bin.sh create mode 100755 install_easy.sh create mode 100644 ip2net/Makefile create mode 100644 ip2net/ip2net.c create mode 100644 ip2net/qsort.c create mode 100644 ip2net/qsort.h create mode 100644 ipset/antifilter.helper create mode 100755 ipset/clear_lists.sh create mode 100755 ipset/create_ipset.sh create mode 100644 ipset/def.sh create mode 100755 ipset/get_antifilter_ip.sh create mode 100755 ipset/get_antifilter_ipsmart.sh create mode 100755 ipset/get_antifilter_ipsum.sh create mode 100755 ipset/get_config.sh create mode 100755 ipset/get_exclude.sh create mode 100755 ipset/get_reestr_combined.sh create mode 100755 ipset/get_reestr_hostlist.sh create mode 100755 ipset/get_reestr_ip.sh create mode 100755 ipset/get_reestr_resolve.sh create mode 100755 ipset/get_user.sh create mode 100644 ipset/zapret-hosts-user-exclude.txt create mode 100644 ipset/zapret-hosts-user-ipban.txt create mode 100644 ipset/zapret-hosts-user.txt create mode 100644 mdig/Makefile create mode 100644 mdig/mdig.c create mode 100644 nfq/Makefile create mode 100644 nfq/darkmagic.c create mode 100644 nfq/darkmagic.h create mode 100644 nfq/gzip.c create mode 100644 nfq/gzip.h create mode 100644 nfq/hostlist.c create mode 100644 nfq/hostlist.h create mode 100644 nfq/nfqws.c create mode 100644 nfq/sec.c create mode 100644 nfq/sec.h create mode 100644 nfq/strpool.c create mode 100644 nfq/strpool.h create mode 100644 nfq/uthash.h create mode 100644 tpws/Makefile create mode 100644 tpws/gzip.c create mode 100644 tpws/gzip.h create mode 100644 tpws/hostlist.c create mode 100644 tpws/hostlist.h create mode 100644 tpws/params.h create mode 100644 tpws/socks.h create mode 100644 tpws/strpool.c create mode 100644 tpws/strpool.h create mode 100644 tpws/tamper.c create mode 100644 tpws/tamper.h create mode 100644 tpws/tpws.c create mode 100644 tpws/tpws.h create mode 100644 tpws/tpws_conn.c create mode 100644 tpws/tpws_conn.h create mode 100644 tpws/uthash.h create mode 100755 uninstall_easy.sh diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..0a7fc45 --- /dev/null +++ b/Makefile @@ -0,0 +1,21 @@ +DIRS := nfq tpws ip2net mdig +TGT := binaries/my + +all: clean + mkdir -p "$(TGT)"; \ + for dir in $(DIRS); do \ + chmod -x "$$dir/"*; \ + $(MAKE) -C "$$dir" || exit; \ + for exe in "$$dir/"*; do \ + if [ -f "$$exe" ] && [ -x "$$exe" ]; then \ + mv -f "$$exe" "${TGT}" ; \ + ln -fs "../${TGT}/$$(basename "$$exe")" "$$exe" ; \ + fi \ + done \ + done + +clean: + [ -d "$(TGT)" ] && rm -r "$(TGT)" ; \ + for dir in $(DIRS); do \ + $(MAKE) -C "$$dir" clean; \ + done diff --git a/binaries/aarch64/ip2net b/binaries/aarch64/ip2net new file mode 100755 index 0000000000000000000000000000000000000000..19b2d725195ebb1e1a96d2a06cf8fe75d21aa099 GIT binary patch literal 34104 zcmZ^}Q?M{Fvn9H1+qP}nwr$(CZQHhO+qS-KWB!Ags{3$Lm0s!eYCNXW?Jp`L1_THQ z@P8K&Ks&&HY2OY4|9$m8^1qM&PY3{T000C0kLAC(p#RVEUk8Ez)&2)Jg8xVTzXz+{V(&sA>n`c0RI>N*T&%TzqKL!&xPWti^>1T?|*s!fAGI<|EU=ENmW6E@CFH% z>c6<}um7_N{uAEdKRVohHWn}df1+rJ1#e{8R@6+|QqjX6z)1Rx9~fQnx)8%TJC~0og{34_&Y3^t$hu)!Ki}uwJLXK!14PZw|rE%6clnf#6u6emG zfF)dx5DdKfk(`iHSV-S3mO{QZnDKXoqh)RZZ7>`Lly;Twq@n3TMsHpzX+egwn+a30 ze&`(zo^Uf-+rfTLSHgc+^*Pc~l|T(E>56;#)BBu}+Y{zYfY)1ZHx`BlWYWd*r1(rerDbN%dX2jcux(0Tq6uobBv{?bM07DgtT`h3K?lG z8y$7uTdqiOe}P83`6_et1xuoc3qHkGFy90bnyhODzMO(g^wSs)AZ_r9D!e&sAa)i; zz0MjHCsjS+0+eRVg|&dH*FeV@4NBFWG(J<&(pJ0w)EB9pDJheQxPRCqbdNo+T*ls; zU*(6lDOA?us{kvKAWi$Ju!5G=0jX5XWZ8FM8i{|~y~AlW6ynS72Sf`emv~AC5(wGJ z*~aw9kUL093MutO?cnmwAum2v*KAWX_SzXpy;~7}^V-1N>d*T*G_mnvs#zCsJc3Ne z96h{=aco_T<&4awUw28b*vEt~z`Tk2-U_4tX}v5#cyOm=6Woyd>_3C~z(X=aMI-^) zp$JdD1NtHC;v%*4@%k^57+Z)5gexfnI{nVwj%7`VT6LXJA3Ml^zHjJ$U~aHF634)P zYMq?0sM{2pK99<2F z>%qBSPxYlKP6-(nIIfi9k=iyC^vSB~Mg7U0+d~)Q>Hy z8#ImVf3>b=_l1?zlFd=KMN0^o+3;`t{5y}N{TckS#)W8G64?=&cY&;-+cI1@9-xk% zx-H`tiWZ+?QR|Su>u6+CuRh*p;CkPY!jz;WfIh_ZbJ8jGpiVr07viZgPGl-MFP_ zY``FBTFS7%Kruw+-!n;N{UigFhAP?aEMA)k@Zv_Siq(fI<9j!s(hq+k5){zm4|GIrN zr2rJ4#_Y=HZjwV-t8SCoN;l>Our%$;z}^L#uVla4!LtL2_k}aoz>h!!ZlNH)08z8y z5L5`tcO11Qpnq-Yuo5+35cDnCsGoz?;LNzHjy1%aG9audOt4oA@Csg$+C zzw(;r;9#zfX~$*c&2ad2sZY!)JrTeY$_-hk2i7*!cPu>!C=f6Zc}_~5-@&L)XT^!{ zL{%P&>&;x+`g^ScTLW1SLCIfEmt})OZZN)>ZuNFBqQxl_I-pH_tr-787*Oc}uA;!R(IwxTD87;NQVvDE@#m35ER z%*}Q=QGIWR(2(FxMF0yk@?JJOnpuK=!okS3);9*=IE_iScbWryGHdWXEHe)UKuSXn zg1uTGVS}u)YV+lwhUo6<**)hATG-10Z7krM%XXDKc%HY#Iaice)P}#$14$F~mxxms z3nqmW1^{yU7q5Qn9x}7;qcP70s_yMJTOc(dXFFUYURq=By&iqkkvx$`o~sa?Lx;XB zN;@*E)#pOG@wROkN}S?r1T0k?mvGvRsDq@NCMO|XODd2yrrqM$a*ax*|C(DB8j0~w z)y@V&t(l;+sr853xH*wzch3MtxpE>6UY8_{O~cFT>t3|;ny3OMQ@7gQ-rJD0Xnj;{ zNHz))74E|^M&M^PitJ}lN0qTOL|{H!mE@2gC}qg>7wk_Hi2W&;#(DLeV*-+$OZyfB z!xA)j@}#WM%n6ol$U}qvbo4cS6}5{lw3yzmkEY`Wg}g$$QcS&(O3V$iDQX5JG3dO8 z^cQBd1-^S!(xWtBlAZKNvcyksu7_AZFQv>G5EH}p4l>j!%I$hZgpM0+KojF8SjR&k zzCK!X77AHWy+Wvg8$Qq_rZ_C+AO1V7BCmOO#0XyIYat-A$I0{dfUY5XNhyVRz_0ol9NCAucpb7{QjDzwBcfXTQh?oxl*eagw0h)z(MWoB8IG)|<4syR zBD1mW{jQS2#=T7k9~3fQdjyW4^za@|j&2ALGSqAuH6FWtbkqhF3rjXH7@ps-u?e>- z!E{zCJGV&@pvhJ^1*fWD z0*s9^Us9^9S2#8v<6ZFt3=4?~QN`h?Sb?**i?N`qbeJlSY195#nXW$CP~3Bi#t5v+ z%$hGgWt`1d*kP1+uv)ctxG66jEN6|Ud_ zo)ra-YP4uAZN!LT@LQV32Pv>O(py7U%-B^0H#+C z6Mc=;4?Ix7;)@|XrdKg9%-s8QRbwen&O{3p58^eGbT5BSm50kRGuPUK9N=tbU0L`k z1%J%dW)Ik0T+${55Do#)=EepW$WLk`&Z;Mxv@P(xF*wR2P#?E`J!Z`}#dI9jluk=I z>d-f?i}z^wzG4G_!!XBvwdD_;5ig&4v^}+HZS$dT<6c-5&^VWu%Fh7_C;Em{&EYRK z`3TVu>)^OdjvLGKr&m-|`@5-!cT8I6FZc$Pov?r0>#t9af{hV!heOT)>lb zRj)#h+~Jx9+r56hwioM7G{qY(%w_&2G<%RX{&XoPx!CK4FyU%QGslh~7#Y0M=)MO$Y87R8 z$2Ph|j1xp~g;(lgSCeLL{4us(Cb%%s0r%RFAAY;0UV50-zAl&^^9G*KyAYd>uEd-_ zYKo{dZ2OEN8E)g5R;xMfv`JcKiiEj#ZV0?l>k8mfE!u5a)r_puNIX*Hz$430!(m!O z7){^kKOXS7Wlr8vs+VKI6~=A90&_wJrUJ_w2Js%n)@sEwjY)4&nm#s~KXb_?@=`2= zSz55WBsR$stQpUJweZio%xGR7^bpV;?z=MZ7iEcCHFT&n%-!EZfRYCx9F}S|EgJ;z zsPCF}Qa?~?q_R*XInL7=r_ILNdF^8wkLCkFjlx$u*RQsz0CwZ!zJk)kc_aYgij-`z zpy{XQlyrgKuv?9wsWBFv^F8LtF$9&Ke5I|NE5hqAEk`heM+JxOY;8uSZtaL@Zz@7} z!!6Y^o=eJirfi*69wRHY&EC@7^yq`z5og4%spJ~cB(hTC39S;qiML&-7wYP%zvjcK zf!fpc3|+W0V>YLURQ*1N+gYs1p2Las0DcW_(!3-RyA5pc0xFZTQzK^kz|dpO0f)ow zUgluOKx$duOD=4yw*Z&$+&}~`?s~wr~zAVMTx`{NnA>Vm_0&{f?bwqpT0gi@h&t zk$bxCG1|CewqcTDVG585)*Z@IioVuqs6_}8tOYj>ll*C~IoDov&kpiS;zqH~RlBT6 za5xUxpS@sRY0QDzsN(iB$(*hyv5=4fts$z#gJKk*p!C`PSq`F>l0*To?er&qoU1YH$EG|T z-Ftnhm<*u}cr*U_CtWW5EG|QS8`&T^Cab z7spdHg-G25izn8csz&<(`nElybL+6IWvhjeXX-%z!Hqz0KCj%(I=&0}ib#KL zWm+<{IUQ%5t`LR)o!*ZO4WnhP&p-=(^&$VrLtp_eJ6B*;@imE`^Z#2wZ*sr%2*gEz z;;XXjV^jj!Qk-V^<|6Jz6170cxtYtHvKOArgxLeh%6 z2KhL4>dp_JWH`e@h7F$52cLWRAOimyO#<~Qr)e;rxU*r7XdY{385YV^UK)L4vP|`O zHIAV2LuFTf_m9rn=ZS8-qKop;6{u1ckmNKUTsG zLTW;V2Q<}o(M^uB#k)AtRXt)+f~tRGeBA5DyK_1p29^5FoX;8aS(H(hfST?;$<5Fc zj)bA2s1fRrwIU@}0~@|SB<8qz{JjrtFezrJ49%~W((Q0PTm$*gn|yD&#adgal(z#D z5udnrKT=02tgD)Mc)-AP6z&BDNcYw>=WJT3Xv9U!<1v0ws6z#J!ep2`F#e^5l5Y=9EpOoG8@Ka@n#Mz`!SuH7PI zXG+CRjVn~`9raKAfEFM<(Cu46ns?<0ysxS7VVky2Tc_@QEswgBC@8ex2I`g?j<=F1 zeucCTv6(5h{OB7#6jWBvb~QCG{;+3&ygO_{HmDZ{6aFaaH4!^v9NVG*_pa&_3$G|{ zD|7jr=Sv_x1$6G|_&t6~;Cz}6Ca+_JL+Hac^YHO#pX*#oq;qwF2SLj^^N=%NzZxEI z(Je9M3Vtua>+@3J-^#!kZv|4OxgVWFPi1AK=1tX*ymh3b4_{ZXUU14(bg^;FTD8^# zo;6ua^sA*d%}Qn}BM5P*GEak22+|JUNdgM|L91qck*tih2bgr*)wZ~@<002MnT84l zfPlXw*4fR5$JvY&T+iZ&C8f5Tz$xA{PCg$D&B>nT1#>-dN~#f+mUFm;3PzuK_(=fW zaH_Ig|@&M|k=62=Z~P-|aNdE^{;vB#;csxiiEb^ z5O$Rt&+UIlUI>B`ng6*JC;~YQN>;WRj#K$P`Q&Y|&+yP<{m~4SRNVDD9uXLApUWMS z0+1VOX8@`MD1e|3Nb~MyysK}IrZ4My$6?rj}08!S1_HtnwDW->j zTKPhUC#7;53IJSREGm52ww=}7g_hp?26)v)n+~=jx&9K*&WusYkZ=ryV)|Z5-hLs) z(x%ztyghyWIu?mZydrdx)CTcpbZ;oSMZ`M7tC%DmplcV!UErr@3sOf>e>g1>6JFXC z?Pc}v;Tq0ZRy$&HTjB1 zL5IW4kotFAlmfBgN(SH8(<3f$-K;j%^XTiIhB_S`46bGUa|O`etxy~Qrhtpmk8z{S zv*dL7`)3rWLO-tNZYB;w;y6X6s((c(h{F2L^Lu<&d*B>TfL*T4J})FR_Z2#@vW zS1_bwTfEp`-qu}60;?)mY+e71wcQ+v*xG@e#ER|&J{13NA4I7zi`hi4_L}V$r_%l+ z>1gSK6l>lYr2zV887(dto>aTTc9Oa_a?laj4Z=fp%g`RE+;6^vS{Qv{kjc3<9Jv%C z^LecF@pF8@KGWI_&xR|AoU6%GbML22ZnBucLnBAg=;|l6feB(tTDT3)V!C=NR+`*0 z$HzJR}O()zOjiifLL@>PgsV^klp>)O}Z-wdWqIvs+m>KplR z)OAFWWuCFRP2TfTT#OSUX)@KvyhB ztH=;`M$+f6ck)X^%P?`BzM`sZkcfQf^|Sj`lLMWO3>CN*_S|RP=UYYX2ZuZ@z!WAs4;K zFPn%-^h4(}6ONv7Q1P?%Z>qnEh$WI@P;(gy_&C+wYWB@5<}Xib3@8tF^?I?2iK2ml zcxrBgbl1X16t7J3*xowq2T{_b8D*s>mm+o zE4UaR8091%PThn(qmi(h884K==`F8hHf1^&BI$wU$FVN_bZ@7>)31+)t)05yX=ry6 zf{B#Zdc|pTYC%9NH&%^CP)?5+5FPvN)x$s?xKyxe^C48#KR==vUoi#W&y9cJ{+;IU z3EEh~o#VzntI^o}fbn&(i*^JfgnrJ90&X;yO|dQ&cj~t2$X{n<7jNP|MJ6q60>&N5 znT21qDwhA%STQHzE(@SZIAMxxNS8Dk7FwfRtQ-l{3_hbUU|;iI=)E4($wa@O%C7IBW&tVFiu*jHz&Mo?mv$M z31N7sJ@SR?bDu#l^y7=RFEB@^%f_8QorWEf%Q|4OXkQ;HjKDAf$UxPSfN-jRd<8WQ zjgt|v>c1j2tBAikrEA6x$mdiFfuy zJi5rw?kk}DWYM$Ng3ed+&Z5AKHi`m(=DLBWF-Y52wc~ZlRis3|nk)2dsgjIE8}wE% zL9nlH0w-a~J9X5I*4ZWCRPMeW?~_rSsYK`A0~Lf9I-oEpzE_h&B}?l?$l>5FYt+We zj}-oSX%$oVM*f}8j+1)rsH9}sX>Vy$uv z1G-Btw!?G?#Ut zKm11|!|j*ldSt<0g)WVwBQU;D?h-p`;dArGa>s`pbIEb!8c*By{|G@bpD_mdF=NI( zS7(E~x6W?nHBsM2wF4?e4mltrD!x9XyWkatBWiB>?Y@~{4MlPFktZHhtw!A7vjT?L_1v`_XiA^yi8v`kFm4ZfA#-4if)&!Jm4zl zxA%eRPC*sw^1Y)bd5&mp5pZ4P-3q7c(gj;e$1!WKL;0;D+WJ;b;~~y?kYrH#jJlsz z<(|vvYU#RFBjL99hJfloV5a^;%s1P#-YBFIQCufxh9KOXQ#}Fgqm%V8&-!M0u<`kG zrS>5({c}h1k_iF6Soz|H8t7UTpy;qC<^Xl6VCWEg^n;sjHKrIy(#yN>w<%}?e}0#N zV!J5C`+`}vs}hY1HEQzzTwr2&EV2Jshb99&3#w&g0p-?G-d~#i1#RnizlNw})?7PgfEKj2UnvgM|G`S66)&bNGgNt5B1mXHM?XDj1j8 zW@AV*uEFxZi3m<%vyc)oLp<3aO9BopFaU3Wu4W*M_2k*jPCr1NeuGVW6U_< z#h0|3p1I(k#KOS7Ym^4#8_@P(*ybl{`!3Wb>@oBJ5eVr-`gE#nMWSGe6q3-UKdj%nl4zq866``8J{CII-+;BJjm6(}U1~_hlPlN) zC{e}6h6>X*mC%fJnHNBg(bN+Ar-yTX9ZxbJ=rtKi<$_2xjwarzg@~Ohqj7gS-J7hJ z1$Q4X@oj{W^z+GK4}v7|n2R7~oh2`(_Vl!EShHw}nMHwS_^a- ztq4;Nm3`00nldj?g7IcY|L~q{{^M+iAbnL273L{2apYD+yZR;IIcrLvnw-l$P&ST+}uztlA~;-s>Rx?zPUxo@+h zY@suh2|d4=?7hF!VX$1k7b=l(BNcMhcRMi_93X31Te&0jmsDU_;WV<$7y|uhj-@fBI zN~sNzK~wX-B8Sh=pq2M1;mGK8h7$RbsCv~We>NEtJI}9e zWV3*^);W{$CGR%2y(Fh3&~9_oK063~i*o-$Ixbi`rHYE@LDjI8VXQu1iRlR4E*TZ) zT$&khdMz4UJv0F8za~(5J%Wq2`>Ruw)$HbTstg6K6_+PMB_>OC_XOnqxK@g?VBm$sYTb-a#l%vLLq*6ceQz@JIv1QIh;=RMM>ns7kHI50b&B5l}3PdDmfuQny8#PL6Fin;{~wZ=$~eAyT`Kd`n8^zH@o z8XmIb%{9{sH%nDS_VEVvp2`%3r=Ux4>7t}nTK-i!z8B-4Wi^1*&uo;|5$v_bJx+4$ z+q;@BV^k}^{N?j!9$tp-HGVs24mLv}ywQmHI2HYy-;x#jR6UJ*8R&+>I^mhWi8?VO zv59(JLK}G=L05eXs+WMP2-1x|as5~3j%6~grUG{^AJIg*v_?CjWJ#rbMfF3z)skni zSE+~!bnG+2<5_4lt_c_zVTTFUYmR4ee%J^W2G9VxL+d`2BWGQ^@h4PNrms?kK3E_a zC{KoFjY6&)NJE2QckA*Ib$-Ne7TL-uEMMD9Wjs9D6)3 zDbU&wcwhB_6lP8yQGZ>D<-{dejSUAtO*DG=2boNaX-h`qfkZ`GIht9>_%kWfq#V%I zL{GJLeEAj{%v`pAHzKr6NmkeC$kQX8Z&Hp&@V0F78W7Eq++_?T2JCa9zL#RJ?<&P3 zG*g1yq0e?%+*G~|U)oEr2-ph|**$%7S!%Y({RRkvfkyzt3%5iPEkPNi%d_1*hIOpxCZ|k{g*S<=(5VUs2n2J3; zC!MBn;d(s<FzH;E2f~bqW zdx-bJ(AF7$CHisJZU6yW#-vZ@wR$snE)sdu{o~Ro^9&$Q`YDA6T1fXOCrR&N@-fWM zFUk~;aTnwD-bDl^9dEb|X3g6gEStg!*Rm*c+qxX06 z(Ft^R)ZJ8;-4&)ZH-?QeaEW?G5j6mShs_0dWBZyK8(4Ky`sbfPD7vS%d%o}v^OvQ= zlnIi6@G{U4dXv+%E(;UFRTB+FC>z*jL4U$sb;qLd8mVzl--b9m-s?Ey>Zj%zn?~NVO@q^{1Ctv^pTvIV{o?^}w%tKMBy-{0z zU6PeP#CUv3$H9S6c;@#1^YJEOk?N|1Q8UV1XrCsx@=WRheKKb2^f%(>+KbVqqe$@Y zliG$pU0LX)b)&QD$vCjaxDlwG%@L`qL^!kIARsuKc9jmi1&3pFiykp~MFp#Kfz8IY zMGq@^^N?oR!|x8q^3;CqAidn~T>!#GSBsz3h#O!k4B<{l0|^_V63jb@u23n%>!=-p z))3tVOy`iE#CFLu!o+w;(GpYA>0bmWv_&N_Xin;|e5%2A4JTiGG+o~(V&6`MHlf7i zlWParnCkD%?7%Mfusy<8rFhVWGJ@*yWYCBr4treYvWTw-E+QD&r4Uu8rlVJPG(2L|5mzP05ty&IA(~EG!l`8^GO2N>HxO6(O?BQudjWo}<%HD^cP0Ef zEGG~>Py<(^z>L5X9zjZo8(6p1dDpgrK(QJfU`-bC=ZZ?{!G<-?frt+@j%1tx3yO0L zl9G~z4`AnKQ*+JGN7FwD(>X1e2%!-0Mdc%0+iU131Q9X zfb(H^1HZorwWa2Mv9nOp`h^jQtL8rYp#H9PZV?q@#;F>2UXN6+v|eBeqT3;1$hqM<1?vlfvTG3EX95Zx4{pJ1f=tIXL8_gJFD<+FoqMEMD1JS|xes)4zmyI;ORdwBNg$(yf z^?Ves^To^hXEyr_EDn=*H{m0)j34D@ii}ZOR<~(`oN0QzL+ZbLFxKxi<7_wjpd!vN zN6u+XbL1#wlyPIxJskR8@@7AeWlrUMZLPrTTC)rwujl@JN6%3|5aSZm4Rq#sV5udh z!jI@f9C;~{GfcoOp)<7gI?9ktqC}ghq%>-?6xxB!geKYOc_iM|sdm7YV&u|2yv-td zm|eaVVxB*itnSsR%1)oN;Ss(1NlA0Krq;~C;QT^$rJ?SkR@!3+7A_M#_w*U|xXe8#V9`df2`fT=+@I!BC4-#&@-Xe2iq3Tp44 zBX)c*d#0F?$mordidc3X6(I`m5p*lTVC zm{dn&i@Qr;-^Y>**Q-dT%HVD^Lmjc)qR{rbegz^o5WGY%U@a6Nuc`k8@Or4%-+bt# z-W4V^qud?2JR(!!k#D#4^X_Xzmv#_$0sqW?_#@j`tBuv7<8N^WcSC-jhkgHIpp!!4 z#lAMwU#I#)DG#!yx5FB4+Hr|uf!SD6pCjk;Ib)p7MysWh<@58?D|R;*_hb2+M&bXa zYEKB{^wmS~TtHI6)^pxJ{86=j)y`cHm~}c3%Zq9X73l1*zauGDa}n9Of?C%%93RjG z$6>WPk(ah|2x**%`l`GC4IH_)NMS7q+NKe2eDezaZ- zWKkziPK_8fAe&07?R$%2vrw7(4sy4|(R-~hj}RMWi{zV!yR{`*U8M;!?ZF+FJ!My8 zl*=$Ha<@(ZE{}DX1(%t@phU(+591Ykc3woN+>Llz;@(U3aU-nU&H5^>_JZ+K^HDbG zwW=p>`E!bNDh}Ps|RYMZG37(PY+p?eIFh51=2^-*`IP%3~J6j7OGWNQc4o z$1Z{n^(%jW2SG4;Q1q?douzKF50WARFS#Zqu6;z}3jOmRfzeo+16CqFXE+bh8+QrX z4Ef=0=GNJ15$p+4ky^&#%%67KcYyk@sV%6ko+@ueC;QWDv;YjQi%geouLgABf%)FK zCZ3qFK>)5_aeNu}7=7>rmRg|-iK~t`A@K8gMwUvdqiGX7F&S}4cO|gjTNiW|$E%7v z@_I2Cmq-dl1affgCoqa-z!tSQ(RR~@;drhK1bA>7RZ4EpF?~v#&`p1I~=vccft46{_ z$M~<1g1dc*havZ4J4){w|cR3NHigFYz_QDPgGD+5~RIsst~U^%xo;c5O=A_ zwZS4>2}lcE1=lRfbDH_*s2 zC?1mH-o5i*uEH4i{r8ItpT;O1m;HP&HHma{IO&kIqGVBmBvc9x%TON8S)-bI2b*an z5x#n2VwGErS{Aw{;?YcH4!ohdX;kVKc5dMOec`;p4=Kz%UOH4jPf1fwPI(V`k-%-Z zO$5|pQ(bu3qdE`r*nE^24&$}lxh;HKHJ6XrXV#!~8#a3;?YAqtq#tbf8zZhr+-mpJ zs9;Azf8H7aCq$vbLe771)!?7qUQ4XmB^?R?0>fb@Cov^nm z&O=x`8K?&-)A5X0!_nu6u6)9>7NQN7_*D$Zu*`=9g-w2&n&Lx4u4U~k(Ikz9xX5fU z20_jBC=@9k*qZMnfWTRLA$;Ute49)(h(CXO<4sv^#F6Vn-9QfVHX_4*>q|%`UN}B^ zE*%{IxPBr4S^)RG2m%V)4p);Ct4q!!U3>7m(%@HzdfYq?rqTY}a5Cii!R*CTvn(p_gm?8~C*kNsUP_-i;kCSIiy!bnE^52nmDhf z=55{i1z-cju(36FilS8sw_-L^nIgmt@(e~NGc&+44z%Agkf>pnNp!tQ$OlwnkF=7^RMD4K8 zyMi%gUA?;ki&Bmk;OOTl!u6HFx;`(1qv>a8AI!k&29^tX3{Fz>sR?OaF$}LA!6bB` zcW~)1cs;1A()3-t9?E35PYa&F=H0hN5=zBZ9Y!7uQc!tP-d4U3qFOl>Yq@334) zxBn1z7;zyt1U1NYNvmN=)vwL1Cw{iPYTAfDHat4Z$<|M{dLeezHfdyWbvp}HXZNwi zzWtZY|4p(>CJV)32yW@55{}PGk=cg5#tC^#ngSkeMbY*AL&>t0@v@%mDmWDl zH*wTS`2NBqd@Fw->lX*%Xl15mf7=0@!zlgsExqr%hFB~jqe63|1_LUrWAxIX?>Ry{ zQ~03^*d<^eNDRO9(!3!8m8;?;Q-#3S{pW@7fxPD$2 zu+=ghv7i7aH|VT%oc^9G2^`q=ludUg{IzVylSg>3ZMzC~4IE*3PZVt%4KVfBiC&8K zLdMLRR*+jPraG&0Pm6vRTYW`g7Si*n(OQriOqz5pX}}&7mWeJL#OF>x3jVyvihY|I zmS7h?SbgV|`(cGdOL&B6UM|dOu>VLjCC`20t4#to-4mt+DD<*+if}lr3Hbc9d<1R0 z3t)a#4o(NCP^A#tPd20(8L7dryQ#H(g31xqaIaYFl87$U)or3xOg;JjQ*~ zf<>;Yv$O-1?44@Oi_^inIj_&w>a;w&0X|pEDrv#8p4wxuX-B>g)cdTA1{f@jV`(RQ zpRPI{m<~Y~aAJn}m$r+|bpq+sMa~8ha_1dO`Bwm)@KC&ST0o`p#}Z5&1%GYIZRb0u zQyn!cA^@Y<4!#CT6eC%yJ8yMuCe-Jb;i1P@1(Px_`)Y21Vh4EE_sUY2!T@|l#J53; z)?$nk65SC)L0chw*9T*lLYmY*XZqUo8hxIWJ}3WXedrR-pk^}P%6*oX2n7#>swvq@ zz&l%c!8BDVS(oY7H4~0?$*IApYLQNUTv~);_MR2nUviJ4`c~PwF=!fu|G*L|zqlq!@gdGTVYN)HBBy|PvvoHF3Zox=60YM_)`ycv)XYxmoRhb7S$}!8 zwdF3+85_)1;=6(n?A$2Xznz%jATajLU6;_h9RbMO+Sk zg1&!{zV2t70X;gXFV`w2E#fuZK;81L)=Zp_uMN+@X|}Xc8(P z#Ad$^N3x68i9&hF7Cq10#DN3HI}qdmtQjbsW@b)O@BaItY5@geYnf2XoyMae^y5^$3tHucmpA8;y=k>T9UulsTM|G{j=Y`dM)XOE>E*^#b0Dp zITh$lhBb;K)D#u$jGp9{oC{c-?$VgJ1LLc4Rr4>K($GjiHDANuZf94rKAoXhg{VrP zf4QO$v7JCQ4rwB*`pOyeE?$%CyC=vcHaXJ$vKA`L%FYP%pB#Mw2^W6CT}qZe z_sV$S zxbh4yrjBI5-{zq*iRwUFU;fp%B9}F8nt=WRGw87X`ucChC}i~2q&=`a zLu-9Q@f7TbNw8R7}j<_@V za-v_^NPculfF(_nj~zE|WMkT`@O)aDUoU}LDeJZArkzQXI}34ZC*v*^RbmhtJzn%8 z$m@;w>_K4!`SkvQG-MN?joc?je3#WRJqvsM8_n9F0n^V<0FV~i)6`XbvN zx?vwPd*38_+0@%s&hPxUxoIEaGYb6=2^&tsedY1$iEz1^XlY6^3%o7%k>;3i;MJK3 z5{fbuDD+pFXq~_qe{qK{Dk(_r^Mr~o&%6e$u@5L!^qz9Ae_%V>|76sGGMD1S$K_FG zfEz1==xiK6*Gw6Q7mEQ@CFeR!cTZ>O#fAEp7lS`<9mQ5CxZBquALXoUtRyCYK%vh~ z_wyM{uR#^Uw#Q}k9Yb?^KsHRHX2Ty7HTqBmU%5^XD&JiK_y9gQT{~);m0SG2&0X5) zF@B+ClYS~aN~vVL5r_@~d~jL~L{`C$rg&byUqY|FdS#}#Ecw#5u=vrC5{?aH{kVVM zQ_d6A#=BMk%_k70ia1d{#tu4MYZ#<9Xh!_uhg#ZQ|C)@Sf-Jq)zbL!vA@s|d%!R`T zn5Gyz=}L!5SD-K7SkVrJ9*!E$Lpn_ekJ0N>=~AA2J2{JzRA4)z++ zAI7$zQ$5flG=B!dWyVC^RsZ|c_jF>9hB?C5D}RoX6_sjGAg10wdqpOSlpRR*m>Z}J z&E#?|@mnTV0dGS06;Hyd-e`7owxKn>mq+MC3Fu)}QQBXmG;Dgx@)R+(y;7EDnY-^l z9ki0B5>8g(fxvrj-z;j4X#k)~4ejLs{UQ9#0H(7e#sZmg#Z~WqWml#6zELwq+;3&I ztwM>X@2VZmkr%)pQy0Kk!?JZix`lLk$p!RFg>V!Kt_i(|=iZu3PAgzg!szTxOmQsS-|3by!*k+Z41< zA%u?c^W`^|FLEltlP2F;0`lr*aafZOh;KZw4DxwcUodw2t*7;8vifL4Bkbkc76*>!dc# zfuA$ru}Q-WmBjz2t-pY(qiNcO;l0_oySux4aM$1t!GpUy1b24{gy2pfxJw`qoDkd{ zLLj()!+k%`dC&WwKWojJneN_IS5;kA-R#Wl*8e8>I2>^~nn?4FSS8B&;J1k-;_5#eP0- z=<_yMtG2U4_v`n|4SI1QD5E|sKuI-$nReK|$~+aBBJITAe2*;VCO@dn={rj9K?~nM zOJpCs#JKJzq!YMbVfFc7LFr}}LonD(-R6tbnRxMj!|+I}%1O|VcAk_!VQx_gNmLaP zk?F;B*j{QQ*VL#Ei;tlT3wWZ3&svKdEgX2ZOvIHr7*+U-NcOXjp51AxaoCYN>gF8m zKP&NZCD8P%6;E}&bY2F2YZ36^mS3%*0CPd-AI_qm&;&>>C#l3;((%KPXVe~|H`84m zBCu$x)CrSnf`k0DmxH`v^l<@~CK7z&$XolJ9ZcVSVC#KTgqN^sm-Qc}9=u^jl*U8H zDA=GO4~~a$)(U%ZUQnpig$;a>)JUI44a3HxBD(k0&g*`+SJ8-SNmgySOlVtPPTi~} z>sSx0db3!j#tm`w&s|*QN@~=wiySRQ#vjSEN;M07v`6TiX-*S`dydXfxmS*3b61iQ z?vi;*3}>4hJ7S|%)_`Q4GkqaB-&g=c_r1;JBYZ|Qi{|>i^DUw@RFA7c(;k)2I>fx1 zLPIG?;YdSw@Q3>S79+MdC`H_hJ$CenT~R?n_=exLYQ>n+W`R*SHJkCv9R8Xho`_vV zhxqZHZ;02y{Ns-RL#M#dE zF`lkJKj$bO)!HPlblGOC>f)SMMbn!gx+&ZWHb>X5aLT%3_|n3CM0`%JU&qN5++L71 znvFUYTYsPnK$}P2hYeLHp*phdKL2(mS8AT8yBbM9DwDRMb89|#DP>#4xpd)ET9b|> z7`J5BOs0qG)=Bs76TfqFjPs*0vPmau#xE?1iDObht&g=0svA`<$H{t!Cs6VIjrq|+ zY>MpU2?zPV4ZJVLFp-8jCA;^9rAYWD3+Un~ zX2C~fEzujY3O4x03QIuIl!2z5?q+4gDM96S0SSxwLA0M zbU&0$(a^g46OAW+&1rlfPH~<%Ix^<7PzbfJ>Bebpz;LOFf}V=pl=KQm;IqLo?H2Hh zo7Qoon-r;NiX?1d>G9?w4MC01@PjW=&GoCw7bNDB)p*c-`ab;U*dlzZ-UD&4@S?5y z?tHmhZEjK2g*w^Q=V(2qwQCBJD@)ZYYsa4o%Vnh7D4d((ioR&=Sgz1n?R09|;qdX4 z%7BH({&co5Nh1h>yI?_#?{5blMW;RYNl>%D8Y8SOx@=&$o)#B@{o;3}1BRKy zO!meK-aXh@!G^-ld`<3ezcn|k1Rm`r2pNzbKxZ1B)Rbj!;=X`t*l$uN^NwmKA6)SX zj-C#b8y)eXB1g72cfwr0rwrjj4I7u|nX$gyUY{p?dgk`(wwImZyua`^bXK2h^R{+sd->q>hs zPhr}wu8Ys)*)Y9-e8@jLNFx_cDP>9pshg&rsU}vSnLrP7+A9=iAbLkVLpRE??VrMs zp!Z3wGkq6N)gt^Dz^+y%dgG5^<8L3Ard9miEBaT=B<53G zn6R3DSf`3P1Nrq&Y>TMC^A=j<*V~~4zE|#xWu+cR70CGtxy4gy!3y~G|kyuf4MW3=7oiSQ}S6jk_r+M~#~RYdaSbDL-x!-o03bRh#t8;jS0 zO(0#Hpvco!{T*SAT=R=Tg;EUKgq-%_FG{Q3S_As<-r_8L7C4nbr_n2Xk`lGB(2T;1 zLmcv+P$T<> zI=5`}7g_ZOsDOnq%%$MC{YL|x_6f(biwGx$zY^81LXW7vbbE{E!q8t3o0s*p1{IRs z!(<1l`%%R^`q|`h4~h$pJNv1HmN*gC9M*1hFT!@k6BEbt(*$v~L#xh0N3W%GW2==I z$aqK^Le4c!MSArxOIqe&sU0@=~vX`Z+tjAYtw`d+Td5CNq%T-cK|ZE{>jfQ6lkX z8eTZhE6U_@KtlG;ahw$8uKt^J$MZP$d)6BgO^EQk?`F0&Cs z{6@9@u)T)|%DDySPcn|^ZkSS-V#P4)2x7spsrkE+s=RAtaxTvV$W`cF{-o(y!R^}} z51p)X&G4|6@=D^6P4k{^)*b{@sGGq~9%Q>t1+w0{LWh787Az@#3_fp;Rsn%=??a@- z%}!crm?oFiDSn*Nc31d1vs$5mvPJ}k`IUtGYIe@l$<;5`% zxD^smre2!W3?0Rtg}joVX{4cM1kk&Xt6dRNK*ti=^jq6MoDPSu)R$Aorkmsqo!h>y z?ime!d8?E`w;_0#nS1B_t7=M++4#(muXnQvy*5(5`KxxrpbRNlTD0P*JmO-HB?V&w zr>qq6);-GYhrsf;?(4F&=mkZ79tSgJPC|3i>TzXtSd?OAgZpe7@8R)8pzoNW8mOclrRto%=RC%26_H0t zcVCP&;J7URYbv~Z*OJsZs`T@qD|Fyp+-&kk*T`F?8Y@KY!a=S_KEl!kiIj}Y(yQ2;7{hxD!+y0%3;YG zG|+;RI)3r{j)IYY2-@r43>H7e;-cAYC-=T-N^%L`f)Jiw{|vh@v`C^6UFFyQ4f>%B zDNs%#kvRHf`kq!OZm;Wb)h9V;`bM)z*Nu$t=dZ={!Uq*Qp;4zkXwQ?I)9oX;^*JKB z=zgT1!)uo?q>m-U>u=p3=ylgL7T7ZVAKWB|sPBJ#8!4n~{98%iAoGsS<95xtFW{CK zfdi4dUFc+%Rt>RGs)p(|0QrVAP{8avDD-l7@n;EGm#yNt!E8hr48B+hE0{5RpdbBT&Pm#(*&?ITe9dlUYm>C)4c0 z%Sx4*@b@&;uYg5sC-rud+Mi070JqX|RxFA~$E@ktQ65z&Ye!0UZ1=|zwyaI|z7O){ zL$FdA`K2kz*%zb}!JO94mjkAIz~U znx2Qr6izq1_`Fr+XkVlE1QmSU=5qK_kM#rki3qz;5%<(etlE^t^@Hx!k8}iQ;c4Cr z49rZ_-CYrd?i?t-)$Ny~5Gt5AWhhZsbvz4CAax1uW4h-S8Jv)}dt^DT1yK99{sYm{^*O^rkwP=%PvN6U7^p8rqXhmusa; zX5!uOQjmADc?5!suseE*68O(Le8PTqJckS~eu%lk56<}aTLC%TNG^!V*xZ_{(s=iL93 z^2M)1%lPO1xbND-$^Z}BA+L5%xJ!gFwlM4_Lbw!M2H#f_dVX(wDZYaUT}I2?%KHL~_lR9&1^$yd4ZznbLJ;R9 z5d>kS5FsY?q31lYb4x4z$!S zC=aDARU`Rd6}<_ws5`asnu1-#qqwbIF*8>aQsGyZcOg~UF{I7R|C_C$UVnbIvd1pm zJQP)t+jePCJ#BUA2;JwePArEo&}z=8sQDalvrYAVmYc(}u!))xCVXA)z%lG7ZxZ&q z`dbSbjt8oF(lpwxy4lp=fZc=l?X?)Wc34oqJdIoll4yuu79vxLI6E3Ha36h9VW=fp zq;f@$NQ1>#9hZF{skLu8&U3XFrT>0Swg{wX!47b{$iOdGEA-*_$Sw~ED0k=d|IL#7 zBz`N#Q zn(;27UBq*EBje(9XCN>6twr*OXt$sXO{m{K-}e3j6DXTp>*CV<8cjs#1Xr!vh=#mp zy5U!XLXy)17bypaFxH?wThiXgZ$8jha;R!v58H2=wk4Q)7)tL?dP;jgVf%_F+9WK0 zO{H;?tlB}F(bkP$Gc(5iGo*~NeO4VS5~7yKH%!v4FHCcagRH)ow-@GeDY#%@DQ1hK zyU(uMrLve!NT;6I8c7`B=`b==wwJ~p(j2!ze_nq9VYB_NU8>Qnj%f1Z)8aE)@Jl)g z+G-#TC6jVU|0ch+*@Ny)T<^Q&kzO{b^jb1!noQdD+nxXt=`w?+l>Ac|5ks^M|cnZnVs&ai{SNUcc zTW({&m4rQphe!Dskr}?qjX69w+Ccx9soM+zEt*APqL9PNr@S%QIr+rn9rg09(6wG= zE})Me-4^mTv}~HSQ5pJN)c38&mgv5+Gg^rjN2~1*OXc)dL0%nd?Hh)$>~D`I%tmg5 zW6m*pE(rP$c5^odMW-a+o!+IiZ<`6+NP!2%VKnrx7=hAAN|56C*x%0mj*lRpG@A|2O8Y( z71&3*j(N&t4ZY#!%fX7~W_Yjcen{EHN+tZcLB@!UD-;|2b^=M;yLiCSgm;jq7u)b{ ze}ikIK(*}G9?)La`dGn2=kAA zo{W6ic9r^Ex{+ z<$9beV&Liv>{;6ta_(jlb}Cv1Q$}vgu!pr5^1Fk4+ak^>M!aBBq_rJG9g$&(kxD5XU z(k(?E+sGgYWIjaG-~{h})CV_a6#rVwkR&&OQ9jQssg6;YV5gh^a7c}O(taahWXzai zAS@ed{xr51mmkF{;#4Iq&u)g$>eOV%sea!hG;oT`d&~LVPpNI=uDVd(NPg;%Ki%Z_ zUT55&)tIW){-X>l31#u<O^^$8Hx^yBPz9^753_0S{)5u97Uzv&3pz;biB7{<$) zw=`@aYr2T~_VyWn7N_Z1N#V>LRl%yE*DM&;exS@qIS?yj+nbnt;9r?3263O2=8+Yg zg~@(syC)hJoqe#xMM(4ug?CDonK)h}BjC#whsEg1#uZqnHZGKh)@R+EC+W6}Q`SAq>ekJEG^dAVJF`5bOHHKLLVpI?o$EFq3QJ?F z&^|_j5za%ag)9sWfj4M_{Q~Fe9xfDFIW}*J_Zv!8QCc-aot$eg+fFak@`wUwIUN}k z7)+{J7xlF1?Ka*NO0J!v9qX+t}s7=7{SOzl9SGemCc_U^I zAnl=(25K!nN`x8o!#(A%4_dfp<`?y2*RD~ah6nZO2s$zEJt|5&G@q;ME8C+YrQ}`G z^M4kwwm#Qrb8d`N?T4QAl8>+_tW&e>m{{|p-!%D4?WHcr>+EG4z(u#bX6E}9g#APz z2`0cL-0*WQOP&5Ugr7L1q$f!%PZ?9a3nIdAE#&Vkgd=AYU*7x7_{*yaemaVLQfCn$bDPpLOeT&DeMWcttu z+k0_u%@>EvEwy5kuB_=O-4p@pj!U6-7j0joTW(P1O@BLyVZ21OhaDLri7&bm-%xJ2 z>mbcPq~t(yta5bv33w5VQPw?|%>Tl3LSkXl{Bki>`Y_{*yZGwCRItUgf9d>pyG9RK zy$9y?O9%#-l;l4?VN62&HCgCK1}$l<4Q&a6xm({So5nDq6|3(ZW;AU>RC7q z57B$@Fx!f3a0!^zG+isy$(Sm)whC(jg;}%*hWP9AX{bpb-!}5iVv^C>4y=x5P=*0( z%e<_Ls47RV-TvED90r274Sh%@<}6Qh0m1q^@6?)g=h1v|ypHcuDRdCJmC6Ekfk)PG zejCx?IqAWIBW*7JsG|Z8nwOx*-oTuEZN(WL4UsP^IfD0%B`5keDA$RWRd`SBq3j{^ zV`zp1F&c)}jIl!M)91A|d?)^N3wFXX&k?FWJ|-o0HsRlr;)#m{ki1MV+{im4?Hf-h z!v_S}J{zWAS#i;9QjvZ1c{d8n4O^B^MLUEX5`w1XM$1Gr9KVRX^HGFqWh=cfbZ+?y zhR#z$E?S%Dv#%L06}&D*Zgd(#t9R@jYE}TVb9v|wM{YRkr`{c#lE61_{<^+raBi9= znzIKdc|*aClPOE}yV2mqaQk~-#96w%B&XQxwTzi6pBQzp&NXtLJ&%l>o%uqlFKOLD zB7bcE;#;CQ@}}3Ld!|e&$)Wrx)-0P6^!oVBIH^j|PrM_qlk=!4H|E(NB^xg3d~Mbs z$F>mPjH3C*JXIQkXdNVvvS2ob^ryyU%gX-G4P}a6Dr9i9P64hSPR(Oe5#swR|1Kd( z`Ak&PaC%i$$-2fe<$@JK_2{N-t#qEM??G!hSN>vShTz`Th?n-jo@m6t-93&ie2U9R z!&UWAFm5PhQjFt@-yGA6pDR6(i#;c}?yeYB0>lK9ZT(pjX*X%_d{^qT$Ke3hf!Ius z10&rATY@%fQ!?=1?@JA*rZS7 z>Go5+KttD`>2pluw@laQR$?Jdq7=~!idYSoIiAbqqBgLd6uyjmNU*`pgQ|KVAEi> zfBFXzvYOYJm`wDxq#H}R+GoQh6_ zRc%{gNIW7Wy9k1a(DD?AGU)M)Fp^G=e;b;~dZDI}7K(Q0w+T>Gy4DCDT@(mJ)0F&| zlX_9UtMn$9B5@M#_}om3&}9a%z#lNRD18p}B=Zm5~z$R!j%39R9; zD^ICYI7-g#B80Ilb(ueK#EL05ev0yOvT|7{LVt;utMe+@X%NarojTGPe%@?k-jC%K z$g1dwc@(Uq1a5Lp&ENvlN?YnF6s zafG+n&`fD;{uQiMHoB+O@ZlShiL$X{VjgT?X~EN=aHUGG21+pTfTlh1-4+#bf5KPP zBX|42-O0CX*WFkne%F)%*~;fE(R#h}W7`o=6%$+b?xW{!A@xS1D0-1a2VbV1qbID0 zFU9Bk@j@~5(dT7t`V15P7!40$U5qa1lSkB$N{LP|irj{`jE0$EhKY~C-K4)?TJTy< zR1E)A6Rpg9Na<43{hY(Je5~u=>}Ix?K6G*Y{;kYsv@ePzgwKcZ$LqJjb{1tTWs`!f z4=_C%sBc?;k`jEWk&4v0yh~x{^qErhx-c;@90Pi{}oP7-i!#I%$66{mDAHHSMkR) zUq7>cbm^`NLZ^IrYwBl)@_V>WKZfhO)d-)0a-HC12x>WL-DHH`wEyqH?3vkyx`uvD$*7J?J0V1a^KO zBFFMa$g6~ZtTxQq!rD%iLk!#J_hBBfX~c0AEjwa9MIf_f$-fuj5GS+vIX;coLD(dz zl_0#@>9>-Tf|-1;#qOKASE6Hpf24GAlW3({7saSGL0qd!p63!ihpz+i{M?a8UKb!M z*}~OyFgCee2ghFLovTg#ql(jF_n9p3iS_JEwu#;E0W5LX2{#AWPd?3##!b%-?$5W zWX)*+z%2pXQXM~m^7PetG-H?EgM0}Z{dE0z-&_J-4*|07ES=~rV(@( zWoEtclj^4b!>y#xdZ*e|srNUw=j)A@Zi0#oYuasbr2@8?&qP})R@VB?BX!JICOeg} z<@|3OLUXvfPh>NjhX;ckTB!0fP>2RjpW+)jO#@SZR?tON$;~J;4^Gq;fwt!n( zRo8!03p??PVkjRX6C<1Ro7aboU}fFJO6%$+mt2^$`T5AKRg5;ucn$@fY_YcA6BA5o zMIgc*9@Yfg^|osM+VwQ;T{B8dHixf4bGT8%^6Lr3x#2Ijl@ufLMe)=IL%^bd;0 z?YuOq^oeJs`{`}m4z5^J^>@PtjRMp8A!ca3IhLvH^z8m>*sa7=y{ps%r6eT5lo|N+ zp9F+g`k+rn<8BLsB~-|@WEEOlqf|Y7UIgdvz+)s>Q!%^><6oRT$Lky4(JP_g(rZ?XWM` zBH#Fq_R@VpC&Zaab)+l6fB1~(jd@Kqe*y79Neupc$*wsr@WX+sDOiWgzwxX=nSJ7e zTNg*mq&^r4r|16YVrh9a3O_~;Q;x0gnDiWV!ddfqrX=;w*1t)}O<(UFmr=yTcFAHcJy<=QYzMDhleG}kBz5|ue(-I zU<5vy;=iFK7*I->H&wpneU||P*6_72S-SY7hHbX@yi7$LJMMJlP8G;&2(-?IVzK?% zP1{TR?s!7rTIS<7VvgVH2J6`fdXqzPyUP)89=Pl&!Z4~g z9)JgbG%Ch73JyWTME8hx{LF#BT1@6}p|d^VDrDbzD6E|}@VZk2sCuD(N}*p2X?GrBLuJvNLi?flW^kLO0Uy3>$HtHFohxI+pLUtmwx}@O&KcNQek~M>D}` zZ}I+DvPZeaKTfk>a5{%9>Y|TkBKU9=#VSLDBrqrghpzEjOua!=NHvR)| zJ7Zw@`(0;PD9LA)HGhP7Y@UGgWccn(xopr@1m~|KiMB9{1cA*ro4kP)R)PvJpXNUh z%PX}PuB`B-mfX%xJ275I_S?pETPIa<{1uZ-iadUTt3|b9dJ_?76yq3EU}!qA1rtmO z|EItI|2jXRdfHfJe91fQ?D=u&MaC*C_PCeyGviM0jw z)3RzdB#&+Kel?x^c31E4K^w|{Y~WDjnItjkBZ30GMqpIT@xF#U<4XL&fQi~~;60Bj zvVucH=fdqI=bNwFu{v3i-u};Zx{Wc#T?)jZ{@W%R- zQ^mahF%EX_eYY;?r|MZUBDvQd$6I7Ox3tTVK!m2DS`w4lkMhmI zmwujmi_Dd2!*X_J735dh`a+67yY6*z2dMcBY>dA#BUp2(M^(1+iFW1aVr*=@!CQ{= zy1LIrB3+t6o9UZkO!XaY4~hMpOIADs$_lp>+dlzm7Rf8gP-^Izoyk;>QMe!f=^i|ri*`F3lSSgwq~4S ze;boeE5RYP(e2QBp=324ahA&~Ibg>c(0mrWWTViJ{&QfEnJKtYx~x@pjIQYfwvDkm zE2FL%reydjj<~RZ+eHy%vrAiMH&radebIaV72l9?s2|;0 z8I>K#8P=yR6oSZmVbW}u0f7&mzyekGH%7w^z zE0f<)U_f$zeFnRrv39`#)|LnXPSEn~vAxLnTYhi|L&{H(pJjEPp%};zLcQsT^Y|;Y z=GboH6DR2qRgG!vYFo4Y`Hnyi8b79<#tI7VY8S!^8C;4x<0_$XXm|zbCoQ`TulcVd z-HFO-~2f={rJy^h;Jx5*)G z_+|0lAJBPZVA&Q7`d$QIB$!&}9ghpYC7?t)y(P=V+)5heXNn4^X-dDfGpEkshWEx z670)z_3u*k9r;6&n#JVdM0Re6yhwE8Ds@z&38iGL7kC+s;~OO+3$+fJDuJHy@Ew|4 z>)W8Xld((C08CyWZ1O0~-x!qfuX?6TKS=0l)A&PZl|>YP#BSwuyxGgpm7B?H_R$Zg z%9Lgq)6m+HYvUb%LY>?+-D2#-dRKkHodBOebnc`mCr#dCDiocqGSOI(kjY%oeU!j+ z2R+_$X`9z-y~H0fA=A&JLhI~Fd3D0F)n7I(YxhLT_=#775%(`PVA$8Z-n5Xl-Rb^y~n7u z!ILlJ5AN`9Q$t{|@-S#2%SD89$h}oeLHyp3D^2Aj#hb6rAYEg75S2@CmMLo-)K)Y3 zV<&uroCFi&ErKBPdUjXGhZ?OGe+#bk^>ctSVFXcCdM3zZB|c#Pjo zvhVP7t700mhA--0bfHc>neoL`6JIl3pN|wt8`hCJoTAsUyy!Hj(0$ejX~E>WrLd(O zZor#W*N~HM0VB-GL< zj(oUh>1eW!K|)ozK!m-2IB))}g#;<-gvV7YNRzZH<1|1vfrg z_T4i_9V_g{RGPQP0vP1%IhLeMV^Z~j8BG~aJ#qVlb|U7LUuS~iXeHEyZ(U1>gm z(|#?ntLPoGbQx~A8g!k&L6hgJKcsb(LS?y$$cgB*@2 zz#RHK?_*HHNVZ=qUG-9_8I>F~E`j)~fco7)@?^MJBYhdtjLv=IxKU_nkGcU5|PJbmRWToNnNZYQlzV0lwZIL21E7^oDX~T?=eQEwObvP-sVRvy*z-X+GW7HgT&)jXEqqOUTp)Z7(dcKg1nFOK~Cp;0z`cdAM_E&oNk@luzPG0SulrRH+ zN1?u;4JFbb&87-&e1E9$S&DC*-!FM@@P#FTkF~${IA^Ww?B91tOd#MGqDq_XHw6#wQ-u08;uD*SP14x@HNC)lU52O z6AVl&i1m1c|DN4eW} zpQ(2w)a6D&cNZV^RkWOFG;x>uVhTHk4~kp1EdeF}`~&v;yL1MDC|_?NptO(tAeT*5 zkmeRzcg2$*xZ(){N`?oC3BdIRtHTFCH1^3y2={vhFb;tB7fHIY9pL=YKcxI42>y8B zgo6hOyj~ypLuo2DOiQQ3vK(XY0Nb}?#Nb|sMiOFOj@Np=h zZvz5d*$XlL`63CPrUM15W1xeQ5rTu&|7w6Lt_;8xH|9_kcXp792RG;nY`7@;SmF5UA}h`7Gf&aE1c~&!oYE)Zl@BL@+LrHE@jyrXz(n0qmyuP6)q9%uxse zX)^fIdGAAmlF7hucIAM6N-@e zItn;OQ(*kAG>97>9IVa*V8sLu1W+(0HlW8ExNd-=BfWv(Fv7j+)efF10q!4xdkEO7 zz#90>5d@R*4{(59`|BB!Q8#)p(Lf>UV4$BK=!XK@qo8O>;la3y=)kp{Be8}k7}bsd z3L6n6KrFSUPawADE@<`uup{UdA0kN88Z0KjV1%z>2Lnom12Dd^b?~MSK+=E@AR>AJ z!P|WR#>fLQu|&YA#)KdjWGDngd4^fSIEtTyM_?jF1~4*`EnW-~qb-X!0}KKZgOT?v z!y<9AAS^zuH0=T0ub3kN%u05)-Y5X(2Qac? zO#m`cE>12|9FCIW3kbyy9*m-B{`jJ)1n5P817YlgP!!!BU;fdnOa#(oBmrq0Lf{!= z=xg4v?lgDoCvdgl>0m^`Z#^{45Fv*+u=wZyUh*RktY^JZ1`TX9_q# zfQ?XqedNITuZ9@FJ#m105&-uk0q#jv0Q^jT<*6VTUQq$C%?8gv(HMei#{l?E2@FZz z2f-`G{a<$WKE3=C8-3&di4DE2y|+RTl7>P6JP;d1yAK2);N@pp(nCO|F)7G}=QZ{? z(Mab2Z|H5Ay)VAR6CxK9B;P=Y8I1wo{x|L$_y5XP_`l*F4;J&02Ykp7fC9)yurmW< zNAE_W;Re`q1o#jh;14_kD7gkF25AREM;Z?X`Md}8WW&J6E&&*rfpNe-q}V7BkdHnb z$R!Sl;j3TCf!MxsFcrAx|Hd5qUktCDE4=;}$A7s84-xZW1TdTe_7LI7DWc%SBgy?^ zE4&>8&_)ILgy=u=U;Skd#ESxGE0ro`jR7ziqk>#UfU_Jh79QXwERX{yxFF3Vpp6U# zSTI1E#ylVwIWP!QIRK1>3?}1@BM0&m^uC}22Belnu}lcx$2bNr&L2w;3m*%_ zVjAl;?*UsL0YAUymImOP|6=z8?8pOhDi{@{X$$qf;Ga4G*r7l4zwHP<`rmda05N#A z<1c_&39v&0C-r~XvHhA$fF68+Q?GW=139((@`Cr8yR-`t`HYU;na z^_sT`c3Z$)arDYjAeZQY{C8e^;Z^`R3J=suIX6?7`r%tKQTc4 zjgh10e;oq>=Al>Lz)!wtjskKOzzB*pILeB~fK9J?y$?cA{I5O1i~p}Z@i70pR#3wI zTPv_$=cxbG3Jah%z#~8$^yjUHKuVC;QtfT;MxCwa_s+?94L5@<^h2F5a6^B zP(y2QqL5ese!SMv8wdg;4&YOGs9^P1zr5dtYsm2mJS1Yq|luUj3?0 z2vVaTe9?3T?*A+I5rW6~D(hd_g5Iz5^lO|EfEY3ZIgZ&7O_&LcfAz_0JYIFZa^o7{ z?dx2r3G`LsfYe^?e66kjjn6ArO~(JV@xOJHAporL$}@9do_duN2L^E}z<^vRo?kTK z$qACP9Ede?fw;WZk3X*%|C7tFw!N-5UTtRt{Q5ed{ObdF#yJ4T9|#O%KO|Uv69hsR z13nKAAFK{6ALlmEg4N5B{=HUJSJ5<<)|Hm@|L00aU0zd~{Jp7-y`=>!A_x&gE${f= zNswIA+QyCiJgA$=$6j$$@>T$t}Gt%{|;r&43aAbi0yUySqCJ zvaxwMd$YQ|XLYo6C#QZDXCe5{crI1}9&$-1XCGG^D{FUhdPxRy4gmpP7EX2!{{JIX z)6&#|m0aB3o?QKPlpDFarJJRzCjjkL7O-!3@Qm4Oy&(G6me=|E5<*%Dk~D55-~vqx zKtN;Zuwrc?Py}Ppz`9KmI#``Tj3*YD`)AHyUNSe}dMct2|Lxy_5HU&uoVj=Esh|MC z#~uRxcp!qY0|vN@0ARfb zj%#2I4vy+A7sUs;m;hWVdU@fY1QpKQL!ib?kb^Oco?g(QUU>lbuf7Keh_MOy-0PO+ z^avnO7%(CHXK!zi=}YdTwez~`uj2F*GleO=62AwCQpMxIn|Q+Qy}U>;rGw}gCXvKJ z#Zm63$nMQK2mz^)@#N>}LVqLTIrnpD{hrSYr;*wPot3#Nl3$6u|7xc1B}1hKsnzY~ z3i_UU4Q|Z3;xMSfp8@+_7-h&W+XwOLhNefY?A(Mn57x2Huf7-0e_Hk8J1P;KOiLW^Na*6`>8a=r#Gea5KL>bhrA&d z=(CM{p1m_&$NUl?Zl}SmWh1nkFjrgTDtC;GtksD^!+YQzN)r^w4~>!h*2!phk-XZQK_x=fh;E7@ zNqrfAP0p4K)mXw|R6>&T=n771oKIE+-r_KgoIWN&dMQp*v};D zLl)|`Sv9}(nBMv#NxKqI&w6dp+n6mOOewC)>pK-ala7Gyr#5nxU=DnzRQEB|n&h61 z4}{yk#@wKfL0+&~~+f)is&!$?mQmc0mFe=j9|!@y?9N>>#3iSbfcavom3#MW1u zCxq2IMlvwNyUR-n7i1R__@vd~cmcIaTaR9dgka`a2K>3Q$Nlyg6@~kI1=N(#U%e_` zlH?btIG42z+7gn+BMp}q@uHq6aMsiJP&m|GB{$SUrPY#Lc>8)(8?~2~uzXm1oO*Dg z$ez&(g|=o#FzHUxH?wIPZM{f|Q`_(Bi{kLy6Kw;u#X5hiHq+ltyno2-D;tC+Io-+( zK08S}o2PW|;qdy~Z8IQdn3~QMJVPb>W)&&^__we)y`W#&q4KhHhhL+%A9LI1l&XM! zsC;}*JX%GGNoenr0eu7zG$)%-4)(|EIN@o}i#V3o65AOeVjxa6C4?1s05BJ_`xI<51@6 zA>7EDdOw8EWK#*!jE1!!My6q%LKxDfb?3^LDuFF^IrT41n~ zRn!0SsU!G~WbU+T2VVwjLFdH{+d$Qc{pU}{v~j^-zX?({JHnU25IXc4WXz!BB@PRrzl4Jk8!Jaw7Ov&=$_mpRe8<>|t+E zRS7AI@E${t`ZSGUH02KpnglXdexfbHW}CvbL^P9ptoJ%xh$d{cE%%v~a%7P8wLF@Xye}ax})*2N;sG5cuc~$aM}2z}=FQ zJ0p}T+c9gT%B{js%Dww)ltt_FrI7|d>1zZVLRO85xO}JXiVCkl--u<&8;dAPbZ;pS zvEd2k&yeA)&arpryTTpEdd`S4eCORK{1Sgx9xBEW&!(RknKH$$kF;-DVZ@Y@!E$0s z%q)t|!v@-RVNn?@M50wnL&>Ebj3x~#f1PS$lmFI4kiLW#5g<4#jk(jxd`H9hGr0X+ z{4g4d70@O=Pbz?KI(h;IFY$PBzbxr6p2OXiRBz<;g(;9J3e%>PAz zf6x9O4fbE=zoGs=e1QMO|Hk@L{+k=Ze;kU(E++raxc~D0fAHU7|6~mNsH&hrc!dN@ z^)D_0JK(>C;GgLY|FPlz5iDQ;{zTCb3*N}mji~9g#lpdLXp(JQNzf++W@{3c5|YI3 zi~{yDc9aK#m>9wqEF=!Q?+xDhAt=#t8bhC=MfjKOFU_bSoWZA948S``%o$6R?(_XC z)lSQrKE);-mil@UKmg3xe-=~v_hNpzOBa90m3sJ!`zM`4MjjdWDbEVbEFs#V7UXk8 z#}ZbAsvH^QhtvOr#eaNx0#mbvEDxq9_kgk^m&Q&)JelT`1~2v@k0RXYs2|rXi8?sq z9|uG977&_xvx4ZjzG_T$qZai8B85fYXx|2p?iqj_%^P-@D+4LOo=$80b=+$To7$eGUT9AE+t zd{mF8guKq6%hqPqfQ()xW*alC_HA(xvUw##03TJ&pQi<*>NVFpEu(&|j5 z%if~yw9)poj-sWb$5o=>@tWd5q2i#Qdt*-h_@#>#N_a5KbkQAdXvfs}LJzQG%Y_r- zKnamU+~g^(iuUay9G8OUT0TTf)J3|W6+&aCHD%~J7+ zi!2{!@e_}~)BE6k2;zIg?^X&b3?4mM>q0^jox!5MZBj*kpkyMkWPOW}pCb|mMp!kR z&WWA@O8K(dUJq;XIaky)wH32yClefd&K%z31OE&wdU{JK-i{v;xiHd!9}whD&KpO> z^(SKa;n$GbH)fEVj$U!F^mv4*R2|2rcPJirlf>|6r5)??;?F7l3-IDMwNI}K5CvX) zX21XG_R+V*5$TP>iL~Cv&g^Gsw#?SdIrnV5Q1Q)iY;{Nc$h|rLw*M~$LAk840-;BY z?_T4v>XrI*w(#PhDa|POvvqq(T7ZD9&9rCs_Pvw8AkAa4Q9TD5)pC67p$8Rv;+i$( zNE5d<<&%P@uhey_jv2~k#G$`iW4;euo0D(_yhA1;+Q;bE{935-yy=?@zB{YH=W&$i z6OqvRe#8TBmQ|*>WBzvq$Awly-cOh(!cZSbs{Sb&1C+mitcY7G4K$iYG)zjy3t8*C z@^|5?@8A6}rw13N%a)_xL)bhje-tc~sqSLWFsv;trnclz;>dd1!3@pneZQ+bkgQOL zTP)EfexANlNZcjZgU*zX{uCc%z`jNznEBuy`0UBq8N&V-gtaHQb367yXC=x&hhDSv z(oa>|QR7n^QXBo4fZn7ortlmd;7K6=EkunE2&7^S_^~M_ak-z|Hth6;~a#bLG)7`PpkebE_0ZYb0{K20%ip9naQ)t@r$60uhtXh$%~H6v}c2{ zn4Vjp2GT1aNefDqrvRI#mE=@KA_dn=)p0D7Ev()cZ8odVi@PSnEv8f3gw@>Lcs^q!OOe)u!0rze+ z4q%sPWCW>E2n6?sm%)oqEjL2j67XGr<8o>W71kE5Shx0jsMPZimT3eOB(r%*49GZ> zNiK;ifSm`NoM5Y`sJE|NIi{`gkyiHx3WOJXG!dtD3*O>k@si_T_-^>}QT&^v4DQ6W zNCLWLk7n~$eL1F zF6Oth9z5-=3c4>ZQuV}HfNw-u5R|{6YJ{_glRxiJ2rnTyk8gZgfECQR#R?VWakup$ zQ=x5AFe%B()`f>Vk}+LRo3SZhEpDcn>gVb5Fx0$~X?fB5YP`s+X#4V!Utq@x{?F(h6ViiXe?y3 z4)6*dN73)_#5M;`GbBmtP(!glkQ(|3+WKLSb2~;gVuVF?U#W3x zG8myN?IXt=YavrNN<46=s229bO8M6vV#D?=hIqqaBSSnM1K(50n=d?lU9{r9izWbN zcKLX@Q`RcmhgibdV@ADSDQ3zvR_J{xm$++`DMF&H1A)`n(qDxD^fM@ipS{7k4n!@i ztw$L)8Y7bJ+&Gg%imj(=iH@Z1Tihb4J@iNjj&2GdcqCcY!Y_;;@{e^__f^FfKcwNd z1&b3?hCW+e)J-W$zt9Gj_f7+EM+77}jZXw`UeQ5#ouxWx*6bL;m1MLckAnXCG*K3# zCva&(SSI6@B?Gn)^=2iQr-4U)?Tc_Zu|Go9IrR^i(%9CSY96}(oa;4IJ*OK|W2ZZ= zP=oRcD-%g0ojntYyYErJ?If0ljXjk=wJ1Lxb>?)i{WbWt8$Tb__2~&+?u69FXWMG_i8X2i?rSyS(UfFinV+^U zKzKZ!a=u;?U$;Ck5s%c>M(Lr{)$;>?O^+DK68x!IOE>a#5-Yf0w!Xi5G^#iLvZG0+ z`tS{1KAtxaPm{v}D|_+|)~Jd@HA*)25hhNo&W)CTI^Gq`OF1@?-u`)*=pi1DfhJXp z1?y0Kn#1Nt9n-b}(juAa{2X~9%i#F?*K4gBUH()US*)Rx?A8xKX)-znYT8ww-mh#j zK_ymO=qc;_Yni=R5ebpQoKp8Z0nysXLsL92;d`BMTZ4)18&h&F_|w#^BnE}VfKil3@AD8bnkt`*!q@?I&N^p!)nyC#rJj5gMx**VMdOkLhts0W-ra z;$pbR4r<49TfFfG;=C?lyO>=o>ikDX(kbqv73RQ%V?c*&AErdifg-Ab$j#z;N@ zVPB%?Ge~Pss-v3$y(^~TjQ0DC6V#vBV+NCD3@P*tI4vHJoiX1z5>Op%n%2X$$TWLF zbC+gA0=Yg543Lfc)!P7XfaLK0$w7D_-`S^G4e7bTYSzi9NTO)o>f*Rsyd#fT*vU8o zyVEqvW|;Q^X-4?E!{a7Z;1RBDJx4xr40tT!}^vIk$6+A zC_G=vQnww;#Pq76v(o{)580R{RKrq462!EYi&H|1y#?;RzRM}JkxOqV>ydtaS#9Ik z6yej{ywjewkT01hKhXdac#83R!-tv?FPY8kWIM_=A%wd6b!)rsiWk0*2#l_Rl|O4V z{6S(V^x%j5nCXt_J9Ra#**ZxI@?#tSp zBn}I~nAx)$8IH?LeG1`?Bq6&RQscU%595k-`wxrmrI38__Q`nMnQ0*I8-gsmRrnc@ zA}SoW6mnUgl%Y};uo`RYAur_5mgQWlf8ul{0CTqF0aw>DMZJv8RuxLBnI@bv>>6e* zBAroOfUj{;{q3`-KG(p%YB+xtf*90kVu^UB|E?RSh&M&jhmv0U+LU-Kb~lO>m!X}Y zr$GMctbHfTTQNlv8b-5MuzmB6U^w*`yp0+Ma^TH#T8(1YNaxhw*|s!i^t+U{jrV1^ zy4M%24zw!&tCu&qaBBCQ;e@|Z+;>ZrxC`!evZaHuMN0ma9}#1tuz7&*HCm5R%8xCN zwvd~d!V=F^S(C*Qt0|aPYij^D4UMsGfKe0c=yT*Y*>>w%4=)(MCme{9+6`LR-mcBh(_ZG5E*|n6Rb<7*~F|q zZ^db4XYJV%q;jvZK;8A}FornD1&Ah_9-GZ|2pXd~L<`!+6(Vy*KBCE<%unY>n*hN* zKHL2d8Ix`DK81o0!zzqJTzN6C=_#-+HzsLfiCjlS+BlT80MPvLB{DDa{`Kqfw}o9} zS`yW~p;B_Gzt1P)Ls;pUNYH6>n5zEa#s)aPhI1{I+Bf{Li(vz_{m2t%d9v<7#WCzk z8&SZBb<#n0qZ)Zrt}jIijq;T~;L#K1wIQTP^LAt9q?}O*DUOiHW%Jy#@Odt^sS}@& z${i{s26JYTlshfG<&AqsY_obh7v`y5=tk=xOUWi7+4-)fGLG`BLZ9FlV6e*`r563`MWY=>UAFO}PV-8bLSMu>?6 z35GDy1P$JGezg_Mk&*AB!Q5><098w!USAArP6l)Ssrl@AmQxZyVmjNhK;G`OX8qAr zJ{1sFo*iL79ODwoI4T+;EJq@L?fcf%qr*7h!WKFuvRWEls-t#^_{ts#$O@`FV&q9D z2|x{wtWAt05{{`R;I~72IAW43k^*r}Ry-0biw>v2=f3%q!S)3QL@i_6#<#C4 z8$mH0sMP_#)ZKeU_Ay>N9{b_ znGjSbBC#i8?0*$T=FTj^rJH}_)=yAeE2G#gYF+Byi^~8Y(cgi_q-&0q%LX@9pjVJv zhSxiEPhu#s<1lZZSsvRdyq#x>U-4E)NnsWCH~AIh$z|fdM*gqdkB(cId8FX%wJfK&XTU>uC~Ot%z>-W`yhi!a*a| zRqFe(Ua?IXDPf8IolUU6=sR)E8&NVehM5X-n6T;)LmsXQH3Sxp{dHlXqP(g8eW#!# z16(y+0j(XOo!>4ZiO(fQ;h=fYV`v1MErTN-t9!{CHg=6KT*EDiYryB3JV3*R{FEIX zEG9gTQpw*o4|>9*PNAeeqgZR(P$$8Jsb)`Kbj@q3$I}m8DlQGKPnUqQJX1Ze4}e)) zkf(J4Eh=UGA=kB=oEPJt#7WsTRY$)gWk$vG5O0}CvBt~&YjklT&>-^JACVtz8fdzf zSlvixB7tR^IzLYoJ0~r#+dnHea{3zu&tzuG1tw>?++;?3{FDoh(!sN3*+E=PuTS_k zfG++T;Uww_-+~M5jDxuOeXN@TIR|r#BR|O(zmNNZdUxC%WFN~=`G`&dAGsNrr7@KJ z^DQK~f`c|`xI`3*Dkp?jWq_6HDAN3xJf+fKQ_#pa)DykBZM3DBRK>1JhM`Xq9KVqb z18BOx*%)Nt*=tyZ<;zgm85!e|174y8&k$4Y%A%#iF%+pZn5@ktpk$uT z1d+wMJl>`{XAm1jZYENyr@^}-YEKx*SbqE-E~T`r!=wAXeEa3Ezqw$=i_K6)fL-Si z_bJ&4PDJ<-==`adJKjDTi}lu|N{&w;n_MTJd$kC)bX&8O)K(AFfnFFjq=Xj#0HS19 zjN5N$i>=S4CWlr^ww!ZZSoT0bHcG1{#j@m(neXcfQv>=`Fj@@MW?H(2b@Y0*Abe`; zy&s%9lg`F9tZbnXx|@)Vs~|DpYjfIPcaNrlZ-?7e`_%!YI%b(<_y`@%A~t7umhF(X z#w{>>v}Sc_G8Brj+va;W&Mjsg!#vq%hvrCe3ZQ}_5m30l?&0fJ6r!TOl2li3X{7#Z zOat7yh@SB`Dk&SGBuUrOq*=*_d_7u0NsUht#k9%i)E?KJ)oKIwQhMjub-n0{gu9P! z)w;;E8mAmtcdZwNzXAz!l$!6wFP*xX=hzYzj-^3x^nH+Z2c_~gMh9wUojM5M5wMfD)+v;6R&E3Zf{H(EvXX^ zw+eE&2%?W*<~U_(YXmK1;KoT~%J)7lTtsEh%TR;77Cq>Y^3=Ic!S@xbqw;W@oXHNN z`VCM5rkoN2Ed~to6*r{|u;c}*gC@Cd46}2dl^?$5Y^L4lTX7RZ_6Pq+0gYDc`vE2Z zy^0;3(p1GQqIdc>iCXQ)LQ34Jx0r*rrG~1LrvCv1DHG_>e>?Ss3-Syf$CtFW?i#SD zIKO(mltubo3+wMpzpz#%-LMyLB48=%I_YPRGCC`LQ$>`ZEZtL1F-1NVAAH^EWI-q^ zT5Dxj&WA)9A8dlg9*Pq6tz+S-*7p;n2#S+ofD4Q9(+bgb($0I_Z-le+VvqdY5L zwB|u4$Z_bHwJo?nN9=w&74S#it+Ruk;=M9vBdD}5E*?zFK89=cJ6%nwBdsdv;#Is5 z8H~m@swl?i^`ocuMd5W9Vn?f-84E&Eub>)gtL-U+fnH<)ypaXr7kUTmj zU*n7Oo;)9hlAE--_<|A16E40^uk){M{aXwPTsRW&`Mh?=%q=NSH1}v9I4N?2&?ji` zFOivW=I2zq7!D202hMroalUh?_X7jff4kd5Q8Ns z7Hg4KuPA-4v1W6s8U_NtQ++&9HLj6MJpP0^)U8#_%qQ5*PwN63> zsp{5ixp$U;XS_V}M9YlMXG;hLqYLqbu$C=-mfos2*PYoGeIb?tI&5K826Ds~bwD;< zM=cdBOT49kyQ%QmpkCb`mBoKxv)p}Xj}~^uwyc>3Fy;L(Y0~5>KnYz#t7K6u^!Kf4 z9q)z7`%hBz>I#7RF_T<q@Dwlh)9Al5@^1gd2lDXC-u!x`yQY zr%@tQ5HP5{74w>O!{e`IuOzRc6Xoyv*Isck#0jhKb1fn$?y=!hPPqMyLKlxwlKd4NYQyF^%mPgs>VcQl2BP5YR;3H>Qf-yG*`Tj zg-S~LdbUT4qjbZwVc#-xsNJ)5QW2v)&S#3`pGbA zqM;?)fA`QirLiVp3K|gx;Fh*XiA_4c*vP8CG2-pFZKTI=uZ#^p^`JFXCt(Tn9TW!* zyTR+n#lLt*u8r4a#$CgT@C~EuBoU<3hi8I3Y5;Y+DKht`Jh|#R`cu(*{yYJxK{?R} zphc6#bNodhx`^z8^=7iZ^_9$#m%J)++&CN^vku&npK;ga-#ts0@K77V-TpzM#X(Z5IUQypQ^su@YVS+1 z0wef&nT2-R*&*c&y&pk);k@4jkr-hxR-Q{x1kgzk2{GcHGi2^7Wrej+W~b=`)CFu_ z2?qkI`i1(y7C^L*f5!t_jBHlhH3NcIeqgL@3MCp zt|z8254pKpUF>nzc5etv13%smz%DQ;1`jd}i$kgHEu1r}O&{Lh{q(e~xY;~4zCW%k z;59W>Vy}*u(=@I0%re^|(XJm>aB^!KA`j5*JL4`FTm_nu!aD{d$m^SG^1OAoGg16t zo@~5iBaK`{h}l=dNPBMIdzE$5%0hBW1Ze865W%?0bFu7`H|R^OkLpf51{+H=m)qU; zW+yJW+Ww{8c$FLR3 zqwCAFk0!iwRz+vXWPy!4sa`y6xCCa!Y*c^-TN4~yTTPDK5o5Q^`kmF%>}K=!MXSki zC}z770s`W0C6W@r_5)-eS!ef5kzcbWS}S%=sog88M53NBMzvZ=5$n5(Ugsr$8I1tD z+tW{fjN>_YR`N4BRS+MY+04WR&}AA~s`?!vcniK-jqbiE`?%+BgQZ;+*pm-WkMM{c zp3kWa(_${cl{l+0IqFX!!hP{0#7zsrf*Ev#(K&clZ(4 zFXbHVelC5840Y+la&j?kY;~P-ISzjzX-S7CG-A+lC-9rSpp!W<2|Tz8U01>)oF!v< zIhKK%kp;9>cvZDwpC7YI6pKWc&-`AK0PG$c5Fjp#dFV%9sJt2TEzU*8G@pBA(xXB6 zo`u6z3M|%9w$SED9|%tjgiXZ5%gRY%1>)~3n%FOJ=ot9vupXum?1>1Zg&tlIyA*+r z{|fcHp}6k$9)NNX2o#$`rXS2PIGH&@;SwdPcH!*3U^f$4Q!L=eLUFtgDW~eTSwLr#sD;3+mpKrm76(W3x z7xMYeM zGiV!xvg4rCWp-bEt>mlPrrleW1po&QY&XdtSOFP>HI;D6%q{&I3tTgr-EDA{pH8 z_U$!n$I%1zC%PMyvz9?JFMPh$uI5TPK%r8t5VUr;>d=^v>PB3+e1(X5wuXm3g)yFy zk*8zLGdjQPf^yg}jJ=zBa zno-Ny%)WwqdpOS^{SnaQlwFFe2|0)o;j|#nr*i9zJQto7{jqd9yb)VgZt+cAd>4L& zDfr-zyL!lp$EvW3syF!`9z0dxq!e%{VN0>H5wS-+-PM zQ!(Bqny6rCfkQ7?lz*8;_>|&^cw1mFY*OKra&h;-n1F2#MAn|bUZ&ov+n*|b-Wrr! zkNG4b{!}6rKgiuY)}sT0#yEzKSooWG1YS&>!B4btY27Ou-pzBH{c|fTm;z_=$e8J9g{ZVvYdp7-v9abe|n>*ltKc69`pup}`GL?WF zWN_vVzXDYgJVp~X_P)_p7M7yVb>K78`*kj9wQH!Yg(pq=PLRh~(q`G&u!|lzTmW7P ztuUwAeoLqs&~vZz7B?0!cr-=jATFNAVuUocab-W0V(x+L5i zv}wOys$3Nd+YEs3B)eJZe|9G(^V{)Ch?i`DLx@1#x^SwsAVHfRZyg-FYNF{u%jP)~ zYcs*eNfxec$0<)(5?XYZU1O?-=eI#u7oWEa9sC}o`RD0jXs zuNA#c4@;2I#@k~i>_xj9k4M8n4mgwAqKOTf1F5+_GP$CS>ypm~x~z$YXe+K!UwEkB z=P@_I)GYg?f&@kWNR78cB);lcM{vIE_|N%T3fvQMbyYsB%cTuVCsNIQTKf#t!Aixw zOCI=rWIb|3E-t0XLnT<8=8gD`u=RF=&z`9L_AEp7>d6weWdm_``wWnK{BYX1a+gEl zHn%483m``Ew>Kjg)_oZjQZlPVQoO)T#Nv?oSUd-mD@c1i{%`g8&DMKlE8eoNk~977zX7q!@>0(CR8y7pTC$ASzY#nV#MNBlRwO--n^0oAqs1+$j(M5wAV> zD1Eg(TMTVT`3vCyZrjX!>X-Sj{PY#|V3xR;1f~_Z!FMy>eqt-ikqF#WUY)Om+a8t( zN1o&|z^fPYLrM-=otq3jiedKg7xCtMyn zEr+;?$VyTg>!CG!pK@V_2~0-FPe`CWyCqA~22VWr6hTnp8@Nhab-DrlsKh};uFkDs zq7lkL;4uA$zxVU|8TZvS1L+;GkyxRhfzT{7z0N1}3S<{F>YKwB1;Rg1>V8Ji&lFF^ zMA3BU{R(ANpUCt1T0)P*U;{9)8jFK=vjnye6lve`@H*FM#51F~e*G@6M8h&i{d*v* zOnJRskSZ5F%EYT@(adO5?kel9CHLST3i>~Fgus&#;KjD_0i9gGH%wUL=H5YZ8w8cc zLE%}?1wgJ-A36ABOky&Qv436ej*!HMq&gzydgHddC;3XVx6?uGXYE>vn-F{8xU2EE zRz8PPmVlDHk-u9Y)4Be_s~hOoj~)VVqNHXS-uETB`6PON7zue_vBz4Kmzx?)Xro5d z2nb3mh@LIKGbw@_1`vml#o3US!9|Ip&IFsTG20Wq`z4>)Zb=GwwbY5p5MR?t%h(;T zUw8BP_o_AX=X0?b? zxdoCnYHlXirM|TcEvmO`f<IXt~4ILtD&Jq?SjpSO5E|w7`@i?f1y7Wsk zQ4Ke8umsF!#c`v54~N3g2P-0PdFG^w=(R8$Y%4J5JD9_stQ-NRYz?!Y*Cz@4l8z5H zEU_($co><29Vc(8ZuNg|?pgkBFpgFNI5Ov-{cx=FJa>tC6JU3+DWx;^$$Z z$46YUXBe9HR^BO}cCnoR_GhjdM7k;ZlBV8%Hj}{<*vHH`?Z5j$kyvcnH16HkyE*_x zx29x8vd5UM#omw95N(<|^)M~U=)xt!RsqI|sRttQ+feFRIn}(~R-KhF-a{0HW>MyS z&h|+m!iPbIYUGnHptcxp6@;-Qj~E>pw~2D&xO@WAC_h z$iFEkX#M0h1M!vcg_Z9Qvyhn2{2qECgS3Ik(ET)FZoML)<)PBwrsRNQ>T_qD?Vqj54F>WQE$d&BRBRb+2(ebck!E|8dpX1 z^t3JYC&Ird+F%XL>8fQ_b^~nvX5!OfXKF@|h?@?~W`0$m3VYVb}8&VU{?DxF3$a1p`jxDMiL* zY)qD(Yjy4HLxWGvg6l=YAr^h&-PGpYeXd`jMoWKr+mZtzP*5S5H`Vl^M24m5N2?4m z1_FAreOK*@E$P~48~}@e!P?Tiqm$G~un`pxTqTMcVdah7OZ>AKX` z1D%R`b1(61V3n-Bo~%FS1`kW#)pF-O)R?YhdqvVlD&u7lWkfJ=MW8`_BlTgJ2izGK);J7|dwF=#6qpt2Z>6 z*!(e#h6p#ul=6PiPMok?4CR?c1RRy%W*89vI-*24orV;*U<*{J;xP6iP>i*N!AaHe zY9@ryQsZH~r-+Q0BYJc}YDyR7FcHg%ZsQl+)Py4#5lahXsm%A+anG*Ah}jY%joG(Q zNZc;mzro1zhx@(pHTy$Ksl<6-j< zrirlpnJpIWU)}q(p1hwxmeas zfP-`WKu%X3=XkkzFNXXcn>ZR1qR)0uO@@dDzHH_(Oi7!vqdDhK>8l^7g5OcEAj5tPb8Oe%Q#(+8`3n6mY_iG#abF$ zYQYA2k15O3jFH#4H)L|0942jjPIgj1Svkt5JO|xghG42Hd%G7~k{4hzTgprsZa>JP zF(85w{Vt&pziJu}tv2|d%e$`J+DbIR^vJp{A-0I}KhpSd4Y&My&Dsi`(Kjs%#0viu zER-+_H$&JXmMTY`b3-EZ3R;9AW#8A9mX*d|^a9fuDZn{ZOIjFC`Gxbg#1-ZxORz}* zLj-J%7(8r^1}pp~^i@rrN(BJpwM8$g2T^-*JX!Z-V7GcF6oq3t=VRg9vmpbe8a?Wa z;SZAt0@=tT4rM($+T}J`ZN)}3?OTZeRbpmIkl*D+L z5Za9EjA18mJ7+|u(s2l2y%GLVn6Tp$=`%Obgbg+jJqovKWHq#h>i|VQ=fK{PW=dEK zf9ZHeIig`#==5<7zk>#8Jbyfbi#u|W4$spikWGzvx-q6-Sg z)l0D9HOjQh)((H2C$UyUev;J9E`Y84i?EbZ$uW`ZVf}R4mZwQzG2Tx`c7eTiHE<1ef2|c}^k`Z( zC3qu^8|f2H1~H1dZMEfb2p{J!6=I$B66GEIGd`??)bt zH#>;*BW@EdGPl|NvGqm44_fq%4bhZjmZPsxe~K(qMw*C6iCv1UE0R9%{B-797=xmW@2;fa6uC4#Y-4k1O*UF3Q}}+dA@x-X zRD>^}^SjfBs`7^yJ7O|fD|iPWIP_#b&Ira_b3wtp!XqhE1Uy;1$SN3(Ac*ZD=v6{A z6B`DxWu-iXXJs{yaQW38up3#_(2thIa9FcsST2VgOkar{EzZ%M97b|0HMgE3$L)`3 zua9*hJ_bs*0$REVX=8bfUlR3lZnozfM45S$r}et!ca(J3RW5hi2AF~;M-}6R1bX{l zLJJ~PXzLru3R+0Ha+?wqX}E=);5sLtP8hzvNYlb^aNtfk)xgM!RA#+!7^LoI@+G=t z*Wj%hsiBWZ1sI7oyC0P8*-!`Ox0ZZfJj}B`e<@R@rtXx6Ibn67db~*NdgC8$wRDUt;5XyR(vX^B6p4()cgtAM; zk3UKTP|!nho%8XBS09|3qRX^6Q`O+M0g$6aUs11t)0u`{WOErg>OAN54`(c~z+(~l?loa^jIQE)I5Ii$auX!#zj{Z90y3Lz@cg39|O7jbN0khA=T3&fpcvm zEt(MEF0iaEV!aoG1O?Xjw-#6#cR^U&qlcKxJU(30Pw%w4AQyM3MTakPm z_c|<14Oy`x{tPE-utKJik$Vc(Geqd-F7AtQcMpnaC9-jL@B;t5Sg3k0 zYB&&u8XYike2ueiL10;nff6~tcC;&pqC@O4ya~zPvJ8dB$L`|Mx4%fpdE~=dMK$Q- ziVa~s3QPmFz=rLR)5fEzBR!c49r^(}6<$vNS;(EpSQ}7Lig_7L_EQqm$fm$7>XNT_ zzt7GX0$C8RL)1iD9rc^RIkoS6TJ&Uxn+w~4UPVOSfsdHHa7fFM&d|Rt7sOdf5ux-4 zz6jzslfsj{T{Ewb1e->y;!_$(c04+rVN1&ZA{mq47MboHYjsBd4KQ5eHmq`FeD}w3 zjP#0ph%WFWj%o0-SV~`vdnTwmH5!HPSM3@~LA-Oc^`7qi#A(+ksGvq`(j?WC%7Kz}hmXX=6Z2P>x6bwpL`h%W1pls$y2OZ8p=KwRGKw0K{i7KABK-9|cx_ zL0zg8U(;T85(tqUEdM?M>k315(CcgM_7z)z zF-IjM80;#@8?-}`p5XeUN#rYCJUv!>J{xj~Sk429PTC5QnXhmdO`ailcaInSdYII9 z!<{nda!QxM|$(jq77IozoRsEMl%kvi*P`Wge7etKr4i)+!xX_ucb6Lh2VmuK& zzDC{Oh<0FTlEaLcBEMrbzM{FqXl0`&2E7Hr^%pS)>|28wuHYfE>0>A}xKDSAez~%! zi-#deUOPU8>qIO+O-b|g0mcA2=?=1Ve75{JEY{$nq`86+3mooEG~}I9E0B;Zq60-> zHjwD|cj>AS+@8^d(46I!(@=4$fLg(2skd`;GQ9(H4d@3hE#m1#ShFz2s_(nOqbSmF z*IE*PC+GF8&KgOsoXB;fef1XX30mewhXsmuoHw492xD2mGGK{jz)?iI69ha`OfAxs zEtIEZ$O}Cs{^G1C+Q&7Ue2bdEIeTM=Gfu}Ru#Jwu9@PEedWo9>m#2!?%G#)V(NKBLGb@BYd;Uh3AlG`)D*ki*tM1CV_7~Q~S${J~88W?l zj91h8(x93ZYthd(05AeM2T&DReli`?pqksdY-ArO&0Z1f2UBZ-7KZa11Q( z*_`E`8lZ_MR#-a(ke@?}qcYQ>jxLJTnoxZs(;CPoPd~=gmj%xq!Gkmp&drl^TqnY= z+U7FU`C5Wcl$=KIi5d=j8mJC1@74k62 zQhMVC99jFreD*LU8O8=O`O3kJ)AI&56!5hY-AbhAP2^~$;Kueod?~RIZ!9<49H-e< zzXdC!cWK7_omh!82>_f33lu$4F5LnM+&y9Qzw4017%wZfg3-jl14W$nO8sw6{3tLl znk51t%gAt#Y?`yfMng$4EQJ!Jqi6h03}qy&sYl#f6oxUBQGn1XE#&7L*U~kS5#`}? zGJ4u$Rt8DZl43!U<`vdVqHiA_#j6xsP#{Hhf>T`(Bk$bwyeLVl3Z7PcjaYgQg%n} z3rhSTJR_+^@XiQjwIbk0I$F(Ow^qnJNjcy(><<67XRZ{d$Y-ymgj&P1Vyv*M3ynjv z9V2_)SBIuv+X?~3$(xALDaN^@3I`tv$&mS)=NWe~zNbf779dj&YpT&)5G#g9hQcmV zla|uo-H}OV6mLsN|J@uC&Qgk^jpG+O4}cj+Y^Uozf~#GRs8zz%0Y)G2QT8nQl#xeH zeBq^^Yiaci!OTG@7CC;a5#>o-9)?KXt+x?X5oTAGhUl1a{$ARLes?6r($hpNKbxD0 zse-xs3=K>T4JZ^TCfH@40CWlpJO6m&D!tUUPDC&!(RXzgp1H?e96evvq>1UN9&&Bd z^aRWGdRtD-3=O07Ac3Clw`(d{kmM0*viWk@&%rY}!%}*UheYmI0#F!xI2M*nF1?K_ zy~fAcDA1zLWXy#Vw0AOTXk#-mpm4qz_?VAHS-!G#QrKz!8Re&EDsrX?F?fXO{3>N+ z9Bu2rN#e(K0r%mU&@m;%#uTh1WbNFFX=C1{b6b+Spn6PPcOsU@RTOn(h|HF`v$#7A zw0cB|Z;W4tH~3ihI3pQ>ej8m-8Qe*OD1)`rE8JV2wcmR3!7~07iV4>~ckK=4#lPzy zkL~fmhC=sgHMu^fvFI)#v{*|WMIEfsze(TY$n~tm~YOa{{t-RzoS{TRI;Li$|iBSGOz`0i~0Vex{w%4q?(B+&=r zR!d3{Ji@cH=!);jqZfQQ)PT0{&h=#_#Kf<`BupcqK8c)5)8fU>GP^F5@)Ae>5Tf`h z;kiL?aZlSpx!o6cx|wS}!9f5U;_5g0Bt!bOy2yKau!}`qu}8qjc2kV)VH`0ljd0VSq>ZEm7W6J~bZ0+F}G81p?&@2+?;pr7a z@-CV>#z2-#8TX^VMPr_kDOkZ)vY8Eh%s-AM-luV>g$cZjM|+L}ngaQaT|r&3tKg5E z_Hn(>CQ_rAl{rp_Ana)Zj9uuynHNk0l)gl)J}DJe2*MtVuya-uWB)24t*c63%5nEn zyoUNPEu!v=r>MKyB`7Jr;{iMK8WV)Yfg|k{)@Ct$6RFg}0Knhs(y+V~KarwRxn2~> zbo}PyhzCaYT%~o5^8knTYzhW}^TDm991Io@NBzTIFs{g` zJ@43{Hb`S2!jmW&vfYiQF_QnGNA}gP2QvuCbP9eQ6ZOZ zZs6vRc%1HaH(m=<3@amjHIG4l{3ZB|EIwn6VZK zz85{xK?j#rlGbsDuA6HJuTDmy1xq^vLyeV>@eiFYiUZ3e0|kg_05$G@6d&+`S1<_ zS`fq%?yY^UU;v~8QHK*&rkMT*J3z$0UQA&W?f<9m6U4#!PRZ7QZ&Q1vSV0Z!%rfg9B*ew&7`Di?Tbh~b4nxGc$3=x;p z*kb~D?i!o5Y{RXc*z@VDI}mX2EXzeiMF7OvFz8!juJst>FAk*OBglV09~?%-H-nhh z&UJMRtvc5YHwz9^@l{KCT2jSBSN3>610KCdeWyq{ivA#;AM1GEIoieClO&znHz{|I zBZ{%n{Pk2lSM0cq+KQf=X8|UqaBj7f7!VMP*Q99``H-iO{saLc&*ACJ3Omdk$?Vce zgMsWHlKfhW1@>lXSc=c#ZHiU&Fe5xsV9A|>MaP!*mC-AD1lj=waq}}yp95pTX0&zR zHKCgz6IE2+=>o~vq~&OpBYg_nhK&6^(LoH0|As$Si`g%qBeW!05m*`B%Y_5`h|Yq) z9XupBFn~1YB+XgwpxA}$vRWTiyX!fgH+IFpMY>0bTrbR^5I5_=;GMW;63o4lA)U-d z#FQFhgI5~f@IY(S!5Zsg*hdqs-&=Yw9RBJ+r~qDZ5+~(A>{(wqmVcS(B7U%Lv>>GX zhbkC!K6bwt`&=T`^#HP)4Jltp=Dqzqu0Fy~9PqtO47i4-6`Htybdy5%f}HQftA+~P zczZ40o+URHbv8AX8E&!!m&Azg!oP{4ytKSKF{oA>Lb;3~4;D?mcTiTG;5CNA_3yAp zt^b!v52&-3few@SVgQQE7V+bkV*vzs(>qpVGGu5snf#W}ZwHP#z`YvB_8qT&MdS#c ziyf(I4Q~p@AtqcKy=!>&L}B^3Phey=WA@TA!Ev(r*?hTUIPS8I7U5FHtMR7KaT0Qf z(KM70DZZ+XfB#}%ywujE_9RYA@Bs0e>ST3zFR8LaukL^e&YQDyV`K6j-++8Dd5(u6 z`&G~oRJVlg=VjGR4~Y@WIuk2P<L%cMNhxER1ycf6(Cyq%(5Dlhnk-Brm*`yhUVDM}wze$Zcm|8Q#Zc zt1GEBc%0y+Pi);%yFHm8iC|?v3|24w!~%KSZn*OQWPsu4E&87*I&y^7Wc}b*eZ!dC zag0qXcwz>$c5h^}>0}|mk6*N7<-dn!jMWidWOTmq8%>b?IGOp*iE`}8uX2H5<$g$4 znIlu81t~9fz&?Y-ZCNBORk?N{&I&2O!^TACuTz_LaNvY>E-h~>wqw~B=ekZNWuY-w z;pnZGoOck^7o)~7BB@eH&{q2_L_Qj%N1eZS8{QQ;SIoLnI~0r&uo6F4;_wFdQ>U*_ z#oEXVQ!9>KV9Jom#nZpk01sm!%JGf>;cBU6fqFk{rrZV~O&vN1EGFNF#^7S||C5FW zpkOMtVD;f}?*u+<8tY>yz;+IIzdDk{1xsaZ2U4qRwZI|myns6}(&FkFL{<8b$!7r-E0ZAYhRs>?1cBL6E z*eb7yFVnikD7S~>tNcZE2}#eN44T3s&6X#2Up@XimBohm`94E5PLqv`M4=b8o9xC* zNQgXm?0VT38$)D4ca}VK1RVLje=6VED_m3=3nbD_3xXYwMk9IhoBpN^-vbItR+$%E zwVGNvPhaF-&X+>6=mbfno;wWa_^CAT@iuSVLOA>5k=2D96hN84>BW~adK(AA79BiF zGpS=}D3A&0v|VUhJdP@5p~?8l0L*d3Go%uA5AB(XC#pW?1nc~?yS~L~e}yLR$;0ii z{=u=ch;8vn@bK^m7+@v3pGRGl$A4%dmEk=%Z-W=t?4MrYp=? z2!8v1H+^=FHY@Gec3kMp{XahO#`R1<(*?tKL~SI-_PrXUQQa*3)3y#7|47lir?I=& zCFn!bP^n0BkNo&CbO-AAogX&-;iI()7~188zrm&fHfAsfRWP~gQUogL`*(;t4XM2{ z>By)f+ByBUdPpee8JNQAR>yTd1YK{Vtcp}c-hZGCQwIF+@0GBOqzEY%Z<1~OHKgIc zZS;^|s9Rk5QOW*AIx^xrguw7rrJjoLmfD^T`oUTA{7carY6mFX1hPMK~U6_-PQifSB`f;!>O4B}hA%78{KDgf51 ztRENMrz>aL2a;8Pd+x9*QW3y)W_De4!=d;Dbfj)%{oWKGJ}N)dBM>V~SYf<}sCW7r zbJ@BzQoH2-TR_nt1;uhfvxHXy^)*nhhD)-aI&dK-a|#KjLLVSR zNF2PP#^=a47pL93Cnq0-K=`@0b2>InEB>)0rPjiPdIINlKnt!4LZ5FPsMJNvxVcM;I;gA9Z6OhpoHMaH2_|&ZC9xhQGFS&Wb`8rf!PqP+N-E4|DmMuk+SxEZ^wlu) z*_X*(w6)LPv%EXMsR2TTd75(JXa)s+vC75ImxQA$Q!46E&0e66VlfUAhaeLUs^5_9 zK@psL%jrI#$&MWeFD*bPm?o(2chp6ibD!-@YLxKim!+A3=IVq}hzDTe#Z+tG<_K;# zb{?xo`hye+>Qg*D>&{rnH^cM~5ao1s_h~bpf;E6K z<;m3a8dFx;3`NY*=H?-;gkR!I*d&M`>T0;ac)5KW>VXBY);3E z@@?7!_u`qdz#S}?STOu6Qx8kxeG1E0U_=;|9+!#mJ^o)r#+0*TnaoxJnYq=bEAS;f zEA1y~AiwmF6evnJN0bpmV=D3C7^IQRl^TI3mr|m3#-9IfAMGc$3D5M$bU9hn8_13? zXaAI5d;ez9zlrsWAR7Fb-Fe0mGpQUPX7Gg;Nx54`%>1KJ0`8*}K=($;fas#1_x&n} zjhXf_8T5?-yB34)u;GwYv-|*crk?l`cU~xcws|T^@cC8k!hhp?46!M-o_5oOZp7;D zoXLH<^hQtQ3Hmy1>Dw`bEDhYc+o&3Tg%nLy{n(sw%Ry7s0qNW(Ro5P)kQ5QkYy}zu zm&k(!{4i@G6AZy*$vYQ|<-r{2^FUZ6rqDgU1|RS4?KNX&llD8NY^@GUrIuME?}H|l z>o)Odt2ABhS7s)yuI;FFK|D$N20*;7FL>xXRc43k*Dz4T;4>~0V&`4B7W$A%$6}2_p7$ zQt4B65*MlQ6Fuh<6=wJ)N_nvyD*Fd$Q!G85F$NV%&uaEiL3?0D+KW#dS18LiewbGX zDJ0rg9=5)WZ(K+Ianvw+xHQzE9)lEFKElem>Sb>R28YtIr?%H8mUrq@c?N~wIkPAX zwTK1h`~ihydU9FLvEkLer4AFnC)LDbAmB@5`pq#uT&-Gob0}jVvV6I~Q1tey)B=5V zK}cO>5s1zx1i?0qc3Jwia6x@DZy)qV->@~`cOz6fwr zb^nKQl?fGg;=YM?(t9pCjf*YL*>5)xIPa4aGO7D#K3JH4faLwHogr)V;%eHM(EUt%&(d zn`E348-IZj*itwq%ikQt<; z>#kU?LWpkRR2sBzTMpntNF8DdY9Z7NonlXZN+IU^jvi*vcHwtGp|XO=vJBN;AOhAt*{3C0*)On^XF z*!~y&v0~R1&Q>01{CZf2aB1<=je zWBfTzEmm%*&6#BNiKnl2;HQwNTRQ~wY0*C)B_Gz;xgZD-njwVkc&j6Wth_IOlQQDy zpMI%}SEOo5HI~sp^+oyj|F%rEY)*5fji~Xu;zQuIsitFGlq77{i-}*<5Rzql&u*=r z{Jfx_yEzHO0*b{ngl2L0^lPi;sjuZeJ@M&b11q`X9C;9q`Uro$?O@udcwR-5BVY{8 zBU*z{0FlfyJW~vB0|Cc+g~TcxYxB6V=%#^>$nvAuL2qf=LrcRHm$sGkh3RIPBy7BB zxxj7qp~e!6c=9)=Vt@u@%42!D>gnnixsNL}AYqdQ?=#_D7qJtEq-y>yArzOH3iO{V zSVuOT7$zunY=0Gq9!xWGE%-lgbjXxr>!?{*y(3I#z=0yba>gL+x(tbhP5XDw?q_jiQ0 z0e;&TIc&2G{U^7kw~-&#gyt2($mU5v=2TaRJIJdA-*Kx!X#o5Q;47eDKoJ`9wyR_6 zebkX1Yb>4pe54_01F&(GNna?Eh?YGYxG==v27@!e>2!q_HO6d}mm-v%B|aLYWmeUT7x zlh`Xc_RMSjZ!!|B7B|gH`pC(sp6I$)D7ubR68(8j2F?>y%0uY3}K zTR`^Glbqxih$Aw-*t=bul!ok2!JskW;0P2r18V_!S@uh{(40nv+WW`78h_}pvTT~_ z!c}CKruXUQI{@)yTzjW+oMj_$^|;70HD-l?xML}CwtUA3gV;V)m&J-nIFeXxI~jyY z*-?Y={(pt#5z@>wWEN^W=t4``6HyvuVJX2stlFQn>w$D(Z{Zz+wmoWxquud$=2x;i+;f=J#?z}% z3ZM@}6OLrC$$0cfXngSAG)6bAVwl0ilM#R*OP!;==rHxTo=DX_rkz0D#pa(B((4X8 zu(m2KbJ_1io^EZnCCXAM&*L8-$;|Hf%L@AyXi)qQF0ZNC4QoSKI;RV3mb#gc#RU!8 zT)%DsMYR#32bU)r!^TVwVc(7xUB*GFmpkB9*g|Qynuw!Lm~hB{Ml6OH(PYH~k<%<9nE5N+)!8S3Ycr7h5p@$|0Isj&Ex}@PaGE%cXvCAM#%^j3L(O zrfh;Goeb;xvcloPKb%94BTME#=_d3@#K#du*}MM}5BC7d+|Ohha^DB(N-m714;t2P zM7qQUe9;7pPn}VFNf2ZyZJP$$gx;z{mUlIL2(*)=LxixLKl~z#xhT6m^3cj2tPARxJCEB^4X!0ZI$i-{o4xAgtW{FbA4}O9N7ij=M4$-c(Lk{vrXH0b0faA0haG$W}OS>q_{fl7N=20VSmo@py;4SyS zj(xb)c8%cyncFrVf|VqUjI|6nw08>sFkk`Tk|SMqRDSo^h<{zHSJYVB?m}s-)EQz< zhjZ{Scko?L9=1jEXlh9ETd7C!Hc3f_X7UPl)SkBBiMV=>^vHh+{onGu(>H0eM(0a- z@j};);301VCdnE>H83kHQsLvcu?Gq|M21}baFiUMn~#Pa`w{^+d9xD24H)a@6Ja$m^WWUO&~H?r&!eohE->R zZvM3CQGKCRms1O(i&ZYw6vbRL3DaBfENQFg?Ki*$N%WRrsL~m0=A7Y}w07SHQSL_D zfF=1wVH!fwHdgXQnSh7nbp=Kg(#N@?<6O(>A7(R+fgBor1*?aT|AwB9(*$}*kr!dE z^nN^S_5^7qK@Y$EivN7A3qz+hAKmU`T|Fo*bZ?EtEj#?IKbJm90n1q*h+Au$PXfz^ zZDxtM|7oU*87l?-65%c6m+&B8q8xv2Uz7nqQd{q-uF}ypraSFab}ZAR=?<! za5_vV>!zIqQU+~J(+5Bc9AG2?fz{2GOCX4ML2;0=sW}iiSR>}w#xi~LzttSTmKmIj za|q;h8fkdMC9+sy<%2uyg6s9Ug+k7~Q&8q0vjabA06?9R zF0z-j1rK_K}_YC3SsF{>?Q@F z@j@zdH5QeIS9nw$L=EU+C(J#g*H0Xk%~(Myw@;HB2%ef2gB(;(5NKnsk35Bce%CLc zeR$IT0b}9P@z+0Ai*cQ5*iux@Bu(AwtMd063?z5|rMw6y9^rJ!Ric2F7m^j47eSL&7k5TtWa`5=Azi*G4As_)`_wGc zpie{<_!fjm0_Z2{DpRAXNf% zSmmHP4&aqIVI4a$bY4TL;6evd7!U zrAR?};-K+R{W#~V()*|GW1kmkOnd~EhAExGcX_^LvXIpdq{4&$ZP6Qnf^N1@Vv=AX zTV6vt-q{wn{Cq*cpihdtH66Q3pPW}AfcAvN?_`UMr8%|V*$Z-}KcT-Dr2w0Y&rdiv(pZf4IC1_9;5cE!FhpM)@itn*mIX%}^D79f(UB?<&n*;+i zl(4_K)s3v~iyJHHNZ z=x7bYAynp+M9Y)$qR8%`_-5|P7g&%4ak_PaLBP0*7^r=J9!41IeRyCe16$MljMyXv zZ$Kkb-cFC(zz|TdB*_5Yg^8?%cXVK<93qLUqgvN5+M$0CA@ zS?89P81^{{!pVA&6Yd=!eJ!q5Nb)^i-W-fu@Q>V1&5P60NtB{4%j$RZ7n1&#{o}WU!ZIu|DjZOUs3cF0BlW(~r@(}%=WJAOwp59e$Cuqo^F3d{xjPU_5@yAZ<7s;!3gF_Kk2bZK z+K~Uk)tGfOv+3W)1Ii0;e!D*~Qx~jh*H6+5r)9g3B9B-zv9kUC^I#i_<qt%|3fF4^&@I*Lo}g5Og6Hl76lV@hE)@I zTUae`xGy4_Zv$piS94W4VoVVn_?RiV>qPP84+7fSoIeMN5f|Fdqo{O!0b4W*ak6C= zJFL;PTEA0v6nG|c2L?|nbOUTnsDXL;I(OKOMd1u zK|alIhi!BsSN5m3&iJc#Pe@)MWi`+h-6qdJhP?K~s)>4YA$P z-zmA{lwG=VGoN;T*oeMX_CDQzdsfTy)?=Y0;Qqpao%FJP(5*Q(T`hZ!I?K*dxvT6-_;nBB{Hy9D_4;yA=AKO})4(&rUG`~#QiNmKeLv4mBhJdXILLdH zaISn`y_oaA8H^SiuSY*tnUFQ^48UFPYFJVtJK*VlhSr#o(3?+E{L^UN4G!`-$YXE>DaVjCY6E24kq zN@LOiA8OOdwEawHxj?f@f|P?J=F+nPtS$or%|4$%74lB9PhNl2^+CvX*W%p!=O;PM z$H3GWGl__Lf%ZLbhUjj<+(OU%1lTMI@TfD9Mo}a7#6mBh)sN)hnKzOts^ z8v$XaBdMpzk$<9%Th$`r=ks|GT?&~AoCKT*?3_1$=SRRaXj0fRn+6;XJVW6&mvtZ& z^HDI7W*ktg{eR}(22005WJ;}lGD3@HOXiqz=^diH^boT?e#kl$KWYjwN zMd=$BG|U2enYv41$iJ5VHew>#a#${AZDvm&Kg7d_<4aUZ_+J#OH>V#c3Z@eT8-#8# zBDxTsq&{E*ZGaa1Z;T9F*brj0g!@h?fp654p;wz%orK=j3F8U{Gvq^6q@lI@&FV1n zV>7m=x3@l@P%974S%1?a@vWu7bZ)t<+iG$$ zD)!kb)+afs=ov5S{#kX)>rRGH#vx3CKx%f;?kE2E+CKm{5Xp{gX`ly@`YS-h+96K* zSgwd2|MjM|tM^}IUjLZn&EJP~rI}8mfVHPx7nulUj|wWP+_lbF><3x?Hj0&CtmUnq zV}n!(cPep#A=~4ZV-O@<{Y)JO!|T0rT_RqwhT|sUqBT(RILQOqZ)-OlzKz{}O2Fch z$@FzFLI1~VMGHcx&p5oxY4)AVn2P!;P0}d#0J$nUgf*|}3FvaYfONza)lvZ1K4nl( z`Sol)S<|JTpbFq>h;c9vz9vZ94f{Rd=_}!x=oAb7J^Y-ErMxjA>D*EBS}VUG>bwTA zAC`EDC!VAi#27*PIB4Xs$$s{=fXbDp+5lJt*H2nEf>%)RY&9Z-B+<^-o4YN>FUE%+ z6R4`#L>rn9+yGDgwWoC^h@L^7W>V}}OE|-+E&kF`b)kEeXMW$L*M#ipzG!Mxo_(Pi zvD5#{FsDK%UMdgpL&k9#iT`akWA*Y#-Wzn`f%34ReFLvTQAG1`mX@ z{jj(D6)xYhx{@bGw7R`s_BA2@Il-7>L!)%E%T21x#ib6RR*yX{ln1xYTfU+niYL{$ z5C63nLuvZ_C=M@u7quKgtmoT^N-zT>lMmCW2nD0 zNZPC&si`snaH=7+r(j<~o7%tp)t8BqlH6@!sxKG7`ld3+GU?dxWnuYBfEG`QMh}q1 zc|PJe)FRZCKjXou$=o@!G*0OJ((K#i6kDWNdkWk%=h3W^{Wdz6({~Gazof;pmUv3C z?KZlH!hS~mRGD|@kjW37_6`Ph9g7h=+e$z5Kn%wAgf;1R|4O743i*@k>TM#MvQdRC zej4!v-ZzeU(PCGD3|t|r1>|*K{Y_dbuNaE;>i^}4JMy%%wn{aXzoNA8k4e86C61Wc z1r#PGhW@>Xewg^JW9L?i@M zO!^}+-d;P^d4+=|RA<_5EIbMAtbQP`+yEGa0$}P*6!NM&iFzKL6~UM|5IVkGAeBCb zg(nETM|MOMRC23Qemmyt*>_4i)-OYnjB za-dK-$TP9i>#k|GD>W;H_FYI{iN*k88K&4kU3_McL@#Zc7mbmPhKSEGXm3Rq%a0<8VFL>qJ z$;ru#>!=Aa9l>nO7de`gtMzuZYqS`_O6GafBWqdkw;k!Rnb9!*xjP%$mNwG z4F!+oJ|CL*`m9{^5{p5UJL>0fX&K>FQpvzd)6c1 zeiCzG9l6vA#yMOAk>z??@@2JZB8i5Gb0QAJ@Gm==zKy8)wCSwRV-K_CSu%y^*(tdc z5}<#fViP0(DwFN5ShbS=Hrq~6_bdS)GF$2lF`{IfV2J!T=)iB3BY*}S=gp?-145H+ z#{gl|DOY9-nsTTp3bQ31S$!RNAODsEW=dr5x8~3TIMd765Cn*O0rw_402(-aNJ!UO z?JIqP*ffPNbhWFO_AKdS3Qn&Es^Z_0G5OKye(gH2GCujeS$g0Wh!<)(J5URde)oBv zso#tQ5%7Y8u6R$F!ORTcWCqub$g^h(V%>dfavMZEclOW3U*(v{s@ELC4~}OC>>c^k z5%H$!N{`{FA#U`Wrv|~t7DV*%MXWty)yI#Fby;cLVb<_|$H?86)Wd)QrWt$e@V8hL zSteTbeMuS@+8$I2#L16A+srCD7Mfk-@rNE3m!C5E+Od1ezY9X0?Xc9opn0+Hz#m8B zuZ&Po^9e}1La4uT0nw$7S1ldKdI7qjB6Qw3j>c;dYih6~LH${g>mMQP@K2!JL0vEx zvNGL`$l~l9hI*{C2$`KA4mE4@klzQ}5X|Bw7ZcraRZ1pW5=Zllo{LyZ%bG)AJR$I?KWk*}DhTr);qaV?ZtJ5)1$~4va=CQ5ivVQJ; z6j%{#CYM|X{)}U_??Ho*9}JzP8y5js{*3~3b~xpaojtNQF5je@Q;$uwYw%^}t)aE? z6S6GX+5s@1c9G9*X-eQhC^_pi>g;VTn?4#&1EcQHN%t{zp4FeVz=_2e$%v4P6Ij-$ z8Kar7d~atC`;Oj%4gVAS<2C0cG_?mdfh^)G zqxGo0Zpk*0>DGgz*;GAw1irHw)V(?&0X>OCu<6@Uo+S-jm8~d(hK!o_=6L3emI}co zA9D|38ezyK`-VOjwdjDVI_z(n*>P#sivb8@pn_9pO9Qh%nX%1#LaBzIdda98jws&R;#*%{UH>{EFr$ zwBeoclZgKu{g?Kvvyryp8Ovqg&4IBpsHkk8UP(5UL>a1V;T$3K#q7-A3LAO=M1N^T@bxkfB4shq6xaZh7kK zM~Rv6Z5S`5!sJ6r7WPs9rPY4P8Z5HYpG4o&9&$X5bF$e(Da9(K4<@>{|Jh}m%j83P z7Uiqd{62GtAI~P>{AOStzJ_WdOiicF^kn89%VEb|6dM?cQKiPIrBq$~UurXd(4WJ`^*;?VOveo^gI%T~v|v~;-r=gW3*OBALUIa3Fi+#U?c!PNW1=IW zDNb>D*@U+7nuSqs>~hC(QBVxtWjdM zUy-TNqqapR@n<{tWqz#mnJS0={e$i<={K`muAQvtq{$yMd?I71ZwjbM9e+~E-u~}w z%t(oN=%M=Q=;lIEY_(^`mTpjumi!v1R5`lO%_<4b1`IU6+faXb7T}U52$f7#Bkp~w zejj|tv8^O;^g^_5&=)i;qZo^xNCL5A%#Jhb452bAt3?9h_LkA4@WXX2!zigPnaj4q zy6WJRiJ0k7yoH3<`^vgc{r#7AGg>AW!$~(2UqH;r8L<{j-V?Q6VB(Sf9>mDwB*hO>5vx6Gr*#=qCrIT$D{e`4$a4{ybN;vvvfw9^td z`M9c>XriQq^S2o6gUNViarb=3)us&#UpvpX+3l~ho+Qkppa?KAW+ciOVzqA&izR;} zL8Lj&PI7sg@U=gHW36^&n_o8JWT^)YDYI#6KDcny}W$J3Amz?^de0V z&1-4{Od(#x+1mENaE=;DG}3*RLFB}d!T$=iQfb7)TGOG=DXE3#pSjogyqn=&+)fyC zjIF=GB~@s01p6z!2hm#vM`7a<%ua)W3+apgLh!D`5@-h7-2(ZO6V`?SLIr}Kbe2n? z$oi_0?l`WbRq#lL9|NL4rtueYHgs-jm-)^|LGHXHxScW(9q%VAXZTe+pU7nj{ir(X z4><+KJ5oF0(sM0TH+PP=uu_H6MN&BPyg|tJy1loFZ6SmK6BM264-h}b-%w|m!_;-Q-XGGpyK+4dzbgPKKt zmgD>>fhb9LmG8EE_cm=Im6RpPfVA^i6-{1J2@EeEBp{7?;$e`$l_>wiup3XX=u(pU zGGz6mW{IX`HnA{U2gP&hEJG|KojXUH2rvWQtXwlMI-o^U?^_pC_l_^OTJezF;o6ci z1pnp$9!{gQxbYQ|F0+?b2p!N#I?oH|Pf_l}N9T6#raq!-3`ao}WDXqK+dVicAIrHx ztLc3Di)whcp<0CS2?AD^A77n0kh_1ThHNNOBMM2ek_NeGW8&i^^b48M1Dk5DH|arH zaPwBZ8*0KfyjQ`j@=&0Wknv3ty9J|ov7P z!GY>nT7)p_0PwzEWnHt^UB;R-^Km*bBhmPmQY*VdCy!<0Rn@5bzJ;ZbSwEI3Wq^DxQLPpP5g?)Fr2({ZGpyIo;GbQ@B) z`e+JE&(>hqo^o~yjE$N;c%f@pJKVdUq3IQyOsd25Np>;@34b)v0W0?P&)J^1!dwGE8TCn`iOYFW?qLOB zk<4cjFdU}{bn~|tJqhpcjnpJ;g)M3?+Qdh5yp)|e4 zw8uSMEv|H=>ORvBm%+b$0_d2U_k2+}TP3;kCG;;WzLt@zN+Hy)f4dDvPKg)ly~MuX zKAt1Ve+v{n0FO0}m&s(5FX$}K1J5Zy4G=LYQaJ>PGm(MwLucCi*bMy`CuPP-VHTCO zUp`p_@%0MN8LcZ;&urNV2ut(U#J#R@b8L^J=1E(1gdYkob7#v@HEMaA<}tovx!)z` z00VNgHJW=BtH{5n_V2aZu1>Ia6HlA+eCo;(rK|JGNNy9Gp=i`DR%_2=+V~s0yT@&q zMaos?8_-U|_MzEycIi?xFC_-X0ZM;M2upT!2lt%!Ke5Qk&ziMUk*%h{s<1_2?4*jtK* zrgV&vrIR}ho*gDZ-t5;qh%TC#GX@VmFI8IQ30+DfaWTPsYh^(1eX^ZYGfOW#QOco9 zE|v2e^Rhw;LNhyw4s?60!C~CfG9~UFA}@vS`Pi1Aa%gIyiu#^%F1uM=@_c?v-F=G% zGF}v&JMC?N|3#@>4n+M5im?B+8hzSu{Y^ElUUZ3N_2(PAI);tKhR8lT+>mBQrb}cc2l&yHPlX!M+NtYu_UUBn z*BCnW(iJUliPsAmR;Y4)8>k*4DxkR>lB)g-Hu^K#Di75;oZ(fMcyo5;>0281DT7d2SzY&7pI$}aI1RrVGx1hKZW{jC%0Y{pC5Gfq-zxnN4YYO zUi43GQ)+JPLTwx5^q_Q$O*|!1;(5^1E!udB;1q%-M&A0Zl)Qk^vQOnm$yNeYikfvf z15O!=0uRBns=1GIu)f%8aXY-NdWgx9sWiRB!d)epuJJ}$fqS7>y;vGWOCa{8ZKlBq z8>Ujp4o&_V$ECgNj~}hAUK7NHNVd?kkfo#U@!Tq~&1MOF!PdbGjmLN*|L(ixGx#Va zLy*u91-#MMg!-f0f_kVQ1+oap@{Lo{ml^KwRok8ii!6ugC|5Cmr5lrlk%<{!@ccXs zC@hi37;MU}f>0UKVZmsu<(+<(zq}bqDvzA%AG@*|ufE_Rju;uM~vq}35LM^1^Np5vmJq1~;LT0QOO8Z^WF z?kJ_<&IuS!E7Qg0iyFN9IQ6e!{uRm78kK6Ns_7F5*aux|5R_VKDP&<>D_+XS=qSQ| zSeIUDdU%x+jqb8tss)^^9e+bHj4l5>XDjNsUG;5~K3OK-h?`T}%XchOi7<^(M)OiS z24u>TLEkL)0D^M76hR~G{wXUcXns`HR@crH!EO%He=QXYjIR3f{#9!LDUa*7!cAR20q!BjPJH$K-Nle5w&RpK%Aw>&1Ou(U;^8e zsK}wZ3WSGY0YU1cy$F)Bg|8YCoYI#cbXM#**#2K#wp(QUF07Q+-K(+-9(FItXIIN0 z|C)S_q>i$ z$89yKLdsWWaqC(4Z>_%I8VdOO9u{;JG_-!>QD;erfmg(!k)+??$h1I>Ct3}#7NcEo z7>kfNiu#iAK0s$V)0Se8L64?Oj33EmjdXHSC44u8Z^4Y zZuSPq-D%`JR$6WHCZt(-Sqze{63jPO_DYnSp$NFpArk$~ge!h%%NkqW0Q$2l(CRKY zfWbPQT{P(^uHmG7n^3orNE&PNE`I#CKY6Fu%P`Y-F%ikmq2wt!VN+MeeCa@u@3+fP zD{)YnYcPeQV(_E#k5zLPe^(=czv+JtIIo!-2PR=vl%Mo4h2@=GzddHvrYPC1>mg8~ z;dj`BLfII1Te)KnirfBSHx~xqJ3g^(U(;2$gQ`%gW;Yb^^58;# z!UyXNw?IWRq|gOY%j!+w@Nc{#R4J__DCB1wV6#?LBa5!0lKlD88Q|S*HD#gC7%eTJ zx4Zo!uI4_1d~|w%M()Rtow$VS^D`q3SZ#Mylf~Xt5)RYHOnd81!o*fBa<`~ zHlPZ)6BB2h6(&jhnHt7D*3m1G6@m&%U)0yC+7ZaLSa z=+3bj3;fSt7wPjrw*K$Z7$|_b*1xeDHa1q*tSRJ-9J=E4KgNpCpl%(rZi)z6?>2J_ z#-Oy_AN`ZGnSQN*8mm~JONvM>=tHtEdrOnR6&l?=`-vv0R%pk0e1l`)ZGBo=3|t_~ z%ahf{POcw;V1^zlooGP$xZ8$8R2?{%Yra3DbpXUCu-Qj!mjb5y`xuSytLKj22*djxSXa>kU_ zB;1+x|7(c}o^RoK?loOWh>2}r`;ll1d!xC5akYHtX6BH;=15bcaxznA3rg5V&P_Z& zKY}=&$gBcSa|vk!dRv-GiB(B0xGh}2U~J6mQhLsE^ciJ9=00qUZcSrh|> z{>XcjqW64+7~#Yr;&GmlPJGn@`#@7<%il?ZMKWm|2TV*02UcKqhsKVNe+WMos)xFj znBCA;aTdo$!MJZnB8|G@FI8!$Q0YKS>}UJCDYnaaNar2FFgZ-dp)3-B9)2T0X8EOc z<>10!X^R=JK4E1;1!Z-f%TrZzl(~j6wmoybM3{yV1eRjIHNgJSz!-ENom9iz(@+0#_x$tzMlkm z?V9tDUn>~Z2BX|oS-UBttwB-;P{sAjrOIcS>;?8MI-=IxAo3&{4xDki6#%iJr*MmkY^=0ejZK0~5FuKQ9OjHB(ONLNYDwGdC zdodl$e8f^6*oi1kE}?Xb@+8B#X43gDOwRB99acG|&-}*Z_^=^DoHjBZ8jr@E%{;7G zJU5vkP=rQ#z;hFcXk#pV!ihY?l2Y1AhD}l1F*pMoE?X*XeF;2N-~0ca8Ovbo`#yFC zS)z={plqXT6Cqj3zVCY|sVvomge)ntWT_M)OO}LWS5&C%gk-5OzjN!;clm$+Ua$MQ z=bm%!^Sqzuc|XrNb6+zTZk=DM`QQVzr7(XKPZ-DUgvla`uorxS_p+N3g6)NVsZ3M* zI|Dh=NEJ_wDu?Z`ld|U3hl{R;-j_~a?AZ$P@+I_{wdV?`A~&?W$LlZBN4~Mtn`uUm z6kipzeqp08#2)`~?P>U2S`GVTj*lCZGIjg*(}N?U`~$bo?ei5(w>oT^8}GOE{Oa2z zu7-3;+1ox#%%rz~UC+}c`J_-fQLgG*dwy>kgQABrutMeq^x`x3STzcwm8h|IS9PRqm9vX-yfcb*Lx z)TYW~nG4h{5DPiZAL)p1sPAvSP@kEt(dpNFi2iiIw`EfBrmC)x`9VkaVHRu5k?e9L zF)7VYThiPiDOB==y;!}BM%e0^J2U$;I&vZx>jlHX7Yo(qzH=$%F}^B2?Y!>v zVyr1;Q99zIRjp;1ft1DjGt(QCt;7p;v%Y5-2M#3%r%PYCbUzx&Ri3mMD@%-MoD^r! z^J>5yv@VOeu9s2yc{(?jIrrY{A*udb{^XFg^CwJ1J;&tu{9laj1@#v78DG+0Zf9@% zu$GY-A&`ZZUvD$zKcMLHEq7nm)fc-e{F)P{9j02Z4c{_#U&h=}3u~#f_rhzfX*R|2 zyGs(KZfdWDvggxQyDT70*3$N|r*hdUqTceMCk10 z#`L*_rh{E6L%O9@4^@2}QnhOY?ugV1ek@juy4iv{))@CE2 zMTNaV*0p~9&CSU47*y=x^B-vB9zPs3jN|8f(~QbB6EU7yINfI2Ufj`_prDw2Z{l6v z`tn?tU7?CgEOh}pA@w-xsu~x@>f0wQ6Y5NTMO1=XbR=1t`$tr9!Ym;SeTryTMZEA8 zzg9*}T%_F(2&g-?fNQ4SAAvG4O1hSH@Q6wBuD7NG_qEBLX~)vU=gQxYP>x7LoI_$ubF zHP!g$K$Qrpag6mzWOMoh**O2uLiXWoInS`_mp2dV@XYtgozEL`{MtpKM7b@Wi&wJt z<@u7r=YRNiMEK~*(VxPsO`H$6!eTB8Yf`xvuV16K9DTJQ&`~FBEtTXZ@ALd5;og_z zL>=E@Hu6ONR7S8&`tcp^7^H%YNR0Q3GR`8te5EX^$_37+%>t9nq%0nhTdQYp3|Yji zVfYUg(DcVIjZ0SgqsHo&+^+FPy9qNf(@Fm5PyWtMd6c;E;(~0=sA#5WuF<)U=dBlu zB6r@KUOsS_Lticw8Jdy)y5e2UO6iRtyshDf%?Mos$FYmn__qbAM33d$s~-Yg6|RwT zVos&RR^QT8sJnK_(a`}3=Zz2X?pkLQ*l&)#mhkY_|E@AF zLS1|!#VrbBc+4EvO-8;gP`f&umTSSfpH_Y%8xv4z7X82que3_lFF3t)^z%)Jmo@J{ z_lzXtHx8Hvv}8VZ`qm)(t*0TfN7KA(EQ0i80lIRB>*ozUhs5#O0na5D#zHRIz|WM2 z-C_xJZBgaulLa8 zo1|E;Vb3!hSsi*twb2)G*wHu0Rl!+vY4B>Oz1v94q>^k~Ly3ff;+f^Ue9r_E(BEoX zglwCbI#%4zI|#o0uwp&;q}3ru+&yedjCtr+Gzq)>O*yC5&z elKF~QNt-oCaadW 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 Cd6(({ literal 0 HcmV?d00001 diff --git a/binaries/aarch64/nfqws b/binaries/aarch64/nfqws new file mode 100755 index 0000000000000000000000000000000000000000..966b1688589efcda4d9c11b1c0c7b4912f2b39ac GIT binary patch literal 71308 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 >(0-fxUI$L z=!wxuk!|&yynf+6?>B|(yS2zm>-st0sC3Sj%+|05mYJ-`HL0i_`L>;U@~8w!6U4f7 zzX6$@#Ja(F0PI@tgj0?L*4+L46$X;t-cLVKCGz@(c5jL6mWhO5&+`OaFVKVB?=>_N z#a9uFMnqX7h0v$JlS+lOUq;C$N~0<>W}Z`sv~Y_PckCT|aVHZK2-2lyXZ-cyV_@ko z8y+Jv8x!M{(GxeizMGn00rgRQvln325EYkUUa~q3f`nAsx&st7wo7O5wA)aaR7RCr z>VWUrYaT1oB*(ny&ChDdFu&h9}_fkzrzvS;-rON)~={+{xMhR1_vW$lX3Mk z^~+vd2B7V}upPHa3T9w#bolDaRA0%+8)INxb9Q$$;_LDJIGnpQVU?KEm(to;kDgenZN9=XON4T#&(1v7h~z+ZIlVbM4hea!K}4>ff3}^3EMKyPHu+q zqAjsX+^{_L93QAer}JYB*)Cp}hatAa#{lgYU#|6c)=t<4N~#TkGnj7 z?*1bDz&EgyZp5sM5Vf_r>wAU~Gk_yOpD|e$me#wI^UC*TcK1Z6R=^KljO*NvEmSS6 zW{#sU`|(fj`BD>Ucs(ZZ8G0u88_z%K7chW<(?Qqt<@Rqk6R!n zrbk%_*Zw1ke{C>r;VD3ov1jhP^Q&AyN^}osd&lr6xxIvGT(`l1L z8}og{qTwfpvxvkruk6#E+RxF3eYLlz|Y zUs%om0DUK_5%SWe`IstTl;)|_E;|;R=4+uK8@KvHf``#8xQCjPSwuO8C`{|G zsB5@{!ja#uwzoAbH5iG`9O;miF(~x~h{PK3vldJcaum*i^$a8{zor3e+N;W+G}J>( zc-9tNfB{p+qGww3MXqINKg>JJFVDG--&su+hJo8@#O-K5-q1~*>IlBMO2(h4n0LQB z2Dqd>h{9dOr}@xbAxnc%lS>b7w`aEerC_mNxh2|^2Vb@5-`s+3*+NdRV6JS_xID$5 zB}%KSlRuu;>6Bj+bQrSHwc+KmFPiK3=H=-&p*6>TS2QT?UwYKJ_J~Eiz8$u)a;+i* zglW(ToiI(OP5$v9n_MF;TZtWiUU<9^uP2Q-hSjUejpY48eVf66b0A?sy|1^klo>)+ z8|)`Zv|(9d(sPm!yA+wm4+}U@%Y<`HWY-%9ObUY__nT87A!q)wnVR`s}Uwgf)YJz#7dqf;H);>j-eYcI#A=xv*_PDi zG&Y9_Y(6%NNQek807qHkmt$X{X!j`6EU3 z!4;_4JQ|Fdzs2C=tH4bTk0j6Vi|8cw8mHmAyRT9@f}7kcu!KGZ8+6!I)xLB&Qurol z+rPJn8lpQu#^oeciFIBQ<*`zc3{@Z`Bsu7sq|X{&(W#}@qZLFIz$6>+p{z%X-MI!o z51bEE>OUqr>SD!$mLVg}0`Pqa3t<>mavtc7#`OqYQQ0v(C}yY zYp$srdEAo16&65~f|Yj(>njJWa$OhK=$8&SK{&Ybs2vcoP<7ru>xo$!=S?o8Z6imu zvOscSz9!IRK0}>kWiL~9H={3~sv0r?NK8ZzncdYF_BXnwKeMc&WE_k-r`N)^wUyCgJY&Gt_8L4$k(N7EixQf9;7=Ngm^ zT7_!c#^piB$X(dQe$%;esT|Sc*3aqqDykBg)z`QLj6@24>PXwXW_l+Un8QWtEAITs zRLw@ORzv!pm*sZRp}CNFk$zzS@=4wj=RoOTo{GtOJg|>9J1tE8g;j#L&`8iKOUx%h zssFI;9;rmS9{{iflE_e>WIdTx3-nY~v3N{uxsE?%%h=Vv+XvtVJQGwO_p1&JmdB%7 z($J9qsW8^Ey|tA;>->a2<3IX!h7BCcgSafRd@E|w8iMZ-xnND2KW1R-r%y$)u4FP+{Kdg&;901@Fk4CfUb71}>>`l%`xH?H}@#GWW_ojiAG5OA8Fa@@^yzNK+ zok4g)^6wd<7VQ72bL%e%O!1tLadi6XG{zHt7(Vayx-x<(1WJFHXi%^Po(Kup$Cx#6 zfUK}x*IR7n*c*fz%0p9fTz_qnh5QN5`7I8VxNeS;nPr#r{u4{vK2bVr(Ss$jrmQm7 z>8ilJroA75b&z3XCyjyL`;_5V2*;xKlxtppL>i6|Zgleir`Z=-L!yi;z=0aRSmsfq zYq>L2Ft{VX4}J?C{mAv?QE^GtSl^#}sH+FWB4rr)Tc}F<+9wTs3ey)-SBzvhC=Wf^ z_2Aujd2)SW!{MD4232!3AYiMd`LR^0xci=b*U7*kO;bcFs`-rYnL?ba$bxj{)v}-) zQu4le;Tki&hxIa-apN05?!luqYIXzoM_=o3TvgIjt#|OLHlI>x#|Pb~Xa!(Cj>hSx zuWTo7&8T86yn6(@MIKM=K{4~RsWJtQI-?y|C^2%e zK{1C7{rgMOq%&CTQ&%bOXn1K69|mwuzZc+?z&pQMe3r;-IcaGmV7>{3a0V5HujC6U zq*VC<{#&B2%IGYVY$v?vAXDqma8*S4RHC@Io}_)lw-tCWpgG~PDbP>%GN;^m9K{=Q zL%b&*suq&BmCT4z3n}V?QY(VU`C^KRh?GY>WtQ-5fybh7Z41Rdr(hz8_69Ae+tGn) zFi}VgazY(SeOR7YaAH5Fr&J3mkIXBqLk>C`X)dr`i#~NCtui$_1Rzj)CQ_Mor}<%% z5HkkZki_8dBuPfWmVG9%ienqBUf} zp~4O=gls}FS9C?^23-AV<`z}AAsV@DIJkt2Lwow9FCym~#v;=9yRrnxrwbo8L0u_; z^u_mc1fls&EWKKG&~^NOSWnI;(|uYW_Bx1Ed<>W3REDJYC+ll!cLpLVhKZ&r2<2x< z4#llyPxV+gj?N#Vl>6IuOo*AM4O*~WxyoCh$@rNh!up%5} zs@@O;eya~1?Yn^q<-{cL|2*^J40Z|vS`X4W3XCFJBcxL8pu1r6K@#e_E5^7l*Wu+r zsZ9M~Iz#EM{}$_ZpmJsxyEnzd4FQa1Nk_`^knj4L!F<;>2SAYVrT1!MGt<^hCC}Qs3!uQ?c(QSeQV=ZFMtTJw6BJgkY!1S$$;C1v)ifEjY1$w@UWFwL;C0J6i1^Lkm! zqFugLQamDXTtM6Ta$b4O#u8KQMxoaF+m)@>x-8wA1&+KLXW~;$7Q*Q zY9s_t&p7? zw$xx)bSrct>K5FUVBLRjtnT?IBr4V+J=lv&EUZe9&CqRiD=r|v$#LEOqI9Oz zRwUY>o1ro=B1d%D$~O+fPG{|nn(@7w>fe%aJRcojirlEkN1p>;|4&J=nT5QSOR!lm_!jsb=%o?@mhG<7QP;6ueq=X^!IYp0kOCE`T4sK7PHjL7!mr?NQWfT zp_V>qmvcN4L9eAL(auil!luwnQBIBRC_#_$c>H;vSuYFzKkoWP#@Nsz7)P3x zokhoag0A53xg3H!*Lc?rGQVQ z{=R`zDKC}=dE24LzgS`Mo#iLBu5|KQQb~a3`QB*FHwYn+tc|#j%tfR#csnL4hz?_# zvdY9Vc)&Mj=9l^L&~nbg<>GYd4^ShVR3Viw@0_t2t4X;yfb&3^>IcO#+zGNy6M^9^ zZx}bA>3rLd_Y)oWgZ+Wh3z0x@XGtiHt+52;@9{-JvuMX3QPB^!{-jqc;q*VBEJ@$^M@Jn0l*2)b71&O{v zQ2F5-CVieS+Uv?WyI_~hQ@s$IYo-U{msS^JUv2(HrP;YREyaR(0v}6Ix-BbU8v}Hl zN~D=7ymf?AGUg#omKe`W_KI~CkZMqL3gSgvtE_C+3(Z6QUA)cme=`2t(U1x1I25+s zcr!m9i~IaU(G|*$%V{1--}gv-8^CU!r11XqpT+U2@47UnEz5BK|5x7lYqRhXBhS(C zYE-k*t|s|P2a-G6OwdVnKXDq`ftlY-o-1bB#YEq9Acgjc))?f^RrbMII~)zZAE?Qx zAq&(BV2R?)3i#RU3ZuP}tXB^2C!dSJCy>MnW)Zzp-;z83jxMVG8{d$Y(X|8AQG659 z#qAg7!v|ok(Caxyn_4*om{SW?BSA+HEsC1|kk;CmW@<_imdUj4NSCe9RT!3cyRmUz z=>XnCE8bb@>vv~@fH!BCPMmjJ6-gm&zp^X&@@`e^7dyHX`sM%eW-;$=uvQ#>g`dWK zyIwU=Z8XjV44E=+$w@iPlVu0x_>qxOc9gNJQkw?CRfz|wY(NsKy?l!KdGT4q){Q9N zcJvd}wHZ*}$%v)!tNu^b#hb{$gy|u?66~wEqm>fAqp{4-0_zYpz4C}WIfnIuN1~fA z-q^nraXJEGjd*z724^62_5+0ki;qA)`DD9@7OMEHN@dkbv zWF0Lur#@7OOKN{FO*`+p=$u6mmtak!0`!jx5ZoTQBA(xl=4OC~pi9u~7;Y1oN3F?- zR2W4o%MY>;aB$(**)?X_ZLfe&+Bs<75efmY`+appn2DFS7jWgvEw(YLq3*|EJXjDT zsXFYe!+gmIM5=CU2Kw!q&WJq9G85Ro(tZmE3W|z@`vgggw%-sUOcV=nko`(F@C*}L$&dP&wv<<1ohE^GnL0>9) z3p4H#@}oxHx{qn94S7+_X=^b8p-o z*x0%}Fp&XwxVrOZ8P9!=B>ic=t>V~ zj;I#=dfU!Z3m3K-(2`~e0~B-jLPX#oV26V2bAYkjF`i3d!I+m6JM)-m;m;H^`&XN}aXT)u-;vTaVL z>1U{4GE1<&`C6W-^153EF{cWsqH?Z-M%9@MVFwc@t^*VGKY{t+d67PUrO;81w*$2H z%c22L0SGnd-GIIYx0RZAf>H-k)h%TCP=7L5PYT?sYhCvw9i5?kBb#SP$XGM_zu5ti zOr9xfMBh!dp7kk4-+Uu0cpr35H?}yP#5VOKt{iRmf>vK%$oW=!@-};;&KGkla*9X2 zZk09ml8~po7i?^c`?;evokEFZDr7JMZmI6RpP$d2C`7bWxCfoI5&j0#;^T_qU^pNQqx8Qc~ zpRJ_#^{5ca4Yb*cD*(GpalVB7O{djxEs9hS!s%b{H|m5%l3CMDdiOI6HdJKQAd9@) zO?lq@jMizHM4ZTHjxhPe&uTur6{R4Qdd~}^il2?89bifgqJU$=HzVnb_LK>6iYCS& z7$_nVwYp-sKX2CI=WK3geBm5=Mnk%Fpd(~ZwC+$$qCkOO8`zXHPwdSDhry2Hv;gW7 zvsL2!psI#-M)lqb!w4{+@u!5^J%W`Sc##f>-a8?w?t-W)!v3WxMgAvz#FhSfQ}7k! zE3>d73RVvv^o&Ky`U-=XiO8N+M3{2AniJ9?wbp%zWH-XJ@-z60ymdBniUT8Zfw8j)Xk{w1k4G&SA1U?9lk zAb;JFU#mf4@BqXs6+0TgeoT{`ZZmjC%!XD|0Y-qx zR4{fJMS<~@!c6kP}=>w68`qff!;p|p#Z)Xr94nsR3D<8?hXVo7CZGk!o2IHfxh z%qlLtoR^o_;_8!Cgr;rv=-x|{1~^n61y3P$*Hs%1ZxW@yJn*sA4M=w{gDM6)qmX)1 zEzTFc9!Peii(-cig8E#ebHwQrRgVJ%c=RDNk*`l=lE(rgr4W_%`u_hb_l+(=c`_pH z-b6~JC>ATAF6n>GKucIbdJby7`emvqw;hNFLcF>9>=6PlULGpnW0%@yv|6kBWg z69kSgRaWePT#hyxm^Ac)hVl(4fA0cI{D%2|&Udtkf?YIJ5(?4jAU$+@VGZ07_XyWZ0VgjM-=RVq+{S(TP**7QO4ZID<*ax@bATcm zb!v;O9_~0N2v<&RCK26)KrU5v(K_peOKm<-VfuWoBCWptRg!cpOCmx}5`Y=qncqXa zI>4turq#WBlph7%WSYHg@#_6=@6Q~8bo?T3Y3BluT1^YIv0y~JBrW>iXbfh?v|g* z9HjP^s^lN590txjcwBgpHlO+^3lX{b4H-n(YNc{D^EdLn0n|WAOO*mFKnC#L zw!+(^oEE)cl`-B6_XISy$9fr;olRhD{a{@_^8a;mjBi5t$@Nu}#;WSfw^dhW>=FAw z{EAnprA{5e*;s6`%JaER4Kkria$}(dIb%%sq|zv{8*2=I;MkxOgFvY|N=&qr!SER} zd;1D#8{OC{v1icR+%H!_V!m8T!`eQ6X}f(_0X0jFIWPUa=w$kc$CKj{`m%c032%Fl zWUpiQ;{rPF;ogiZUpQ-VcmcUBhr8ZTc>BONp=;p1)7*hRVCG=%YS@{DmrG8zzXh~+ z#szJr3>qJLxx8rilZpo=EI)XFnEc-Cr}{H2^!Cv`ekm!`(0;;KKH44PSx9>f(3dgy z-L7qQdo6tT(zM}lu0*-xshVAEDloh1o&8%3BBx&#<1ijT%$vB?ETnBQ? zY+Wo)FHQhI8r6pzY+dgPRhAkE0?K&S@&AcIF3BGRb{ahYbMcO#IeqUXqHo_&s7{yUM-uNH{FedZs|X2*(G`1^%$jPaGMh=3 z25u7GmYNAzpeI?N(M02itvQYCt^q}}c_b3m<$0vYzZt}2tw*Ph9ve|a{J-=K8qPhw zQMCsz9`&XcdX-Qbl4Foox10IyVvsDCZ$ULuRf>71y2Qf(z}>4SnrYUS_kB-f&1sb<&0A7s+Rb{XZ+aO zlZC~v7iUcjH{xcX2Tq6CgxS2RtfF)Ye_^N!@ZFVji2FYDwct?@4>}SI9Y`Y^$7rmj zc{j%$u`R$pFz??*UO!MxyUNlkd4|XXm4phTeb&vwAcyTiK;?>g&w{q$-FAVki! zRLb`!aHij0K6+VyU7U`l(*gKdH}1;rpxog_=UR%Ion(DK$m9bJpL}MsZjN`!M>S~I z)(YR|m^{Lsk+zekz(0D)k_SlwcjD=E>Kx2fVs#_27T1fjNeDmCUz&GIj5$ti zQ_21=3_|r>8kXiYv$c=@ zuIo$Vcc}&VFHTRW(Di3(>s#GnC6SVvK~GxQw7`!gdKzPV$awMvV& zE4Cd;kQeV<0jx<+XTS-pHP`KS2FV+S?=4;DFMD-Y7i>nrK_}{TS!Eo0xGFo3W zzHjEgv(W`V`L4(2YFeU4-ghF@eN9NiSTKSuM?m^dsYlQx9p+S%`!o#(og)mZ8r>4b z{QZ#RbOJK#Q}n=Guq7(QJG+imrhZztBt9i#!KWI--ViN(Elc-7f9TH4`gQehgp@H414XKUqh(GFsmWFDN( zr>q-8G$!lq1FWFm=>TBMzcGI5UE_O}m2J7?wM(r9;W9 z*6;D)1%3{I?`U~aw8F}~VSaerzDI&^e^k-Zkxk+(#{e1b(n@Ki)_qmB3W9xeg7s); zzbVh!FAfj5om@id ztc?GDYXhVYRXVz}Rt|{ECUPq((*(|l^eb=M& z{!dyqUd*c~GR$i{0(dZ-HtL?E8P}xZ($A?iSboMEZMUL&xi6vf>_q6+pXBwt8ic}! z(M+MSvNs3hCysGp)0k5h71+0CF?mcQeua5*EPwh2w2R`F`e>1X+jxlUMlL>6x68Em?Y68?`t^O zVUT&D7wv}-?kfZ+U0Nxo+r;J8F`?Jh|0I`0K?$co6$Xi4pENW}ohCl=#p-Y=5@B`W zpZD)8tSr|!{nHJ(Y;_LJO9jA%%l|&LDK#Ou1@px;wr)hcDERz3|4L(g`^&FUV0Y!!T&BX)8N4`73jrQ((h1no3|DB;h>>e{+`k%8C zdVusVmrxqzQU}*wYavN~C})w(wJBY@nvtevva{-AJzUjZchR1FppSCvhYvRbqVD6JQ&dxlmE*_3ZGyL5+F~-oq>rrfhl1sH~eIUEsGi>LA3j zvgH7YUfyJ%kGbP!0PrqO5_>C($OTJktqD9cL`d@1u^*2>Bl(FGx;OHpyAvF-5Fp_O z_LDl`zXv~K0jhfB6bg^PK}smMWySlqMLYKYPbbYol2gKxg)etPpEF7_jL#56g_JTN z#$|$_kr{bPy#BJoLcX{y!A6Qa9V4!o{$D0sM0Vxnn?y@sYz_m!iK^;Gq*5k7W_U*6 zI&a7TSWZcis(^yHz2Q>XGKx*?dMm`L?Y?-O#!u&*(#l`K+D_PIJ0UJp02PLr!hRj+ z#6LE9lKXlMawbhI1_gXf(Scdsv{~_ZJJXQh0M0f9PQ;{R(Eh5~rv68fwJ@fRPrQxn znSdtbVkh?OF2fdZmOC@uI2IT#%c2!j;vs`u3$EC8f2Fnq^tInp86LIP`$&7W^99Gl zfXH@FVN6AWOJN2y5B`$HaKTAFAX9R4r~I%dE3t=`1R$@q!y|C;y7rq}SQLvVY{12D z$$j@&@qJ-}$SCq2tgj1%?GtJ|Zd0zeuQ6U5TEFDhA=AWp)jBC!17rW&v{DX#H6@$3 zK^_$w^-OEi6ldK;O!_9ln&3wO4QJzE+JA^L*f`*ORByjK>XE}hU2|!ZN{Y3$-QA6& z!GQKm*PvR{@1d#1Hav@$x!4P&BLBK1r?lrqF9~R7W_!8i#pu*p^y7S9=ZQ)a2Q=~)lsIVU;^@7@kQyAQj{;Ya7C!TA7s!wj$LHR4X+ zjG!>!$aRNH&+K3_v2(@@Q|VKNS#RnkN{4N%&a^x*efVy}#Xpn{1l-4FbXH`;Z$;fA zMv?GaKKzDMYxlg3%URUJ5ARPyEn7mk2b=Ab=t|X!d@HwT{2r zYMw#o^O8N)0#6)}?DZrOCkw`G{#-Lnd=B6ls;CPFS?R(5VYPD{aMqKsLabf;GE-8r zMBwC11>wZGUyazJZoOO#1@V8J|6q+r@`XyvDYkd6X!e%pJJC3R2L6SwXgroFmXQ__ zJuHaADsc30+ksB5b;tWt2AEG~(t`JE7`R9{=+xqOY==jMv%9E5OdrQgGqIJu3AWjQ=A_H=={vO@iD`$O4_M@({A=| zcDpM7%oG8XPiGJb_3eoGM_IyS`KN@`f&vCZ|;~V(R7<@1Zkt4 z7Gihb{r{K_$*lY}(E8`Cw<^Gr*rLzB5&DdV5JsVQgtj{(PUW08sPyqv;&z^Jiih`W zhLkfu=skFPC?}R;tEiWvpu{BW@>ZkvW8}FGHQ37yfZD8sbOGhMv=!rZ=l9E@Fb>=O zP8nhQJkK>wlG%oNo)znP+LA{Z@~bgnTdxl}du28INF;IDmzir#E;{LuFJlYnr9gwZ zU;rot;IW!w3EePV2Ae~2Q$I!pbf0btqX1(yvcC)BceyMf=t)TJ}~u(;GYYq$I~J0GRbA#JKn}W(TCO# z?x8l+KYJkybH0I;_d8H3F4S=j3KY&d|HSZDt{}LhnZ_at4AY?|Hr14@x+O`Lastt& zOtlN8I>g#cXdhQ-y;ZeTgf`yj@a{y%7LUHd)@t@l3ZXs7iDo1-MdP&DBg_TMT)slx zDOd3Bf8)QM@X(0fmJuXc{N9`4bG$@BT*h%n)^9E(HKQZnas!MQ!6f!lg;5~$pObwu z{PJ2rR8-pL>d;lS)pdmUtD+v`z)PfLjMHHM<1#u(BxRO4j<>5Ga;LJ~*>okZ^k?rq z5MYtHpi3EIC#dmqO+}|qogC9Wt+f2Y68?Y!83mE9rIdpT03lqeO(K=y+)lS3s$V)w zz87(zp$)-SI9Qsq3MDb8qIvNf)8lMB2$I&cWN6lYT~tKYC<-&#nYGY08S2C)LVrTd z$*;BH$FwB)ne_gRKENrR9QNsz8em1pXLYNyFpUvQt+Cg#rB`e9WrgmwvF*9kuluMW zrm9hxXeVYl2TXKoB%I>{Dm)39Tvw7B13z8pQ*;vYQl5H|#D_=QVwa`Vk|xYHMZSDj z2OT~zZm;UdY*8`-FouoxgqFxHA}TtLM21JMcRi1PX<&6OEYD43N2RC3RDf0TufhJm z|JjPFRDKwp#nw}f+bSBbR0FdIX~@IzJB_2??KgCqUDlgQltzlk4YAJ6P=b7mWKNKS0zAAit*}uvYnKFUG`-jCX90C)U4IDTf7GP{n)w z^+f2}N@5m77qG~OawBLY4Liaiv7h=ETYHf3eGDc;*bgfgt$f=8{t00xcz-bbP9@rc zwQTkb^L4MFznEmXXAcguWz|_f15E#+4Iqe;WDERc)O_}SH6ynOmNOM!(GPzvATWf_ zN#kszblSb$%nX%SqWb!Y=LwsgPNvzCAOpPx#y$D|89SqZ_qb%{vumr)eE;1;{~w)k6AB%!cK zIq7picv2rXDX|73l3kut;2p+#6P3WgG0j?uD0;%6}OWve7%x{dNrt zz9QqIiv_w_$bf=H6mP3|Jqeg3iMLrHu=r6L2EB|2djgcr*q&}j6$q{+$k?wZSiy&d zVT7oKvYuZQa+Mgx;F7$1X8zj4%a_vP*_a#@c-$l&@ep_;Eil?(U@Yp2+BMHlmHhuL zL*N=u;N+{q1<+kxsJw^O=gKxphSxQ$s&Xh`Nt*{o%5szZZ`ZHGX&wx8=-@oAn4p2!vqu&*7wOyai!{I0ji4N2!KdE$5#~6vmAiadv zif-C8Nx-I(Xk;3*_3P>zH@?L!&|9Iv3s*Js6um+w+aQ(0YNiCy%sA;0+6wX~WvK7Q z#6$a3;-Fmsh~iv4`PnF$iO4ltnG8B?b@m&Gh)CGek_n1pZDyP|n!^gNM(#Nj9KcB> zLAY^Dy;#;LxpIF~;I?)_X~+pXRy{G3io!Ny3}t zyF+H4xm~SPV-jT{fz>!}iMiNt1kQx5NG1^_6FxG&XZESIu!2Lz8Cgul_LcGwDn{hv zsX@0G&^lx->$!&XdwV_sZ^H6MsEVf^RaM8zDP2L9Zj`me_Bz9H9j{~(nqNqzGwc$` zhF-0%gfQC+3q-rJ2g{CcYiX9Wq^p#=AX?H%o17$LGnPSe&W~jUQ12XzdI9?G>B+kp6I zS6WiJ3c}!fJ9-9Tx!)=x{D0z<$sGFRa)GY)G5msD!{9i7P74Zs#d~0pxBV8gupvyT zFJfK$r4pH&&~>-moTfyZEj0m7oVI8X(Q=OB;z%4|Xhh<>>hvlV-^(r@_vrYxbHCjv z`FTZfR;I-5a5R(0x!qxeeAhqfMZdQ4v!Arhm9MoA%0@7;hJfMsA6NMm6_hy$e+OX% zDUqFW{se~G??qRBz4b1NjemRFv%odWc2B+~{Vh2gLMltZ^e+fz?OY&R2X^wrUV;8?=fuNZ~Ra<1xoDk<=!&*)<@IqyYZp3WoH>3KpkEf zqUqmguyYiIA_^D^%rA*r+d~ocA$f5f(n{^-omGO!l`zrA8$XG9ei*n!~1tJw#+@%a2zzm?h z<=iP9@L2#BJx#s-$IAY6w8TwmE5(u-BPd+0SXVM;ilvKZ3eNTPCoSUO`|jsCcPoRr z_JT%RK0#~|Et`!7>xoGI@}S0x1S`7g zl47YwzIP_Yo9YXj)IuDYqVU~t=&Pjkvh0|*1cZ+pm7>O`?=COek8{8x;WuyVC#ZPx zBw2#{Srsi)71K_zxg1nR=^7mN`AW@c!XCr>`1Mel#Gu~j<}al~DOyeO78{>^6dkX8 zMD-`*=uRSMsg$Zrgmyw>tHFjvludF0ELJ`1I|JpL-DNPX&Q%eMAtmm)h zUvGS;`Yl=|ilY#`wZ1PZ_vHPXN{s2t_!Uk3)NfoXe-nfi2on!XVNmO-%#&EaZ>KuY zc767SQru=6f9KqtR+)$Wl7T(x@|d6~d`y8R7`b~z?QeuQ5IO^>oS{-P&^=<_@6Q!g z-3FXvr#zsJh=}8miA&iZK*?zm0w>_IrlTj`@iAC~6uh^P>_vlTl39MH`to`Z3jQD+ z@aQ?1QOOiZ*h(lYwLR8g4)SbPtEHF>UwtHF525{3Dnrn{8Wnc$68$0}Fkr$%zcc2a z`jx}7e;iLWd9bdt=dZud&&P7>&+r<@HF~yjxqp=ji*a$&Qs*q=DC8I}`6dc+oXt%} z_Gj~<7pZCoyr+hJtkTG?>#n=F?s4=Zn(UhyDJF*s>2GlY!4?8=S7wQ9-DiJQBdeF> zr~XUctosV7g~>%~c6QTY!07sy5v-DvM21qSO|CNlyY!S-(N2((iLTC!d#vr2jw!22 zJBCuS3KCiuLnekCS>!>DS0J}Hm1`>k0==}gv7BK`dt)tLKfjxE1Py{$ zzZM;F&as%80ADC&WF!7$T{psB{ZERW|21 zwUYk+QWe$U8kV=G=9zuJ((rz?WYh>Uc9>SkDq8JoWTmzC)}PS7XaAoLSxjl?0k0pw2aHy3{-A9bH-Ux_-T1cbU(Ux$eO{Dczd}ptLRa8~;HFu6^B`8}D&$J7w zFhAMTqw%6U@`9M-SZVfX%WQx5k>CNgkMNsWpz>pHhHglsuSMEa6Wb*%wO<2tid-$j zj&;y=8f2J$({r2m#`Ztl+e1IkK!8vKXU)vhlZ^gf3kph(g;m1o58W$_gyY4+o)#IA#dqZmDoX%sRUiSw8!fP2u zHgJq99BbQ+p^OJuqCoUR=}wq+?M{T4tSTbX6s&L6>IyVuH^@QO)ZoW>MJ<-yQnZ4Q zIDEZBf|+ZfF&mORMZMV89{X%plID?=4p#gq#xHPAkUhNZAFG%d0GNEhPa9SGxSXDA ziVyD}4XDj@k+xv!5NXeOjZ?{@#@#f;yn$UaPp(>rCI0qyKMC#{WO=`YWtZ5vyuyde z&89vF(1BQ^SiloUPl+lu3%&Ax`Ese%f+3#Gi6Rz*9W$R_cu0;@#(~9%X||Z$8Kf!< z6{ZXNvB%KZf8)8AS5s(~1nTVz^Z*AeK%kB0OPREBMgoFxjl6e9(2t*+5+`VK23Y2L zsKzLicM#iT(mrRhknAb0sADEV9zHW}XaB_MYZfJ3a%nd_&9b!Z5`)U>g-DQjFalr7 zsyR)HauN!uj7WJd+CWu&FOLgmnen?ixbpX;y`zc9s{E0dw+Q)i4rEH~GU{n^DFu zhFTD92J=QkAne4c$uSMPt8-!kPDLtjvkueHN8QjO+es};5c zDbsC2t}CqV2`O#t6}YgvttyenqCqJ%E>=nqD#a2arWQ(68(J_9>{1`WinbM zF|!AK!`R%LE$69Ml27@{MOU9#iK&}2t1I^}esrGE+%wE@0*|FI-8b8$H}h_DA_hN* zE=q2~h_5m9irpG$PtMp8&^mc#s;(XSVr2}5*P<#^z@xl^a? z7|qRh9~lRxv~RW98T{=}8$J`EN<6oEq_3$V@S$;4f$V~mWE$QstnE@zyWSPH-z}A2 zUy_^}+VT>1jyk+D1A>p27z)YXI-}wWwetchucSadluD&nT5pYBzq_Vw#xn!|$<*4| z=x~fvpRt2<#+^MHudyVh&&R)7gR5v5EItD7s4&~3*-QH#CPw;t7bO3%=*OgZq8 zT!=aW)cyCdST!9RijY8=IrdlZy$tDjaD{D4j7>n-;KCRjg2*JLR&rhgo+q768W#Ue ztjkG`yiQA)r?UieBrgrlvVEhz09z9O{S%fLWvIiKN{}}1B-?;H5_1*6MEgy3=r9)$ z41ukx+kxah?O^PEZtjxn#TZtp6552R{DN#Vpm-;OX|G1ttFIu@BUQGlu`)c)Qxm+O zut$)c${X~esRZb`ExAzwsFAAE$n8t5tJM&)`}?3|a(I_SnLcbCWY>8LQXc99Kr#V- z_%cn-GX~D4Wgdb}ucJ$RV7UDPgAm1DTt$LNXn0f@QHP+GfiG?B@b>Qs@dqeb|AmTT;9i{^4dMw-@*^X{ zgcP7@eS0Sg!0_x%Q#NEBR7c~X%lRCbqMhth(+(G-&d73CDx9CWRn^ul*;vJeO01%w zHUr6WZrRdZ60(#W*&qOHS%g|&qSm5&!*S`V-F7l&6I1PV40Ize{3 z%Pf3>zsk0YjIqJfd$^cdKeyFhoST9UQ{S(YTB=Qw7S%qHKn!pUidgCQ%|OmKp&pq0 z;ZM3Ps5hqe=7dIzpC8 zl-7(z0if=)`VO+0egsblfH=BmXruGPV<&&Msa3mxE}?utL+$K9U$cMw@O6sU0u-e= zwDL@kU^EA&+L;+J$x!l`ZvGs;FI(OY?3*D2B?HG6))1e!mRi1UH-;h;pJUaMwJlyP zuQlK9FSo34G*j#Nf{;h-(G=;8z;Jl7ZkG_6oQrcA7k_wg;!^Ca#z$YPN{|k=YrzKD ziSUmmDJ=x4I*Dhb2S7wky?FdauX;cF`K)eY!p$cQB(n+6WMc^R*?TWy>#k0M_<0>Q zk^ER*F>{yU%q3@U*9*kg#Wnl!-tZ4ddy=@Q2_pD=1gMTDQ_XRxSVVn;03ljlYM<{LBog( zSO`N5Sn=4LVk(g-MlQLxNMV22)rJ*PzC5-DI7nfcjXKaAl0yRiTG>X1)UihGY{+EM zJP_rs?Z;P>Hqixj%v^G_$>dPH%w$WY*UaFpqVMGBMSIfmM?T)GGa8#*Cgt3cj4BXK z&~E}02xY%>tM;bL=-rnsv`LJHvB`F@j;|jf-gvEM8cc#@CVPTe@)1ILuZrfj{FKP3 z>PqUQfHd)h3-Jk_<5bJ5{x9$>+BM&xkOH=)6Vc09CKU=9GH{-!G|S9^os}@8A#oIo zd_@O}vF8Nx=~T44GGudU0s9D8+U&2m+N3I3wk(-|-9+r9c#jqw>KX(N2l>C3hWj6^ z1kZ90e~$eYT=HIO@`*kKjawir1SWLF<;JF8-UY-7QV$- z)Bdf+j*oZHU3yfmvGVb=S3XqSCq|pW|^6ZAIYls;?y{Yfp1kZ8#{E*Oen!=m>*Q=n#?kqcI}aX_-8NUm#6Ar~zhYP;!4soJ(zLlS? z7$?F1oYa&!6>FIOg8W{SorHnbFMvbPCx|wHTUcx|CZVP--dTVjG+t);p4=PwncwY;i;%o?I-BG?^6$rJyULp!pdm&N(5>RzcW-{t9m{z|}a%47swL{Z;_q>drXBnvD#} z9*n1zXx23cpSXG;-LL;MtkMvUlV+@|gf1_GJi{2DL5r)T#l8jL1LSXH&T?b78OzL=Dvq#!1=HV z7<5rZtl`Xo^UMPvBCJHD>9}8%DhrQxqxt}S)8|-wR%TyF_VRS>dw_(!(Up&iwp?H& zuESm=QgR0FWNgzOQec^>=TylH*tHuDi8oh}!+6dYfVH}a)+EV;am@orHj{gI$RqjG z)0CYTzX1Whv_qVe6Qgd@lZXpVngnNVRQo?xv_`+RMjoFIAE!#JP_PPObDDc-Ybe2j zCn(xi+f-MNG)XMNuU7-z;B<= zR;37l5;LtWjdKynfLSdYvU2gpLBW2tRLoKu&EAG87Y(hAzpY%7v)qdc)h^<>X%+NA zPH>XI7VaR6J=eBgXh2|Z!}Bcn@=(F(+`;hDy%q*h&(goP;&PN8Cv0iOdc)*keUG=B zlRzJ9L9;=T6Q=t^-C?Uzs}x?6AhOZQ8?-;IrBt}=cKCgamK<}^@ZJr+W=`roPpko*fD`25!%)%u6xlER=E7WMnI0WBEudtyub zic9C5$a_{5YCflqB|&s5NM=Qn4H08wfw<2y!uWz$B|I(H4>I*?7-MP+w9!A5X|=+} zXIum;ouw=Ry(8CD#RVdN2}0?^x2KRUu$J6}J#b+!M$zyhZQ+OT-j}=8GJ^pX+!~Xd zN(n?k4(~H*Pn=;CF4YXsJ)myVJfxX#mZi`unPcUakG)2;2o4rDQL zG2AMxWxMU~&CZ@M^de?XxRVN5X+2ON6CmsM5$JqU0CRMe5*i-4r~4x7nc33#w8PJN z4B1SLT4#M$&NWVQbtz?lr@!h5DgTIfA9UC4Sp2eeIm z9oNeceM&17S8Q$-bk#^g?HYa?jS~|1UgsJvK#|-|ycG4kDPD-xZ!@TI4?YiLWA69< z&QX*VJZB$90N?9(GMBmm<*krw$q3up4^>j7-5oB>;$&>xz`8Hx`G=&wh$E$2Kc_%& zDo#*nVH6==*;J{hx7ZF>Ei|mOt*?Hf>FQo4%=cm(&jHoT5`+u#<|AJTmxI!w=8HMF zg(YShOx?(FvKgVa%g74~Z9i zz19lzsi9&G70|9fBQ?U{nDvCkTP1y!R-j4)PN2(Ail#x?q<#qu7KlT8`#P4fV1u)_ zeUcs$2arPVZW6Tt2Bb>7LPyx8OS05yxAfV;>I+^1@Zr|yj$LujY#Yhdu^`au}Gc)Ue?&?w1r&Uqa7g6SJ zyeB&gSS-KiWVC_iE9t-rq-u8RCez{Mh#11O;t7jf;0d^TiB%LN6~!TcvS5}~Njol@ z;~kp<>;n-D)i%73CLD-i-G_6PMxk(*grQS>hfiM?o*{L5EUkimvc%gL~QAF~Nb+Z@V&F)}MS{c(0m~5S0_1Dg%!{>|h+h zsOTBKka};kP8K??tfAd88tkeW#XAss#}tQ2|6M)%tL;yc7G7*)E(OpI2%H;#5!Frh z&miul*2`2JJsaeRT?v=wnS`MLo>~HVOh~PZGV92xc3BXXjY|m>=n}7vWq!+=uRyzjj?kyE5b9 zau4b8t{R89`@HQ$NIJ<7(CX~aA5^+i|3^Y2Z4_)w08AfeTcpmOl)qG{({fx~@WOI3 zU?50X6i>ReIu1b*jQ-u6n&h8K#ibeIwUhkm=uUNQXOXQ$lf*HJfAT~ zI3_Io$>fq@ALbL3Sgl$-~EY{DYFM-VhZl^7d zh>xmV!LT)Wn*2g1ujB6JiP@WcLLnY?n@%R8ckkjSGk-J&(Eel&S3_e1=VNkhmzM|U z7a7zKLo?X9hTDcWJMqM1j1xv;01OTj_lg)e&BJj3@gZsm!k^w-j{RdRcHn8McwXw? zy)pV#s#E)X@`b2G=>A|TTv+ePZERY!tMVm92%Um;#6Jz}ZhHLvM zWyU%4+F5$_`*Rks!ki!2$kT1%49@MF9Uej;iSBCP+wK0umd~)FcA}BB4-f9!KqT;_ zT5CeF^y_RtpBfnBJJA&Q*o58nlA}2pN^wWHEIqurS@&N{r_L2+6-p!}roLHTV4UM^O=v5GRUOxJI%9HU^d9fH|@c z9g@~bYB2A03xIT3IpYYXJMGal3+-tpxeEQZ0S3C?lVQY zYW$EZ_!IUm@r+cv6fp;;|9W@lWJD_ZWW3JXuK{ovqh7Qtd1AeRSa@nLOBaZL;r+Ek z^8>BGXuspEmW`$zLv=IHk>E0OTCD;{OIH7#nI@u&5Ic-i%PD^p%K zKqFBgi{qR8;4|!43L??D=fR)3q9SaE)i*mS=ElSqh_u7qKNb zDz@iETM-$>g2GZota`_u_x@Ksr+66@s7gkZZnFHspO=bHVG>nTxSdiJsjGq1efS8X zji#ByGDBu0Qe=QK>`XDmkxLD24h3L;_6T&@UC@#;Y=HpPJBvvTulpeG=g=&uy6?m8 zl~%fzr=i|`cogTurvra_SI@bp-rSQUWkUAm%g@&t_p>v7shudBeP9M@+fI2cDMf*D%KOq z2Ie*4L_L1eV*X)w1PYC=CIwcBee8IO7y}`C*u?7mCN`8~a?P!fU)MySEvy!rh9jyAme=B_nHA;Yl!0ZQ%C-fzVfKyRmX@#vi@g&Zf*xtUxdYpyya)wS zcK8GLG24^EfO;nTZ=FteVc)St1C%dDwH;zo9V0iY3z0Q%zt4s78>kWZ=Z;$O+P{H%Lve1rWl2CUJL*smFIoNmDkK`w^r;CzKfEv0s~r--)Q)rKKMJ> zX79goX)k4N?T;4s0M@cu*u&ri+?23g5eC)-2Sl36Ss8sd@%#`^wemgU-_RF3^Xe&6 zomK~;li#^hUUY8vj`9Eu8WO5h&l>YYNT;0YqtgF{A{T#qS|8!r(r}HLqK&b8f3mqJ zuB^S#x5=)$n2&GzJfo6ONg^xLk=!FJ?Ek%?>+#Cy7&-a|;WK`oOnztI)x#)&f=iV8 z`81N&y59U;wrRBa)ie^0Ie5V_@O7+z~V0xOPOB18aet= zrjuu$pq}`qu#WZIU|&tEfy)))5!!|Dw~u=Y60S}xcRP25x45J+QBbnOUe7zn%``s! zk=Tf7ak_EQqj&L7Z1%qW_Qq}< z8*Q-oEIL-{-%UO!^b?Wj_4PSSv_&;1Z!l3OaMz>Hh#VcmH?j*S1;C61 z3g8#DNuA-pN;>}8E3qZ3?W)*f(Ry+(@?ul$ApaDrNVx>UXd7O~(*Kth;!z-F?$4Y9 z^2VLCIahu#ew=f;bvQZV1?!UPNF=KQ3-lLBj|A2&I=)M}(AmLoy*<}S|B)TE-zjky zsDV@>6x_SI5I5iz5yI!LCmbs#^PW{g>azCU9)GBzs60Niy6;>zTg{dK6fNq`n)+Nc zS$ke}g{SoJD2^}8wjhF1YHLNRon_9*65niZizMg`ATF0q?tXODen&`M4T2%f>_81T zD4ptSi%78fivT;7N&WI`42hKIFw0~7+H>chej@}wdSKup-?ojU8xgXnMB35uW+LrP$p)klY z81lsIJ<(ELe8uGPtJ7D$eYha<82Lv8@gb#w7I2IiLp52^725LA0T+=LJ3gffYbQ3k<`dZ(id&c zP*Ee0;6etU_VMWjZ)WNKiS;KUbsK>eF?62kF7Hut__qyZ8DFnfC=MAUzI>q8WljS= zCwTr!ty#1M9Rgm`1G$HkqDCu*WSSKU6BBx4OfIaQ=!SY3X4CoVyyanUQD+)=D|5A*~6KI!FDiBN=c9KkNY) zXXFTe@RkMeO4sX`S_96uw(zxg7zL z8{JBL_WSwLU6~I>)SJU2de4P^SdiOP-$WIT8jJ?f(#gF%AP~0neg^Y`6ULXV!V(8q zCv5Tzu`6L*7rL1-r|atn3~|H+UZf-KDO0r=dn!ErF53NgL$)$U5sO7Xdh(MPr#i=u zM?l5EKm}(362Qb-I&WuAF&Y?4!MX{~F4Kd~&h~TP%Fd$N85_G2e2=X)HBLfCW$F_; ziiqWyKED;d?)`=3(V4p4Z+4pl@<=%&P=gf&U!W#&>&2nPhii$dn|6M;I`BXX&LY%9 zO1@^;o^(07NFbkt@7h85`!*FEhkOhHjlZ$?y<8iU&bHU%KoXHS+-N0n#2mjiim6o* zZ_vbQhyolriH>_uHx=*%E6Mg9a}_6z`zf$$=NL?+_mwC7^ovNwad#gbzW!-7QapVM z_?%P03NjZNu&3XxcviN#!kA@6_T-I$CV^G;Ju;$Vm=nCu-*H_obMS-+Oi)Z5C6TLZ zZe8fNiO-_8Cex{|6zSIhFOFII*{7$Nj^}JVSjU?{yb?cUioX(~N)3y*w%CFaSHijQ z%0Pn37l$+?RA5mb9@8%hv_%yc65KPLTjUT1jYo^Jsp)*LqUQ*&oOxL9p+SFZiWg6- zXYWvsr|anAHTlOsa7$Rz{>*lUgRu6_vInZH4C|6HKFx$gpc5$7!SXb6az6PSXBVkQ zfj6eQo@*EeFziFs@39(b-J;uZxKtvF-T10#qMgnsc@IbBm-+MQ>#ia^T-G$*7Akl! zRpil;N9~V(Vq+AZo^dS>6u@^Gn@Gc^fVlgmt|C~hJ|<*OVpXyWrNaB5cXJmJo>J%4 z7JEI=Bow1aLIx^>Wn66UcO zm|#<^TkKmoZ$irjLe&%dr1$+4mtBhRMk?AE1H2fUXBFC!LV7=*b|to;FDn{#=@Y%m zOm_IAFrdXxTt!XjmP@BYaGY9?vAb6%3BOn;FNQU#8=|}=As#vyyYCl)&yp(GQbxk~ z66|paT@Fhj{sE)IrxxztyO2-Ccy>;s%4?VBJ$o=HY`ex-oz2-rh{U*MV-7HQIQ^FB z8>3a3>ikd4p&0U|`(Quh%3YyzAS#+KUpkY)i(9l;O;yj^tcYtw`_7}3W=pP+g-J%^ znrI(0c8rwL+&B(E#?XAY*)LoPyL|^D=H=>RvFSTcviwT7-cex}jE)s$c}GV}4(^?5 z59x|0DTsZ3bnyG3As7`Q*tfA7B{1R5d^Iim0n?EMtysgO#RvKT70y*9Xc3UUL-dWU z-$DtJ{E0!_Wzx+H#pyt9$v_-Y@Uwg{l9A|pY{;t)+_%o0^Y+N}mF{=8?K+onIfr}` zanojNX^~SrDR1;i0a?8mW^BD`9xFH3VmEojnF>B3tsafHL_bp2egC7R9Il&R-nPNx z`#+tzfjr?b0Y>vn#T;0_&KRYY5I=90?rddnAaOni5#xq1sHkQat(Ud+`J$w#J` zM9YBFd>jqSut409 zD#o}ICbr#X;vp}Yg1TmFEB5xq-#zF*B&Ypg3*}GAmCvATmPWPg2o#NN5<4d;L&ekB zF0T$DFv^WthZR}qyKO!+RC?{w2msbEj1BjP1jXA6miG~h81kB%<8-<|%yK}Tr&}|b zs937$FM+j3tsBBCx3Jp!$W7?|+1yF&5r0yfinE5P`9f-d#EdnMwNOy_2IO;lNH87_A#xxS45u%;d+3 zgrE>fVON008f}J%qS-?boo73I#XGiPj6=^=z%SrLX5Jjb)y+WQGXNxDnCf#MHb~>V zR`Yj}NfY4go=iDGFy$td=#G|P-x&7f%>E3uu@S7&o8f=Vv9Mi|)ah)2E@nXLu=M_*Y-=2U5=t zDf|!^)M?3C?{S`t@be#Bhg380{3)AVU@ZS29Ot+AbKolge#$wLy}~N`_x)Jw*f0pJ z#*fanoe&f1vM~7Z&g$)_sAMEPDO<$-Oyt4*gE_5pi zm-XG80a0ijg3WRA&w3N73SMv6YnP8q2D>!wf+u@O&{1cRoj~yut)MXuQ!W!CmwiYaaC_}{a z{E4mu^4+@85NZPSN{`Q?_D3hTApC6OXxG2?D-@SP4gYcZlZh^0lbJ-RMK(}55wdXN zWA)pekGf^sA(BodYbcm>EBM^R*;8mrUmqO{*w5eME>Sp9JRfYziM;8^Z_hom+DeBr zD;e?n2V?VudxTQF1WO+Cpc8%z-_9wiZrO&?=A#Zla?cVZ4_D% zL>nus>fQ`?gvKq9hG|{a$L=cNGhFa?)5Q)YF(+gpl!nX(ip*(~NPH2eK<+yv$O+5v z1lS$-FWp;;ffLtGcY4Cy0n@>BFKM<;(t&AstX?gJ-LNDS_>6m{hyaP=KN z$FWNRRQF8cg$;L0^JmFrYR;QMH3BQUW-E8*ue>vaErIiY;REhe^q|j~Np36qv>eWW zX%QGaUSh<+F&LEH$*gL_~biC$-_qVZZfIi5a6aLTcj! z`{zZGWq%0+pbyn(?}mmNA%>={eN+v-7X5EUAx^oe|0nqRO;818`VWW+6Z~`PNbW2G ztI&FJLwoY9-hlqq7p&>`1K?fL(CqW=zXhW0&`5(5aTMCe`g0hSjGqWi=t z-VB>U!}OywZ8)#Kpv0r300bkK=aFyZ`OFe5NnFtpZ`<=AOw)2R4xI`Oj!+K#^Q^TE z95lk%4m!wiPMr<`n7u#zSt&LPn-Ms0Y_8_>ZcL)R(D+nTYkC>MfqUA*>}N-H=B+FD zguB`TE}eCgzyc-Q_%$n)Q7?4({V<^* zqK4I=S}XJVg4hAlgwN}X6QImD2IzH%Ak>$Y+nk>b?4gJ-RLl;T0Ht5Jb7Vq7ip%%% zW5{D@^Xv4r-LEUO&~%_f$t9S59bH;<8sGF-BY8Lp0v~0igcGSl_PR&-cU6_}WQS7z zr=rzCyHlerKx@{O^IEE_ktn!t@4)aF-}xuB(9ysgow!SP@>IZruf(MfZnS}_pf{KQ zsujLy!XzPhz=JJ+_EDS}>iLOeAV2xpIxHG%mw-`%p6Mx{HJM)0K^OuEj4l$4c|&oA zFkgCnxs4-gPV?juK&FA3tq1eAI|7q^hTUGZRU0P2IH0lX%C;dGtqm(ggA^@?USrLu zp!oX4bz28dE_aEMH0x5@y(^rQc_sZ?v~D5!@EzyMkM5%5;|~pe=0cGi15kQHWYt*9 zvWAvoM{@-hVwG>vIL$$mwiY^Y>c{CfeT$76w9>-G3|| z9C+j3rz!W=&X{FSIeH1V|1<^oHdn9cu=)pHtgY>;$AVqGkuEk7%gzvsB{PpVlT z5n!$DDxf07Np&_oTPq*Sa`_kauQ0OO8&ATzTpV`cwBaFAfj{Hi@Q2jwDh?dyn3Env!xks4%zdAK&>2^`!enZ42X-W zArCF8W6qe^V2-2Np}mqQ@7O`;qK?e2Tp7HC1iPooqV^DP5S~CzE)>HpGyujrrkK##*JA4X5xcCK%i5XVGx_(U9{S5|CKUKY}cOu7Tth1IHJ=7MmjLx8+_KM~OH zgs>JiZ+hAdSN zr=}l~qkHR;#b<>sScu>p1QiBsA;i|8JJHTToaS3L%01PHgGY!D7WguT zrqzvYH;ByHX}`p6D`2_&VvO*S16965iyUK3QLD8XS(aReBfW)-PNw{;{4yf8^%;VrHf!UZ{$AZ3=&pEo;w z7JkOEPHJ2Ep%2vtR3^C1^q5eC3o->dgiV?@gP}_(5T1Kwf)S`xN)r78McQl?J#PG5 z(P#h~b(RTXBSReT01zD}vLo_vdp;1>d|+cP?^>t4qmem(hm5mKI?=#tTBwWhmOjGV zx`!)9yOv`;N^rt`YC3}d60{gU5W_?5i)UPqn$^=R6;)tCFv;V2qyU^1zy$gSko6tq zXDHTOe%u<0=?U(&l0)QfnTU3Tm?~rzLb_~6>YMwZ;FmSry;d4W_x~>WX2sNXuR2e@5IP==HsLpzy>g4{sVL45 zl94o|;d*CQB>`GKC~-I&n1haFOOK&L(go(iz*^C{$)f}*fW|4O9-1I~yuV*st6h8l zOfz5BGYC&ZL9Q^QtNt2@s@LYlC5EPXB(DB2SRB+{W~%U}&k>_A_Ml0z2Q*GWdMPiUBq`{@zg zf-7_VNnO*vCe-&ScZ!{3p@%%d6~*~m>SmgkGeq$v{=@6=O?-TX|ZzD zY0&7H)fv@;iR*_R?$t?cdBJk(R@2l7UP>8L3SuZ|<20t}|1mxBm)_a;^= z{qfDjpu)=c?U;IsMtzX!c%hOCQ5h{5TVl&3kunhuKq^{2I{Ab&0W{oEV*wF~`C5~5O zHfhD0D!K4MX@L2y@!as;1MGY%dy(GFVyed4$e>r|cT;ykV{J^{tP9HKaAZawQKy=K z_g5P&$4U}Cq}^=3tj?w6jVtjJs_tIgj0ZW30@C{M3vOe|aox!!(P8$y8+E|152qqr zR}5L#tpj_5;X5snPkWE3&p-#`kl#AF_RPVKdZ0)vWzX;0Ch&MURAirc#qex0PR3%~ zaiSkb^JFYsXPPU{%P)y%8!ISiYek-S^6h|cYF)7VZ3T}9b6|}Cn)(u8n}V;}UV{Z3E_g|WYeGO?<_!2*ReU-xApBRH*drt zL4N!gKy@&q^(@aD5sCWvQY@=y;P0@R5)q3MxSkB%)eAxe&~^&FqVn*+)_N@V&AXep z8OF_*n{<}3Fsl$T7-{9EkZgc=c}#=J7QAI$F%sFpSiZ#`7@KV`vH*G)T3|) zYcp+)aWL68&{qR#7gMik9)$&vGQ||k3pv6pN!$UM)v)iB^mKyhQYOqXcQZ%Fxa~xy z&viUiecE)nDlv+HvNWDhss4RR8lCd?blKM!_d9IP7_<3^8x`>nlcwp-j!9n4z8@7J zQ$yw!G5mES-D8cesT{cKXD>Izr9$&P;Qd6!Wxy?roTw=9(#cxpLfB!#5=~Ee7WhL$LdNHxhhd2JPknIAq6vghp)IhGQo=uEc?{2&X~HX%FhNrw@kvVfCT z=!x6q%MDib+kzV%-V9|1fyJqqIf`Gru#`hWY6n-mvD2xYdhVU=)~Cu_EkUE%f)tW< zW`7833>%K~5@sp$r1)_Ed6;F-{qAx*^1+=u%>bGa)7KY1ODju8K|0BO);|EfpNht= zT3tToK2!RjWpMW|V?8LfEZ#zpwR!XgxV5F>7GrBSr-JNoUZ8D!mciiK9p2aQU-BJx zHqgOWZ}Bl20)c-nW%e)kU&IpbDdhh&X36KqUgsfPE08QJb23iu+2iAan{OXU#6!!C zaX2uPB)fAikf(O-0UL8%2V#;*=XI zG(gN=g(&xJ$X)}$%4+3}3?-R@q7fTyD$#?Fm*KwHm_LOUU8RE%zT~|!l_UhTc#fRR zMwd;AEKoeeV3;|=)~Lc0D8*sy)vZ+W&A|9JO%ONa{uZ?T98R@@@JkW6`Lg#gjbgkg zRyf1`od|z5U8*?-b%;L41fa9dCZy6iTJ2i4+}1IjHXLZny+6clZnHE;rV*+76^W03 zBFZooLcNtF9_YjFMGz$GLF{WO42vqHfjU5U0;iU%N~`FZ*^H`4s%Iv=1Q}vppvzIh zV7?E*#M-_XQZ2RLgx2IayLIG%?wv3-vxe=agYV6e$JINhu6pWJDy^|bvVom|io|%x z2xj3He1)T0a>E9B*!vBxVb=B9sx+`}EHqqs);UO;S_iCdDAef@$X2Ni#IEKVjtur^&UYAym$>L$>px ze@AwN6Qyn3&gmL2z+oP>e*@6RDCNNYh0~sMZe|)nS%Px$l)f)ZdLEMS&#sOOJMo&Q)9D~PNZUaIOv8;ChCl!?=;&y5XwI4`_;%j$H3k7*C0f+^EWl51-1xi4^8yUk=rB5=JWkK7 zQ&^E#+>Pj)u>7I&=zY?vW$_!)e(ZjN2fsJ4@tRQIo2}d>4IpvP;wvo{bH=1fFRaZb zwc*chY1chOUfbW6v#ptP<`w=$Te)FH8|_waoL?hok_m2xR{DSNm*vN~#dtA;=)R3^ zZKwiS@tkg}-m*z6hLml7BSt3Sa;bZ$23rU^HVy7I*rzLr3Dl@v@Jd1LxAM~ayX0iE z?z@_w<{6&;Kx}03ji$(50f+1=v%34tW$ZW7AP?vz3%g_&%6_ZSvvSZi$MWA2%J0gt zMH?V&4&pP>DrQ88zglBvD&=LH*DI#hq%Is%P|0m&?l`;6>93cZ6)UH0`U8rBA0vk@ z>>vx|`UE)?ojPZ&$b_TO%$u6NMCBAcX{0_vS{7f8?o(H%G7}7VdDejE>h5A?`;9gS z7g4SNxM45FE<-CofWLieh)hPqb>_mjsJ^1LYZd2+y6o9UIo5Gxeg4Yl>jioVgCN%j z=(OtduX#E9s~kXATbzxXTyfFHR~xz<=(_G@{^dnSuiwHL2BDxDwyB=u_%}4KM0x?e zJst>8k47I6{2kk-h8FIftyX6aSZs8^{;RsF{MMWX5>x#DhEAbGsJXzQy$`Mb@pfBP zXCC}`R}A{1WqHUzx}W9}JmuUP%$`|@>jI(}-OY$2n8Nkdye0y%vHrp_M^8o2MxshY zkQN)WPH=d&4E66RgD2b=7tPU;3EF6pH19^A;@E1|#8LfEXy6#P26;%Z*)5oRJeIxj zbC|BnM$@r8beWHXRA6OOXS*S$v&5&yVapSJ{-$+-Iex#f@;(2==00a^nn3n&C1H=* zATl-`%Lt}Gbz>O9DQIwn^>GTa_h;2Aa|9Um_OQ>mc|yjULcnxIy%O132MWcpkLrww z!GyM^+l1iDi5idfBzd$zH171la8>3Opgi5ZKMm zN)9A;$p&N;(Y`#g8WLxj*Ygi%u+z0Q;WrCW#%8+CHk+T>c%4XMAC=olYb0mFKx``X z=4Zy>7}gTi62xs?wu$7ZUrWFXY<>P0MGqS*2;#X{??-tiQVtg&i*nL~LwaBY;6^9lmGm%AyY=M=K39{r?BYt{kYQ1Tb$WYNA4}e$-T=={snJD&mQwq@ z58Cb9ma>h)e~L3eLH_f$&4Eaa8J9fM_mr4-^eKkXfwjz;a)&wM+;r=wQGd>JXk(!* z2y%;%Y`LI2S3VfnXL=e%cqB*XdC1b@jr2_AYg{o!Vl1xANJGinf~XASfN8p(c1&%{ z%ba{os5}48o)3*XLvZHMe?6DC|4xhtUUB;S9eeX_FCVo0h=>ql-Avf#i6+Fk*Aq%PP&kz7fKD3zoERS5 zMmaW&+7|t(x-Q<2Eczz1vNy@zWG;Zu80k}tqTNbz_VYU9Jz(X) zxu$loUj^v9@y7(P>~QAB!ZtTKO7M6gGvweGw&gwdg3f_7KPxJ zceU<>I4#It!w`B2E^FKYqGiHn1de=kSixOdOjWlVBvX6o)!51F$r3T4nn+FCZkAQw zfFDFv+tVNN!HR${OVvHo52ttM0^&zCQ@}~>zpQoTc&+G7}3uH zk*dITsb=?EG1sra;gf{Qp`}o^bAdz9&~qThEPQAaMQh`GKth3XSy7rsHzLMJFxehk zj=xcIa8q-N6b3@s#m2&xT~JUNivWOZv_~`uHVpoGQKa}-UUsVjGpMK&4J>7&V{lW3 z>m{KZrk9UTkl(cOSF6%^L?=pwDcjeY0J|K!*Hr7)qc@F~t zTAby%Ud^h%ZnVXoC;+40Z22vi7=q_?GZbcN+#}WgH*y)ynvrJ~j010~O|)b6Sez9_ zD%b1R)wc>?Fpvg!thp}aXt>6vBus(tC}kRN!S=>tmBPug7YSxtNbf-ZZ);29KWQOO zYS1qzhkpF@QyTvb%dJwsbatdeB?X*(+H>LdEC^We(#3)-g;=rC_CE6J0ABAiZvqfp|D@cBL%}YK1w|=;DaPI0&!GY26P!w6IO|ZM{C=Jj4n@BmPm% zU(FQA0hmW5I==4uiL2X<%m}wpH*4Up%{B2KV1+K9gA#aIeNwm?Wc@r$!uGv&IRD0f$OgLr~` z>(vJVEw^vTmyT;kBcx6i@8n^-sUzScRTW(+5gA*MzuKrkMk8IF)lwid_;!{o1eb54sw&$Fi2DT2uR zpe@WJOg4wD;m=UAZw5ky#d{=x(_UDkiz)11eOB$uB%LRMu&(YXTTsNPTBnP;dbPg7 z2nzr@F3Z<8C%YC&P}Lgk0|;EcQ67$Sk1)~MXe~N?^>IN3hP+7LR7Gyx749#e2fJkg z$bS;D`qI9Qb-WeSzAdTAE_xF2DmKSlhZm9YFQ&yh1G0*MG<>()Ov%E64a~ zB^dpU4VNilpaO*HKK86_c5%8cu<-3GWS2_p5odKP*mq9`F&kJh&f~qDz-p8vy=WQG zBK{}r&JwgT#9v)olcsD)&M2`YE}MYX#T-FV1hAcUa<|fLGidQv<=lw1x4gsH`lW|4 zk&9L0D;^@3O6RGG7!;*MJ2A(uaRJD*1AsW8shqJEl72K?3%+_5ThsL{qfiCkM{}im zdLZ1+!|3i4E-BWMyq!6i5;I^jLWA#3OLx0Q5m72~UOUtym7w%HNP`43v508>+V79& z36;@!jBo@*Ns_LzlpKoh&H2>Ql#Bh8aWhgWr-2#s90FGY9#a9WcT4Mk{7cFbe z!^}L16BOGQD_ z&mh`Yq84RPnNXh9%c>7gXD&ZT|G`33h_v8?qJ=50p1gpu%0rpX0sEkZGyX#DqCe*y z;~csub+qzU!=7aXGcUWdR_x6qn>$vF4Y$@6Nc5ry0rQ@#iw7GUkP% zu4<5FJ*C&vSzhz72%(x|#41efjXW<^_#3ao^QmqqktplB3+)-|(c=U1oK~W6nEFRn zG5c?fTfe#55lckV5G&NgS>~8#T@2lF7XopDmHzslL}d=|*d+xgT+6Anx9}HL;8a*g z3LBDid~BR6zyYaV&p1CdUOyB#3+?=`&6nqX<*qmWS1QD;N%-ceY%_9GwXR1N;JllJ zaU%9YMwsw_>Q}pleg3J%+n9F1aUKy*gUBJ&5}?W_sypyxjs)p5j_o@$3ftAXI;IY8 z>@3ArVy3fN;KXRjS2p=3nr~sJ=@l=ETOJ3%2C(`>5YJ2D9~(v{Qvbf?$ZK%@w~a`$ zE5JzUdAd7Q+)%%>KjaPWS7k2a`Nnz6R+)XQ9U*lFdJVu99E8_Dx zuV9`wyemVY6vC8u6+)8LergIuJBQeF=JdCtmIhaen5JDhi5eFW`!LnP7X*^=hX=S*4=brpi>XAob zrLu_Wj+@UCUS;(Y6)i6K`Qdib=J+S|(nzO@Ot;)F!RBI5Qcd9culjVus%(Ic*Hlue zBj62Nm>_Ly<0{2fCid;(7x4uF?L_k=Yxgyfsn&4h<)Wn}>t*ip=n6wXfsht$})p_MCdHD#xZ4^yVQ7Gt714@}zyp%XviV^e5$-?7m9% z@IQWz)UaR1OYhp_SkRXAgcT1`Fx+S~so2CFNU3alcYCCNp8F-cs6KCTRNOTgPf`oz z7^?reLZeJT_D##hULJ@D0L#TaWd4uB(BhB_hEwXxc8*q{GtCI$k#zoG1gH4|(5hv? zi=%LfO!ksDW=@(7P`TBw{@;z6OZMiVAxXz8a%#`>B$>({>a0w^>`|8_s%G1Fbis-dv0lD?+3Gz5AszAD@}ebXGFK}-NV9kL#r1R~GBK^~5=3xMPw!?o1b(Y-1y@=Cn`gUq0j}rUCTPY&Er{^_&_e(?v3= zuO}vQt*KeFQ5njR>f8Vs;4TYBiQZovSL*nfu79%ubN(Mh6S_&&XbAp zV^#4yT$?BiDX%Sr%aIkDlT6k>oPU-*YHLo&1ut47KibB*Z}fHIVj4=ui~7&J_%k)G zFQt2b%q|qrcX$K}6fheG*f(Gb>x7@OakV)aP(v0VK`h#84CP={L+X^nY0UXJe`AzIJr=UT9zQQo)7ML6Xl+#nQ6eh$qUdp$Qywnlkv?p z$i9GxbAt(4NVNincKS?#$Sz&oSfwzlj57P^7<2&JGr!8d7IyRx=Yyc(hR+v=da@cR zlIY%x2am_jwW26J^Xz9l5I*~gxEtR=3~cF&;^6KO0$Xa{W)*(H-|J@X|D6q28UrQ5 z3z2`yj$v?Oa&H%38=(PumZ$b5^JzD^*n_ts0ex~@I6?F5Mp|Z7gg#}Efe~ms<^AWR% z)tAo%cY-9FnNp1*eFM8!ycG_~n9wPXveW~04vJTD=kehCdi4`Pw9pZ$=7_y+XLg7KvcQ3m)HgDU~YH?RwZ&0B#5?Pm>;w~rJ15DU9 zGT`$0Ur-+D=Zv3M0L5H>geewY0ceDVVhM;-ZmT&5+CtnYD}%zkETyay^YEcn&qo{s z7B-iFuA32h(Sw9{7PcsmQ&6>#EBU(jV*P3>x^vYLJ5xo!&OL z$@c@n_@9l@!Sxh$qNDTw2}6kzrQ?)K4GzubDuKS~x?DN;4ICwi?GHP(H?cf|A{1)C z;si|G*II|$HPYxAEwrvAUjKsYn(dLTpZq1kzAWp(fXwX6U!g~jUyJJZ{@_Zt0ba;i zkHv%`Y5XzdD3329+3oCje`MR0vGG=EUG5nX_s+M~9kuJP1=53TB|Tw6U)K&B<5-tD z9%MM5;|NN_+irpIVV95b6Q~PgPfY#^OH3T|=?_phhST_WU4(*l*=cx{ZO^lrn5m^B zTMF>INiBcco|~s>OlIam605IBn7IpEsrHM63aHB7%D5C#RZ+amhe=Tv4j2_$VvQ+V zc|B7D+;uA&;rX2xa=O`?j-RTDrcEk13435Zv{;h_sq^bD6WSUo@?wj zT!Vc<@)e~2?&eAK>R6F#Z3cYZNIXd4&AgN_&UCib%sCF9U~V~sk;!10J9-KS`K@Qq z`N}HFY;DF0qvrbXhD#@zQ}X_MFnn|#r-ePjC%pNOkCF1qulyWc<&7v=KwE1H?pm66 zGU@NGA`g-zl1cYoB#(X^^m28^{J4_7!JQ<03KX$gRR>xDn~L*Z%(C)_&SQmQFYX!k zv5$qPQr%hPhh$5J>Yj3oER)PAr93x8#=}_)XKm>3Lgmm~lb~EKW$tU7m+H{|2E0!}C^W&(loyMK7iGpK@U0iXaS0KG8gfdtjzz%CMB9 zTKFk2mYz6^O$B$@CW?>+fuU`NA}trfB&aS#PutMeq(~j*Q{KD1s6bvx9nQZ&70u8w zC9C_fXp^2uKz<+5>M&BCH*%rV)HDrY-A{KqwGA7$3#?}B<+V8;I?heE*lRVlwC@h? z4$bY#iiT~gAZ`=<^!J>q;l`0)u-75sf>vI^`edZ}0E4`#;K@k1t}tWY>^Q>Vx+7Jw zxJHeyjMImHzJ;flJg-ngJ;i(mq)yQVG+~zgV|^qn2}ALivHmns=0uEv!rD7BW6siodUpvKUm8L*jOhJVz`0uIcaPFEFXTreUWv=(WvTIU63IBv}_2 zuVGNXjFONMV;f&^iE0625$+?vxReBK>gKmd6pqFR-w7RWa@~-T$lx8YD%aGq>(hUx zPCPGChYz~`UN1X`kFav#6d@d=kxh%Cr$#Mh5@XRcRSoc!04z8dxko07B4?yDPW*l7 z*#S2#8w3KY5JFT#%R z?}#*n2F56Tg%i*`xaXdoyx@|~!^sMA8t4lV>1fPvj5}?eRY3fKkDd=(1CgeH6DL`a zqXiH>rWZ>_!i~I#GP6Fz^2Eo4lA3snYwK+ziJ3^`+eOePw-4vZ-0^SY(9txx+pOyT zGZRMe@+Y5>Wj|}6VN_Kay51jn9}*OAWIc7p_iYc4u`rrQwVR5d3q~l?H&()2uC!0V zr0kn@=+Y_v9s~rMJKMg-u=sY*mT`|uL*trq` zqaAejV;8^lQR47tu-Kezk{R(;0!3GInCK$wqF9JX49PDuor0mGpmX^BUp~el@d`?F z^bGbI1!m(X(;k-|i6f9=>|R+YWT;I=yGI`NU_Er);xRH+~h=ih^nmC zWw0d<6hXlgg^O~{h5QeEwXmnbFI{Ls1iqDA@Sv2^EujBGLlUTW?s>-74V6Tx$4T_)tWN8|j{BKJBC5W2+KocZO zfO(0$eD^?Rj71>L+ZGJL#-<$Ndhy!ZkCJ?Gd21i-jF*2C4tCDjg_66Ugmx7*eMPUh zV=ZQh(vXq`X?2b-{A{#9Bu$0bhy{5*Yt>r5@3f zGbq|K60r)?-cTJb=T0Gh4^zbU4xR@j`&MAIl6l6R+~{@X>BRrC8&b4nGxeylVIF^H zA@h;Dp=`pEo4F@a=Tt0(BR1mBaQD}#XsX`N4Np3oLnKxPMq+dA993RIU?Ail&Q|U| zUux3Zj@AO-6XUd}Q2zz@gn;Sw=<0!U7R>{%AB`?b78e9&QV%4vmUB#>k229?%MQ4>e>@gQg@o|(q8VzeY6|T3Ze%M(h*w)LX=O$J= zqQ58U*M{(TiUy!9ZT(kl5>F)$-{&1xI49WC-&=>r3JIc){(bA3Ulhe9I5aak`zMrj zp1V7Lklh03QEYc0Vztixn8Z_1R{Z?aIiRW%nkxv7zS}#!7eipr^;zN6RN6IYDsF<} zTKZY*J3f2Z%1urd`JS22^M>brzc?&o11JDUImyMXo9WV5F2q3aRVLCwnbACIPvn_Y z(HIj)RTrFiI$U)q@{wRT(;nTmUF@W?<0=-5^5R{hy(GuzRM8{pn;#@c6Czn_twf{!`ighfp@%95C_hkT{_|FOF(~taMid z_tNj*D$A#UHq*vPlf%#t0>Xsap|CKRn%^d=hs8?Eb?(i~#X0^n)+DsVcyjbi4RFF8o_GD}x#{o@!h2r& zrZsO|pwU7aMUY9KtY!vFF0TN<4Z`nv()^vQzL(gYO({TT#1x3 zUFUew9OrbAzyPZs#X_egGrw%q9O_As*nCg!3OJ3MnxEliL!2!a@~6-E6XBI#2@jzl zXFQ_1-?7dYDxVL8-Rb@NAZLsO6KVxMyoPPuBLF_L<=JQ#=P18etO)S}>?(kPgf~}C zlP*dWY$Cf_==#K}>5?|St_#t@H-G)J5K(aJH*>l->OT+%y?qg1Yxm5cFwoVVEzI=Z zgHsEH^SgCNv6Uuml=3@=N;qx-64JG#C%ojSWRb(vU$Yte^~HwXS_)Y z^0Lh>DVFtEG@4FP|;7Hbi|tu~Hn| zc&?btV?$^qpd7Zc`EbIyn-fjk>4Axz>HUqWUVU6dicaH9fyMki$k>18{fVEfA$mCS(~XY^cP{s2yD*+xVdcb$=mVKyEC4Q=IM&>f z7?9&n&zJe+&7a3OWD-fJu*}DOW?i&#Uh%(k*Y+lG57 zn{i-WLGW`xjq_`Za;TBxGjPE8B7#kjP%N_L7-?*!Ln`|mUf`Fk@3eIy%E)*oJMU}K zeyqE3vmKl2LB2xCT)6lLg3X5EbyKAK;9>sLc4j(WB}vlcfOi4=b9uer^>U2jCa%yoC=g z*gQ)T;Sp0L;Q0&wjX=UH@~8yl#JoM-Gp&k~%7rD{0V{H!z8Sm)`q7heTAe&AqKmG17Y=Gj7$;=#h_(kcuDs`dVuewJHrZr#QNM;-Q^1pi|%nfqb=ski{?>_`fSl+0O*S}uoq~PbJ02R z&;BVbfdjLwy_tK8GXc#n0!MXG3iDLmtoL}slsEwqyEY)^yM}LTI7k>vKtU%obOxIJ z3Da???c%M!D3YcRek`Gww;nfMv_UW~*dRh{7Y@0U89AQiJDFMCL<^@0ze|g?9>FP> zy6V%OoA0vl4*mWax2FII3XS5$;l3Fxno__B&O1~N`lC(h+E?&DZJy#v4kxv6@>SQ} zggKcxkSrZKi<>!xi&^JT=8AkoEU%QH#L*Jy=0L;E)rpQyPIp6hdze@X;@s`47a2nk)^v;?VjF-OL3T zKoAP1Bb4r0cO3ftxkrk>KNiB8o*2vwd{S^)eye`Ha0!r|IcdNAyK0Wl1*2@Bh?AI6 z)vz!vAa}rX=3K5;WIH@rke<98ZrY|SANjL!Dh}Wu&b+-UT;o&F^IQ&|=Epyrgj%li z0fM-Hg-WtV_3QAD%&w!DQ$z<^Dr;W5){uZe;MPm82d`BO^4ZtviS%Hc-Xn3A!WEm8 zQ1b%|7*F_+%3*-C!clkW)(kQ^KON0)j26^)CB)|yg+X6(5R;hLkl^Mj;EP<>U_!&P z$wBZXx>EWx@Di zl+_(6`WfKe30QoO)U!W@@r9ywaSsmzQrjHtnV$Apef_K&AO7;E?onjl4bBC98+@Q7iZJJ(a78Pu^5dVyiks0j8K@t8tb`>^NIFmZcouWIQ$Sxqmo`7taV1V%oDe|5+R39NW9fbED~DG5rmFTiRvV z;u@>%pRwnFAvU@Tv+VePHcw0|PgLQ@xCn;C$GAzTsWta zG!6y=Zk8ofg1Gvo#&!iwiIHus6h&=3c#R3R{akdO&A(j*-w;FfQ9&E%6x=8=^8XV_ zAeCcOojaqASOp3#Zd(LIX?Dc9?G~KR4^fMHYJF`XXu+BAOj9) zudyap>AO1v#|j=3xD+XPIZqQEDu4Jj$=R-KReT71J2TIgp`VPNdHar_seJO>T;OKk z!Yi_aGAH>5>Q5$4vAff27Q4^=EnZ_90122wK&QyJzpWvM+-?h-_U+`agqP$A)h|@o z1W(W8?k)swwv+^&^0H+^+r^({;%OLLY$X2Hj=AK}eBj1+IVC=!rY|Pq3Q-vqf~|Y> zZjq?uAucyZ!0}R$n(ol&!(0gRb5{57)05S4-a5Ca9?mBdzBfO$Mld>5J`a?DNZqC{ zUsEL_%%cx^m~4SvnVn%zoKBxDQ(?U}&X8Jym7(08%QB;FGKcU@SqYxoHgdG?rZeb$ zjGk*OPStWx0t^pp;IlLqP|JGoMI~kne8K(_+>a4Vm*T^11q@m)t+S5Tpaj4c%*)G^ z(2s>*!@f!2dLoj;w-y8#HK6w~eziAX?R&SpWfHa%?N<;Ani%SUhCHVau3#Wtq`hnL zDR{{JK4gDDMy}@DyNfRuz{;VSx-OY~VA1n+I+WP@&-=bx<;A`Xr9JcLrPO)z;Bh|B zzjUShT^K^F!IaOMTqEseVnp2fC_Y5nl7xgcv1quu%)y07IE+qL4I(2$qntq%t?JlC zW(65>)#kd==JIi;fKQNLq?h?xSixaKpB+(2(r<~+*Fc+_j(j1W3}b$ zXk$eS^hz%v8^0AOQdIGiP2;n-w2xCSv7`IKZ-;6Vp@kk>HZT_0nI>?h$a@Eov{a^l zqi~9z%?5qJfS}5qe-hVv&{-xw_~b z@nOfoecsjNiMSO}qd7^O-o#S+cbEC+rY#XNYv zoU~akOzoq@G6HFL|FX9W0q&0u0>QW%4ST7NssLVcn5R09sJjWz7b0vj_@SM26Nx18 zArD66aF^A=07WnE)2QPT36)-q4ohDS=WY=MC2@nys%SbA+k~f@h=DT9ygMPMV=Xe5 z$Ea?^)Mt$fz_b9;joY$&*|D|K0Oo+EdY$y1GQ3}7$)B@jh7(3Y4jt5L2V7g?CIqDE z4=6zN|4!0M2qnM%CAa)ncih+)DDzeq$;<437MmEJkkt9A4P03%S9e ztA|&Jwo9!s^0ACpBA1urzxR3fo{sgS@uit>VWsj4ToQRjFLnZGZ4P9j4$_#M!&eIk z19A^j@ZC+eM(!r+4*&Mfqi%`R0M5T2tLn_yKkO@EYhI1+93VMWI0Q5qvqEVaHzSLI z6c?~k9sJ&no#!txu9Z^ia{B^VP^FUQ?OMBp>K#;>j}f#4#kHT(T>~o}qhB;7>f~qO z|LW`CCw8Bm5Sc`vrdR!Kh#}}q%zv`w`TEK1eO@iJA!Px*l$_20?$AeT$zm)xQ@(V& zE-WTr@<+pmG6yy=>tZRU!dOrkUXV%n{SXeNd*4*i>ucoq{LlM>UmT%1Zd_j=2_+@| zNxDn!>i6$YIFw$~cuno83ckP%+r|--^*D)(87yXA3iQ|C233JY_k5B?^td{>rE#G(Uj+g-FOz(ro5;VpJ3A z0&%*`1Tv=dfl!OqC;`?-#DiO=25^8yLVqgIT2S(&hS+sXH96J`=Q$QS4kp z1L{I$c2xIiOc>AJm!j>WTeYL;F8H7tP-KDR&gkH(R5FH7+EHcyV%+?RBj%XK&3Pv! ze7y;S$dFaQ2Jdm3&vq%6yO1Ub=ct>;$Bf1s>0>I zAc7$9vX2Y8Oz4NVa1oD@0y2@xGXOu@cAqJc*5B=(%n_csm>9AbV47~>DjF(G2nMIP~zq9UKoYDmF@KJOZ?Ar~da z*L248Kf#O|UYcwkI$Zvx)^RH0Raha z{-m*!ElwUhyfDU2=mbkhccLnGsjL}&Q~k-(1?hI=?dJ8hsXq_TjgiF~6iN|y0H7D_ z$c;_qMF=Hvt4u8Vy6pp=RtGXj;n6`QH=YM>53(j&e(i9(45cgcuoGT$D^n~ok-P2g zuPTvci!tnidr9PP{{c6#7weIcCKwbyZ8C|3k)$fhqQ!=~C+jqROnT!2pL_pNt`o?~ zUl4|N5AL&J&XAi_PVUdjqMiKDG8J*{qzMZM8luG6utw?98gG;qE-v zI-3xZ_d@VR$}O+DUgu6gB-@Vfizv$P#man3D~JLa7TxXNzM6l6Ucn-tFHX8Mn1>~| zJo|(rCJ=dhPUA+*7r8vIg`p({G4Mianh-bI^^Q%7l;_j0btnPe6Y2;`{J<}jDPdnt zghuCD@#+*94(DEOx3-P2s3rKS7l0?}#0|=UYx4}omx0lmn<%B219`Q)J5ypC(l-8C zzTY8=+&p1j!CKXJ*}PcCBDBV&bJcFXONq@0x`W_Iyy$2%}yj zVMN@R9%UXm;I(Jsg-;&NS_53+nmGeb9>EZ~m105DJEWRo`VzxRV9PlEpM+xQt{Yj_9wUp^Qo(_X z@Bqc-6hhCOL%3*Wy$r(w>aBZHbIN!=1^~p*(yeJ_}WeV#~^`C-9BvxKIB5JzN|Km>H^TMu7!U5kh|YtV>r6H1;av8EMf zEZu2#vh0l(+}bhM=kI^#Bdr^TCz=2&=AWH|thBWt$q zZo>4a&(vu6a7>iUKoG;XB{oT4?8hEYy?-3=8afR4=sfcdvQqeKtN8~L#}WjdXF#zo zw;CoYAvs%y;V!RgDe$Y+|E!3ufQ@Zdul&jAA9nZ}o=xdwGMt06&A4qSDb9sxRbvuP zGj3cjE1k~kXMm`lP=Oh>l&n#IEp@Vz<&b`<7ss^t|L>mKx;92Wcw7If4@Z>K@<^7{ zOv4%8r0+*x3D&C{i{$aV;O zxBcQfnyW=!@V%>avFo(r44VB@dd@^0EJ#gYoM4Ay)3-~jH(8}aVOui6mTeZ7@AV$k zmXfPDrl`QpU$1^uEtJ=I;>z0{g`HX1B$k!}jXh~k?iwk@yE*j2z>ehL&vmGN)3-}w z&ySR<`fv-4lv7W}&eVNnU&HoDPpBRj77s!&j zDIFO8b>5sEaT`7d3ZaOEd*CF87}WBjj0H|5&pVQ`w6^8BbYeN%|T9FOS}69 zdvVYJ!PcL~@g=PR>=QY6tO7^2=ejgs2-}56mmbA}KHM+L=*|Y9xweh)&;4Iv_941a z3REQ$!$|Q*_-J-iX6AhG`lkv2xPy1Xe_jh&>TdK$*C$_-+nFK}@aVvzok~8?PUjWOw#&J|gY)UW~zD<={+ChBFgUez{CA;GH>+aqvWD2BZi4I2w!l zXV}sB8;-()ky4FiRf_6bq_dGa#-VQpzdf@Bk@2BL1t?XUywGU{+DG~391ch^)+Z)R z+mK>mv|**xPSGs}6s}j=szZATBZt zYaID~cf1H(B{yBOH!X|Siq?VI!TFl}Qer<>~orK|>fqfsMaHP@>O z`b77g89+NEOfGQ%*VExw4K1C24}=m4%|@@I=AvR`*m`lGs;&Sm2;;1(3_?qhs|Ei% zu-Qv?GNe~(mAYNlhT)FSg8c@$D5dEiu|@xfolGUww9O?5kO6vMdM*DIuHYPKQdzYq zu}sGiYm?)VwwdS%>7}g{zwJ^z|Ma;JfTMm}MaNNG%`$I0z7R^&1wZlkIa#3Q990cU z`Iqs)@Sxub!Z-4TYjzCR#u4N^+V>@ZxVTe0Y~yzUC6(sDyfdCc)ug3X(Xu=2k;eLY z#ktcZOty$zcuovki@6dwehesRIcdnAkNlH_cC=5t+o5!~dO@*ADJiu(Mnv#?CBh4D z{D(hfw@YD9EYlD=iSY8ZIn}8eh*`_gPzLHfFp+r{&?R7ge{7>z^`GdaA_u;ThB06m zoraDk<>{76!c-buzh#OF!>Wn?`P(^!A{x^*N`Y?nt;3898tb>dZ%ixpaTA_4wPXDm zrU~CE+k!pZc>A!yd4_D@L15Ls-e=*oPyPpC;h|uYjy+9qm#J8eE_7 zBv4!zx%?6I-G9C;Tb1FwxF4DyCFf8U;yEJFXUK z$tl{feHUrN8bJ2GeA~Q|srCB7>I+wyo$!!2xu#i$^HKp;CRj)t&93{w6%OL*VfR8FLZ=ZPOm!ZJ$gcu9?E zJvtGLiV0(*>mJL~-M0QEX$HvtL9u6tOXKWEd1a-Jtig(B3b)#!U^8)S6>}=?|8Nal z8G#Hguv0$_{tCh?r&aLdI_|ov;WBp0ClAa^bl|v1ULoJ-TeEdj@P9M*QZ7e-3eZr_ zt6l~KP(XXU&V5u|*-4`i%sZxEO-J)ocJFXzMc-w@7s~XU^+@V|LM=?|SyOUd+N+GVSd<-CA$$&oBgkbHJ+PJz4G?w`!;XvIkBu>ROWZiL4fQ^c>CsAnBd0x@%T8ie5i zy4N{oA8D6n{Gk5m)stNfa>ijd}dg_gYM^)0_C6uv-e?Y5(&KywHu!?jG4d4rax94c|#rwK>EHZ9~^+aYOg zY`<-Af?6+b>j5Nn%P+zKdBrF>LjE!rbN=*e>h$r0e_tz2m%(H3iR{GKf)_8mu^j^( zAwux_9Xi_vJUb1fG0XW&4VV?AxlZ#}SACp2v!|&8b9?`(t&*gxQ?96N{(RJAgl2E` zS`yQK($fWsCJ+09ZY&v0Ibp_jBbZ;p7%49HsxOCR92jWsaO?reVyzA<_Cy7Gpr@HY z(%l~?-Xw&kGh_(b9=k_7+~PV9$REbFbS<9{y`S?fhkeJt+m=4)&-{}ML&^VH={f-F zh&Y4ro}lTd>_Hn^XYGreOtDC+_0^=|?0!`(UBxW(Xd3S?gtr4DA~aDTK4WnXkB}V6u@I#R1`| zvaMTp&tfu?Kbtq%CYfp&`gS}_IY%-aea7wf9C<(P81+UGVBvkvY9t@T%ihtZiVuQg zs#y)@b#A`}6d*a#> zOjaBn3h;t_N#2{PZvsBN<=f1Ks2#5-5>?8q=*6Du`*x=k*&EFXevzY(^f3;~dcwpviTT98Dr#b$}n_ zpJwa6yT-V9yN$n+&|zR!y$Om?H=2gI0;0BL1dFudpzYS-+ST@s**GBvQtf!7jhHo5 zOoQrs&ue1E3B7G0MwrP{8u|~2UpI+U2n&MkP__|U?8V$>WgPXh} zm2IW$y0#{qi$ASp<&Z=vM*RSidJfAfgs!`rVk`#FV=!r7Z9*HnifF9rkf%Je>Kj_| zG?SrV3JiYXHLRcA3K7iVqK)`+7r5E-5onHMkVF{|XekdofvKF+%SjvcSAdf%*5B+& zxPPmrf%~VX!{5WP$&6Ww@wJ02*?qd_!t{XLw8I{EA!D~&lBqX#`Z9DcMEh4BfZfP* zp#Rm5M|H<5Bw$p(O+p7`A|Q`p8#9GNfY2&9)1P7qk8P&W%N4BOUcI=xOH7eB*k`|1 zn>TsTmQ;8@496~c9J#Tb#hKfYuyW}{mczs}CpJTRgNT)~VtBK#g~c@RysUHQ^vTPQ zX*$56UYrzfW`~dV?D{oenAAxQH-P3zQ&<&q@*t_H3~ArT6HX1q+9X3O9}*Op)GX;J zGYVS~QWULVmU=cs%|&(%%Vb!|rd%R(nPM98nx~6`W^rK6{>OO0{e&}JBaE0Mo=y9Q zWD8kShOra%$nPTF0o}UMrP%|VoYDPnt-1|aI$v?zOI2JtI^$pX8^6f`QZjQ^W#wlT zv_uaW;Q!(~%Yz`Ev1yGrax|^|@o~X07{!_G`xq$SvPf(nPfYk>mC&7P_E;$c+C!yQ zK7X13b=~p0v%bJxG1&!fK|TPAg{7n>t^fWl87MYT@e}Z8hDAx27te4J!m&lzAXBb7-@vTw{mq8=X-(&(UQ-r`#ht(&$sYYx0O0CqlkjvUcEf<{loNMy+e!Bl6$8i z9qM2hWJg11c=R)c&K_3l!T^w21e|Y&2T9`3DTyJv#!>2~tVgKL{s*u`Aq-oraN+|G#_ma-f>N)qQB8jgIImzyF} zKF56DY$K&cE*OVDxC?=LuVKs8rHR7~sa;cFTj%?=+;~DvFaq1llsnqOy)c>&)mQF~ zpI{<^oXCgOc97`6QzY|PU&h3fMxaVS&+oy)X+jq*8{@+nIIXz7y-5$&=p*h>%)!jr z(;N%$x?gv7G6jA4Lh$c*#0vU>K6{5d^Aq;J;FHe4Jkhb%`t5z6juPM|X&mAsFq;%< z>$Bx4Ot~B+q=+)RyA4i~(4tTpWDS~QL-BJUgYO;DYdj~wxoas}@+E8E$Q$k|?EeVJ z<FXV+nl7t`FiQ;*!&v! z;X055!IRcyyx3)3B$4ih#tyx3g!=RZd!>Q=oaN*qXpaAnS{ zlQi`KYWZoYyd@P#=fT_Qdv4cMVrB*4R8HL1blrf7uNsxT)W3?a}NT2F5ugJzg)Ls}M$ zYH|T0oitIl$YY9Ka)FZ~U@;1}ADL`Mz7!}W)ueL1@oCrWg|d@G_K#QawVtLAb$Ryet^913l*^$FCBoE2f;cxrY-8KMJ4aN zYbB&_so*kShbcsqQi6SK9B{JhX1Qg%?7eHsBXi=7=#I%rA6|XPWO1UeAdmyoC%N}c zOa|gK4wGdN4{N&WjYZPWXe#Bx;3>k*VfADu9qhiGKz8&$+mMsi!D(ht1HMhirz-~_ z8<94bk!ooo56=ko5Y9B=zTnQI;a?tzWs2z>-pXJBx~x0Xw;0~y>T{K_qym!3x*)$T zRE2uwfd=ZF4RVkb2r%w^ur$*#OrTi6rXtmygP~tBTyoQc;id_1pv&3t0o9bOn5KX! z?<~@Q1^@sK0ssIG0000Q0{}h(!~PAPfm(V5l&w6fBCWae<>LXRDg+p;<0`PyFawI4 zgnZil^=+7UDV&Rzx|kA=v*$&IC4rIs_{4SLX-WvWZ(MU=eUt!;@m^Ka3LSW??N3*1 z0Y(y1_QE*4cJ_<5P6qyECG|wNW+l+!GQ$1OJn_-DCh~{XSMwZ;!S`$<@XzQ({FP0^|BYozB=jNP2tQ^V4sqdyJu)DOm6FmG z$qac{<=|4}s7+ZxR>HnH1SKCWsBK*b zR8v{dzAq2RO9DuXKxjc!l1Nbme}bq1WQ7D3LR5-~pdb*Gu0cd%SqsHAB5Oeb8yZ~1 zwYL>fQC3_*)(NclEk?PV1H{_2xcv z$}Li36+CiMUwZw6b-7XFl9-mRVzWgfov+zXpS*8fq2^DhA%2S{%pt@Fo^CCNeIU1_FU?Ka zM7?~-5(&OoB9z5WW87n>Fzz9QDJ&4yu?F-t;c6w9@X-4z5A2RLl8be9kb)+ci$C}y z<)>gw`FR0F`9+E=za^rAT`Czx@4HogpbX*Za67F(qS&JG{SYTA?A<#cUFd}OTqI3v!kfa00N;t5# zXqLd)0;6;k4MP$dle}kiSX)wgVX*(DCvqe(x!4J?>cK@ray@KD<4hiv z)H_>VdjOt$;Tgvk6-2>n+HpPJTeuLpew3@wZYtLshE|C&Sm(ex1?D$UMw=7ZaFGt& zdo3~bpMq&ijVT6nt#mPSHaj1yxP%Q)!_ zenHFIFhG~jQ(=|=< znfZ)trjJO4w4?;4C0fv{lK6mL8WribAT3c+uWCT=bQ2`unIZo+oZw}8jdj-1K)Ru$ zQ9|c9BoS*PzjCA_ZT+N@An@}P3`sY9_gfQ;r0y^bs}2M1)WC(nMkuoeY#2YlKZ*Jj z>;~L(2kv90;o14RP1X<&R^Stp@A651#X`I+VXk;;v0Wx$2-QXjRWN$N zUIKWj0Xfh)97)E(p!}z<~s+c0S9?8sWMx@-igsgK}?~@hndYNNv99Qi3@Wic9-w+TM%6Y z^<@A%9mD)W0h_HZl7u>;1TPHfO;5-4H8Bf^Y&PU4iYz#$we`f9vc04C@3G^5Nr${?EkW(*JDnl~INgtBAEtERT$h>aFHF-7=|AD-QdFS+u z+@biBd0h1B|LB&=WSRrniXlwwXM=qFcRl39ESHg- z9LhO&sD}gj1~N)lQ59sqabjF#Lo!g)e{+iiHFYqz$h@UVpFyu^Cpika#DV;ef1+{} z0!Im`m6{}vA(zF!XR|V+qMV27Qe(f$um`8}OsQy`yg?-qnxHK zV&O6vi;90@ap~TFV_^%iAbS&iphnT9R_f4?K@N$XjHxZefsARkCH8kr<#qp`oY)`a zPzWSx1>9}GX;-MBrOXWsTi^#-M?d2<9us^@P~>9LFQl#=x`aZF?7?6!X_GhjkE}Hp z!7kFTVixk_TvbUD;dw}IFK);qWev)9k&%6xj57^lXahN}_xncHHrP-4gp3ENi{wT( z@RsbA5?Cu?B0thjvbGMzhve$~n}aqE)lqIb=1=l$0rV+SPBw-dgz6~4vR@@3*v5+O zi%tFWAueS7cuQjZp39_d0&W`uME@Opxfi{bcq zw`rJMe26i4?<<}u3H1!{^jI-)H%II(@nlDaMaM=gw4)nH!QOlJZ=!5Goa1)*faOP`VxzZ95S#7Xxh>WXSaibC=+%PMjA~-8| zM~bZ!!>rxzPFbcnEAtQBw0f+h9giX2MN_Fdzy9;{U@JscU zI&i@`)AH`pIyeiLfSjJafV&wtgI``YE%7oP#BT<;T|Fjd?E-zIE`%)Z+s7xyEwE3D zh>f%d7sIR93gBlLRVPVXd%#xmjQ$O)r>?>kYLD!(@>{%PXFeR-YX!kWMX zY2R=kW$%@VIjrZecCE)oES^%WXX4(fY|r1j{$lf8+}J!M^!ENcMJqx~?n-ub^cSCH(gn+ev zyI+oNxH0pj%E6<^v8k`ByRqV4U-3-C%1VR&=H`t%fA#LOO07HJ^Z*Z8f5g>NJZwp@3>WhO_l)=culucEMk) zEpBsWtc?gaZS6lV45>Y`Y7YMs=jWHTub zCwTnlz3SF&u3srW8FBYdNp7Zg*fV{{e64yLaJjANh;7-4>cTw}H6PATu@s~$JU8() zj+HIiOLs^aAxxk&|~~OS$nK$=FpB+5C!__5F2U!k+3KPj{30JI;!B zeYxrGkv)lC9h#c6E@+LK&?;LqDr2Rynyz9-Tu7sRVNSA>{moUERSPwHirg0l=Sne0 zD_-$$yo)tDx2Ppcp4LXhpU5n;bjQyL8J9C|Hh;I%{x0YsGC3>o~o=xbXciq!4r$)4Sp5qDTxH`SydmT3l znq(8!=gHD2E!@IM*(5Yr)}?XgNo?_xkrqB$Qd7Hq@IFb8t;WU~~Dw|WYYZ8BS z_fJPYu3O(dyV7G{txed&zwo19%wJF49Tf1<$H*PcTn7(e)B5ywWcZGN4<4%-5QC3LBQO65rJSa$VPeyFE|jmYTUtSRa3_;iEy2&pnn#U;7!_4|_dl*Z9Vb&43Y@FfS~?aC|186DbMjyIH)8rKhjhbNdRRFv$5CrzUd zm>p~PPf)q-Dc^u?@4K;vs{PU@NxR6W@jyNidsI8xPj!0jZjD&xQS6t=uR1rw96t)e{YsxGVA zcRBP?XqiKQxyJMzr*S^rWjMRJZ0y_~&HUcVluF%($qq-N9doGp$*B)Ey~)$)_Q1up)_Uew66{9NyE21J9sgba&U@Z zr`9I@o|O9Sq6$i}70UXmepe6?%`IDfNBh*T77O3KD?j(VJi&PRz4*zsUh#o2Qn zzDaXKL*f&!CZy2~r!M|0?QZ*-9cSi9lvY#vW5@Qt^4hlbx2`N};}379>Y91dCBa@! z&6N=kG&WBkwKV1VVJ-2>zV_jXg^?#Sqk}IUNHKt4+|Y3t{^-wOFY%gV4_5G_u5Q)O zy)G)gr@wRY(Qe%ry@!{s-|{YVi^|%6SM_r{neE=iOD;3EKTm%#vasLd%aTY?S-DlSx!H@Vj8$}+|p83}g(2yw6T6<)C+QfFIKI^Gy_W!-py+Z!Is)^IcJs{rTzze&zv>fai(badtKCAuDHp?!NI?z4g11p-4Xd zapu+Kz9XN0p5{6^GQ_iZsc6TJ?tl;PbMkr!jf5jf!(RM^jgeE@W**+1L^z$4&GedV zv`B4XeEs7JcX|=geCe@%aW6R3KH_k@{YdT&vWGh*BDEh}9cI^(o1C0tX;3KZ@pM#>fK9&2+ zwIT?inaZL#3Vn0eH@lQK7rrc?{7c{tS<9X?+0!rYcRT;)qsA8f*P)lr>?_$cYS()@ zL;V%cM!qK~adGOIb%C33(ZPGJ3Ga^zcTen&OB??1Lc^vT*UwG8HPtSqe#&h#{MF&D zM%o3R!`4LnG;!xKztRo%YdtK>hcPt@)=$t$__Xkh_R_>L4Rdu5S7{{>f@8d(4U literal 0 HcmV?d00001 diff --git a/binaries/aarch64/tpws b/binaries/aarch64/tpws new file mode 100755 index 0000000000000000000000000000000000000000..fdc591a2209a3080fb52402434ac2e065e71a28d GIT binary patch literal 75012 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 literal 0 HcmV?d00001 diff --git a/binaries/armhf/tpws b/binaries/armhf/tpws new file mode 100755 index 0000000000000000000000000000000000000000..668373dd0aff518e69f1b9935439c5080b33bdee GIT binary patch literal 67160 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 w8k9Za7%GoITR0&?Xt)G%SCtc8*pc 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 literal 0 HcmV?d00001 diff --git a/binaries/mips32r1-lsb/nfqws b/binaries/mips32r1-lsb/nfqws new file mode 100755 index 0000000000000000000000000000000000000000..c969d1cf6009555acbb802906254d2e0f40e8ebc GIT binary patch literal 78428 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

#*`wsl9)@O} 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'QS<1C;%(z?XR#ZCDP$qgR`h*oY}VkOFvexCp;b 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≤i^0QZ$VKWT4bd6TPm`e$Ug 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 literal 0 HcmV?d00001 diff --git a/binaries/mips32r1-msb/ip2net b/binaries/mips32r1-msb/ip2net new file mode 100755 index 0000000000000000000000000000000000000000..1bd488ac45de02c71bfc9963f2135b561bb60163 GIT binary patch literal 37264 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 SlF%Li0WXLE008R%004kxhv&oq literal 0 HcmV?d00001 diff --git a/binaries/mips32r1-msb/mdig b/binaries/mips32r1-msb/mdig new file mode 100755 index 0000000000000000000000000000000000000000..900c9114a18346723226b1e896735e49328640e3 GIT binary patch literal 46396 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 c5x7hEBM;}wh=Gg;~=xA`B7(7D$AKT8lbN~PV literal 0 HcmV?d00001 diff --git a/binaries/mips32r1-msb/nfqws b/binaries/mips32r1-msb/nfqws new file mode 100755 index 0000000000000000000000000000000000000000..9e370301c288f79b39ee912d332ca3d9d4391112 GIT binary patch literal 78308 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 V-M4i3N@pK{z6$^a@WF@A{{zQ0a(Dm$ literal 0 HcmV?d00001 diff --git a/binaries/mips32r1-msb/tpws b/binaries/mips32r1-msb/tpws new file mode 100755 index 0000000000000000000000000000000000000000..c8f8211dfb0666a98e5c31e56d08abbae6205a93 GIT binary patch literal 81176 zcmX`RW2`Vt4=uWF+uqN%ZQHhO+qP}nwr$(C?fZV`oZKd>)0vfK=FcR}YW+l{MFD{T z0semj0)Y501_Tfwl>cvK{@=Mg00QWL5di=Y0Qvv+|Jnad;QufB9{^c&{|^8FK>r`} ze|f?Gxc}jQ23UIip9lLNpGo{Nq9U(Oh=Kzf@qaj=#b|*40RUk6KUl;4=dgeQ_!2~d z&6y)1A#dRJ zK>z^pb^hPI02ZN|=zk~YS6zW=`N{C#j-{4p24acHV?C!G+{=hgpM-8{w?g`rcFB?J zA)Qe7G_ZQ?(kVwlaJ8rgp}c}43K%y|wz6uxGcZ=I0rZ$Wb>LCZy2FUh*`*eQEPQ$= z(QL$VQq<_#yOeBK>=Y_u>&wDSZ%4Hq5fQ8$QEgIABPyN~O{M0hdNza1XEA?u5hGCM zqBoKaOu|oo+$A!Xc!;_&*LjbFyca6})GL466Zvv`-U4}!t{GjVd2d)jQ#Mz}eHleC ztV$s6s-hyc0ic3i&WF1-Y%T60frNsQw?b*u!{TFa6m zu|{|pkCec$fhe+dCHYamr8xG7$K9?zY!eV8llr$i{VA_;eZYSL*5t_0tnK5izo1LxFL&R{XJ(NFv*JJqm28E*K)(UyyZ)>M! zh6$86F~@!g@C|)C7P*AlvU>5D?pbU%eT-p047fh@P?k=IRH0FK30I4^wJr=Z1cA%L zt!diyvQ{?Yjyac-HeEM;SRs;T$C4dzhPH+kNyepFC@C}FP7-y3R-j+$4R9e97=HZ&{xt!x+&p}&G-ECuON};yA^`HuszstE-RRlhMQ8S3%3PfR3IX)Wb#4L+W11s5es7F zLJx4hAIi^>(_&vweu}9Q+5Xl6s_(WngBvhr$6%cc93Ne}kXd`C8kPlX^9SFDgZ50^ zLVn1pi0BqAUWpzPTQ%ME(VA~`TLp`Xf~)AftHoFJb=8G5(T3=bg)a^OvjWvHqET>( zu5{j+-)II52L2Ev&^6FSii~5hQ9;O;uHl6xK3z88e+^}&5L`ydDzw7%K8_T|^wbyu z{hBhAX;c3adcHjwBFIqa3HoXl{skpvmd`!-F-HofLhc(_X^~l3hTPQR;o!3N#rKI5 zfKlLJUAt*uxOU5o)-mNPJW(E7sI=GJtk;O=D7wxZ4k@%QMu#!Nf&XUD+4KUc3 zfd8=h6;q}Dm%$I?!hqI7aq$tg5|4oH`ETX6jTSCD6I!_Q372}Prpkt#)SuvG_;jQ;TY*oPw3z{v*T@-2Wn+@PVK=;7q6kBwA@T$%;q~5m{9o;BYrh( zOe*(J8(v_l4Ox&lWyKjk=XOwak=dHAT&`twx(^3~TB99^Mu7eukM|W@#Mj|Y zWT_#xW&XCrE0?_orp-hZk+H7?!1$f4! zq8OMv=a*HV{jjw@sTmt88pO+~d@U!yI`bG(l$}?C4fJ^=^?`a?`dx85b90>>(r6ts zYM7}GcK#ZTVAjb-xU|A@)g=*6wiE&1V0Bl={^O?%ey3KHw!&e6pmn|8?UXp{myIsS ziXgwnECH@Ji{vg2l1UHc*+kN^I$Z=k> zv`cl-nA(t5NL?&8#S-a6$J9%}@QRq!zde=gzPV>u<}{a1X}(7~GW??BAOBNNr<=6l zyZk1i@yT_TqUBqso*NxjM~~u@bS0Q%r!^dNA~0|K!lD>&91|5W7zZZ()TejqZCvWl zdBm9D6{arz4KaNH3}9=gSZmw&yIcG;&ACbLtp(~`g$pge#DLyC*}Ah}M^^4t@D+ga zAOl$Zhk|p@IdR3%%<@o|NaBc=!?n`kp!KqUv?V|hf)$`OCYRPLG(@Im37?&klGO9A z)G*r}EFZu>ryw&^|0=}9rO&PgBO-Gp;Bh1xdg%4I7{C^O*atZU$n$?}3_{u4VGL=` zVmUPQ{IMr49E_MuJF7G5No`PN%s3?|8^tAG@<~vzWfG^A za0M*yK9tahoWk5eulI#?YV(CoH!gS_W3iq~SkEi9v06)oh z8|10m`uIBp%uor$TJ`TLbbqJ_^&>j`;R-flQTI&SmzJ{~$YuwEafim^RQ$#Dr#(X#iJZ^L51nT3EZ&hd1cH`RL(2E0eQRP00#(hBJ zOI3NO)kj{gz#~m6i*8n?Iow;!nF3uDhOYkWOH(tK{~c&{um zQ1{mG6;3hYu4gZO=>1?SFt~87)rW&CKOcX8G$cwHj1m-ut2S-CO0gp9^xKl;4KQG% zDaxBAcVNcU!!nWhUR4LW{cGzo`ztr8>%5FA*j{onLVvp;Daz!Vag5PSw@gq6s4;P^^t5D@A7xIucvbPheFf-(5z2N8bQ-oi%`B*L6IK|%gFwy)_Rpmqd zLMfsCK_<6yP5Qh!2+)8I6evJN;bs4v@5^kXU+sI0_dZ_nwG+9wfYVkbH`J29jK26h&i1Zh~h&+(SqO_~XNP-=nX+524ZgJUl>Vgc*eXQk!sI zfwo#wD6^kZJHTtY)f$RorHPW!vX4Ais9z%wxuuqCI2bzw18jXDEb{&h$VCF3&|;ur z(58^cY<^eIYs&K^dnerQCO>$5)cUMJoX+#z6z8E=w;a75i(?gV&Ol@hz*LLGkt9kV z3=uM+cOkMnJg%RA@#pm3?G>(psCAVUTqs}XnXJTmmJ=5d`bEWP=c4Qje}|0@9h&AD zTX11Z<}I}|KxqW->*%$#1QPbOFVsE7BE|faWP;8;y_XW~Y?D|UCbD^HqO0xorz$3s z8=aR+ePIj=Z#Ev0@4vd(Yk8BfLu3!bcuz8bSmGh5ClGcWX-`Y)_^9XxPG?;cI#>DM z1#HYzta_k$!<I#ae}wkr=zWwmp^l!H7K)fQ%bzyUYP=tt#=)s9c?tdVoM_ z?IlWp<7sl7%V#3_E=|Ym0h?`^_Yb$opB0M|ZoN@cI@aO5L$KcoZlibqy|xKiJ)?>Z zS@hc$e%`FNZSGI5J|i{B6N$Xk$RRp%pYZg8?p6a??n1bPIFR5Y*7qC0PjkVC#7?|{ zz1Cl4Z_`~C67s19#d+KQdxQGUf$&-d{6n=3<|&CD=*bmz9zPiDP2w| zks+s0&&(eKra6*S(sR?G>oU$_5*(bv)bVVabcx*k8^^}HwAZUX+oy3^0+kpq^)Amz zt(0~I&j;-x*~+!k2#@jQ%~E|wM_@`fFu>ZcWa@snKqXkSm|#uuq$)hl;Dd*_oIHB>-e6Fxqsag zuFSZ3fL)`NqCf1tV7kef&S`1=siN5peuhyOi9dR}5xK-$+p^mbuq{zlTtI1$hEX7k zb0_P1=*Fz+P+JU*o&vBoaoJEn*xC(zJ?g<_a)3 z{;)}8oy@ads^m^|<)fF3@C5+0lw=o2uG4m2VTv6l0g~Ep<}!l9b-r9i;l7oo$VN7n zOS}}|7D0Ss*_3ou7<2`(oz=8-)JfnWMKol3nU}?q+|qj8&J!|ME1@wj5#3!3MV;P& zOoxP$4EADjUU2z=32w|iV;DZ>Cyu-SZXOJvCn6&u8e9hlSj6me zp|24jusR=-jdjWSyizv=oi6PH*a!kw)g~0crgMZm-2cwUi@%+iDVhr5wy?T$y`e<9 zSqY@tE2nM$!$rXr2>RZtPgRd>U)cI=9&FxYqMTd*UVn_Ska0!FC8LOYGMW=0W2m0e z(bxFU6qm6*aW#t^WK&JBs*!OUZ2<2O zubOT|UwhECAs<3M%ww6xT-Y+M`0c9B!{)Yz-{thSs4@9KVvFM!i)Ccxw;UIm=kyKr z^gEjKAmZC{#b!Hv@iLZJ&DD()7_3>NuMq)No*?k9*R#BU<58DKa;Z@UIAhCm6bBbW zo4WymhS$DRa;7K^spuU`Gn4D$_%1(xyJ>7DT-Xp3GWD%Ezqj%Qz5LZWu2%HyDu+CF z+OA)=1LJVXlOy9Y!L~2h!rtAO9y&^S67<*5Ku`P0O^t|7s#l>4gJI=~^KVkDMBcSq z8YbQV#(ivV^q)|EWw7w(qkQ^a1aSEnBj=p#JNo!0DYfJ=v}LM5D~EQ^DvSvFG4Bwk zCtK>%1#a*OfPLCtWLwLVAgz~zZGPx^Yp`;QK_qv=Sb$&uoHW8#D6;R(n^iN1wQr52 z&r1q5L;|95^7mB{d7eU*T)oD<=&i$)S@*HOSkRwk*Mid!6jXB4$;8(U&#m6td6acg zO*V@=<=w&nzY!1;t7CRSNRX~N0i65F3Y>H`QKV*YC$uFoup!sdz|+RR7I8R{#IN8V z7JLLJs@bYTN7}NKxL;;ht8m~w?!(K)*1$`ux@D6Yt~H~g+VWvgEl#HshyorT zO!Tby=OLX(gQmQPQ?LLk&=-HNl;dm9vu_BTrG7^XHL_$2YkFyN?8-^{;3 zL=Rk-_$BP)%xpX$E)FxCE@@PS#!Xsp8_@`W*E8(p$omx-)@ zhncX8=|$fo5q9WQVF8Vw_Ze3ap39@erqSq=cM)LFp!R0HTTl#0Q}3STUoOR;`*hq@ zY!!<>VT6Y|W=J-m-nEY);7(iT&4cr#G6mAaZ6$%FTz}S&gM}qO*=EXySQ6vxJm+N5 zAW--U*Z+#PtJ4f29=v{X6h^0t5~*Kh&d;x@6-srw9Xq6ru}e zvXDCdMoxwX+?4GbXol>^b6};&xw)@L4rRVKS5oPx9xhIlP*49 z+P<@?r%lc-NJbt_?Ad5nq0CBCxcFlA$~j;XXcMs8x`Wf8p0z~)X# zuxu=Vu`z&$6jXW=vxk^cR^Xw)=+Lh02Idp7{x@LR!$jZ41Sk5L_lIeVOt=ve%$*3Z zgrPa7|AgxnACx;bvUV=!_ADJY;JK}T^Al}OU`3?*28jB(>v3CEh|SMNHcQ;(@yZV? zG+p}kkc1u4^wu|)kc0+l5IoM-*eQrk4;^FD@Ls&&De)EZru z0mPYrV%XlTrB?MTVC1oDm(V=vd)v(ZQbZyL)tB7h$HsufITqL*8WKaG=2(~yM|8DP z5Abb%0saZB4H-o2X`k;$PYM=z@KJ*J4}fRCphGY3`QSFf1&;-##x}!YY6l#Lw~YfY zCdODmQ>uOcw76vtzqJXiJ^K*14EU$W873IZeY2*tGIH7WZ={~PwKI?TJ7;ZeFtK+( z;-vjb30N2-cho?S4YVw1aP1TxFyk3AUs!rUO3E3Qg_iZ=f3%$~Yj;gbz?!o(S`(4GWCW<* zt%_lFs7ZIRPGrBWIHxQ--bHnYVus$v=tEm}kLa(K;He%q))g2t1YSmU=wX1YS`8ri z#&>CzQ0(Xh(}vJjmi-%93KoVY?2Qq-{Xi+`pHA>-q7I~i)mOhSu_ZfhOvO?$X>kR! zf_h-`t#Mf0FP?Eq8V9X zzf&!)vyuK~hnf=C?Tgs%zHusU+8!o$s_o3Lngy;A(IAYAIR?M{ZEWtw^^OcF7oJlJ zq0z5OI|D<-^-LPtrJ?VRq-qCz=kzzxrdri^y85(@GbQcL-jc4~>ZmYELFrGWQeYNedu zIL|VQySy43Z(6PP9D-WtPTg1SA_bbd2}{J#VW?GGXirJ!PFqa6@C;=;$`PE_o6;O2 zH2_vc%(10VAHVkC;spCt4`k^Np zWbG~gmaNBV-dGd()3tb9*3CV)pHZ!g`$rCf>j~6~EH~>`m!hWnUXOivV)e}Nvn+hg zNvalzy4K{<)62oW90{*yMv*>Pv1{@K|31Rb08zNSf4vppy|!#URHhHOL?b2G>Mhk2 z^^uFE4LnCu94984;(j%cSSehv3bewxlhPPW|DH=|4UmMQ{Yz}ZvlScTV>uMJW; zUTXj~K_c=2d8<kGf-12ob41IpbbLI&< zDjqmEB zpEX&48+BI@4mRI%-jd2oJMu6s)z?a4*g?#$e;spxT0Y(q@fjzPo(^rP#a-ZkvYcL@ z?sw;}LJVPVND9>Sgbf;Kg);hj76Yzv2r2FhlklnM9t4flayrq{PIb&wV2GGGzdI1I zmKk-sxQ=ebuRI3y{!fH13)OLoRvUi-js{{)24B&QQT>7&L1se*x{@tSmA4n$i^y5< zbz=7*RoiH6?z#{-1+7}L?k6PLSL5!AUzYF)s`)&Cku)zF@E^DdO|7H}*Sg%(XAxel z4{Ru?WpJ~MzpVUOS*9+UT5)biN@`~(<6hjbzX*4Yk%CIwqrkoQ0$;Cpez}BIUfB|$ zib*}>g;TFJSG6)Y(=uvtsmd_y}sjZ8EQnb~du`_Z7keIBOp zD51p~h)Rek6j@(n;lyRa$?maf7nOC##W{P<(%{d3SZ|aF0_iNw(TwtF6@%(7ix5qm zz6^mB2FgO6xU~E|)TXO=8eItrt>p?aw>DlhnivCl`1B%wX6vSOvq47k-3m|ge#uwi zcom3f$Dn{zI3Q)!;mvs;Tvc|G=ZsB_v)b$g<1F#ul$VTC(M^7AeBF*(K^i_K zE$d#<)N6urwFUwtoFcv5oO%Ls;1M2@sIl%O&}1?I1-sW){F$Pswe?b`MO4s1j})pU zH^vBBe9GFa#riH}+A2sCk_E%Nq!Zy{h%HZk2lm7Kmtm?{;y4H8aDAy05t;YqSv-Xa zr0%fnnCza@?r^Q*x!?k({^0ZXA4By zFTMK5y68!#_+{~@rt38i2jFrm&b^SNX#e+D-S@{Ctksr_1R_JW{UjS6pC?^a{4Z#m7ylU|a{vvrml%GU z^Wb8TZeY?W>|jr2i=F40k-qy|M)g}Oq#~C&QN8&xWt*amiWCPNHlV>Qwh}N&EP-uB z_OYet_%@n342Lkkmb_CZmr-F7>vB|eDDRTN?LeSLCN)}_;Bp5`Mbpskw<0x+g%i4M zU5Ko4$y(yoOWo!^;-+S|YGuWdSKul;hGc+`71i+wfu+{J;_2mjZ_=91PJd#fO5Lj- zBB8xV8d~nk(WqJZ$(nYsEqI2sMbEU42_XkNM3q@!3#;w%c~o0b+GAp&!tcA`#dm_uR)eaDsOMdfUX*QiDU5+IAplZrJWamrfOhSD8G24#6Iy-Sr$|7b>Y+Zm3} zGvE+uTIS|ua~i@F!+lH{%dFB=N|#jDgcsBka$IJ(5pU)>X*u$ZcJ!RpDptDkpZ8WN z$dAqh4q1cAA)9j+e`LQkB7%|(aQ;~nV;B8u2zt7RJX)Q%In7Jn**Yk#r4zAg zE+MZDXNmB-hZCVCRO00G!4IIqmMD;gXen#bI=6vU$3N?7w;EzvhwM`3(JBY;zyHD z0^V+WOzYyiyh{BQ8aNQ}BCSkU0g`ti_*(r?gnZFNdURDTrEI6!khvbL?kN|?$C_Yg zgLg9(Nd}5L(^~^aiWFT)^N`RrZ7;3DBY3@oPxjN(Afc*pN<2q~2IPEkKcuBz;4@sC zOl7R=c_yyyRBnqs`6)^Tp8k8L?VD>UVIR>(5GeLvMRmt3U$?fD1BW6>GP8-{lOTU% zMy+xd{$tI(9w2lf5*1wB^B{4X7gMLe;|x#+P47Z3L^<6u1?4VR_NdV>b*&cX%_yVK zEW*s*xZR>UBa(^0<)-i;@i~s^)swXG%wcgp;Z?u{wqi6dg9`q?_TSx)DCU3 zR8EUJ9hB=I74`06NY%{-V-r0-yt)H;DwAPL zasrQMBx$fX>r~YI66|Q3HND%j==Y`x;B7{i5L07|mB#;6=gRHM_`E#RHv~8upuD_< z=JANA-+~4QMM2|R9J&yVKV~c4{RvA!eUzqKl<=?wyK~;m;rmtepnQ*^c3yHAS^!1v z4TL{l3ztb#U5gi8CaA@aNbk%`>gU5oeQhI&4;D=kpiOYGw@t?|U6ypgaDnpuz@FWU zR#52R^ly+lDh>Ucl+ottYU&UBJQ@e&ThTu;p9h-V>B5qV?{%Iufo&;FlJY3U`(a(H z#=?Sdpk?3mTs~~7;YD%MtYhs|cYsJx=umG2);D~bJ!0xbeTI$%HrZ;`e7nRw+z*tU zol#gAoZWo?zFrV7ebzuXq>dBZIavk$`JNB;yr;|mDR%8lEN|5842g_;1B8neUvou^ z_MBJt0Dxj6;N+x`!gZdfLJvPU4)CY})oW8N{R40!5lv56^MR1D|GRPuSV2zZgeh`)?uzF#64=W+}Jc}Gdb1u^& zbb$TQ*cS=Gi2a+`Uc`4Rh|7|y_F^I(xO8HrKBYebgIiikk z8@wsCz1FlRDO!8*OQVZeo;;`>q~L(Y5==7`3JPHz_Xpx9L?u-Gt0}AO#JoMMR3A`_ z(?0cY05uf3?S6;*ok$x?kp1FX%?@w2!(T5ybjv)`^u$0|C+_)1m2(-)p;zHHz#OnX za%x9Z82cPl@2l!7;|~s$+rt%$ zIuo!zFSPzI^q31vqm6=#m}h@EWiAur2^G7ZTCH-JdHvkLzc|;MLwVSyD^ueEQ3Iv) zV_wwRa%A4)a3k+JACWi{mTmV-Q%GLS+{h>6ZG_anVAo(No-$TUsyWl?cOPCm@{=VV zK5Y@=6Y>s-kJMbf*Ap_R>Yb$Q-5@<$fHXQ^eS7j3h&OCeF|4fT55#neIUjbN&`%s6 z-K2$)C!)^2VNs~zwS;xDwmJ&Z^IfB@$42T7l>2VOe}nlI_8&O$)Mw)PZZ@6=7Gewm zNp>+-U~HmfOYZP{1YUf9r*F>J=cl{w-Etp-sU(UcjD2CqAu*;JGuvmg$k)qN z_B0x~M0dmNH2FvB?S}F&T$)(My7W6kt4@?ZP_4+NZ_dqLa6DT}v8FkvfgYHcnN5&0oR z#)<2EDZSEOesdYDQ8%^XhgA4_LE(S>4+c^x&#Q{BdlWqQ*0lO<<4x%_kpZFNbxDN%vOlpk)wnaA$j&jKS zmEmmPb)|wz7#k%&bz~@tdNEFxe2uQG3W1))Ds#3ALXM+#^u2K2%t0Bwbjo#pSYC{- zkBdK56QB1#$B@L1$ezg1>7`@h>(8!f{2a_MvT4udYi(&x%|!D&a<5IWWN02c;^oDHHK zobsG`oExAv012U*f9P6IQM6m|1r3DE7=*-K(EV4TrNW1KVrzsqCp{4a{8Kek9k3

D`g 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

8!IbCXC{7IEfTA%Cs8Ov?5y*!>ZS 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 z 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 G`u_kGB^QGL literal 0 HcmV?d00001 diff --git a/binaries/mips64r2-msb/ip2net b/binaries/mips64r2-msb/ip2net new file mode 100755 index 0000000000000000000000000000000000000000..ab30c2d1381c8074d568fc81818d987e4e38d990 GIT binary patch literal 90960 zcmdSC3wT^tb@;o^nUOSpBtDiWW&&|?WY0K*<%uT2gh`?%2g!D1;19|RT$-j+c`TXm zsPdqgHkTaBb|OI7!i3^bH=W9M;((hd&dbn}s7?rK{?NLGhHxu1suPHz6x0xiNMxP+ zTl>t&vaw<4_rKr$?tGTdnf+XQz4zLWxqa2UR@=5E(;r)6ylaBxN|J~9c;bL6g zo_Bjy?Sbdps)DahUa6{_%p0nzT$SzlQXL;0u+U|v{+z&n@M%?eIUw_@8*i0zexR;8 zeL%kq`IMg%$5ADoPuWtKctU&sr^~%ut-d<1N_xzbTTcVy3FGjkI{o5Hb$stjm2zHv zzt!=dCCjTB?*Xeiy@7nht7#9sR0m(AI(ihVZSTD5#!;+Neor%2O+JBN4xCpdeXVNw zrQ$>V8U!cyTP6R|%8FlWDNHz_J@~XbeN`nN9H_G219jEm&zI`-ALXjzQ}k(7e0mz( zY4Qp9W4za%rtFF3s_YkeyREABs`X2%?DwK-+pAKJ@L#IJGj{dXD#v?HRpqM0-^)RD zdc&{Mzw$-4R0ChteppZ?{;C`=@KwcEl&eaPs`azsgXU`Rav)Nj{XHPn`PtQu1Np6v zPb1ag?{|>js_=Y3uBZw=##?2%>iGV5=(j5R`cmDz;$f@0`KmAHRXN^j?M!v$9)NRJ$`zhWxPLJvCP5zAcUVXR4P3a)IzIF^e+A(cU z+v?i&;81C^?*$KAW5J*`T_utbDY3~r#F^YIiTJAEmxV3j0%N}P zc|Tvcp`lyh?RwnG7FyQq2?nfO<7ip4llNYI=h?60?>yk<^_iR>1n|lRd(2DO zL%EdgWmC4FP8nR~-IQ~ce4qrpaWC>G+Xt-d@)oIcyx`}5&AZsnMC6c@8EK)R>zxdd z)|j@bpVDXj?h<{KwgThb{>D*4w59v3-oolNcWK*&y>2!c5j);0bAZd=Mm%?UE8p{B z>~kCP;^c|hb~uf3FL+Mj)pFY2$V%F}+wUD+O1yNhn>$WpzhB>>gJt@k(RbHHo3Q_3ub91`MJ&O4_t3!TrUK zHT~uB`_p5;*D`!rSmkcez8QB-dE9Z@zvnl!KTP|I%Wm42u7|DbOM9)2 z!GOfo`r{5&GV(Z3bW0F`K@hGT)yxeZOGd|K9YyA(5o+SKx~pr`5h081hnc z532wxl&|{j&YdZH!_Jh{T`G2~%7eYp?m{nhcp|pj437It$hSn@%N@`DJkNu`u}{i! zES}=nzN-Wsq(0Fsk;LWv9hBBYX8$cB)bE9lzOeLa_|mtUl`ovFHhcsx>~WVEep(fL zT=|1?ABWFpYg?r|{XzOUDD~-P5ieDE>B7Netwe1%q=(d`FR%CHvq)G<;Z*pNt=KEz zvy*N{ZcaCfGjhskI8@&SpsrHE)|M zv2AD3|AL*D^Zjz32YDW}K0mR-k=on;H79nw> z@-BIkB=-hE{g5n{ed*M;4iW~GN90`S zWP_)=h`6b~&6K;6zIG=X(XmnNM^wg~)L8?;udJ4}4bHozUj8i`m2Zaqie&3$b+$1+ z6zcSPA6?96VNdwoa)I9~rmTE_D)r_dP`qFl4l8cz$Aq!*iLF4ZU&`MFcJ>(wvM)(+ zVN8PLENs^vYvY5+DE4pdgUI58$e{JMwk7b>kjj)+w{I}I|F3KhTHWmr8(D+5l%Go2 z))Kb0gbgoYUrX5I5;nGk{Vid`q3iST=;0E!JTj&}jqQHsh{$JupbZ0;ed#nz*)|DI zhK2gw3Mc&j@4)Jx%uD;R(~>_uUngHemWshUm9J^z4=u^29N&6E$EEUx9`^bE)yjAD za2|Q{(Z60<5BoFqFnV?0$aSy=Jj;7`p~c-Gf)1#cGn8M0$E}UY`7#^5>4B@FUCgFV z(y{L&{cuHJ6Q%j0BgmZUYWo_MIXS2ELSx^?OrLqmn$WPzjN04qrh`2xPU3{2O|p8bbGX|Z9=!BXM-E>e~f(=j3xvhBo_=lcLDllzrWXM({Q_ zxd8v{VfkP1Q;~M#swctUAK~}qwV&iVc-;7#(xPoI??6V$hX-z#*4`!1;gHPlZk98< zFNYr{tRZ-O%tg-7AAf80246-FcZYsn@PO4_;*YxOdrZhx*(D-nzxtoJ@4~v;wssFZ9hbycvab1Z@RI4PxHbh2i^$bqir=4_8WZ6!CNiY5hTLpS-S`yz4Ez;% zKJpYieMsg_!v##V;WE~=kyqML_^AIqU_7Y0LVY0K+knxN$k{pdg(lY{2L*{yPvP6Y z^cL{)4)xQH`M|z$`^#nhwF zy&IoDkI(2kty2%__vJ0huT!6(J;#iD2pu3(f39{x^Q0ZKZW$9{XOdMF;?#ZWQgzA@ZQFs9e$tuFWzTYbTR!NReg;9 zRh~&|f2xyb!lP}U{2_)>r@E1ucMu%=qlxgDALlt$I(FH3X%hEwa;zy*bW^1tfX2U1 zXG*`4SfqJ4leB{I$ln|_eVyFy|6jfn{}?aa0dFF)m6(M{TdHrXM7wtVwNvW#UF=U9 zJZ6cH7=D80(|ZP}f0(+iiJv?~zQ#|Ulyujwdk!;KCGH`K9gEkr2M3USPZkneQD4I= z_4{qi{k%epm#}TWNz=sfU+;8+pm4R980}cIR@#jZF(04XD)nrQp(~=LySK*Z-&6V) zws-;$SOc_Aj44g5$t}@eiM~p}QlhVj@zEqZrR@<{uv>^L{66W^auNJc`%*m2!~yWf z=u`DmosOIMfT#V^Ke2%|`AYxv8>8P!KTg-zUT+VcjP47bh!%s#qy52S(ca+Es2@BM z-55L^?G6q^Hv|tw^TA+rty7dB*b_|`2CxsSiAUBlcN!|DmhZ(DkNGJ}=fAt79+Fuv zJ=sjWD1Q{(8%=cnMKB=?2Vd)aPOJ+yORTde2y)C(kkdL@cyPl0Lb{1|(Kk`IYY#k& zjeT%;)Cr0r{KX``uPN9Y&C-@oE=Rex((Wj_5ZVkdVRy4B<^fHt?44&bSCD)~x#jU+^pY6KVtGyW1IC{U@w73V-C=X1?%a zEwBACE-!M(Z8Cip(v9(=b&*`d*o-~4t|*T=H`0n6w7>)4f%ur>F2}n>u;tjUuPS~R zLz;Fx-V^xH8R-~o#CM%7ckRo_M-420Ao;#JH$+pb?J?=18{Px^;X8)b8%QR$k4|Di`pX)O_F4m`P4b~vdl^k)1$;wMs_Tj7bC z^lJrdt?fC`3g3{A>ckN|`U18X`x}$3*~Upc&&jS}B0dxlYlMFXqG{?**jp1#_Nx9& z{Z@Iita36vt3>?O)GY+T08f0!B}LLmw@9~0pCa8NeG%yv={D&$>BmU7Nq+9h_>-`^3q_r_|G(HNdg)>DPRtjJse22(c zbAs{p%wcVBpYq}~toY9(3X{TELQj;?6D9OS2|ZClPn6ITCGN! zoYai=pV#)WrAM_7e>1d!zm(RU__PD9STW_RJ;9?zbj0cM7w!rETk~mWzrv~g@P4++ zP-h2o+^5m&hwzOHZlm&IPW`%-@K}eF1m{;Fa}{2EH}ze3@+Ld)7~YQzDKDl|BX`1w z@SXCf@|-*dANInBSC;vZd4&BjCsY3g`NPO}@ng|XKD_Hwrf@I#q^>h0*&^+bZjo-0 zK1I4k`ZCfj(rwah(vOjDlb$5qCOtxWg!D<$Bcz{8dW7^S=~2>OCp}7ff^_A{8vjoC zF9M%k3IFY8=5mMO$y(BD?OW3s(rZbpt-o2$P<$=;SEK)#{qJ3%}@86(2`N6jYJ%rs- zU-6KpMTXSR3+~alz4Ac;{bRR=Ite{ybdu`cG9Uchh9}B8X}rt_uc>Y`{d%g85~-2< z%6x!clRpi40G^0VLTknuLnpmj)=4q@eF^ws>Vxt=Cxd>>`p6hGlfqW`p-bg$s!&us zbsE}Rq)(AGN_v#^*GZ3({w~s^ zq}PyMgFjhIdX2MnYBlLKegS>7inR4o3(nqNL@z1sJ8yx%uW>SpFYH8P1!omK4!zpY z=PEm2oT10RP{!FqC*w>>{X5`ILcGbc)8h?2eoDNd$4`kj^!O?9h8{m9-q7Qx#GBNR zegfVM&h|!Qzh>Xxe(V>DOSQYpm@gIJKedSlhu7>>ecEP+`sV|3^EBUemT~we28XJH z{>OZG>^rB&-?48oj#Kd6v2T!m3cfq`52T-h?~eT)>8IekV~>)43cfq`An7OIkGbBL z6o=~Lfh(E32A$f9|AHKca)0cfRsJ;3zBZe&J?z#>U|(O>Ey!VU6}n|Lx&=Fry#E!t z*WkUn^2fFyn>47nPN=?EsBwcC-}Cz2zSa%NV|qHGQw7@AcaEF=7|dn2ts3 z(AM8*o67%{PhXEn-)_Ez>uGcx`rhi#Ro+>j3HmA5Z^~sG<3sWZ%?o`#`MAE4Z;_7< zGx>k2Y32Nz^p$*@e7l_g5lt)Se?VW!kB}cJ=cAeU07Kl9Kh{_BqvS`+`8Q}5rkwv?O)KYLrLWYlCBL?u|87ky=Nmtl{5taM%K32PbpG4*mHZg_v2y<9npUoV ziN2CQi~L#T{EIcMoPVLdl0TdL+2wq*o>|U+b2)zw`E$zoOEs;W-%!q&8E{+ToKXO;8kkw34@2eq1}ev-madDpq2rYS#Yntn`~ z8PBe-P5H@MD;xa1)g8`Zt+nC0eZPbAq3Z(^k)oSo?Y>=#K5OsRM)hY{&)=Z)8`j?Q zBE$xIHYFyZob5U(<`2dPW9{vj@pYo^gsw}KKD)`CO0xbAZ^9?5Sle4ly>w}}_{c2t z;!RoNEh@jvl_U#NYNr-Uj(O|^?@{t|%$xI_j;>j6%Hbb3O}3kQo<2JreDDbJl$W;> zS7}rD6n5U*^}V!5h-1rI`pd^ROC9eUc<<(2eI1MUgT!htEHOs?-gN-H6s;U~FGAch zN1DxdPjxEKtVmX4rCz~aK+H|%Ds03;6P-@OpuIYgxoe%&4zHItP~RqGm7?6Iw45`B zT&Y~!iKgfuLqk4A{ZC{C{iCRyi4klkbFYlz0zL3>VGHqt0`>UlSV{Z3j<-O}G5+n~ zMNLM{8N&!Jopvqx=bR5!zOsDhz_tU7ukMbyJ?n z)P%-FHmCc|$!PQ|~SA7);eHTky7T%sIz z6Y{i7XyzSIy8!VwY++SNGlyNRU>d(7B#gMU=ZJ^_!I!$!MX zV?n{|$rkpNkk)yN?l0NYU)mAIf;zXXIjnL%+PY>~>^DpzcaB7Qn`|5Z>n**+Q{@~R zylUOio;5=zzR_;t^ls_%n|9Jxv1?Bl-vTDH)<3#=&5&IT;~1TVHHU?G47g}h8HW$N z65}c{CSp!$VookGrv$R;*pZ_@4guW6p9Ykm^EnWrsRK+EwY`UH9&j}1o7 zo9x>4saFc?f>P;@O|I&)k!K`Vz=x2|M3b!7wLG(rOyhNPpsNdR_f>ca9Wr-6GOe^? zTqnfNCTWZDzQ+Ho-$)aEkD2fI$_h)tjx(z+>kmbU?KCN@>?2U^CcZ$VFF+w|dTo~E0$ zuwNG_=4rVhV3%SdHMSY(^V54I=P7*T2>LA1TqhCm<;bscnRtgRD!lZ`eX6q*$1;$P z6N5P)DY%0DL$i#2r0tO(`rgo?HRC#87~@IoU{c%TGmr8HkIn#gI{eHVd4ZVfx;5iN z9q7?j)Zsa^4*e&9#X+w+=Gnn_e1#RQVojoRfn`ejk{&lhx~ymkZRjNL;J6?Bt~IiK zK+;CGAD8y7UA-@=9G1QSjvp1T^XfI@;Ch4j`#DSbtCr<|{}S6)&7k2T7T;t@w%+?&DPxvY~-bY>;i*8&f)x5`FVN`K)G zcAhKI&gU-m?4feZ5xt4LH^6s;;5Tt|hZC_i?#r05jS(C9!d9!jc1D3Ael7BQw?Am- z)2XgYE;V{q*H*XL#!h2;L)!w6Y$!1v_+V{`ahDhuI>18*GO zbM72 zaeR83-I@I#)9hi9XTf8cX840;n&m4rEB;Su#u{IlW<9@=W)ie{vS zR^%xs*A|n=TyLSD81@swz76R{?lvHgdE`#lU)qj(@&@G3qrGw4cAJJh<}cS0%L)No z0qzf0^fbKQ3$Od|`bK!Y8(!Z4ujk?QweWg7yxs<{d+>U$%AbySP!CUDmJG94BE%+e!Y;wgL zL?<{K8J{cfCH{_|s5+!@jl{MeGCEThR^ZigKHCbu6WOjDGV9Ete|niLTN2Omx2bp2miB9eqw3Phya& zub2}Ih}(H}Fa}hwKvML@8ZFql0AKPPPeGE^ak2fkEPtGgHKYKM#@yK{WIw@Qy z;;=?>r|W|i-L3cw#{v$>`}MKl+iD&DDs^WcsC>7CR zD)NhVRWW_q4IFnh+ zURe5zP44JZ$N+2X$i#4xwIXT7=Z_?sm_N=-*2Qe-nnYG2wuC$?!afLmM5i_QKI`N7 zbL{hHJrf;_j#0kCKiY_XVZ9Wbv3`#q&VCp8Kh&@A@}{Et(w%Qvb5#9@ zP6s`E^_rhld}`%k^q{fhT2^rh{u897gf*&di`N{5=f14`zy~>6b5x(5$u&p&dW?+k z33)X1fwT}~{2RqT>$6kKSE7h~<}T|NtN;HR@t#b7doW3vuPWGuaMhs_$yzAKNi@}C4tt|6Jl}Y+DG7qg)Hfvbhg*Nu?MAJwCd0*)! z(VH3FQ)Ke+^HoNtkZ;MutJF0%ly#M^OIq8N2Az+J?zwr7;<5A5a6ZwwF8AT?Rwtso zQdrk8B=*85RFC`DiYUD$-oMelmi5*8{)x`3j18Hkdj*Ysy&RwWRebKT;n1&j4c+mh zXZUXe)3!BYAL!3aUX5+Ix@k8{pH$hh>z$@hzRX;Hfz~(Ur|h&ps5nK46yFtInD)nk8@&9pj$>xq zrj7cYO3rHdq$kzgyb?6nI}DQafz;eut({+kz0TZJJiDw@_tO%b!$l-YM$M(X!}6bEXS@ zXrs@{`tZ-y&x@f8jZajLvzYlWdmtu;i3=!Do$PWK^(~_AYuJ<;_$G{fX*;2Ab4S)Q zo+9>$&tzU>o@V`k*nsN3polJRH+?@D`m5;Nwys@&b`ZVmp?7oW-4o(L!06CdJ$40s zUEaF}?Zop{|E@*yb$;HC?rlT&{%@fYhgp>Ha_oa z90c7ji|x1eHpz82i zsI!yr65J)?rxbbc!4Q0qE%QOn#0(zM{b3t*udXkCQSIQE6p1N6jEoKu`#c~C?64za zy~N!^yFb#d@N7CtILY8vy#AEhN7BX(et{3#z5$pISMY6f288drKikr^?Mga$IFou4 znx|zH-x|X)`FZr%RqC5*K8rx~q3QTMvo+0>0S4%pgBP>d{xr7VMNcKL{Z8q)e5m|Y z;w377;n_kHFZtLbrT(6n_y<$SKu(H9-IuJf->exwaR&U9Fm6J80eqyvhl?M@8bFWJ z*NWVg<#fLXUV3^G`czx>0Me*)UwL0*8D)s4@UasU_U1%pWSyzEn6YM9yB24wpkmoG z!aHYO*waND=q_yo+H_CSkG9EJf9JRd>x-$=5uO~%rV4u(d$gO=en+>M@_(h}?VA!B+q~4* zw$@`$pbvZXEgN0ZgVe=$OI+K>u6L_m)-=X=Dd~}I;K=cVKCPp;OF}1n&xr?WV3WnZ@1|c<5%mt9i1>_p|bPJ~U%5&u6~B1KdG#`0iq8 z?9F%O!X9)mW4nlw$|F&IQpN^e=0rW7fp?ZPI%~x2E$VKW^AS1ZWO5%zp5FuS0!!!B z@bTDC%Km+4w$3p`Hl&j0%I}FcoGP6O2t(2kaTy>;hC`*@6z4GDWmdxDjPEU z?2Z0vo-Yumep;^YdjTHL%f$uSSGw~(vA>nEL-Vtah*{fZ>~G`y6;4O+ZG~ImHS*$` zy_^@?A4MNY@Ez?}+wtFv?>i*1P2c4?8sf74yTPy4|C3m$zXcDJ?MjGSKL#GWwVVYr zX}_{Kr>S}RoWXBn+ULm2+OL0j^kP&3GGlwJlX+RCL0-I^%2R(up3M1BMyfDR4nSvE zMcepWur~4nzH(k7eMcB)ho-V0LE+EK8OY6AWVX!9OU!(%)T5Gwq{nOD>&%MC!G@<9KF0o)5h0jJ}QZ zzhEu;xy2h#u(^tFbe7_~a!$)03uEajEA;nKV_&Gt`+rm48&xZn&!+57Zy90}#iy8< zx)ZER@Z}^ife|7>$!Cmj`6_z`WBC2Hd_0jUtn0phN-nXYDS(nGmkTO zmcowy8OI;d_=An!Df`6TE^E`f$u?`#z^}Upo0NwH9)gB3#S}D@Na*{*?%_wj>zn#H z7cQQsYh@?;I*+Qa^C!dTFc%$`K!-Wla*ZX;$0tyqW}oSYHqZ?V=_?n?7VBf`Ur-+( z<8=GlJ=HhidZ(@-h3nM1mOQgv@c3ieo~!#Abboocw|rk}_(h3YE^DH9_q11F;C-!~ zZ)g8<8~&BYJ{;%>O?8b~%Os-ZgKF9hce)9h>5m`FNl-L*F$9v~B!I)?K@HePkmzHS5XX(+T!r zH|{5%^CfA=rppJXqbWmvYWP27f%>B}an&_|Jl{`$ z*m;9D7kml$QeO6^@m18ZR(J_oyr8(@`E%vh%6J*;@wpoO5yq}Q+-qzI^if`6+zHc; z?;CokFAU#)4z!()Zxdy{J=MCU!M9VC>-FV?{qkyKC2nbxwwcpbS1w{{R;$ z+2^>?eCXTl?;*o>8X1$BAL@9Zr+Zu7(aT0&+P-h(C3FiqJiD$Gs9s~-zu3Q7?PhTK z@>Y3^gI!Vj;3MU`TP6-@Jg2Xf^Y({yPAqlIhibdOk&6^wVqLh7u-OZ_XmpJI>3sT$ z9ZKZ#&G5>^ZNn2!$y%`^l#QpLl2rxFf)!dhgo`2jj7U z#b3T!JjP4>VADR%ZTT8YXFd_tesqkK{|5EUo-g#izkEIAi}eWTjIlVG|ngh@VV;+uD<-|43M zzr+~t7rXGx;)DJB#Ol9KbyN@fbz;^hY9=D=YS8)N4T_hU?J>5W0Mj}6$r|q-R~uN^ zyTs9YUBpIrEERhP-pGzd^kwZuvSS%Gzh;^2SPqWoykB;t@rh?&Ej!MKrgJ+?pF1v) zSvxXPx8u!Hvm+^I?#Ri!9ZSqQ&y_ox*gFP-3jmOUrRz1jiemSv;(8n)v${z=NLQ5YG0+mG65~ zov$tte5gx%4#CTwT&`nZ#{NIvHQsc%Yqtz8#kMK$+81S)fQL)vJJ}`0)}Y_s!FjQ} zd$@x_20K^M-qlVf`3$}~^BK)I{TA38MmyTS!86yNun(lMUV{6m>+8C-DF=Os)#gkb zdXMZg^SRA>*1=N!)2n3^Hfs#tQaliMRXl(fSMk7j9mNCu6H`1WesuhbA2W8v3plFa zM%x27W6<{Ri23E~UDoyP?&*);5cZi+3_*XJ@bj@D=}V2eFL>)ziAIZ zyYnHbP2Y?A!Q7&US%dSxga6icG|d?beyZ;StH4<#o$>e5ei2#V1Ky5yx5!W9e;fQj zeJAD^y5^IKzdJaLpRafwGh+;8+~}eT55R+E`3}CTI>%RD*EwLT)M(p2{ysk6VXa?a zUz(OtUPpc}O~#m`*P(l71wjvx#5-l4E$ylJ8aV@AcP?5C&RB<4e&6E-<2|a^J^4Uq zM6CMrgRj~y^NEn|U^ z`)BUgyo-`j*YzdP5Op_NE8WbVt;F9WZpPmNOuoA8Iws?b5WC>c0$b`9F6MkMV}h<1 zMT&`3atm$Myg9tXV^6vvz9AT0{|}HEr1v_Vwpw zQ5b&<=v73=rF+ztE`?9*;zm7}%zUOUf^5oF#PjYd>bf*OanDAn&3YQMHZ);B4Q<0~ z$mUI)`L+`xHyL>Wmx+zEVQGv8n*M4}p7FIpbNbOSbgm-K=Q*jn3QWse(9P@6BhicO z;_6_^oC#UUJsmnX;l6{;)x;&hxAw_=PVLBT{?>_W7RE7udlnGJt^D%k<=VLur|bikHRQKzVN)W2CcB=1wW20ZKyeJUP) z*ZCA_0enTv!8-EgTcq9vxi5eAf6IqY-$P^*(sVDYRlkTZsQhIM=sC ztlR9kJFpl&dXD+bb%&~;;vWe{bK2^o6%WmBtCc<(LN>kNWpFzf z#=6V4%`@@k|I+qCNW%YB{{xTi>9d1-#SQ(Vj_xkrDLVu#iQqosL;Hvm-A}yeOZeko zX5T6NLwTK}%=Am!PZ%Gt8s3J-yLNTZo_|>9PS_5!_uI4qzuU}Z$vdh%p}YXCtdJjk z)&J>kd?Fn)a@K?$J2?)VojIP{Z2aPu?PJXmPkjla=hfbo%gn*IYMbeR}wk>^Kx z#7DQDq4~T&&%3EJvRMvKw#s3B!e`U%uyf_r zmAWT02&m^*=8YPURNbfLLp#8JF5V|8qjjQh4|!|9FMXyBk9gM|A)G^p&{ZBj+*l$t z_7vKUJ-U^#5C{EFbe=Wo11oKf?A|^GtTyk@vu1YK^s#6ASh>7;K%X(iZ-wRxXW8Dz zx_0G#rFVS2&Sk;<-95vG4%AfnP+Cu6+DI?rN5r5B{%1HJ(LDC7>YUod=oKFAU*{?_ z`yV+Z?g>1?e7&syw11TWdO+`~3@EQKr-vrXR0pCLTx36uE^E>=so+KDMQQBgr_qOR zu`j~+!^^E-ELql^n)=b(*c$dKvv2uq_7&^A(JjjZ;}PyqQD1}o%iO2Z-(>U={D&S( z>$tTneWul?L=UC8w7wOy@maLV}c z%VG*2IF&L!v(y<;ol1;M?Zxpm9xcP%QSs5W>xRP`_mCQYw&JP#-eLs*jdh)He|y=E zu>R4jbFFiU^|A(5wijb6Ys`V}?s?w!h^K)YGiE=XsxQKCp2j%Jb|UYl>US{bVqR@u z#l9k!Gwb5l+l-Cz{MHx>WBH-Zfs_vzi`u?W-|P+b1LL4MaMIH=hEB<%dlb$gU2h2B zEA&rpX52wz4hrij^iRHTz~Jk+js-7e9fW=T!y>vTw6EYX`#J6hFns3gx%e})pOrv) ziS;Qrq}Q+0NofRZN0p8hTJe3Sp?T5J{AW5&ZHGJk&eO8WL-4Izwpnk|*oE3HY*xB> zjcKoFa4)K(SqB5A6YB)u*EUb6qx|F={GXN=wV&hdLIaOAmznlQ*V5o6)yG}CuJ;xH z71`7EKzJ#E4eWz=YSe~R#;JT8^2es}iZ7(Pn{wyj6U{bbU#V+_zc%&-YKN!C0ew|I z>Q%qly~y8jzr^6bGQLyjd~IjO*nXC7p(XA-ndxh3>x}ofeZ!9Fc)ND}L4OzT^r!o% z6Q{Io_x-wU`?dC_?d2bMWqUbc+WQ^sC3B!xmk&riI(5h?K z`^PoTz`WmOKYM0mH#Kf!Us|4fM-LhP(7oHyNwpIq4U;`#TKGM9eHVG)K34wz>XsJv z`5gcL^Se&`{xcuHdq)0$;%CkL{?Z6IH+~9jsH~Rm-i-d5n5FGc;R{aLqyay&GIQP5 z#oy;H2=-aBCzbXcEkB}d&>l4W7i>pNZHMARip(*gb=*I0gH8HYIZuk#E2`U>`!HO$ zKDka*Z~mg#O8mKY?l+t3ZYR%4t$5~}-(s%y%M~vL0dv*aBU=G`H*=eH%#}7US3;%A zYOk@)uO@v}+V;5n)Gyl=C}(e-@w9hI+f zK@UJb69ZS;$q;*GcK!Zx`0aW4Bc?b~KL^~X4HfMdJ88~^=-7x^!LwF4AAiUS>HnnF z*0pQxNa?f0tRA&;ql=NxN31M&9>toOUvOS7oosQDS^SH2 z^sm!dGE6%5UgOoot*Kk7N1a;s{|!>!#JkGn$26@u#@$E*;x6UKze@Pnofm#^#ar3O zX#C{6{6T5+lE{Rs@kHAV>Ct)DjW60`@YG)X3Qe!fYdq%d<-Ly6X_~J-H+^V3+Q-bc za&4}V#~EePTbyNfM?&XL-;q3XTjp`w2PAp)ojTWMepKEktvFJgLFdQ7)nhZhAK?4L z`klN7d4GuKSHaC;9W(Dw@%}vebIVNpXe>v3ofm9QOP=@!@?v<)!}bXAXM9B6Kc)B; zzo;|;#B56PWgNT2p0HaN9}*XMw-AF49^|RtwH|ijkK-LyO|VjT|<}b z?tw*r(8ZtmUL(5aIJ5LQnU`LN{&{#&zW84D81Ht~ugtQSYO07Ytz%|fo{qWDvXnb~ zbgz{eD|Z31Zx?>bz7M{^2i3R?@DiWth1WuwbpEN?Q{q4mhq1G6w7CtKnak_>IPTZn z&Hb(&%#DC|0J*lIA!TyP2Q$Z9x{p1y@CSKWhQT{oJSC~uGf|m;jFhrHF>&Mu`G$5@1$pye|1CO5Hg~tqyXyZisFc&*y5A9T$ z(*3^a$f5qGX8ZPFMN4pu`9qVLv$Pvs++bir$51X`+Ow!Pj59~jp^J{5phI|UC7Lhs=IC1z>-$p(Dhx#f#Hcf;{!j+Lk53k{41`g`_Ta0)Dwla4-GbT9zw6! zW-sU!QlC}1Z%?+fKeX0YIMYTypp#TTl=h)>?41p&j|{J>-a!9wc4N@=oj=IBCgt$o zyGCz(F)|eDCe=yJG4|^`0_y{t>Koe4a%thxivBYCXUOQUY^9z_tIsycbNsPZYUoy* z)is6e3H5ZGd&Qes@6uj$n8HVYI)<6$8CR&=Iy7!K^^f+E#BBS$oFhdSv3W-@cec`+ zbF;Olqc?is43!7NqbkSn;>eZh4HcOkS)I-+o<-#{)ITq({@MPJY^ilsMy0pwi8txp z?)k_NXOmmg8%J8w-N9~bkn+&O(=yafEIP_OuRX*u_`Q4cS}D`?0nU}GY#3b$?aVp@ zG84*!;h(mXWX0$Mt#9yY8lE;V=gT_OM`w7!sKU}*d)XHw@Ha7~MJt|pR?cN9QtFAl6n*v}<6`d3eFyR;$y={9$1eM#>J}09cFh*+t+8i?HG)pOh5BR*ak`d? zh}dlhqj~WWH$}T`-^?A&)S=BeIDV>hAz=$U5EWV*ZM><7EA<+{6wqiaN6@y%juTwI()BXh4M+)Lbqwf;NfGurNio`pc) z=)FEqXy5ozHg_)0O15}{&R{G~gZ3|1$s5BtZ=xPZ_1yEpX5!++bj)5mdr7Z}J4F7a zH-nD(Gab*iH2+~Qtw@Lu@ZiLK=m>2)7fZChMgB_5DL#&R=uZ6l=9=oo)|3>zv6YMSfbJ?8LJ2=1+v7$n#zldW->sw{7 zrs;az$Wv(#<#ofzGwC)Nb5eHFnbWySc}MxcVIQ(5^02|FiIIYnh}M0eBbekY_@v^8 zw5X1INh`wHE7mV$HGcY##tYO(ck1`=7A`aj zegGY4Aoww7mnPGN;8k#AgX>umNiUI_4WjV~>r45lwXeG_)u%o_aQ4GeG+ zV}`zFPodsz7Q(xd@5qbtL;Tb56zxQY@V{2OP1wZ0V{iX55zV^V~Hu zkamm+m5`ML(gxazK$lq;R3(v?^m?3H%Q*zL_} z))v>QFNi*CcSl|r1mPVJYrQF&F7K57$ zS)03vGy99VBd<(T<;gNln-wjTPeacxe3Yy8I|z^1{mwGIM?jy@e#NpL?r-g$L!Z>XpUU=MTK$2 zx@Tn@Ptug<=KeN4z`X^}sve-dNu|#Nu8tF)eT%6d@&#wcm5;UEGQD2XzNqtr@*rcF z;{BhQqXf(&E$KmSJ>}c9!@YB_cOPd`m3*d4-I9}4*aPd?4saH8m z)Sd{m27jIL9?nwjfk)!bGVZU{vn#x%C7u>CTnCa_!+jmp7o6rF&EAbQkWSw`S3$k(~(S$FoziVNC^tf2qB>2kmU^_fR^u@MGMEK)v{T zi9H|6Htl|7(FS0y1GWvtYiXDAn$Lb3b0>$gm6j8a`8WQSX$KtB_9N`4j#k=MA0J;v zW7?@@j9KN+u1(A_^(e1(RhMXetp~5aTG0VY!*hXE&tB`h;BTR)W-YD79^!9R`c!%t zAMd`hZwUWrdCfQTMsx>dxXY8cIkuH?uy1#=8+$!l#|F&b)$yS_Y~_j0o6$$i<&}QQ z6YznnJ`wZ8qrA7<{~FpI?E}ATK2KNQfvaBOD8pH={VSYZ_b$4g{etpWt51Cl!$+nh-s9Flaz>ol!$+nhB44)(XeNJy4Gm8}bi^d!Wj)%6_K_k--#e2E^)ad=Xk?%|0e*!@j5l{^(KWfC=V@ zW5kL1eI)ip4azXFde_8Oxa$ae#%~_5XK;YE?r<)|ZxNuIu2bD4hjf1vzGc3r13m27 z*W3R#*Z{tD4wct=vXj?y0>-D=RzNo@-4-R zSc{TBO)Nn^;X{>8xmWwc2iLh>?e<5(@mG{j&~N#4C{tsshZlo?GyS)ti=E)`1*|6l z$1TWG(r15Be6w^bOu!RiTzUA$;_0w279_I2V_o`_N;lKSN_0kVFqT30Iz@?Ck#z0R zV(6#Q-ZI+ybDg6zRx7FdHnz~0FMrG!lm06D+9Nk0M=^Z7gW4bW)n>?>y}uB6KDviI zS79*splcqm^xb+)eM|@a7F8H7zR(3xMYYX&`n-TK2>srs{qt_|ep49+dj<@DRE8k} z4A;+qA$lqpD*gA}Z2Ha<%|1WfLR=19L;nPAU5Xya`_MVr5Lv!Q z?HV0IKlHhsut;E+0#1)@5{9)17J>@nhbv{EZW}~*#wMX*o zHTX-_F*Dny{Euk=J=!-u%?p}G`*qXpqbn=zQ+6*ftIu;x*Jdj4&+MZdE4at-XwmpO zyOQ;0+`E7)QOmwo`ie19cJ^)3-)G3|2iGNZF#F^5+?(DvAmD5x{oGHTZty!t`9*aD zbv=8?QQz}m7{jo35C=}ojA5wn-F3+a-14|JMwItCN6k~$b?a^WIk0Hc&LegrhAjiTiM&2x8A9-!|v9JmqS~@jw<-XtVhiFJu~eC zUSlu#)EMtMJ*O3xPYs`@d^hocf7}0Fg9Cm4*FDGI|G9Yl{hO1#U(iB~AcC#rzUhlE zB&IQkyF9?rg#~OBz6$#?9~b7=g}qDle8(AC_Ia6@r)RYi^BjMcIT|<=ne+RX5wN%I zIqW^l%bU7(%i|8L2JDvJ!zEwOa(?~nOZ%Up?9*AbV?P;S{zKhv?ZeLV8y|Trdx8BS z;DvVUw0(0A_ti%CMU;oc?w6(PYXe5~E%9eyt@VOGnu%Xci!;wt80tO2|7A^scZG%D zIcYL;=BwRhva)|R=az*tj!gmW*~E!yGpe$u?Q37tI{!L!{?)4UgH_7Y{I)~`dN{G2 zKVqHu$i>;zNz1jSOtbBJ*d>2(JM$&|jRW;h)qhq0)J8`uFVSaOb+^&sf;}#$>s=_u zN2RVc-&;z4THBcRVJN3QgTiQgroP6wvSQ~%+tqeVto2^-i+!l1U7B{K0*|(-@Ko~P zlQlY4rB!kZZAB8VL8HGMD1>|zeLHa^_O9reI^gaO=i`i{1t{V9zV-imAj z&u!W#HobdczI=|2-=8D>N1eAM5tQJ^EA|@M?^Zp;n#+ga1AH#dV=7*#haK?nDJJIly(bbC;e_Eb(n+cme^T_=^<)sG) z!K=4}$K5pmHhYg)&b~^ML(% zjU^s?#_rjtbB)8yhchAEx)*D6x5BG%L&Jp4eI9nb@$LUp=UD19&g3=fzo7j>SCv!t z1p9-v-qc5Re74)JG2xB2*Jk40w(p@|KeWQoit$9>er&Jq>wqV3R5~er%Je@=X`}jr z_Ur9@BDHXAO4lGf`fg$siJ)Hnp?{v^3D)JJh|%It9< z?TGO+@l#nVv7gaALDlrul~Qbu#Vcz?|^!`h6&F(_{RPAn5TDY@6Og zq4qx9D`L}*+W&26<{tKBo`dep-o$#G9h8K1@ds=XY;PW2JlpK8T)-L50XaH_!Q?N; zpT=m~dFJ_jMg8t7ObWlkuJG#o#_$Dw)iaM(e?a#ci4ZSFXIAnwj)1LCPtnJeNM2g| zXY+LV%kh^6e*B&w$gZT1#l5Kq=Ho;A_}+zne1REzHsB50bMObOT<8xl4+M8J{Q-FI zx$?f)S5ybEXT2Xf_d;i%--6r7+Hf~(!y8x|&a*bWmbKw_)`r{4bS|>KKEymDHqtLU znS-!LtZ2@&k8G9P$PTm5Mt^H1Yp){K+tJ^s{2*5+W}Ee6_RDtdx@1WAyOhs?<4c6+ zw&2&pIyYwTSEvW_;EHjV_kJlYVsdqV(^S3jiMR)#zmd7~9OQGZ;?>mmj@Q>Y;%}%g zMGyKeM$fRPYHG3hV;u+F>3*u;c;}Y&habFn=rV=5^2zR%Kz!o!#Y77Et7Cq6 zk>)u=;j@3Gna?$%cg_5`A3Qtjg>#yg)m#_cURcL78dwrJCs%mscJsZk#WLTet~saq zM51%VvLh?VU!i$*%^UH&Csw>P6|C6e`^$$Vb{6~6v|s&=3EAK+wd&e367$Zt(q7Vv zdMulW{*Dl_MDDm)oy|C_!}1D`*-uI}9iO%V?Y>obh8WOL@E!fGG@g<7B6$;(`I(MM z?x3wZ!n@e|d$7*CDa|~guqE72i>}l-%c}+U<%Dg3tC=6goe%Ez5RvtzCfmh4V@Ue6 zd;woXzdK{{6^*klf0{V1FK^ZA{d?e7J(YS?9__o|yhnKde&I&3iUsC(U*;Uw9@@AO zScduigMwImw|UwYZCUvJeOrNl*1Lt@6B!3yM`|wR7TycQI=?MNtitKLle2ms2*#!E z9h|JVT;%?AYXAD+mAhoJFJST^Hq( z!+Ih7oxp!D`0WJ0e(*0^PsgWYP@WZhS785lxwkD-=3$$BcYo_p%Rj zvstT+${p#9tTJnrXG%|Q>8Wkhg<16(j7?D6anfEu>G2xTscC+Dw+{VOuR2UR(S@C% zE;Ranomf8iLIaEWeFyZKiDRLI!!xkxK6uKMQNGpRfXJ@rH?4}nFEj=%c`qfa+cH)v z*Tng|82y-76Q}8*VQxZkuRKco|G^q%Mt>t^eJtcr(q2AR$8QUbh45tWqh0pQNC$O> z5-HB_#+)K_;lpnT*EvJseG3YQaCg1NZ{?2gJXVo+?l}3j>SG_?)pG>2|DQ#}+vvSk z_PWwH_*GbbG|9X2w6={MyhQC|cDDq}zaf$0W^LEa0Lxp7n;CPfSftnSwD~?odWPpQ zzEhUFx}TC+@jQMc_qD36&2E9ORzgd3C->h@@=P{IEh~v#q@7vad)N-v>1Or=Gi|+b z|5oI5y+p}7n`eyguaF++Il=e2*q10z2OdrEj7wKe>n6C%J42Zl`8&$rPxu?ZZ7+Kw zYWOYftUCbSIYLgAi+W=4fA)a~s;8;^pKvwVkeA7qmm;WjaSv z|AaW6{$5(P*~aIH;Cr-`eGfa1pMmeecjJ5T-S{JXH@?S!!}%EUL%$^SJ=TT3$Eb4T z5pSuyKn$!dcRoCsv?4jnv&Hz_C+tt|!SCnn#)N63mAi++Hioqg+WL2%hWE6;Q{y{>Y;V?cTn5*Q zAJY%t@$XOQ%kVDioA6+wxhA+Byy2IGei}M7#MANb8zr)6V#Qu?v(ESRx98*s$MGUh z89bO+g%53=JaH#Jz^wCfOVjA*I6tj)n#dc|Jf1({3EhJ+DKgis@DTIYkcXD%)%V4> z-^ct*l%J-@hd&I?ZN-yZk|uy^P&D?EbI$cf0%YwG5*~e zBj>|-E4)paUunBypZ!&BlbGEEIxa3xagSFg?XA`|hTuOYJIo#VBWi=FGfrzM(^mOE z@b%m7%^w1nC*E1Y{H|+Pqoa4O2h2(PT4XM3Xy#5f#=i#qDu2yuuJI*FzeD)F$W>Hj zY-}?S%s2x^`QOuh?#;E7Wv`OiscPKS*SLhro$az89EY;N+0A&N&ymID z{_^M;^5WeAUYF5ZIb`WK&XxOs6+AR*c|PEi{g{kR@gTdMhVocgn=zkx%{DkxS?G{+ zbq#N(Y^w|~mQBp%IEV4(yVx(mIwo6hrX54|q6w26O|_$YlD-Z{CPIX4#$M*p8l zL&aOD%g*mtos5p&sWhD2f{ube3tMh-qn<3(ddOR(v~`o4jEKdaHNCGh2Q1f<75=`C z79yrkoGyoM@TO{HxYL$>Q~WVnb5>GmU(!Cy_7vQ`rtttn(~3?g!vtS(25af0>V)Kc z*6X3Co$PJm9G1)3nC!?k@R}1$n3xy3N_m323Yy4EOTYPzn_Ooc-wfYL<58S_Ps--r z%)&f(|K3H+ss)^DtO;7!u9KR|T8XJF`uVrW&?qt9(N5i4w&^hT8JOJ6)RypfX-3t@ zgC9n3F?b$VdIWzzwf5;n!JN} zH}^FOcQbH)C`iU)Hns`L2;)$CR}(xG#<@IVW_NEM4E=eH!(;0iUr`6gmbSjt@YJ)R zeF8?us!2DE&_4I>sIU73_9hem-%^{ySDx=;oA_us@_uQh(rTw)!Ee^z#XZSf4zblV-?MfDr{WG}(aD$0e`s{P6g*R0%i<{DO)1! zj8C7}uIMoE2u&9shEMB4U8d_TzR_bmm+Wsx_p-+UxKHWhR{Ajg`KSr<4o*{Nh2oAg`1>k#;p6nlbu0bT#t=4h`d&BX4T`M$=v40QoTQ$q6HAR=ocwI6nA# z!v}A}I)2)1Vc%$6R`)i_RoU5kb`Bj8F*?FUUqC13>0jQ~`u;3;BpW{gK7Zi>zAK#O z125gSE5%Lxi5ut(eWW-ouPeq)ra_h+ItuHD6cyI|2#9f z0d1M2Ax-ZOWCo@{$P_4z6=4dr1+AK1w5aQv%M3{@kRb^*?JsRdpcNH0)>i2*t|ONg z6NhTLke`|fc{;${H=atEM&i#A7 z=llJh@A;m~w*E`I~ue{JOyq!Q#mpYSp13J{YT}D z(xDU%{V1KzoC?3gxTQ_vKj{{&yDrEGx5BIVdB?Th{T7jH%{i$LVn6RQeUvo)@N8sm zKl=lc1-iOd_jJPf&Yiul-VwflbHaN|G~Z)6)Ao~a2`-*h5xBpzyh}X?vfh0dJGPiU z`q7yubIB3n0o^D(p2~+mF7->V%F4+DV2Q|-NWx|u)sY~!il$r z=HqgNw-Z{|wK$Mf@P0kKpFq~eeZFc4+FyWYyZ=^gZrycm1laq=!Y*9HBj{uvZ>o%ATluzQ;a&g# z%>Dw(&{}uvu5*qu2V8ypo-M0GEBor08zfDCPIso%Ge--7!+01O1O8p%AKaFOuIv+S zt_6qeAcVi~6JIdjYD~m@oc?_Pm;GL%WCc2qV5_{=RLE8UUe;7QDIO zWUbB^(1r%)c&k~*);YF%@RI;Paq#2%_+kH}x3^b&3lR1$zxu^1jLUoq8t4A1W>Y~} zoHcUIF`nhzR~_R%-~0A#?Chbb!%kbrK9b06><+}qeo#AvYtwD5md^b3p&Fb2hiI!- zCW6ax@~(B)*;$hvj2+*)bpV`ITe{<})011x>K$7-+rJL}&1GXti<4#8iptcdseRpT z^x;PWT;W=|3cZBHqkA4V?}d*BLN5C-2K@7M$T)E1$wBG?9}yoP37emPz&BzqI*43X zU$fVtbyv0aSw~X;=}0c@r{CH8uwVDvyLR5iJtwyBr59y)ihs&9o&~Z1xWb{k7}p#6 z>f}n^hOWs?)qX0?2W+}5dvz-99XIu%3ciETOd0g&P{u^~?WA8{@~#(j@ZtN$a$C%M zkk^Lu8^vm$`u6~SwOKeqcCLlK8&7UA_55_NPc1I(iNsE3J>1~RCOLtQe%2$voeks^ zcpatJt3ExW`rDVyt-H?Zqi>#p58^gIya9enB|j&TugTW&vh_J%wmzqRRejK|%iN~O zzH@KA+KPTt?6n!&QWpE>J`f94 z-IN4gOcGluvLSaT2A^6@R)J#o<4Ze{sO~AbKOeATEW&6!91TXmCV!lbjZKM z=bRL2`c`=N&IS2R5*eBFY-yxFMEOPP0_D}39P(0SXk5{LWqn)B?n4G{qcMl}svjTX z{Gx2lKQfKr{NAmDLHh`MN_9bFv8q|L9~ket0+_)MVROgAtaNwLPn^N35gaO4br-aw z+O`AS4l(Wp?T`)@wBs(?7`Z0@pUO|(3ENaMGrtR5>wW{i>zm&x9s<@6(;o0Y3jU`x z?v8;$chWe0z(AfSEgYls99JINc)>d65869MAIhdWRqI#5nT5(M=Lx_?6#D^ZVA(jq zbEdvken|V8stxj*5Xl zj>4}~=}+yKkAqWWyorKWog-)7$sWsBd^)RsqMW$)($bdi18e~ZbRQksBf<*%6K ze0J_EY|BaQ12Y}`)>2Q7us0FbgkQhQN%uLzE{BhbW?!8D(t?XkxXN|@>G-|d40Lx& z+OKHLUk)A&xY0L~MgOnDU*_XsJ$SHt$%F^uzCwFthx#%ua;;Bz`+_ki_KBc znrYDQ@3b)9yRA$#XU{krUk}N$C$b0{kdBS*hW8_~r(i$X39VgG;JyGL5%3-V@~!h$_*cQGzRkz3s7 z#oYvmsgymhak|-ET`O1wU+W$xYvG44G*0BMA39;-zS7&H0$fwoFXH3S9=oUFSGhK? z-@(&e&`Bi98N=J|9u!?TXB{@}q8;$bown~R6Fy9(dkC7Es{4H;GbJxcqwln{mpgmJ zr?ZPiXF8|by4$p9pEmy0yr+;^ZS1AiKK_O=^5xZ{;X=NN(l@PpovdVSU(3*m%0@E_ z`M?^(w(3y7C#O_D_`6at_;Tq_8cS(YF@4ffRb#%1Y>v?XU!aU?{UXU1f2+3G{->Vd z_W|+#i@zXELVKrmCQZ5^@}og%>B|=E1w+`rzV6w;%x?8z#els}CuL?t4uu|%)bb5L z=Ky1pR~I&Yo~qC0zZ{}`Gb6{mI=i2>7{|kRoUs(mhzEN47vbH)Wduw9kZ?p>E(-c5 zl$E}cztGaTt_Sa3;@2oo>3pE~$?cQQ>a6-5#ly}tkoXQ{5 z)@h^4gyzK`;)}i&&{C3h644HNl<+jByyv5&hhJVXbd%~F`aXQad5xj(;g;Dkfw5uC zm~frOEsbA_H-RjppG*=zwn7UZa!vLFE7Q0WfWAtJ4k{XlG$uQ&3UDv1(dq!z8*^6w z&{E2Dwb#OccS{qE;M)u>`AoCMf^E$2#>Lf19u8SuVrc$Q+P0zBFcR^gt4S|Im5rf9gADcW#(wtsDb)zg8aNxOd|ab5`e3_URvG&+-xW z>G!iw{}B8153+}w^Se%tJZ#2HY2`|Pcr&3=tiWc)P4T+-jyF*66B z1alOH>FkKYQu~bEx50ic_Qd4>hrP?*o|tX^o*4Ej+r2|0es53AHh)jd{nYxT_QWLT zus0~GJu#L2`Nstd^3m?Eq0e&wZ}VukT;*MpTu zen0)?ODj%$gt8~p<)h_RpSZ}Bf8b=mJ8Cz0`o3T-kWm9Fv-5-Kv0Jv!EPyqN-gi_y zIt=To;j_&}f-khtom-jp?&x1!vF8V-;-2~?*N(Uau+D>@4hdGqp{0TYSrcZiU2n>{ zFBCWAT6@!^`w4<}NFSjcKZyd5&T22Y_K`>MKPnkO+opEbY`5PlPhA74pC>WqwaEn~LflzWc~obMNdMYXwJ{`!jFI|A*RLfFsS_?3gGVQRee1vjDfh zQ(mQ)4o>{xA>Ld6?YKSrod2@B(>u%W=0tn>e|5LF?kagO|2a2n`VV6JaT^_U;ru~& zt=28_Uv>A}vHJ6FUo@icy}3R4e{nPUe|FnAuV2l*-X_vuR)T{C&|r&r{;^q%yEVh} z-B;W8*LbwYuHu-=A!2zdI%oERnd~Ed zQ!8@eO^a7DZ(+X*^R+FEJFLsNoMrpsQQ?6x7~WvLjv(-?=kxk@iLgj^#vC`}D*UPWDI^|fL>)o#T;L?CDgB%{y{^G*+ z(;uJJ`O9G%a4lW^;{;*Sfed8m5kft3ShHs5SyY?)Hk?5#~{FPIP8fcl!cUO3?8qmKNKKd{?PV(WAM z5jPsT>KO6g&wF#+?@iFon?x(5`9IXLpeULDpg{Ed*TO6O1^ru<%fB0)Xus`4(gCYI zk1v`Sp108-dN+nX7VR_c9RG@&6CEChcaFmc$Kjdd@XK*{;W)f-99}pM-yDZ$!q&Ft z9;~{H@A@!?&$T?v{Q`PFY%YZE`2Nt=)uHc1N{~w+)8k#y7~$|7`#pidqcdy6Nd&rr z9n%{*pO>_>cA@OBDi>XqZ%Ltxv|2TEK&>3rjTUQ5kCz?YBOr6_e_hEBi_SV&+ub_RVVkfkkqb%eY{12`o zaqi~?FE=okFO#2d^6Ea3>t`b`=CW=;+_mcefMz-K+d#Q%1)Ju$I!{&zAFzE%cPZ}h zX+4v&_j>(Uv`=}e>+DhaNvpQ09KtQmB|}s`2cgPBi+0w?CSlIpc}Vt4(SzERTCwm% zsClP72dg{n0-B)yTaZi1+0C3+2vujHfg0{fnThSnWFmu?VcXpX%(Uz z!@2$z@WFlr+FPsp0e5IWv#Ew}xzFJ1-n?D9jET61TKBmPX0KZ-+BmRvz=Spl$J=Ab zrYX8NZ)u772ky;7k2@6O+*UODaQAm$%zwej%}Wq)3wqf6TA^(KJ1apXU*{yql zkvk2|yVutCwhV?pni?>sXiksjxhCz-tIT?BGOg_YurRp5P+jq9r3+V^+3b5tY%9%I zZehKNC-Q1s=*pJ+?$x#Li;`|tb}BroHa)4jKix8b0Fo|M9jkmb`wJD0$YW z7nkO%%FXG*Q*;Y^4?p2HSeT0%4yhlUxec|>EY=sG(H(0B%==zFV4S(DV+VNWgc*HL zo9J(!7oyCs4$ls8r)?Yijug+>VaJUXq`y-4B;~)T_@zbMWmt-wyp#J3is_Fs>gOAg zx(jmgwr`l!Hy4sYc!RgQBQph4MaZ1idO$b?E=yy;BP-9Oc*m24_t71JY^CqSbLvC* zpr~p^{xQXg&%}>@*}BK0S~70-<7SiU5&sKjWB_++IP55*KKvipW1`4D6sT&=B^}b} zZWi{DTO9us8M6A=wTl`^8`1b;`FnSqdw@su9KkvwyS6nH!b(4>{sj3GDvS4|%0kZ8 z^IMILszzn1?9pYaP1}$;o*c1hvdGz-ZEJlHZttum+`=XKI3jm+e`iAB=zaCVh1xuO zmMIclpl4og>CEpV$?2t`^S>2ck!Ib*>geB~{seO&Y|f@wG|yGGGr+4I2kp4benQgJ zA4@M+ENBO5tt`*(w08o5_f6^_`XPioJ`em<3;*`c5O5&e9J?l7 zf2<*%(3oOzfvnR$BufjtQ>Qx&19ei4?myw)oUNPz*WPDvSD4r0iuy@o@6S~_%WZUz`gEi1<(wFn~me%g~zSX1pB;&Q0NpxmmVNC5^al*`g5c*$b$56f%xlMSA z7uqE7x7qS3!^&{E_ioE5418va*vmqh8Q_zCULt((uDc>48SZe*6K-+jdbA%h;OMG& zeD(_-e{okX_{f4ETc{yw&fHy)f@(QoaO`~7mcyIHV-JK+*Mjyey{`mGl~N;jM( z{Yc@V0n$^y*B{coUMvz0Bs&~e_q6JJ&W$ll$lw)K?D0c0&D%5FanN5H`!@GmlBV+Y zo?I@^axY%kIEfZ$lX0*0Q*MKm4Uz02!@WtSF%tXCX_CuB535~@H=!ekoSTo-eqbK* z<;J!Wz84sE4z$hO)YBN^dm|eMSp+7Pg)0*mP>F2mf%9t;?h&{A)Sho`W`+PzCW%OmE z@DuQmXr?M5U3Xi(`j0dVk6p2-&3~`soqZfH&X9fzKJA!~Z6sl3)0fR5J4gL0cXViu z`W4gPx@*woJ7x!gQ~MWk*hO|?7wN+$vK`w=HnQ7XjqRj|{2|`2jE25?7h~`TJY6n- zBXbAcH^AKuC!m#VELy?$fY2{AxAyHM$&}_*%&E1WSg|laIC~b~*I@mfap`%=omauS zDO4(XT+2GgG~GX<`c#JAxf8plV4i+)VR^^7%f`;d&SI|s_QG{t3y*GTF=ojuY&)Et z0iAYju7dg&pdZ24S1Rnxe)D>{sw2?ng1Nos^~7W6-PRK=;%l3$xL=<4iPC}pLCqb( z!zSLpB3wj6fBZK7OYnbDe)wZ>gvRqf;GT91(`fw7C~WUK#=olT^Izlc z8s@s&dThD$++N z3UFB|*ea6dX8I-puB@#}bXJHrTOa8roC6x*FtVo_){;1vGI4u@@9(Ef4gKJ4x3I69`kel$TJ4hV(-7xev4hk%#+RF1Rn>uqCTw=_`* zzid^$EwD7SqBt?5cqoKh`-k9>p2}6ufa+FyzkjYO zOozOyrf(8_f9XovA-mIcviC_Q+VP7yf@Gp(xZo+tN}T>`dDgFk~D4j8-)|{C48K|S#?_5R!jb4gq48TH~4V8fibZf|L1Xq z2k6@Qrf`A`_@vsSaN_qVEVUv(G^8-!hNblx(KP=0fY-p03Et_SS>nBd{`#zNHin+Q zApEGV0{Uj`9F1$>)wuJIw5z(Hygw>@Ox`JlxEG$0%L(=gm-%Jvp$x|0QF7@8r5jU@ z-78X9mhy{!fa8~A;P`{$unTH^|FYxg7t9N~krfW(O9DA)X{?}qR~MEW8rUvcz6*Yo z&KS0IwZh(Sn3(%G_E=;S?)j9PFqI!StpCnj_c&vNYxk1a@s0dXQ%^N%FH}18R`!8d zy}k_{%#Nezw3;{AwMXJsLo3pwhjm@zbpLX-`b>F!eQmgJJ)KhXit+j=_5WDZ% z8%3+3C$>+W`-Hu#a|!*F5q@RE6_0BTEwJ&1kSPT=UVFdHnf*i9Y_acpGT)BXqLZLb zjolU5{43X8%2}#lZ|!ButNuZ!TVuyJ=mK0l zybc{!^+#nld)(^KTg1C|ELe%`SP^%j-7@-GwyV{_+@R#0`nKmb-M<#0&s^pdb-EW9 z_={Rd1JOG*tp+{3jgGu`H2ihlnwIYWtIBWF=_td)f*401H0xQpK?8}m+ zlA}T0f;--sWg8uaX}s<9ZHl-2i`^gueDJm>_bYSBqNJ$+SCT)hht=D5Dy`C~O!d!L z-Vfr|y};a$`6aac7CS$0BtQM7^n|^jbhs^AKa$Mm{ap}LO!{dsW(T|(?q4lCVN;n`ig(MdQv^ewR>BS!Y|0zp(V(s1@PT3B~!F+F8t%i z-m#Utt@8)x?>0Jj>U}Sbeff62@p<;m@A`%28VTkaapoF2YhTS=Bf?xmGX65=8q(Jt z<{FoJcY9@H+Cy#6QJ0UKTP!XdL)a5J$hiLk<9jjdea}M=h3mM;GWKYoqhwZ0+h{`j zt*++lDsu|UsYp71L*4|xNEQ2}rDw>G&N55wlt0z7=!4{CuM7d5_I~%jCCyY{M%p=J zp^Ow>3gz+`x~+;BgFR35JZem~ddQftM+Jk*E*MMgJg2Y?R@aeUmNH8wNFP;LVfwLc z0*4XC;amN@(uvO0dqviqclkZzviyV{h>uMjmVnlGyz6Kl1!tK#2 z*Q`?;sPn9)XO)@b+p>+B&gxKV+oEi5OZiIe7tG#-33N-)M%(^y=u&H6uNM5#v+{Z2 zGxUQ)Rio48KOg$7(jgIe1as&++bj8AyyaD&KdS_1K(E058@rCG{SOuJftROE`WDH4IL^4R3BM`ofgj*?Hm zRsPT>dvJ;Swf1--vU14EI^y@! zr&jM&yq;rsa>u|H?gzModHZ3`5amqC$*s)g_f*dn-|9|!&C^eAF^8;sCwHH3!L~KQ zy-QeMI7j)j`HVI8d)miTj<;3`99s@@zUh#E-ema9y~@;GIf@VP&zku2f(^X(YyT{8 zR6fQX29K3c-a5_}-;t;@48Ipsa}Jl3Iz^s_rS!^}B@)HdUo6z8MZbKAFv zIaM?F%L5-c8OZInbFAlxJJkDdZ%DdJ;^C~(IbL%ocLQwY9B&R?0@w_=6)eG{uwKrm z2Y&FNGk)GZyq`Dr+v2Ueo^(w=b0_v2n}Pk(>s-d;HjTB6$&Jvd&ZeOYVyk4|hCTns zS1xrvHh({JF!Wb&xl_6tc0}&zbz_X{Jr+MXYd@Dvmz^VF?YueZF#f!x5nYb6S)qx3rgj@~If6nyLy?HpGfNpuz3!8pUcwA||s?AUC$m)3AEE$32z6PwLyzrS*V zDS(GL*-y-woLOcsVd9Oq=cA$9^A(5lkKT6lWXWwWbcb$x?qrF#X0&am){xOd$|NVG zn+R_3RL#%M+oZRgm*n0CaAwz=*{{P~u1s|?w~N3>-xb_y`-rY?WzG?mRn^a3JpJH& zi`GB%jk>x)op~-SqxTK;IeNdfzke>jy@F+Lr4J2YCoN*%aHL1~bS=H@?j9#pgdV*u zr#t@><_+<==%IWcg*%_3ZXLGTIicB!d69k-5?Z;hBwyl~#hlnhpQijs3=TD)IvJ$B{dTmWOp*gYqAhg|xsuuTPX z-QJaI6Z8d~(D=7GXR&=0T*f<3VEU@jW$A%PmV3u8914Y5t1a5DedJ%8{W)~wFyZAF z4sk!4?wW{zud%Q_gvH<(KVW@ywx>S8d__duogDp+|BezNd(j3&VG` z*)x8vyMAg+&eFN=fztN^*!O|moqLAV{>NgA56&(==_oI8vI*6Tjz{7KL-D=sv+W`FUwJrW|(%AM{n>Y3n+V|M(#r?J&a~2<&UDEHE z%|I}PHpqF7H4zyJ0;tGw4jC8|&9rQ6cv^?3m*PIsVXYLZ>E<|X|FlX!AZA@?IJhzBB zo$5TW#g3J~!KN~=x9pi${-o>!`+rhq%nZYNY|C-vnH{5_KCl&CYejz9{FP=A^uyZV zmd4DA!GBJD9ll{Lz1%f(cC1AAXYWYgCn-35jsaIm`l5XPzyNR_9t^8qaP&2^CQ?ToX9(s#S{*CPXSr)N zIYV~`Q%;I=je(A!yyzHfHSZy>9d{2rVc$O|T&N5^jF}b(JHUZ($J$YFH-#PJ?3hYA z=A2n%*;Mse?hY@l@S=CQ@Y<;JsPM%JlZ%YLA4#&GbgjF7lI$(z&XlJ=u>aW8^y7fn zrlld_z|C?NWF~W@Ec47~1Y^)9y%)6U3EGjLzn9BqIb*W8h^brg*;}!}_oFk%61&av z+yhE4oJL}~!?q8<53C{f)o5=@345*c(K}o&`Hat;zt1)3K4-9ZWu^(8%e_4L0hNQB zRXM#YFUlrXnB@w?@34NXGDXY(PMP7Q=qbcW7yX_IohLX>C~fbmd1e@nt!^y$Am0LA z<(K98(TQzYI^Xpf$|_PjgNL?Vq<8vf#~4{-?-c@{=v+VUFG`Xxn?+`foHs=`jiU?I zLz}vPp;&r{cOU+U4b$pXAz>7=k&oop)(;;(&F?-woW2>Mo$!{J%?4V#N zl;d6+zh2U6{}#CWHTS$^Z2iEcda`5AW}}bRAKPO1K9-LU@OA87tr>ggwPZthe~7aL z#yg*XWQ8f?JuZ9hX9yR)Sy&3%4Sv`5u5ip_MWzvI(7iXh8z2Ha&*N(E`~+vYe~S-zeJXb-rvNxD^~n4du$bV z0KMs*JJpZMqdI!Gzv_WruJI~2=A!sE%gg!lkf~$eQdoCHE)5m2=cGEuo!;*>+zZxw zKk0WL3`e+EHolMaCEPpulv#uuru~CUOGwXMlHBt}dhUNJFK~%mK=1x&}Pqrr$7C}#-H4e4e05`1Kf97`;$_D{1s(DUyKW7 z$lcQfcczVd*wK$;q5O}z+vk(WO?LTmM{#MgPCU;3E3Kn^&#Y`Y*gVT9+w0@)lDP-)izp!!P7X zpS9m`TN#Nej64~Y!`_TPAf@?Ut!vN0_ck9a>fQ4EgYaBLeSGVz{DUSOUuHsyW!i(+ zyJ|3;Nkzh$y>2*jUp$<7AOWP+%eXVPR(J3+C(<5&-8+Vk%iX(sFBe23~6!iHaY8l&kU?pe`#)5 z2cFLZ&yYTN2EW{oQiWT?{=Z7we(D|7t|I!6`|eez`tO-Hd*ha1r;ZOBi1#! zpx~09_>(CQzUOUy)JfR8)ekQtJmMCMOUgbVcvKhfpYY(Y@As)rn~s0b!ethoY$R6n zPTE#<=@6}~>0Qa$$s+TWOghf}VQx+QUFIY3Jo9?H&-laK`A}!eSj9RNycf`DVc+#0 z&OZo_|Bil|LL2Xer@j!~nr}5v*4H3YO5nSq0MCj?cGgulnj+Do^{1;z7pYtt{$oCI zg(($(Fh-Y9UljWD_~{D2KUz%Dky}i$U|JgbV?MRbIQkwQ^+aj^qsTJ&$g@pJE)n)! z+V|n!EpI?pl;(T4?sR(Z=Xc*5z`>lM%GH!rTsH)LEL54IMd?kIN7x6-Q#rt$uyT`T z+Wa>7o;!?uf84tLCTzn8%mwn#@aJEZcQ8)tIUJu$TkM#Lyi)$DI+v{VLHSi5r_ZM% zOT9HRvS|E4hIny%Bh&Z}tL#cAY3UB(+`sQy({}1vk-#{k6rT$KKu0qbGa+$E!0a9sP3$HrJxJ z4fSrr=2p@{*~vjuJm)sE9Xsri?ojW;gqPlMo8*qOJyU0js|TGc8)Bw(_27&R=D!^J z@a%r?yY0wWzEgO6-dTfzSA!q(ELM!{h-jwSxRTx`KHf%xVN$< zGEeaa{l{^uV~>8w+^ux!GH|c_A?HW-UWahv7E`+PBymoPdu)y9?_KDTrE^ZAJE;6S zOsRXzjEBs$_!VZe*$RCnoo}nP#N8GxqpUkPvmpEy&p+v0(GXKQ#(@iQleiVcB^f7^ z@F(8^V4VDVyvqDMS!teKUFj49Bll@?r)JE2BT?nl06%)2Q{&Eavcx^;%4T;|ZP2#> z%&U`Clv6|6O7nH{_<2e5TYn5>OhiXtV|n5aiZAb%{=#_0ywl=ntHmW_-|hJs^pun2 zTR&?kztP#GciOdD^=a&)-6bAgks06>{LZ7U1LoasZFzD2cjgSflk2s&#&2&GI`!!G zJ`kxgPsS_F6VTCa@Efk4XUB{O6IEsn<$eP_wjCW-`WEe_++!A>XP}3GQ^KEyS7LmR ziSw-BPWxn5q0edDkxomQr1{lI`w3S+$<|4Hdb@EhrmfoV&RoHc{ovwkzb~(K)~HX- zu|nDr-9R%xuy|m8W6D-BKH_e7bq>T4EkOsfaebY|sY$Iv4|o80`b9U~140?3d6jUl z{wR0ZdkDS24}XyTNOHqj-9Q`8Jn5`xh|WlwuPbfu?g8}pIla=&oyJT|b14(@_y?Ih zNV}Sxeso@sj^iHOoPmL6=Zv9@`?SJ%)!g_C}vcqg^mj;WVPcQ);e9~%|smWeH;ewgUGLW-s+Ln)!mYcWcIhRwW>zj(YebgABbcz>*R>fLYe53DT2PrrW8_LU!}b`ka;#vtSDyq10}ihddW zS+ei9YO7x+X)I2Dq;(eJFc{Moba#ziCVVcs;aY|Nr`5N;2FRXyLOP0UPdeWrduH#u zdmL8KuxUP=EJr?g^CZUhEoOxiOU5MgP4QW`X&gYt4$|-3$IbUv)+A%;_w}P&Wn#S# zq1$}3$ARBhnvzSIXWgEU>^5(9T3LhS+@L8X|CFmwnrUmvhdpf{`CdcYN|{Sxk8<`k z)|oTnhxCmx+5P8#5}R7mv}EpFJ@5E?vRItrgXvdaGJtI0doeWT%jo(!k5>g_xzW57 zndx$7=|E$2)BMJ0dVBu2(Cn+|ztgd+JrHC5hHS3{o>w{XWDWZ%q=QsBA=-F)e>u4N z7H4`S(|()YF-)8PW3EV6Qogm}igz7X>1iMLIz-Q)Ow%Sjf0cJ|f$reNeF=X^?WcZV zi^s|vf$f*TwjS8-$p1FJ+k;JABbcJQP1uRWYrsn-c&IY^p3SGAgJKKYznTN~I|3HA z=%?}zz)h-m&}m&;NgY;hnE~*PE=c&N(7S-m(!hS+flX!ExV`v8f)_pxl^=GlQ(3%+ zd7qB!%s6bm?~#n^a9*KyIc;{Gft?F=Cug*o-|FmMW!C)0rVG2bnDBp`gl}&V51G&# zmYHd9sdv=J;dFzlReE_8A_zniRppCX%%u&<>gvD7>TZ#`sfd5@XUb@k?( z=tbZ3)-}?sL;G>Ghvkh3>phA`?#V`Iz7>?2pv*{Q)5DY*ifFDEBeB*B?0yk*Bl^~j zUYRMzeZ!ev<^#4&{6jWAl3i-1_Ad*CvawrVPuY>kvfE0TZ@%7T|4qCu^PB2$S809N z-ch4=Jyl<8p0wo@W!6SU?2wvImb%u4sq?qI+j*$gB`OM^gOEwAy~kh+h&UYv)+ z`@o^%uZq<5ZUc9(4f-WQnbna^hcmLlg9rL$qs3XfEz|Z(d|oAUoYX4HWK2Vj6k$zX zir?!O-pxkFyS?#P?_SC-PAuE>Bz;kW9pFED!d*rElxSc&~)%k9kju%B#8Vhf$IRAU%2E2?nvw+L2t*7jPPpzIlC z5#N>)k7=Jk?-f18y>~oUVjA7pt+D*WfvsKZndu#Q$qMGUM|zBYqU>bk@qK2?#|abwbPi4sZEU4 zkDGyv+yUQK@g>Psm5<(E7hlC3GCTBBU!P`_aH+k}y^N`v zQ;DWlN2(GjaGC|DDIcfUCsQfl+-h}9&VEh^vtb-oU3R{; z9T_b9`F7;+O8CIex9nK^l;kDpt!^o}dH;&=;)frWywtl~;&y2)S31jYq!UimkHp<0 z+-W}p?>)kU@D@D1Tf0Niski5QxAZu@U+0Gn!Q|GW6U-Sh1C6oDw`yXAXNK&`nh53~Zh958HU#ygL>v*Kl72&y4ln{xt41^yE^bcefMkB%ZC6c3VA% z_E>nB$60v3A(&+Ez`oo@UJHjEix;b0um1edjJPRvu1dyO*Z-r!kzZ37Q)w@|ThJ}= z&y~O2HFM>kVLUj1$Btn$xKUXQ#V24l}T-lb{Qt-J(t3CAyRCj&J*=NX``TOAy6a2aM-5FBbqql( zwbEIme2=6Yi6Hv1`f~Aww`ooQuMTRzf+@y+(2ShBsNd>8z287jeW1rdxAgQ>_^^Bx z^1c<_S$3>aYz^35kST+PxlH=is(N+6R zYkDsGM&6xeMYnM}JJGhWuZsWd$Kcx0E=3Zz_gXTZwnV&aAGjDH*I?2XZdKN%Y4I-y>!H;M?c~-)fsz zo-;+8-rEz7o(`T)Z(Hj8s;BnWGIWlTBg>?#_GWlLLfUY0*`^}O>8lQR7G=WDp0-+Z z2I~~>YpZqkSe>b8)Aq*UbqHr`W34&8dRgx^NbTQ`v+Fo3}RO=(*x}I9Ck2t?-n`hRe zD{qL@I=>)nEq3HztX0@N^IBx*d$XitY%7j03r!<@H)Zc6{56D4U)h6Aveqd{U`qhL zlH@%4tj9#o8)8Hr(m3iA!AFsmJ&#_GZFal*CVtDsYLmwD&{ZdGSSWH!`U>=1X`8)(wg`{ro7)z>~yXYqD$Qe$8D;=%=_d-pkzejEFh=6zeEa$qvdYSV#Gobn(iUUPrk{=|=2I&eMP5I?A19{5lFY zA<+rvlF+Bh_x**|QJ}Y%X&oggcxU9yT=k>bYS&Th+()=ne^}e)8u5U0t7iinSxc$B zV#2kQPhlVR)>1+*>srb^qt;TiX7X~ZrR+E3*HUuBYbk##T4YTBiMJ-nWEFucze3t*6`<;6ixt$B3lb%X$jqD01rmZ9U~`l~=HyQmZm5 z`%S5W;lmHewS7T-*c$fvb=ADYI;5Qg7xE5tbg|YV{k0d?4dLU-)?R4S|9b7^^n$gQ z)7y-5`u}?EqypylJsIO?3 zF~c;;y2{$W$l8nOQTBj%^K!|`3h7Gm=Hvyu7qb>Mw3KmFd;F{&;flyi=}vYZNvM*& ztjyQ=j;YlJw?wL#Lt(i`s=&uKy$a{C<)r+qFwe2bIv?HLQ|x{&v<%2Xa}BcTq~ z#R|%|x?hzolk&Z?rPFy2dg+;hTjyMg3insqJ&ws`nN_a7v076AYo+u{;n> z3Ffr6znQ0xz}vf({oQvQ3}aVCP8quo0vt@!-tbh*@~kPY>ha)9#Cos9PPz{G?qq*Y zj`K<2NOn;4d@J9N9F;%>UlP#vWMKp7dSIDYEYZ-*nng6WwPn2G>=Z(?^S!>Kn*E zXP!|L-HknvwO#yn&cqxC84Hf7Uv=BLPqVcj&?m(34R?R;Lpz{bXl&T-IWh-6C9LaqO$TKco`X7-XNy)z`|HPRnN|_27Np&8fKq+$YDRrf?MF(LDEGD_h=ZrsciM3(jECC<9*2FQ`r6^ z&E`Vw=e2uz$)oT}?kJ|*Kak&!UA_C*3!VcOo~6awzm$kAW=+(?c{O`v*fZb!{DY!T z?Mb$FE83)Xs11=-d1%Y_!%tKDC?{!Qe@x}j2I9nz-qU-h@V|UK{tuhsaUI+)G}zHn z4?k$)huPbg^!8Mp*AI@1%Ln6!^N*0`2HG-$f7V^KCxZK(lF& zm*YW1h3<01zR|ktz6Q=LC8Onhqnoou>mtcA&PkcGE;c2cyBT#pNpvRrhtB43CRqCr zey_B8g7Q^{{6*ZUCpVmp#8l^;UHcvle{7(ZyJi}cUvb!5BB~=OS7E^u>#B=wM%u=@ ztjIO7%?pA*8xeR2wF%tX#Z!1*>9%KXTI{ZG@9K8rsr0(0&Fi}_n(Edr8ID|HBMGX_ zbf(v}_tdUWZ*1*ud)0>ajc=*l(A4u*%4q4>*wvm&ce-8@*GtmnuIudB;LaiC9JjlJ zm!_UM3*2;1(}v9YbeDUXyKrIcqJ$e42p7$FFIiH%WU=)v5eT(6Ew1fu>r8jGb*xXl zYQyIBb*c87h9U0Qxc+8JXy4efese1Ac5QCnnC|X!-_hRP=5FZdOuOA}O&eW57me&1 zu9#el>K5AymK0R*I=|>8?w?ll>)e}`j4k&P@V~h>wwX?8-*{8g`u3EYY3gj+knRRI z>pBAb_$UOBptqEdZaQVYLR5^(Mm~=MCa&+Mf)H*xw=U2N&3V{^CLvCiF)2B|lT zzDDSZh7Qx%slq*C1jK^0wxMn5^%+6l=7G;)dGA@`yQ3f>tPlfAQrI&2;l_Oa#kVC! zyVsuZ{MYvRuIstiwcCn{n1<}(9d(yhz9O>l!ZW8|aK`DUxie?g zM5D3T?AdeX#Ca~_naeYeXTJZ``p*LYsq-I!aGAS#V`sXhqjh8ZE$Niok?C&l*m#*s zxcBOIrZ;VFhdW%zys5Kw^M>@s?!x$XVm36lw{Gs(+*KH!>LAa?j&8TR>BjV!%+wo8 zEeQTBCSpC8P4s6b2ppC3vV_e(!9R`1L4WP*_xfSq-}r9EcZ2Y;Zq|?Y`*UB;_aA(T zd}GTA{71cf_Z8J9*3L_;brWlA6Fu`1J#GT+R!{rJb=F<;x+|^wy31c@-HlBft-HYf zH>P%;>ykUjX5ylyi-LAOFyE`^0l$5Ri$?p0!%O$y@TaAF zNw~(e=ijgQ%I!blmmkEBb$z&o)13m&f6sd5d}Y1oe)VeK|A=4yn0){K( z`k?(^+2xn#)6G``cfTM0StAvCij}Lbxbke&nX}KfN`Td2 z{Oxhmd@{l)T0WKd@KpAlojYY3y1|qZBBz-W=Gt@@+MXQ?I@64|U5p@2&Fj-NU)O;S*3#y#YhRys(R5ObO)cH% z48t**&W@IJSC_d`DbhV?oL%OPP3t$Ks&#a@>lwq+R!2%TbyNAx8NuOpWtv*j=#%Tv zLIlH2?X=?cg*u6v(XqLcRLz^aZZ>N+qHA?-&H$6!b#qsDdV|~2#Hc=;ijYi4XH#c8 z`s3z}O*b{QueXg}<11`kX+E#9va_SBtJbRy{dePyH<&W;6LEjRk8477-m{_|1n zk-$hNu0fk9=+o=dJ>6bcTclsnlWtMpZD{KDs}HalXeQ=zUq$hz8n(wfHny7UZr;$` zvA(^&KhJmRp1PAD10%%zW+8l*;ZR!bASx*k%va`Q%ykd(h&vnFYI9=C0P z1e#zOlyh1R9i}{{Sp%bXx36ob*iMx8n@GLNvW*3z$?fWfk~XLzmeEEq<);#DiZXpB z^OARolr5KanX5sB+t$?OHmB*0t~70;j)u;T?v9p@^?v^gqdtTl!;kci=(d^YE@1{Z zBx}0BX}TLgySm#qdg8_Jj}Z!et>560z8S9b9i5PgZN8Nterdze!rn+bM+J9n&L9nh z((5b;ULndb5+e{te8bt-HEoa#8J#xZ&50tdAn?&-f`p@CdtJKw9UYxF4zqvYFJ%9T z()UIo-7?fgx_LB4fA)2tPv~-s*%8zO&e`1(;H!vb(+h1 z7;B~ogJ+bR0V>sFci*UAh4{j&@p(A~GX#U<0vtekO9SykzqUw2mZl&NQ&d*OoG`}Y0An`)vKRs5im$58dCH`)?n;VfwY1?3`tGPA^+e3X*%qm^mDMxie>`uSlAmAI=s( z|5J1OkcD{opJ(k13S%=*{`TQGy)6IZNSxl5pYZ(4kNPgP=vh8s9dniEnA@}dixVm; z4VUGZ;b{}$Y#IggHZFWTn&kB)XPI^p@p z#s}eZ{PaQmMLmA{vF@tT_1F6425y}*eLiHPSP8y|!R>4Nw=Z@xb?&RsjY z{>xpj+*f*bhM{ErX#eGvqy0gAkZ;)a(*^NKPreO}b(fzUUH_V;UirhWU;mYTUih%< z<8jT{ct1Qy7sRhg_~njqR}a@8!0}i2uNe3%2L6hHzhdC882Bp&{)&OWVqi1|tRBU` zAatysaK{Z@F1-?W#cI!8S#Mouri**3$8nvR@l!<-uK2`D#H*fDJ<6XX((X%{Ad%u5 zULwA6lK2UV92KN`3+oQ>G(4vpm727!xqs)Fu*tln|3s1ma&d4&4b^%%#WQAw$Jnks zMcS7mIG~49t#LVjVtYxqzYre$!|nCy$C`Kw(@glT22U9A@&wXeOZP8h|9-L$(43L> zUhmWUgzYV)HMMB!U%0)h!({D$`_FNm3tZkD*PL1Axl7i1Zl&cj*P}r2lytrDSkiN6 zd+EIvIIg+ws0|OTQG4;X`TnH(8-G*IbM4Zn%1e0uw?#a6jbAT5n|^kK=dSbPm+kWW zA8|eRo{ZGS-|UqWTI0bPT9fd?*BtcS zL)JAPea3S?=BH1pLmk)KMTC3FbDn?6fbaV0pT%n&*W?B~_g)<1xaRMAJ$JY3xgR^> zxqqMZ+&6Cb-0S@C>sNdJ_h&u#4Ld#eE>$%NOdhYf%-=Fi`Po41GlvhqD>C@YN177%h8$5T%-PU!^ z&U*g63D4c*=ii&Oey2F=g+K4bJ7pO!{ESA=J*&ZUt0TVupzrt6nOx5L%}2a&voGQK zKjpih_QUV#_rkx3V;t9fQQ^VkxaOl`4BTB=&;9s*&&}Z&$2A|%dG1q3J@@`T&ke?t zXS1IFF~7dYeEfa$gcts3qv!rC>A6pN>6~-CaOd0sFZ{Wqo_nI-b6@oRPeeSwJ!$K3 zBlro=|Ag-zAMpIYIq12+_T8U*uA?Oczbc8SU0pH>A5Qt)^)VJ@Rxb6 zTDkHvH_rOe#v3}jU3~7P3l=R%xSf|SS$JvfrI#$aWYNW`i@ZQV;IdV`4;R@ySOAgQ zaX!BbT{FAkD5KQq_@aX&@fYiTqQ}pF@uL$(66VKOPEdZx9f@CbV)Fcp3gIqH>X*-F zgV;_p8h$4`QvM~+^@YdAgO*|VmaHA0-y{m+2Y8?8@#|mm%;e=)nm%W;`Y&zhTRtwn zfeQWd>t6!@uQ;!d#G~79A|v@RAPnoEsA!c!PM2r4v1Vd`sWt^q-1M zE+5m$$?0QV#Bcwh0w5ZB_v>GmnY{egzRB^^mYp2GZAT}MZ+9ne|J#!Va2LM%@V~vM zFtFe~h=0W!@u850AB+I z`uRU$mGx7%?-LV^uZ<)5KiM}y`wHOyRAT)2Vv-~ItxW>&xW|X@z^cjHcVHs^E~x*& ziE$-+0e<Hji<>Iewlslf(DyMD*Hv=lKACY+vzFeFDGVt>&DG?WwEp*c0NsM7?(WX^=FQ#d zu8CUmzYCj2$ISJ!Y9+~W^=F^J_3k3@!tDPt|GgUb9P*zoKY>C1dN1Db-SVTJfB1ip zAC9r#;F7DSgrDQDbMb1|yKsk(gX>*SkYDc$_>IXgGrb<)b*8%3JNz$5ZUYwcKM3&Z z_tx78y}?yxrO;}FYx>DuW7J}hx3>BS^vnt z0DgsR;}_sBF_J`~!}ZsW3Licv(@*0C6(5XUt$n(ZrY_f=dR;3F=+B0P1cwdumT4cbDC* z5NO?=oU%Mp5<$Fe#RTern@(jrG1PSw=ccwKQJs*wIkYt;4c@21qb7m4l(r%SB0$kP zzyG&pWXZAV>^}QE&v~As$K$nTt?%-F@BMwh%Y5?cU%1BeVm9~ZSrhkq5KG!>F77Yq z{*V35Sa7E`TF%<7j{jTif_}3&@9NxpizT`8AOB8YxwVA;YEil{;g|y5Y=<vFoP5oM| zwtmmi7?01ub8YPfRvRDGjOR-}S<^Ub<>yzz+Q#up*i>V`wb8d${ySogubzV>3+PdE zxmx+J#(vRdkxqOgkPG3fRd3WPM~$_~@A?|sgC4iOaR~0o!f`ZOZS<(ITwt}0<46n} zdG^1B@Lg47d-2-zX|49-NMmhw=7=q2$Y=dqI1XDne%4ZF=%I6z(c=Z}{qHXKO09O` zk{ao;)INR=7#EBqsF7b@32W0sM{0yGu-fb@@YN(ofz@c=YVWru{fr!4S___!#A>q( zjCW&g?bT)nX|JYnP_8CCGv1b(;EUJBf2A7XtJSU^xuiBcV`t>!pY3mfe3WX}fBk1` zjAsklt67dd8LP=I1aq;?8+u>RFXcA8p+xjxK{@=++W6qA+VG4%sI9$E*373HYaGWp zirK>P)@b*S#O=%HXmDYBHTpT=xh6R}N1uAUu-{8+)PJ$s=n>S&SGDpB@YcqEVXb_y zv?lpLU)9EcHR`om;{fnd+jwi$_l>pD7rNCXAC#+!|M0_RpxxR27V@9PYm$$%HB@` z{9RR>zkys{R1?3{I*uCUs8;_as5P%ryFWQt(|Bu)<7ulVy)j~qKdhzSTJtnPjeZH` zYJ#ukd`Y}EeR?EbTRcNvr6zu^bsR?;YxKivm-Aa|q1%yK^BeIR^;OOCwsfK<`0T1$ z@myoMTJc|O;#;bE;Zy5Cg|LWhH7wUUFoD9Ege)wcGcUHH|&COXn@Y5SFviRHg zHnqq9aI&?0PtX%jPM@dV&Qhi&DsxA7wM>~d%d{Dvw5GntE%^p0|9|qJieKSUIF8>l z*&2?5lf4a7<$Jb|I(!8|n)|Ui+}*Q%eBS*r-Fucy3uUy|552ajJ+(zUrE)RIg-5Jw zCU+=Txb9Fc95FxTS!|@kV!9sgusX^Ng^$|SLPv3$_X+p?A?xNosr&M0f?WA?lzGhh z3mpSi{(bHrv3&Tj^#J!!_=E-FgO&sKb_))styD@sP%@j%SrZ?hPl8X9PlivHPdlF+ zpDsS#e0uogdv7UadY>N<3~q+A_j|XGru;C3zfQ$VxwMyWPkYI1+6yviH||n0?RVRa zyq{{x+4qElT~C;`J!SQNK77S4PHePz;(dIky{8hb6I&>7YogWiQGTdA5KK=Ln3M=C z4vwvgSKq>a1TQ`1eG#ts{>{?nLpg9UJ+aA^zhr*-RA(4oy2T1D`S9z)CzBj+q3oE- zQ?6;E+pK&5`c`NKto3DZEBw>;GopoHSJ}eVJBH_#TcKx^^C zyFc*(vs8nnQuP)q3>J^8e(GY2A!9@FaX*c`Z7V~gGW07$=Q6Y_L%T9GF2fsTXjg`I z6?q&6*33K@2IxOd|9h+bm+ua8W|?&F;Gr&H$*U~a8yVNnGUlA7q zVC%UkXRDyA&+~RY*Z8aV!j*6+nmFEANW12Ub_1?GXt#*6chy?=~^eN=gZF)ld+?hiV+BfR9I_KHc$bm=}-2Q4L2ycfUo+=u7Sui(vRQ!)lr8Lgkd;I@aN$k~B;dX1nW?9u{ znRTUi+-7xsd&8;nP>?L&5oFLO+3-om%~+xT+}tMhk5f14?B|2Lm;HRwGSnR{--X?K z$P&9(9Wv~n^v`nalR5n~9CXR16*@`@&kNf03?uN9UNB#{u9P^r`B0N}C)Ty(ZCL@` zTrS>m9DRe{y5l(gS9r5z(%&Pr4_{=^u}So40)6VEPn*!ER?(-~S+(c+(_V+)I`Jz! zuh0y>`L_BJ9_HhqZ}03W`aDLTjT$#{n^V8^f2?reknebVu%v#Q=(pOBPdmf3lda;C zc1nynSsr#eIggFb^o>}~f}wP8-JvepZV&IbuJ9nX{)^c1FJaUF*tUlEVarD%IKu;s z=RV0>uob)D`u39W<2`}X?P>=&+JPg>xHF79Ss8bK-{Uj*kMX8?@c7|F-lTB@$qEZ%VnL7N!7=Mzka=Qw9k#DnbN4$P;HA)-fUJlzle%dw*FZBN%!CfrSPGEPYuC~Rgy6|;> zlYLh7VdUwZMe9lA!u{pl5$~%1UhL`4yRd0RY#R8~cliU>9jrXebCo$fYBfIx`y_IChv-}x=lNy$vkZTh;pH+s zT82l<@MswxEsLMw(=vQohEJhbI^zGheCILQTwo1cfA@LAeeX$kNBtCuf&OFd0^cu! zC-2Pm4Ik)q``hJjyi4*jpU&!A_=R5t*XV9!DcgY`nzOjZ>zgf0Ekj%7!h5UjS78^v z;-&VA-?V)j?SD>fRoYOUSJVde7d7LCSH^yf{;hCedyo3|%+Y_n;BQ`KKeOw8PkMCG z@>SM)>5I1g(ibf7^R^b>TsrrE$Uj#*z;#LC0DjzHFm~yEw%8xH!HGeLTA$g-=Y8dU z-YC~;yD8H;ae(L8N-ITvezO<;27D=BTd~5p+FLND@wqYWq0BEZZs~;Mg3XmXfDUkD zugG)MR*(3s*ncS3Y~c-O#TD%`Zl@O<&Mo|T)nS|~>E{{7nk;`R7`o{l!EhPgP#>1d zrQ_7={Z6$a(|LC*~XUcdZ#^t0E}8UC~MwAxd<^V+Nv&qzPD z&vhR$|IvhC1B$m-ofY-H%vyIqQRG zS7Ap-ZJK*x^6lHe^-!;W`>5{0LEB8Xs~6}>3=%8G!w?_kUBEpg_#$1ueOUM9{dSCx zV%U7kfHiWjzWceam)+!k3^}{J%oz2(?+AD)#oDnG@dx&Cg)V&0iSAspX4y2)a|Q2$ zU65gkU`t(KiC%v&>0Og(y?cu_9J|ThOnufYW6!(`KCN>8q^S;Mp0X~t-VJ+|xN6D4!{lN}+C{rHZz6U=j;c#}>_C4M*e;xE{ zz^6&z)12wcB~QL3vXhDdf$Ikc;Ng~D-EY7 zzG94&yjrj)jbGLzoCyXScYJuz-7`+%U$L48{`JgDX2hpm?mh2>i|XHLK0nu(U)`he z!kcc)Ue=BEJn)dL_IK`ahtn#9k37w|Ur}AgJ&M1XbGUudx}5+0h_(0aeKkvND9iXV zj62Er5-ow%Esy;WRJl4-9e7Hdz;rUA1M4u3O`5BdT&tYgkf8n;fr&AR<{^pPxo zcKZq1n(W&j=__DrqI~nofkWe7Dar}-77iU(JO?hiB;)Wwj+{w5Ig>0teg+>uiLaYL zR{e<2Xx+k>yk$YFznR?5KK#*+L&x~u=Gx&qFtpAB%SoQAef5Rk(rVWZwQ5YW-G`2; z4fR>2r`4_e-Hpg&p@_ftrRk^P-sEyXW4rAM2f->wOBmxvOVaLCdKW`UHBOj>Y1a%=GPjrBK)smdm$q z&r6q0JY(&JtAVFC(PlTv2X*=3CUCnLx+cNxsVXm_LzWyurbR2pwIEiRp)JPyWB$kY zwKn>mbl*Gulwc`%Ek6eyBK;wRcz&B;C10#KXOh@I2CRNHwm|P}hnC3o_r}moL5TeJ z`s)*(MKqO+(Z~JRuJeG!J%_H!A;h3%6ZK=z)8fe}C#`pS?w&>cCV^t9%8diNl@jU6 z0ie&%&3!Bte7rIASz=?O#le?vKWcAn*=#EcFMlr~oh2OGNTvl}_H!)`e=HNF`=dNp;p&aXrN31IQj ztG>H#=6lhaHgqx(jm`y@S@mVbWGl~Y1Ad^!FvC4KRxH`$WcvvDK*iRNS$E&wsT-V6 z{`=tg5zF;ncW4S+Z&luxJaC>oau>4Sj_hZ_c@ml=dSAFaNj%wf@?mRwHXzsfr_!DF zcF|tE;sxk2Z)lt4_N2X4L#^05BJZK;-mEq4=zs@ucAkfm(SoUuRr1XFOdiGoSj}S z)QV2<$X0TudHA4*ylFRi(=K#C4js^r4#=VdGVn(d{zz2#vLC-CCVo=<<=O={c=~z4 zO0!E3SLjAxqSLq0y8$q?&nx?a`W7s_e>f`shI)t2QtzN}d~TZkYw15svxm%{1&#F!w@U zU-LJ}V;;Hd#^!dN%GsNdzZ~sNd0w*ZSkB^hL#DM90k#3$PmAyL6p(C-WKJkvB1)9Ldy4_?kMhg(=_}zhZ=3KC%aIWoEs| z9?y0F&%N98ZVtfnw=uq?eTcjWexh_p;d*P@b=2vEMczC2w32%WdS6&S+WXs9$NL0r zC7e9LpXh~8&hgk$cx=_2UZ|6e_Esn4b0+xsl{S}XEaiKH9PN@HTtBKd`%WI2?tSgZ zOto$0FlhU~tL-z!baR=p+VTW(BYM1$Tz)FBw@RjMbE1V=l&fSXg>%axKj;LNAMZFc zrQ8~}IXyYz^!`s=JG|G-i}YVq2S1u;M^~ZmJN@(vT<7ciovRv}W-mmy=4{FA2VIS& zhm#GmNlSSrJ=#dSO;IlKwC*Vk9+`H}g%fZDEi^}%_}J0WxOc@+>&aE*)%Y%27CQdK z=(`oayos?Vxcbx;j7zvCd#_U-s;K#>I$~$`YG&H-=P&WiAOf4lTu>(v|4rf1gJq8$Mjs$KGT`AJY!{c$?^W<~x^{ zGIAok6CN2)L?^+u5Qp`WVd1cFo=2appEBFcI*b`Fbm0bEdlfzIoL{UXYkh==&}x<3tmeu4tW;! z_s+epefSNWUV<++D;bR1_Fdca+G}*}9jLaKSV!C$vw_TF^1v`?xYX+ycD^MgIR!iB4th>P*{)1GHQ8Sv#;jgDz{D=_S^? ziR;x|nG+Dqg#x^FhTkY#TWLR_?XAu~kuUG&yI+1-e!a#`o6;Tqeebz^2l`QdNe}w5 z8-3b^j?|oZJNhxJe$c6zy7xOirtO3B`?q-|{C?`gZ(GrcdF+1=_P-nZ--Z3pVgK8) z|5@yRMlj)*1{>oR->@Z!K{L%AEH8gROD;pxl zw2c>#OU2i|;+EHbg;=O1L@w=uz0Cc6^|M^t$~)pvce_!Pw*_QIo+MB4xNJM{#f+l z4>>w?O4r`hp;J4GPR94omkAYOjDIBjljEMfbQ6jwAa>b8OhasAn~7bz!x_qaWess8 zc$oieoM+4C6!MGE>%vaFYq{b~hJ&Qhe&o6X#vsFIv zOySU^G`9IV;>@vWzUZ{PYi!M>aBK9eBJ(B5B>g#=ht`tK`fysb z@%AO!$bB~1req4e**e3$dxxJd8J(5P=iycAIvYypFt$BF5_gZH|&hs9`7ngl~A3pbM z_}r7nDme&8cjY!BpIiRh$eeABdq;*_XRgCGTvxFp?)|~mlfcz{#6GaLXc>5#iyk@^Gk}ns_U!eMK{FI&Z2Zd9FNcgVu z!kj;zbo&2qHIDghyEdBlw4p1K!k^>o8^Z7CIpq@Gkwojs{m9{F#)M9i3{Grz*Tfa# z5A4{?E$HG={E1sw_X6BIS2^2ukJa?o#+gwkC7J;P`!1LJdnHmF*cQ zYA4cd$%&g7PYHX(-%MUPPjr-puNJmQ_k|^Nad#yTxXrHJlREi9=9aM&-X}&|pDp1Re|D&~q=69vmwz9f{erdQ2Pt2qwHy)d zcqt#p!FL~i=rgo&Pto_PddBcks_Q{=5ua%sY75&KDt}=&4=LZ1YW|vH(4zA}loR*H zE4u2lN##M%{kF<`*HD{%Fle1!=JJexj=k``&jhXV4ak>2hmK-xii2^nmj_plpDMN< zSb()&&*d}V=ceoyzZF~4il6D?|5@ly&Oo`&##!2o>PPxR@i?@-*Ap$AJ&kYx&6Shb zBOLI4ytkL{UDW}TA#V!lR(#Sx&*2e7w-;6)&#!sFBKPAeWkY4~F8Ss%Luf`lev3o}+ zd{>dvLpktLEcWOsTXh&|RP4)K@LI}{PvOsFt=mAf){SSY7;9@#ppDxM6{|T{_~*80 zoofo+r8c0=^bGx|O~(4aoc9QBB9B`_hw#_3pBQ6zv4=iU>&)*|`hZXVNxlhlKAI2l z9Q@qx#NSh_0KW714o!~U%;DjW)yaq0;DxU<-_D#pIu*R(uS|RRjl>pO55|B-TkV7X z%ERs+dlt1HPi2ZxV0))<+_d>phr#Cg3)dXnI_lU_k?`+VqS58;BmCS zIn$azK6dTL9<3T$xeFLtis5T2=Ns_x$Gp^!H3zMCei8qDpt$vr`t$6{;uhX-M!)dK z_`k@rtDs;14q!x%exi9uuN2LX7Y+ltIblIQWA;K&cc9jYVTrJ$46LLRP%O$JJ>CkMb!j>?5Z zEAh-UFb3oWZ71*Tv9YzwC!;wxVBUI&wuDFg(%;tD=8fa8=8uCm{)Vv}qXp>$*@Z4= z7b-R>L?`y`Wo;8O0pE8EE^I{(JJF7v(7ZuLx}mBUYL)?Tw3NJK!K_V?3nR=78PJEP!?;y&pZr^Ek;a^Ae-M+(O7vh6zJmO{O z{{z`P=s&1-oeW;c%hFI9JWTtOwsEG!_Y3pW>c_h@-}=qn;0~I@cUM5;U|G^GFOq|0 zZ0jj09&x-x8RpQ9n202V;62aQ`9Eu|D%0Pw_&4pS-`f5=$n!75yTHP#Gy`Lf#w&!U>6G(#{O=;U*&HOzpn3s*U3vVBj4+C?-S@F z3!hWJYA5&*zVEm-ZT|+>lMybPzY+fEroXXR`cK>(&~tqWOEynR=6llVcerOiij}%$ zXP(n_9=}bh&xu#mZ?Na&6{rOHY_b8ltY|P~InBG@Cb*nDdB`+yEfUN#BhVREQ5$~( z)+S!WSI%2}#|w;ev!42C2Y=q)gxvIqKkX9-SEsgM!{eE0FO3by7TF`owJm}Dg4XnS zpV+hV@CCp_d1A(HY(*D-OAf!KotW{b*^Rt#)UrAJ2lf2TqMM7lP%xf}`(-bL|2Jjl z%iX=I^Y7sS{5>IgTr&c1S@;*?SNgkKG*cfHTXN;H7pz(BoyN1lLEtJ$-u&G>XZ?5Y z^Mj`r*j(Wo91GubKFnm4OP8$B-zS`Xp)U8|qyFegS*biePj7B5VpE4tF+F>Scq;tk z6gh#3A$aW>=UcuuGen*Ozu$f*(OTH@jjvApj(p}1OvaPS0d%G3y&IkX4!L0sQIvx~ z|G4}EdZ*$Oe`A=r>3zI*b4$Rld9yb0kaBX+P;2!J8d^N^ePNyGPv3PXKj-pQOEp)v z(ARlHzRow~>n71*33Ql`EmtmS8NLntxL|H$E{0r*iW1MRpVNUucn(yQ~ z63tUG58fAvZqboBd+^v>b#9PkUr8lUJ! zo+Kw6>aU7VjZ3ydV-rrbzD+g*eYY;8ZRbld@7lNb?^zQFZkc;k{J^@!9P1XlShv`X zPqCCtL(hC%2oH1kr5%Ukv(Mk=jo86Td%#(cKK74xf&9_=xau20p1(+c*m;MyB=|D$ zC0?%ho8YUYu~vBrTD&OSaQ(jcwK`tLdOB8vKcZOexoKxZppSTkaVK0mLEz{iUl_jq z3}`zS-zF-2d$xH?hi|`RH|l0V|LO-{)gQNC>f8HV&=N$t5npV{@Ce%_yo-```N+3B zRHU-!uVYLuKGb-iXY$s@Q}3O4dDp>-m(eZg@a&dyD80tGe{g6(b~Ak6rJeRpAG;#@ z;3Jj#JEo5)pR)toa_LdU#MVf>-q8P-?eW6P%nLV?HhZzXu5Qwpb21wycWCkVu@@nn zzV+DjQ+BF-Wx9zReP?MNcq2{UVIoI3cVj(dK2YK__Zp}q`t~m$~{gweAfkX-6Ni( zjYq}T5zT#U^SSiV*QFOSb252GzEkz8e|?Yt$hUDn9e%mtg!8E$ZWxPr=kLZ{Y&B3k z7(Ur>io6k8zhN?btl@b0Xv4Aak%sZ`p@z}$NW;PK!3Nd@H|$~EZ!+B9Ftj{i@6kSZ zv}B)AtPCB{ckSsN-DW$kx4IqI*peL|u%`81-Bm5!_L<8zv-XbIQuHPMY{_=i)gyb2 zk`F2tX@fa^t@l(+xF@aW9=Zj&7?qCDIFTVAeE+uPoQ#e2JyJi^$DEbQxjjAsGF7U? z#MFt(2I-HjDtUAEr-YxbJpuO=$Bkuk*5Z#bFV<=;%i3w*3Rg!lo;{Rl1>Rq`Tq)h0 zm;N48-p|(by1Ksl@rq-ug3Fssrfr!&<^`i^yOud8*5*Gj%2^MdYcqq7zu|(T*4f)Z zOpTt9E^ztchm>!#6%UXPR!lS4Vi^{~8YaYS>yT$5& zDZ6|me1S1#-hR^ggcrekfA1X~l^=PG^4@(c9@6+e2Vb~YiyQzspA9@;PZ__;d(``m z+E%?Y>i8;4op#1oryK%hzXzOM!lmLT#bh(N@C4tJGdEyc;3*H^vkZ@E-<3ZA-0&uC zAD`FX58)S=M-ng4<|};vVHw^n!{cT6w+#Q5;oma6UWSLu@NgL(F2lo;t-i+_rmFIx z?-oR|rf018o5G$w-+hH3&D1Q=JuyN_!3FH->J0@F+EF2UKSo_x$YEAfK zHbrc53Y&fcn|>VobBwVphW72E1u@@S<#V2)18$9Ufc=K!kJ}aJCDX%SLZ^JuyuvfL zWrh!0Z1{d>gHH$_zgIsU*BT{c=_7)DetY2MyTEi2v{Q^aDW9`&;I=^Z`k0H@y~e!V zNZampjK5*M?OuzIUBA|LUy4p!{GV)h23xx5I@|qrbm)@Jvim1?UuNg+ZnehU@38va zDLa36yDipF+{ymmk$+(;B{`Qr-SJ|T2Z}zOD z&f?fFcCTbLuf;yqwX)1u(T^%;#H|I!+AcViQ`I_gFOO{5a5~i@JHtMN*KX@4X1TI> z6cNtZ`!x2oMT>K<{O+Ew zak}LrQ4BgaXE}~e!h(54m*a^GKVEV;Eq$iE1N9&5eI8u~uj1cK6L(AzcbvkPoWz$r zQHE#B@N5}gN4CcznV}kg_yMER56DQghOfHL2OZG2_pAN*AYE=9tnyal!^+uZTZ;Bx z~#|&ZX1p^*$iJCdN9h`UTd3s*HFY`Mom53SsO*W9qyx zECNYOuPybgJKgfL_9l4UU%v{RvF<_qzCRaE73D`^zpxXr=C_A`CY@TL`;_HnV~It< z@%Enwmj!US!xml0nghY{t^#{Z?+pL2^*5~H!hDn`V!hfI^=^F%oBbuwP?y{m+mvkG ze;e~%@nmZ-2uy)OWR1!B{ujxP!zYc)SA}2Dn4s(Wcqx%i4boQqJ502-{h5_5Tf>t# z{hY(yKdF7--Klo`+wI-LFF3laWgz^No~>PN4fumAqI`Equh?YxS!+Vqtf4)xw9SrY zR~I_0F^+6vkK62S>^r!T%v(b?=LM1M8td0+8(u>;Zys7r4%F;sCokYKv5huj%85eL zAMMXGzD{UPKN>^t)#TN4e){eLK0}9jz=`!;@0G3zXIrige_YxWhRwMW6L zRqo%!J#%aB`T5*yP5A8aZLXh~zYn?QJN@ZeFF5eE&IgY1c0N{2EEdd`kM_C%yH^>* z`8)PmVn>mfLhm>GtMOU0_^ac6Be8AhNEa{njnoax7KaZvjP^ZD?t8RhxNp=O<~=d4 zEy7)U&52|nvV*=l^+V=?fF|60O--GeR8V6WSW7<9HV|Lar4bRNHw}j=S ziLt)@4Z{Y19@_k)p^7}56fA2}@D6b)Z8i0wa}}$n&ZA>u&%XOvXN|wucc8LYJLml5 zm8^LVoZtP3b@kr8`O=+?T(Ki<;Oi2v;#*6Pts(bK9=UG$$HLcoeb4YCd&p(~g~rc) zGJ~Io4Hn;dpBeE!BOb*6bh??`^&{;a=zX1&ng{ZP{?A*~dP}d^G;3U7KySoBY)9(`W|d4tvtRCerQy!hBkbXV{n; z@-DzXiQFmQwAnV*7x`{>jxX7^@F30 zQU2t~#-YBwPqY5Ncu@Y3)~$t4GzK;~l@1?k?6+~|rXk)eN(idfj1AgTr2Lm9r$%Q_D-=+6xh3zFL&>+3l_suCDDNE zVc~=8m%Zdc$@tgMANu}$@7?bD4}zKR--52QZvCb~Kh7bL3^T_V^xpEHG++EpcqCJX z_sZ~S8Qv?yZ)Nzc48N7(w=(=zhTqEKU8ipwhl%CTA+adm`d}>SbjWB7KlLx3F5gu= zXaTX?ld<-gCDW`|WY2dj6OP21cEUWFF3aN3ydU4I-ap8hzVcn_>>|HlZ?kc?|24*b zBXXMPycg}=DA;NAbe$EMk4LVoE-`kp4x|q_Kf^mTK%OWdMyGAzTevC=V(%pD`(sTf zp%5|R+ld`CuY6qZsVyJTr~OMR?fd6we^Ir4aCIu`W1yS-2%&-x-X zBPSm5fR_{hhh@P5yy%PKl%r!#zIb>-FmQD~D|@C`!yaP|JA45iBRt1)eUHC>9116* zm>E7nSNH85ztKvSnEBz@wDQU>W_~C(Ws~UX2V;{l^gjFMPDFI@GT{?mGJMSQ+0Wes zEl!2|V#i7)`X47xi+zF564I#-H}IR*NN|SAEWU{1AmvlWQqAFP;Tp-{=@{+V)%ef& z2+f=A{Tk1j%fspAf&H3fZvATbFmG2?-oIBi`mjMKvnD=E`1pKU_#~)*65L{p{OQ!k zpfP)dpbvY+$^UqM>mekVPZOUde0)AFeB4|ZFnkl4@z!5%{_>=KU2`MSQHu4|#*R&N zGGIhE$o~;HC;3-)VQD(G96R;dQX4_YnAcKj-C3mEhv;)za(d0Xf#I&9Hu&x$zLSG; zcFykLFs}18Zs7RjVa7cYcYa=sd*NXL z4m5ts@1>0VLh`HUzy*3#?-{>va3)?7!0_kj+Bdsgc$HSjVM{L7t+gB9S;ZVQd^$h3 z*Y}?P(&KnDDtC>_5y$7?^JCDmNBh@3_}1WQm4jytd$`^Uv<8~kv)(Raje)fU$m_>P z+x~E$?S+O~vs3SVj&%U=6L`3cxz+e(M`O0HWXE(xK7L*NB|SKwue?Y7R{BVIk22p* zz0ziMEIO;u@t>x6-qd^4VqE>`*{{CDeWut!|2bR1n&GCh>gKfug>eShf`ib$lu4Iz z*r50P>PywJLboe5R(Lyfwk_v$#<9q@k!yI;%gomqtkv*fBgH1twNELIQhciRisCc& z2&sRMGX;t-ftkSS^drvpHIR2vLo5G(c4@f`v%YWXvD*SHChh6T>@7)l-D&0Ou`y{?s zlvjf%DtabJrVqa_{I1}mjY;g>Ma>=d1^6hEx0#FqkPgmpQAlK4tocicE8h_4c-9ut<+!U<;h7f&$^ovju^)x z)deOW*~-giQ?8$K7ctIbdMEjVPi~OU#Jg?4cM)+%j`s(FH|P2ucV&J_eG{jQx@XB` zdShLlwMqV(jq#j=lelq_d=}SkeouP1!!97-6<5r#k!aekC(lr40kPuo-&;NT6zgDH zhd0ko4sQXyo&Fm1dn0RA8oAdV&wAhqlrvbK3SU(neXqg;oJ(!lr`7*zcq!|6_XlI- z23kz|ljmuRKd$#_^~-vi^x?b0SJ&XK5ucME&rolPE1P%xRVTVJr#3;EyF|-Mob>gI?*7`w3vy7?#ZF&~ zp3P22GBjI=WM}q=o^%CvwTyi(V_P|gqKR`Ttc*=&|ML{~{1o_;!ERo>z(qpo;iNEo*uid{Km58)wYgSu}2M_Vu$-Wovmx& z`CISnpd&vqwua|k=WwgOr@UpzuwB5t=a0L+I1T>M@FX#N1JB=tuR6_h%@ZzbIf~v; z6Zo{eU)EA0FT(r%0qxM{$Tg_+JMd2!o9umgfBl|HO!B!hc$u%aY2zzVA6nZHFlSz8 z%gsKGeb`eS=jr$e`-YI6@GmH)asIW7!G22oq?jsoVOU0n zu9pDJ+sb%F}Or7ckM!Kk?qh6mHDp$@FqKOZcPj2ORFj4o~U%Qn28n7})J1|V2ul1tS-@tPvke& z;LWcOjGtB;TzkRKY#I3~BeP{>tc;A6k+Cu|Rz`ly$ZHunEhC$eyf=ufbAQB4d19s^ zC+|n1vo6AiV_W<7K0M4C&4XHt3XIMVKZ&e_kHvymo;<*#oO>}jnhqa{^}GDrgZOcQ z^Y6RF55!q}m>V1BT#P(1mg5O^O5R3mT^ba(%b)iKqV<^V9d?;*4i=f8U3Zyhvv!=k zOhcA+KFFB%S&h&6L-;YyA8N12)wRS>d*;j4u94V&yT)G&F28@-DlnJ}zjxV)^XvYt z;@|xXve1ovO-e`0R@(SfWOJ4cjY}S+e>F!T+abNY??GFIZgzh5z7bQd`%TdAvc7$> z9P0>Lhqug5!cWV|CFGE|I?E-}y$hnEhr zMlJ~dDn*W=?|#~flb3!e*{Zx~sYsjTZBio^OLaP)ETuZIh2#OXFA7~iSIKngw`M2B zKcx?H#UDd<@H1t57{erEi?>`UKP-z60_-czduv?f_eC-LA<8!~H#AJVH&lkcWoTQ5 zuGoyN*o-_jqX(POjm_wacqmp9E%m3omtd&oyyI+0)Cub7ItP^sz^b z+C?5KE8bwfy$d?u;Q07{=HCyJzxpD3X-lyLpCq5m1EpA2<3!&!K@)g!Ag}NEDY29n zKeclo=S>|k&K$8O_SbM`3gd-8;2}TU=hh3^u7|8;=ZM|FdI|a5>kZzcovj=3AA4`J z?e{-O{7swkjq2WS7f61nuQQR}rvA>fOLrwRZ*WRN(UP<(9ZM7%%S+ z_8o{NbcUPj1A5ZOdgiPH-UZcXYD+lLcYK*WV)UrW6v)rU@6f4`uWMSc&eZsEYk;H1bmJ3SWi1*`0Xlp7QO*u~i~__U(8$p4@d z?jN!Jz?WmaN6D_Uw|bl%7WwZt%a`xbnp(9-E~}aE>F99!=zgiIcq^KG^er+-Ppv1y0a9$?R}~Xz zK9jkKz0m)y!1E5*7U#eTeqxusDla+gedP9TaMmQ5rElNAf%CLFj3y|yNb_t9t9@Z9@~@F^WNv#v-XHv zr!q=RTSuRPe|`8P@lL8SXCK>~i#u2q+cOse9*%ZwbPpuFE?teduOxa>HrwBQ7VE(eoXfg}3l`$Sc$V+mDo!ZutmjQ)o?? zg&$`O-Q43(h5c>~bW3hJ zVarAc0^(Q--6s?G5BnRKsKAtmeSS3DLRvFhDViaVV_4?Q#t>=$)d`|c+9Jqa( z+E)JPaI@Xu_+TF}?2k89e8v-;tGE@pJg#!$A9!bx?uB>YQ9Qo~du*pRp|cu@ky_}B zb!a@FbmdCKFgM7C1;Z`ZvQLNSy6<~1*5s8me-g9P?S-cn#5mM#&V^qW+|ccWU{oLI zgr?JVth+j=Gq69ll(GJzU{W2&8X>KqvA;`gz+Z&jyzwmU@0r*Bd1q<=ynm;C&g~>djoR-yOZx}W zEe|^QH=+9nBKTYKnmcxDLC~MUaN%0sojDF@<;HPy_(zQ6XXt06`T?hZz*zFam+JI= z<@T|8c+JeiYcpd@t;MGX268Treiu~VYu*iBz#%sxQf%(SmM9LwO@TF3%jg|#EbEm$ zxtkmx^L*k(&GAL&unpu)^L#<1*F19d%*p(g`U1|6OP6we5&NX;%jlCt^LY5*gePEU zu5MtD=q>o6wa&O*uIJVM;f?cw{ny~TrPXH@xG$uSJ=JkrbQbJ~Wh>o$NwSj19EXoB zyiV|_&olZvPTSwA!1{CIZOVRIuqwYGzs8-Ley{SGw=3VE_wVby<#)22g_`Fq)E>@4 z?JlEJ%IJ(TI-`uvD5EpV=#27cJQ3-yc)#$dKlJa^|G5^Q=*!Wb4C$vBYcu-xV)Q0+ z@-)we+YfqWI1@^o}%^=Ab(CbVpdQ8x%SUn*uL8B+j{^VC|{?z zNA0@yY1`1z!XfQHu6A|r`cPj);I5xY2fKdu7TNoZ-k2z|_Z$CfN0IrU5leEth--># zl52)*itDA6&rmK)`F5^3zUR1hbKS(XhieztJl9{~x|M4;*M6=yaNWkWhifoVw7hW1 zJ@cSC8|{L>Vbte38;!gjIQ(+7rcXH5IQ#bQ->Y>n*s_cnxc*F0X8?9#>)ORz@MhM< z`s}Z8I6@{Y!1l4v!tG1gT^yQ6k5RAc4?`345Skck`?X&0j64)JYdNt>M$b2T$a#ka z_`fOSinW#O4Q!B~)1BV%O!!H`=dH;inb^#d)~YCekNj?Ew4hIX(`J2PP7rc7s z$=3j%*y*2o2B2tD!TsEsC&Fdl-hD~o&ha;64aHxKRpYGi->zEtZ{i;5c-4*m=#M$^ z${r->6xsU`BA9@_h;xh>SM(0{XrFb`0~gYDZY?KkVbC?F+_)#BxdP=%;4PBoXWwJu zaK6u$kk(&uIBwg7XQK}7#Hu_A?#}DIj`>!PJ&MfDmWu;Zv(5azhX?+O1Jmqh&vV~h zM%i*DmUDY3wMVtRg6DIcv6w^u{18hB-l9Lrgywm63=-pjdvI~aUavnoSiWblsY+YP zb~WeVPbxNsr)%8%r5@>H6nOxjL3(14b!!zFv%17OCudJ3+WPkXQ7$Csax%`^G|q@| zej@t(7qT`(c@y}ci?aUCI?g-sF8DlMoON%{MLGD8yh^syvhA!>*eTDx z;Pww7octpWV{S#~fzJp|^=+H{wpr$W(t&rR|%BYrF8fPI(}3t$(nkr{A*T2JpdYCFJT3A{yng4su}HsDFW zZ*R%KE%bDLb&qt8_6OTIKI&uSQReLruFKgf_&Nz~eMj4IbWo1C?}{*7dpYxiN&HpL zXfMX?)2YqaZT9Ol=dEtUQ~rGr8NwGda?#`VVU27ghyTdlO)saI0^a;z*uM!+zMz;> z>n%<)KS%pX2h-Epwv)`if%DbME!)*oZGA_{7k+4JUF72t@0?`cZZ4W*RleVQA7^br z7yAfn*Djutd^9beL~c)xu5KQW_BTOWpLsEN?q-3!A#-RZI`^)&*sWema%2^2BA#bW z(+BYz^Fxd={GZ4vep9rc^W??E-WHyWf5mU}f=IUt7j^Fsr_@ICwPGpaV9)H>CiVgF z*PKJn`5Q@cPlPZZhqQGh!kwGDdZ~Q(V1{SN>9Bl{FX^hf`h)hYEvfuo!vfmh>u6uN zi+shCk$e?)8*2szvsGH*8#U5T2HKqM{Dth!2HQcTr1dYap!=q@*0Z{g(SsL(g}m@! zHi9Jje*rwS?RXKm`u6@oKlTD&0bYbR72^pG@u$|`&_1!McuuiE6qi~Kol6`2?BNiM z(ksMrXPy(Wp#NJv_RV$dn$-L#Q}3PGylb-B?ydEw-n--eUGiOaw0uBkwuT|~0(0l+ zvfi8Z666A6DzA5_m$dF@D5E;$4jnHX3T%gKBgcOD+aox~k2;^aPC4<(r>MypzR^%@ zDfyFs#^;aC1i(sL6Z>{e0;|XU3C`3x?)uojYqC<_U7(NFUB=)Ux9(DKIvPQTzP(>K z4zDCyZqi;?*}K7ZCwJ5oKSPVeEXG2-T2_2d8}UdNCH1bb1--{Jy%Rj@Kgv&^hG62T zB^U4r>ryNFO8s}k5A=YZ63>cP*z*fb)=Fm~$4O+Bd?2~K>s;Pf`zA9*&+bHjz0+II zUKQ2~k(bPJCQaKga|GmgILnxGjo*Sk&a*xxS@Gi;k6j=AE(GTrw|dtPlXF3Tz<=nS zjFS<{(q~3{V9*;G?|O1B^e0{{0~fq_=DyG@xXC%3jcd+Md-+{{>iepvwpG`~In;MJ zt+XNdz?)U@nT096O+SV;BUu>8{cW23|%TZ5PQ6*U*mK37}&F)Vg0k?^FZ?l=V$M-P`uo7 zE&S#91^@O8KBMcFFOa8?)N+p%w4C#lzq+S+Q|%^Kz`ah;Wc8UH=9g zu&0pn3+ja5)Yul(5quGD&M6D($MH{uqi+jG3uGTXQIUOc^ZWR(!SSl>>%1a(If2dG z0q@qk*ts%J$xXzc#VlY(eI#9;@Dg$wi`>{Z=`5o+jQs-H?YVJm(x~uba`3x1g#4fO zV;ugg<2#GZQ9JX-_HUUETEZUUtH;!8^^ft6&hh&Fkv;6&`?);%eaT`E^iMEHmSv8t z9m}qh{kqgHtE?0!&EFFaMk@YtRd()!2i#iH&-tt$5>Mt`d$fJlHaTPK%r;X8n9m&HlfArCnacOq20NJVJ^lUrcQ5?@Zvp$1=Dq)C{IdDqU!DNx(i1A9+&1IiD%`34 zS$xM?k7pGeA~#J{d&ItgsRDa1up=qz`YJ!6HfRqTehu5@$_gJ=^5u^#Y6(vJ0Pgv1 ztT`^lUX^VjTxPh*=F}FG-u^+UlbESt$yYZve$v_c4bOb_uT$rRKiu##`Q}CZ&e3gv zy^pv>xyP;SEkgy`HMw!HQaermufXjRR+YD{c z*Nps$9RuWDZ{lm4e4^0UB=Y`9hM;#d1;jRQOz zi}o*S9#!$gld&$^IHYyq%m=r-_23W3vRV&LOdn&uHN9>dP8pu|DQ|yax6n1bfou-GlvZu7}wA)@!DjKPowS?!9i;tCvv+zGU4% z%+}w|I?EEdi%O0}aW%j7(Ihzh&E#u=5Bq)GjSU>0Sr%M>%M5fjJw z-GLatJHT8nuts=@b@x5~0ydOb^2;kuxV-;ED@Gj-9$j&)Z}09yQ{+GN%`l|Hv6x{Kkp$g?DVFzd$}RdBezNe zk6{0gKE3`O0ndju2P7X`b=8;jGIbitcMbMa{(a)PN_l?AVz7T>6KiBfEVNC}o z&rcs}M}5q1tGz3!dF`h1KAv~@YrW0d4`t6;-cKv;+eKdR)X!U^;67G4$5}WM&Y<(7 z;OaN$eLuqY-_Up7J;431bNw@L<8Z|NQ``@uKL_XIM|)o_P+T&&$MPBat;Uqt9&6_v z_MSBf!mlZ(H-h{b`PF;{$4Q6d`YVoF5_kt$Hx)j>Ro_()JMn8Rn`8CiKFh4<8T6>* z{YM#h0^Ovw5s5V~xcQ)r{4BnAU*_4{D7Qv?o89}@As+|lF>msU?)f9Ju}#l#)g z-B~*M!VaTdt!vA!A;-S_Ui%-wSyI~px{1E^`w7F~SLd>_cnuxaa{o-U)_U+DXBV&W z81MYCMC)U~1vshV!ugFwe+~VhdrE26I1JWpCr|jqiW|w{bB668X9e%-7SF}US>N^% ztKYRxXM9<9-^hwz?c?LV*PG5nZe8=dEzNAf#yzwmU-}UHUG^pA*JfGwG^;(M8Z+a{ zY0QO=PmR+rXFz>I&X z-|sL3mXDI#ab-u4Yv-rm13u0ebNPPG_=P`&Q}Kr8_tn19k7(Gv__}$L{OX9?yLlOKd%&aL7lOwePtwLh`Vb2q^~U!| zrgD_a#E%ZQZS+1FvX1(7;uo!r(C@YAH(pmdn9wnl%a`}B7>efj;^@#7rxxf?jg38# zRs1o|to$xy=D$jJdr1e&9`T0dEAaz35FZIY;vvR+PjRtg4ee%`XJ1p*UrzswJN=cd)^pFASp)JsAM(nM zZdzkU-39eD&I7F5uJosRR}P`W1Rwor4D-t~u1L3Sh8{NiSKbS(;r>vdbrDaw$+8%E zRA|lm*oJe_8#=y8^5A$>attp{d|*eSDzg*U?9jUSNG>D&^OE$>t_N+fAt@QPp}r^H z=JZH>ob}0_J2Dd;JCY&m52%+T?x@PpIJxIK;!G#U&hFmBS%eju9_Dv%qz{~~gm#tp z2P1iK{L^)YtmNio#iUClFQrJ2S~k+7`HBt=v?ew@DOff(y!Z2Q_?sNmiVe>^YZoW& zH`k`LD#*Mw=rhiV86@^U4=?s@mXE!2JIH@EU^EzIQ?fh72{s9v=TX86y=8P z3;iR$)~062C1?6O-ts{I4gCCRob~Z>>uVV>4>u^y`ssDVUaMIn(uTGEbLTU%A5Lo$ z(KnLGC)787l*c-)^HLo-LuW7+f2I1jYgs$xV(vsUkm`4t#x}y&&~}0VJ~Cx2p{0VZwcI*sa!AXj+#5{4^&S0IF&D@zkADD6fx9Jagx?P5NmTnlJ9XTD&8B>a#*AXZDcG!Je-=;3Tf= z;mzR;zg0CO{P3(!&vwFd+|wL7IyJN!xw#dZ#P;qZ9D%Nd1K~_8&Tm7Ir?+eH)5n#s zkdN*+AKGVHlk+X;Km*}-_-%!mOd)&?+<4&nJd0;mTm4p3J|y;~d|m8de`9)we0<>i zyY_W0leXN!04FhK=zZU6Hu2AGQ*y0%P4(=r zhFdw`e89GO0GQgH2C>$5;YM1WB<-15Qm$!&WS50YbMhD z`x1IKARgelcVgsD7oTzed1y0M!TWJ=egb>agf346|AhT-wAKsX4(~KFuEwio>;wK9 z>r1Q&+3z2V?Dih!Q+njfqSv~m+ap~P?UQsg%b^d^@$f$Hk#p>*vu!!){>T=@z!`Qe zgD&f#T+iWEn!jRA<9dEmY}N4MDotrSSE1=fp@s4p=-G#la-F_|@VGbZuLTh?U7`Jk zwX9vF?e%Ml7E^8>8?u@{lBYWD>PovCqz`s(qFi7)_f(D!5AeHc&q@!_-i+vTIH_^Mv+s2EBfelBNqnq!EA)C< zeNpEL@gQT+91 zWTe!_dk~oBWP0^{#bgzU^%2 zyV04lfdO(KFpn;MSsd(VZKU)43mwCo6n9kDgYw?*y?ocJ@LobO#eCc8>^T0v+Ns)c z)=>H}FDE}Vii=9HnY(ycgc1^AqUnMlVRF8@8hZBr7co{ba?R=z^@hkZ8jf_Q-qctdZ8W zcf&Vzw$Ay*cPAEc7E>s{INV3s7yY&vv~J12{^^Qd`vcBIUn!rNe*Z=G=3cb3;Pu8c z>E*v|=Yg9nYeW}&N3(7F9$v8(m^p85#n#ddv`cxtx6RRS28yjz&T_op3f~{}^`}5{_J$za8 zmfm-~zL4JksQ%03G0Nmd%H%T2gKg#4j;%@$D#T5A@^8MtA znBQiPOJz;P_8YZ_#I2!xEM_{(ogAEjb0@3JO;4MRYTYQgx?QjGJgYeb7Xv=Y+Utky z6fxj&;=@Vu#QdhY@tfv$EWDqbigGLb7Ay8FAC}lNFv8q;6bpsy(_PKk=34uGRO@H( zE%U|A=;54qqxbitE5WyTEU!43xq>Ca1wPHr0=iLrvFAM^Ly9r$D3 z#`q^gyI#Mkfqwq2#A@Jx4<(y+pZdcGS8Ug?>k)ALr{WXzTfUORo@D;K6#l*IzZ+fb zhsQ5tJ_|T*L6%a%CiKC8^$RB8(K`4%d=um9vtI-xvUYq+=2N1ZYhx2SVLl_r_tV8+Tu6M2m2XoETwa<2I-4^|BNveTuop5?IXxh6F%OU`qMrd-Yq&* z2y^TOpXFUrFmT>yyL$&LJ3jt;o!~*g)d_|xE>D7}l5Dfqxn9N?jDBxb|J=v8zqtZ~ zHxGvYQh^~33^&e$q3&!jRQuoYG1qsVZ1&qT9gdecX@m7Jb)4}mnnCAONBHEW9d;#l zeXZ7Qz~_p0qIaF)lYcm37xBHlf0G}#tMMO|8@QT!``lRyI{T?xIbrI*l`*`nWuN_$ z=z(rvzG3?*))w@M*O0xNw1=7NN7cUghx?o12Y1gtG`-uccd>?Co!;x7XLrSx4QZXG z&d_%GV72RX2>sCKa^|p|f=n&v94%x_{gG4tD|{6EqDFRO2S8qUGkev0-R=h{bCR@GH0dVLsKqm8+E=&oqq7U zSo|X0K;4`-?#uTai*gvT-Q{AXq;b!jJS`17%!SH85rbNZEvtr!=dxcP`1 z;h9{8CiDTXv0i0%lK$9dkYMeWY|E#DbCmBVAMp2wKICwq`@h?N`u=ZAr|-Wy!~JC) z^*NWXZ7XnZGHRfF&{JlJNqfnV_(Vg`&w_ga`+j_KAn{v`|b$w4|V(1 zhnM%$)XQfJtS6y;+HF+((t~!L(|r!F<_){^d4N&zU4vk4$c6u9K7RGAg*ZWI6Mla{;%a6%&qOGZ2wc~QF_kmyRL-pB}nWR^_^o5Z^#7A}SCy&J18E7mW)9-k|$m>I+@2n$_B$_34 z#xUi%S2^B&NpjYAz#gmSaFH{3l0CM{=~IS#&N;i|i;N|jGoY^IWZ#HA>LDv?KgFJc zh@ZmG!Yhx?*Eh6(Tw~DLE^4!Z-=Eo7Pb`72#JbMNm(SxXzaJlsJ);5RX$fYZQybzL z(OB?SWfORARiD`O{^j|~?`(X=<^BJu_m(@xc>kRZ2b}EpOAj&U@=^EzpNrp%5niZ= zBa&u*s>f?~e&3svi*+&G^aa>Q%y@$}?{>?Rly{ zdr-Xez$kcC`~e@x?u&NfDbd>TRLR9ej{ef6z|$jGfGOcc=hwP5W6+%xRC`*yP~oXL z9`HV^T;l7`c*TQ?HI5Sxw?=Sl?bhH4!7I3-VZ!702EAtI+yAp-EcuM{d5!uns$b~p z@-X6qhTQBYG(IocE#G^am+NwQZ!gH9U+>yf<;A-9zkWdLO5n-=DmsZi75ZN&+DKo} zezTWPq?b?5Y7QbtKkPZ4y_0K`VtmaBa+c&G_Au1-Ubi!=^Y&Uw*b4dPReOQ0z!qiv zVzdTtM<=inV`GQN@62vc-{!Aum;TqBp>bB2qZ{onzaac)vu=$8 z&t7nTCVnb&g-z`5HTDxtvrc)cjL!*OCYfJ2QO4h7PWf0I``h<;j5SSj`)u9*ST|qD z{@A{~zqL(srW%v>g7-bfyeRvHd#@Y0Tl;GJ_#H0IVZw91_J4bmIi2~`<&DD={||HT z0v=~|-Tm%)XC#fq#ba5Bfe`ZAo)Lp>p}}#80F?}qF$yPNDhN=gxpZocC8xPmT)x)H zr@|n~Mrjl*9FoX6KJ7%d!D(G0Zi$irnV6e$t&w7oyltye}Y(7tc&02 zSihMxvbfs%VlL;5nGti0HFfzNH}NMMO*_{#dm;7g3MRoX*affVHwEClyh=u+m<4{2dnVb%*wzPr>MTNB$&)5I?8 zXA@@aJ?UJ+*tdCT4Rao1C`YR;J>Xy4wdeXF`Xo|3rwU!dKUYG&XPO)1d*;i5G`OPO zMc*^)!(^@)YQ*nbIuYlT4Xt7Bd;()0`;v#~SMsOk^J|Xy8u?8wMgOiu&fwEEyVCw8 zG>+pB@LFf9q{@5)9O$vhZ&x7MwdXp{SO`S@b_LiI2i+12O?&;|-8JkLcZp-8b)VI= zKiWy3!=sA9mSDbeO!VNv-o_hFpJ$RKaGI zjE}g;zI2ghfsb$hrLyF2QS`MSzPazu)V1eYt-BZ07J5)VC=2{7it}OlU$S@JObLhN zd0Q8BC7i(TQFuJ;?~e?~zx^0Eo0dPMU3V_y9od)d*pkwi*?&xYO{m3`!p#5f&vXNy|C0QnzOFxZO*V+pM&r~G!o~VS_@%JX`%tO)I8NELgsWq3- zf0Q}1ofyFj%Ly0D2~&=t9P-<8D9@HtOF4Cv6Q-QHvU2dho*lxrq5Yu_eU`NR0Bv>c z>CVbe#8l>{k?U!rv$Hk>@0kI`1ZlUiK}P~%OWXGaQi=s=`6W9fdB2r0g7}~TS3ETf zOm!&}KBqmv8ZbUDl!MR9>!3gAeBS3Jn1@!|vHRwjKS~}jN7BA)D;N5UawUadWgPio zkQFicwKM*aRR#|(nB^Ya|HNs>HiX>%>o)6LoN&Zt#qz3}>ol z_75g?uBtsxl{t8}MdPy{CwF28eNf3fV22y)MnyEiGasbY=;S9_T`bGo0iIQQeXD2RJl{^I*UapdCR~56)&(>V$Ne}# zSM2Fu4NkLBb%nU;GJ?2A5P<=tJu!vP~62t}ORM^{ReOjWNO9D+tW#bQcdy%i$*s$}<-W299$(X2^4`EYtU>g0_?!_}# zaaQgqVkMci_E_Qk4E8MxhjsF`pgzj6_@t~0Ek41ilVY6#d!q0n+j-ad_gP+XT*fHn zq0N)vW0JOlZ}dd)PusvZdLsCzJ>a{jCx%??Da%)5H|g3N%+ro((FeL;0{uIpxy4NT z%r?u5tRv}}_fh%HnpAP@xqN7a&Re0s9(2rr*2jO1Di%L_A2gQsX~?+culOO5L0nMpMOm_=zb&-goo1b(17|}{A2O{)!=Z~ zp7-bAp&|GuOCN88Z@S@&t@LS{{@euL;Ljgyqu-OvpDvP4YHlBGWIm8G#FLaCw8_&p zbOh2wO&S?U{22aH6PvMNbs*C-bP#J?tS2?hY^G1``KrjMWz1*M<;jP=9@@tTB-3(t zf#9E6Sh{p_?Qx@hktP+-y!Q+5mXC(Uc*h0D`63QeB^|`l zZPYIlI#rpXZD`-}o3Vq@JOjtJG(c*n6n+3egw5GYnr2!I#7f3KB0UNW7q6 zH*~TUI!Qw(o1l|+=%mf(%V3WDN#tiRiQSd)wYL6LbQjTxk#3ESU4j>x;Q(uWg!K&i zi!qpen)f6u@1|)3UCc>lK`WcM+_7|E=;n1<|FSPkqUI*}jv&7hdh4 z0i>)Clz1arYLC(@ew+9~u-f-^qbtbgI(b|7XYBlzbixIAn-yI+1?BPkR^_mgpo#?9Osp*+5KVl~;@rDj1btBfwHIT4l z(%tBb@DVl*$;n9QCZqFI($K^dI=1xZsB|cmEqW=}2klzw?*3`58M6_wCH1teNJ$$MwvcIsJ-nPxDQB;&0R@vxBmB;77x6 zsFy#DGuYKL%mHk9=>4R9F|)t;Oj$}h_Y>~2;Ewn^;I1Osh5XB#L8Z@NyVG-|V7?^3 zgtZUj_mDMjQeNWqn3y6A95eR~e$L(px&LwIZ%iPUVJ!Jq6C_Q5=U`^sdzp6uo*k}E zfU*MU6NB4ejIjfHS@6dD{%H}6IyXWrjI&9 zD=_|^)`V@nG0>4{2oR%n{9*RE7Tcw|X@4Y_@ur6MdB5fQTdvP?eU|I*xc-job6lU} z`aIX?xxT>l1+Fi0eUa-l*J-Z5=lXlDFL8Z|>mRuOf$I#{8Lr^QdztGj*IBL}S8x0w zv%CzRFz|$V|KBg~kgw0H-)LWm@h*ukUxzBDcSuj)&BJ#rZ_X8bmd3bJCjE;q z19S_$eL!s(#LAF)hPdMc-qheR?>Vl|ah>Km&2@(BOyI0kV*@Kv%dihw8mK(~g5<;O z6{$ME2_LBj@K8mcHVmRKQHRCD!A|nuPX12(<9hwMY4N*lmwkUz5q>|P4}T}{-wu8| z!Ee_4ZVA6?gJ{;|nlzUF$lTu6P^4kSr4kK0&@laD0%f#Ilz_LD(JtPE6>H0B_XVGJ z-v;eAm(%V`rh<2*Ez<6+PrKxwr`;OSZssvdxBmq$F33Cu-9ob^dKG?v^$PP?vXQ>A zJSX^}bDUI4kLB|`PTkWe8rjV@6r0Lxt*Aheb%=zWOgJP%q7;h z?_|^4RDXQApFUigCtKZP(O6-6Q)`f^iR3fL{DP^G3{&i`NT)9gt-OaOvzJ(Ud?~j@ z@)Wu+jsuo%k$s|Dr4ijKO>&E=s?BkB2l|dlr{ZQ~TSFk;)X4c>Vd}AKv!*gZA2v-3 z_o7kS`V)Nm8Yb>A(1TB-ynFWLDq;&3e0Y*~P%iTxvza{kXq@vn!|3P{(O~jX+K~6p zPZk_zBlGJmeAwZi_mtzFGt0j(d7OoIweOemf0?tijofQxZy0rhU%~S88SZWSc*Qt) zzQ)JoUgNEO%mj0ND%WiQmN(}5XmhIx@V<(x!}Bcf8@RsAGikkHqe*IPU6+haE&#G0)ZIgBIPXU-j~1=%xyRb%#?Nd!R_$r7UDQPW=`W8=J`3^ z*K(ca`9#K-5Z4Ga8s%DRx|)9IOwq@yr7uc9VcolmIZCqGLFWjf zd$bgF52qGA1KopXt9$Tl^%0(}?lBT!KRe%jy~Ni&I(*&Zs3`KuRK0nMHRGzLv!KaX zAc(C8-NPJ9#msmzu0DbeP7?-t9cY3*Jj`=EY>ak)B29g%llg$+1(ftG*-q4U$5Q$tAUa(YKGYe&yT8-<6a-i1`dQQ6Pgq=E`GU1Kf`K-CUk+oTCx) zf_vNca{f^NV~fyVm_Pa1oXs_w9RV*X&L1Prg{2YtXlR7GkXJ?gF73MAxS|mgJp0So zhNsOV$h!T&yd_#Up7!Oj#f_EglyeEV+$$d$e&D}Ev!waG$~DeuUsjo{*-s<0WoK@f z=%l=j*w9nnPi8iI1=3Ck*IcJ4EpE#y{_A?+#cuEZ@HRVFyf2*g?a$#&U3>nL7;NE` zU7z}Dc);#Yd@!7qkC^wxu}xcxV;k#lYLJaVY3w|BIs88N-MroTL{o$K zpmVe2PH%y_*O=bnYI7)C?PT3}=if6o9!mK3+d@+GR^=q88ar1?ZcGtNg7v<4WY;*| zkrOiQCUD+L^A;zE9TWO-lGaBB=ttw6UDJpy%lef&m+KtWepm3w{wCg#&5yFN9N|}R zja{SPul01L?b;ts4)s!>@GpAV3$1j3w^mDg=UM!X$leUTR>JGV#1L+l7kRlRk3X~g z`P$i!(#JXhegL8;aQvULsi033ap@g28T7cl!lkwU9*}Lo{uS{@o&$`x#3O%2zbxVW z@HL!kecXN_--!CAtgaW$b=hKFc3t*&>ZeKYM%qKp$N|y76S5ULFGSZkd2B0Bxz*CI zoPO*utU6)W!Wi@zPjbc5FXs%KeQtaRJy2&3)6d-7 zdNcyaelVvuLiep|OLxZw>uehI3uI9ox#IxWg-YLB#T>d|PV0X3f_2^d`Ri|9*WJ;) zPQ0eHyBIa7*P*^yQ+b}T^Vs6IV!dY<>n-(ZJ$26V&F44Z17FXZ;OS~(kT$;F)*H0v zX4&xUa?It2nUY%L^3{wU6b*l>-?`z z*|F92^#Cwrzw4WQU(^p&e(6Vl66>$_GM-;8)?c2nCu!v=YvaB=Wk2DbD@P}LZ%TWt z;SaW$6Y)8YvaX8Xig_#JktEa7=8CL|A*b`b^ij%$B!>!pKvfpAhxC7@xB$(Sq-AfH zjS29m(V9=t97?S)PexYQE9K?Mi=F~?7zlZ;te3R*q580^DE>`T3_YAV!f#C4jtxum zL#*q;LmCGQz`{7f**)0V$s<3M=H)kf?D@UpJp9EvulRSjGN3b9g78Vio|{8i^m})O$~=?=&TiTZpFFv;SYJA8>#Obdj*&)sYZLwQn!W{t zzzQDLC_O*$$^KQ^COnwEkrl4$6n@b zlvi|5e7G0=)&E}he$&KWz~s2*b9)@aQOW-YaM=^=-*kUdXwg~sN}!dL1w`&l+-CzXUgun&~; zqUhR*HrD=6{LiS%(%Ry5HZGFi82vBdpEZ5y=Ew2HXrD&+Op2aoSUaYl7u$H}XhyW+ z>zeI(+1AO|BpMOjSh=3f#%t(L(MpLH@Mkjk?D#anH|d$BZ{>7Sf_P8w|3BiLs$Kp( z5IpD6mC$LBX6OS8%jzSf6)(LS-kTX`&3_~t zGLOE!0O(669=R!j09XXn~G&CcXeXQ%w0S3q;A z&YGR0qPNLgZ#rC(Rh^-ooJ}|$cT)a(SrGbEe$uyzSCpQz@H@Kci0+k6>w#V8|G=)1 zNmrwM_GoTz=WmnpXgpKegDIT}a8sM^jd9}>?_}Lz18c7>{`%T1upt+Y2u8_K;2Y4{ zT1ww}?&Cd2Lpukc4bGU{p03?x>cNx!rYrBZ`sLdDRO$Yf;Li2v38$()@;8xRXQw%} zcD|{YqP6cP`-w+`JBLW8Ggyb9o2b(B?KXYWyHa^aD|V)+t6R@1&ri4fkkSD=^Dj3( z*ykM^-0l^?{V?4%>fnuKYm5^!Em(L(4YErmXIfPuo-; zu>M-Q)A8iw#BR=r+w*^XOX(;2{q(w5dK*)*b!YcXAM{Ybe`>?dZu_qE%s0wR()KY+ z`^4NYwtbv3w@rQmz3D-dzhyJB^owScyuK=qdV7S@<40R~=|{MuvPJ8T!5^XOIRt#$tTQGRDP^Tzqy|^*j6A zM)sj>GO28Q=5mvsxq{dL(A{ipAS|aPr-gXAj@@$;nLWh}bD!mV6hGf_?zin^edOr zlZSSOJMa4ezBK+=!gu^MEUvGa?8i@pzfAv;SZB53nyAg&3!O`@aRVvV=+Q@PyV6O$ z_xmd~6bGJ<^1Mmk1W)C~c3r)@REK11O&D-uy}D?x9A`K51efa07npsm^uySTlNS9&E19;d|#cYCouR z3G?FqT+G=p6r-IhohwPd2o{ZjuL8?5@N&$;3NCFsA9r;oH*>yu|J%V<=+QCnB>wmJ ztlel4p5|~(zXJQ+>R+y3QChB#6t5qKM*e~4TQmJX+(!JockjI2Y(iH!rR)61W2*a> z3g$x0FO4%G-$Mt#JSM-#d-9N zG0q7Z#rOXJ`fLsy4&(bjH2KQ2L=FSfvuYoEnf{l`nQ6E1|C;}jwK?Qsdr>FYWaZ+$ zrm1Vs#x(7o(z(yH*pGF37dk%r5%N(no%{JqNjt>q+2g6Ump>q`)^ne8~r9kzx3hZi-|zF5NV(y6`on9L7Dx zf(9Sp75`CW7VQJ4_+T?vp#8`&e6Sfa8DG%l((Es~m3c@VxP7AYJn(f~-Tsp3Gl{~s#GJoN{F_Giua1$y+e*R=+Pjv>EtXX;Th+ z2lv*#!Uuh$ZsseC_${ruEcsd~8#tfjT0ZY!uJZ@>ki}}j8GVheu*2fkfuAE+dEZdM z_Py*Ue>~Ri^U$nqv+_Y-hZTR&XKd#{NxvUF#QGGplR1P=?PTp)#=4(fxpTP2u&({E3H{=| zK5fmq=;*8!U^|X{gV-?oMpf2^R!3iz>GppR4E&bXwR+F$=IF|u1Ge6Wj5|a5kzQhG zKWw5it==>+4PZ+dSNXuBGi&!B%$r(#`G_mw9XiN6u6f>{!1Y0{w-5F~Zym(vX3wq4 z&-DAS(8fruT|Ji42|9wdXC0t>CV^0^Pi1m(tk^#WMp2KVib?3-v0# zrw$tGg@zu2pIWBG8~>y82e%Z~F+V{b1bDVKDbm!^pC`*^bdY;6C)w7R#tw^6V=3P6u%u?2;YC9(z)Ib?*`br`ZK*J-I&tx z{wd9Cc)qvzd{nR~&)Qz>?Zp_Fnv-e#(fh&Hoof&7WenP|bFD8ceV;wbuhaL^&;Ryn z6X82_J^iKcb)6LqS(cWPQs(z zQva1SGhD@v(tfBZ>P!R+NvO4yZ;A)obX1Cjr>2E&9;i-zXf?OHxgz8XI0kAhdU zfdg~Vo_XPv^%X9T<2HU`Y0oy*!leTA5nf_zu@ZP;si~$u| zbC}|ubw`a|FOg0^=`lsyIeLn<(P3AjUXucL>I?ety3Aef(06^a?|pgXz6!i4>A{oq z88~OU!`Uz&-aED2H77$O(GopUw=1}qfBk}SJuEuVJ@c1=xikhFlM{s)usOq{$i_}e z^zC@ii@}e`gj|0epig_Hdk5-VZ%XBe$J962{(h!B=oje0!DBj;)|hCVxuvxQW1+BZ zU)(nG7)x7OI}ezmUrccxQ0$irHZdOwmtf^QrjMa_L$B@db{l^w{^s>|lY-|RV0DOT z#uz174e*unLv!+gHQ?FSD|x@Zmp#2L-aoHxF{i^%A;A>u^$rUz-c{==niU_v629}{ z|Gq?d`Q>G+tOflCfB5?2`B~|U&{vcCYo=dxAo{w-4W)ef11!PG?Kh=0K1fb6uWq7m ztj#Y{pu6;A+`5xVd1k*!%~qIk&G|Lomkgw>z71Y=7HJ7N`I6?yz%;MZ7GZ)H@Skt` zm294|WyB+5Y;$4*jT7z0CGJpi;vL8!&ZXB_sI_&;B>dbP`Iaz4S>j)trcTZlmam)k z+hSLVnZAJrWcpIhvI`$=VeBFe@X`{8wi1yPDX7?sJKWa7_?PCCNSd541!7VE0Rchv>vc z(p>`2J%l~|4)9Qk?;!qNYxhHU58)e_W9~yb3-!5Z10A*!n2;5r z4K9{-o7q0T zr`b=_kN$%W#~hP$Ja@ED>}RZ`oyxC1DaV`OTMS#*o;Rh{4)ShNzKKhA9$1`DW!Ybr zvnrh0tGGW=z9`7zL%Ij1m-S5fqiaWu_##!5t!;MP{-SIwZz38vYp9yDE}H)^c3hyb zMY1n4!n`C0Pb0HrkFo2l%Q$NW`A(mW70=CBpJ~P37&PIb7VvesH$A@}+It>8(SB&@ zyV?(3tr!x@+ud@)hm3QeQDqg&Ijg*!np8mNz-q5ogn5eXCp}ZvO0{48l^+7VJZm7k$cW;G_U=cmL&qP=ok9Qm-Rn1+L`l)ZaLx$e&O1(eOQ+@O7q@9`hvH3{e< zcJBt4)x;2~Hk$`l2-Y$@omYRZceuRW(92=ks(5ZeXTA09diL7yMxEx`;2Uo^cRJX4 z+Z*3VP`R=5Zu{1^xo(SHLi)WneWbH*_h+0{)^^W)nffZ+v#wngB_^A@2D#%3Uz4{H z^Zzzz<;n%Lve)U2Gyt1ur9v@Di#WBkqGx3By~_WKw8mEEKsi5FU5TfuZ>8u3T;w`8 zBRdx2^qXpz$~0RzYi*uibk>LE7xH~uJhLd@*VR7a14RUPJ@#;C-9W6)HJxe$b)MRM zYS^BG+fcHVF`Z52K;yx3*^+y22hPd-@5 zNNwKxhzUi{y7s#XEOVCTz@Fdsvc5XW>>Fq(YxA!b!Cz4M&2?30i1z8vAJso`&0~xD z)20zl%gS9^D${R=?@vlh6KKwRz9g5NG;7&K8e6y7&X=!5W)jOpL--zIUq^o$$A3*{(%YDV zLB?l|63csoy31Z`nN#8BkDO4tUKQeCqd@A;P zKQ9>Rmpp61@^`L1ijKxQ;W+ym8qId}xQCLfYxCHorQhOLItw2oS1QbQw~>6~8uLvC z-85vzhxVdVZN?^nE(1;rxe=>lJ;%2(wPS7XRDki=_unq*-&RLzkdH%^##!~9p#m#o zBH2|3+Zl_o(Wp$>XV4+a=lO04$CRIApWh0~Z(FdY!WolYdm7lAeN$RzTTZmn-IT-l zFPnAJq^%89wrf|qz2*aq|KW+p&}oht>sOgU$DvQ{o_us&=|rtD&M=>N$hfzCowYQ| zlb)+NnPSRI-!?x_tvSV*w+cS`>CL(_m-lK`NpB+-T;<<-oWl#RqF1nnstomy5CI(J6nNxDriuI&8ssD5cd!~&qruYSs_^uXq zWrWOG$yRK4nP}B`+H~}^{2pB-R7uQ@s_~ThE0y^v&Q}7)cL(!s{GTq7Jif`-Pq!o* z=$EUNrY`IIj542L?m;~((VGkG5qQ+cr(pSSoacEvxOE1%8gojuzyE0B8gRdrGKpDF zthmP8#?5)`xsk2xU(MEN!zm|V6X!Rv+0KEOH{jRYicPP|oWwZTa85OPe9BZRP0bQh zeF3{QP4}>3pB<#GNDb%1JK-!cfO5KROtjydv|Uep(WLQpmcMG6K8ZxONv_6=x9ZORlKkh@xjvKv5pVrB43J*e8@XrZ79n;d&p9jAUds^|IEFd#<4_>XD z2dCJW?o=6__+pZFSLYS}`j-48q2uG|#jD$pd0Q<{kPlq{3A*&^TItdgE$Gn2yv%D7 zi}MN&{f<{JGHPkpp0f{|?HV&85om<9#vR>@*!qKye{t~MvcV$yY&qk){8dtPu4V%`9s&{6DcWG=2P&>Hw{b*mgW|~r3 z)r*foll%y7X?Y+mUjpW%^au3mL|WK;P-`|0tTC4-s}*|#TXoRVtBdW7eqvwWzuwaN zK$F#hE<_nFxENmt(|F8yS}NhS53y)aQ$rF|QN>t!19x%-&xztVq+hw1@j?-kqZH??f_po6!nD;@?$P)IN z$IQM&Beb%M8Z8aeuLGhL+kV;s%&)NjQC~qgqCS5-W_-2tV{A5Ed*TIncboF#Uohv_ zT5O+7JsP5y>MFQj33EJ0{%i^V$E)A=xA?R8Q#n14O$SS5*}l#tv17&CWiu(+gXm{y z*0+JGd~8A3B8zt2S7~br&f}LK1Me!|x33M$HR09khPcNL77Co0if1+(2OF2pmob5prEB8rr{93xv-`}J z_ZtV6ew|(|yOcH*Qt{8?*|nw31XQM-OC8+WXg;`g^|G9I)S&AI5_8Z088BPp0eCKc zndhCd$>;AtuwDCPjs^On4ZA3O%fD$&%#L+0eD*HSBmU60Kbu0nq0GUWrT+MOvTVA z&<&g#JPRT#c&;)W1@CkWui(tz6`ZSZF=NVKXKpnoW)5I8uBIPOFkg$E$iBXTRD-o` zU1nbA#M&A&_p#Pd7?sZ<@+XI!7>aYw+}F$}4>XwVQw{Zsxl5ncZ8mYvHQ}5nJ3ekj zM@r*A^r!f`bgP~~ylwR|*HrFWg$#P1=QW&dZaf7$rS`~mo=fcU_nAX{UoSk>zMno{ z*0yHX*(R`Tt!dOfV-7xD(KXoaD!}u<>r5aE4>66Ai_}|uhy+c35TO+$h{p%zL8g`v!!n;PAF*)(?@~Fydavpz@ss3($y<44<>S13SdsiA z^5M&W3jb1mJF+Kd=MMLn0V@mdmhY>3*v9M24T)d35v$V1+4IMe9RtiEhHXr^QPZul z2UUfHizZG9RgASRVBp>e&m(nx-hE#{1 zSp(5pjKi9TL2(R$8yhD{`^vDX+cc_^{yf>F2IA(5T;u9qlj51Va(2{75ueQJNxc!p z8B&=_-!%fvSLPZSL=8(1 z)g#aH@IY$LC&SMB^o{rM5dQKGv_;wA@Q?cdxYh^Y=YpO-e^!02vJPg=psv6$1iiY@ z>1*s4J7dD`7lRUjbFlN=N@B8VAIiATQ)X_x{(pPl7`7i59M9uWK9JBD^|5c@jMU!! zc8&cc$(*A>)(TN-u>r~dYWXMjnWeoIob$bpre;~o*@C^bf|%H>+bCWPx^7CeXmOE} z4T7-+Sv!Zzd4J2K;xb#DP@m;L+eUmDTD{-FWAd@HXV_zdk}qbCKKFfE@5V@!N0~;H^Taax`PF(()*0&f}vd+pxVr=p*fu9j}5%1@m z1K7wsHEeqQ7&7doZe&kUBja^MIsxCbKeAz#t4-Hu_aT3Mc9qTlAHF@v^8b9_7x|}a z&*>?XoyPxR$1pgHYMutpA~SuaZLklY#!mdoa@lxuMJn8dUNXpjjm-Y*w}PurmvE)F z2v^XFqdwpJq`|jf$FSovE);y90r^DC(E{~=k4O<8Nt>U4^mX}Ky0Lvt?CY*Qr{(Cs zNalM1(V0uX))31MQ{U?>}Gyf<*9rVC>uGjn{{BOpK zdur9c2YFVTg(G-z6ZD;)!Ecy9=!lq;@TX+ROxDK@SH_6r&4r?a$f|sa-++06?WPQ$ z^Zi}q^{zcptyAT|Rl??nH^5Jo`0+LPHN`l)m{*@G^6GQcpHQ90hxOFLWIz4@yKg$I z`ZE0wbX)&`BFveV2euXIAkvIJfaiWgrsdS!#0G3C@4V?qP~#1GR6e{Rf60)&@AY0( zK6HW#AE(R(vW)Nhjl&wPY>#ysd%E{eKdUiHuw^<?*MM-EmE+1k?~m-0FjO2Zlx8U3=>CS`VJ=<*f730QLg>k6MvWUkx1b_6D}WgM-9$ zK1>|vJaL-Gh~qy>Ec64!f6ft~aR?cf2&I{?j394z_gh*PXgnuv?9d$dIoV52R2)&_ zm)iC#PU@y&Y|*A&mt%`{jep)4`M_NTx|GU`THb(%?DM|BHvBcvEuHU8j%e+7Ubm!; zPg76QrgtsRf!CbkX1aQ}YXkC~J%^pF(@`$tgRi^LrIM-T>o})t9cQQo*~t2LDZfeS ze8=M2!mF%BBbOs8i$1mM2jyS@0c z4~)Am0p=0L6UVGx471YhqMz`;TP1v}+(qq(+IE23@^;9+Q)$AHKVL!MdCJ3hxgTFhIm{3 zoO_iu2Q%P>ImxE(j;3b~b9d2?>0w&Mn3cE4}k1 zqkf{Cgh|=B9ZvvnkiWphb?8kUcAWdJr}QHx(tXHvsA~nX_%L{q4*xB|$MuJ_FFFJ* z!jD_A9R_udIWRh0XT=B99bC7{G*Z7}ymWBZksCYH1Zq~|gYK9QalMr5yP%Q(A)3&i zXxPGsPO%98UDzoDv(RL*e=EqFQJPGP??0jEnw5cj**~-e9AtU^TmCjtPmXu*+K}+}B}3d9u3r=`C?`T+L=x~Ra0N`OD}VF{Jl^rGDVS%hzny-0 z=ZQm>ztYl^XMZLhc@4fl_5TaL2d+=kR`iAiyz+DLdigu-N7833j==A?Xh+oNHO~11 zSK$6?+S)`N*Wmkg z(9Jb_bEf-_ocRcUJ>1{G->nft`dae_>Ukr5+)clqru5uztxW~q%>DbQbBBeI__?Av z8^6{R^_*-%=Xpe+gRs^zxF6U00(0SEXuZ2`Rp1R8qiWIt)?KVTxDFl1)U5RWojR_k zKAj2wKl$sXo(~k${1liXz@$A{+rXvuWrIi6@9&LlHnmEpepOo)D}Ju6_$EodG50=M z?InG{_WzZUReMK_J*N#h^B!yktC*8wn=vcb4H#mCSQ`A5_Fw|{dzcfvP@WeUeoOxE zFjxPi>aM-i-*ct$1$lFV-j!m)?t;f+$SpIHz*ZTBAno~JCn*+_U=e&>djnYuKYXEa zB6sENl!bevAL9|Ys?{&zV`s0mZ~i*B)$e!kv~D;uw5etDT#gyO>v(=W^L{I0`^Gu zur87>mx+eU`6fo+bnOddC2NN|W~XY?Mm`>+{Eca!sQO3sgTIY}p(vMLG432sp3tTW z`lO?7mH8&JIYR$`i82&_oc6x_TeZdZKlRMr7sUH7|B^IG2ipZP^6lIY`O&Vl^koNY zL9?s{ecfLZG9&84nu4j=xz}XODUmVGGid0%58vHZ%b(PRWtLyvz25zHE%cP!HrkiR zH#T6~SDRogMKj_Dz1$qnV^(|jIXMsNQx<3KO!D3wp z)xVuzgjU!mTlZ;GJ)+js=C%p<^|88 zi}k1HW2A>)&Y%4|)j9hFe8U>~?BiU+c1&PwSTrWQLv#jQ2lU;PWEuTrQarPEW#L1v zDW08`X~gHJuQH;!n)Iy3`FaDtHBbT9!&9^pFKnU zPkpD4FU&_Nb_6UtJCk`CpypzMkHXrA_lRW30jB(z{C~?jY5a&EcobzGg zoDXqk(11TL2^5sy{`N)dlO3iC8GnLdE|O(Lg5Ou<;FHoEMenr#Pwz7OvFFi8#6u+} zr1yJbfBP{Z`-?FliS=!CF3S9~9}}{_7!&diYJHkL);dc_`Xc8G&nj5(_I zvQu*|1}V?mjC0ELdc_!RA-?&;$my&%p*Gk!vroBx`v+Jn?R8^(`+>gAR$2JeZrN;} z1*UKbH-e?4BTD~q40a;g%3QO2jn~EY`4NhGg4;+(~iHgDbn8 zZzJ_%_z*inc;YN4bdHl4rx?@Pkty?eBwrTiE9Fso#-Oipy_M@E*MH*rpl|^^Sk$c_ z%{=~jZ}D&U*H@um_N4mlXC zR+7)66O}1{0lm|{_#)l-ee>%3+1o9#@Gs^p{{)v4sY~~VbYJ?WYb=1B_OpptX1_Nz zvyZ)uchFzZOaMFuTznBzDRkE5Usb+{WE?*$SA1LF{4?*-r)_@+UCJo_CVH*?DvzCO z3=GcujhlqEGEBd|FGs(8$JW-PgEgiF~7#mwGC!PceG4XmXZoS^A5cYfk(YWus4sp6on* ze(r|99u#-BS+;YgG`1=Y^zwvYE%hbO1(kX2t*&EweIMK+tg%=4ZEs*c?4OMt5`4}& zcXe&nKYwX`&E6lHnol;Jcg6g*4AwP_k7I(hHf5Rx2f9NL`fXzWd!w$7i``T+b(~f1pPf3tzUTeB+FjP470O>$=JP7E47blJuhMHyO`V5kx$k;l zvR!k2?|ygK%F74coaNUqxC32#f>(O?xmlBEt^F<+zMaD6?QXL1Fuv*@u)6mb-Jw_n z*?F(K&AZ3#_U?9VOd#)b^lv-9nw&3=oaxXQesm@J;;Om58<$yFSNSxHr$Johkms$e z&JA}3uXi+sXA6W?_C-b0_4o1E5r%sK4IxLmk&K0Q=jlM7z6zSZt~*n<6~ zS2hvZk-E-5(-j`jsjVNV!PgC#>>Nn)6q?;3`vmZbe(9Tth1J>~fLYJ1B{b~3%e2>V zDCk+XH_F*sy0<<}yrTiv8T6_}?XM_rKmBnpu@~lbPvGX==a2L5 z3&Pc+vMM{TV9Xai74b>le>+az1A50d`VM^ieRJaKVAacY1+!jwce1Z2`|MJ=B;2Ro*2vT>>@XYbsxs52s56suDxzMd_^q#NWuzOZ{7y^FE61am@A`>44Rq=PsIDv^Au6xsvX0b@Vi2eah0>8?4+wa?THL#sK;8j$Tkwya2^#Vi3Ye}QdII#$H-efqDg$NzFQ z>x_K6Lj7N&S2Aq@-IPBcq^^%3r;gQc z=KKyPnuP{dah});Y>{t(e?#gAbCspF({-ydStETxWg6;OT&`fXG)P5dyFc!M=iVt`Uw0;>e~Y%@r4ZhB%e~w0{3L zn3s*k+20V0J$n6jVa#`EpDk_TJj$%jCo<*^U@HhtRDF}E2~=@bq@MRCRvgrKrr@=Q zOl9}qM4j54kNX(141B+sY^m~Mk6M|0BtuM+`WL;Y^iD84__%cK14gH9%zSiHgZ$h7 zuS~(1&{^ALw=!Go{;FElV7l;cwlKKB5Uu$)r6VptJ^M0z$bzY$?rh<3)(FK+(Zcc5N_bfh{p}H-B2(sfG z%V+SsWWL7BiPpiyM9ZMd7?(h9xXzWsE7n~HF1oeG)SnX_3HEi7Do^mLPPOA;igt)^ z?=Xpa?5W}r?EYGdjC73v+dGEAmFz^mJh_Fw)0y%-4_p4ao$i3Ae7*w~w(gH`7t=W_hA_-mpjAEtCM<<-q$2tsLk~&O-OWs zo_VpQvtl1fPB%NR|8}fp3+td(NB@TOJakRgkW7VWz9wl-0k092X~$*u0h6XMv1Ryx z`oqEiDi^fF?;HBjmxoHDwpv*Z>?#kuU!(q^9~{R1Gr$jLTjDcs^WJQfe&X_v9h+$X zSV3coEdyC6A970z+*9Y!91P^6oN8MRG~~y226yFoQ^FPXQ{fj<- zO>F$wVZo&_Uggw3!MyzH(bYA1yWViDST3=_1RJ;$F2Q5@S&P(L<$qtG8`^!hdhZk# z+9I&uhlB&kj({792ZE7mW72V!gupAR*pp)`%-?i}OeS9y{|-L9q^bRLUoJ1pnkDr? z6G(PIn~Zy1|LV3|*$~N&nf5H}z>)Z!CrU2QKB{)fAmc)iq=AO*cq2O2*n@okiTFTcvg%~47z=bn8wTHBFmHOl z{r=N~+~d=2>9g+8>>rqm$w#71`Z?DWWvrE4WPPJ*PPd{i^{4oP?-$UQqw3QV52?TF zlG1f|6x4sDSvPTsuhVef$o**O;+Id6ehNPAn2$X#X=PI>mM!rh?Hu(%_Gs>TZWQ11 zh4E{N35iX_#;}cyn73g&*+zbc`;9T@tGgJ3clx@V_kQLMI9@CHXf^aMT~)z zo&PXTmw!ObI&ZpuC1*Kp=bGC%nxE_5IW)SeY@U8@ zd3lqcK$ioD%)P2)|L?qRINIA`%y}#E;c4~b?o(EPB1J>OZkx!H~3H(Im7urK#!_ju{R`LyPa;NcqX9~3TP&L6(R^P717vYzRyv@dh) zob;>GkruuCj^5S$h33k@ME!!RXuCP3yuF=_e|1-Sj}fz$x$e!bEjPbF1|;-uaLe#G z-;=r*%~;vOHDb&~{&=?lreCQ3I>|in2`(LQ8SK37=HW72T0N;IWj+i(lfY)T+sJFnWZ0zSv-j?{I3?lZfT+% ze%Y#ID`dQ^a$2IX82&9hpU!ho?WlbR^c^&3Q|_-jkwv!O!6DDjDlc>VMMO-b=|l&uiFseP@}n3lz6|bZ!Ckj9z&dMx_aeC8E#uu- zvqkjuCE-VPmGM1e=R#Zqug0Cv(=I#CJAVKFLGKskT~dyF;TgG{#7{k3EMqTaEVh@v zsC0|UQ9Bp(xAKdAfa6z-;CM;junWpx=YmP}3+4saBP#-oFG=L!V!8IVau}V0jlr;M zlCCjsf z^o8{Lt>|D@2BXtz-e7$R_%;TuNRLkN-pWe8xulJ%&y=^QuQiqW*4HUDuXv?CO8q~Q zPRP3Pe+o8WNHNC!(BAuSY@+OT!KLy9%WIWqaYq@H`-s&w7mg$M7IF4&X!2$LjvFV3 zyjRnQN1Ueys#ib7T4CCpM?ZB7zp~-d#%`^Nmu$SEDfvefZM^7T;)7Xiw%B)lnQzBx z(MhRJjomd_@50VE6ASCqG5jdT8fbe&y0G~RyI1Rs zZ_owpeY6uDR`thZH+$0R(7kGhk=h`AdrVVZI1k&dzfzPxx)|=R`i- zw!Go;xvSP#?YERaKU(n36&z}>&1dIDr84K{WpnMN9PlxpKdbp!rN#R~yYp+!E%K^Q zb(Gsq7t!E0r4e3Kmu#bRFul@t`d9jH`4_u^=9uudvFU4bsZdJs;`@jBJD_=^+Nrck zr!?xH#k^no*7+j*mttOEym#68d7AtwKR@qYR64F5T0fG^=3W#1xb#!%vtxFNH-q^$ z*%>2FJ|$m(aVH19(SID5c^~?ZV}Kj|zw3N=&*W>xg=f8$ePoB>7v$^gdB~=7;JaT* zrpOOQeZe#Kj{d2hM|&LMG5KiLXkWeI+_j!Q_SNTTJ9d1{#gxAE)4LwxtCXIZucW>E z&467``y%IkSpRiYf;_Swe@9a|pgtO64R@>Ek8zJl8}Q4VWs~s5nlEc|L)u@`X4ic0 zV9bEuysxs~(KN;J>KbwiuHvX{Q(uS&peM%U{w#kvJ1@-%=f2IzNf-6!tmVyPhQ3%p zj{+P%5#NAg>;)0wcu4&Ojt9VR7Tj*b&!L+&(XFhBrYC`Q5;!M;QSAq})a%oR;9(5; zu~|+G0eqQ~SKr8f+#9``L*9`a4$oBH@Z$B(4bRO~`ZlhcQ?hx}*0A~#97F^+c#868 z#~JYCp27Y~;mq2{Idg=uC#<$J7DX7NzAw1d_IcT2X>43&)#dRC$b)laoYE-nfMO7o zm(g<-eU6;6_JaGoff`JcO79ey*WrV3Lu6Zkh%U`H+_o*?gy8%BTwG(Wxhk<5zDb(v zIpZ|uHZr$7i}NGaMDoTFT8UrjRR-82JOs_8DL+zs5i)l@bl9Z01ZU>Vn|qu(7rDI6 z(zN<-#E12UQE&uKCN3R5qP9+K96nrv(J^+7>^8@x&&u0WHa7RPs!iyhzzL6i2S4wD z1#lVPpVN-|m5&XLU-uv~Uy7*SLE3t2e*c#+B-cPAdzTHo0ex~*v zr)}`R-?qe~DP!Ab=jiBnwC`yB@RV)GS;N!ymHB{4wLyz1{-W{3!zojnH75sL_>#U3 z7-T!?18%YHnpQP;t?j3p|^Nud$O8+MFX)%-$INy_@i=d^F%-M6XdAI z2X-qQ==+->IJ+#OyB=Z&W)9?3hg z5cyco1=bUEKBI8R^Y=97l;~v+pY)$-rM6&#U3;D!oxC}l$~^Nx7QPD)K4s@Qmq=HW zPFL#dQXhju%adLB2u1S5iewM6Xv{Fi453T)IA^#a#vs*suvg;&`;&>I(i1**;g7>R z5BxYxtR#c|xMNbWB?5eZ=3pPTf)?+hwXNoj&=0oE-duOf^xc`S!#CLem$~Mw!B*y7 ztaT0j3k3%^_EGP&scwHMP@P&q?1m|>@qm-U2@{Y-$ z`ruRc{yyPCW#|{l`ZyQ_2f`h;u7Iv;v%W*$*m5JxvF2;v}rtww!i7Qzy+2Cov z8{=4{U{0SHHAejdj!rGsv03rl1k)~IJa}GT&&|^h5xaIp>>2#69!tt^e_F9@YxCx> zP4L`otPfmtT3pox_}}5i$akXZ1g3K|o(XpD*NU!a zCr`viaPjR-S)6^2_(P4yKJ44CRFB|UjE6<-uP(NqR^PIHxw;p5!T__+7(UW|Lb zUu^MTf_Vq^)H_{DRu|R z)ZBKuxX8o07cavD3--gp*Hb2E`PxW#m7F!w%}Cd^=f~NeDtPM|cI*uo>rd#8LJNDu-)U<@B_ktr!+> z(L0_4@TbbuSo1Z?400Ypgl{@~`f=l&AvmU#wr9f{GY3bX8_zv#0zDgwW%e;nn&`l7l2ho; ziO|LJZOP{7Rq2}v>}!fyaw>hdseE6lbjM&0J6R?Ab5SqQ9L%wD@8&kU$DA_PSA6u1 zdMDY$-t>9h-c}yT`OSDLcn$(%cVRB#p20>8!zs z?1=oi{9*g*8`8W;^9d`r3&?Hk9+AIiulZ(UvKerZ^?9WBQ`&DCiT6GU{mjQeu{tMd zDl>m?0`=IP>(+a}z!s0srCF);;se%iszqa5Pew0y>)7M#80MGYq^ETZDNuKTY=!hk zgm=+oD`UG;t9K<^oSSSVPLWficfM}``8)BIKH35wZU_J;x*@;Zh_N(KyM=f^vS<2y zxDA|lGtb(}JS)vSYZLRVcIH`a^h1h%XrdpI#eT@rp0iaJFplzm&ygwoy0d~;b^+`sMUy@OMTWm*rslJ|pKYOUBZ#1~fn6nf8cI@zAkVgD& z&|0F?%}xlPiD;bocsCjL67<|b`jOFKq+l8n`$=C(+^V0MH*$rSBGb*4q~AzvlxLJ4 zANs1M22-6H3sk1!-P_yND9&EPiDv1tthpldOU|J@iEa<4rUPHvYU2}Z`L`b?e|!h~ z^PkxrF~?F3KbDU4Ysvus;3W*rT79K^YbvH#!Ewj?5wREl1w9%sRquy^s#K%+9sePX z(T|(fcI?C{(aU$`O9Wr|`7dpX=?rG{(I0UJd@cIuzmVqp=4VZf_#Nq71m!;*SV`PQ z>f!#|;t$z}0x9yTwGWw_<&(sHko$LW4RHMjz1xy8H%7B&3$jCdlPb6_#ReOSY@xmU zGOYKGzspo6`i$2ce9--4GU%S_0%aT$6xkA`}BpMMycZTs>c zR(cPcVB#Xj^EpAFr4%)4DZg17k@rauGUT1JUg6*BA@T=TP297<;u>wA9W&|KDim zUszf!YiFsAqE*{I>N$3`Ij0$mhqcdT+u}W~2c%PA3%- zAuZS2OwL{(H-$~=FU3}F1kY!HXGkABgI~_BtmC>0|Fv4%e(GJ&t`Pl~neV@2f9dN< z>Lcp-lre5xu&DkbEVl|SJ@b7gI!x2mjzDFELf(4|GCeEJtI|pU+R16#JvYgvLK&Dg;xr^9L`}ZvyLE zG*4$<#U2b~8GK~NjUPxZ@$UPy?^8X!S0O8^yq><{K+hfg-F_7~IBT}Hjj}2lXQ7XE zDpRzmd35c#u{f?R`0x;a8hCLHoYo&r?q++T&_DgHqqkp~Pz1 zV#iSF3FNQVK6$Ng=~?v=4WSxY>aX#TMdJ}N#Q(N0a)Nov`cF>T^15scwik78^CC0Q z*MF{l@t?UnF3XT#W~Ui+SWU zdjn^-gl7VrEdzaNOd!w5Z~*!^M>vZG@pF2LJqJh?{sQ#zvlVj_q2rDV`J!AOpBopZW8s;T%*Ld~g(v361z?k$-#9le9De1vfJ}de z`LP`rW=^u{pDK+DHb3J+bbee=8}k|$$R~=${nNFfc5BR}#m35iH( zsOB3w^DznHuOHpW1S!1v4oFU=5rtGM?N2;JdN=H^Mjlplg9i|Bj*Pi zqaBXAD8^#6mkNCQ{&I}pG_Lbp!1Z-Nw#UR#`aMP-d*7CM8r-ptzXN-4jveEPgV=*9 zh=8|$OgIwkBb?=9+PZ*86mA%s*DapWP>1t}>HQ7% z-+JB7{S#U<_RKI(cuvq*x__eNgjlEzlMN`o>ce?Pw3Q1fo#@<9C2q%e#VcHugcq=X zG`-w&=8NJ>lrCHZ-4ne{`z7o{?3MWTio)7+z-gi1BTVh@R@jk+i_gJ!ApVC$p}u$C zW1`r*R`iJhv@gH*6Os+Mo83j=bqHtfNx#me=d`r}52eFAun5o(cmZ&J%#(ifPx{Vl zg?Q3iCSLZJikCK&YEH-6?&zX1nyD%7C70gD1&P)#)hl? zW#ChRw58%n&?s7@d0owcm=j^6H?w{64&h6N$$o(@u?}S&4X`dT_wApUhnmv-csI5g z{DazVdPcc6P<}Lbq1**huNX6+SLnAAc|9m@)2m9H6aOyexE8DOR;cop!KR*E-jl8} z@q)KhJdbvC6#B(Cc6rWt)K?~&!S@FkuR3AFlD&oUg734e&pEI|pi{*E9(~2*!f&UE zCg_gNc{IVEqj`sH4e&%7e5;vl0F)o`R8O?`1$_93(3YXB-UfvHa_)yN=Bv8gsx?!c zif65DhuRI=%r96ESl@`ECd`k3ct0NN5RKXr+QFrO%4X3jLOWpxoP<2X)NZsz!~L*p7KTCsxbN%;$EcwHBCSGgV_$U`awhZfY4C)OD+9ihUy1S zvmXeyom5|FwDg5S)?Gz;jn<^sps!Y!49d>)_TF8`@~uJQft8bUo!f{i|?*ac&QC!^$A}?x<8=4q5A=! z2YOjZeF1hZY!LJ!zxW>nSudyyA=ljXR95UKV@$#L)QN8p-435g*jEX=w&u(>yrW~$ z5AyyG(h+=97+*v^@e>$h$j1#Fe1Lw+kLNJtcaYFVemLK8pUi9gIK?CVa_T#w4Lql= zBHLMXV*cpyR>J0~IrFr*RMtzhMyvK!5-qhW*Rb&H#&23gal4O9ym1-UoXG1#@XddR zJ&Q%C57?CAHN6b!Jz{ftsWywxae3imo)EKwLYw8U@Sxu-+A@*{{nwALC{&<-!at&y zYIclGjTo0OR`IxWfXn!}R-l(@kK^5}AkJ9eLf=`h=FVr`2dQ6jy644beWh-P@RvC7 zn->LWA4UEO_*hCs2lzSAx0^WKw-hbv6#I}z{P^uv_qh=Ew4kqFV*EtA(`mk&A?&Vq z%=r%f9MTurC=G!4#s}erqb330Ade-O3*alz-x0@o|U}+O68e1nT1oktHeXmnl6;GsLo&1va-GRdf18sK?a{*RIX$kHFSX$-YW5mIzvxV$9U>&dq~C_wJ=ZclgM}>u9s9QGc`HS3Bv!`VC`yDdbtL zdHoe4jJEFdmuWVXarSTtboFDrlR{(K>)|`nZS!rh)?W(#?9-*btLc;;<->Og+;hMa zzioi$f5J0#0oy_19!A(khI z>D{x^r1&>ZXV>=%`%~x8Z}(Ck61I=liQ-SL)ToZ_EAiY>x36c+uFV#Uv=qI6>c0T} z$+i2G*A82_R=kM5^%(o|el2X~d*mY&KQ?&! zz|-a0{Wy5qT(s8nATjM7{E%h50ru7nl4l6>zQ8-FSPw8ygvSNpUCCN8bGXiCOM3Qg z0dJS9?&d^xw+u@xqmM{$>)D>&2B-;sxg8h_<-M$0Yrbw4N-~*@sE* zkK&ovp|np?8WgyD?wg>#ZpXi%-+KTzo_6&jG(G-U((M zK87-~4$;@wvwR84M{Gn{Hp()D?gg#HNgdt`9TI-Mt0r*}y1T}x7Z-SzyLO+5q6gA? z9QD$}I_qSfTrb|rQmk=8P2h<+4daLd-sD<@Wxe28^kBX_=Jh0wfw$9FxBCUuMFIQ( zPxag5j$!io*4gI{SBbB{R{vaoWyuJ9UJhR!`?;x&;WvCK%x&g`kH-62?Q#CS38#RM zVBX{Md@xs4f&cvZN3Pe!%?DI@K zZur`1|2%xh1dSC~}@UXk|1P-Z-Q(R z@L(vZt}TuhYJaAAVec^&$MTuvJcBO?49X<1x&sw5FmqwZT>93qhwz=rp8s3jbs% z1UU!T#>5$ca?jW{tbgdTVVyyKRHC)H$mjhnfq9tn;`P=MjKSnTKZ0?%5&eMITRhjk zNaH2avu#OoJq|Z%9Wvp?U=F%cMIx--hRY(gVw;{v-x^ zZSI--ClUwxwZxOS;X@Fq7T5%f$Hhp{Q+hqdeayFFZNP&y6t}e!^bTz?&dR|yp*-=M zd3Fk?eY_p=o1dl4_}&7pd0p}w%=pHp9G8Of+eFwWk-k=xo9!HwhvmUKj^+6Q$wdAR z_?J6C%X08syn^`3{3piec}1bN-tWOVuRl^e#;+NeQ&C==c7$z#@Dd7_=wbKALY0{B1B#wg74>~zi4D(H77WjRDA|3;=$YbdW|-!k^MINhVJV%VR2CZ_ai zsvhYg7Q0YCD^B< zx;D}hALIJd^@Se(-&kL?|DCvv?bGtKeTue^o{2LX|0jy`C;0uh$T->x{T>$1-@s1A zh(PU!=U(Tcn`upezB)$dV}uj_gEowFmkqQ1llTGb)RX-hY)fgUq92wtVZ7f3+nM}W zh43}N?}Bk*Okgb&z8Z8iJ`{Rkr(&!r4n72bMwNCj=-GYm%1RnPt3C@`by(~QFTr_( z+hD8C3XX*@`@2DHX|U>7w_zTsMS5MfWp3yEPUZ%(3+G1v*9LdAd4oH=1h#4;>_O}Y zyNktYPZRp=^#R_y!@9pr9P*cH4YaQ$?Nss`V7&PE@MUO>4P*=Qx?v1`mTXmN3#Oox z8Eo&J08fk!JZAk9o}mk}%Nh4D!Zs>D=G;X>1Ze$J5`8(~j$R*dYyO}od=R$kA;^}J zb_ezsR=W>Dz9x)~_h1aZ731-J7>}VR_e_@WAGA#YX-98@FJyq^g!P9vVBTOjz&OO4`M9fOf#I0&4Tx z@qRyFR9^7}=|&U<>x8qVZl44D2gk?kyAO5PcZYn~Kk&nTj8=&v>>vCDHo=cODoawr zvHLUqcK2-PX?91g_G*9Cz9QHh1*huBR!v0ld^>5ddq%K(w1Hrim|b3%xEA!b!8*|utlAxO+4ucq%pUWU+bOTuTCZLE z`;MyJyIWAAXq^@&I|6rD+C=uMQ~Vn~WV`U5Me%T5ETG$Wmw4@V+i+E^#AU}Ct9JJV zQ9Ii?$6!Zb-$dMx^%BmdVQzG2?JZTLC$#Ze?Ig=CLP@7`r(H`82hTYrw@Y_7fGwXl;?V&yVB z=JcQ_1e}YuKzr7XFn;$+oPu9q81%5U!3+CLu#+%9gxC5pkT10CGog(I#m7Vu*7vsc z3C#f-%=gsZ=vz?OcPdXb_B(NY$(6Y0jRKruDoQ+$cYHCv(7rp3>#&)0ZkM#Ca8#Vb z*y6^#1$!B5*VIZ+q5*c#2DING#uZ#>(`VIMYdhiTH_3>XK%WF|t4OvGd_vO$yk@7h zh4&uVJ;8~s-ea&olK4)Kvs@rgzrcP3>I(b$=wlu58z0e2VZTETl)nwW66no0Aaw+2 zoXc>82B4!5($HEYsFU4O4w^|ifDGSfzX91i^c!_;=*#wU-lyhuKG{46V9)V+JJaR~ z9hjhgdxHC<99PiCp;tVsvFLspPp$oy^r38?yGd`Pr^KDs{gPdI_e;p9VC5}S$eV5JD2ef_C z2WIZ2V11fvFXaLFN9A6M?S0)#`SPT_6xuU+KlW1Y&#{-1O7Ero6}3go>A#YD5^^67 zeTVi^&S*O3Gn&70@1-m^*MM40#$F2bKiW%aCjGZT!A#PL>IY7<9|)`yQD=S{KSdL_0r+Oo7pB@v`L2d}f%j6({@^Aa z+53y$_qLZ}_KEkjml8fIG|PUQCEG*+l#- z`zck#qjXplQZ)ME=Lm9LAV2sTj;p*XrrC$&HL$hspdBrvy-2n9f_+2u<9vHBDARv> z?`5`S?`3v}&}RRq_g)@;pZ8ww6R?$_3)oFq|K2}o@8u`|1@>O{Q@fIVZG4GrV=Qm} zy%(x0luL+oo5a3K%b#WMh1w(e1H5f(Xso<|Y$b1-{}Mbqu@^O7i+PmJ_^}^ht?Pqi zJMlRZTPe=6V!ejnnP*$@fU68^D0uEMs-PcpdSZ@?`G>(jMdw^_;kVMke-1q&uSIya z6HlUH9|`inzL8)OT?_61F1px?{HhqI1fPR|4vOh)c&L3%QaH={rF=e5VjcXX zJ0ag;obO5DeO2g){GhP&d3=Y?kvDd`?tx4}p9k+KzwWlLp?ApWOx|lak6eK?kl*Er z9{u|m@?k$c+rYFZM}9x}E0hiVJjqLGK|7-K@N2>&d|t|g`aFcQh&am`;&HYxEkFDJ z>?Ny0$7`|HS%g1I{(F`DL5ut;sx#yioOp|6!x>oYJ=QsiS=OOdROlZQ@d_drHMx_!w+>Z?+L_$BDi25Y{);*AIE=9WL^}mjlj4Pg+iE zOG+=CSo1il_o5vCkM@UA|8`1`@P7~w)N!%fj&trd4d+>^_oB~^A)OoXvJFFT#GC4n z(w+LhnD1?30>5ddx!S}cI?u~zc|k+*rTE4!_`U;rp1TsqaTYuUS#aUqEZAE<&kF2` zN}ZR(uEUx6wl^Q8_DN@w*>8n1Q8}m#uBHjJEv|>(gpPxcpJo3w@j)4Yqy8wb#9`9^ znr!`_5b1dxx?L{dM+-gvsPLY^**?EKQ+4q$bnGk{^PZUa5z=f&Sxo(7-<8fp;QK^= zv={tV^Tc`JDXs$FkhPPqUYzpdD{}A;Jc>R|d&(H&NJe$e(hErS(nMuK8U5V9U^`)a zDFcs2ro*{9l$g#>VLy`l5`4^vD_W29qEwF`TuHovf0_7~4kPa)9Db4TD9apo0i92U z>_p=zSqb04BSeFJ^D(r0H_|L7ZGp!xNj5xTkDzek%y!fp&U1$FO16wv!M z@QJv{4?;c=YG>sCp!aX^ekz?qc#G1~W$-5+6n5a7a0Km1mxuhfi|@MUe*4!(s_Q;04mUMzT~~ii z^QMmrPTx@9v~E-V`fZei@ayWErLCyK*Q~u}%T}bNOX4N15#GF|ss6fpMl*if+N~dJ zZj=I0`fXbpH(vMg07r26xwmjrE2@R1#00#B+RG zYeZ0+vs+9T1DAEF~&H+CY8p&l8(v$eA; z9MXFux=axUUSCClzAo?&>0VF#GO5q*Q0Fd^tCtdlBHgW>J@M5@5$|hnN2c@`j>RG| zJTL*v748YiQlMv5RrPkn!mXkB>RR=%qo=RCEgY+x37nL9b?u786^RvB)XlgG<-Bpl zQu=!Z|6Nf@kCgPraI7s756?iFXsolRSKr+ij_tv7WEU47rHS{3APgmDiC1qn6B`AU zMMCk&Y@`2&EOl<$@?3;jX9>jRAV=#Kif+yA&K$5T}B0oiFTHuuH+9g4ZdComyPy z3;ha~DtJG`bMFi*II7@~f-;|T0m?+0sES5?lta8=37%jdiG+R~4>mM{9i+)L)no~3{A zLlthf$8+hWix+!wU50B3u1Z`>)m5dgYIW79i$qwZ_w~fW?U7wQoqN#*BGKN?NY5%A z@$wO!V0T|9T8rM=qqoL(^>v4Pdad|QV7l8nclAa3;@0?31T;O7UcI;VhHwTk^7VwO zjsL6(Pyec1|3!|-NtCO6OrGNp&G$mognQd-IwJAjcxDob&xqCL;+UX$$uz|i6%O5I z#?q69&$a11Qk(Ji38xdAE0eErJKM06BfT2S6%WU5?8LAEWKCa)+i6X2`=s`2(pkzQ zJ8yM+q-UprU$*?pY9IbBQxUTE;-V)M>5Z=vqP4d-+#TgdPSM-h9Y$XRMqWLw-C+_Z z9Ft)=wBg50!mY9P4!pNc*ZJ#ZyFPzCcI`NvQqYLcghL81`^EX|Ppk0AG<2DKRQLuZ z#|DVl${wqXPrLKe8AQN8d zlb0FgJn|_i-w{>5TUSgDr}0KQ1FG}}-TMV^-IS646!{!qDhC%0KWU#ZR@H0Rx^<@h?cY z-uP6nh~7WB{PAy&&2t_i)IwV zhMQ3UWU(k98bxU&COF3kfb(p^V|c)C<52VrLZ6!n`kkR;S#aoi% z(PatF#j}I{;CD$l8h@>Lj!XZ!ApInyKZKnkGh{UW;{O69S+Icq=DsH3*?!HPE*;B0 z0u{QDApe;mqw&{@PZRM2R;KA|9zF4&88RAw@!y{@j{Bo&3Vz54Yiq_Qrf+TQ3X9E%Y1Mms z_lQ6^*4-J8!$i z6kDt|BNZdk7elJHzW5%|+|vsaxGxHs^!T1QCPBTu71mce6-|qgSZj=y3Vl7TH^La@ zLO1u^*xJJ=v6I~L<2P)rAouvGwV;OST+H(5}RT5S?ct9JmW~-{qG<2v>sdxw8{&V^~z(h}2EoZCHp_tP#4xkEG{-d5qd{! z9P2{VMw}Lq$RiMo^hVkvU8?>`qe?>A;mz8is-p!xt=NpQCJvp3dm(7Nx3fnMFUG1~ ztw%!Q8dYGkZqj*5KL8bc7=0fs7pwuLcgp+049PYg-61ySY{f)4-`{x>8;1(e|>u}QACd-A2ZtL5*6U{-6 zrKTcOi80h*VL?NdsRfeCjBIS};Znk_p||eD_^L|{>+z1hULK~*p{=zG%`3ErDmkh= z6PAI`8jGHRp2mH%qqQf5d1ouyD>{ogh+W$k!CVmTZx4szP@y)9akI0p8@1fm6B66m z{iC9c8H2qs$X*Ud7=`78*z&;-&7ZB=>?K<+p5<~BFTCKAPY-eE(d@l>K1<|4qh|gu}3Yaoce_a654q;4Z{ngnI_=nYfE_ z&%!+$_Z-}Fal3Gr;JyI&2XL3-o`<^(_l3C2anHxS0QW_>FUGwP_a(R&eOm}|619cf zhTD$Yf!m3@0CyqoBHS}@&%|Afd)Cv)A8-!txevqIJ~<2Yvp_#f*#C8waDb(N8qe*Y zN|)!)jxg%{S+yQHJ0`;~5gpdoXVtpI2*3J$$Y0uml^-A z`De&&@OiiNQ>8cPr-OeuCCisir}UTRdwO#D)9IAlM%YMiz;wK-uXH$*e`fgw1|V{F z!b7R9ulD|Q$@l)}_PJZ5$;EZ-+aV8V2u<;<5R383*x{6z+u#>p`J1Hk&EFVQV*fZx zp8g|u3({z@e`0?cM-OZMXyWK;&8Q5oIjtaaqif9w1F>ELu|Fvv*4(NhjQA1xU=K>T zKVy9)Vlv+N%fgH=DVhu`zoWuZkK;=eT&m0XOuP|qq%-i9((gK+1$!sw?^ApYxJ>#1 z#(m{7KLalJ%Wx*%h&R$1_+`@1FrEdEOwPYCAo;GA{*Cd5j>+N1rpaLgZ_uToN@w63 zq~Byb3of0U|HdxKKMhs>8-`_k8Y+Em%*3mBBb|ZY7*u>SVLE?9j=#XaXy7jz_=^Vq zyJ&#NMf@?!n;AyDrfUOHf<~GQNO;=S$cIm6&{%^+PxDYd`avtfpZKilw!7i)7Jx^K z6dWU{ZUDZFbm=vbfk@-UfejgP`GP1{Q4k3{r@rFL8 z@^x$ayDKlHqw*P-W+|^%M)H!wz)uOOz*8dMJA%qf_5MEA?+jV5>H7WdN-1W}@@BU0 znSbW;LKK%2NAnZZba9s8q$_EL&|Z^11U3Auc}l|SQxYx=Ftp<@;ql}0429b-A-)>J zbkC(E{6@coFX#+ysZklmU#3@345;`gQXDT%B_(`pNW$$hY)g^gnl7&ONqFZ7LtBdK zQ`5zDK?wtj-zL8dKNn?adtgL{zZH=130=b5PD@yebCp8V#Tg~{m9u2{*JmVrE-2w0 zDG3(>2u&A{rWo2DR{4BSg&&Z7Z4XF#+k-SmB-}hE;ijO1N{;Uj%kXAZe{Vl4 z!-qyCJe-v9h%Vu0WY~7Ml-EYy34!+TfU2J@Q5F7!gm(i7O&5))C2abUgl{D!d~s01 zH~kE?FZ&qU9vGGJH$)|D|B{67=n`HRknmN-@6JIP{(e%zle&aY1SNb@g(E5)b8);T zh9v&fu!Q3>Uc9W}Eq)pQ;{Zd=uFLQ(J_#p+67G?B@w-tO-hZ9K0|-smY{Lx2OJ9-j zA(j3SrSDUU-`OFFA5Tg6GgWUltMtj!9IrW5c;Bc@_q0#K+fx$$ROQ3tvX&l?<#>+p z0l#3m3ZfDgmNFFIOUiI@N``Nx^{J+dTP1(3*d@b9QVg}iAsHSDO8CuVGXAdzCB$E* zKbKN4sGy|NcBypR{T#1dpOi2fm2gi`!o9i*536vJp?FQw^Dkxy=y_&9;%ECL{>`L> zuZ>Fhi0UVgq-6MU00FxBNeLGyx}VChz}u!Q|CtU6pON~|oIjW0-^+fZ6}VNnRzh}0 zfbYVT3_p`#h!1Wl7+`2S3Lt1+lJeQ^mU!F43jgp1iNEKpf+G?>+`>@2;$W!paURNV zSjL}EN%-PQhT26@8UEFvgd@6y&mUx{T|6qozjaCYqEEuNMi^=r1ptjp)5XhC1OVT@ zU&2>MC4BQc626_1uznLmt>LtU>m;4FL50^#I>S!VHYR1d8oz|~3N{RJSk#}A@d?F8 zwSVnnBQk!g;=4nI*SKW-Rgzx2YE*{Vy99k*rP5tHEaL+TZc=cs;@6=|d}lzyO$zQO z{C|mSePiP)-HZKdUKrdhE(8mS0(Q<%ci-@a4-wm&r&H7++cugMhF> z#w-PJ;h844MY`|=1~K0QPdYcQC>{*_$Z1$>lj(VURQQE~Y&>VF@JoXR(+p_fJ2K*p zpn;DL&dtnUOCpiNSBI4R*7E5V{Hbhu;WP0(_ac~eDgHGr`S~vtgIcD1Pb%_+GqrT_KY&Kr_P5fWopTB?XXvr>r;h;(1wsa70 z&`j>1nuUM+m$KH zqwxLF!TnkMhfVw*Dod_Q(eKGI{@J4-Q22e*wBMTpIm+iU>2Ds&mAQ%Ezk(8H=*L38 z|GFIQBVf`ePY>p$zr_c1u1l5g7JrWU*AD`PKS0m9E(5Gw^Sy{H^w-%ft^hW$RC)JQe-to3h*2!ch}{G{^X;=_dXg{n_-^@#%jDbId<} zlYS@%-YVZWqxsAC&12d1tLY|x_O&6Hb*b`yYa|OJBNYDI-f8eT<_9eb8b$w|Y3lDE za*Xc|%2Lt)(EX7L%GK9l!P|H<Zf{Ij``7QD4x zT9YdJ@0I7T-|uaj2A{MtwLB~S?2EHRrymXca5`r4gTkNG^XLC)YBE_mr05?T%HRJV zpJsi=KH@Y}%Y)+oL@+=9CsGy~>!YG)pPx0}csB6K{QOT1=O2Hc)D4CfNO6k)lR4(M zB2u}+|2U98|EF{p5>GvUKIPAD|5p3*^dtG@XCEAL$hwq#?BmQrBErBAxw6;SeiQ$* z(Okq9{8;|>_p~p+{7zWBD*PGuVBY-M_nIev_Q~eM=a?VGX*2&{4d$@lgC_phXY$MU z+^lKv#4FdO%Kuz67ZPy>KG*uiW#UKlZ2Q96zkcg-W&0<5CjIjV^UME&pvc_A%$fugovsi_!e@y*QZPzGUBhp8S7bo1gxy$lw3Y4&}$cM8(T> zDgC_kmHg%BJ*qtPFHfVtm!moQrw)cH|5qIO$M09pvx|?e}0{@rS@6^F zpAh-!CxR|}R{JsY$KG@H`a(q0`D4#GFMsSs=NSKoOnPVj@@dZe{tvmw33geRY~OOv zF$;+Zh37rdeE5J1*eT~1tst6r{M8Ce^Nz3Bo6gbye5QOw!5sPvn)n&H#%~M#%s>u$ zze&$~s=kLGkqB;1xz)jJwAI(7@H1Qiw=a`?9CjRRD>sOqm%3uDC`R8YC(=`2W zlQI6Df=tF0z=JB^reP{*@Ub`OJhtV}**I&*WI+ zjc0}5G2+U%ewAl?3>qs`^n9km8gD!+JfF2N;;c~NuTQ$N_LnUCI~t!MveFsPik{CF z8F5x<;D@b|mS=_MGf9@{^rL}Kreh{Q82HnZqthXU=QC94NXvu5^BEXRbox=@`D{!& z((=IgdPL0K)zinPpbH&#Q62BVJJa}(f~dZxIk2s|wXJh!SL?303L4+(siwEXL^VE& zg}?Nwn5d3L=#6Yq9q!n%Glm!7MKygu0fZq1fUS;&yO0oZoOD+N)N%P7Z^OqGs`*cQ zq?=w87uC^FOjJXfJ;j;z#oV4prAF(XUbH(K`-UgQihz?{3xjrPtV(MXXa1!O8HBeJ~+*> z^v6p72}-FjM*dz7YbgnZIHT|eu+r~BWCs1+GM%O%K3$n{S6YYI*-FR`-9zsCq$=ucB3p*Y~viI{#fbvBhCmb`5%r0M@ZxNqf` literal 0 HcmV?d00001 diff --git a/binaries/mips64r2-msb/nfqws b/binaries/mips64r2-msb/nfqws new file mode 100755 index 0000000000000000000000000000000000000000..6970582a890853f934f419fba079b45c0cc31594 GIT binary patch literal 201864 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

SSQiZ@TcR1RO~8jqm8Z6c*8iiru(%$5 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�%;=^k8DoA#1w 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 *hi-(8R*j7}jk)_D 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 XRnq0*$9TJClY)H%Qts_UcG&+Pp^fqM literal 0 HcmV?d00001 diff --git a/binaries/ppc/ip2net b/binaries/ppc/ip2net new file mode 100755 index 0000000000000000000000000000000000000000..2267654095015ff1cb1c5574f1798fa7803ac5ff GIT binary patch literal 32124 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 Hl>Gk%GF`5` literal 0 HcmV?d00001 diff --git a/binaries/ppc/mdig b/binaries/ppc/mdig new file mode 100755 index 0000000000000000000000000000000000000000..aeb8bb3fe649c0e7592b91bbb26eff73328ed559 GIT binary patch literal 40280 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 R)CmuOW*dbqOah#e{~x66ndJZg literal 0 HcmV?d00001 diff --git a/binaries/ppc/nfqws b/binaries/ppc/nfqws new file mode 100755 index 0000000000000000000000000000000000000000..59617696783a67f2cb1770e137a90664dce3751b GIT binary patch literal 71680 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­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 a%YEb6DA6OoDWc^(AV>$mY1ra{!hZpIvV0=| literal 0 HcmV?d00001 diff --git a/binaries/ppc/tpws b/binaries/ppc/tpws new file mode 100755 index 0000000000000000000000000000000000000000..6347e830758748521ace3aecbd80a08e29730537 GIT binary patch literal 76704 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 literal 0 HcmV?d00001 diff --git a/binaries/x86/mdig b/binaries/x86/mdig new file mode 100755 index 0000000000000000000000000000000000000000..5e9e7e75abcebd11367b047ebbd184dc6bb2bc05 GIT binary patch literal 37188 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 Q+M_ub3><-v3V_&u0Lp0W^#A|> literal 0 HcmV?d00001 diff --git a/binaries/x86/nfqws b/binaries/x86/nfqws new file mode 100755 index 0000000000000000000000000000000000000000..d0a54c60f528a8803c51662d918a1ac659e9cb81 GIT binary patch literal 69272 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

da*`%nVT}Dh6a(9tW}HwFpt;$y59?r> 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 U03iVY089k}07(h}Tc7{{08D|boB#j- literal 0 HcmV?d00001 diff --git a/binaries/x86/tpws b/binaries/x86/tpws new file mode 100755 index 0000000000000000000000000000000000000000..7a11c7c52e0166df04b80407c20bb85ba07954df GIT binary patch literal 74196 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 literal 0 HcmV?d00001 diff --git a/binaries/x86_64/ip2net b/binaries/x86_64/ip2net new file mode 100755 index 0000000000000000000000000000000000000000..e8867cc1c6917ec59a571928ed2949a7acd05756 GIT binary patch literal 28504 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 literal 0 HcmV?d00001 diff --git a/binaries/x86_64/nfqws b/binaries/x86_64/nfqws new file mode 100755 index 0000000000000000000000000000000000000000..f58bd86a854f0ce635ca21552631255d26f57c6c GIT binary patch literal 67848 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 "GET /" +ISP support : TKT support + +v5 + +nfqws : ipv6 support in nfqws + +v6 + +ipset : added "get_antizapret.sh" + +v7 + +tpws : added ability to insert "." after Host: name + +v8 + +openwrt init : removed hotplug.d/firewall because of race conditions. now only use /etc/firewall.user + +v9 + +ipban : added ipban ipset. place domains banned by ip to zapret-hosts-user-ipban.txt + these IPs must be soxified for both http and https +ISP support : tiera support +ISP support : added DNS filtering to ubuntu and debian scripts + +v10 + +tpws : added split-pos option. split every message at specified position + +v11 + +ipset : scripts optimizations + +v12 + +nfqws : fix wrong tcp checksum calculation if packet length is odd and platform is big-endian + +v13 + +added binaries + +v14 + +change get_antizapret script to work with https://github.com/zapret-info/z-i/raw/master/dump.csv +filter out 192.168.*, 127.*, 10.* from blocked ips + +v15 + +added --hostspell option to nfqws and tpws +ISP support : beeline now catches "host" but other spellings still work +openwrt/LEDE : changed init script to work with procd +tpws, nfqws : minor cosmetic fixes + +v16 + +tpws: split-http-req=method : split inside method name, not after +ISP support : mns.ru changed split pos to 3 (got redirect page with HEAD req : curl -I ej.ru) + +v17 + +ISP support : athome moved from nfqws to tpws because of instability and http request hangs +tpws : added options unixeol,methodeol,hosttab + +v18 + +tpws,nfqws : added hostnospace option + +v19 + +tpws : added hostlist option + +v20 + +added ip2net. ip2net groups ips from iplist into subnets and reduces ipset size twice + +v21 + +added mdig. get_reestr.sh is *real* again + +v22 + +total review of init script logic +dropped support of older debian 7 and ubuntu 12/14 systems +install_bin.sh : auto binaries preparation +docs: readme review. some new topics added, others deleted +docs: VPN setup with policy based routing using wireguard +docs: wireguard modding guide + +v23 + +major init system rewrite +openwrt : separate firewall include /etc/firewall.zapret +install_easy.sh : easy setup on openwrt, debian, ubuntu, centos, fedora, opensuse + +v24 + +separate config from init scripts +gzip support in ipset/*.sh and tpws + +v25 + +init : move to native systemd units +use links to units, init scripts and firewall includes, no more copying + +v26 + +ipv6 support +tpws : advanced bind options + +v27 + +tpws : major connection code rewrite. originally it was derived from not top quality example , with many bugs and potential problems. +next generation connection code uses nonblocking sockets. now its in EXPERIMENTAL state. + +v28 + +tpws : added socks5 support +ipset : major RKN getlist rewrite. added antifilter.network support + +v29 + +nfqws : DPI desync attack +ip exclude system + +v30 + +nfqws : DPI desync attack modes : fake,rst diff --git a/docs/compile/build_howto_openwrt.txt b/docs/compile/build_howto_openwrt.txt new file mode 100644 index 0000000..46a65d8 --- /dev/null +++ b/docs/compile/build_howto_openwrt.txt @@ -0,0 +1,42 @@ +How to compile native programs for use in openwrt +------------------------------------------------- + +1) + + cd ~ + + + git clone git://git.openwrt.org/15.05/openwrt.git + + git clone git://git.openwrt.org/14.07/openwrt.git + + git clone git://git.openwrt.org/openwrt.git + + cd openwrt + +2) ./scripts/feeds update -a + ./scripts/feeds install -a + +3) #add zapret packages to build root + #copy package descriptions + copy compile/openwrt/* to ~/openwrt + #copy source code of tpws + copy tpws to ~/openwrt/package/zapret/tpws + #copy source code of nfq + copy nfq to ~/openwrt/package/zapret/nfq + #copy source code of ip2net + copy ip2net to ~/openwrt/package/zapret/ip2net + +4) make menuconfig + #select your target architecture + #select packages Network/Zapret/* as "M" + +5) make toolchain/compile + +6) make package/tpws/compile + make package/nfqws/compile + make package/ip2net/compile + make package/mdig/compile + +7) find bin -name tpws*.ipk + #take your tpws*.ipk , nfqws*.ipk , ip2net*.ipk, mdig*.ipk from there diff --git a/docs/compile/openwrt/package/zapret/ip2net/Makefile b/docs/compile/openwrt/package/zapret/ip2net/Makefile new file mode 100644 index 0000000..4564675 --- /dev/null +++ b/docs/compile/openwrt/package/zapret/ip2net/Makefile @@ -0,0 +1,32 @@ +# + +include $(TOPDIR)/rules.mk + +PKG_NAME:=ip2net +PKG_RELEASE:=1 + +include $(INCLUDE_DIR)/package.mk + +define Package/ip2net + SECTION:=net + CATEGORY:=Network + TITLE:=ip2net + SUBMENU:=Zapret +endef + +define Build/Prepare + mkdir -p $(PKG_BUILD_DIR) + $(CP) ./ip2net/* $(PKG_BUILD_DIR)/ +endef + +define Build/Compile + $(MAKE) -C $(PKG_BUILD_DIR) $(TARGET_CONFIGURE_OPTS) +endef + +define Package/ip2net/install + $(INSTALL_DIR) $(1)/opt/zapret/ip2net + $(INSTALL_BIN) $(PKG_BUILD_DIR)/ip2net $(1)/opt/zapret/ip2net +endef + +$(eval $(call BuildPackage,ip2net)) + diff --git a/docs/compile/openwrt/package/zapret/ip2net/readme.txt b/docs/compile/openwrt/package/zapret/ip2net/readme.txt new file mode 100644 index 0000000..abf7acd --- /dev/null +++ b/docs/compile/openwrt/package/zapret/ip2net/readme.txt @@ -0,0 +1 @@ +Copy "ip2net" folder here ! diff --git a/docs/compile/openwrt/package/zapret/mdig/Makefile b/docs/compile/openwrt/package/zapret/mdig/Makefile new file mode 100644 index 0000000..55d55d2 --- /dev/null +++ b/docs/compile/openwrt/package/zapret/mdig/Makefile @@ -0,0 +1,32 @@ +# + +include $(TOPDIR)/rules.mk + +PKG_NAME:=mdig +PKG_RELEASE:=1 + +include $(INCLUDE_DIR)/package.mk + +define Package/mdig + SECTION:=net + CATEGORY:=Network + TITLE:=mdig + SUBMENU:=Zapret +endef + +define Build/Prepare + mkdir -p $(PKG_BUILD_DIR) + $(CP) ./mdig/* $(PKG_BUILD_DIR)/ +endef + +define Build/Compile + $(MAKE) -C $(PKG_BUILD_DIR) $(TARGET_CONFIGURE_OPTS) +endef + +define Package/mdig/install + $(INSTALL_DIR) $(1)/opt/zapret/mdig + $(INSTALL_BIN) $(PKG_BUILD_DIR)/mdig $(1)/opt/zapret/mdig +endef + +$(eval $(call BuildPackage,mdig)) + diff --git a/docs/compile/openwrt/package/zapret/mdig/readme.txt b/docs/compile/openwrt/package/zapret/mdig/readme.txt new file mode 100644 index 0000000..14e5c14 --- /dev/null +++ b/docs/compile/openwrt/package/zapret/mdig/readme.txt @@ -0,0 +1 @@ +Copy "mdig" folder here ! diff --git a/docs/compile/openwrt/package/zapret/nfqws/Makefile b/docs/compile/openwrt/package/zapret/nfqws/Makefile new file mode 100644 index 0000000..48b562f --- /dev/null +++ b/docs/compile/openwrt/package/zapret/nfqws/Makefile @@ -0,0 +1,34 @@ +# + +include $(TOPDIR)/rules.mk + +PKG_NAME:=nfqws +PKG_RELEASE:=1 + +include $(INCLUDE_DIR)/package.mk + +define Package/nfqws + SECTION:=net + CATEGORY:=Network + TITLE:=nfqws + SUBMENU:=Zapret + DEPENDS:=+libnetfilter-queue +libcap +zlib +endef + +define Build/Prepare + mkdir -p $(PKG_BUILD_DIR) + $(CP) ./nfq/* $(PKG_BUILD_DIR)/ +endef + +define Build/Compile + $(MAKE) -C $(PKG_BUILD_DIR) $(TARGET_CONFIGURE_OPTS) +endef + +define Package/nfqws/install + $(INSTALL_DIR) $(1)/opt/zapret/nfq + $(INSTALL_BIN) $(PKG_BUILD_DIR)/nfqws $(1)/opt/zapret/nfq +endef + +$(eval $(call BuildPackage,nfqws)) + + diff --git a/docs/compile/openwrt/package/zapret/nfqws/readme.txt b/docs/compile/openwrt/package/zapret/nfqws/readme.txt new file mode 100644 index 0000000..daf8b84 --- /dev/null +++ b/docs/compile/openwrt/package/zapret/nfqws/readme.txt @@ -0,0 +1 @@ +Copy "nfq" folder here ! diff --git a/docs/compile/openwrt/package/zapret/tpws/Makefile b/docs/compile/openwrt/package/zapret/tpws/Makefile new file mode 100644 index 0000000..3f8dfc7 --- /dev/null +++ b/docs/compile/openwrt/package/zapret/tpws/Makefile @@ -0,0 +1,33 @@ +# + +include $(TOPDIR)/rules.mk + +PKG_NAME:=tpws +PKG_RELEASE:=1 + +include $(INCLUDE_DIR)/package.mk + +define Package/tpws + SECTION:=net + CATEGORY:=Network + TITLE:=tpws + SUBMENU:=Zapret + DEPENDS:=+zlib +libcap +endef + +define Build/Prepare + mkdir -p $(PKG_BUILD_DIR) + $(CP) ./tpws/* $(PKG_BUILD_DIR)/ +endef + +define Build/Compile + $(MAKE) -C $(PKG_BUILD_DIR) $(TARGET_CONFIGURE_OPTS) +endef + +define Package/tpws/install + $(INSTALL_DIR) $(1)/opt/zapret/tpws + $(INSTALL_BIN) $(PKG_BUILD_DIR)/tpws $(1)/opt/zapret/tpws +endef + +$(eval $(call BuildPackage,tpws)) + diff --git a/docs/compile/openwrt/package/zapret/tpws/readme.txt b/docs/compile/openwrt/package/zapret/tpws/readme.txt new file mode 100644 index 0000000..18fa3ed --- /dev/null +++ b/docs/compile/openwrt/package/zapret/tpws/readme.txt @@ -0,0 +1 @@ +Copy "tpws" folder here ! diff --git a/docs/https.txt b/docs/https.txt new file mode 100644 index 0000000..b606397 --- /dev/null +++ b/docs/https.txt @@ -0,0 +1,159 @@ +Расскажу как я решал вопрос с блокировкой https на роутере. +На тех провайдерах, что мне доступны, все, кроме одного либо банили https по IP (вообще нет конекта), либо захватывали TLS сессию и она намертво зависала - пакеты больше не приходили. На домру удалось выяснить, что DPI цепляется к SNI (Server Name Indication) в TLS, но сплит TLS запроса не помог. Я пришел к выводу, что https самым разумным будет прозрачно заворачивать в socks. +Tor поддерживает "из коробки" режим transparent proxy. Это можно использовать в теории, но практически - только на роутерах с 128 мб памяти и выше. Таких роутеров не так много. В основном объем памяти 32 или 64 мб. И тор еще и тормозной. +Другой вариант напрашивается, если у вас есть доступ к какой-нибудь unix системе с SSH, где сайты не блокируются. Например, у вас есть VPS вне России. Именно так и поступил. +Понятийно требуются следующие шаги : +1) Выделять IP, на которые надо проксировать трафик. У нас уже имеется ipset "zapret", технология создания которого отработана. +2) Сделать так, чтобы все время при загрузке системы на некотором порту возникал socks. +3) Установить transparent соксификатор. Redsocks прекрасно подошел на эту роль. +4) Завернуть через iptables трафик с порта назначения 443 и на ip адреса из ipset 'zapret' на соксификатор +Буду рассматривать систему на базе openwrt, где уже установлена система обхода dpi "zapret". +По крайней мере нужно иметь заполненный ipset 'zapret', устанавливать tpws или nfqws не обязательно. +Более того, если они на вашей системе не срабатывают, то можно соксифицировать не только https, но и http. + +* Сделать так, чтобы все время при загрузке системы на некотором порту возникал socks + +Т.к. дефолтный dropbear клиент не поддерживает создание socks, то для начала придется заменить dropbear ssh client на openssh : пакеты openssh-client и openssh-client-utils. +Устанавливать их нужно с опцией opkg --force-overwrite, поскольку они перепишут ssh клиент от dropbear. +После установки пакетов расслабим неоправданно жестокие права : chmod 755 /etc/ssh. +Следует создать пользователя, под которым будем крутить ssh client. Допустим, это будет 'proxy'. +Сначала установить пакет shadow-useradd. +------------------ +useradd -d /home/proxy proxy +mkdir -p /home/proxy +chown proxy:proxy /home/proxy +------------------ +Openssh ловит разные глюки, если у него нет доступа к /dev/tty. +Добавим в /etc/rc.local строчку : "chmod 666 /dev/tty" +Сгенерируем для него ключ RSA для доступа к ssh серверу. +------------------ +su proxy +cd +mkdir -m 700 .ssh +cd .ssh +ssh-keygen +ls +exit +------------------ +Должны получиться файлы id_rsa и id_rsa.pub. +Строчку из id_rsa.pub следует добавить на ssh сервер в файл $HOME/.ssh/authorized_keys. +Более подробно о доступе к ssh через авторизацию по ключам : https://beget.com/ru/articles/ssh_by_key +Предположим, ваш ssh сервер - vps.mydomain.com, пользователь называется 'proxy'. +Проверить подключение можно так : ssh -N -D 1098 -l proxy vps.mydomain.com. +Сделайте это под пользователем "proxy", поскольку при первом подключении ssh спросит о правильности hostkey. +Соединение может отвалиться в любой момент, поэтому нужно зациклить запуск ssh. +Для этого лучший вариант - использовать procd - упрощенная замена systemd на openwrt версий BB и выше. +--- /etc/init.d/socks_vps --- +#!/bin/sh /etc/rc.common +START=50 +STOP=50 +USE_PROCD=1 +USERNAME=proxy +COMMAND="ssh -N -D 1098 -l proxy vps.mydomain.com" +start_service() { + procd_open_instance + procd_set_param user $USERNAME + procd_set_param respawn 10 10 0 + procd_set_param command $COMMAND + procd_close_instance +} +----------------------------- +Этому файлу нужно дать права : chmod +x /etc/init.d/socks_vps +Запуск : /etc/init.d/socks_vps start +Останов : /etc/init.d/socks_vps stop +Включить автозагрузку : /etc/init.d/socks_vps enable +Проверка : curl -4 --socks5 127.0.0.1:1098 https://rutracker.org + +* Организовать прозрачную соксификацию + +Установить пакет redsocks. +Конфиг : +-- /etc/redsocks.conf : --- +base { + log_debug = off; + log_info = on; + log = "syslog:local7"; + daemon = on; + user = nobody; + group = nogroup; + redirector = iptables; +} +redsocks { + local_ip = 127.0.0.1; + local_port = 1099; + ip = 127.0.0.1; + port = 1098; + type = socks5; +} +--------------------------- +После чего перезапускаем : /etc/init.d/redsocks restart +Смотрим появился ли листенер : netstat -tnlp | grep 1099 +Автостарт redsocks при таком конфиге не работает, потому что на момент запуска сеть не инициализирована, и у нас даже нет 127.0.0.1. +Вместо штатного автостарта будем вешаться на события поднятия интерфейса. Разберем это позже. +Пока что отключим автостарт : /etc/init.d/redsocks disable + +* Завертывание соединений через iptables + +Будем завертывать любые tcp соединения на ip из ipset "ipban" и https на ip из ipset "zapret". + +--- /etc/firewall.user ----- +SOXIFIER_PORT=1099 + +. /opt/zapret/init.d/openwrt/functions + +create_ipset no-update + +network_find_wan_all wan_iface +for ext_iface in $wan_iface; do + network_get_device ext_device $ext_iface + ipt OUTPUT -t nat -o $ext_device -p tcp --dport 443 -m set --match-set zapret dst -j REDIRECT --to-port $SOXIFIER_PORT + ipt OUTPUT -t nat -o $ext_device -p tcp -m set --match-set ipban dst -j REDIRECT --to-port $SOXIFIER_PORT +done + +network_get_device DEVICE lan +sysctl -w net.ipv4.conf.$DEVICE.route_localnet=1 +ipt prerouting_lan_rule -t nat -p tcp --dport 443 -m set --match-set zapret dst -j DNAT --to 127.0.0.1:$SOXIFIER_PORT +ipt prerouting_lan_rule -t nat -p tcp -m set --match-set ipban dst -j DNAT --to 127.0.0.1:$SOXIFIER_PORT +---------------------------- + +Внести параметр "reload" в указанное место : +--- /etc/config/firewall --- +config include + option path '/etc/firewall.user' + option reload '1' +---------------------------- + +Перезапуск : /etc/init.d/firewall restart +Все, теперь можно проверять : +/etc/init.d/redsocks stop +curl -4 https://rutracker.org +# должно обломаться с надписью "Connection refused". если не обламывается - значит ip адрес rutracker.org не в ipset, +# либо не сработали правила фаервола. например, из-за не установленных модулей ipt +/etc/init.d/redsocks start +curl -4 https://rutracker.org +# должно выдать страницу + +* Автозапуск redsocks + +Я сделал для себя небольшой скриптик, вешающийся на события поднятия и опускания интерфейсов. + +--- /etc/hotplug.d/iface/99-exec-on-updown --- +#!/bin/sh +if [ "$ACTION" = ifup ]; then +cmd=$(uci get network.$INTERFACE.exec_on_up) +[ -n "$cmd" ] && $cmd +fi +if [ "$ACTION" = ifdown ]; then +cmd=$(uci get network.$INTERFACE.exec_on_down) +[ -n "$cmd" ] && $cmd +fi +---------------------------------------------- + +Теперь можно в описания интерфейсов внести в соответствующий раздел : +--- /etc/config/nework --- +config interface 'wan' + ........ + option exec_on_up '/etc/init.d/redsocks start' +-------------------------- +reboot. Заходим снова, смотрим, что есть redsocks, есть ssh, опять проверяем curl -4 https://rutracker.org. +Пробуем зайти на https://rutracker.org с компа внутри локалки. diff --git a/docs/iptables.txt b/docs/iptables.txt new file mode 100644 index 0000000..4035efa --- /dev/null +++ b/docs/iptables.txt @@ -0,0 +1,62 @@ +For window size changing : + +iptables -t mangle -I PREROUTING -p tcp --sport 80 --tcp-flags SYN,ACK SYN,ACK -j NFQUEUE --queue-num 200 --queue-bypass +iptables -t mangle -I PREROUTING -p tcp --sport 80 --tcp-flags SYN,ACK SYN,ACK -m set --match-set zapret src -j NFQUEUE --queue-num 200 --queue-bypass + +For outgoing data manipulation ("Host:" case changing) : + +iptables -t mangle -I POSTROUTING -p tcp --dport 80 -j NFQUEUE --queue-num 200 --queue-bypass +iptables -t mangle -I POSTROUTING -p tcp --dport 80 -m set --match-set zapret dst -j NFQUEUE --queue-num 200 --queue-bypass +iptables -t mangle -I POSTROUTING -p tcp --dport 80 -m set --match-set zapret dst -m connbytes --connbytes-dir=original --connbytes-mode=packets --connbytes 1:5 -j NFQUEUE --queue-num 200 --queue-bypass + +For dpi desync attack : + +iptables -t mangle -I POSTROUTING -p tcp -m multiport --dports 80,443 -m connbytes --connbytes-dir=original --connbytes-mode=packets --connbytes 2:4 -m mark ! --mark 0x40000000/0x40000000 -j NFQUEUE --queue-num 200 --queue-bypass + + +For TPROXY : + +sysctl -w net.ipv4.ip_forward=1 +iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE + +ip -f inet rule add fwmark 1 lookup 100 +ip -f inet route add local default dev lo table 100 +# prevent loop +iptables -t filter -I INPUT -p tcp --dport 1188 -j REJECT +iptables -t mangle -A PREROUTING -i eth1 -p tcp --dport 80 -j MARK --set-mark 1 +iptables -t mangle -A PREROUTING -i eth1 -p tcp --dport 80 -j TPROXY --tproxy-mark 0x1/0x1 --on-port 1188 + +iptables -t mangle -A PREROUTING -i eth1 -p tcp --dport 80 -m set --match-set zapret dst -j MARK --set-mark 1 +iptables -t mangle -A PREROUTING -i eth1 -p tcp --dport 80 -m mark --mark 0x1/0x1 -j TPROXY --tproxy-mark 0x1/0x1 --on-port 1188 + +For DNAT : + +# run tpws as user "tpws". its required to avoid loops. +sysctl -w net.ipv4.conf.eth1.route_localnet=1 +iptables -t nat -I PREROUTING -p tcp --dport 80 -j DNAT --to 127.0.0.1:1188 +iptables -t nat -I OUTPUT -p tcp --dport 80 -m owner ! --uid-owner tpws -j DNAT --to 127.0.0.1:1188 + + +Reset all iptable rules : + +iptables -F +iptables -X +iptables -t nat -F +iptables -t nat -X +iptables -t mangle -F +iptables -t mangle -X +iptables -t raw -F +iptables -t raw -X + +Reset iptable policies : + +iptables -P INPUT ACCEPT +iptables -P FORWARD ACCEPT +iptables -P OUTPUT ACCEPT +iptables -t mangle -P POSTROUTING ACCEPT +iptables -t mangle -P PREROUTING ACCEPT +iptables -t mangle -P INPUT ACCEPT +iptables -t mangle -P FORWARD ACCEPT +iptables -t mangle -P OUTPUT ACCEPT +iptables -t raw -P PREROUTING ACCEPT +iptables -t raw -P OUTPUT ACCEPT diff --git a/docs/readme.eng.txt b/docs/readme.eng.txt new file mode 100644 index 0000000..dcdbb38 --- /dev/null +++ b/docs/readme.eng.txt @@ -0,0 +1,475 @@ +What is it for +-------------- + +Bypass the blocking of web sites http. +The project is mainly aimed at the Russian audience to fight russian regulator named "Roskomnadzor". +Some features of the project are russian reality specific (such as getting list of sites +blocked by Roskomnadzor), but most others are common. + +How it works +------------ + +DPI providers have gaps. They happen because DPI rules are writtten for +ordinary user programs, omitting all possible cases that are permissible by standards. +This is done for simplicity and speed. It makes no sense to catch 0.01% hackers, +because these blockings are quite simple and easily bypassed even by ordinary users. + +Some DPIs cannot recognize the http request if it is divided into TCP segments. +For example, a request of the form "GET / HTTP / 1.1 \ r \ nHost: kinozal.tv ......" +we send in 2 parts: first go "GET", then "/ HTTP / 1.1 \ r \ nHost: kinozal.tv .....". +Other DPIs stumble when the "Host:" header is written in another case: for example, "host:". +Sometimes work adding extra space after the method: "GET /" => "GET /" +or adding a dot at the end of the host name: "Host: kinozal.tv." + + +How to put this into practice in the linux system +------------------------------------------------- + +How to make the system break the request into parts? You can pipe the entire TCP session +through transparent proxy, or you can replace the tcp window size field on the first incoming TCP packet with a SYN, ACK. +Then the client will think that the server has set a small window size for it and the first data segment +will send no more than the specified length. In subsequent packages, we will not change anything. +The further behavior of the system depends on the implemented algorithm in the OS. +Experience shows that linux always sends first packet no more than the specified +in window size length, the rest of the packets until some time sends no more than max (36, specified_size). +After a number of packets, the window scaling mechanism is triggered and starts taking +the scaling factor into account. The packet size becomes no more than max (36, specified_ramer << scale_factor). +The behavior is not very elegant, but since we do not affect the size of the incoming packets, +and the amount of data received in http is usually much higher than the amount sent, then visually +there will be only small delays. +Windows behaves in a similar case much more predictably. First segment +the specified length goes away, then the window size changes depending on the value, +sent in new tcp packets. That is, the speed is almost immediately restored to the possible maximum. + +Its easy to intercept a packet with SYN, ACK using iptables. +However, the options for editing packets in iptables are severely limited. +It’s not possible to change window size with standard modules. +For this, we will use the NFQUEUE. This tool allows transfer packets to the processes running in user mode. +The process, accepting a packet, can change it, which is what we need. + +iptables -t mangle -I PREROUTING -p tcp --sport 80 --tcp-flags SYN,ACK SYN,ACK -j NFQUEUE --queue-num 200 --queue-bypass + +It will queue the packets we need to the process that listens on the queue with the number 200. +Process will replace the window size. PREROUTING will catch packets addressed to the host itself and routed packets. +That is, the solution works the same way as on the client, so on the router. On a PC-based or OpenWRT router. +In principle, this is enough. +However, with such an impact on TCP there will be a slight delay. +In order not to touch the hosts that are not blocked by the provider, you can make such a move. +Create a list of blocked domains, resolve them to IP addresses and save to ipset named "zapret". +Add to rule: + +iptables -t mangle -I PREROUTING -p tcp --sport 80 --tcp-flags SYN,ACK SYN,ACK -m set --match-set zapret src -j NFQUEUE --queue-num 200 --queue-bypass + +Thus, the impact will be made only on ip addresses related to blocked sites. +The list can be updated in scheduled task every few days. + +If DPI cant be bypassed with splitting a request into segments, then sometimes helps changing case +of the "Host:" http header. We may not need a window size replacement, so the do not need PREROUTING chain. +Instead, we hang on outgoing packets in the POSTROUTING chain: + +iptables -t mangle -I POSTROUTING -p tcp --dport 80 -m set --match-set zapret dst -j NFQUEUE --queue-num 200 --queue-bypass + +In this case, additional points are also possible. DPI can catch only the first http request, ignoring +subsequent requests in the keep-alive session. Then we can reduce the cpu load abandoning the processing of unnecessary packages. + +iptables -t mangle -I POSTROUTING -p tcp --dport 80 -m connbytes --connbytes-dir=original --connbytes-mode=packets --connbytes 1:5 -m set --match-set zapret dst -j NFQUEUE --queue-num 200 --queue-bypass + +It happens that the provider monitors the entire HTTP session with keep-alive requests. In this case +it is not enough to restrict the TCP window when establishing a connection. Each http request must be splitted +to multiple TCP segments. This task is solved through the full proxying of traffic using +transparent proxy (TPROXY or DNAT). TPROXY does not work with connections originating from the local system +so this solution is applicable only on the router. DNAT works with local connections, +but there is a danger of entering into endless recursion, so the daemon is launched as a separate user, +and for this user, DNAT is disabled via "-m owner". Full proxying requires more resources than outbound packet +manipulation without reconstructing a TCP connection. + +iptables -t nat -I PREROUTING -p tcp --dport 80 -j DNAT --to 127.0.0.1:1188 +iptables -t nat -I OUTPUT -p tcp --dport 80 -m owner ! --uid-owner tpws -j DNAT --to 127.0.0.1:1188 + +NOTE: DNAT on localhost works in the OUTPUT chain, but does not work in the PREROUTING chain without enabling the route_localnet parameter: + +sysctl -w net.ipv4.conf..route_localnet=1 + +You can use "-j REDIRECT --to-port 1188" instead of DNAT, but in this case the transpareny proxy process +should listen on the ip address of the incoming interface or on all addresses. Listen all - not good +in terms of security. Listening one (local) is possible, but in the case of automated +script will have to recognize it, then dynamically enter it into the command. In any case, additional efforts are required. + +ip6tables +--------- + +ip6tables work almost exactly the same way as ipv4, but there are a number of important nuances. +In DNAT, you should take the address --to in square brackets. For example : + + iptables -t nat -I OUTPUT -p tcp --dport 80 -m owner ! --uid-owner tpws -j DNAT --to [::1]:1188 + +The route_localnet parameter does not exist for ipv6. +DNAT to localhost (:: 1) is possible only in the OUTPUT chain. +In the PREROUTING DNAT chain, it is possible to any global address or to the link local address of the same interface +the packet came from. +NFQUEUE works without changes. + +When it will not work +---------------------- + +* If DNS server returns false responses. ISP can return false IP addresses or not return anything +when blocked domains are queried. If this is the case change DNS to public ones, such as 8.8.8.8 or 1.1.1.1. +Sometimes ISP hijacks queries to any DNS server. Dnscrypt or dns-over-tls help. +* If blocking is done by IP. +* If a connection passes through a filter capable of reconstructing a TCP connection, and which +follows all standards. For example, we are routed to squid. Connection goes through the full OS tcpip stack, +fragmentation disappears immediately as a means of circumvention. Squid is correct, it will find everything +as it should, it is useless to deceive him. +BUT. Only small providers can afford using squid, since it is very resource intensive. +Large companies usually use DPI, which is designed for much greater bandwidth. + +nfqws +----- + +This program is a packet modifier and a NFQUEUE queue handler. +It takes the following parameters: + + --debug=0|1 ; 1=print debug info + --qnum= + --wsize= ; set window size. 0 = do not modify + --hostcase ; change Host: => host: + --hostspell=HoSt ; exact spelling of the "Host" header. must be 4 chars. default is "host" + --hostnospace ; remove space after Host: and add it to User-Agent: to preserve packet size + --daemon ; daemonize + --pidfile= ; write pid to file + --user= ; drop root privs + --uid=uid[:gid] ; drop root privs + --dpi-desync[=fake|rst|rstack|disorder] ; try to desync dpi state + --dpi-desync-fwmark= ; override fwmark for desync packet. default = 0x40000000 + --dpi-desync-ttl= ; set ttl for desync packet + --dpi-desync-fooling=none|md5sig|badsum + --dpi-desync-retrans=0|1 ; (fake,rst,rstack only) 0(default)=reinject original data packet after fake 1=drop original data packet to force its retransmission + --dpi-desync-skip-nosni=0|1 ; 1(default)=do not apply desync to requests without hostname in the SNI + --dpi-desync-split-pos=<1..1500> ; (for disorder only) split TCP packet at specified position + --hostlist= ; apply dpi desync only to the listed hosts (one host per line, subdomains auto apply) + +The manipulation parameters can be combined in any way. + +COMMENT. As described earlier, Linux behaves strangely when the window size is changed, unlike Windows. +Following segments do not restore their full length. Connection can go for a long time in batches of small packets. +Package modification parameters (--hostcase, ...) may not work, because nfqws does not work with the connection, +but only with separate packets in which the search may not be found, because scattered across multiple packets. +If the source of the packages is Windows, there is no such problem. + +DPI DESYNC ATTACK +After completion of the tcp 3-way handshake, the first data packet from the client goes. +It usually has "GET / ..." or TLS ClientHello. We drop this packet, replacing with something else. +It can be a fake version with another harmless but valid http or https request (fake), tcp reset packet (rst,rstack), +split into 2 segments original packet with fake segment in the middle (disorder). +In articles these attack have names "TCB desynchronization" and "TCB teardown". +Fake packet must reach DPI, but do not reach the destination server. +The following means are available: set a low TTL, send a packet with bad checksum, +add tcp option "MD5 signature". All of them have their own disadvantages : + +* md5sig does not work on all servers +* badsum doesn't work if your device is behind NAT which does not pass invalid packets. + Linux NAT by default does not pass them without special setting "sysctl -w net.netfilter.nf_conntrack_checksum=0" + Openwrt sets it from the box, other routers in most cases dont, and its not always possible to change it. + If nfqws is on the router, its not neccessary to switch of "net.netfilter.nf_conntrack_checksum". + Fake packet doesn't go through FORWARD chain, it goes through OUTPUT. But if your router is behind another NAT, for example ISP NAT, + and that NAT does not pass invalid packets, you cant do anything. +* TTL looks like the best option, but it requires special tuning for earch ISP. If DPI is further than local ISP websites + you can cut access to them. Manual IP exclude list is required. Its possible to use md5sig with ttl. + This way you cant hurt anything, but good chances it will help to open local ISP websites. + If automatic solution cannot be found then use zapret-hosts-user-exclude.txt. + +For fake,rst,rstack modes original packet can be sent after the fake one or just dropped. +If its dropped OS will perform first retransmission after 0.2 sec, then the delay increases exponentially. +Delay can help to make sure fake and original packets are properly ordered and processed on DPI. + +Disorder mode splits original packet and sends packets in the following order : +1. 2nd segment +2. fake 1st segment, data filled with zeroes +3. 1st segment +4. fake 1st segment, data filled with zeroes (2nd copy) +Original packet is always dropped. --dpi-desync-split-pos sets split position (default 3). +If position is higher than packet length, pos=1 is used. +This sequence is designed to make reconstruction of critical message as difficult as possible. +Fake segments may not be required to bypass some DPIs, but can potentially help if more sophisticated reconstruction +algorithms are used. + +Hostlist is applicable only to desync attack. It does not work for other options. +Hosts are extracted from plain http request Host: header and SNI of ClientHelllo TLS message. +Subdomains are applied automatically. gzip lists are supported. + +iptables for performing the attack : + +iptables -t mangle -I POSTROUTING -p tcp -m multiport --dports 80,443 -m connbytes --connbytes-dir=original --connbytes-mode=packets --connbytes 2:4 -m mark ! --mark 0x40000000/0x40000000 -j NFQUEUE --queue-num 200 --queue-bypass + +connbytes will only queue the first data packet. mark is needed to keep away generated packets from NFQUEUE. +nfqws sets fwmark when it sends generated packets. + +tpws +----- + +tpws is transparent proxy. + + --debug=0|1|2 ; 0(default)=silent 1=verbose 2=debug + --bind-addr=| + --bind-iface4= ; bind to the first ipv4 addr of interface + --bind-iface6= ; bind to the first ipv6 addr of interface + --bind-linklocal=prefer|force ; prefer or force ipv6 link local + --bind-wait-ifup= ; wait for interface to appear and up + --bind-wait-ip= ; after ifup wait for ip address to appear up to N seconds + --bind-wait-ip-linklocal= ; accept only link locals first N seconds then any + --port= ; port number to listen on + --socks ; implement socks4/5 proxy instead of transparent proxy + --local-rcvbuf= ; SO_RCVBUF for local legs + --local-sndbuf= ; SO_SNDBUF for local legs + --remote-rcvbuf= ; SO_RCVBUF for remote legs + --remote-sndbuf= ; SO_SNDBUF for remote legs + --skip-nodelay ; do not set TCP_NODELAY for outgoing connections. incompatible with split. + --no-resolve ; disable socks5 remote dns + --maxconn= ; max number of local legs + --maxfiles= ; max file descriptors (setrlimit). min requirement is (X*connections+16), where X=6 in tcp proxy mode, X=4 in tampering mode. + ; its worth to make a reserve with 1.5 multiplier. by default maxfiles is (X*connections)*1.5+16 + --max-orphan-time= ; if local leg sends something and closes and remote leg is still connecting then cancel connection attempt after N seconds + + --hostlist= ; only act on host in the list (one host per line, subdomains auto apply) + --split-http-req=method|host ; split http request at specified logical position + --split-pos= ; split at specified pos. invalidates split-http-req. + --hostcase ; change Host: => host: + --hostspell ; exact spelling of "Host" header. must be 4 chars. default is "host" + --hostdot ; add "." after Host: name + --hosttab ; add tab after Host: name + --hostnospace ; remove space after Host: + --hostpad= ; add dummy padding headers before Host: + --methodspace ; add extra space after method + --methodeol ; add end-of-line before method + --unixeol ; replace 0D0A to 0A + --daemon ; daemonize + --pidfile= ; write pid to file + --user= ; drop root privs + --uid=uid[:gid] ; drop root privs + +The manipulation parameters can be combined in any way. +There are exceptions: split-pos replaces split-http-req. hostdot and hosttab are mutually exclusive. +Only split-pos option works for non-HTTP traffic. + +tpws can bind only to one ip or to all at once. +To bind to all ipv4, specify "0.0.0.0", to all ipv6 - "::". Without parameters, tpws bind to all ipv4 and ipv6. +The --bind-wait * parameters can help in situations where you need to get IP from the interface, but it is not there yet, it is not raised +or not configured. +In different systems, ifup events are caught in different ways and do not guarantee that the interface has already received an IP address of a certain type. +In the general case, there is no single mechanism to hang oneself on an event of the type "link local address appeared on the X interface." + +in socks proxy mode no additional system privileges are required +connection to local IPs of the system where tpws runs are prohibited +tpws supports remote dns resolving (curl : --socks5-hostname firefox : socks_remote_dns=true) , but does it in blocking mode. +tpws uses async sockets for all activity but resolving can break this model. +if tpws serves many clients it can cause trouble. also DoS attack is possible against tpws. +if remote resolving causes trouble configure clients to use local name resolution and use +--no-resolve option on tpws side. + +Ways to get a list of blocked IP +-------------------------------- + +1) Enter the blocked domains to ipset/zapret-hosts-user.txt and run ipset/get_user.sh +At the output, you get ipset/zapret-ip-user.txt with IP addresses. + +2) ipset/get_reestr_*.sh. Russian specific + +3) ipset/get_antifilter_*.sh. Russian specific + +4) ipset/get_config.sh. This script calls what is written into the GETLIST variable from the config file. +If the variable is not defined, then only lists for ipsets nozapret/nozapret6 are resolved. + +So, if you're not russian, the only way for you is to manually add blocked domains. +Or write your own ipset/get_iran_blocklist.sh , if you know where to download this one. + +On routers, it is not recommended to call these scripts more than once in 2 days to minimize flash memory writes. + +ipset/create_ipset.sh executes forced ipset update. +The regulator list has already reached an impressive size of hundreds of thousands of IP addresses. Therefore, to optimize ipset +ip2net utility is used. It takes a list of individual IP addresses and tries to find in it subnets of the maximum size (from / 22 to / 30), +in which more than 3/4 addresses are blocked. ip2net is written in C because the operation is resource intensive. +If ip2net is compiled or a binary is copied to the ip2net directory, the create_ipset.sh script uses an ipset of the hash:net type, +piping the list through ip2net. Otherwise, ipset of hash:ip type is used, the list is loaded as is. +Accordingly, if you don’t like ip2net, just remove the binary from the ip2net directory. +create_ipset.sh supports loading ip lists from gzip files. First it looks for the filename with the ".gz" extension, +such as "zapret-ip.txt.gz", if not found it falls back to the original name "zapret-ip.txt". +So your own get_iran_blockslist.sh can use "zz" function to produce gz. Study how other russian get_XXX.sh work. +Gzipping helps saving a lot of precious flash space on embedded systems. +User lists are not gzipped because they are not expected to be very large. + +You can add a list of domains to ipset/zapret-hosts-user-ipban.txt. Their ip addresses will be placed +in a separate ipset "ipban". It can be used to route connections to transparent proxy "redsocks" or VPN. + +IPV6: if ipv6 is enabled, then additional txt's are created with the same name, but with a "6" at the end before the extension. +zapret-ip.txt => zapret-ip6.txt +The ipsets zapret6 and ipban6 are created. + +IP EXCLUSION SYSTEM. All scripts resolve zapret-hosts-user-exclude.txt file, creating zapret-ip-exclude.txt and zapret-ip-exclude6.txt. +They are the source for ipsets nozapret/nozapret6. All rules created by init scripts are created with these ipsets in mind. +The IPs placed in them are not involved in the process. +zapret-hosts-user-exclude.txt can contain domains, ipv4 and ipv6 addresses or subnets. + +Domain name filtering +--------------------- + +An alternative to ipset is to use tpws with a list of domains. +tpws can only read one hostlist. + +Enter the blocked domains to ipset/zapret-hosts-users.txt. Remove ipset/zapret-hosts.txt.gz. +Then the init script will run tpws with the zapret-hosts-users.txt list. + +Other option ( Roskomnadzor list - get_hostlist.sh ) is russian specific. +You can write your own replacement for get_hostlist.sh. + +When filtering by domain name, tpws should run without filtering by ipset. +All http traffic goes through tpws, and it decides whether to use manipulation depending on the Host: field in the http request. +This creates an increased load on the system. +The domain search itself works very quickly, the load is connected with pumping the amount of data through the process. +When using large regulator lists estimate the amount of RAM on the router! + +Choosing parameters +------------------- + +The file /opt/zapret/config is used by various components of the system and contains basic settings. +It needs to be viewed and edited if necessary. +Select MODE: + +nfqws_ipset - use nfqws for http. targets are filtered by ipset "zapret" +nfqws_ipset_https - use nfqws for http and https. targets are filtered by ipset "zapret" +nfqws_all - use nfqws for all http +nfqws_all_https - use nfqws for all http and https +nfqws_all_desync - use nfqws for DPI desync attack on http и https for all http and https +nfqws_ipset_desync - use nfqws for DPI desync attack on http и https for all http and https. targets are filtered by ipset "zapret" +nfqws_hostlist_desync - use nfqws for DPI desync attack on http и https , only to hosts from hostlist + +tpws_ipset - use tpws for http. targets are filtered by ipset "zapret" +tpws_ipset_https - use tpws for http and https. targets are filtered by ipset "zapret" +tpws_all - use tpws for all http +tpws_all_https - use tpws for all http and https +tpws_hostlist - same as tpws_all but touch only domains from the hostlist + +ipset - only fill ipset. futher actions depend on your own code + +Its possible to change manipulation options used by the daemons : + +NFQWS_OPT="--wsize=3 --hostspell=HOST" +TPWS_OPT_HTTP="--hostspell=HOST --split-http-req=method" +TPWS_OPT_HTTPS="--split-pos=3" + +Options for DPI desync attack are configured separately: + +DESYNC_MARK=0x40000000 +NFQWS_OPT_DESYNC="--dpi-desync --dpi-desync-ttl=0 --dpi-desync-fooling=badsum --dpi-desync-fwmark=$DESYNC_MARK" + + +The GETLIST parameter tells the install_easy.sh installer which script to call +to update the list of blocked ip or hosts. +Its called via get_config.sh from scheduled tasks (crontab or systemd timer). +Put here the name of the script that you will use to update the lists. +If not, then the parameter should be commented out. + +You can individually disable ipv4 or ipv6. If the parameter is commented out or not equal to "1", +use of the protocol is permitted. +#DISABLE_IPV4=1 +DISABLE_IPV6=1 + +The number of threads for mdig multithreaded DNS resolver (1..100). +The more of them, the faster, but will your DNS server be offended by hammering ? +MDIG_THREADS=30 + +The following settings are not relevant for openwrt : + +If your system works as a router, then you need to enter the names of the internal and external interfaces: +IFACE_LAN = eth0 +IFACE_WAN = eth1 +IMPORTANT: configuring routing, masquerade, etc. not a zapret task. +Only modes that intercept transit traffic are enabled. + +The INIT_APPLY_FW=1 parameter enables the init script to independently apply iptables rules. +With other values or if the parameter is commented out, the rules will not be applied. +This is useful if you have a firewall management system, in the settings of which you should tie the rules. + +Screwing to the firewall control system or your launch system +------------------------------------------------------------- + +If you use some kind of firewall management system, then it may conflict with an existing startup script. +When re-applying the rules, it could break the iptables settings from the zapret. +In this case, the rules for iptables should be screwed to your firewall separately from running tpws or nfqws. + +The following calls allow you to apply or remove iptables rules separately: + + /opt/zapret/init.d/sysv/zapret start-fw + /opt/zapret/init.d/sysv/zapret stop-fw + +And you can start or stop the demons separately from the firewall: + + /opt/zapret/init.d/sysv/zapret start-daemons + /opt/zapret/init.d/sysv/zapret stop-daemons + + +Simple install to desktop linux system +-------------------------------------- + +Simple install works on most modern linux distributions with systemd. +Run install_easy.sh and answer its questions. + +Simple install to openwrt +------------------------- + +install_easy.sh also works on openwrt but there're additional challenges. +They are mainly about possibly low flash free space. +Simple install will not work if it has no space to install itself and required packages from the repo. + +Another challenge would be to bring zapret to the router. You can download zip from github and use it. +Do not repack zip contents in the Windows, because this way you break chmod and links. +Install openssh-sftp-server and unzip to openwrt and use sftp to transfer the file. + +The best way to start is to put zapret dir to /tmp and run /tmp/zapret/install_easy.sh from there. +After installation remove /tmp/zapret to free RAM. + +The absolute minimum for openwrt is 64/8 system, 64/16 is comfortable, 128/extroot is recommended. + + +Android +------- + +Its not possible to use nfqws and tpws in transparent proxy mode without root privileges. +Without root tpws can run in --socks mode. + +I have no NFQUEUE presence statistics in stock android kernels, but its present on my MTK device. +If NFQUEUE is present nfqws works. + +There's no ipset support unless you run custom kernel. In common case task of bringing up ipset +on android is ranging from "not easy" to "almost impossible", unless you find working kernel +image for your device. + +Android does not use /etc/passwd, tpws --user won't work. There's replacement. +Use numeric uids in --uid option. +Its recommended to use gid 3003 (AID_INET), otherwise tpws will not have inet access. +Example : --uid 1:3003 +In iptables use : "! --uid-owner 1" instead of "! --uid-owner tpws". + +Write your own shell script with iptables and tpws, run it using your root manager. +Autorun scripts are here : +magisk : /data/adb/service.d +supersu : /system/su.d + +I haven't checked whether android can kill iptable rules at its own will during wifi connection/disconnection, +mobile data on/off, ... + + +Https blocking bypass +---------------------- + +As a rule, DPI tricks do not help to bypass https blocking. +You have to redirect traffic through a third-party host. +It is proposed to use transparent redirect through socks5 using iptables + redsocks, or iptables + iproute + vpn. +Redsocks variant is described in https.txt. +iproute + wireguard - in wireguard_iproute_openwrt.txt. +(they are russian) + +SOMETIMES (but not often) a tls handshake split trick works. +Try MODE=..._https +May be you're lucky. + +MORE OFTEN DPI desync attack work, but it may require some manual tuning. diff --git a/docs/readme.txt b/docs/readme.txt new file mode 100644 index 0000000..f3c4134 --- /dev/null +++ b/docs/readme.txt @@ -0,0 +1,1132 @@ +zapret v.30 + +English +------- + +For english version refer to docs/readme.eng.txt + +Для чего это надо +----------------- + +Обойти блокировки веб сайтов http. + +Как это работает +---------------- + +У провайдеров в DPI бывают бреши. Они случаются от того, что правила DPI пишут для +обычных пользовательских программ, опуская все возможные случаи, допустимые по стандартам. +Это делается для простоты и скорости. Нет смысла ловить хакеров, которых 0.01%, +ведь все равно эти блокировки обходятся довольно просто даже обычными пользователями. + +Некоторые DPI не могут распознать http запрос, если он разделен на TCP сегменты. +Например, запрос вида "GET / HTTP/1.1\r\nHost: kinozal.tv......" +мы посылаем 2 частями : сначала идет "GET ", затем "/ HTTP/1.1\r\nHost: kinozal.tv.....". +Другие DPI спотыкаются, когда заголовок "Host:" пишется в другом регистре : например, "host:". +Кое-где работает добавление дополнительного пробела после метода : "GET /" => "GET /" +или добавление точки в конце имени хоста : "Host: kinozal.tv." + +Как это реализовать на практике в системе linux +----------------------------------------------- + +Как заставить систему разбивать запрос на части ? Можно прогнать всю TCP сессию +через transparent proxy, а можно подменить поле tcp window size на первом входящем TCP пакете с SYN,ACK. +Тогда клиент подумает, что сервер установил для него маленький window size и первый сегмент с данными +отошлет не более указанной длины. В последующих пакетах мы не будем менять ничего. +Дальнейшее поведение системы по выбору размера отсылаемых пакетов зависит от реализованного +в ней алгоритма. Опыт показывает, что linux первый пакет всегда отсылает не более указанной +в window size длины, остальные пакеты до некоторых пор шлет не более max(36,указанный_размер). +После некоторого количества пакетов срабатывает механизм window scaling и начинает +учитываться фактор скалинга, размер пакетов становится не более max(36,указанный_рамер << scale_factor). +Не слишком изящное поведение, но поскольку на размеры входящик пакетов мы не влияем, +а объем принимаемых по http данных обычно гораздо выше объема отсылаемых, то визуально +появятся лишь небольшие задержки. +Windows ведет себя в аналогичном случае гораздо более предсказуемо. Первый сегмент +уходит указанной длины, дальше window size меняется в зависимости от значения, +присылаемого в новых tcp пакетах. То есть скорость почти сразу же восстанавливается +до возможного максимума. + +Перехватить пакет с SYN,ACK не представляет никакой сложности средствами iptables. +Однако, возможности редактирования пакетов в iptables сильно ограничены. +Просто так поменять window size стандартными модулями нельзя. +Для этого мы воспользуемся средством NFQUEUE. Это средство позволяет +передавать пакеты на обработку процессам, работающим в user mode. +Процесс, приняв пакет, может его изменить, что нам и нужно. + +iptables -t mangle -I PREROUTING -p tcp --sport 80 --tcp-flags SYN,ACK SYN,ACK -j NFQUEUE --queue-num 200 --queue-bypass + +Будет отдавать нужные нам пакеты процессу, слушающему на очереди с номером 200. +Он подменит window size. PREROUTING поймает как пакеты, адресованные самому хосту, +так и маршрутизируемые пакеты. То есть решение одинаково работает как на клиенте, +так и на роутере. На роутере на базе PC или на базе OpenWRT. +В принципе этого достаточно. +Однако, при таком воздействии на TCP будет небольшая задержка. +Чтобы не трогать хосты, которые не блокируются провайдером, можно сделать такой ход. +Создать список заблоченых доменов или скачать его с rublacklist. +Заресолвить все домены в ipv4 адреса. Загнать их в ipset с именем "zapret". +Добавить в правило : + +iptables -t mangle -I PREROUTING -p tcp --sport 80 --tcp-flags SYN,ACK SYN,ACK -m set --match-set zapret src -j NFQUEUE --queue-num 200 --queue-bypass + +Таким образом воздействие будет производиться только на ip адреса, относящиеся к заблокированным сайтам. +Список можно обновлять через cron раз в несколько дней. +Если обновлять через rublacklist, то это займет довольно долго. Более часа. Но ресурсов +этот процесс не отнимает, так что никаких проблем это не вызовет, особенно, если система +работает постоянно. + +Если DPI не обходится через разделение запроса на сегменты, то иногда срабатывает изменение +"Host:" на "host:". В этом случае нам может не понадобится замена window size, поэтому цепочка +PREROUTING нам не нужна. Вместо нее вешаемся на исходящие пакеты в цепочке POSTROUTING : + +iptables -t mangle -I POSTROUTING -p tcp --dport 80 -m set --match-set zapret dst -j NFQUEUE --queue-num 200 --queue-bypass + +В этом случае так же возможны дополнительные моменты. DPI может ловить только первый http запрос, игнорируя +последующие запросы в keep-alive сессии. Тогда можем уменьшить нагрузку на проц, отказавшись от процессинга ненужных пакетов. + +iptables -t mangle -I POSTROUTING -p tcp --dport 80 -m connbytes --connbytes-dir=original --connbytes-mode=packets --connbytes 1:5 -m set --match-set zapret dst -j NFQUEUE --queue-num 200 --queue-bypass + +Случается так, что провайдер мониторит всю HTTP сессию с keep-alive запросами. В этом случае +недостаточно ограничивать TCP window при установлении соединения. Необходимо посылать отдельными +TCP сегментами каждый новый запрос. Эта задача решается через полное проксирование трафика через +transparent proxy (TPROXY или DNAT). TPROXY не работает с соединениями, исходящими с локальной системы, +так что это решение применимо только на роутере. DNAT работает и с локальными соединениеми, +но имеется опасность входа в бесконечную рекурсию, поэтому демон запускается под отдельным пользователем, +и для этого пользователя отключается DNAT через "-m owner". Полное проксирование требует больше ресурсов +процессора, чем манипуляция с исходящими пакетами без реконструкции TCP соединения. + +iptables -t nat -I PREROUTING -p tcp --dport 80 -j DNAT --to 127.0.0.1:1188 +iptables -t nat -I OUTPUT -p tcp --dport 80 -m owner ! --uid-owner tpws -j DNAT --to 127.0.0.1:1188 + +ПРИМЕЧАНИЕ: DNAT на localhost работает в цепочке OUTPUT, но не работает в цепочке PREROUTING без включения параметра route_localnet : + +sysctl -w net.ipv4.conf..route_localnet=1 + +Можно использовать "-j REDIRECT --to-port 1188" вместо DNAT , однако в этом случае процесс transparent proxy +должен слушать на ip адресе входящего интерфейса или на всех адресах. Слушать на всех - не есть хорошо +с точки зрения безопасности. Слушать на одном (локальном) можно, но в случае автоматизированного +скрипта придется его узнавать, потом динамически вписывать в команду. В любом случае требуются дополнительные усилия. + +Если ваше устройство поддерживает аппаратное ускорение (flow offloading, hardware nat, hardware acceleration), то iptables могут не работать. +При включенном offloading пакет не проходит по обычному пути netfilter. +Необходимо его отключить. Да, ваш хилый роутер уже не потянет гигабит, даже 200-250 не потянет, а на торрентах и того меньше. +Но если у вас такой линк, и вы хотите продвинутых вещей от роутера, то вам стоит задуматься о покупке mini pc с двумя или более gigabit ethernet. + +В новых ядрах (и в более старых, openwrt портировал изменение на 4.14) присутствует software flow offloading (SFO). +Пакеты, проходящие через SFO, так же проходят мимо большей части механизмов iptables. +При включенном SFO работает DNAT/REDIRECT (tpws). Эти соединения исключаются из offloading. +Однако, остальные соединения идут через SFO, потому NFQUEUE будет срабатывать только до помещения +соединения в flowtable. Практически это означает, что nfqws будет работать на window size changing, +но не будут работать опции по модификации содержимого пакетов. +Offload включается через специальный target в iptables "FLOWOFFLOAD". Не обязательно пропускать весь трафик через offload. +Можно исключить из offload соединения, которые должны попасть на tpws или nfqws. +Однако, openwrt не предусматривает выборочного управления offload. Если вы хотите с этим связаться, +вам придется городить свой собственный огород вокруг этого. + +Особенности применения ip6tables +-------------------------------- + +ip6tables работают почти точно так же, как и ipv4, но есть ряд важных нюансов. +В DNAT следует брать адрес --to в квадратные скобки. Например : + + iptables -t nat -I OUTPUT -p tcp --dport 80 -m owner ! --uid-owner tpws -j DNAT --to [::1]:1188 + +Параметра route_localnet не существует для ipv6. +DNAT на localhost (::1) возможен только в цепочке OUTPUT. +В цепочке PREROUTING DNAT возможен на любой global address или на link local address того же интерфейса, +откуда пришел пакет. +NFQUEUE работает без изменений. + +Когда это работать не будет +--------------------------- + +* Если подменяется DNS. С этой проблемой легко справиться. +* Если блокировка осуществляется по IP. +* Если соединение проходит через фильтр, способный реконструировать TCP соединение, и который +следует всем стандартам. Например, нас заворачивают на squid. Соединение идет через полноценный стек tcpip +операционной системы, фрагментация отпадает сразу как средство обхода. Squid правильный, он все найдет +как надо, обманывать его бесполезно. +НО. Заворачивать на squid могут позволить себе лишь небольшие провайдеры, поскольку это очень ресурсоемко. +Большие компании обычно используют DPI, который расчитан на гораздо большую пропускную способность. +Может применяться комбинированный подход, когда на DPI заворачивают только IP из "плохого" списка, +и дальше уже DPI решает пропускать или нет. Так можно снизить нагрузку на DPI в десятки, если не сотни раз, +а следовательно не покупать очень дорогие решения, обойдясь чем-то существенно более дешевым. +Мелкие провайдеры могут покупать услугу фильтрации у вышестоящих, чтобы самим не морочиться, и +они уже будут применять DPI. + +nfqws +----- + +Эта программа - модификатор пакетов и обработчик очереди NFQUEUE. + + --debug=0|1 ; 1=выводить отладочные сообщения + --daemon ; демонизировать прогу + --pidfile= ; сохранить PID в файл + --user= ; менять uid процесса + --uid=uid[:gid] ; менять uid процесса + --qnum=200 ; номер очереди + --wsize=4 ; менять tcp window size на указанный размер + --hostcase ; менять регистр заголовка "Host:" по умолчанию на "host:". + --hostnospace ; убрать пробел после "Host:" и переместить его в конец значения "User-Agent:" для сохранения длины пакета + --hostspell=HoST ; точное написание заголовка Host (можно "HOST" или "HoSt"). автоматом включает --hostcase + --dpi-desync[=fake|rst|rstack|disorder ; атака по десинхронизации DPI + --dpi-desync-fwmark= ; бит fwmark для пометки десинхронизирующих пакетов, чтобы они повторно не падали в очередь. default = 0x40000000 + --dpi-desync-ttl= ; установить ttl для десинхронизирующих пакетов + --dpi-desync-fooling=none|md5sig|badsum ; дополнительные методики как сделать, чтобы десинхронизирующий пакет не дошел до сервера + --dpi-desync-retrans=0|1 ; (только для fake,rst,rstack) 0(default)=отправлять оригинал следом за фейком 1=дропать оригинал, заставляя ОС выполнять ретрансмиссию через 0.2 сек + --dpi-desync-skip-nosni=0|1 ; 1(default)=не применять dpi desync для запросов без hostname в SNI, в частности для ESNI + --dpi-desync-split-pos=<1..1500> ; (только для disorder) разбивать пакет на указанной позиции + --hostlist= ; применять dpi-desync только к хостам из листа + +Параметры манипуляции могут сочетаться в любых комбинациях. + +ЗАМЕЧАНИЕ. Как описано ранее, linux при измененном window size ведет себя странно, иначе, чем windows. +Следующие сегменты не восстанавливают свою полную длину. Потому соединение может идти долгое время пачками мелких пакетов. +Параметры модификации содержимого пакета (--hostcase, ...) могут не срабатывать, потому что nfqws не работает с соединением, +а лишь с отдельными пакетами, в которых искомое может не быть найдено, т.к. разбросано по нескольким пакетам. +Если источник пакетов - windows, этой проблемы нет. + +АТАКА ДЕСИНХРОНИЗАЦИИ DPI +Суть ее в следующем. После выполнения tcp 3-way handshake идет первый пакет с данными от клиента. +Там обычно "GET / ..." или TLS ClientHello. Мы дропаем этот пакет, заменяя чем-то другим. +Это может быть поддельная версия с безобидным, но валидным запросом http или https (вариант fake), +пакет сброса соединения (варианты rst, rstack), разбитый на части оригинальный пакет с перепутанным +порядком следования сегментов + фейк-сегмент посередине (disorder). +В литературе такие атаки еще называют TCB desynchronization и TCB teardown. +Надо, чтобы фейковые пакеты дошли до DPI, но не дошли до сервера. +На вооружении есть следующие возможности : установить низкий TTL, посылать пакет с инвалидной чексуммой, +добавлять tcp option "MD5 signature". Все они не лишены недостатков. + +* md5sig работает не на всех серверах. Пакеты с md5 обычно отбрасывают только linux. +* badsum не сработает, если ваше устройство за NAT, который не пропускает пакеты с инвалидной суммой. + Linux NAT по умолчанию их не пропускает без особой настройки "sysctl -w net.netfilter.nf_conntrack_checksum=0". + В openwrt она сделана из коробки, в других роутерах как правило нет, и не всегда это можно изменить. + Если nfqws работает на роутере, то не обязательно выключать nf_conntrack_checksum. Фейковый пакет не проходит FORWARD, он идет через OUTPUT. + Но если роутер за другим NAT, например провайдерским, и он не пропускает invalid packets, вы ничего не сможете с этим сделать. +* TTL казалось бы - лучший вариант, но он требует индивидуальной настройки под каждого провайдера. Если DPI находится дальше локальных + сайтов провайдера, то вы можете отрезать себе доступ к ним. Необходим ip exclude list, заполняемый вручную. + Вместе с ttl можно применять md5sig. Это ничего не испортит, зато дает неплохой шанс работы сайтов, до которых "плохой" пакет дойдет по TTL. + Если не удается найти автоматическое решение, воспользуйтесь файлом zapret-hosts-user-exclude.txt. + КАКИМ СТОИТ ВЫБИРАТЬ TTL : найдите минимальное значение, при котором обход еще работает. Это и будет номер хопа вашего DPI. + +Для режимов fake, rst, rstack после фейка отправляем оригинальный пакет. Можно его отправить сразу следом за фейком, а можно его просто дропнуть. +Если его дропнуть, ОС выполнит ретрансмиссию. Первая ретрансмиссия случается через 0.2 сек, потом задержка увеличивается экспоненциально. +Задержка может дать надежную гарантию, что пакеты пойдут именно в нужном порядке и будут именно в нем обработаны на DPI. +По умолчанию используется первый вариант, т.к. он быстрее. + +Режим disorder делит оригинальный пакет на 2 части и отправляет следующую комбинацию в указанном порядке : +1. 2-я часть пакета +2. поддельная 1-я часть пакета, поле данных заполнено нулями +3. 1-я часть пакета +4. поддельная 1-я часть пакета, поле данных заполнено нулями. отсылка 2-й раз. +Оригинальный пакет дропается всегда. Параметр --dpi-desync-split-pos позволяет указать байтовую позицию, на которой +происходит разбивка. По умолчанию - 3. Если позиция больше длины пакета, позиция выбирается 1. +Этой последовательностью для DPI максимально усложняется задача реконструкции начального сообщения, по которому принимается решение о блокировке. +Некоторым DPI хватит и tcp сегментов в неправильном порядке, поддельные части сделаны для дополнительной надежности и более сложных +алгоритмов реконструкции. + +hostlist относится только к атаке desync. он не работает для других параметров. при попытке запустить nfqws с hostlist и без dpi-desync будет ошибка. +Хосты извлекаются из Host: хедера обычных http запросов и из SNI в TLS ClientHello. +Субдомены учитываются автоматически. Поддерживаются листы gzip. + +iptables для задействования атаки : + +iptables -t mangle -I POSTROUTING -p tcp -m multiport --dports 80,443 -m connbytes --connbytes-dir=original --connbytes-mode=packets --connbytes 2:4 -m mark ! --mark 0x40000000/0x40000000 -j NFQUEUE --queue-num 200 --queue-bypass + +connbytes направит в очередь только первый пакет с данными. mark нужен, чтобы сгенерированный поддельный пакет не попал опять к нам на обработку. +nfqws выставляет fwmark при его отсылке. + +tpws +----- + +tpws - это transparent proxy. + --debug=0|1|2 ; Количество буковок в output : 0(default)=тихо, 1=подробно, 2=отладка + --daemon ; демонизировать прогу + --pidfile= ; сохранить PID в файл + --user= ; менять uid процесса + --uid=uid[:gid] ; менять uid процесса + --bind-addr ; на каком адресе слушать. может быть ipv4 или ipv6 адрес. если не указано, то слушает на всех адресах ipv4 и ipv6 + ; если указан ipv6 link local, то требуется указать с какого он интерфейса через --bind-iface6 + --bind-linklocal=prefer|force ; если prefer, то найти link local от iface6. если не найдено - использовать первый адрес любого типа. + ; если force и link local не найден - выход по ошибке. + --bind-iface4= ; слушать на первом ipv4 интерфейса iface + --bind-iface6= ; слушать на первом ipv6 интерфейса iface. при bind-linklocal определяет интерфейс, откуда брать ipv6 link local + --bind-wait-ifup= ; ждать до N секунд появления и поднятия интерфейса + --bind-wait-ip= ; ждать до N секунд получения IP адреса (если задан --bind-wait-ifup - время идет после поднятия интерфейса) + --bind-wait-ip-linklocal= ; (только если заданы --bind-wait-ip и --bind-linklocal=prefer) согласиться на global address после N секунд + --socks ; вместо прозрачного прокси реализовать socks4/5 proxy + --no-resolve ; запретить ресолвинг имен через socks5 + --port= ; на каком порту слушать + --maxconn= ; максимальное количество соединений от клиентов к прокси + --maxfiles= ; макс количество файловых дескрипторов (setrlimit). мин требование (X*connections+16), где X=6 в tcp proxy mode, X=4 в режиме тамперинга. + ; стоит сделать запас с коэффициентом как минимум 1.5. по умолчанию maxfiles (X*connections)*1.5+16 + --max-orphan-time=; если вы запускате через tpws торрент-клиент с множеством раздач, он пытается установить очень много исходящих соединений, + ; большая часть из которых отваливается по таймату (юзера сидят за NAT, firewall, ...) + ; установление соединения в linux может длиться очень долго. локальный конец отвалился, перед этим послав блок данных, + ; tpws ждет подключения удаленного конца, чтобы отослать ему этот блок, и зависает надолго. + ; настройка позволяет сбрасывать такие подключения через N секунд, теряя блок данных. по умолчанию 5 сек. 0 означает отключить функцию + ; эта функция не действует на успешно подключенные ранее соединения + + --local-rcvbuf= ; SO_RCVBUF для соединений client-proxy + --local-sndbuf= ; SO_SNDBUF для соединений client-proxy + --remote-rcvbuf= ; SO_RCVBUF для соединений proxy-target + --remote-sndbuf= ; SO_SNDBUF для соединений proxy-target + --skip-nodelay ; не устанавливать в исходящих соединения TCP_NODELAY. несовместимо со split. + + --split-http-req=method|host ; способ разделения http запросов на сегменты : около метода (GET,POST) или около заголовка Host + --split-pos= ; делить все посылы на сегменты в указанной позиции. Если отсыл длинее 8Kb (размер буфера приема), то будет разделен каждый блок по 8Kb. + --hostcase ; менять регистр заголовка "Host:". по умолчанию на "host:". + --hostspell=HoST ; точное написание заголовка Host (можно "HOST" или "HoSt"). автоматом включает --hostcase + --hostdot ; добавление точки после имени хоста : "Host: kinozal.tv." + --hosttab ; добавление табуляции после имени хоста : "Host: kinozal.tv\t" + --hostnospace ; убрать пробел после "Host:" + --hostpad= ; добавить паддинг-хедеров общей длиной перед Host: + --methodspace ; добавить пробел после метода : "GET /" => "GET /" + --methodeol ; добавить перевод строки перед методом : "GET /" => "\r\nGET /" + --unixeol ; конвертировать 0D0A в 0A и использовать везде 0A + --hostlist= ; действовать только над доменами, входящими в список из filename. поддомены автоматически учитываются. в файле должен быть хост на каждой строке. + ; список читается 1 раз при старте и хранится в памяти в виде иерархической структуры для быстрого поиска. + ; для списка РКН может потребоваться система с 128 Mb памяти ! расчитывайте требование RAM для процесса как 3-5 кратный размер файла списка. + ; по сигналу HUP список будет перечитан при следующем принятом соединении + ; список может быть запакован в gzip. формат автоматически распознается и разжимается + +Параметры манипуляции могут сочетаться в любых комбинациях. +Есть исключения : split-pos заменяет split-http-req. hostdot и hosttab взаимоисключающи. + +На прикладном уровне в общем случае нет гарантированного средства заставить ядро выплюнуть +блок данных, порезанным в определенном месте. ОС держит буфер отсылки (SNDBUF) у каждого сокета. +Если у сокета включена опция TCP_NODELAY и буфер пуст, то каждый send приводит к отсылке +отдельного ip пакета или группы пакетов, если блок не вмещается в один ip пакет. +Однако, если в момент send уже имеется неотосланный буфер, то ОС присоединит данные к нему, +никакой отсылки отдельным пакетом не будет. Но в этом случае и так нет никакой гарантии, +что какой-то блок сообщения пойдет в начале пакета, на что собственно и заточены DPI. +Разбиение будет производится согласно MSS, который зависит от MTU исходящего интерфейса. +Таким образом DPI, смотрящие в начало поля данных TCP пакета, будут поломаны в любом случае. +Протокол http относится к запрос-ответным протоколам. Новое сообщение посылается только тогда, +когда сервер получил запрос и полностью вернул ответ. Значит запрос фактически был не только отослан, +но и принят другой стороной, а следовательно буфер отсылки пуст, и следующие 2 send приведут +к отсылке сегментов данных разными ip пакетами. +Резюме : tpws гарантирует сплит только за счет раздельных вызовов send, что на практике +вполне достаточно для протоколов http(s). + +tpws может биндаться только к одному ip или ко всем сразу. +Для бинда на все ipv4 укажите "0.0.0.0", на все ipv6 - "::". Без параметров биндаемся на все ipv4 и ipv6. +Параметры --bind-wait* могут помочь в ситуациях, когда нужно взять IP с интерфейса, но его еще нет, он не поднят +или не сконфигурирован. +В разных системах события ifup ловятся по-разному и не гарантируют, что интерфейс уже получил IP адрес определенного типа. +В общем случае не существует единого механизма повеситься на событие типа "на интерфейсе X появился link local address". + +Параметры rcvbuf и sndbuf позволяют установить setsockopt SO_RCVBUF SO_SNDBUF для локального и удаленного соединения. + +Если не указан ни один из параметров модификации содержимого, tpws работает в режиме "tcp proxy mode". +Он отличается тем, что в оба конца применяется splice для переброски данных из одного сокета в другой +без копирования в память процесса. Практически - это то же самое, но может быть чуть побыстрее. +TCP проксирование может быть полезно для обхода блокировок, когда DPI спотыкается на экзотических +хедерах IP или TCP. Вы вряд ли сможете поправить хедеры, исходящие от айфончиков и гаджетиков, +но на linux сможете влиять на них в какой-то степени через sysctl. +Когда соединение проходит через tpws, фактически прокси-сервер сам устанавливает подключение к удаленному +узлу от своего имени, и на это распространяются настройки системы, на которой работает прокси. +tpws можно использовать на мобильном устройстве, раздающем интернет на тарифе сотового оператора, +где раздача запрещена, в socks режиме даже без рута. Соединения от tpws неотличимы от соединений +с самого раздающего устройства. Отличить можно только по содержанию (типа обновлений windows). +Заодно можно и обойти блокировки. 2 зайца одним выстрелом. +Более подробную информацию по вопросу обхода ограничений операторов гуглите на 4pda.ru. + +Режим "--socks" не требует повышенных привилегий (кроме бинда на привилегированные порты 1..1023). +Поддерживаются версии socks 4 и 5 без авторизации. Версия протокола распознается автоматически. +Подключения к IP того же устройства, на котором работает tpws, включая localhost, запрещены. +socks5 позволяет удаленно ресолвить хосты (curl : --socks5-hostname firefox : socks_remote_dns=true). +tpws поддерживает эту возможность, однако используется блокирующий ресолвинг. Пока система +ресолвит хост (это может занять секунды), вся активность останавливается. +tpws полностью работает на асинхронных сокетах, но ресолвинг может попортить эту модель. +С ним возможны атаки DoS на tpws. Если tpws обслуживает множество клиентов, то из-за частого +ресолвинга качество обслуживания может существенно ухудшиться. +Если удаленный ресолвинг создает проблемы, настройте клиенты на локальный ресолвинг, включите опцию +--no-resolve на стороне tpws. + +Параметр --hostpad= добавляет паддинг-хедеров перед Host: на указанное количество байтов. +Если размер слишком большой, то идет разбивка на разные хедеры по 2K. +Общий буфер приема http запроса - 64K, больший паддинг не поддерживается, да и http сервера +такое уже не принимают. +Полезно против DPI, выполняющих реассемблинг TCP с ограниченным буфером. +Если техника работает, то после некоторого количества bytes http запрос начнет проходить до сайта. +Если при этом критический размер padding около MTU, значит скорее всего DPI не выполняет реассемблинг пакетов, и лучше будет использовать обычные опции --split-… +Если все же реассемблинг выполняется, то критический размер будет около размера буфера DPI. Он может быть 4K или 8K, возможны и другие значения. + +--skip-nodelay может быть полезен, чтобы привести MTU к MTU системы, на которой работает tpws. +Это может быть полезно для скрытия факта использования VPN. Пониженный MTU - 1 из способов обнаружения +подозрительного подключения. С tcp proxy ваши соединения неотличимы от тех, что сделал бы сам шлюз. + +Способы получения списка заблокированных IP +------------------------------------------- + +1) Внесите заблокирванные домены в ipset/zapret-hosts-user.txt и запустите ipset/get_user.sh +На выходе получите ipset/zapret-ip-user.txt с IP адресами. + +Cкрипты с названием get_reestr_* оперируют дампом реестра заблокированных сайтов : + +2) ipset/get_reestr_resolve.sh получает список доменов от rublacklist и дальше их ресолвит в ip адреса +в файл ipset/zapret-ip.txt.gz. В этом списке есть готовые IP адреса, но судя во всему они там в точности в том виде, +что вносит в реестр РосКомПозор. Адреса могут меняться, позор не успевает их обновлять, а провайдеры редко +банят по IP : вместо этого они банят http запросы с "нехорошим" заголовком "Host:" вне зависимости +от IP адреса. Поэтому скрипт ресолвит все сам, хотя это и занимает много времени. +Используется мультипоточный ресолвер mdig (собственная разработка). +Реестр РКН уже настолько огромен, что однопоточный ресолв займет вечность, а многопоточный хоть и тоже много времени, +но хотя бы оно конечно. + +3) ipset/get_reestr_ip.txt +взять все IP адреса из реестра и загнать в ipset zapret/zapret6 +на роутерах с <128 Mb RAM может сработать только с TMPDIR на внешнем носителе + +4) ipset/get_reestr_combined.sh. для провайдеров, которые блокируют по IP https, а остальное по DPI. +IP https и IP без домена заносятся в ipset ipban, остальные в ipset zapret. +на роутерах с <128 Mb RAM может сработать только с TMPDIR на внешнем носителе + +Скрипты 3 и 4 убирают из списка мусор. На данный момент мусором считается миллион+ забаненых telegram proxy IP. +Это сокращает размер списка кардинально. Большой объем памяти требуется только для временного хранения скачанного +реестра в /tmp. Потом из списка уберется мусор, он станет значительно легче, поместится в ipset даже на 64 Mb RAM. +Поэтому поможет задание TMPDIR на флэшку. + +Cкрипты с названием get_antifilter_* оперируют списками адресов и масок подсетей с сайтов antifilter.network и antifilter.download : + +5) ipset/get_antifilter_ip.sh. получает лист https://antifilter.network/download/ip.lst. +лист содержит огромное количество ip (> миллиона). +на роутерах с <128 Mb RAM даже не пытайтесь + +7) ipset/get_antifilter_ipsmart.sh. получает лист https://antifilter.network/download/ipsmart.lst. +это умная суммаризация отдельных адресов из ip.lst по маскам от /32 до /22 +количество префиксов измеряется всего лишь десятками тысяч, потому это лучшее решение для роутера с 64 Mb RAM + +7) ipset/get_antifilter_ipsum.sh. получает лист https://antifilter.network/download/ipsum.lst. +это суммаризация отдельных адресов из ip.lst по маске /24 +количество префиксов измеряется всего лишь десятками тысяч, потому можно использовать на роутерах с 64 Mb RAM + +Все варианты рассмотренных скриптов автоматически создают и заполняют ipset. +Варианты 2-7 дополнительно вызывают вариант 1. + +8) ipset/get_config.sh. этот скрипт вызывает то, что прописано в переменной GETLIST из файла config +Если переменная не определена, то ресолвятся лишь листы для ipset nozapret/nozapret6. + +Листы РКН все время изменяются. Возникают новые тенденции. Требования к RAM могут меняться. +Поэтому необходима нечастая, но все же регулярная ревизия что же вообще у вас происходит на роутере. +Или вы можете узнать о проблеме лишь когда у вас начнет постоянно пропадать wifi, и вам придется +его перезагружать каждые 2 часа (метод кувалды). + +Листы zapret-ip.txt и zapret-ipban.txt сохраняются в сжатом виде в файлы .gz. +Это позволяет снизить их размер во много раз и сэкономить место на роутере. + +На роутерах не рекомендуется вызывать эти скрипты чаще раза за 2 суток, поскольку сохранение идет +либо во внутреннюю флэш память роутера, либо в случае extroot - на флэшку. +В обоих случаях слишком частая запись может убить флэшку, но если это произойдет с внутренней +флэш памятью, то вы просто убьете роутер. + +Принудительное обновление ipset выполняет скрипт ipset/create_ipset.sh. +Если передан параметр "no-update", скрипт не обновляет ipset, а только создает его при его отсутствии и заполняет. +Это полезно, когда могут случиться несколько последовательных вызовов скрипта. Нет смысла несколько раз перезаполнять +ipset, это длительная операция на больших листах. Листы можно обновлять раз в несколько суток, и только тогда +вызывать create_ipset без параметра "no-update". Во всех остальных случаях стоит применять "no-update". +Список РКН уже достиг внушительных размеров в сотни тысяч IP адресов. Поэтому для оптимизации ipset +применяется утилита ip2net. Она берет список отдельных IP адресов и пытается интеллектуально создать из него подсети для сокращения +количества адресов. ip2net написан на языке C, поскольку операция ресурсоемкая. Иные способы роутер может не потянуть. +Если ip2net скомпилирован или в каталог ip2net скопирован бинарик, то скрипт create_ipset.sh использует ipset типа hash:net, прогоняя список через ip2net. +В противном случае используется ipset типа hash:ip, список загружается как есть. +Соответственно, если вам не нравится ip2net, просто уберите из каталога ip2net бинарик. + +Можно внести список доменов в ipset/zapret-hosts-user-ipban.txt. Их ip адреса будут помещены +в отдельный ipset "ipban". Он может использоваться для принудительного завертывания всех +соединений на прозрачный proxy "redsocks" или на VPN. + +IPV6 : если включен ipv6, то дополнительно создаются листы с таким же именем, но с "6" на конце перед расширением. +zapret-ip.txt => zapret-ip6.txt +Создаются ipset-ы zapret6 и ipban6. +Листы с antifilter не содержат список ipv6 адресов. + +СИСТЕМА ИСКЛЮЧЕНИЯ IP. Все скрипты ресолвят файл zapret-hosts-user-exclude.txt, создавая zapret-ip-exclude.txt и zapret-ip-exclude6.txt. +Они загоняются в ipset-ы nozapret и nozapret6. Все правила, создаваемые init скриптами, создаются с учетом этих ipset. +Помещенные в них IP не участвуют в процессе. +zapret-hosts-user-exclude.txt может содержать домены, ipv4 и ipv6 адреса или подсети. + +ip2net +------ + +Утилита ip2net предназначена для преобразования ipv4 или ipv6 списка ip в список подсетей +с целью сокращения размера списка. Входные данные берутся из stdin, выходные выдаются в stdout. + -4 ; лист - ipv4 (по умолчанию) + -6 ; лист - ipv6 + --prefix-length=min[-max] ; диапазон рассматриваемых длин префиксов. например : 22-30 (ipv4), 56-64 (ipv6) + --v4-threshold=mul/div ; ipv4 : включать подсети, в которых заполнено по крайней мере mul/div адресов. например : 3/4 + --v6-threshold=N ; ipv6 : минимальное количество ip для создания подсети +В списке могут присутствовать записи вида ip/prefix и ip1-ip2. Такие записи выкидываются в stdout без изменений. +Они принимаются командой ipset. ipset умеет для листов hash:net из ip1-ip2 делать оптимальное покрытие ip/prefix. + +Выбирается подсеть, в которой присутствует указанный минимум адресов. +Для ipv4 минимум задается как процент от размера подсети (mul/div. например, 3/4), для ipv6 минимум задается напрямую. + +Размер подсети выбирается следующим алгоритмом : +Сначала в указанном диапазоне длин префиксов ищутся подсети, в которых количество адресов - максимально. +Если таких сетей найдено несколько, берется наименьшая сеть (префикс больше). +Например, заданы параметры v6_threshold=2 prefix_length=32-64, имеются следующие ipv6 : +1234:5678:aaaa::5 +1234:5678:aaaa::6 +1234:5678:aaac::5 +Результат будет : +1234:5678:aaa8::/45 +Эти адреса так же входят в подсеть /32. Однако, нет смысла проходиться ковровой бомбардировкой, +когда те же самые адреса вполне влезают в /45 и их ровно столько же. +Если изменить v6_threshold=4, то результат будет : +1234:5678:aaaa::5 +1234:5678:aaaa::6 +1234:5678:aaac::5 +То есть ip не объединятся в подсеть, потому что их слишком мало. +Если изменить prefix_length=56-64, результат будет : +1234:5678:aaaa::/64 +1234:5678:aaac::5 + +Требуемое процессорное время для вычислений сильно зависит от ширины диапазона длин префиксов, размера искомых подсетей и длины листа. +Если ip2net думает слишком долго, не используйте слишком большие подсети и уменьшите диапазон длин префиксов. +Учтите, что арифметика mul/div - целочисленная. При превышении разрядной сетки 32 bit результат непредсказуем. +Не надо делать такое : 5000000/10000000. 1/2 - гораздо лучше. + +Фильтрация по именам доменов +---------------------------- + +Альтернативой ipset является использование tpws со списком доменов. +tpws может читать только один hostlist. + +Поддерживаются 2 варианта : +1) Внесите домены для дурения в ipset/zapret-hosts-users.txt. Удалите ipset/zapret-hosts.txt.gz. +Тогда init скрипт будет запускать tpws с листом zapret-hosts-users.txt. + +2) Список доменов РКН может быть получен скриптом ipset/get_reestr_hostlist.sh - кладется в ipset/zapret-hosts.txt.gz. +Этот скрипт автоматически добавляет к списку РКН домены из zapret-hosts-user.txt. +init скрипт будет запускать tpws с листом zapret-hosts.txt.gz. + +При фильтрации по именам доменов tpws должен запускаться без фильтрации по ipset. +Весь трафик http идет через tpws, и он решает нужно ли применять дурение в зависимости от поля Host: в http запросе. +Это создает повышенную нагрузку на систему. +Сам поиск по доменам работает очень быстро, нагрузка связана с прокачиванием объема данных через процесс. +При использовании больших списков, в том числе списка РКН, оцените объем RAM на роутере ! +Если после запуска tpws RAM под завязку или случаются oom, значит нужно отказаться от таких больших списков. + +Проверка провайдера +------------------- + +Перед настройкой нужно провести исследование какую бяку устроил вам ваш провайдер. + +Нужно выяснить не подменяет ли он DNS и какой метод обхода DPI работает. +В этом вам поможет скрипт https://github.com/ValdikSS/blockcheck. + +Если DNS подменяется, но провайдер не перехватывает обращения к сторонним DNS, поменяйте DNS на публичный. +Например : 8.8.8.8, 8.8.4.4, 1.1.1.1, 1.0.0.1, 9.9.9.9 +Если DNS подменяется и провайдер перехватывает обращения к сторонним DNS, настройте dnscrypt. + +Проанализируйте какие методы дурения DPI работают, в соответствии с ними настройте /opt/zapret/config. + + +Выбор параметров +---------------- + +Файл /opt/zapret/config используется различными компонентами системы и содержит основные настройки. +Его нужно просмотреть и при необходимости отредактировать. +Выберите MODE : + +nfqws_ipset - использовать nfqws для модификации трафика на порт 80 только на IP из ipset "zapret" +nfqws_ipset_https - использовать nfqws для модификации трафика на порты 80 и 443 только на IP из ipset "zapret" +nfqws_all - использовать nfqws для модификации трафика на порт 80 для всех IP +nfqws_all_https - использовать nfqws для модификации трафика на порты 80 и 443 для всех IP +nfqws_all_desync - использовать nfqws для атаки десинхронизации DPI на http и https для всех IP +nfqws_ipset_desync - использовать nfqws для атаки десинхронизации DPI на http и https только на IP из ipset "zapret" +nfqws_hostlist_desync - использовать nfqws для атаки десинхронизации DPI на http и https только на хосты из hostlist. +tpws_ipset - использовать tpws для модификации трафика на порт 80 только на IP из ipset "zapret" +tpws_ipset_https - использовать tpws для модификации трафика на порты 80 и 443 только на IP из ipset "zapret" +tpws_all - использовать tpws для модификации трафика на порт 80 для всех IP +tpws_all_https - использовать tpws для модификации трафика на порты 80 и 443 для всех IP +tpws_hostlist - пропускать через tpws весь трафик на порт 80. tpws применяет дурение только к хостам из hostlist. +ipset - только заполнить ipset. ipset может быть применен для заворота трафика на прокси или на VPN +custom - нужно самому запрограммировать запуск демонов в init скрипте и правила iptables + +Можно изменить опции дурения, применяемые демонами nfqws и tpws : + +NFQWS_OPT="--wsize=3 --hostspell=HOST" +TPWS_OPT_HTTP="--hostspell=HOST --split-http-req=method" +TPWS_OPT_HTTPS="--split-pos=3" + +Отдельно настраиваются опции для атаки по десинхронизации DPI : + +DESYNC_MARK=0x40000000 +NFQWS_OPT_DESYNC="--dpi-desync --dpi-desync-ttl=0 --dpi-desync-fooling=badsum --dpi-desync-fwmark=$DESYNC_MARK" + + +Параметр GETLIST указывает инсталятору install_easy.sh какой скрипт дергать +для обновления списка заблокированных ip или хостов. +Он же вызывается через get_config.sh из запланированных заданий (crontab или systemd timer). +Поместите сюда название скрипта, который будете использовать для обновления листов. +Если не нужно, то параметр следует закомментировать. + +Можно индивидуально отключить ipv4 или ipv6. Если параметр закомментирован или не равен "1", +использование протокола разрешено. +#DISABLE_IPV4=1 +DISABLE_IPV6=1 + +Количество потоков для многопоточного DNS ресолвера mdig (1..100). +Чем их больше, тем быстрее, но не обидится ли на долбежку ваш DNS сервер ? +MDIG_THREADS=30 + +Место для хранения временных файлов. При скачивании огромных реестров в /tmp места может не хватить. +Если файловая система на нормальном носителе (не встроенная память роутера), то можно +указать место на флэшке или диске. +TMPDIR=/opt/zapret/tmp + +Опции для создания ipset-ов +IPSET_OPT="hashsize 262144 maxelem 2097152" +ПРО РУГАНЬ в dmesg по поводу нехватки памяти. +Может так случиться, что памяти в системе достаточно, но при попытке заполнить огромный ipset +ядро начинает громко ругаться, ipset заполняется не полностью. +Вероятная причина в том, что превышается hashsize, заданный при создании ipset (create_ipset.sh). +Происходит переаллокация списка, не находится непрерывных фрагментов памяти нужной длины. +Это лечится увеличением hashsize. Но чем больше hashsize, тем больше занимает ipset в памяти. +Задавать слишком большой hashsize для недостаточно больших списков нецелесообразно. + +Опции для вызова ip2net. Отдельно для листов ipv4 и ipv6. +IP2NET_OPT4="--prefix-length=22-30 --v4-threshold=3/4" +IP2NET_OPT6="--prefix-length=56-64 --v6-threshold=5" + +Следующие настройки не актуальны для openwrt : + +Если ваша система работает как роутер, то нужно вписать названия внутреннего и внешнего интерфейсов : +IFACE_LAN=eth0 +IFACE_WAN=eth1 +ВАЖНО : настройка маршрутизации , маскарада и т.д. не входит в задачу zapret. +Включаются только режимы, обеспечивающие перехват транзитного трафика. + +Параметр INIT_APPLY_FW=1 разрешает init скрипту самостоятельно применять правила iptables. +При иных значениях или если параметр закомментирован, правила применены не будут. +Это полезно, если у вас есть система управления фаерволом, в настройки которой и следует прикрутить правила. + +Прикручивание к системе управления фаерволом или своей системе запуска +---------------------------------------------------------------------- + +Если вы используете какую-то систему управления фаерволом, то она может вступать в конфликт +с имеющимся скриптом запуска. При повторном применении правил она могла бы поломать настройки iptables от zapret. +В этом случае правила для iptables должны быть прикручены к вашему фаерволу отдельно от запуска tpws или nfqws. + +Следующие вызовы позволяют применить или убрать правила iptables отдельно : + + /opt/zapret/init.d/sysv/zapret start-fw + /opt/zapret/init.d/sysv/zapret stop-fw + +А так можно запустить или остановить демоны отдельно от фаервола : + + /opt/zapret/init.d/sysv/zapret start-daemons + /opt/zapret/init.d/sysv/zapret stop-daemons + +Вариант custom +-------------- + +custom код вынесен в отдельный shell include +/opt/zapret/init.d/sysv/custom +или +/opt/zapret/init.d/openwrt/custom + +Нужно свой код вписать в функции : +zapret_custom_daemons +zapret_custom_firewall + +В файле custom пишите ваш код, пользуясь хелперами из "functions" или "zapret". +Смотрите как там сделано добавление iptables или запуск демонов. +Используя хелпер функции, вы избавитесь от необходимости учитывать все возможные случаи +типа наличия/отсутствия ipv6, является ли система роутером, имена интерфейсов, ... +Хелперы это учитывают , вам нужно сосредоточиться лишь на фильтрах iptables и +параметрах демонов. + +Код для openwrt и sysv немного отличается. В sysv нужно обрабатывать и запуск, и остановку. +Запуск это или остановка передается в параметре $1 (0 или 1). +В openwrt за остановку демонов отвечает procd, а firewall вычищается при "fw3 restart", +потому нет необходимости реализовывать логику останова. + +При апгрейде нужно сохранить лишь custom, другие файлы править не надо. + +Пример установки на debian-подобную систему +------------------------------------------- + +На debian основано большое количество дистрибутивов linux, включая ubuntu. +Здесь рассматриваются прежде всего Debian 8+ и Ubuntu 16+. +Но с большой вероятностью может сработать и на производных от них. +Главное условие - наличие systemd, apt и нескольких стандартных пакетов в репозитории. + +Установить пакеты : + apt-get update + apt-get install ipset curl dnsutils git + +Скопировать директорию zapret в /opt или скачать через git : + cd /opt + git clone --depth 1 https://github.com/bol-van/zapret + +Запустить автоинсталятор бинариков. Он сам определит рабочую архитектуру и настроит все бинарики. + /opt/zapret/install_bin.sh +АЛЬТЕРНАТИВА : make -C /opt/zapret. Получите динамические бинарики под вашу ось. +Для сборки требуются dev пакеты : zlib1g-dev libcap-dev libnetfilter-queue-dev + +Настроить параметры согласно разделу "Выбор параметров". + +Создать ссылку на service unit в systemd : + ln -fs /opt/zapret/init.d/systemd/zapret.service /lib/systemd/system + +Удалить старые листы, если они были созданы ранее : + /opt/zapret/ipset/clear_lists.sh +По желанию прописать в /opt/zapret/ipset/zapret-hosts-user.txt свои домены. +Выполнить скрипт обновления листа : + /opt/zapret/ipset/get_config.sh +Настроить таймер systemd для обновления листа : + ln -fs /opt/zapret/init.d/systemd/zapret-list-update.service /lib/systemd/system + ln -fs /opt/zapret/init.d/systemd/zapret-list-update.timer /lib/systemd/system + +Принять изменения в systemd : + systemctl daemon-reload + +Включить автозапуск службы : + systemctl enable zapret + +Включить таймер обновления листа : + systemctl enable zapret-list-update.timer + +Запустить службу : + systemctl start zapret + +Попробовать зайти куда-нибудь : http://ej.ru, http://kinozal.tv, http://grani.ru. +Если не работает, то остановить службу zapret, добавить правило в iptables вручную, +запустить nfqws или tpws в терминале под рутом с нужными параметрами. +Пытаться подключаться к заблоченым сайтам, смотреть вывод программы. +Если нет никакой реакции, значит скорее всего указаны неверные параметры или ip назначения нет в ipset. +Если реакция есть, но блокировка не обходится, значит параметры обхода подобраны неверно, или это средство +не работает в вашем случае на вашем провайдере. +Никто и не говорил, что это будет работать везде. +Попробуйте снять дамп в wireshark или "tcpdump -vvv -X host ", посмотрите действительно ли первый +сегмент TCP уходит коротким и меняется ли регистр "Host:". + +Шпаргалка по управлению службой и таймером : + +enable auto start : systemctl enable zapret +disable auto start : systemctl disable zapret +start : sytemctl start zapret +stop : systemctl stop zapret +status, output messages : systemctl status zapret +timer info : systemctl list-timer +delete service : systemctl disable zapret ; rm /lib/systemd/system/zapret.service +delete timer : systemctl disable zapret-list-update.timer ; rm /lib/systemd/system/zapret-list-update.* + +Centos 7+, Fedora +----------------- + +Centos с 7 версии и более-менее новые федоры построены на systemd. +В качестве пакетного менеджера используется yum. + +Установить пакеты : + yum install -y curl ipset dnsutils git + +Далее все аналогично debian. + +OpenSUSE +-------- + +Новые OpenSUSE основаны на systemd и менеджере пакетов zypper. + +Установить пакеты : + zypper --non-interactive install curl ipset + +Далее все аналогично debian, кроме расположения systemd. +В opensuse он находится не в /lib/systemd, а в /usr/lib/systemd. +Правильные команды будут : + + ln -fs /opt/zapret/init.d/systemd/zapret.service /usr/lib/systemd/system + ln -fs /opt/zapret/init.d/systemd/zapret-list-update.service /usr/lib/systemd/system + ln -fs /opt/zapret/init.d/systemd/zapret-list-update.timer /usr/lib/systemd/system + +Arch linux +---------- + +Построен на базе systemd. + +Установить пакеты : + pacman -Syy + pacman --noconfirm -S ipset curl + +Далее все аналогично debian. + +Gentoo +------ + +Эта система использует OpenRC - улучшенную версию sysvinit. +Установка пакетов производится командой : emerge +Пакеты собираются из исходников. + +Требуются все те же ipset, curl, git для скачивания с github. +git и curl по умолчанию могут присутствовать, ipset отсутствует. + + emerge ipset + +Настроить параметры согласно разделу "Выбор параметров". + +Запустить автоинсталятор бинариков. Он сам определит рабочую архитектуру и настроит все бинарики. + /opt/zapret/install_bin.sh +АЛЬТЕРНАТИВА : make -C /opt/zapret. Получите динамические бинарики под вашу ось. + +Удалить старые листы, если они были созданы ранее : + /opt/zapret/ipset/clear_lists.sh +По желанию прописать в /opt/zapret/ipset/zapret-hosts-user.txt свои домены. +Выполнить скрипт обновления листа : + /opt/zapret/ipset/get_config.sh +Зашедулить обновление листа : + crontab -e + Создать строчку "0 12 */2 * * /opt/zapret/ipset/get_config.sh" + +Подключить init скрипт : + + ln -fs /opt/zapret/init.d/sysv/zapret /etc/init.d + rc-update add zapret + +Запустить службу : + + rc-service zapret start + +Шпаргалка по управлению службой : + +enable auto start : rc-update add zapret +disable auto start : rc-update del zapret +start : rc-service zapret start +stop : rc-service zapret stop + +Простая установка +----------------- + +Ты простой юзер ? Не хочешь ни во что вникать, а хочешь нажать и чтобы сразу заработало ? +Пользуешься системой на базе systemd ? Тогда этот вариант для тебя. +Есть шансы, что оно заработает с минимумом усилий. Запусти терминал и в нем вбивай команды : + +# su +<введи пароль рута> +# apt-get update +# apt-get install git +# cd /opt +# git clone --depth 1 https://github.com/bol-van/zapret +# zapret/install_easy.sh + +Надоело ? + +# /opt/zapret/uninstall_easy.sh +# rm -r /opt/zapret + +Это самый необходимый миниум действий. +Если zapret уже куда-то был скачан, то можно запустить install_easy.sh прямо оттуда. +Инсталятор сам запросит рута, скопирует файлы куда надо. +Можно даже запускать инсталятор из "проводника" через функцию "запустить в терминале", если +"проводник" такое позволяет. + +Для более гибкой настройки перед запуском инсталятора следует выполнить раздел "Выбор параметров". + +Если система на базе systemd, но используется не поддерживаемый инсталятором менеджер пакетов +или названия пакетов не соответствуют прописанным в инсталятор, пакеты нужно установить вручную. +Требуется : ipset curl + +ВАЖНО : Хоть инсталятор и спрашивает является ли система роутером, +настройка маршрутизации , маскарада и т.д. не входит в задачу zapret. +Роутер вдруг сам волшебно не поднимется. Предполагается, что роутер вы уже настроили сами. + +В комплекте идут статические бинарики для большинства архитектур. Какой-то из них подойдет +с вероятностью 99%. Но если у вас экзотическая система, инсталятор попробует собрать бинарики сам +через make. Для этого нужны gcc, make и необходимые -dev пакеты. Можно форсировать режим +компиляции следующим вызовом : + + install_easy.sh make + + +openwrt/LEDE +------------ + +Установить дополнительные пакеты : +opkg update +opkg install iptables-mod-extra iptables-mod-nfqueue iptables-mod-filter iptables-mod-ipopt iptables-mod-conntrack-extra ipset curl +(ipv6) opkg install ip6tables-mod-nat +(опционально) opkg install gzip +(опционально) opkg install grep + +ЭКОНОМИЯ МЕСТА : + +gzip от busybox в разы медленней полноценного варианта. gzip используется скриптами получения листов. +grep от busybox катастрофически медленный с опцией -f. она применяется в get_reestr_combined.sh. если вы не собираетесь +пользоваться этим скриптом, gnu grep можно не устанавливать +iptables-mod-nfqueue можно выкинуть, если не будем пользоваться nfqws +curl можно выкинуть, если для получения ip листа будет использоваться только get_user.sh +ipset можно выкинуть, если не будем пользоваться ipset-тами, а будем, например, использовать tpws +со списком доменов. + +Самая главная трудность - скомпилировать программы на C. Это можно сделать на linux x64 при помощи SDK, который +можно скачать с официального сайта openwrt или LEDE. Но процесс кросс компиляции - это всегда сложности. +Недостаточно запустить make как на традиционной linux системе. +Поэтому в binaries имеются готовые статические бинарики для всех самых распространенных архитектур. +Статическая сборка означает, что бинарик не зависит от типа libc (glibc, uclibc или musl) и наличия установленных so. +Его можно использовать сразу. Лишь бы подходил тип CPU. У ARM и MIPS есть несколько версий. +Скорее всего найдется рабочий вариант. Если нет - вам придется собирать самостоятельно. +Для всех поддерживаемых архитектур бинарики запакованы upx. На текущий момент все, кроме mips64. + +Скопировать директорию "zapret" в /opt на роутер. + +Если места достаточно, самый простой способ : + opkg update + opkg install git-http + mkdir /opt + cd /opt + git clone --depth 1 https://github.com/bol-van/zapret + +Если места немного : + opkg update + opkg install openssh-sftp-server unzip + ifconfig br-lan +Скачать на комп с github zip архив кнопкой "Clone or download"->Download ZIP +Скопировать средствами sftp zip архив на роутер в /tmp. + mkdir /opt + cd /opt + unzip /tmp/zapret-master.zip + mv zapret-master zapret + rm /tmp/zapret-master.zip + +Если места совсем мало : + cd /tmp + nc -l -p 1111 >zapret.tar.gz +На linux системе скачать и распаковать zapret. Оставить необходимый минимум файлов. +Запаковать в архив zapret.tar.gz. + md5sum zapret.tar.gz + nc 1111 /{tpws,nfqws,ip2net,mdig} + +После успешной установки можно удалить zapret из tmp для освобождения RAM : + rm -r /tmp/zapret + +Для более гибкой настройки перед запуском инсталятора следует выполнить раздел "Выбор параметров". + +Android +------- + +Без рута забудьте про nfqws и tpws в режиме transparent proxy. tpws будет работать только в режиме --socks. + +Статистики наличия NFQUEUE в стоковых ядрах android у меня нет, но на первом попавшемся устройстве на базе MTK он есть. +Если NFQUEUE есть, то nfqws проверен - он работает. + +В стоковых ядрах нет поддержки ipset. В общем случае сложность задачи по поднятию ipset варьируется от +"не просто" до "почти невозможно". Если только вы не найдете готовое собранное ядро под ваш девайс. + +tpws будет работать в любом случае, он не требует чего-либо особенного. +В android нет /etc/passwd, потому опция --user не будет работать. Вместо нее можно +пользоваться числовыми user id и опцией --uid. +Рекомендую использовать gid 3003 (AID_INET). Иначе можете получить permission denied на создание сокета. +Например : --uid 1:3003 +В iptables укажите : "! --uid-owner 1" вместо "! --uid-owner tpws". +Напишите шелл скрипт с iptables и tpws, запускайте его средствами вашего рут менеджера. +Скрипты автозапуска лежат тут : +magisk : /data/adb/service.d +supersu : /system/su.d + +Я не проверял не прибивают ли новые андроиды iptables по своей прихоти в процессе работы +или при подключении/отключении wifi, mobile data, ... + +Кто силен в разработке под андроид, думаю будет несложно написать простую програмулину +с выбором опций tpws, которая сможет выбрать tpws нужной архитектуры, запустить его +и добавить iptables. Чтобы была возможность автозапуска (после нее применяем настройки +и сразу exit). И чтобы были кнопки start/stop. +Если кто готов такую програмулину написать - все скажут спасибо. +Тогда любой желающий с рутом сможет парой кликов настроить себе tpws. + +Другие прошивки +--------------- + +Для статических бинариков не имеет значения на чем они запущены : PC, android, приставка, роутер, любой другой девайс. +Подойдет любая прошивка, дистрибутив linux. Статические бинарики запустятся на всем. +Им нужно только ядро с необходимыми опциями сборки или модулями. +Но кроме бинариков в проекте используются еще и скрипты, в которых задействуются некоторые +стандартные программы. + +ЗАМЕЧАНИЕ. Как показала практика, на некоторых ядрах бинарики с upx падают в segfault. +Если это ваш случай, скачайте upx и распакуйте бинарики. Распаковать можно на любой системе и любой архитектуре. + +Основные причины почему нельзя просто так взять и установить эту систему на что угодно : + * отсутствие доступа к девайсу через shell + * отсутствие рута + * отсутствие раздела r/w для записи и энергонезависимого хранения файлов + * отсутствие возможности поставить что-то в автозапуск + * отсутствие cron + * недостаток модулей ядра или опций его сборки + * недостаток модулей iptables (/usr/lib/iptables/lib*.so) + * недостаток стандартных программ (типа ipset, curl) или их кастрированность (облегченная замена) + * кастрированный или нестандартный шелл sh + +Если в вашей прошивке есть все необходимое, то вы можете адаптировать zapret под ваш девайс в той или иной степени. +Может быть у вас не получится поднять все части системы, однако вы можете хотя бы попытаться +поднять tpws и завернуть на него через -j REDIRECT весь трафик на порт 80. +Если вам есть куда записать tpws, есть возможность выполнять команды при старте, то как минимум +это вы сделать сможете. Скорее всего поддержка REDIRECT в ядре есть. Она точно есть на любом роутере, +на других устройствах под вопросом. NFQUEUE, ipset на большинстве прошивок отсутствуют из-за ненужности. + +Пересобрать ядро или модули для него будет скорее всего достаточно трудно. +Для этого вам необходимо будет по крайней мере получить исходники вашей прошивки. +User mode компоненты могут быть привнесены относительно безболезненно, если есть место куда их записать. +Специально для девайсов, имеющих область r/w, существует проект entware. +Некоторые прошивки даже имеют возможность его облегченной установки через веб интерфейс. +entware содержит репозиторий user-mode компонент, которые устанавливаются в /opt. +С их помощью можно компенсировать недостаток ПО основной прошивки, за исключением ядра. + +Подробное описание настроек для других прошивок выходит за рамки данного проекта. + +Openwrt является одной из немногих относительно полноценных linux систем для embedded devices. +Она характеризуется следующими вещами, которые и послужили основой выбора именно этой прошивки : + * полный root доступ к девайсу через shell. на заводских прошивках чаще всего отсутствует, на многих альтернативных есть + * корень r/w. это практически уникальная особенность openwrt. заводские и большинство альтернативных прошивок + построены на базе squashfs root (r/o), а конфигурация хранится в специально отформатированной области + встроенной памяти, называемой nvram. не имеющие r/w корня системы сильно кастрированы. они не имеют + возможности доустановки ПО из репозитория без специальных вывертов и заточены в основном + на чуть более продвинутого, чем обычно, пользователя и управление имеющимся функционалом через веб интерфейс, + но функционал фиксированно ограничен. альтернативные прошивки как правило могут монтировать r/w раздел + в какую-то область файловой системы, заводские обычно могут монтировать лишь флэшки, подключенные к USB, + и не факт, что есть поддержка unix файловых системы. может быть поддержка только fat и ntfs. + * возможность выноса корневой файловой системы на внешний носитель (extroot) или создания на нем оверлея (overlay) + * наличие менеджера пакетов opkg и репозитория софта + * в репозитории есть все модули ядра, их можно доустановить через opkg. ядро пересобирать не нужно. + * в репозитории есть все модули iptables, их можно доустановить через opkg + * в репозитории есть огромное количество стандартных программ и дополнительного софта + * наличие SDK, позволяющего собрать недостающее + +Обход блокировки https +---------------------- + +Как правило трюки с DPI не помогают для обхода блокировки https. +Приходится перенаправлять трафик через сторонний хост. +Предлагается использовать прозрачный редирект через socks5 посредством iptables+redsocks, либо iptables+iproute+vpn. +Настройка варианта с redsocks на openwrt описана в https.txt. +Настройка варианта с iproute+wireguard - в wireguard_iproute_openwrt.txt. + +ИНОГДА (но нечасто) работает трюк со сплитом tls handshake на 2 части. +Это можно сделать все теми же средствами. nfqws или tpws с параметром --split-pos. +--split-pos - единственный параметр, который работает на не-HTTP трафике, все остальное работать не будет. +Попробуйте, может вам повезет. + +ЧАЩЕ на https работает атака DPI desync, но у нее есть свои нюансы настройки. + +Почему стоит вложиться в покупку VPS +------------------------------------ + +VPS - это виртуальный сервер. Существует огромное множество датацентров, предлагающих данную услугу. +На VPS могут выполняться какие угодно задачи. От простого веб сайта до навороченной системы собственной разработки. +Можно использовать VPS и для поднятия собственного vpn или прокси. +Сама широта возможных способов применения , распространенность услуги сводят к минимуму возможности +регуляторов по бану сервисов такого типа. Да, если введут белые списки, то решение загнется, но это будет уже другая +реальность, в которой придется изобретать иные решения. +Пока этого не сделали, никто не будет банить хостинги просто потому , что они предоставляют хостинг услуги. +Вы как индивидуум скорее всего никому не нужны. Подумайте чем вы отличаетесь от известного VPN провайдера. +VPN провайдер предоставляет _простую_ и _доступную_ услугу по обходу блокировок для масс. +Этот факт делает его первоочередной целью блокировки. РКН направит уведомление, после отказа сотрудничать +заблокирует VPN. Предоплаченная сумма пропадет. +У регуляторов нет и никогда не будет ресурсов для тотальной проверки каждого сервера в сети. +Возможен китайский расклад, при котором DPI выявляет vpn протоколы и динамически банит IP серверов, +предоставляющих нелицензированный VPN. Но имея знания, голову, вы всегда можете обфусцировать +vpn трафик или применить другие типы VPN, более устойчивые к анализу на DPI или просто менее широкоизвестные, +а следовательно с меньшей вероятностью обнаруживамые регулятором. +У вас есть свобода делать на вашем VPS все что вы захотите, адаптируясь к новым условиям. +Да, это потребует знаний. Вам выбирать учиться и держать ситуацию под контролем, когда вам ничего запретить +не могут, или покориться системе. + +VPS можно прибрести в множестве мест. Существуют специализированные на поиске предложений VPS порталы. +Например, вот этот : https://vps.today/ +Для персонального VPN сервера обычно достаточно самой минимальной конфигурации, но с безлимитным трафиком или +с большим лимитом по трафику (терабайты). Важен и тип VPS. Openvz подойдет для openvpn, но +вы не поднимете на нем wireguard, ipsec, то есть все, что требует kernel mode. +Для kernel mode требуется тип виртуализации, предполагающий запуск полноценного экземпляра ОС linux +вместе с ядром. Подойдут kvm, xen, hyper-v, vmware. + +По цене можно найти предложения, которые будут дешевле готовой VPN услуги, но при этом вы сам хозяин в своей лавке +и не рискуете попасть под бан регулятора, разве что "заодно" под ковровую бомбардировку с баном миллионов IP. +Кроме того, если вам совсем все кажется сложным, прочитанное вызывает ступор, и вы точно знаете, что ничего +из описанного сделать не сможете, то вы сможете хотя бы использовать динамическое перенаправление портов ssh +для получения шифрованного socks proxy и прописать его в броузер. Знания linux не нужны совсем. +Это вариант наименее напряжный для чайников, хотя и не самый удобный в использовании. diff --git a/docs/wireguard/010-wg-mod.patch b/docs/wireguard/010-wg-mod.patch new file mode 100644 index 0000000..1577da6 --- /dev/null +++ b/docs/wireguard/010-wg-mod.patch @@ -0,0 +1,133 @@ +Index: WireGuard-0.0.20190123/src/cookie.c +=================================================================== +--- WireGuard-0.0.20190123.orig/src/cookie.c ++++ WireGuard-0.0.20190123/src/cookie.c +@@ -193,6 +193,8 @@ void wg_cookie_message_create(struct mes + xchacha20poly1305_encrypt(dst->encrypted_cookie, cookie, COOKIE_LEN, + macs->mac1, COOKIE_LEN, dst->nonce, + checker->cookie_encryption_key); ++ // MOD : randomize trash ++ dst->header.trash = gen_trash(); + } + + void wg_cookie_message_consume(struct message_handshake_cookie *src, +Index: WireGuard-0.0.20190123/src/messages.h +=================================================================== +--- WireGuard-0.0.20190123.orig/src/messages.h ++++ WireGuard-0.0.20190123/src/messages.h +@@ -53,23 +53,41 @@ enum limits { + MAX_QUEUED_PACKETS = 1024 /* TODO: replace this with DQL */ + }; + ++/* + enum message_type { +- MESSAGE_INVALID = 0, +- MESSAGE_HANDSHAKE_INITIATION = 1, +- MESSAGE_HANDSHAKE_RESPONSE = 2, +- MESSAGE_HANDSHAKE_COOKIE = 3, +- MESSAGE_DATA = 4 ++ MESSAGE_INVALID = 0, ++ MESSAGE_HANDSHAKE_INITIATION = 1, ++ MESSAGE_HANDSHAKE_RESPONSE = 2, ++ MESSAGE_HANDSHAKE_COOKIE = 3, ++ MESSAGE_DATA = 4 + }; ++*/ ++ ++// MOD : message type ++enum message_type { ++ MESSAGE_INVALID = 0xE319CCD0, ++ MESSAGE_HANDSHAKE_INITIATION = 0x48ADE198, ++ MESSAGE_HANDSHAKE_RESPONSE = 0xFCA6A8F3, ++ MESSAGE_HANDSHAKE_COOKIE = 0x64A3BB18, ++ MESSAGE_DATA = 0x391820AA ++}; ++ ++// MOD : generate fast trash without true RNG ++__le32 gen_trash(void); + + struct message_header { +- /* The actual layout of this that we want is: +- * u8 type +- * u8 reserved_zero[3] +- * +- * But it turns out that by encoding this as little endian, +- * we achieve the same thing, and it makes checking faster. +- */ +- __le32 type; ++ /* The actual layout of this that we want is: ++ * u8 type ++ * u8 reserved_zero[3] ++ * ++ * But it turns out that by encoding this as little endian, ++ * we achieve the same thing, and it makes checking faster. ++ */ ++ ++ // MOD : trash field to change message size and add 4 byte offset to all fields ++ __le32 trash; ++ ++ __le32 type; + }; + + struct message_macs { +Index: WireGuard-0.0.20190123/src/noise.c +=================================================================== +--- WireGuard-0.0.20190123.orig/src/noise.c ++++ WireGuard-0.0.20190123/src/noise.c +@@ -17,6 +17,24 @@ + #include + #include + ++ ++// MOD : trash generator ++__le32 gtrash = 0; ++__le32 gen_trash(void) ++{ ++ if (gtrash) ++ gtrash = gtrash*1103515243 + 12345; ++ else ++ // first value is true random ++ get_random_bytes_wait(>rash, sizeof(gtrash)); ++ return gtrash; ++} ++ + /* This implements Noise_IKpsk2: + * + * <- s +@@ -515,6 +533,10 @@ wg_noise_handshake_create_initiation(str + &handshake->entry); + + handshake->state = HANDSHAKE_CREATED_INITIATION; ++ ++ // MOD : randomize trash ++ dst->header.trash = gen_trash(); ++ + ret = true; + + out: +@@ -655,6 +677,10 @@ bool wg_noise_handshake_create_response( + &handshake->entry); + + handshake->state = HANDSHAKE_CREATED_RESPONSE; ++ ++ // MOD : randomize trash ++ dst->header.trash = gen_trash(); ++ + ret = true; + + out: +Index: WireGuard-0.0.20190123/src/send.c +=================================================================== +--- WireGuard-0.0.20190123.orig/src/send.c ++++ WireGuard-0.0.20190123/src/send.c +@@ -200,6 +200,10 @@ static bool encrypt_packet(struct sk_buf + header->header.type = cpu_to_le32(MESSAGE_DATA); + header->key_idx = keypair->remote_index; + header->counter = cpu_to_le64(PACKET_CB(skb)->nonce); ++ ++ // MOD : randomize trash ++ header->header.trash = gen_trash(); ++ + pskb_put(skb, trailer, trailer_len); + + /* Now we can encrypt the scattergather segments */ diff --git a/docs/wireguard/wireguard-mod.txt b/docs/wireguard/wireguard-mod.txt new file mode 100644 index 0000000..5cb7e3f --- /dev/null +++ b/docs/wireguard/wireguard-mod.txt @@ -0,0 +1,244 @@ +Посвящено возможной блокировке в РФ VPN протоколов через DPI. +Предпосылками являются последние законодательные акты и во всю сочащиеся "секретные" записки. +В РФ разрабатываются и готовятся к применению более продвинутые решения по блокировке трафика. +Вполне вероятно будут резать стандартные VPN протоколы. Нам надо быть к этому готовыми. + +Один из возможных и перспективных путей решения данного вопроса - кустомная модификация +исходников VPN с целью незначительного изменения протокола, ломающего стандартные модули обнаружения в DPI. +Это относительно сложно, доступно только для гиков. +Никто не будет разрабатывать специальные модули обнаружения в DPI, если только кто-то не сделает простое и +удобное решение для всех, и его станут широко применять. Но это маловероятно, и даже если и так, +то всегда можно модифицировать протокол чуток по другому. Делать моды для DPI несравненно дольше +и дороже, чем клепать на коленке изменения протокола для wireguard. + + +ЗАМЕЧЕНИЕ : альтернативой модификации конечного софта для VPN является использование "навесных" +обфускаторов. см : https://github.com/bol-van/ipobfs + + +Рассмотрю что нам надо пропатчить в wireguard. Модифицированный wireguard проверен на виртуалках +с десктопным linux, он работает, сообщения в wireshark действительно не вписываются в стандартный +протокол и не опознаются. + +Wireguard протокол очень простой. Все сообщения описаны в messages.h +Поставим себе целью сделать 2 простые модификации : +1) Добавим в начало всех сообщений немного мусора, чтобы изменить размер сообщений и смещения полей +2) Изменим коды типов сообщений +Этого может быть вполне достаточно для обмана DPI + +--messages.h-------------------------- +/* +enum message_type { + MESSAGE_INVALID = 0, + MESSAGE_HANDSHAKE_INITIATION = 1, + MESSAGE_HANDSHAKE_RESPONSE = 2, + MESSAGE_HANDSHAKE_COOKIE = 3, + MESSAGE_DATA = 4 +}; +*/ + +// MOD : message type +enum message_type { + MESSAGE_INVALID = 0xE319CCD0, + MESSAGE_HANDSHAKE_INITIATION = 0x48ADE198, + MESSAGE_HANDSHAKE_RESPONSE = 0xFCA6A8F3, + MESSAGE_HANDSHAKE_COOKIE = 0x64A3BB18, + MESSAGE_DATA = 0x391820AA +}; + +// MOD : generate fast trash without true RNG +__le32 gen_trash(void); + +struct message_header { + /* The actual layout of this that we want is: + * u8 type + * u8 reserved_zero[3] + * + * But it turns out that by encoding this as little endian, + * we achieve the same thing, and it makes checking faster. + */ + + // MOD : trash field to change message size and add 4 byte offset to all fields + __le32 trash; + + __le32 type; +}; +-------------------------------------- + +Напишем функцию для генерации trash. Функция должна быть быстрая, важно не замедлить скорость. +Мы не расчитываем, что нас будут специально ловить, иначе бы пришлось делать полноценный обфускатор. +Задача лишь сломать стандартный модуль обнаружения протокола wireguard. Потому истинная рандомность +trash не важна. +Но все же немного "трэша" не повредит. Гонки между тредами так же пофигистичны. Это же трэш. + +--noise.c----------------------------- +// MOD : trash generator +__le32 gtrash = 0; +__le32 gen_trash(void) +{ + if (gtrash) + gtrash = gtrash*1103515243 + 12345; + else + // first value is true random + get_random_bytes_wait(>rash, sizeof(gtrash)); + return gtrash; +} +-------------------------------------- + +Теперь осталось найти все места, где создаются сообщения и внести туда заполнение поля trash. +Сообщений всего 4. Их можно найти по присваиванию полю type одного из значений enum message_type. + +2 места в noise.c в функциях wg_noise_handshake_create_initiation и wg_noise_handshake_create_response, +1 место в cookie.c в функции wg_cookie_message_create +Дописываем в конец инициализации структуры сообщения : + +-------------------------------------- + // MOD : randomize trash + dst->header.trash = gen_trash(); +-------------------------------------- + +и 1 место в send.c в функции encrypt_packet + +-------------------------------------- + // MOD : randomize trash + header->header.trash = gen_trash(); +-------------------------------------- + + +Вот и весь патчинг. Полный patch (версия wireguard 0.0.20190123) лежит в 010-wg-mod.patch. +Патчинг кода - самое простое. Для десктопного linux дальше все просто. +Пересобираем через make, устанавливаем через make install, перегружаем +модуль wireguard, перезапускаем интерфейсы, и все готово. + +Настоящий геморой начнется когда вы это попытаетесь засунуть на роутер под openwrt. +Одна из больших проблем linux - отсутствие совместимости драйверов на уровне бинариков. +Поэтому собирать необходимо в точности под вашу версию ядра и в точности под его .config. +Вам придется либо полностью самостоятельно собирать всю прошивку, либо найти SDK в точности +от вашей версии прошивки для вашей архитектуры и собрать модуль с помощью этого SDK. +Последний вариант более легкий. +Для сборки вам понадобится система на linux x86_64. Ее можно установить в виртуалке. +Теоретически можно пользоваться WSL из win10, но на практике там очень медленное I/O, +по крайней мере на старых версиях win10. Безумно медленное. Будете собирать вечность. +Может в новых win10 что-то и улучшили, но я бы сразу расчитывал на полноценный linux. + +Находим здесь вашу версию : https://downloads.openwrt.org/ +Скачиваем файл openwrt-sdk-*.tar.xz или lede-sdk-*.tar.xz +Например : https://downloads.openwrt.org/releases/18.06.2/targets/ar71xx/generic/openwrt-sdk-18.06.2-ar71xx-generic_gcc-7.3.0_musl.Linux-x86_64.tar.xz +Если ваша версия непонятна или стара, то проще будет найти последнюю прошивку и перешить роутер. +Распаковываем SDK. Следующими командами можно собрать оригинальный вариант wireguard : + +# scripts/feeds update -a +# scripts/feeds install -a +# make defconfig +# make -j 4 package/wireguard/compile + +Сборка будет довольно долгой. Ведь придется подтащить ядро, собрать его, собрать зависимости. +"-j 4" означает использовать 4 потока. Впишите вместо 4 количество доступных cpu cores. + +Получим следующие файлы : + +openwrt-sdk-18.06.2-ar71xx-generic_gcc-7.3.0_musl.Linux-x86_64/bin/targets/ar71xx/generic/packages/kmod-wireguard_4.9.152+0.0.20190123-1_mips_24kc.ipk +openwrt-sdk-18.06.2-ar71xx-generic_gcc-7.3.0_musl.Linux-x86_64/bin/packages/mips_24kc/base/wireguard-tools_0.0.20190123-1_mips_24kc.ipk + +Но это будет оригинальный wireguard. Нам нужен патченый. +Установим quilt и mc для нормального редактора вместо vim : + +# sudo apt-get update +# sudo apt-get install quilt mc + +# make package/wireguard/clean +# make package/wireguard/prepare V=s QUILT=1 + + +Сорцы приготовлены для сборки в : + openwrt-sdk-18.06.2-ar71xx-generic_gcc-7.3.0_musl.Linux-x86_64/build_dir/target-mips_24kc_musl/linux-ar71xx_generic/WireGuard-0.0.20190123/src + +# cd build_dir/target-mips_24kc_musl/linux-ar71xx_generic/WireGuard-0.0.20190123/src +# quilt push -a +# quilt new 010-wg-mod.patch +# export EDITOR=mcedit + +Далее будет открываться редактор mcedit, в который нужно вносить изменения в каждый файл : + +# quilt edit messages.h +# quilt edit cookie.c +# quilt edit noise.c +# quilt edit send.c +# quilt diff +# quilt refresh + +Получили файл патча в : +openwrt-sdk-18.06.2-ar71xx-generic_gcc-7.3.0_musl.Linux-x86_64/build_dir/target-mips_24kc_musl/linux-ar71xx_generic/WireGuard-0.0.20190123/patches/010-wg-mod.patch + +Выходим в корень SDK. + +# make package/wireguard/compile V=99 + +Если не было ошибок, то получили измененные ipk. +Патч можно зафиксировать в описании пакета : + +# make package/wireguard/update + +Получим : +openwrt-sdk-18.06.2-ar71xx-generic_gcc-7.3.0_musl.Linux-x86_64/feeds/base/package/network/services/wireguard/patches/010-wg-mod.patch +При последующей очистке и пересборке он будет автоматом применяться. + + +АЛЬТЕРНАТИВА : можно не возиться с quilt. +сделайте +# make package/wireguard/clean +# make package/wireguard/prepare +и напрямую модифицируйте или копируйте файлы в + openwrt-sdk-18.06.2-ar71xx-generic_gcc-7.3.0_musl.Linux-x86_64/build_dir/target-mips_24kc_musl/linux-ar71xx_generic/WireGuard-0.0.20190123/src +затем +# make package/wireguard/compile + +Если нужно поменять версию wireguard, то идите в +openwrt-sdk-18.06.2-ar71xx-generic_gcc-7.3.0_musl.Linux-x86_64/feeds/base/package/network/services/wireguard/Makefile +поменяйте там версию в PKG_VERSION на последнюю из : https://git.zx2c4.com/WireGuard +скачайте tar.xz с этой версией , вычислите его sha256sum, впишите в PKG_HASH + +1 раз где-нибудь пропатчите файлы последней версии wireguard в текстовом редакторе, скопируйте в build_dir, +сделайте версию для openwrt. эти же файлы скопируйте на ваш сервер с десктопным linux, сделайте там make / make install + +Но имейте в виду, что build_dir - локация для временных файлов. +make clean оттуда все снесет, включая ваши модификации. Модифицированные файлы лучше сохранить отдельно, +чтобы потом было легко скопировать обратно. + +Полученные ipk копируем на роутер в /tmp, устанавливаем через +# cd /tmp +# rm -r /tmp/opkg-lists +# opkg install *.ipk +Если требует зависимостей, то +# opkg update +# opkg install .... <зависимости> +# rm -r /tmp/opkg-lists +# opkg install *.ipk + +В /tmp/opkg-lists opkg хранит кэш списка пакетов. Если попытаться установить файл ipk, и такой же пакет +найдется в репозитории, opkg будет устанавливать из репозитория. А нам это не надо. + +# rmmod wireguard +# kmodloader +# dmesg | tail +должны увидеть что-то вроде : +[8985.415490] wireguard: WireGuard 0.0.20190123 loaded. See www.wireguard.com for information. +[8985.424178] wireguard: Copyright (C) 2015-2019 Jason A. Donenfeld . All Rights Reserved. +значит модуль загрузился + +Могут понадобиться ключи opkg --force-reinstall, --force-depends. +--force-depends поможет при несоответствии hash версии ядра. То есть версия x.x.x та же самая, но hash конфигурации разный. +При несоответствии x.x.x вы что-то делаете не так, работать это не будет. +Например : 4.14.56-1-b1186491495127cc6ff81d29c00a91fc, 4.14.56-1-3f8a21a63974cfb7ee67e41f2d4b805d +Это свидетельствует о несоответствии .config ядра при сборке прошивки и в SDK. +Если несоответствие легкое, то может все прокатить, но при более серьезной разнице в .config модуль может не загрузиться +или вызвать стабильные или хаотические падения ядра и перезагрузки (включая вариант беcконечной перезагрузки - bootloop). +Так что перед --force-depends убедитесь, что знаете как лечится такая ситуация, и не стоит это делать при отсутствии физического +доступа к девайсу. + +Когда поднимите линк, и вдруг ничего не будет работать, то посмотрите в wireshark udp пакеты +на порт endpoint. Они не должны начинаться с 0,1,2,3,4. В первых 4 байтах должен быть рандом, +в следующих 4 байтах - значения из измененного enum message_type. Если пакет все еще начинается с 0..4, +значит модуль wireguard оригинальный, что-то не собралось, не скопировалось, не перезапустилось. +В противном случае должен подняться линк, пинги ходить. Значит вы победили, поздравляю. +Регулятору будет намного сложнее поймать ваш VPN. diff --git a/docs/wireguard/wireguard_iproute_openwrt.txt b/docs/wireguard/wireguard_iproute_openwrt.txt new file mode 100644 index 0000000..9e7aa5a --- /dev/null +++ b/docs/wireguard/wireguard_iproute_openwrt.txt @@ -0,0 +1,519 @@ +Есть возможность поднять свой VPN сервер ? Не хотим использовать redsocks ? +Хотим завертывать на VPN только часть трафика ? +Например, из ipset zapret только порт tcp:443, из ipban - весь трафик, не только tcp ? +Да, с VPN такое возможно. +Опишу понятийно как настраивается policy based routing в openwrt на примере wireguard. +Вместо wireguard можно использовать openvpn или любой другой. Но wireguard прекрасен сразу несколькими вещами. +Главная из которых - в разы большая скорость, даже немного превышающая ipsec. +Ведь openvpn основан на tun, а tun - всегда в разы медленнее решения в kernel mode, +и если для PC оно может быть не так актуально, для soho роутеров - более чем. +Wireguard может дать 50 mbps там, где openvpn еле тащит 10. +Но есть и дополнительное требование. Wireguard работает в ядре, значит ядро должно +быть под вашим контролем. vps на базе openvz не подойдет ! Нужен xen, kvm, +любой другой вариант, где загружается ваше собственное ядро, а не используется +общее, разделяемое на множество vps. В openvz вам никто не даст лезть в ядро. + +Если вдруг окажется, что основные VPN протоколы блокируется DPI, включая wireguard, +то стоит смотреть в сторону либо обфускации трафика до состояния нераспознаваемого +мусора, либо маскировки под TLS (лучше на порт 443). Скорость, конечно, вы потеряете, но это +та самая ситуация, которая описывается словами "медленно или никак". +Маскированные под TLS протоколы DPI может распознать двумя действиями : +пассивно через анализ статистических характеристик пакетов (время, размер, периодичность, ..) +или активно через подключение к вашему серверу от себя и попытку поговорить с сервером по +известным протоколам (называется active probing). Если вы подключаетесь к серверу +с фиксированных IP, то активный пробинг можно надежно заблокировать через ограничение +диапазонов IP адресов, с которых можно подключаться к серверу. В ином случае можно использовать +технику "port knocking". +Перспективным направлением так же считаю легкую собственную модификацию исходников +существующих VPN с целью незначительного изменения протокола, которая ломает стандартные +модули обнаружения в DPI. В wireguard можно добавить в начало пакета handshake лишнее поле, +заполненное случайным мусором. Разумеется, в таком случае требуется держать измененную версию +как на сервере, так и на клиенте. Если затея срабатывает, то вы получаете максимальную +скорость, при этом полностью нагибая регулятора. +Полезная инфа по теме : https://habr.com/ru/post/415977/ + +Понятийно необходимо выполнить следующие шаги : +1) Поднять vpn сервер. +2) Настроить vpn клиент. Результат этого шага - получение поднятого интерфейса vpn. +Будь то wireguard, openvpn или любой другой тип vpn. +3) Создать такую схему маршрутизации, при которой пакеты, помечаемые особым mark, +попадают на vpn, а остальные идут обычным способом. +4) Создать правила, выставляющие mark для всего трафика, который необходимо рулить на vpn. +Критерии могут быть любые, ограниченные лишь возможностями iptables и вашим воображением. + +Будем считать наш vpn сервер находится на ip 91.15.68.202. +Вешать его будем на udp порт 12345. На этот же порт будем вешать и клиентов. +Сервер работает под debian 9. Клиент работает под openwrt. +Для vpn отведем подсеть 192.168.254.0/24. + +--- Поднятие сервера --- + +На сервере должны быть установлены заголовки ядра (linux-headers-...) и компилятор gcc. +Качаем последний tar.xz с wireguard отсюда : https://git.zx2c4.com/WireGuard/ + +# tar xf WireGuard*.tar.xz +# cd WireGuard-*/src +# make +# strip --strip-debug wireguard.ko +# sudo make install + +wireguard основан на понятии криптороутинга. Каждый пир (сервер - тоже пир) +имеет пару открытый/закрытый ключ. Закрытый ключ остается у пира, +открытый прописывается у его партнера. Каждый пир авторизует другого +по знанию приватного ключа, соответствующего прописанному у него публичному ключу. +Протокол построен таким образом, что на все неправильные udp пакеты не следует ответа. +Не знаешь приватный ключ ? Не смог послать правильный запрос ? Долбись сколько влезет, +я тебе ничего не отвечу. Это защищает от активного пробинга со стороны DPI и просто +экономит ресурсы. +Значит первым делом нужно создать 2 пары ключей : для сервера и для клиента. +wg genkey генерит приватный ключ, wg pubkey получает из него публичный ключ. + +# wg genkey +oAUkmhoREtFQ5D5yZmeHEgYaSWCcLYlKe2jBP7EAGV0= +# echo oAUkmhoREtFQ5D5yZmeHEgYaSWCcLYlKe2jBP7EAGV0= | wg pubkey +bCdDaPYSTBZVO1HTmKD+Tztuf3PbOWGDWfz7Lb1E6C4= +# wg genkey +OKXX0TSlyjJmGt3/yHlHxi0AqjJ0vh+Msne3qEHk0VM= +# echo OKXX0TSlyjJmGt3/yHlHxi0AqjJ0vh+Msne3qEHk0VM= | wg pubkey +EELdA2XzjcKxtriOCPBXMOgxlkgpbRdIyjtc3aIpkxg= + +Пишем конфиг +--/etc/wireguard/wgvps.conf------------------- +[Interface] +PrivateKey = OKXX0TSlyjJmGt3/yHlHxi0AqjJ0vh+Msne3qEHk0VM= +ListenPort = 12345 + +[Peer] +#Endpoint = +PublicKey = bCdDaPYSTBZVO1HTmKD+Tztuf3PbOWGDWfz7Lb1E6C4= +AllowedIPs = 192.168.254.3 +PersistentKeepalive=20 +---------------------------------------------- + +Wireguard - минималистичный vpn. В нем нет никаких средств для автоконфигурации ip. +Все придется прописывать руками. +В wgvps.conf должны быть перечислены все пиры с их публичными ключами, +а так же прописаны допустимые для них ip адреса. +Назначим нашему клиенту 192.168.254.3. Сервер будет иметь ip 192.168.254.1. +Endpoint должен быть прописан хотя бы на одном пире. +Если endpoint настроен для пира, то wireguard будет периодически пытаться к нему подключиться. +В схеме клиент/сервер у сервера можно не прописывать endpoint-ы пиров, что позволит +менять ip и быть за nat. Endpoint пира настраивается динамически после успешной фазы +проверки ключа. + +Включаем маршрутизцию : +# echo net.ipv4.ip_forward = 1 >>/etc/sysctl.conf +# sysctl -p + +Интерфейс конфигурится стандартно для дебианоподобных систем : + +--/etc/network/interfaces.d/wgvps------------- +auto wgvps +iface wgvps inet static + address 192.168.254.1 + netmask 255.255.255.0 + pre-up ip link add $IFACE type wireguard + pre-up wg setconf $IFACE /etc/wireguard/$IFACE.conf + post-up iptables -t nat -A POSTROUTING -o eth0 -s 192.168.254.0/24 -j MASQUERADE + post-up iptables -A FORWARD -o eth0 -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu + post-down iptables -D FORWARD -o eth0 -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu + post-down iptables -t nat -D POSTROUTING -o eth0 -s 192.168.254.0/24 -j MASQUERADE + post-down ip link del $IFACE +---------------------------------------------- + +Поднятие через ifup wgvps, опускание через ifdown wgvps. +При поднятии интерфейса заодно настраивается nat. eth0 здесь означает интерфейс vpn сервера с инетовским ip адресом. +Если у вас какая-то система управления фаерволом, то надо настройку nat прикручивать туда. +Пример написан для простейшего случая, когда никаких ограничений нет, таблицы iptables пустые. +Чтобы посмотреть текущие настройки wireguard, запустите 'wg' без параметров. + + +--- Поднятие клиента --- + +# opkg update +# opkg install wireguard + +Добавляем записи в конфиги. + +--/etc/config/network-------------------------- +config interface 'wgvps' + option proto 'wireguard' + option auto '1' + option private_key 'oAUkmhoREtFQ5D5yZmeHEgYaSWCcLYlKe2jBP7EAGV0=' + option listen_port '12345' + option metric '9' + option mtu '1420' + +config wireguard_wgvps + option public_key 'EELdA2XzjcKxtriOCPBXMOgxlkgpbRdIyjtc3aIpkxg= + list allowed_ips '0.0.0.0/0' + option endpoint_host '91.15.68.202' + option endpoint_port '12345' + option route_allowed_ips '0' + option persistent_keepalive '20' + +config interface 'wgvps_ip' + option proto 'static' + option ifname '@wgvps' + list ipaddr '192.168.254.3/24' + +config route + option interface 'wgvps' + option target '0.0.0.0/0' + option table '100' + +config rule + option mark '0x800/0x800' + option priority '100' + option lookup '100' +------------------------------------------------ + +--/etc/config/firewall-------------------------- +config zone + option name 'tunvps' + option output 'ACCEPT' + option input 'REJECT' + option masq '1' + option mtu_fix '1' + option forward 'REJECT' + option network 'wgvps wgvps_ip' + +config forwarding + option dest 'tunvps' + option src 'lan' + +config rule + option name 'Allow-ICMP-tunvps' + option src 'tunvps' + option proto 'icmp' + option target 'ACCEPT' + +config rule + option target 'ACCEPT' + option src 'wan' + option proto 'udp' + option family 'ipv4' + option src_port '12345' + option src_ip '91.15.68.202' + option name 'WG-VPS' +------------------------------------------------ + +Что тут было сделано : +*) Настроен интерфейс wireguard. Указан собственный приватный ключ. +*) Настроен пир-партнер с указанием его публичнго ключа и endpoint (ip:port нашего сервера) + такая настройка заставит периодически долбиться на сервер по указанному ip + route_allowed_ip '0' запрещает автоматическое создание маршрута + allowed_ips '0.0.0.0/0' разрешает пакеты с любым адресом источника. + ведь мы собираемся подключаться к любым ip в инете + persistent_keepalive '20' помогает исключить дропание mapping на nat-е, если мы сидим за ним, + да и вообще полезная вещь, чтобы не было подвисших пиров +*) Статическая конфигурация ip интерфейса wgvps. +*) Маршрут default route на wgvps в отдельной таблице маршрутизации с номером 100. Аналог команды ip route add .. table 100 +*) Правило использовать таблицу 100 при выставлении в mark бита 0x800. Аналог команды ip rule. +*) Отдельная зона фаервола для VPN - 'tunvps'. В принципе ее можно не создавать, можете приписать интерфейс к зоне wan. + Но в случае с отдельной зоной можно настроить особые правила на подключения с vpn сервера в сторону клиента. +*) Разрешение форвардинга между локалкой за роутером и wgvps. +*) Разрешение принимать icmp от vpn сервера, включая пинги. ICMP жизненно важны для правильного функционирования ip сети ! +*) И обязательно проткнуть дырку в фаерволе, чтобы принимать пакеты wireguard со стороны инетовского ip vpn сервера. + +# fw3 restart +# ifup wgvps +# ifconfig wgvps +# ping 192.168.254.1 + +Если все хорошо, должны ходить пинги. +С сервера не помешает : +# ping 192.168.254.3 + + +--- Маркировка трафика --- + +Завернем на vpn все из ipset zapret на tcp:443 и все из ipban. +OUTPUT относится к исходящим с роутера пакетам, PREROUTING - ко всем остальным. +Если с самого роутера ничего заруливать не надо, можно опустить все до команд с PREROUTING. + +--/etc/firewall.user---------------------------- +. /opt/zapret/init.d/openwrt/functions + +create_ipset no-update + +network_find_wan_all wan_iface +for ext_iface in $wan_iface; do + network_get_device DEVICE $ext_iface + ipt OUTPUT -t mangle -o $DEVICE -p tcp --dport 443 -m set --match-set zapret dst -j MARK --set-mark 0x800/0x800 + ipt OUTPUT -t mangle -o $DEVICE -m set --match-set ipban dst -j MARK --set-mark 0x800/0x800 +done + +network_get_device DEVICE lan +ipt PREROUTING -t mangle -i $DEVICE -p tcp --dport 443 -m set --match-set zapret dst -j MARK --set-mark 0x800/0x800 +ipt PREROUTING -t mangle -i $DEVICE -m set --match-set ipban dst -j MARK --set-mark 0x800/0x800 +------------------------------------------------ + +# fw3 restart + + +--- По поводу двойного NAT --- + +В описанной конфигурации nat выполняется дважды : на роутере-клиенте происходит замена адреса источника из LAN +на 192.168.254.3 и на сервере замена 192.168.254.3 на внешний адрес сервера в инете. +Зачем так делать ? Исключительно для простоты настройки. Но если вы готовы чуток еще поднапрячься и не хотите двойного nat, +то можете вписать в /etc/config/firewall "masq '0'", на сервер дописать маршрут до вашей подсети lan. +Чтобы не делать это для каждого клиента, можно отвести под всех клиентов диапазон 192.168.0.0-192.168.127.255 +и прописать его одним маршрутом. + +--/etc/network/interfaces.d/wgvps------------- + post-up ip route add dev $IFACE 192.168.0.0/17 + post-down ip route del dev $IFACE 192.168.0.0/17 +---------------------------------------------- + +Так же необходимо указать wireguard дополнительные разрешенные ip для peer : + +--/etc/wireguard/wgvps.conf------------------- +[Peer] +PublicKey = bCdDaPYSTBZVO1HTmKD+Tztuf3PbOWGDWfz7Lb1E6C4= +AllowedIPs = 192.168.254.3, 192.168.2.0/24 +---------------------------------------------- + +Всем клиентам придется назначать различные диапазоны адресов в lan и индивидуально прописывать AllowedIPs +для каждого peer. + +# ifdown wgvps ; ifup wgvps + +На клиенте разрешим форвард icmp, чтобы работал пинг и корректно определялось mtu. + +--/etc/config/firewall-------------------------- +config rule + option name 'Allow-ICMP-tunvps' + option src 'tunvps' + option dest 'lan' + option proto 'icmp' + option target 'ACCEPT' +------------------------------------------------ + +Существуют еще два неочевидных нюанса. + +Первый из них касается пакетов с самого роутера (цепочка OUTPUT). +Адрес источника выбирается по особому алгоритму, если программа явно его не задала, еще до этапа iptables. +Он берется с интерфейса, куда бы пошел пакет при нормальном раскладе. +Обратная маршрутизация с VPN станет невозможной, да и wireguard такие пакеты порежет, поскольку они не вписываются в AllowedIPs. +Никаким мистическим образом автоматом source address не поменяется. +В прошлом варианте настройки проблема решалось через маскарад. Сейчас же маскарада нет. +Потому все же придется его делать в случае, когда пакет изначально направился бы через wan, +а мы его завертываем на VPN. Помечаем такие пакеты марком 0x1000. +Если вам не актуальны исходящие с самого роутера, то можно ничего не менять. + +Другой нюанс связан с обработкой проброшенных на vps портов, соединения по которым приходят как входящие с интерфейса wgvps. +Представьте себе, что вы пробросили порт 2222. Кто-то подключается с адреса 1.2.3.4. Вам приходит пакет SYN 1.2.3.4:51723=>192.168.2.2:2222. +По правилам маршрутизации он пойдет в локалку. 192.168.2.2 его обработает, ответит пакетом ACK 192.168.2.2:2222=>1.2.3.4:51723. +Этот пакет придет на роутер. И куда он дальше пойдет ? Если он не занесен в ipban, то согласно правилам машрутизации +он пойдет по WAN интерфейсу, а не по исходному wgvps. +Чтобы решить эту проблему, необходимо воспользоваться CONNMARK. Существуют 2 отдельных марка : fwmark и connmark. +connmark относится к соединению, fwmark - к пакету. Трэкингом соединений занимается conntrack. +Посмотреть его таблицу можно командой "conntrack -L". Там же найдете connmark : mark=xxxx. +Как только видим приходящий с wgvps пакет с новым соединением, отмечаем его connmark как 0x800/0x800. +При этом fwmark не меняется, иначе бы пакет тут же бы завернулся обратно на wgvps согласно ip rule. +Если к нам приходит пакет с какого-то другого интерфейса, то восстанавливаем его connmark в fwmark по маске 0x800. +И теперь он подпадает под правило ip rule, заворачиваясь на wgvps, что и требовалось. + +--/etc/firewall.user---------------------------- +. /opt/zapret/init.d/openwrt/functions + +create_ipset no-update + +network_find_wan_all wan_iface +for ext_iface in $wan_iface; do + network_get_device DEVICE $ext_iface + ipt OUTPUT -t mangle -o $DEVICE -p tcp --dport 443 -m set --match-set zapret dst -j MARK --set-mark 0x800/0x800 + ipt OUTPUT -t mangle -o $DEVICE -m set --match-set ipban dst -j MARK --set-mark 0x800/0x800 + ipt OUTPUT -t mangle -o $DEVICE -j MARK --set-mark 0x1000/0x1000 +done + +network_get_device DEVICE lan +ipt PREROUTING -t mangle -i $DEVICE -p tcp --dport 443 -m set --match-set zapret dst -j MARK --set-mark 0x800/0x800 +ipt PREROUTING -t mangle -i $DEVICE -m set --match-set ipban dst -j MARK --set-mark 0x800/0x800 + +# do masquerade for OUTPUT to ensure correct outgoing address +ipt postrouting_tunvps_rule -t nat -m mark --mark 0x1000/0x1000 -j MASQUERADE + +# incoming from wgvps +network_get_device DEVICE wgvps +ipt PREROUTING -t mangle ! -i $DEVICE -j CONNMARK --restore-mark --nfmask 0x800 --ctmask 0x800 +ipt PREROUTING -t mangle -i $DEVICE -m conntrack --ctstate NEW -j CONNMARK --set-xmark 0x800/0x800 +------------------------------------------------ + + +# fw3 restart + +Сейчас уже можно с vpn сервера пингануть ip адрес внутри локалки клиента. Пинги должны ходить. + +Отсутствие двойного NAT значительно облегчает проброс портов с внешнего IP vpn сервера в локалку какого-либо клиента. +Для этого надо выполнить 2 действия : добавить разрешение в фаервол на клиенте и сделать dnat на сервере. +Пример форварда портов 5001 и 5201 на 192.168.2.2 : + +--/etc/config/firewall-------------------------- +config rule + option target 'ACCEPT' + option src 'tunvps' + option dest 'lan' + option proto 'tcp udp' + option dest_port '5001 5201' + option dest_ip '192.168.2.2' + option name 'IPERF' +------------------------------------------------ + +# fw3 restart + +--/etc/network/interfaces.d/wgvps------------- + post-up iptables -t nat -A PREROUTING -i eth0 -p tcp -m multiport --dports 5001,5201 -j DNAT --to-destination 192.168.2.2 + post-up iptables -t nat -A POSTROUTING -o $IFACE -d 192.168.2.2 -p tcp -m multiport --dports 5001,5201 -j MASQUERADE + post-up iptables -t nat -A PREROUTING -i eth0 -p udp -m multiport --dports 5001,5201 -j DNAT --to-destination 192.168.2.2 + post-up iptables -t nat -A POSTROUTING -o $IFACE -d 192.168.2.2 -p udp -m multiport --dports 5001,5201 -j MASQUERADE + post-down iptables -t nat -D PREROUTING -i eth0 -p tcp -m multiport --dports 5001,5201 -j DNAT --to-destination 192.168.2.2 + post-down iptables -t nat -D POSTROUTING -o $IFACE -d 192.168.2.2 -p tcp -m multiport --dports 5001,5201 -j MASQUERADE + post-down iptables -t nat -D PREROUTING -i eth0 -p udp -m multiport --dports 5001,5201 -j DNAT --to-destination 192.168.2.2 + post-down iptables -t nat -D POSTROUTING -o $IFACE -d 192.168.2.2 -p udp -m multiport --dports 5001,5201 -j MASQUERADE +---------------------------------------------- + +# ifdown wgvps ; ifup wgvps + +Пример приведен для iperf и iperf3, чтобы показать как пробрасывать несколько портов tcp+udp с минимальным количеством команд. +Проброс tcp и udp порта так же необходим для полноценной работы bittorrent клиента, чтобы работали входящие. + +--- Как мне отправлять на vpn весь трафик с bittorrent ? --- + +Можно поступить так : посмотрите порт в настройках torrent клиента, убедитесь, что не поставлено "случайный порт", +добавьте на роутер правило маркировки по порту источника. +Но мне предпочтительно иное решение. На windows есть замечательная возможность +прописать правило установки поля качества обслуживания в заголовках ip пакетов в зависимости от процесса-источника. +Для windows 7/2008R2 необходимо будет установить ключик реестра и перезагрузить комп : +# reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Tcpip\QoS /v "Do not use NLA" /t REG_SZ /d "1" +Редактировать политику можно в : gpedit.msc -> Computer Configuration -> Windows Settings -> Policy-based QoS +На win 10 ключик реестра больше не работает, правила qos в gpedit применяются только для профиля домена. +Необходимо пользоваться командой powershell New-NetQosPolicy. Гуглите хелп по ней. Пример : +# powershell New-NetQosPolicy -Name "torrent" -AppPathNameMatchCondition "qbittorrent.exe" -DSCPAction 1 +Однозначно требуется проверка в wireshark или netmon успешности установки поля dscp. Если там по-прежнему 0x00, +значит что-то не сработало. 0x04 означает DSCP=1 (dscp находится в старших 6 битах). + +На роутере в фаер прописываем правило : + +--/etc/config/firewall-------------------------- +config rule + option target 'MARK' + option src 'lan' + option proto 'all' + option extra '-m dscp --dscp 1' + option name 'route-dscp-1' + option set_mark '0x0800/0x0800' +------------------------------------------------ + +# fw3 restart + +Теперь все с полем dscp "1" идет на vpn. Клиент сам решает какой трафик ему нужно забрасывать +на vpn, перенастраивать роутер не нужно. +На linux клиенте проще всего будет выставлять dscp в iptables по номеру порта источника : + +--/etc/rc.local--------------------------------- +iptables -A OUTPUT -t mangle -p tcp --sport 23444 -j DSCP --set-dscp 1 +iptables -A OUTPUT -t mangle -p udp --sport 23444 -j DSCP --set-dscp 1 +------------------------------------------------ + +можно привязываться к pid процесса, но тогда нужно перенастраивать iptables при каждом перезапуске +торент клиента, это требует рута, и все становится очень неудобно. + + +--- Автоматизация проброса портов через miniupnd --- + +Да, его тоже можно использовать на vps. Только как всегда есть нюансы. + +miniupnpd поддерживает 3 протокола IGD : upnp,nat-pmp и pcp. +upnp и pcp работают через мультикаст, который не пройдет через wgvps. +nat-pmp работает через посылку специальных сообщений на udp:5351 на default gateway. +Обычно их обслуживает miniupnpd на роутере. При создании lease miniupnpd добавляет +правила для проброса портов в цепочку iptables MINIUPNPD, при потери lease - убирает. + +udp:5351 можно перенаправить на vpn сервер через DNAT, чтобы их обрабатывал miniupnpd там. +Но вы должны иметь однозначный критерий перенаправления. +Если вы решили завернуть на vpn все, то проблем нет. Пробрасываем udp:5351 безусловно. +Если у вас идет перенаправление только с торрент, то необходимо к условию перенаправления +добавить условия, выделяющие torrent трафик из прочего. Или по dscp, или по sport. +Чтобы запросы от остальных программ обрабатывались miniupnpd на роутере. +Если какая-то программа создаст lease не там, где нужно, то входящий трафик до нее не дойдет. + +На роутере стоит запретить протокол upnp, чтобы торрент клиент не удовлетворился запросом, +обслуженным по upnp на роутере, и пытался использовать nat-pmp. + +--/etc/config/upnp-------------------------- +config upnpd 'config' + ..... + option enable_upnp '0' +------------------------------------------------ + +/etc/init.d/miniupnpd restart + +Делаем проброс порта на роутере. +Для простоты изложения будем считать, что на vpn у нас завернут весь трафик. +Если это не так, то следует добавить фильтр в "config redirect". +Заодно выделяем диапазон портов для торрент клиентов. +Порт в торент клиенте следует прописать какой-то из этого диапазона. + +------------------------------------------------ +config redirect + option enabled '1' + option target 'DNAT' + option src 'lan' + option dest 'tunvps' + option proto 'udp' + option src_dport '5351' + option dest_ip '192.168.254.1' + option dest_port '5351' + option name 'NAT-PMP' + option reflection '0' +config rule + option enabled '1' + option target 'ACCEPT' + option src 'tunvps' + option dest 'lan' + option name 'tunvps-torrent' + option dest_port '28000-28009' +------------------------------------------------ + +fw3 reload + + +На сервере : + +apt install miniupnpd + +--- /etc/miniupnpd/miniupnpd.conf -------- +enable_natpmp=yes +enable_upnp=no +lease_file=/var/log/upnp.leases +system_uptime=yes +clean_ruleset_threshold=10 +clean_ruleset_interval=600 +force_igd_desc_v1=no +listening_ip=192.168.254.1/16 +ext_ifname=eth0 +------------------------------------------ + +systemctl restart miniupnpd + +listening_ip прописан именно таким образом, чтобы обозначить диапазон разрешенных IP. +С других IP он не будет обрабатывать запросы на редирект. +В ext_ifname впишите название inet интерфейса на сервере. + +Запускаем торрент клиент. Попутно смотрим в tcpdump весь путь udp:5351 до сервера и обратно. +Смотрим syslog сервера на ругань от miniupnpd. +Если все ок, то можем проверить редиректы : iptables -t nat -nL MINIUPNPD +С какого-нибудь другого хоста (не vpn сервер, не ваше подключение) можно попробовать telnet-нуться на проброшенный порт. +Должно установиться соединение. Или качайте торент и смотрите в пирах флаг "I" (incoming). +Если "I" есть и по ним идет закачка, значит все в порядке. + +ОСОБЕННОСТЬ НОВЫХ DEBIAN : по умолчанию используются iptables-nft. miniupnpd работает с iptables-legacy. +ЛЕЧЕНИЕ : update-alternatives --set iptables /usr/sbin/iptables-legacy + + +--- А если не заработало ? --- + +Мануал пишется не как копипастная инструкция, а как помощь уже соображающему. +В руки вам ifconfig, ip, iptables, tcpdump, ping. В умелых руках творят чудеса. diff --git a/init.d/openwrt/90-zapret b/init.d/openwrt/90-zapret new file mode 100644 index 0000000..44384f7 --- /dev/null +++ b/init.d/openwrt/90-zapret @@ -0,0 +1,8 @@ +#!/bin/sh + +ZAPRET=/etc/init.d/zapret +[ -x "$ZAPRET" ] && [ "$INTERFACE" = "lan" ] && { + [ "$ACTION" = "ifup" ] && { + $ZAPRET enabled && $ZAPRET start + } +} diff --git a/init.d/openwrt/custom b/init.d/openwrt/custom new file mode 100644 index 0000000..2136b74 --- /dev/null +++ b/init.d/openwrt/custom @@ -0,0 +1,20 @@ +# this script contain your special code to launch daemons and configure firewall +# use helpers from "functions" file and "zapret" init script +# in case of upgrade keep this file only, do not modify others + +zapret_custom_daemons() +{ + # PLACEHOLDER + echo !!! NEED ATTENTION !!! + echo Start daemon\(s\) + echo Study how other sections work + + run_daemon 1 /bin/sleep 20 +} +zapret_custom_firewall() +{ + # PLACEHOLDER + echo !!! NEED ATTENTION !!! + echo Configure iptables for required actions + echo Study how other sections work +} diff --git a/init.d/openwrt/firewall.zapret b/init.d/openwrt/firewall.zapret new file mode 100644 index 0000000..3ed9946 --- /dev/null +++ b/init.d/openwrt/firewall.zapret @@ -0,0 +1,3 @@ +. /opt/zapret/init.d/openwrt/functions + +zapret_apply_firewall diff --git a/init.d/openwrt/functions b/init.d/openwrt/functions new file mode 100644 index 0000000..b35ff8e --- /dev/null +++ b/init.d/openwrt/functions @@ -0,0 +1,320 @@ +. /lib/functions/network.sh + +[ -n "$ZAPRET_BASE" ] || ZAPRET_BASE=/opt/zapret +. "$ZAPRET_BASE/config" + +QNUM=200 +TPPORT_HTTP=1188 +TPPORT_HTTPS=1189 +TPWS_USER=daemon +[ -n "$DESYNC_MARK" ] || DESYNC_MARK=0x40000000 + +# max wait time for the link local ipv6 on the LAN interface +LINKLOCAL_WAIT_SEC=5 + +IPSET_CR="$ZAPRET_BASE/ipset/create_ipset.sh" + +CUSTOM_SCRIPT="$ZAPRET_BASE/init.d/openwrt/custom" +[ -f "$CUSTOM_SCRIPT" ] && . "$CUSTOM_SCRIPT" + +IPSET_EXCLUDE="-m set ! --match-set nozapret" +IPSET_EXCLUDE6="-m set ! --match-set nozapret6" + +exists() +{ + which "$1" >/dev/null 2>/dev/null +} +existf() +{ + type "$1" >/dev/null 2>/dev/null +} + + +# can be multiple ipv6 outgoing interfaces +# uplink from isp, tunnelbroker, vpn, ... +# want them all. who knows what's the real one that blocks sites +# dont want any manual configuration - want to do it automatically +# standard network_find_wan[6] return only the first +# we use low level function from network.sh to avoid this limitation +# it can change theoretically and stop working + +network_find_wan_all() +{ + __network_ifstatus "$1" "" "[@.route[@.target='0.0.0.0' && !@.table]].interface" "" 10 2>/dev/null && return + network_find_wan $1 +} +network_find_wan6_all() +{ + __network_ifstatus "$1" "" "[@.route[@.target='::' && !@.table]].interface" "" 10 2>/dev/null && return + network_find_wan6 $1 +} + +ipt() +{ + iptables -C "$@" 2>/dev/null || iptables -I "$@" +} +ipt6() +{ + ip6tables -C "$@" 2>/dev/null || ip6tables -I "$@" +} + +# there's no route_localnet for ipv6 +# the best we can is to route to link local of the incoming interface +# OUTPUT - can DNAT to ::1 +# PREROUTING - can't DNAT to ::1. can DNAT to link local of -i interface or to any global addr +# not a good idea to expose tpws to the world (bind to ::) + +get_ipv6_linklocal() +{ + # $1 - interface name. if empty - any interface + if exists ip ; then + local dev + [ -n "$1" ] && dev="dev $1" + ip addr show $dev | sed -e 's/^.*inet6 \([^ ]*\)\/[0-9]* scope link.*$/\1/;t;d' | head -n 1 + else + ifconfig $1 | sed -re 's/^.*inet6 addr: ([^ ]*)\/[0-9]* Scope:Link.*$/\1/;t;d' | head -n 1 + fi +} +get_ipv6_global() +{ + # $1 - interface name. if empty - any interface + if exists ip ; then + local dev + [ -n "$1" ] && dev="dev $1" + ip addr show $dev | sed -e 's/^.*inet6 \([^ ]*\)\/[0-9]* scope global.*$/\1/;t;d' | head -n 1 + else + ifconfig $1 | sed -re 's/^.*inet6 addr: ([^ ]*)\/[0-9]* Scope:Global.*$/\1/;t;d' | head -n 1 + fi +} + +dnat6_target() +{ + # get target ip address for DNAT. prefer link locals + # tpws should be as inaccessible from outside as possible + # link local address can appear not immediately after ifup + + # DNAT6_TARGET=- means attempt was made but address was not found (to avoid multiple re-attempts) + + [ -n "$DNAT6_TARGET" ] || { + # no reason to query if its down + network_is_up lan || return + + local DEVICE + network_get_device DEVICE lan + + local ct=0 + while + DNAT6_TARGET=$(get_ipv6_linklocal $DEVICE) + [ -n "$DNAT6_TARGET" ] && break + [ "$ct" -ge "$LINKLOCAL_WAIT_SEC" ] && break + echo waiting for the link local for another $(($LINKLOCAL_WAIT_SEC - $ct)) seconds ... + ct=$(($ct+1)) + sleep 1 + do :; done + + [ -n "$DNAT6_TARGET" ] || { + echo no link local. getting global + DNAT6_TARGET=$(get_ipv6_global $DEVICE) + [ -n "$DNAT6_TARGET" ] || { + echo could not get any address + DNAT6_TARGET=- + } + } + } +} + + +fw_nfqws_pre4() +{ + # $1 - filter ipv4 + # $2 - queue number + + local DEVICE wan_iface + + [ "$DISABLE_IPV4" = "1" ] || { + network_find_wan_all wan_iface + for ext_iface in $wan_iface; do + network_get_device DEVICE $ext_iface + ipt PREROUTING -t mangle -i $DEVICE -p tcp $1 $IPSET_EXCLUDE src -j NFQUEUE --queue-num $2 --queue-bypass + done + } +} +fw_nfqws_pre6() +{ + # $1 - filter ipv6 + # $2 - queue number + + local DEVICE wan_iface + + [ "$DISABLE_IPV6" = "1" ] || { + network_find_wan6_all wan_iface + for ext_iface in $wan_iface; do + network_get_device DEVICE $ext_iface + ipt6 PREROUTING -t mangle -i $DEVICE -p tcp $1 $IPSET_EXCLUDE6 src -j NFQUEUE --queue-num $2 --queue-bypass + done + } +} +fw_nfqws_pre() +{ + # $1 - filter ipv4 + # $2 - filter ipv6 + # $3 - queue number + + fw_nfqws_pre4 "$1" $3 + fw_nfqws_pre6 "$2" $3 +} +fw_nfqws_post4() +{ + # $1 - filter ipv4 + # $2 - queue number + + local DEVICE wan_iface + + [ "$DISABLE_IPV4" = "1" ] || { + network_find_wan_all wan_iface + for ext_iface in $wan_iface; do + network_get_device DEVICE $ext_iface + ipt POSTROUTING -t mangle -o $DEVICE -p tcp $1 $IPSET_EXCLUDE dst -j NFQUEUE --queue-num $2 --queue-bypass + done + } +} +fw_nfqws_post6() +{ + # $1 - filter ipv6 + # $2 - queue number + + local DEVICE wan_iface + + [ "$DISABLE_IPV6" = "1" ] || { + network_find_wan6_all wan_iface + for ext_iface in $wan_iface; do + network_get_device DEVICE $ext_iface + ipt6 POSTROUTING -t mangle -o $DEVICE -p tcp $1 $IPSET_EXCLUDE6 dst -j NFQUEUE --queue-num $2 --queue-bypass + done + } +} +fw_nfqws_post() +{ + # $1 - filter ipv4 + # $2 - filter ipv6 + # $3 - queue number + + fw_nfqws_post4 "$1" $3 + fw_nfqws_post6 "$2" $3 +} + + +IPT_OWNER="-m owner ! --uid-owner $TPWS_USER" +fw_tpws4() +{ + # $1 - filter ipv6 + # $2 - tpws port + + local DEVICE wan_iface + + [ "$DISABLE_IPV4" = "1" ] || { + network_find_wan_all wan_iface + for ext_iface in $wan_iface; do + network_get_device DEVICE $ext_iface + ipt OUTPUT -t nat -o $DEVICE $IPT_OWNER -p tcp $1 $IPSET_EXCLUDE dst -j DNAT --to 127.0.0.1:$2 + done + ipt prerouting_lan_rule -t nat -p tcp $1 $IPSET_EXCLUDE dst -j DNAT --to 127.0.0.1:$2 + network_get_device DEVICE lan + sysctl -qw net.ipv4.conf.$DEVICE.route_localnet=1 + } +} +fw_tpws6() +{ + # $1 - filter ipv6 + # $2 - tpws port + + local DEVICE wan_iface + + [ "$DISABLE_IPV6" = "1" ] || { + network_find_wan6_all wan_iface + for ext_iface in $wan_iface; do + network_get_device DEVICE $ext_iface + ipt6 OUTPUT -t nat -o $DEVICE $IPT_OWNER -p tcp $1 $IPSET_EXCLUDE6 dst -j DNAT --to [::1]:$2 + done + network_get_device DEVICE lan + dnat6_target + [ "$DNAT6_TARGET" != "-" ] && ipt6 PREROUTING -t nat -i $DEVICE -p tcp $1 $IPSET_EXCLUDE6 dst -j DNAT --to [$DNAT6_TARGET]:$2 + } +} +fw_tpws() +{ + # $1 - filter ipv4 + # $2 - filter ipv6 + # $3 - tpws port + + fw_tpws4 "$1" $3 + fw_tpws6 "$2" $3 +} + + +create_ipset() +{ + echo "Creating ipset" + "$IPSET_CR" "$@" +} + + +zapret_apply_firewall() +{ + local rule + local synack="--tcp-flags SYN,ACK SYN,ACK" + local ipset_zapret="-m set --match-set zapret" + local ipset_zapret6="-m set --match-set zapret6" + local desync="-m multiport --dports 80,443 -m connbytes --connbytes-dir=original --connbytes-mode=packets --connbytes 2:4 -m mark ! --mark $DESYNC_MARK/$DESYNC_MARK" + + # always create ipsets. ip_exclude ipset is required + create_ipset no-update + + case "${MODE}" in + tpws_hostlist|tpws_all) + fw_tpws "--dport 80" "--dport 80" $TPPORT_HTTP + ;; + tpws_ipset) + fw_tpws "--dport 80 $ipset_zapret dst" "--dport 80 $ipset_zapret6 dst" $TPPORT_HTTP + ;; + tpws_ipset_https) + fw_tpws "--dport 80 $ipset_zapret dst" "--dport 80 $ipset_zapret6 dst" $TPPORT_HTTP + fw_tpws "--dport 443 $ipset_zapret dst" "--dport 443 $ipset_zapret6 dst" $TPPORT_HTTPS + ;; + tpws_all_https) + fw_tpws "--dport 80" "--dport 80" $TPPORT_HTTP + fw_tpws "--dport 443" "--dport 443" $TPPORT_HTTPS + ;; + nfqws_ipset) + fw_nfqws_pre "--sport 80 $synack $ipset_zapret src" "--sport 80 $synack $ipset_zapret6 src" $QNUM + fw_nfqws_post "--dport 80 $ipset_zapret dst" "--dport 80 $ipset_zapret6 dst" $QNUM + ;; + nfqws_ipset_https) + rule="-m multiport --sports 80,443 $synack" + fw_nfqws_pre "$rule $ipset_zapret src" "$rule $ipset_zapret6 src" $QNUM + fw_nfqws_post "--dport 80 $ipset_zapret dst" "--dport 80 $ipset_zapret6 dst" $QNUM + ;; + nfqws_all) + fw_nfqws_pre "--sport 80 $synack" "--sport 80 $synack" $QNUM + fw_nfqws_post "--dport 80" "--dport 80" $QNUM + ;; + nfqws_all_https) + rule="-m multiport --sports 80,443 $synack" + fw_nfqws_pre "$rule" "$rule" $QNUM + fw_nfqws_post "--dport 80" "--dport 80" $QNUM + ;; + nfqws_all_desync|nfqws_hostlist_desync) + rule="-m multiport --sports 80,443 $synack" + fw_nfqws_pre "$rule" "$rule" $QNUM + fw_nfqws_post "$desync" "$desync" $QNUM + ;; + nfqws_ipset_desync) + rule="-m multiport --sports 80,443 $synack" + fw_nfqws_pre "$rule $ipset_zapret src" "$rule $ipset_zapret6 src" $QNUM + fw_nfqws_post "$desync $ipset_zapret dst" "$desync $ipset_zapret6 dst" $QNUM + ;; + custom) + existf zapret_custom_firewall && zapret_custom_firewall + ;; + esac +} diff --git a/init.d/openwrt/zapret b/init.d/openwrt/zapret new file mode 100755 index 0000000..2b57d6c --- /dev/null +++ b/init.d/openwrt/zapret @@ -0,0 +1,90 @@ +#!/bin/sh /etc/rc.common + +USE_PROCD=1 +# after network +START=21 + +ZAPRET_BASE=/opt/zapret +. "$ZAPRET_BASE/init.d/openwrt/functions" + +# !!!!! in openwrt firewall rules are configured separately + +PIDDIR=/var/run + +QNUM=200 +NFQWS_USER=daemon +NFQWS="$ZAPRET_BASE/nfq/nfqws" +NFQWS_OPT_BASE="--qnum=$QNUM --user=$NFQWS_USER" + +TPWS_USER=daemon +TPPORT_HTTP=1188 +TPPORT_HTTPS=1189 +TPWS="$ZAPRET_BASE/tpws/tpws" +HOSTLIST="$ZAPRET_BASE/ipset/zapret-hosts.txt.gz" +[ -f "$HOSTLIST" ] || HOSTLIST="$ZAPRET_BASE/ipset/zapret-hosts-user.txt" +TPWS_OPT_BASE="--user=$TPWS_USER --bind-addr=127.0.0.1" +TPWS_OPT_BASE6="--user=$TPWS_USER --bind-addr=::1" +# first wait for lan to ifup, then wait for bind-wait-ip-linklocal seconds for link local address and bind-wait-ip for any ipv6 as the worst case +TPWS_OPT_BASE6_PRE="--user=$TPWS_USER --bind-linklocal=prefer --bind-wait-ifup=30 --bind-wait-ip=30 --bind-wait-ip-linklocal=3" +TPWS_OPT_BASE_HTTP="--port=$TPPORT_HTTP" +TPWS_OPT_BASE_HTTPS="--port=$TPPORT_HTTPS" + +run_daemon() +{ + # $1 - daemon string id or number. can use 1,2,3,... + # $2 - daemon + # $3 - daemon args + # use $PIDDIR/$DAEMONBASE$1.pid as pidfile + local DAEMONBASE=$(basename $2) + echo "Starting daemon $1: $2 $3" + procd_open_instance + procd_set_param command $2 $3 + procd_set_param pidfile $PIDDIR/$DAEMONBASE$1.pid + procd_close_instance +} + +run_tpws() +{ + [ "$DISABLE_IPV4" = "1" ] || run_daemon $1 $TPWS "$TPWS_OPT_BASE $2" + [ "$DISABLE_IPV6" = "1" ] || { + run_daemon $((60+$1)) $TPWS "$TPWS_OPT_BASE6 $2" + network_get_device DEVICE lan + [ -n "$DEVICE" ] && run_daemon $((660+$1)) $TPWS "$TPWS_OPT_BASE6_PRE --bind-iface6=$DEVICE $2" + } +} +stop_tpws() +{ + [ "$DISABLE_IPV4" = "1" ] || stop_daemon $1 $TPWS + [ "$DISABLE_IPV6" = "1" ] || { + stop_daemon $((60+$1)) $TPWS + stop_daemon $((660+$1)) $TPWS + } +} + + +start_service() { + case "${MODE}" in + tpws_hostlist) + run_tpws 1 "$TPWS_OPT_BASE_HTTP $TPWS_OPT_HTTP --hostlist=$HOSTLIST" + ;; + tpws_ipset|tpws_all) + run_tpws 1 "$TPWS_OPT_BASE_HTTP $TPWS_OPT_HTTP" + ;; + tpws_ipset_https|tpws_all_https) + run_tpws 1 "$TPWS_OPT_BASE_HTTP $TPWS_OPT_HTTP" + run_tpws 2 "$TPWS_OPT_BASE_HTTPS $TPWS_OPT_HTTPS" + ;; + nfqws_ipset|nfqws_ipset_https|nfqws_all|nfqws_all_https) + run_daemon 1 $NFQWS "$NFQWS_OPT_BASE $NFQWS_OPT" + ;; + nfqws_ipset_desync|nfqws_all_desync) + run_daemon 1 $NFQWS "$NFQWS_OPT_BASE $NFQWS_OPT_DESYNC" + ;; + nfqws_hostlist_desync) + run_daemon 1 $NFQWS "$NFQWS_OPT_BASE $NFQWS_OPT_DESYNC --hostlist=$HOSTLIST" + ;; + custom) + existf zapret_custom_daemons && zapret_custom_daemons $1 + ;; + esac +} diff --git a/init.d/systemd/zapret-list-update.service b/init.d/systemd/zapret-list-update.service new file mode 100644 index 0000000..eeee1b0 --- /dev/null +++ b/init.d/systemd/zapret-list-update.service @@ -0,0 +1,13 @@ +[Unit] +Description=zapret ip/host list update + +[Service] +Restart=no +IgnoreSIGPIPE=no +KillMode=control-group +GuessMainPID=no +RemainAfterExit=no +ExecStart=/opt/zapret/ipset/get_config.sh + +[Install] +WantedBy=multi-user.target diff --git a/init.d/systemd/zapret-list-update.timer b/init.d/systemd/zapret-list-update.timer new file mode 100644 index 0000000..29379bd --- /dev/null +++ b/init.d/systemd/zapret-list-update.timer @@ -0,0 +1,11 @@ +[Unit] +Description=zapret ip/host list update timer + +[Timer] +OnCalendar=*-*-2,4,6,8,10,12,14,16,18,20,22,24,26,28,30 00:00:00 +RandomizedDelaySec=86400 +Persistent=true +Unit=zapret-list-update.service + +[Install] +WantedBy=timers.target diff --git a/init.d/systemd/zapret.service b/init.d/systemd/zapret.service new file mode 100644 index 0000000..9d3bf41 --- /dev/null +++ b/init.d/systemd/zapret.service @@ -0,0 +1,17 @@ +[Unit] +After=network-online.target +Wants=network-online.target + +[Service] +Type=forking +Restart=no +TimeoutSec=30sec +IgnoreSIGPIPE=no +KillMode=none +GuessMainPID=no +RemainAfterExit=no +ExecStart=/opt/zapret/init.d/sysv/zapret start +ExecStop=/opt/zapret/init.d/sysv/zapret stop + +[Install] +WantedBy=multi-user.target diff --git a/init.d/sysv/custom b/init.d/sysv/custom new file mode 100644 index 0000000..ed6183b --- /dev/null +++ b/init.d/sysv/custom @@ -0,0 +1,24 @@ +# this script contain your special code to launch daemons and configure firewall +# use helpers from "functions" file +# in case of upgrade keep this file only, do not modify others + +zapret_custom_daemons() +{ + # $1 - 1 - run, 0 - stop + + # PLACEHOLDER + echo !!! NEED ATTENTION !!! + echo Start daemon\(s\) + echo Study how other sections work + + do_daemon $1 1 /bin/sleep 20 +} +zapret_custom_firewall() +{ + # $1 - 1 - run, 0 - stop + + # PLACEHOLDER + echo !!! NEED ATTENTION !!! + echo Configure iptables for required actions + echo Study how other sections work +} diff --git a/init.d/sysv/functions b/init.d/sysv/functions new file mode 100644 index 0000000..197939c --- /dev/null +++ b/init.d/sysv/functions @@ -0,0 +1,486 @@ +# init script functions library for desktop linux systems + +[ -n "$ZAPRET_BASE" ] || ZAPRET_BASE=/opt/zapret +# SHOULD EDIT config +. "$ZAPRET_BASE/config" + +PIDDIR=/var/run + +IPSET_CR="$ZAPRET_BASE/ipset/create_ipset.sh" + +WS_USER=tpws + +QNUM=200 +NFQWS="$ZAPRET_BASE/nfq/nfqws" +NFQWS_OPT_BASE="--qnum=$QNUM --user=$WS_USER" + +TPPORT_HTTP=1188 +TPPORT_HTTPS=1189 +TPWS="$ZAPRET_BASE/tpws/tpws" +HOSTLIST="$ZAPRET_BASE/ipset/zapret-hosts.txt.gz" +[ -f "$HOSTLIST" ] || HOSTLIST="$ZAPRET_BASE/ipset/zapret-hosts-user.txt" +TPWS_OPT_BASE="--user=$WS_USER --bind-addr=127.0.0.1" +TPWS_OPT_BASE6="--user=$WS_USER --bind-addr=::1" +# first wait for lan to ifup, then wait for bind-wait-ip-linklocal seconds for link local address and bind-wait-ip for any ipv6 as the worst case +TPWS_OPT_BASE6_PRE="--user=$WS_USER --bind-linklocal=prefer --bind-wait-ifup=30 --bind-wait-ip=30 --bind-wait-ip-linklocal=3" +TPWS_OPT_BASE_HTTP="--port=$TPPORT_HTTP" +TPWS_OPT_BASE_HTTPS="--port=$TPPORT_HTTPS" + +[ -n "$IFACE_WAN" ] && IPT_OWAN="-o $IFACE_WAN" +[ -n "$IFACE_WAN" ] && IPT_IWAN="-i $IFACE_WAN" +[ -n "$IFACE_LAN" ] && IPT_ILAN="-i $IFACE_LAN" + +[ -n "$DESYNC_MARK" ] || DESYNC_MARK=0x40000000 + +# max wait time for the link local ipv6 on the LAN interface +LINKLOCAL_WAIT_SEC=5 + +CUSTOM_SCRIPT="$ZAPRET_BASE/init.d/sysv/custom" +[ -f "$CUSTOM_SCRIPT" ] && . "$CUSTOM_SCRIPT" + +IPSET_EXCLUDE="-m set ! --match-set nozapret" +IPSET_EXCLUDE6="-m set ! --match-set nozapret6" + +exists() +{ + which "$1" >/dev/null 2>/dev/null +} +existf() +{ + type "$1" >/dev/null 2>/dev/null +} + +on_off_function() +{ + # $1 : function name on + # $2 : function name off + # $3 : 0 - off, 1 - on + local F="$1" + [ "$3" = "1" ] || F="$2" + shift + shift + shift + "$F" "$@" +} + + +ipt() +{ + iptables -C "$@" 2>/dev/null || iptables -I "$@" +} +ipt_del() +{ + iptables -C "$@" 2>/dev/null && iptables -D "$@" +} +ipt_add_del() +{ + on_off_function ipt ipt_del "$@" +} +ipt6() +{ + ip6tables -C "$@" 2>/dev/null || ip6tables -I "$@" +} +ipt6_del() +{ + ip6tables -C "$@" 2>/dev/null && ip6tables -D "$@" +} +ipt6_add_del() +{ + on_off_function ipt6 ipt6_del "$@" +} + +# there's no route_localnet for ipv6 +# the best we can is to route to link local of the incoming interface +# OUTPUT - can DNAT to ::1 +# PREROUTING - can't DNAT to ::1. can DNAT to link local of -i interface or to any global addr +# not a good idea to expose tpws to the world (bind to ::) + +get_ipv6_linklocal() +{ + # $1 - interface name. if empty - any interface + local dev + [ -n "$1" ] && dev="dev $1" + ip addr show $dev | sed -e 's/^.*inet6 \([^ ]*\)\/[0-9]* scope link.*$/\1/;t;d' | head -n 1 +} +get_ipv6_global() +{ + # $1 - interface name. if empty - any interface + local dev + [ -n "$1" ] && dev="dev $1" + ip addr show $dev | sed -e 's/^.*inet6 \([^ ]*\)\/[0-9]* scope global.*$/\1/;t;d' | head -n 1 +} + +iface_is_up() +{ + # $1 - interface name + [ -f /sys/class/net/$1/operstate ] || return + local state + read state /dev/null; then + echo already running + else + "$2" $3 >/dev/null 2>/dev/null & + PID=$! + if [ -n "$PID" ]; then + echo $PID >$PIDFILE + else + echo could not start daemon $1 : $2 $3 + false + fi + fi + fi +} +stop_daemon() +{ + # $1 - daemon number : 1,2,3,... + # $2 - daemon + # use $PIDDIR/$DAEMONBASE$1.pid as pidfile + local DAEMONBASE=$(basename $2) + local PIDFILE=$PIDDIR/$DAEMONBASE$1.pid + echo "Stopping daemon $1: $2" + if exists start-stop-daemon ; then + start-stop-daemon --stop --pidfile "$PIDFILE" --exec "$2" + else + if [ -f "$PIDFILE" ]; then + read PID <"$PIDFILE" + kill $PID + rm -f "$PIDFILE" + else + echo no pidfile : $PIDFILE + fi + fi +} +do_daemon() +{ + # $1 - 1 - run, 0 - stop + on_off_function run_daemon stop_daemon "$@" +} + + +prepare_user() +{ + # $WS_USER is required to prevent redirection of the traffic originating from TPWS itself + # otherwise infinite loop will occur + # also its good idea not to run tpws as root + id -u $WS_USER >/dev/null 2>/dev/null || useradd --no-create-home --system --shell /bin/false $WS_USER +} +prepare_tpws() +{ + prepare_user + + # otherwise linux kernel will treat 127.0.0.1 as "martian" ip and refuse routing to it + # NOTE : kernels <3.6 do not have this feature. consider upgrading or change DNAT to REDIRECT and do not bind to 127.0.0.1 + [ -n "$IFACE_LAN" ] && sysctl -qw net.ipv4.conf.$IFACE_LAN.route_localnet=1 +} +prepare_nfqws() +{ + prepare_user +} +do_tpws() +{ + # $1 : 1 - run, 0 - stop + # $2 : daemon number + # $3 : daemon args + + [ "$1" = "1" ] && prepare_tpws + [ "$DISABLE_IPV4" = "1" ] || do_daemon $1 $2 $TPWS "$TPWS_OPT_BASE $3" + [ "$DISABLE_IPV6" = "1" ] || { + do_daemon $1 $((60+$2)) $TPWS "$TPWS_OPT_BASE6 $3" + [ -n "$IFACE_LAN" ] && do_daemon $1 $((660+$2)) $TPWS "$TPWS_OPT_BASE6_PRE --bind-iface6=$IFACE_LAN $3" + } +} +do_nfqws() +{ + # $1 : 1 - run, 0 - stop + # $2 : daemon number + # $3 : daemon args + + [ "$1" = "1" ] && prepare_nfqws + do_daemon $1 $2 $NFQWS "$NFQWS_OPT_BASE $3" +} + + +create_ipset() +{ + echo "Creating ipset" + "$IPSET_CR" "$@" +} + + + +zapret_do_firewall() +{ + # $1 - 1 - add, 0 - del + local rule + local synack="--tcp-flags SYN,ACK SYN,ACK" + local ipset_zapret="-m set --match-set zapret" + local ipset_zapret6="-m set --match-set zapret6" + local desync="-m multiport --dports 80,443 -m connbytes --connbytes-dir=original --connbytes-mode=packets --connbytes 2:4 -m mark ! --mark $DESYNC_MARK/$DESYNC_MARK" + + # always create ipsets. ip_exclude ipset is required + [ "$1" != "1" ] || create_ipset no-update + + case "${MODE}" in + tpws_hostlist|tpws_all) + fw_tpws $1 "--dport 80" "--dport 80" $TPPORT_HTTP + ;; + tpws_ipset) + [ "$1" = "1" ] && prepare_tpws + fw_tpws $1 "--dport 80 $ipset_zapret dst" "--dport 80 $ipset_zapret6 dst" $TPPORT_HTTP + ;; + tpws_ipset_https) + [ "$1" = "1" ] && prepare_tpws + fw_tpws $1 "--dport 80 $ipset_zapret dst" "--dport 80 $ipset_zapret6 dst" $TPPORT_HTTP + fw_tpws $1 "--dport 443 $ipset_zapret dst" "--dport 443 $ipset_zapret6 dst" $TPPORT_HTTPS + ;; + tpws_all_https) + [ "$1" = "1" ] && prepare_tpws + fw_tpws $1 "--dport 80" "--dport 80" $TPPORT_HTTP + fw_tpws $1 "--dport 443" "--dport 443" $TPPORT_HTTPS + ;; + nfqws_ipset) + fw_nfqws_pre $1 "--sport 80 $synack $ipset_zapret src" "--sport 80 $synack $ipset_zapret6 src" $QNUM + fw_nfqws_post $1 "--dport 80 $ipset_zapret dst" "--dport 80 $ipset_zapret6 dst" $QNUM + ;; + nfqws_ipset_https) + rule="-m multiport --sports 80,443 $synack" + fw_nfqws_pre $1 "$rule $ipset_zapret src" "$rule $ipset_zapret6 src" $QNUM + fw_nfqws_post $1 "--dport 80 $ipset_zapret dst" "--dport 80 $ipset_zapret6 dst" $QNUM + ;; + nfqws_all) + fw_nfqws_pre $1 "--sport 80 $synack" "--sport 80 $synack" $QNUM + fw_nfqws_post $1 "--dport 80" "--dport 80" $QNUM + ;; + nfqws_all_https) + rule="-m multiport --sports 80,443 $synack" + fw_nfqws_pre $1 "$rule" "$rule" $QNUM + fw_nfqws_post $1 "--dport 80" "--dport 80" $QNUM + ;; + nfqws_all_desync|nfqws_hostlist_desync) + rule="-m multiport --sports 80,443 $synack" + fw_nfqws_pre $1 "$rule" "$rule" $QNUM + fw_nfqws_post $1 "$desync" "$desync" $QNUM + ;; + nfqws_ipset_desync) + rule="-m multiport --sports 80,443 $synack" + fw_nfqws_pre $1 "$rule $ipset_zapret src" "$rule $ipset_zapret6 src" $QNUM + fw_nfqws_post $1 "$desync $ipset_zapret dst" "$desync $ipset_zapret6 dst" $QNUM + ;; + custom) + existf zapret_custom_firewall && zapret_custom_firewall $1 + ;; + esac +} +zapret_apply_firewall() +{ + zapret_do_firewall 1 "$@" +} +zapret_unapply_firewall() +{ + zapret_do_firewall 0 "$@" +} + +zapret_do_daemons() +{ + # $1 - 1 - run, 0 - stop + + case "${MODE}" in + tpws_hostlist) + do_tpws $1 1 "$TPWS_OPT_BASE_HTTP $TPWS_OPT_HTTP --hostlist=$HOSTLIST" + ;; + tpws_ipset|tpws_all) + do_tpws $1 1 "$TPWS_OPT_BASE_HTTP $TPWS_OPT_HTTP" + ;; + tpws_ipset_https|tpws_all_https) + do_tpws $1 1 "$TPWS_OPT_BASE_HTTP $TPWS_OPT_HTTP" + do_tpws $1 2 "$TPWS_OPT_BASE_HTTPS $TPWS_OPT_HTTPS" + ;; + nfqws_ipset|nfqws_ipset_https|nfqws_all|nfqws_all_https) + do_nfqws $1 1 "$NFQWS_OPT" + ;; + nfqws_ipset_desync|nfqws_all_desync) + do_nfqws $1 1 "$NFQWS_OPT_DESYNC" + ;; + nfqws_hostlist_desync) + do_nfqws $1 1 "$NFQWS_OPT_DESYNC --hostlist=$HOSTLIST" + ;; + custom) + existf zapret_custom_daemons && zapret_custom_daemons $1 + ;; + esac +} + +zapret_run_daemons() +{ + zapret_do_daemons 1 "$@" +} +zapret_stop_daemons() +{ + zapret_do_daemons 0 "$@" +} diff --git a/init.d/sysv/zapret b/init.d/sysv/zapret new file mode 100755 index 0000000..081b02c --- /dev/null +++ b/init.d/sysv/zapret @@ -0,0 +1,48 @@ +#!/bin/sh +### BEGIN INIT INFO +# Provides: zapret +# Required-Start: $local_fs $network +# Required-Stop: $local_fs $network +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +### END INIT INFO + +ZAPRET_BASE=/opt/zapret +. "$ZAPRET_BASE/init.d/sysv/functions" + +NAME=zapret +DESC=anti-zapret + +case "$1" in + start) + zapret_run_daemons + [ "$INIT_APPLY_FW" != "1" ] || zapret_apply_firewall + ;; + + stop) + zapret_stop_daemons + [ "$INIT_APPLY_FW" != "1" ] || zapret_unapply_firewall + ;; + + start-fw) + zapret_apply_firewall + ;; + stop-fw) + zapret_unapply_firewall + ;; + + start-daemons) + zapret_run_daemons + ;; + stop-daemons) + zapret_stop_daemons + ;; + + *) + N=/etc/init.d/$NAME + echo "Usage: $N {start|stop|start-fw|stop-fw|start-daemons|stop-daemons}" >&2 + exit 1 + ;; +esac + +exit 0 diff --git a/install_bin.sh b/install_bin.sh new file mode 100755 index 0000000..f5a1d9b --- /dev/null +++ b/install_bin.sh @@ -0,0 +1,64 @@ +#!/bin/sh + +SCRIPT=$(readlink -f "$0") +EXEDIR=$(dirname "$SCRIPT") +BINS=binaries +BINDIR=$EXEDIR/$BINS + +check_dir() +{ + local exe=$BINDIR/$1/ip2net + if [ -f "$exe" ]; then + if [ -x "$exe" ]; then + echo 0.0.0.0 | "$exe" 1>/dev/null 2>/dev/null + else + echo "$exe is not executable. set proper chmod." + return 1 + fi + + else + echo "$exe is absent" + return 2 + fi +} + +# link or copy executables. uncomment either ln or cp, comment other +ccp() +{ + local F=$(basename $1) + [ -d "$EXEDIR/$2" ] || mkdir "$EXEDIR/$2" + [ -f "$EXEDIR/$2/$F" ] && rm -f "$EXEDIR/$2/$F" + ln -fs "../$BINS/$1" "$EXEDIR/$2" && echo linking : "../$BINS/$1" =\> "$EXEDIR/$2" + #cp -f "$BINDIR/$1" "$EXEDIR/$2" && echo copying : "$BINDIR/$1" =\> "$EXEDIR/$2" +} + +ARCHLIST="my x86_64 x86 aarch64 armhf mips64r2-msb mips32r1-lsb mips32r1-msb ppc" + +if [ "$1" = "getarch" ]; then + for arch in $ARCHLIST + do + [ -d "$BINDIR/$arch" ] || continue + if check_dir $arch; then + echo $arch + exit 0 + fi + done +else + for arch in $ARCHLIST + do + [ -d "$BINDIR/$arch" ] || continue + if check_dir $arch; then + echo $arch is OK + echo installing binaries ... + ccp $arch/ip2net ip2net + ccp $arch/mdig mdig + ccp $arch/nfqws nfq + ccp $arch/tpws tpws + exit 0 + else + echo $arch is NOT OK + fi + done +fi + +exit 1 diff --git a/install_easy.sh b/install_easy.sh new file mode 100755 index 0000000..12e4c0c --- /dev/null +++ b/install_easy.sh @@ -0,0 +1,815 @@ +#!/bin/sh + +# automated script for easy installing zapret + +SCRIPT=$(readlink -f "$0") +EXEDIR=$(dirname "$SCRIPT") +ZAPRET_BASE=/opt/zapret +ZAPRET_CONFIG=$EXEDIR/config + +. "$ZAPRET_CONFIG" + +GET_LIST="$EXEDIR/ipset/get_config.sh" +GET_LIST_PREFIX=/ipset/get_ +INIT_SCRIPT=/etc/init.d/zapret + +SYSTEMD_SYSTEM_DIR=/lib/systemd/system +[ -d "$SYSTEMD_SYSTEM_DIR" ] || SYSTEMD_SYSTEM_DIR=/usr/lib/systemd/system + +exists() +{ + which $1 >/dev/null 2>/dev/null +} +whichq() +{ + which $1 2>/dev/null +} + +exitp() +{ + local A + + echo + echo press enter to continue + read A + exit $1 +} + +[ $(id -u) -ne "0" ] && { + echo root is required + exists sudo && exec sudo "$0" + exists su && exec su -c "$0" + echo su or sudo not found + exitp 2 +} + +read_yes_no() +{ + # $1 - default (Y/N) + local A + read A + [ -z "$A" ] || ([ "$A" != "Y" ] && [ "$A" != "y" ] && [ "$A" != "N" ] && [ "$A" != "n" ]) && A=$1 + [ "$A" = "Y" ] || [ "$A" = "y" ] +} +ask_yes_no() +{ + # $1 - default (Y/N) + # $2 - text + echo -n "$2 (default : $1) (Y/N) ? " + read_yes_no $1 +} + +on_off_function() +{ + # $1 : function name on + # $2 : function name off + # $3 : 0 - off, 1 - on + local F="$1" + [ "$3" = "1" ] || F="$2" + shift + shift + shift + "$F" "$@" +} + +get_dir_inode() +{ + local dir="$1" + [ -L "$dir" ] && dir=$(readlink -f "$dir") + ls -id "$dir" | awk '{print $1}' +} + +md5file() +{ + md5sum "$1" | cut -f1 -d ' ' +} + +random() +{ + # $1 - min, $2 - max + local r rs + if [ -c /dev/urandom ]; then + read rs /dev/null) + [ -z "$M" ] && M="$M_DEFAULT" + echo selected : $M + eval $1="$M" + + [ "$M" != "$M_OLD" ] +} + +write_config_var() +{ + # $1 - mode var + local M + eval M="\$$1" + + if [ -n "$M" ]; then + sed -ri "s/^#?$1=.*$/$1=$M/" "$EXEDIR/config" + else + # write with comment at the beginning + sed -ri "s/^#?$1=.*$/#$1=/" "$EXEDIR/config" + fi +} +select_mode() +{ + echo select MODE : + ask_list MODE "tpws_ipset tpws_ipset_https tpws_all tpws_all_https tpws_hostlist nfqws_ipset nfqws_ipset_https nfqws_all nfqws_all_https nfqws_all_desync nfqws_ipset_desync nfqws_hostlist_desync ipset custom" tpws_ipset_https && write_config_var MODE +} +select_getlist() +{ + # do not touch this in custom mode + [ "$MODE" = "custom" ] && return + + if [ "${MODE%hostlist*}" != "$MODE" ] || [ "${MODE%ipset*}" != "$MODE" ]; then + if ask_yes_no Y "do you want to auto download ip/host list"; then + if [ "${MODE%hostlist*}" != "$MODE" ] ; then + local GL_OLD=$GETLIST + GETLIST="get_reestr_hostlist.sh" + [ "$GL_OLD" != "$GET_LIST" ] && write_config_var GETLIST + else + GETLISTS="get_user.sh get_antifilter_ip.sh get_antifilter_ipsmart.sh get_antifilter_ipsum.sh get_reestr_ip.sh get_reestr_combined.sh get_reestr_resolve.sh" + GETLIST_DEF="get_antifilter_ipsmart.sh" + ask_list GETLIST "$GETLISTS" "$GETLIST_DEF" && write_config_var GETLIST + fi + return + fi + fi + GETLIST="" + write_config_var GETLIST +} +select_ipv6() +{ + local T=N + + [ "$DISABLE_IPV6" != '1' ] && T=Y + local old6=$DISABLE_IPV6 + if ask_yes_no $T "enable ipv6 support"; then + DISABLE_IPV6=0 + else + DISABLE_IPV6=1 + fi + [ "$old6" != "$DISABLE_IPV6" ] && write_config_var DISABLE_IPV6 +} + +ask_config() +{ + select_mode + select_getlist +} + +ask_iface() +{ + # $1 - var to ask + ask_list $1 "$(ls /sys/class/net)" && write_config_var $1 +} + +select_router_iface() +{ + local T=N + [ -n "$IFACE_LAN" ] && [ -n "$IFACE_WAN" ] && T=Y + local old_lan=$IFACE_LAN + local old_wan=$IFACE_WAN + + if ask_yes_no $T "is this system a router"; then + echo LAN interface : + ask_iface IFACE_LAN + echo WAN interface : + ask_iface IFACE_WAN + else + [ -n "$old_lan" ] && { + IFACE_LAN="" + write_config_var IFACE_LAN + } + [ -n "$old_wan" ] && { + IFACE_WAN="" + write_config_var IFACE_WAN + } + fi +} +ask_config_desktop() +{ + select_router_iface +} + +copy_all() +{ + cp -R "$1" "$2" + [ -d "$2/tmp" ] || mkdir "$2/tmp" +} +copy_minimal() +{ + local ARCH=$(get_bin_arch) + local BINDIR="$1/binaries/$ARCH" + + [ -d "$2" ] || mkdir -p "$2" + + mkdir "$2/tpws" "$2/nfq" "$2/ip2net" "$2/mdig" "$2/binaries" "$2/binaries/$ARCH" "$2/tmp" + cp -R "$1/ipset" "$2" + cp -R "$1/init.d" "$2" + cp "$1/config" "$1/install_easy.sh" "$1/uninstall_easy.sh" "$1/install_bin.sh" "$2" + cp "$BINDIR/tpws" "$BINDIR/nfqws" "$BINDIR/ip2net" "$BINDIR/mdig" "$2/binaries/$ARCH" +} + +_backup_settings() +{ + local i=0 + for f in "$@"; do + [ -f "$ZAPRET_BASE/$f" ] && cp -f "$ZAPRET_BASE/$f" "/tmp/zapret-bkp-$i" + i=$(($i+1)) + done +} +_restore_settings() +{ + local i=0 + for f in "$@"; do + [ -f "/tmp/zapret-bkp-$i" ] && mv -f "/tmp/zapret-bkp-$i" "$ZAPRET_BASE/$f" + i=$(($i+1)) + done +} +backup_restore_settings() +{ + # $1 - 1 - backup, 0 - restore + local mode=$1 + on_off_function _backup_settings _restore_settings $mode "config" "init.d/sysv/custom" "init.d/openwrt/custom" +} + +check_location() +{ + # $1 - copy function + + echo \* checking location + + # use inodes in case something is linked + [ -d "$ZAPRET_BASE" ] && [ $(get_dir_inode "$EXEDIR") = $(get_dir_inode "$ZAPRET_BASE") ] || { + echo easy install is supported only from default location : $ZAPRET_BASE + echo currently its run from $EXEDIR + if ask_yes_no N "do you want the installer to copy it for you"; then + local keep=N + if [ -d "$ZAPRET_BASE" ]; then + echo installer found existing $ZAPRET_BASE + echo directory needs to be replaced. config and custom scripts can be kept or replaced with clean version + if ask_yes_no N "do you want to delete all files there and copy this version"; then + ask_yes_no Y "keep config and custom scripts" && keep=Y + [ "$keep" = "Y" ] && backup_restore_settings 1 + rm -r "$ZAPRET_BASE" + else + echo refused to overwrite $ZAPRET_BASE. exiting + exitp 3 + fi + fi + local B=$(dirname "$ZAPRET_BASE") + [ -d "$B" ] || mkdir -p "$B" + $1 "$EXEDIR" "$ZAPRET_BASE" + [ "$keep" = "Y" ] && backup_restore_settings 0 + echo relaunching itself from $ZAPRET_BASE + exec $ZAPRET_BASE/$(basename $0) + else + echo copying aborted. exiting + exitp 3 + fi + } + echo running from $EXEDIR +} + + +check_prerequisites_linux() +{ + echo \* checking prerequisites + + if exists ipset && exists curl ; then + echo everything is present + else + echo \* installing prerequisites + + APTGET=$(whichq apt-get) + YUM=$(whichq yum) + PACMAN=$(whichq pacman) + ZYPPER=$(whichq zypper) + EOPKG=$(whichq eopkg) + if [ -x "$APTGET" ] ; then + "$APTGET" update + "$APTGET" install -y --no-install-recommends ipset curl dnsutils || { + echo could not install prerequisites + exitp 6 + } + elif [ -x "$YUM" ] ; then + "$YUM" -y install curl ipset || { + echo could not install prerequisites + exitp 6 + } + elif [ -x "$PACMAN" ] ; then + "$PACMAN" -Syy + "$PACMAN" --noconfirm -S ipset curl || { + echo could not install prerequisites + exitp 6 + } + elif [ -x "$ZYPPER" ] ; then + "$ZYPPER" --non-interactive install ipset curl || { + echo could not install prerequisites + exitp 6 + } + elif [ -x "$EOPKG" ] ; then + "$EOPKG" -y install ipset curl || { + echo could not install prerequisites + exitp 6 + } + else + echo supported package manager not found + echo you must manually install : ipset curl + exitp 5 + fi + fi +} + + +service_install_systemd() +{ + echo \* installing zapret service + + rm -f "$INIT_SCRIPT" + ln -fs "$EXEDIR/init.d/systemd/zapret.service" "$SYSTEMD_SYSTEM_DIR" + "$SYSTEMCTL" daemon-reload + "$SYSTEMCTL" enable zapret || { + echo could not enable systemd service + exitp 20 + } +} + +service_stop_systemd() +{ + echo \* stopping zapret service + + "$SYSTEMCTL" daemon-reload + "$SYSTEMCTL" disable zapret + "$SYSTEMCTL" stop zapret +} + +service_start_systemd() +{ + echo \* starting zapret service + + "$SYSTEMCTL" start zapret || { + echo could not start zapret service + exitp 30 + } +} + +timer_install_systemd() +{ + echo \* installing zapret-list-update timer + + "$SYSTEMCTL" disable zapret-list-update.timer + "$SYSTEMCTL" stop zapret-list-update.timer + ln -fs "$EXEDIR/init.d/systemd/zapret-list-update.service" "$SYSTEMD_SYSTEM_DIR" + ln -fs "$EXEDIR/init.d/systemd/zapret-list-update.timer" "$SYSTEMD_SYSTEM_DIR" + "$SYSTEMCTL" daemon-reload + "$SYSTEMCTL" enable zapret-list-update.timer || { + echo could not enable zapret-list-update.timer + exitp 20 + } + "$SYSTEMCTL" start zapret-list-update.timer || { + echo could not start zapret-list-update.timer + exitp 30 + } +} + +download_list() +{ + [ -x "$GET_LIST" ] && { + echo \* downloading blocked ip/host list + + # can be txt or txt.gz + "$EXEDIR/ipset/clear_lists.sh" + "$GET_LIST" || { + echo could not download ip list + exitp 25 + } + } +} + +crontab_del_quiet() +{ + exists crontab || return + + CRONTMP=/tmp/cron.tmp + crontab -l >$CRONTMP + if grep -q "$GET_IPLIST_PREFIX" $CRONTMP; then + grep -v "$GET_IPLIST_PREFIX" $CRONTMP >$CRONTMP.2 + crontab $CRONTMP.2 + rm -f $CRONTMP.2 + fi + rm -f $CRONTMP +} + +crontab_add() +{ + # $1 - hour min + # $2 - hour max + [ -x "$GET_LIST" ] && { + echo \* adding crontab entry + + CRONTMP=/tmp/cron.tmp + crontab -l >$CRONTMP + if grep -q "$GET_LIST_PREFIX" $CRONTMP; then + echo some entries already exist in crontab. check if this is corrent : + grep "$GET_LIST_PREFIX" $CRONTMP + else + echo "$(random 0 59) $(random $1 $2) */2 * * $GET_LIST" >>$CRONTMP + crontab $CRONTMP + fi + + rm -f $CRONTMP + } +} + + +install_systemd() +{ + INIT_SCRIPT_SRC=$EXEDIR/init.d/sysv/zapret + + check_bins + check_location copy_all + check_prerequisites_linux + service_stop_systemd + install_binaries + select_ipv6 + ask_config_desktop + ask_config + service_install_systemd + download_list + # in case its left from old version of zapret + crontab_del_quiet + # now we use systemd timers + timer_install_systemd + service_start_systemd +} + + + + +check_kmod() +{ + [ -f "/lib/modules/$(uname -r)/$1.ko" ] +} +check_package_exists_openwrt() +{ + [ -n "$(opkg list $1)" ] +} +check_package_openwrt() +{ + [ -n "$(opkg list-installed $1)" ] +} +check_packages_openwrt() +{ + for pkg in $@; do + check_package_openwrt $pkg || return + done +} + +check_prerequisites_openwrt() +{ + echo \* checking prerequisites + + local PKGS="iptables-mod-extra iptables-mod-nfqueue iptables-mod-filter iptables-mod-ipopt iptables-mod-conntrack-extra ipset curl" + [ "$DISABLE_IPV6" != "1" ] && PKGS="$PKGS ip6tables-mod-nat" + local UPD=0 + + if check_packages_openwrt $PKGS ; then + echo everything is present + else + echo \* installing prerequisites + + opkg update + UPD=1 + opkg install $PKGS || { + echo could not install prerequisites + exitp 6 + } + fi + + [ -x "/usr/bin/gzip" ] || { + echo your system uses default busybox gzip. its several times slower than gnu gzip. + echo ip/host list scripts will run much faster with gnu gzip + echo installer can install gnu gzip but it requires about 100 Kb space + if ask_yes_no N "do you want to install gnu gzip"; then + [ "$UPD" = "0" ] && { + opkg update + UPD=1 + } + opkg install gzip + fi + } + [ -x "/usr/bin/grep" ] || { + echo your system uses default busybox grep. its damn infinite slow with -f option + echo get_combined.sh will be severely impacted + echo installer can install gnu grep but it requires about 0.5 Mb space + if ask_yes_no N "do you want to install gnu grep"; then + [ "$UPD" = "0" ] && { + opkg update + UPD=1 + } + opkg install grep + + # someone reported device partially fail if /bin/grep is absent + # grep package deletes /bin/grep + [ -f /bin/grep ] || ln -s busybox /bin/grep + fi + } +} + +openwrt_fw_section_find() +{ + # $1 - fw include postfix + # echoes section number + + i=0 + while true + do + path=$(uci -q get firewall.@include[$i].path) + [ -n "$path" ] || break + [ "$path" = "$OPENWRT_FW_INCLUDE$1" ] && { + echo $i + return + } + i=$(($i+1)) + done + false + return +} +openwrt_fw_section_del() +{ + # $1 - fw include postfix + + local id=$(openwrt_fw_section_find $1) + [ -n "$id" ] && { + uci delete firewall.@include[$id] && uci commit firewall + rm -f "$OPENWRT_FW_INCLUDE$1" + } +} +openwrt_fw_section_add() +{ + openwrt_fw_section_find || + { + uci add firewall include >/dev/null || return + echo -1 + } +} +openwrt_fw_section_configure() +{ + local id=$(openwrt_fw_section_add $1) + [ -z "$id" ] || + ! uci set firewall.@include[$id].path="$OPENWRT_FW_INCLUDE" || + ! uci set firewall.@include[$id].reload="1" || + ! uci commit firewall && + { + echo could not add firewall include + exitp 50 + } +} + +install_openwrt_firewall() +{ + echo \* installing firewall script $1 + + [ -n "MODE" ] || { + echo should specify MODE in $ZAPRET_CONFIG + exitp 7 + } + + echo "linking : $FW_SCRIPT_SRC => $OPENWRT_FW_INCLUDE" + ln -fs "$FW_SCRIPT_SRC" "$OPENWRT_FW_INCLUDE" + + openwrt_fw_section_configure $1 +} + + +restart_openwrt_firewall() +{ + echo \* restarting firewall + + fw3 -q restart || { + echo could not restart firewall + exitp 30 + } +} + +remove_openwrt_firewall() +{ + echo \* removing firewall script + + openwrt_fw_section_del + # from old zapret versions. now we use single include + openwrt_fw_section_del 6 +} + +install_openwrt_iface_hook() +{ + echo \* installing ifup hook + + ln -fs "$OPENWRT_IFACE_HOOK" /etc/hotplug.d/iface +} + +deoffload_openwrt_firewall() +{ + echo \* checking flow offloading + + local mod=0 + local fo=$(uci -q get firewall.@defaults[0].flow_offloading) + local fo_hw=$(uci -q get firewall.@defaults[0].flow_offloading_hw) + + if [ "$fo_hw" = "1" ] ; then + echo hardware flow offloading detected. its incompatible with zapret. disabling + uci set firewall.@defaults[0].flow_offloading_hw=0 + mod=1 + else + echo hardware flow offloading disabled. ok + fi + if [ "$fo" = "1" ] ; then + echo -n "software flow offloading detected. " + if [ "${MODE%nfqws*}" != "$MODE" ]; then + echo its incompatible with nfqws tcp data tampering. disabling + uci set firewall.@defaults[0].flow_offloading=0 + mod=1 + else + echo its compatible with selected options. not disabling + fi + else + echo software flow offloading disabled. ok + fi + [ "$mod" = "1" ] && uci commit firewall +} + +install_sysv_init() +{ + # $1 - "0"=disable + echo \* installing init script + + [ -x "$INIT_SCRIPT" ] && { + "$INIT_SCRIPT" stop + "$INIT_SCRIPT" disable + } + ln -fs "$INIT_SCRIPT_SRC" "$INIT_SCRIPT" + [ "$1" != "0" ] && "$INIT_SCRIPT" enable +} + +service_start_sysv() +{ + echo \* starting zapret service + + "$INIT_SCRIPT" start || { + echo could not start zapret service + exitp 30 + } +} + + + +install_openwrt() +{ + INIT_SCRIPT_SRC=$EXEDIR/init.d/openwrt/zapret + FW_SCRIPT_SRC=$EXEDIR/init.d/openwrt/firewall.zapret + OPENWRT_FW_INCLUDE=/etc/firewall.zapret + OPENWRT_IFACE_HOOK=$EXEDIR/init.d/openwrt/90-zapret + + check_bins + check_location copy_minimal + select_ipv6 + check_prerequisites_openwrt + install_binaries + ask_config + install_sysv_init + # can be previous firewall preventing access + remove_openwrt_firewall + restart_openwrt_firewall + download_list + # router system : works 24/7. night is the best time + crontab_add 0 6 + service_start_sysv + install_openwrt_iface_hook + install_openwrt_firewall + deoffload_openwrt_firewall + restart_openwrt_firewall +} + + + +# build binaries, do not use precompiled +[ "$1" = "make" ] && FORCE_BUILD=1 + +check_system + +case $SYSTEM in + systemd) + install_systemd + ;; + openwrt) + install_openwrt + ;; +esac + + +exitp 0 diff --git a/ip2net/Makefile b/ip2net/Makefile new file mode 100644 index 0000000..3de0eef --- /dev/null +++ b/ip2net/Makefile @@ -0,0 +1,12 @@ +CC ?= gcc +CFLAGS += -std=c99 -s -O3 +LIBS = +SRC_FILES = *.c + +all: ip2net + +ip2net: $(SRC_FILES) + $(CC) $(CFLAGS) -o $@ $^ $(LDFLAGS) $(LIBS) + +clean: + rm -f ip2net *.o diff --git a/ip2net/ip2net.c b/ip2net/ip2net.c new file mode 100644 index 0000000..11ddbf4 --- /dev/null +++ b/ip2net/ip2net.c @@ -0,0 +1,396 @@ +// group ipv4/ipv6 list from stdout into subnets +// each line must contain either ip or ip/bitcount +// valid ip/bitcount and ip1-ip2 are passed through without modification +// ips are groupped into subnets + +#include +#include +#include +#include +#include +#include +#include +#include "qsort.h" + +#define ALLOC_STEP 16384 + +// minimum subnet fill percent is PCTMULT/PCTDIV (for example 3/4) +#define DEFAULT_PCTMULT 3 +#define DEFAULT_PCTDIV 4 +// subnet search range in "zero bit count" +// means search start from /(32-ZCT_MAX) to /(32-ZCT_MIN) +#define DEFAULT_V4_ZCT_MAX 10 // /22 +#define DEFAULT_V4_ZCT_MIN 2 // /30 +#define DEFAULT_V6_ZCT_MAX 72 // /56 +#define DEFAULT_V6_ZCT_MIN 64 // /64 +// must be no less than N ipv6 in subnet +#define DEFAULT_V6_THRESHOLD 5 + +static int ucmp(const void * a, const void * b, void *arg) +{ + if (*(uint32_t*)a < *(uint32_t*)b) + return -1; + else if (*(uint32_t*)a > *(uint32_t*)b) + return 1; + else + return 0; +} +static uint32_t mask_from_bitcount(uint32_t zct) +{ + return ~((1 << zct) - 1); +} +// make presorted array unique. return number of unique items. +// 1,1,2,3,3,0,0,0 (ct=8) => 1,2,3,0 (ct=4) +static uint32_t unique(uint32_t *pu, uint32_t ct) +{ + uint32_t i, j, u; + for (i = j = 0; j < ct; i++) + { + u = pu[j++]; + for (; j < ct && pu[j] == u; j++); + pu[i] = u; + } + return i; +} + + + +static int cmp6(const void * a, const void * b, void *arg) +{ + for (uint8_t i = 0; i < sizeof(((struct in6_addr *)0)->s6_addr); i++) + { + if (((struct in6_addr *)a)->s6_addr[i] < ((struct in6_addr *)b)->s6_addr[i]) + return -1; + else if (((struct in6_addr *)a)->s6_addr[i] > ((struct in6_addr *)b)->s6_addr[i]) + return 1; + } + return 0; +} +// make presorted array unique. return number of unique items. +static uint32_t unique6(struct in6_addr *pu, uint32_t ct) +{ + uint32_t i, j, k; + for (i = j = 0; j < ct; i++) + { + for (k = j++; j < ct && !memcmp(pu + j, pu + k, sizeof(struct in6_addr)); j++); + pu[i] = pu[k]; + } + return i; +} +static void mask_from_bitcount6(uint32_t zct, struct in6_addr *a) +{ + if (zct >= 128) + memset(a->s6_addr,0x00,16); + else + { + int32_t n = (127 - zct) >> 3; + memset(a->s6_addr,0xFF,n); + memset(a->s6_addr+n,0x00,16-n); + a->s6_addr[n] = ~((1 << (zct & 7)) - 1); + } +} +// result = a & b +static void ip6_and(const struct in6_addr *a, const struct in6_addr *b, struct in6_addr *result) +{ + ((uint64_t*)result->s6_addr)[0] = ((uint64_t*)a->s6_addr)[0] & ((uint64_t*)b->s6_addr)[0]; + ((uint64_t*)result->s6_addr)[1] = ((uint64_t*)a->s6_addr)[1] & ((uint64_t*)b->s6_addr)[1]; +} + +static void rtrim(char *s) +{ + if (s) + for (char *p = s + strlen(s) - 1; p >= s && (*p == '\n' || *p == '\r'); p--) *p = '\0'; +} + + +static struct params_s +{ + bool ipv6; + uint32_t pctmult, pctdiv; // for v4 + uint32_t zct_min, zct_max; // for v4 and v6 + uint32_t v6_threshold; // for v6 +} params; + + +static void exithelp() +{ + printf( + " -4\t\t\t\t; ipv4 list (default)\n" + " -6\t\t\t\t; ipv6 list\n" + " --prefix-length=min[-max]\t; consider prefix lengths from 'min' to 'max'. examples : 22-30 (ipv4), 56-64 (ipv6)\n" + " --v4-threshold=mul/div\t\t; ipv4 only : include subnets with more than mul/div ips. example : 3/4\n" + " --v6-threshold=N\t\t; ipv6 only : include subnets with more than N v6 ips. example : 5\n" + ); + exit(1); +} + +static void parse_params(int argc, char *argv[]) +{ + int option_index = 0; + int v, i; + uint32_t plen1=-1, plen2=-1; + + memset(¶ms, 0, sizeof(params)); + params.pctmult = DEFAULT_PCTMULT; + params.pctdiv = DEFAULT_PCTDIV; + params.v6_threshold = DEFAULT_V6_THRESHOLD; + + const struct option long_options[] = { + { "help",no_argument,0,0 },// optidx=0 + { "h",no_argument,0,0 },// optidx=1 + { "4",no_argument,0,0 },// optidx=2 + { "6",no_argument,0,0 },// optidx=3 + { "prefix-length",required_argument,0,0 },// optidx=4 + { "v4-threshold",required_argument,0,0 },// optidx=5 + { "v6-threshold",required_argument,0,0 },// optidx=6 + { NULL,0,NULL,0 } + }; + while ((v = getopt_long_only(argc, argv, "", long_options, &option_index)) != -1) + { + if (v) exithelp(); + switch (option_index) + { + case 0: + case 1: + exithelp(); + break; + case 2: + params.ipv6 = false; + break; + case 3: + params.ipv6 = true; + break; + case 4: + i = sscanf(optarg,"%u-%u",&plen1,&plen2); + if (i == 1) plen2 = plen1; + if (!i || plen2=params.pctdiv) + { + fprintf(stderr, "invalid parameter for v4-threshold : %s\n", optarg); + exit(1); + } + break; + case 6: + i = sscanf(optarg, "%u", ¶ms.v6_threshold); + if (i != 1 || params.v6_threshold<1) + { + fprintf(stderr, "invalid parameter for v6-threshold : %s\n", optarg); + exit(1); + } + break; + } + } + if (plen1 != -1 && (!params.ipv6 && (plen1>31 || plen2>31) || params.ipv6 && (plen1>127 || plen2>127))) + { + fprintf(stderr, "invalid parameter for prefix-length\n"); + exit(1); + } + params.zct_min = params.ipv6 ? plen2==-1 ? DEFAULT_V6_ZCT_MIN : 128-plen2 : plen2==-1 ? DEFAULT_V4_ZCT_MIN : 32-plen2; + params.zct_max = params.ipv6 ? plen1==-1 ? DEFAULT_V6_ZCT_MAX : 128-plen1 : plen1==-1 ? DEFAULT_V4_ZCT_MAX : 32-plen1; +} + + +int main(int argc, char **argv) +{ + char str[256],d; + uint32_t ipct = 0, iplist_size = 0, pos = 0, p, zct, ip_ct, pos_end; + + parse_params(argc, argv); + + if (params.ipv6) // ipv6 + { + char *s; + struct in6_addr a, *iplist = NULL, *iplist_new; + + while (fgets(str, sizeof(str), stdin)) + { + rtrim(str); + d = 0; + if ((s = strchr(str, '/')) || (s = strchr(str, '-'))) + { + d = *s; + *s = '\0'; + } + if (inet_pton(AF_INET6, str, &a)) + { + if (d=='/') + { + // we have subnet ip6/y + // output it as is + *s = d; + if (sscanf(s + 1, "%u", &zct) && zct!=128) + { + if (zct<128) printf("%s\n", str); + continue; + } + } + else if (d=='-') + { + *s = d; + if (inet_pton(AF_INET6, s+1, &a)) printf("%s\n", str); + continue; + } + if (ipct >= iplist_size) + { + iplist_size += ALLOC_STEP; + iplist_new = (struct in6_addr*)(iplist ? realloc(iplist, sizeof(*iplist)*iplist_size) : malloc(sizeof(*iplist)*iplist_size)); + if (!iplist_new) + { + free(iplist); + fprintf(stderr, "out of memory\n"); + return 100; + } + iplist = iplist_new; + } + iplist[ipct++] = a; + } + } + gnu_quicksort(iplist, ipct, sizeof(*iplist), cmp6, NULL); + ipct = unique6(iplist, ipct); + + /* + for(uint32_t i=0;i= params.zct_min; zct--) + { + mask_from_bitcount6(zct, &mask); + ip6_and(iplist + pos, &mask, &ip_start); + for (p = pos + 1, ip_ct = 1; p < ipct; p++, ip_ct++) + { + ip6_and(iplist + p, &mask, &ip); + if (memcmp(&ip_start, &ip, sizeof(ip))) + break; + } + if (ip_ct == 1) break; + if (ip_ct >= params.v6_threshold) + { + // network found. but is there smaller network with the same ip_ct ? dont do carpet bombing if possible, use smaller subnets + if (!ip_ct_best || ip_ct == ip_ct_best) + { + ip_ct_best = ip_ct; + zct_best = zct; + pos_end = p; + } + else + break; + } + } + if (!zct_best) ip_start = iplist[pos], pos_end = pos + 1; // network not found, use single ip + inet_ntop(AF_INET6, &ip_start, str, sizeof(str)); + printf(zct_best ? "%s/%u\n" : "%s\n", str, 128 - zct_best); + + pos = pos_end; + } + + free(iplist); + } + else // ipv4 + { + uint32_t u1,u2,u3,u4, u11,u22,u33,u44, ip; + uint32_t *iplist = NULL, *iplist_new; + uint32_t i, subnet_ct, end_ip; + + while (fgets(str, sizeof(str), stdin)) + { + if ((i = sscanf(str, "%u.%u.%u.%u-%u.%u.%u.%u", &u1, &u2, &u3, &u4, &u11, &u22, &u33, &u44)) >= 8 && + !(u1 & 0xFFFFFF00) && !(u2 & 0xFFFFFF00) && !(u3 & 0xFFFFFF00) && !(u4 & 0xFFFFFF00) && + !(u11 & 0xFFFFFF00) && !(u22 & 0xFFFFFF00) && !(u33 & 0xFFFFFF00) && !(u44 & 0xFFFFFF00)) + { + printf("%u.%u.%u.%u-%u.%u.%u.%u\n", u1, u2, u3, u4, u11, u22, u33, u44); + } + else + if ((i = sscanf(str, "%u.%u.%u.%u/%u", &u1, &u2, &u3, &u4, &zct)) >= 4 && + !(u1 & 0xFFFFFF00) && !(u2 & 0xFFFFFF00) && !(u3 & 0xFFFFFF00) && !(u4 & 0xFFFFFF00)) + { + if (i == 5 && zct != 32) + { + // we have subnet x.x.x.x/y + // output it as is if valid, ignore otherwise + if (zct < 32) + printf("%u.%u.%u.%u/%u\n", u1, u2, u3, u4, zct); + } + else + { + ip = u1 << 24 | u2 << 16 | u3 << 8 | u4; + if (ipct >= iplist_size) + { + iplist_size += ALLOC_STEP; + iplist_new = (uint32_t*)(iplist ? realloc(iplist, sizeof(*iplist)*iplist_size) : malloc(sizeof(*iplist)*iplist_size)); + if (!iplist_new) + { + free(iplist); + fprintf(stderr, "out of memory\n"); + return 100; + } + iplist = iplist_new; + } + iplist[ipct++] = ip; + } + } + } + + gnu_quicksort(iplist, ipct, sizeof(*iplist), ucmp, NULL); + ipct = unique(iplist, ipct); + + while (pos < ipct) + { + uint32_t mask, ip_start, ip_end, subnet_ct; + uint32_t ip_ct_best = 0, zct_best = 0; + + // find smallest network with maximum ip coverage with no less than mul/div percent addresses + for (zct = params.zct_max; zct >= params.zct_min; zct--) + { + mask = mask_from_bitcount(zct); + ip_start = iplist[pos] & mask; + subnet_ct = ~mask + 1; + if (iplist[pos] > (ip_start + subnet_ct*(params.pctdiv - params.pctmult) / params.pctdiv)) + continue; // ip is higher than (1-PCT). definitely coverage is not enough. skip searching + ip_end = ip_start | ~mask; + for (p=pos+1, ip_ct=1; p < ipct && iplist[p] <= ip_end; p++) ip_ct++; // count ips within subnet range + if (ip_ct == 1) break; + if (ip_ct >= (subnet_ct*params.pctmult / params.pctdiv)) + { + // network found. but is there smaller network with the same ip_ct ? dont do carpet bombing if possible, use smaller subnets + if (!ip_ct_best || ip_ct == ip_ct_best) + { + ip_ct_best = ip_ct; + zct_best = zct; + pos_end = p; + } + else + break; + } + } + if (!zct_best) ip_start = iplist[pos], pos_end = pos + 1; // network not found, use single ip + + u1 = ip_start >> 24; + u2 = (ip_start >> 16) & 0xFF; + u3 = (ip_start >> 8) & 0xFF; + u4 = ip_start & 0xFF; + printf(zct_best ? "%u.%u.%u.%u/%u\n" : "%u.%u.%u.%u\n", u1, u2, u3, u4, 32 - zct_best); + + pos = pos_end; + } + + free(iplist); + } + + return 0; +} diff --git a/ip2net/qsort.c b/ip2net/qsort.c new file mode 100644 index 0000000..2ee1185 --- /dev/null +++ b/ip2net/qsort.c @@ -0,0 +1,250 @@ +/* Copyright (C) 1991-2018 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Written by Douglas C. Schmidt (schmidt@ics.uci.edu). + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +/* If you consider tuning this algorithm, you should consult first: + Engineering a sort function; Jon Bentley and M. Douglas McIlroy; + Software - Practice and Experience; Vol. 23 (11), 1249-1265, 1993. */ + +//#include +#include +#include +//#include +#include "qsort.h" + +/* Byte-wise swap two items of size SIZE. */ +#define SWAP(a, b, size) \ + do \ + { \ + size_t __size = (size); \ + char *__a = (a), *__b = (b); \ + do \ + { \ + char __tmp = *__a; \ + *__a++ = *__b; \ + *__b++ = __tmp; \ + } while (--__size > 0); \ + } while (0) + +/* Discontinue quicksort algorithm when partition gets below this size. + This particular magic number was chosen to work best on a Sun 4/260. */ +#define MAX_THRESH 4 + +/* Stack node declarations used to store unfulfilled partition obligations. */ +typedef struct + { + char *lo; + char *hi; + } stack_node; + +/* The next 4 #defines implement a very fast in-line stack abstraction. */ +/* The stack needs log (total_elements) entries (we could even subtract + log(MAX_THRESH)). Since total_elements has type size_t, we get as + upper bound for log (total_elements): + bits per byte (CHAR_BIT) * sizeof(size_t). */ +#define STACK_SIZE (CHAR_BIT * sizeof(size_t)) +#define PUSH(low, high) ((void) ((top->lo = (low)), (top->hi = (high)), ++top)) +#define POP(low, high) ((void) (--top, (low = top->lo), (high = top->hi))) +#define STACK_NOT_EMPTY (stack < top) + + +/* Order size using quicksort. This implementation incorporates + four optimizations discussed in Sedgewick: + + 1. Non-recursive, using an explicit stack of pointer that store the + next array partition to sort. To save time, this maximum amount + of space required to store an array of SIZE_MAX is allocated on the + stack. Assuming a 32-bit (64 bit) integer for size_t, this needs + only 32 * sizeof(stack_node) == 256 bytes (for 64 bit: 1024 bytes). + Pretty cheap, actually. + + 2. Chose the pivot element using a median-of-three decision tree. + This reduces the probability of selecting a bad pivot value and + eliminates certain extraneous comparisons. + + 3. Only quicksorts TOTAL_ELEMS / MAX_THRESH partitions, leaving + insertion sort to order the MAX_THRESH items within each partition. + This is a big win, since insertion sort is faster for small, mostly + sorted array segments. + + 4. The larger of the two sub-partitions is always pushed onto the + stack first, with the algorithm then concentrating on the + smaller partition. This *guarantees* no more than log (total_elems) + stack size is needed (actually O(1) in this case)! */ + +void +gnu_quicksort (void *const pbase, size_t total_elems, size_t size, + __gnu_compar_d_fn_t cmp, void *arg) +{ + char *base_ptr = (char *) pbase; + + const size_t max_thresh = MAX_THRESH * size; + + if (total_elems == 0) + /* Avoid lossage with unsigned arithmetic below. */ + return; + + if (total_elems > MAX_THRESH) + { + char *lo = base_ptr; + char *hi = &lo[size * (total_elems - 1)]; + stack_node stack[STACK_SIZE]; + stack_node *top = stack; + + PUSH (NULL, NULL); + + while (STACK_NOT_EMPTY) + { + char *left_ptr; + char *right_ptr; + + /* Select median value from among LO, MID, and HI. Rearrange + LO and HI so the three values are sorted. This lowers the + probability of picking a pathological pivot value and + skips a comparison for both the LEFT_PTR and RIGHT_PTR in + the while loops. */ + + char *mid = lo + size * ((hi - lo) / size >> 1); + + if ((*cmp) ((void *) mid, (void *) lo, arg) < 0) + SWAP (mid, lo, size); + if ((*cmp) ((void *) hi, (void *) mid, arg) < 0) + SWAP (mid, hi, size); + else + goto jump_over; + if ((*cmp) ((void *) mid, (void *) lo, arg) < 0) + SWAP (mid, lo, size); + jump_over:; + + left_ptr = lo + size; + right_ptr = hi - size; + + /* Here's the famous ``collapse the walls'' section of quicksort. + Gotta like those tight inner loops! They are the main reason + that this algorithm runs much faster than others. */ + do + { + while ((*cmp) ((void *) left_ptr, (void *) mid, arg) < 0) + left_ptr += size; + + while ((*cmp) ((void *) mid, (void *) right_ptr, arg) < 0) + right_ptr -= size; + + if (left_ptr < right_ptr) + { + SWAP (left_ptr, right_ptr, size); + if (mid == left_ptr) + mid = right_ptr; + else if (mid == right_ptr) + mid = left_ptr; + left_ptr += size; + right_ptr -= size; + } + else if (left_ptr == right_ptr) + { + left_ptr += size; + right_ptr -= size; + break; + } + } + while (left_ptr <= right_ptr); + + /* Set up pointers for next iteration. First determine whether + left and right partitions are below the threshold size. If so, + ignore one or both. Otherwise, push the larger partition's + bounds on the stack and continue sorting the smaller one. */ + + if ((size_t) (right_ptr - lo) <= max_thresh) + { + if ((size_t) (hi - left_ptr) <= max_thresh) + /* Ignore both small partitions. */ + POP (lo, hi); + else + /* Ignore small left partition. */ + lo = left_ptr; + } + else if ((size_t) (hi - left_ptr) <= max_thresh) + /* Ignore small right partition. */ + hi = right_ptr; + else if ((right_ptr - lo) > (hi - left_ptr)) + { + /* Push larger left partition indices. */ + PUSH (lo, right_ptr); + lo = left_ptr; + } + else + { + /* Push larger right partition indices. */ + PUSH (left_ptr, hi); + hi = right_ptr; + } + } + } + + /* Once the BASE_PTR array is partially sorted by quicksort the rest + is completely sorted using insertion sort, since this is efficient + for partitions below MAX_THRESH size. BASE_PTR points to the beginning + of the array to sort, and END_PTR points at the very last element in + the array (*not* one beyond it!). */ + +#define min(x, y) ((x) < (y) ? (x) : (y)) + + { + char *const end_ptr = &base_ptr[size * (total_elems - 1)]; + char *tmp_ptr = base_ptr; + char *thresh = min(end_ptr, base_ptr + max_thresh); + char *run_ptr; + + /* Find smallest element in first threshold and place it at the + array's beginning. This is the smallest array element, + and the operation speeds up insertion sort's inner loop. */ + + for (run_ptr = tmp_ptr + size; run_ptr <= thresh; run_ptr += size) + if ((*cmp) ((void *) run_ptr, (void *) tmp_ptr, arg) < 0) + tmp_ptr = run_ptr; + + if (tmp_ptr != base_ptr) + SWAP (tmp_ptr, base_ptr, size); + + /* Insertion sort, running from left-hand-side up to right-hand-side. */ + + run_ptr = base_ptr + size; + while ((run_ptr += size) <= end_ptr) + { + tmp_ptr = run_ptr - size; + while ((*cmp) ((void *) run_ptr, (void *) tmp_ptr, arg) < 0) + tmp_ptr -= size; + + tmp_ptr += size; + if (tmp_ptr != run_ptr) + { + char *trav; + + trav = run_ptr + size; + while (--trav >= run_ptr) + { + char c = *trav; + char *hi, *lo; + + for (hi = lo = trav; (lo -= size) >= tmp_ptr; hi = lo) + *hi = *lo; + *hi = c; + } + } + } + } +} diff --git a/ip2net/qsort.h b/ip2net/qsort.h new file mode 100644 index 0000000..f537ab7 --- /dev/null +++ b/ip2net/qsort.h @@ -0,0 +1,6 @@ +#pragma once + +// GNU qsort is 2x faster than musl + +typedef int (*__gnu_compar_d_fn_t) (const void *, const void *, void *); +void gnu_quicksort (void *const pbase, size_t total_elems, size_t size, __gnu_compar_d_fn_t cmp, void *arg); diff --git a/ipset/antifilter.helper b/ipset/antifilter.helper new file mode 100644 index 0000000..285775e --- /dev/null +++ b/ipset/antifilter.helper @@ -0,0 +1,19 @@ +get_antifilter() +{ + # $1 - list url + # $2 - target file + local ZIPLISTTMP="$TMPDIR/zapret-ip.txt" + + [ "$DISABLE_IPV4" != "1" ] && { + curl --fail --max-time 150 --connect-timeout 20 --max-filesize 41943040 -k -L "$1" | cut_local >"$ZIPLISTTMP" && + { + dlsize=$(wc -c "$ZIPLISTTMP" | cut -f 1 -d ' ') + if test $dlsize -lt 204800; then + echo list file is too small. can be bad. + exit 2 + fi + cat "$ZIPLISTTMP" | zz "$2" + rm -f "$ZIPLISTTMP" "$2" + } + } +} diff --git a/ipset/clear_lists.sh b/ipset/clear_lists.sh new file mode 100755 index 0000000..3778871 --- /dev/null +++ b/ipset/clear_lists.sh @@ -0,0 +1,8 @@ +#!/bin/sh + +SCRIPT=$(readlink -f "$0") +EXEDIR=$(dirname "$SCRIPT") + +. "$EXEDIR/def.sh" + +rm -f "$ZIPLIST"* "$ZIPLIST6"* "$ZIPLIST_USER" "$ZIPLIST_USER6" "$ZIPLIST_IPBAN"* "$ZIPLIST_IPBAN6"* "$ZIPLIST_USER_IPBAN" "$ZIPLIST_USER_IPBAN6" "$ZIPLIST_EXCLUDE" "$ZIPLIST_EXCLUDE6" "$ZHOSTLIST"* diff --git a/ipset/create_ipset.sh b/ipset/create_ipset.sh new file mode 100755 index 0000000..5dc239a --- /dev/null +++ b/ipset/create_ipset.sh @@ -0,0 +1,145 @@ +#!/bin/sh +# create ipset from resolved ip's +# $1=no-update - do not update ipset, only create if its absent + +SCRIPT=$(readlink -f "$0") +EXEDIR=$(dirname "$SCRIPT") + +[ -z "$IPSET_OPT" ] && IPSET_OPT="hashsize 262144 maxelem 2097152" +[ -z "$IPSET_OPT_EXCLUDE" ] && IPSET_OPT_EXCLUDE="hashsize 1024 maxelem 65536" + +IP2NET="$EXEDIR/../ip2net/ip2net" + +. "$EXEDIR/def.sh" +IPSET_CMD="$TMPDIR/ipset_cmd.txt" +IPSET_SAVERAM_CHUNK_SIZE=20000 +IPSET_SAVERAM_MIN_FILESIZE=131072 + + +while [ -n "$1" ]; do + [ "$1" = "no-update" ] && NO_UPDATE=1 + shift +done + + +file_extract_lines() +{ + # $1 - filename + # $2 - from line (starting with 0) + # $3 - line count + # awk "{ err=1 } NR < $(($2+1)) { next } { print; err=0 } NR == $(($2+$3)) { exit err } END {exit err}" "$1" + awk "NR < $(($2+1)) { next } { print } NR == $(($2+$3)) { exit }" "$1" +} +ipset_restore_chunked() +{ + # $1 - filename + # $2 - chunk size + local pos lines + [ -f "$1" ] || return + lines=$(wc -l <"$1") + pos=$lines + while [ "$pos" -gt "0" ]; do + pos=$((pos-$2)) + [ "$pos" -lt "0" ] && pos=0 + file_extract_lines "$1" $pos $2 | ipset -! restore + sed -i "$(($pos+1)),$ d" "$1" + done +} + + +sortu() +{ + sort -u +} +ip2net4() +{ + "$IP2NET" -4 $IP2NET_OPT4 +} +ip2net6() +{ + "$IP2NET" -6 $IP2NET_OPT6 +} +ipset_get_script() +{ + # $1 - filename + # $2 - ipset name + # $3 - "6" = ipv6 + local filter=sortu + [ -x "$IP2NET" ] && filter=ip2net$3 + zzcat "$1" | $filter | sed -nre "s/^.+$/add $2 &/p" +} + +ipset_restore() +{ + # $1 - filename + # $2 - ipset name + # $3 - "6" = ipv6 + zzexist "$1" || return + local fsize=$(zzsize "$1") + local svram=0 + # do not saveram small files. file can also be gzipped + [ "$SAVERAM" = "1" ] && [ "$fsize" -ge "$IPSET_SAVERAM_MIN_FILESIZE" ] && svram=1 + + local T="Adding to ipset $2 ($IPSTYPE" + [ -x "$IP2NET" ] && T="$T, ip2net" + [ "$svram" = "1" ] && T="$T, saveram" + T="$T) : $f" + echo $T + + if [ "$svram" = "1" ]; then + ipset_get_script "$1" "$2" "$3" >"$IPSET_CMD" + ipset_restore_chunked "$IPSET_CMD" $IPSET_SAVERAM_CHUNK_SIZE + rm -f "$IPSET_CMD" + else + ipset_get_script "$1" "$2" "$3" | ipset -! restore + fi +} + +create_ipset() +{ + local IPSTYPE + if [ -x "$IP2NET" ]; then + IPSTYPE=hash:net + else + IPSTYPE=$3 + fi + if [ "$1" -eq "6" ]; then + FAMILY=inet6 + else + FAMILY=inet + fi + ipset create $2 $IPSTYPE $4 family $FAMILY 2>/dev/null || { + [ "$NO_UPDATE" = "1" ] && return + } + ipset flush $2 + for f in "$5" "$6" ; do + ipset_restore "$f" "$2" $1 + done + return 0 +} + +oom_adjust_high + +# ipset seem to buffer the whole script to memory +# on low RAM system this can cause oom errors +# in SAVERAM mode we feed script lines in portions starting from the end, while truncating source file to free /tmp space +# only /tmp is considered tmpfs. other locations mean tmpdir was redirected to a disk +SAVERAM=0 +[ "$TMPDIR" = "/tmp" ] && { + RAMSIZE=$(grep MemTotal /proc/meminfo | awk '{print $2}') + [ "$RAMSIZE" -lt "110000" ] && SAVERAM=1 +} + +[ "$DISABLE_IPV4" != "1" ] && { + create_ipset 4 $ZIPSET hash:ip "$IPSET_OPT" "$ZIPLIST" "$ZIPLIST_USER" + create_ipset 4 $ZIPSET_IPBAN hash:ip "$IPSET_OPT" "$ZIPLIST_IPBAN" "$ZIPLIST_USER_IPBAN" + create_ipset 4 $ZIPSET_EXCLUDE hash:net "$IPSET_OPT_EXCLUDE" "$ZIPLIST_EXCLUDE" +} + +[ "$DISABLE_IPV6" != "1" ] && { + create_ipset 6 $ZIPSET6 hash:ip "$IPSET_OPT" "$ZIPLIST6" "$ZIPLIST_USER6" + create_ipset 6 $ZIPSET_IPBAN6 hash:ip "$IPSET_OPT" "$ZIPLIST_IPBAN6" "$ZIPLIST_USER_IPBAN6" + create_ipset 6 $ZIPSET_EXCLUDE6 hash:net "$IPSET_OPT_EXCLUDE" "$ZIPLIST_EXCLUDE6" +} + +true diff --git a/ipset/def.sh b/ipset/def.sh new file mode 100644 index 0000000..c3165b4 --- /dev/null +++ b/ipset/def.sh @@ -0,0 +1,103 @@ +. "$EXEDIR/../config" + +[ -z "$TMPDIR" ] && TMPDIR=/tmp +ZIPSET=zapret +ZIPSET6=zapret6 +ZIPSET_EXCLUDE=nozapret +ZIPSET_EXCLUDE6=nozapret6 +ZIPLIST="$EXEDIR/zapret-ip.txt" +ZIPLIST6="$EXEDIR/zapret-ip6.txt" +ZIPLIST_EXCLUDE="$EXEDIR/zapret-ip-exclude.txt" +ZIPLIST_EXCLUDE6="$EXEDIR/zapret-ip-exclude6.txt" +ZIPLIST_USER="$EXEDIR/zapret-ip-user.txt" +ZIPLIST_USER6="$EXEDIR/zapret-ip-user6.txt" +ZUSERLIST="$EXEDIR/zapret-hosts-user.txt" +ZHOSTLIST="$EXEDIR/zapret-hosts.txt" + +ZIPSET_IPBAN=ipban +ZIPSET_IPBAN6=ipban6 +ZIPLIST_IPBAN="$EXEDIR/zapret-ip-ipban.txt" +ZIPLIST_IPBAN6="$EXEDIR/zapret-ip-ipban6.txt" +ZIPLIST_USER_IPBAN="$EXEDIR/zapret-ip-user-ipban.txt" +ZIPLIST_USER_IPBAN6="$EXEDIR/zapret-ip-user-ipban6.txt" +ZUSERLIST_IPBAN="$EXEDIR/zapret-hosts-user-ipban.txt" +ZUSERLIST_EXCLUDE="$EXEDIR/zapret-hosts-user-exclude.txt" + +MDIG="$EXEDIR/../mdig/mdig" +[ -z "$MDIG_THREADS" ] && MDIG_THREADS=30 + +zzexist() +{ + [ -f "$1.gz" ] || [ -f "$1" ] +} +zzcat() +{ + if [ -f "$1.gz" ]; then + gunzip -c "$1.gz" + else + cat "$1" + fi +} +zz() +{ + gzip -c >"$1.gz" +} +zzsize() +{ + local f="$1" + [ -f "$1.gz" ] && f="$1.gz" + wc -c <"$f" +} + +digger() +{ + # $1 - hostlist + # $2 - family (4|6) + >&2 echo digging $(wc -l <"$1") ipv$2 domains : "$1" + + if [ -x "$MDIG" ]; then + zzcat "$1" | "$MDIG" --family=$2 --threads=$MDIG_THREADS --stats=1000 + else + local A=A + [ "$2" = "6" ] && A=AAAA + zzcat "$1" | dig $A +short +time=8 +tries=2 -f - | grep -E '^[^;].*[^\.]$' + fi +} + +cut_local() +{ + grep -vE '^192\.168\.|^127\.|^10\.' +} +cut_local6() +{ + grep -vE '^::|fc..:|fd..:' +} + +oom_adjust_high() +{ + echo setting high oom kill priority + echo -n 100 >/proc/$$/oom_score_adj +} + +getexclude() +{ + oom_adjust_high + + [ -f "$ZUSERLIST_EXCLUDE" ] && { + [ "$DISABLE_IPV4" != "1" ] && digger "$ZUSERLIST_EXCLUDE" 4 | sort -u > "$ZIPLIST_EXCLUDE" + [ "$DISABLE_IPV6" != "1" ] && digger "$ZUSERLIST_EXCLUDE" 6 | sort -u > "$ZIPLIST_EXCLUDE6" + } +} + +getuser() +{ + getexclude + [ -f "$ZUSERLIST" ] && { + [ "$DISABLE_IPV4" != "1" ] && digger "$ZUSERLIST" 4 | cut_local | sort -u > "$ZIPLIST_USER" + [ "$DISABLE_IPV6" != "1" ] && digger "$ZUSERLIST" 6 | cut_local6 | sort -u > "$ZIPLIST_USER6" + } + [ -f "$ZUSERLIST_IPBAN" ] && { + [ "$DISABLE_IPV4" != "1" ] && digger "$ZUSERLIST_IPBAN" 4 | cut_local | sort -u > "$ZIPLIST_USER_IPBAN" + [ "$DISABLE_IPV6" != "1" ] && digger "$ZUSERLIST_IPBAN" 6 | cut_local6 | sort -u > "$ZIPLIST_USER_IPBAN6" + } +} diff --git a/ipset/get_antifilter_ip.sh b/ipset/get_antifilter_ip.sh new file mode 100755 index 0000000..b393ee3 --- /dev/null +++ b/ipset/get_antifilter_ip.sh @@ -0,0 +1,14 @@ +#!/bin/sh + +SCRIPT=$(readlink -f "$0") +EXEDIR=$(dirname "$SCRIPT") + +. "$EXEDIR/def.sh" + +getuser + +. "$EXEDIR/antifilter.helper" + +get_antifilter https://antifilter.network/download/ip.lst "$ZIPLIST" + +"$EXEDIR/create_ipset.sh" diff --git a/ipset/get_antifilter_ipsmart.sh b/ipset/get_antifilter_ipsmart.sh new file mode 100755 index 0000000..f27b61a --- /dev/null +++ b/ipset/get_antifilter_ipsmart.sh @@ -0,0 +1,14 @@ +#!/bin/sh + +SCRIPT=$(readlink -f "$0") +EXEDIR=$(dirname "$SCRIPT") + +. "$EXEDIR/def.sh" + +getuser + +. "$EXEDIR/antifilter.helper" + +get_antifilter https://antifilter.network/download/ipsmart.lst "$ZIPLIST" + +"$EXEDIR/create_ipset.sh" diff --git a/ipset/get_antifilter_ipsum.sh b/ipset/get_antifilter_ipsum.sh new file mode 100755 index 0000000..a76037a --- /dev/null +++ b/ipset/get_antifilter_ipsum.sh @@ -0,0 +1,14 @@ +#!/bin/sh + +SCRIPT=$(readlink -f "$0") +EXEDIR=$(dirname "$SCRIPT") + +. "$EXEDIR/def.sh" + +getuser + +. "$EXEDIR/antifilter.helper" + +get_antifilter https://antifilter.network/download/ipsum.lst "$ZIPLIST" + +"$EXEDIR/create_ipset.sh" diff --git a/ipset/get_config.sh b/ipset/get_config.sh new file mode 100755 index 0000000..500db9e --- /dev/null +++ b/ipset/get_config.sh @@ -0,0 +1,10 @@ +#!/bin/sh +# run script specified in config + +SCRIPT=$(readlink -f "$0") +EXEDIR=$(dirname "$SCRIPT") + +. "$EXEDIR/../config" + +[ -z "$GETLIST" ] && GETLIST=get_exclude.sh +[ -x "$EXEDIR/$GETLIST" ] && exec "$EXEDIR/$GETLIST" diff --git a/ipset/get_exclude.sh b/ipset/get_exclude.sh new file mode 100755 index 0000000..786c4b4 --- /dev/null +++ b/ipset/get_exclude.sh @@ -0,0 +1,11 @@ +#!/bin/sh +# resolve user host list + +SCRIPT=$(readlink -f "$0") +EXEDIR=$(dirname "$SCRIPT") + +. "$EXEDIR/def.sh" + +getexclude + +"$EXEDIR/create_ipset.sh" diff --git a/ipset/get_reestr_combined.sh b/ipset/get_reestr_combined.sh new file mode 100755 index 0000000..46abc7d --- /dev/null +++ b/ipset/get_reestr_combined.sh @@ -0,0 +1,59 @@ +#!/bin/sh + +SCRIPT=$(readlink -f "$0") +EXEDIR=$(dirname "$SCRIPT") + +. "$EXEDIR/def.sh" + +ZREESTR="$TMPDIR/reestr.txt" +#ZURL_REESTR=https://reestr.rublacklist.net/api/current +ZURL_REESTR=https://raw.githubusercontent.com/zapret-info/z-i/master/dump.csv + +getuser + +dig_reestr() +{ + # $1 - grep ipmask + # $2 - iplist + # $3 - ipban list + + local DOMMASK='^.*;[^ ;:/]+\.[^ ;:/]+;' + local TMP="$TMPDIR/tmp.txt" + # find entries with https or without domain name - they should be banned by IP + # 2971-18 is TELEGRAM. lots of proxy IPs banned, list grows very large + (grep -avE "$DOMMASK" "$ZREESTR" ; grep -a "https://" "$ZREESTR") | + grep -av "2971-18" | + grep -oE "$1" | cut_local | sort -u >$TMP + + cat "$TMP" | zz "$3" + + # other IPs go to regular zapret list + grep -av "2971-18" "$ZREESTR" | grep -oE "$1" | cut_local | grep -xvFf "$TMP" | sort -u | zz "$2" + + rm -f "$TMP" +} + + +curl -k --fail --max-time 150 --connect-timeout 5 --retry 3 --max-filesize 251658240 "$ZURL_REESTR" -o "$ZREESTR" || +{ + echo reestr list download failed + exit 2 +} +dlsize=$(wc -c "$ZREESTR" | cut -f 1 -d ' ') +if test $dlsize -lt 1048576; then + echo reestr ip list is too small. can be bad. + exit 2 +fi +#sed -i 's/\\n/\r\n/g' $ZREESTR + +[ "$DISABLE_IPV4" != "1" ] && { + dig_reestr '([0-9]{1,3}\.){3}[0-9]{1,3}(/[0-9]+)?' "$ZIPLIST" "$ZIPLIST_IPBAN" +} + +[ "$DISABLE_IPV6" != "1" ] && { + dig_reestr '([0-9,a-f,A-F]{1,4}:){7}[0-9,a-f,A-F]{1,4}(/[0-9]+)?' "$ZIPLIST6" "$ZIPLIST_IPBAN6" +} + +rm -f "$ZREESTR" + +"$EXEDIR/create_ipset.sh" diff --git a/ipset/get_reestr_hostlist.sh b/ipset/get_reestr_hostlist.sh new file mode 100755 index 0000000..b07554c --- /dev/null +++ b/ipset/get_reestr_hostlist.sh @@ -0,0 +1,33 @@ +#!/bin/sh + +SCRIPT=$(readlink -f "$0") +EXEDIR=$(dirname "$SCRIPT") + +. "$EXEDIR/def.sh" + +# useful in case ipban set is used in custom scripts +getuser +"$EXEDIR/create_ipset.sh" + +ZREESTR="$TMPDIR/zapret.txt" +#ZURL=https://reestr.rublacklist.net/api/current +ZURL=https://raw.githubusercontent.com/zapret-info/z-i/master/dump.csv + +curl -k --fail --max-time 150 --connect-timeout 5 --retry 3 --max-filesize 251658240 "$ZURL" >"$ZREESTR" || +{ + echo reestr list download failed + exit 2 +} +dlsize=$(wc -c "$ZREESTR" | cut -f 1 -d ' ') +if test $dlsize -lt 204800; then + echo list file is too small. can be bad. + exit 2 +fi +(cut -s -f2 -d';' "$ZREESTR" | grep -a . | sed -re 's/^\*\.(.+)$/\1/' | awk '{ print tolower($0) }' ; cat "$ZUSERLIST" ) | sort -u | zz "$ZHOSTLIST" +rm -f "$ZREESTR" + +# force daemons to reload hostlist if they are running +killall -HUP tpws 2>/dev/null +killall -HUP nfqws 2>/dev/null + +exit 0 diff --git a/ipset/get_reestr_ip.sh b/ipset/get_reestr_ip.sh new file mode 100755 index 0000000..2056b81 --- /dev/null +++ b/ipset/get_reestr_ip.sh @@ -0,0 +1,47 @@ +#!/bin/sh + +SCRIPT=$(readlink -f "$0") +EXEDIR=$(dirname "$SCRIPT") + +. "$EXEDIR/def.sh" + +ZREESTR="$TMPDIR/reestr.txt" +#ZURL_REESTR=https://reestr.rublacklist.net/api/current +ZURL_REESTR=https://raw.githubusercontent.com/zapret-info/z-i/master/dump.csv + +getuser + +dig_reestr() +{ + # $1 - grep ipmask + # $2 - iplist + + # 2971-18 is TELEGRAM. lots of proxy IPs banned, list grows very large + grep -av "2971-18" "$ZREESTR" | grep -oE "$1" | cut_local | sort -u | zz "$2" +} + + +# assume all https banned by ip +curl -k --fail --max-time 150 --connect-timeout 5 --retry 3 --max-filesize 251658240 "$ZURL_REESTR" -o "$ZREESTR" || +{ + echo reestr list download failed + exit 2 +} +dlsize=$(wc -c "$ZREESTR" | cut -f 1 -d ' ') +if test $dlsize -lt 1048576; then + echo reestr ip list is too small. can be bad. + exit 2 +fi +#sed -i 's/\\n/\r\n/g' $ZREESTR + +[ "$DISABLE_IPV4" != "1" ] && { + dig_reestr '([0-9]{1,3}\.){3}[0-9]{1,3}(/[0-9]+)?' "$ZIPLIST" +} + +[ "$DISABLE_IPV6" != "1" ] && { + dig_reestr '([0-9,a-f,A-F]{1,4}:){7}[0-9,a-f,A-F]{1,4}(/[0-9]+)?' "$ZIPLIST6" +} + +rm -f "$ZREESTR" + +"$EXEDIR/create_ipset.sh" diff --git a/ipset/get_reestr_resolve.sh b/ipset/get_reestr_resolve.sh new file mode 100755 index 0000000..de7bdc9 --- /dev/null +++ b/ipset/get_reestr_resolve.sh @@ -0,0 +1,54 @@ +#!/bin/sh + +SCRIPT=$(readlink -f "$0") +EXEDIR=$(dirname "$SCRIPT") + +. "$EXEDIR/def.sh" + +ZREESTR="$TMPDIR/zapret.txt" +ZDIG="$TMPDIR/zapret-dig.txt" +ZIPLISTTMP="$TMPDIR/zapret-ip.txt" +#ZURL=https://reestr.rublacklist.net/api/current +ZURL=https://raw.githubusercontent.com/zapret-info/z-i/master/dump.csv + +getuser + +# both disabled +[ "$DISABLE_IPV4" = "1" ] && [ "$DISABLE_IPV6" = "1" ] && exit 0 + +curl -k --fail --max-time 150 --connect-timeout 5 --retry 3 --max-filesize 251658240 "$ZURL" >"$ZREESTR" || +{ + echo reestr list download failed + exit 2 +} +dlsize=$(wc -c "$ZREESTR" | cut -f 1 -d ' ') +if test $dlsize -lt 204800; then + echo list file is too small. can be bad. + exit 2 +fi +echo preparing dig list .. +#sed -i 's/\\n/\r\n/g' $ZREESTR +#sed -nre 's/^[^;]*;([^;|\\]{4,250})\;.*$/\1/p' $ZREESTR | sort | uniq >$ZDIG +cut -f2 -d ';' "$ZREESTR" | grep -avE '^$|\*|:' >"$ZDIG" +rm -f "$ZREESTR" + +echo digging started. this can take long ... + +[ "$DISABLE_IPV4" != "1" ] && { + digger "$ZDIG" 4 | cut_local >"$ZIPLISTTMP" || { + rm -f "$ZDIG" + exit 1 + } + sort -u "$ZIPLISTTMP" | zz "$ZIPLIST" + rm -f "$ZIPLISTTMP" +} +[ "$DISABLE_IPV6" != "1" ] && { + digger "$ZDIG" 6 | cut_local6 >"$ZIPLISTTMP" || { + rm -f "$ZDIG" + exit 1 + } + sort -u "$ZIPLISTTMP" | zz "$ZIPLIST6" + rm -f "$ZIPLISTTMP" +} +rm -f "$ZDIG" +"$EXEDIR/create_ipset.sh" diff --git a/ipset/get_user.sh b/ipset/get_user.sh new file mode 100755 index 0000000..61b2c16 --- /dev/null +++ b/ipset/get_user.sh @@ -0,0 +1,11 @@ +#!/bin/sh +# resolve user host list + +SCRIPT=$(readlink -f "$0") +EXEDIR=$(dirname "$SCRIPT") + +. "$EXEDIR/def.sh" + +getuser + +"$EXEDIR/create_ipset.sh" diff --git a/ipset/zapret-hosts-user-exclude.txt b/ipset/zapret-hosts-user-exclude.txt new file mode 100644 index 0000000..c34ec7f --- /dev/null +++ b/ipset/zapret-hosts-user-exclude.txt @@ -0,0 +1,6 @@ +10.0.0.0/8 +172.16.0.0/12 +192.168.0.0/16 +169.254.0.0/16 +fc00::/7 +fe80::/10 diff --git a/ipset/zapret-hosts-user-ipban.txt b/ipset/zapret-hosts-user-ipban.txt new file mode 100644 index 0000000..a2049ed --- /dev/null +++ b/ipset/zapret-hosts-user-ipban.txt @@ -0,0 +1,2 @@ +kinozal.tv +rutracker.org diff --git a/ipset/zapret-hosts-user.txt b/ipset/zapret-hosts-user.txt new file mode 100644 index 0000000..1162eb8 --- /dev/null +++ b/ipset/zapret-hosts-user.txt @@ -0,0 +1,3 @@ +st.kinozal.tv +s.kinozal.tv +putinhuylo.com diff --git a/mdig/Makefile b/mdig/Makefile new file mode 100644 index 0000000..55a9f9e --- /dev/null +++ b/mdig/Makefile @@ -0,0 +1,12 @@ +CC ?= gcc +CFLAGS += -std=c99 -s -O3 +LIBS = -lpthread +SRC_FILES = *.c + +all: mdig + +mdig: $(SRC_FILES) + $(CC) $(CFLAGS) -o $@ $^ $(LDFLAGS) $(LIBS) + +clean: + rm -f mdig *.o diff --git a/mdig/mdig.c b/mdig/mdig.c new file mode 100644 index 0000000..434a2b0 --- /dev/null +++ b/mdig/mdig.c @@ -0,0 +1,337 @@ +// multi thread dns resolver +// domain list stdout +// errors, verbose >stderr +// transparent for valid ip or ip/subnet of allowed address family + +#define _GNU_SOURCE + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#define RESOLVER_EAGAIN_ATTEMPTS 2 + +static void trimstr(char *s) +{ + char *p; + for (p = s + strlen(s) - 1; p >= s && (*p == '\n' || *p == '\r'); p--) *p = '\0'; +} + +static const char* eai_str(int r) +{ + switch (r) + { + case EAI_NONAME: + return "EAI_NONAME"; + case EAI_AGAIN: + return "EAI_AGAIN"; + case EAI_ADDRFAMILY: + return "EAI_ADDRFAMILY"; + case EAI_BADFLAGS: + return "EAI_BADFLAGS"; + case EAI_FAIL: + return "EAI_FAIL"; + case EAI_MEMORY: + return "EAI_MEMORY"; + case EAI_FAMILY: + return "EAI_FAMILY"; + case EAI_NODATA: + return "EAI_NODATA"; + case EAI_SERVICE: + return "EAI_SERVICE"; + case EAI_SOCKTYPE: + return "EAI_SOCKTYPE"; + case EAI_SYSTEM: + return "EAI_SYSTEM"; + default: + return "UNKNOWN"; + } +} + +#define FAMILY4 1 +#define FAMILY6 2 +static struct +{ + char verbose; + char family; + int threads; + pthread_mutex_t flock; + pthread_mutex_t slock; // stats lock + int stats_every,stats_ct,stats_ct_ok; // stats +} glob; + +// get next domain. return 0 if failure +static char interlocked_get_dom(char *dom, size_t size) +{ + char *s; + pthread_mutex_lock(&glob.flock); + s = fgets(dom, size, stdin); + pthread_mutex_unlock(&glob.flock); + if (!s) return 0; + trimstr(s); + return 1; +} +static void interlocked_fprintf(FILE *stream, const char * format, ...) +{ + va_list args; + va_start(args, format); + pthread_mutex_lock(&glob.flock); + vfprintf(stream, format, args); + pthread_mutex_unlock(&glob.flock); + va_end(args); +} + +#define ELOG(format, ...) interlocked_fprintf(stderr, "[%d] " format "\n", tid, ##__VA_ARGS__) +#define VLOG(format, ...) {if (glob.verbose) ELOG(format, ##__VA_ARGS__);} + +static void print_addrinfo(struct addrinfo *ai) +{ + char str[64]; + while (ai) + { + switch (ai->ai_family) + { + case AF_INET: + if (inet_ntop(ai->ai_family, &((struct sockaddr_in*)ai->ai_addr)->sin_addr, str, sizeof(str))) + interlocked_fprintf(stdout, "%s\n", str); + break; + case AF_INET6: + if (inet_ntop(ai->ai_family, &((struct sockaddr_in6*)ai->ai_addr)->sin6_addr, str, sizeof(str))) + interlocked_fprintf(stdout, "%s\n", str); + break; + } + ai = ai->ai_next; + } +} + +static void stat_print(int ct, int ct_ok) +{ + if (glob.stats_every > 0) + interlocked_fprintf(stderr, "mdig stats : domains=%d success=%d error=%d\n", ct, ct_ok, ct-ct_ok); +} + +static void stat_plus(char is_ok) +{ + int ct,ct_ok; + if (glob.stats_every > 0) + { + pthread_mutex_lock(&glob.slock); + ct = ++glob.stats_ct; + ct_ok = glob.stats_ct_ok+=!!is_ok; + pthread_mutex_unlock(&glob.slock); + + if (!(ct % glob.stats_every)) stat_print(ct,ct_ok); + } +} + +static uint16_t GetAddrFamily(const char *saddr) +{ + struct in_addr a4; + struct in6_addr a6; + + if (inet_pton(AF_INET, saddr, &a4)) + return AF_INET; + else if (inet_pton(AF_INET6, saddr, &a6)) + return AF_INET6; + return 0; +} + +static void *t_resolver(void *arg) +{ + int tid = (int)(size_t)arg; + int i,r; + char dom[256],is_ok; + struct addrinfo hints; + struct addrinfo *result; + + VLOG("started"); + + memset(&hints, 0, sizeof(struct addrinfo)); + hints.ai_family = (glob.family == FAMILY4) ? AF_INET : (glob.family == FAMILY6) ? AF_INET6 : AF_UNSPEC; + hints.ai_socktype = SOCK_DGRAM; + + while (interlocked_get_dom(dom, sizeof(dom))) + { + if (*dom) + { + uint16_t family; + char *s_mask,s_ip[sizeof(dom)]; + + is_ok=0; + + strncpy(s_ip,dom,sizeof(s_ip)); + s_mask=strchr(s_ip,'/'); + if (s_mask) *s_mask++=0; + family=GetAddrFamily(s_ip); + if (family) + { + if (family==AF_INET && (glob.family & FAMILY4) || family==AF_INET6 && (glob.family & FAMILY6)) + { + unsigned int mask; + bool mask_needed=false; + if (s_mask) + { + if (sscanf(s_mask,"%u",&mask)) + { + switch(family) + { + case AF_INET: is_ok=mask<=32; mask_needed=mask<32; break; + case AF_INET6: is_ok=mask<=128; mask_needed=mask<128; break; + } + } + } + else + is_ok = 1; + if (is_ok) + interlocked_fprintf(stdout, mask_needed ? "%s/%u\n" : "%s\n", s_ip, mask); + else + VLOG("bad ip/subnet %s", dom); + } + else + VLOG("wrong address family %s", s_ip); + } + else + { + VLOG("resolving %s", dom); + for (i = 0; i < RESOLVER_EAGAIN_ATTEMPTS; i++) + { + if (r = getaddrinfo(dom, NULL, &hints, &result)) + { + VLOG("failed to resolve %s : result %d (%s)", dom, r, eai_str(r)); + if (r == EAI_AGAIN) continue; // temporary failure. should retry + } + else + { + print_addrinfo(result); + freeaddrinfo(result); + is_ok=1; + } + break; + } + } + stat_plus(is_ok); + } + } + VLOG("ended"); + return NULL; +} + +static int run_threads() +{ + int i, thread; + pthread_t *t; + + glob.stats_ct=glob.stats_ct_ok=0; + if (pthread_mutex_init(&glob.flock, NULL) != 0) + { + fprintf(stderr, "mutex init failed\n"); + return 10; + } + if (pthread_mutex_init(&glob.slock, NULL) != 0) + { + fprintf(stderr, "mutex init failed\n"); + pthread_mutex_destroy(&glob.flock); + return 10; + } + t = (pthread_t*)malloc(sizeof(pthread_t)*glob.threads); + if (!t) + { + fprintf(stderr, "out of memory\n"); + pthread_mutex_destroy(&glob.slock); + pthread_mutex_destroy(&glob.flock); + return 11; + } + for (thread = 0; thread < glob.threads; thread++) + { + if (pthread_create(t + thread, NULL, t_resolver, (void*)(size_t)thread)) + { + interlocked_fprintf(stderr, "failed to create thread #%d\n", thread); + break; + } + } + for (i = 0; i < thread; i++) + { + pthread_join(t[i], NULL); + } + free(t); + stat_print(glob.stats_ct,glob.stats_ct_ok); + pthread_mutex_destroy(&glob.slock); + pthread_mutex_destroy(&glob.flock); + return thread ? 0 : 12; +} + +static void exithelp() +{ + printf( + " --threads=\n" + " --family=<4|6|46>\t; ipv4, ipv6, ipv4+ipv6\n" + " --verbose\t\t; print query progress to stderr\n" + " --stats=N\t\t; print resolve stats to stderr every N domains\n" + ); + exit(1); +} +int main(int argc, char **argv) +{ + int ret, v, option_index = 0; + + static const struct option long_options[] = { + {"threads",required_argument,0,0}, // optidx=0 + {"family",required_argument,0,0}, // optidx=1 + {"verbose",no_argument,0,0}, // optidx=2 + {"stats",required_argument,0,0}, // optidx=3 + {"help",no_argument,0,0}, // optidx=4 + {NULL,0,NULL,0} + }; + + memset(&glob, 0, sizeof(glob)); + glob.family = FAMILY4; + glob.threads = 1; + while ((v = getopt_long_only(argc, argv, "", long_options, &option_index)) != -1) + { + if (v) exithelp(); + switch (option_index) + { + case 0: /* threads */ + glob.threads = optarg ? atoi(optarg) : 0; + if (glob.threads <= 0 || glob.threads > 100) + { + fprintf(stderr, "thread number must be within 1..100\n"); + return 1; + } + break; + case 1: /* family */ + if (!strcmp(optarg, "4")) + glob.family = FAMILY4; + else if (!strcmp(optarg, "6")) + glob.family = FAMILY6; + else if (!strcmp(optarg, "46")) + glob.family = FAMILY4 | FAMILY6; + else + { + fprintf(stderr, "ip family must be 4,6 or 46\n"); + return 1;; + } + break; + case 2: /* verbose */ + glob.verbose = '\1'; + break; + glob.threads = optarg ? atoi(optarg) : 0; + case 3: /* stats */ + glob.stats_every = optarg ? atoi(optarg) : 0; + break; + case 4: /* help */ + exithelp(); + break; + } + } + return run_threads(); +} diff --git a/nfq/Makefile b/nfq/Makefile new file mode 100644 index 0000000..a138ba7 --- /dev/null +++ b/nfq/Makefile @@ -0,0 +1,12 @@ +CC ?= gcc +CFLAGS += -std=c99 -s -O3 +LIBS = -lnetfilter_queue -lnfnetlink -lcap -lz +SRC_FILES = *.c + +all: nfqws + +nfqws: $(SRC_FILES) + $(CC) $(CFLAGS) -o $@ $^ $(LDFLAGS) $(LIBS) + +clean: + rm -f nfqws *.o diff --git a/nfq/darkmagic.c b/nfq/darkmagic.c new file mode 100644 index 0000000..f6107d6 --- /dev/null +++ b/nfq/darkmagic.c @@ -0,0 +1,312 @@ +#define _GNU_SOURCE +#include "darkmagic.h" +#include +#include +#include +#include + +uint16_t tcp_checksum(const void *buff, int len, in_addr_t src_addr, in_addr_t dest_addr) +{ + const uint16_t *buf=buff; + uint16_t *ip_src=(uint16_t *)&src_addr, *ip_dst=(uint16_t *)&dest_addr; + uint32_t sum; + int length=len; + + // Calculate the sum + sum = 0; + while (len > 1) + { + sum += *buf++; + if (sum & 0x80000000) + sum = (sum & 0xFFFF) + (sum >> 16); + len -= 2; + } + if ( len & 1 ) + { + // Add the padding if the packet lenght is odd + uint16_t v=0; + *(uint8_t *)&v = *((uint8_t *)buf); + sum += v; + } + + // Add the pseudo-header + sum += *(ip_src++); + sum += *ip_src; + sum += *(ip_dst++); + sum += *ip_dst; + sum += htons(IPPROTO_TCP); + sum += htons(length); + + // Add the carries + while (sum >> 16) + sum = (sum & 0xFFFF) + (sum >> 16); + + // Return the one's complement of sum + return (uint16_t)(~sum); +} +void tcp_fix_checksum(struct tcphdr *tcp,int len, in_addr_t src_addr, in_addr_t dest_addr) +{ + tcp->check = 0; + tcp->check = tcp_checksum(tcp,len,src_addr,dest_addr); +} +uint16_t tcp6_checksum(const void *buff, int len, const struct in6_addr *src_addr, const struct in6_addr *dest_addr) +{ + const uint16_t *buf=buff; + const uint16_t *ip_src=(uint16_t *)src_addr, *ip_dst=(uint16_t *)dest_addr; + uint32_t sum; + int length=len; + + // Calculate the sum + sum = 0; + while (len > 1) + { + sum += *buf++; + if (sum & 0x80000000) + sum = (sum & 0xFFFF) + (sum >> 16); + len -= 2; + } + if ( len & 1 ) + { + // Add the padding if the packet lenght is odd + uint16_t v=0; + *(uint8_t *)&v = *((uint8_t *)buf); + sum += v; + } + + // Add the pseudo-header + sum += *(ip_src++); + sum += *(ip_src++); + sum += *(ip_src++); + sum += *(ip_src++); + sum += *(ip_src++); + sum += *(ip_src++); + sum += *(ip_src++); + sum += *ip_src; + sum += *(ip_dst++); + sum += *(ip_dst++); + sum += *(ip_dst++); + sum += *(ip_dst++); + sum += *(ip_dst++); + sum += *(ip_dst++); + sum += *(ip_dst++); + sum += *ip_dst; + sum += htons(IPPROTO_TCP); + sum += htons(length); + + // Add the carries + while (sum >> 16) + sum = (sum & 0xFFFF) + (sum >> 16); + + // Return the one's complement of sum + return (uint16_t)(~sum); +} +void tcp6_fix_checksum(struct tcphdr *tcp,int len, const struct in6_addr *src_addr, const struct in6_addr *dest_addr) +{ + tcp->check = 0; + tcp->check = tcp6_checksum(tcp,len,src_addr,dest_addr); +} + + + +static void fill_tcphdr(struct tcphdr *tcp, uint8_t tcp_flags, uint32_t seq, uint32_t ack_seq, enum tcp_fooling_mode fooling, uint16_t nsport, uint16_t ndport) +{ + char *tcpopt = (char*)(tcp+1); + memset(tcp,0,sizeof(*tcp)); + tcp->source = nsport; + tcp->dest = ndport; + tcp->seq = seq; + tcp->ack_seq = ack_seq; + tcp->doff = 5; + *((uint8_t*)tcp+13)= tcp_flags; + tcp->window = htons(65535); + if (fooling==TCP_FOOL_MD5SIG) + { + tcp->doff += 5; // +20 bytes + tcpopt[0] = 19; // kind + tcpopt[1] = 18; // len + *(uint32_t*)(tcpopt+2)=random(); + *(uint32_t*)(tcpopt+6)=random(); + *(uint32_t*)(tcpopt+10)=random(); + *(uint32_t*)(tcpopt+14)=random(); + tcpopt[18] = 0; // end + tcpopt[19] = 0; + } +} + +static int rawsend_sock=-1; +void rawsend_cleanup() +{ + if (rawsend_sock!=-1) + { + close(rawsend_sock); + rawsend_sock=-1; + } +} +static void rawsend_socket(int family,uint32_t fwmark) +{ + if (rawsend_sock==-1) + { + int yes=1,pri=6; + rawsend_sock = socket(family, SOCK_RAW, IPPROTO_RAW); + if (rawsend_sock==-1) + perror("rawsend: socket()"); + else if (setsockopt(rawsend_sock, SOL_SOCKET, SO_MARK, &fwmark, sizeof(fwmark)) == -1) + { + perror("rawsend: setsockopt(SO_MARK)"); + rawsend_cleanup(); + } + else if (setsockopt(rawsend_sock, SOL_SOCKET, SO_PRIORITY, &pri, sizeof(pri)) == -1) + { + perror("rawsend: setsockopt(SO_PRIORITY)"); + rawsend_cleanup(); + } + } +} +bool rawsend(struct sockaddr* dst,uint32_t fwmark,const void *data,size_t len) +{ + rawsend_socket(dst->sa_family,fwmark); + if (rawsend_sock==-1) return false; + + int salen = dst->sa_family == AF_INET ? sizeof(struct sockaddr_in) : sizeof(struct sockaddr_in6); + struct sockaddr_storage dst2; + memcpy(&dst2,dst,salen); + if (dst->sa_family==AF_INET6) + ((struct sockaddr_in6 *)&dst2)->sin6_port = 0; // or will be EINVAL + + int bytes = sendto(rawsend_sock, data, len, 0, (struct sockaddr*)&dst2, salen); + if (bytes==-1) + { + perror("rawsend: sendto"); + return false; + } + return true; +} +bool prepare_tcp_segment4( + const struct sockaddr_in *src, const struct sockaddr_in *dst, + uint8_t tcp_flags, + uint32_t seq, uint32_t ack_seq, + uint8_t ttl, + enum tcp_fooling_mode fooling, + const void *data, uint16_t len, + char *buf, size_t *buflen) +{ + uint16_t tcpoptlen = 0; + if (fooling==TCP_FOOL_MD5SIG) tcpoptlen=20; + uint16_t pktlen = sizeof(struct iphdr) + sizeof(struct tcphdr) + tcpoptlen + len; + if (pktlen>*buflen) + { + fprintf(stderr,"prepare_tcp_segment : packet len cannot exceed %zu\n",*buflen); + return false; + } + + struct iphdr *ip = (struct iphdr*) buf; + struct tcphdr *tcp = (struct tcphdr*) (ip+1); + + ip->frag_off = 0; + ip->version = 4; + ip->ihl = 5; + ip->tot_len = htons(pktlen); + ip->id = 0; + ip->ttl = ttl; + ip->protocol = IPPROTO_TCP; + ip->saddr = src->sin_addr.s_addr; + ip->daddr = dst->sin_addr.s_addr; + + fill_tcphdr(tcp,tcp_flags,seq,ack_seq,fooling,src->sin_port,dst->sin_port); + + memcpy((char*)tcp+sizeof(struct tcphdr)+tcpoptlen,data,len); + tcp_fix_checksum(tcp,sizeof(struct tcphdr)+tcpoptlen+len,ip->saddr,ip->daddr); + if (fooling==TCP_FOOL_BADSUM) tcp->check^=0xBEAF; + + *buflen = pktlen; + return true; +} + + +bool prepare_tcp_segment6( + const struct sockaddr_in6 *src, const struct sockaddr_in6 *dst, + uint8_t tcp_flags, + uint32_t seq, uint32_t ack_seq, + uint8_t ttl, + enum tcp_fooling_mode fooling, + const void *data, uint16_t len, + char *buf, size_t *buflen) +{ + uint16_t tcpoptlen = 0; + if (fooling==TCP_FOOL_MD5SIG) tcpoptlen=20; + uint16_t payloadlen = sizeof(struct tcphdr) + tcpoptlen + len; + uint16_t pktlen = sizeof(struct ip6_hdr) + payloadlen; + if (pktlen>*buflen) + { + fprintf(stderr,"prepare_tcp_segment : packet len cannot exceed %zu\n",*buflen); + return false; + } + + struct ip6_hdr *ip6 = (struct ip6_hdr*) buf; + struct tcphdr *tcp = (struct tcphdr*) (ip6+1); + + ip6->ip6_ctlun.ip6_un1.ip6_un1_flow = htonl(0x60000000); + ip6->ip6_ctlun.ip6_un1.ip6_un1_plen = htons(payloadlen); + ip6->ip6_ctlun.ip6_un1.ip6_un1_nxt = IPPROTO_TCP; + ip6->ip6_ctlun.ip6_un1.ip6_un1_hlim = ttl; + ip6->ip6_src = src->sin6_addr; + ip6->ip6_dst = dst->sin6_addr; + + fill_tcphdr(tcp,tcp_flags,seq,ack_seq,fooling,src->sin6_port,dst->sin6_port); + + memcpy((char*)tcp+sizeof(struct tcphdr)+tcpoptlen,data,len); + tcp6_fix_checksum(tcp,sizeof(struct tcphdr)+tcpoptlen+len,&ip6->ip6_src,&ip6->ip6_dst); + if (fooling==TCP_FOOL_BADSUM) tcp->check^=0xBEAF; + + *buflen = pktlen; + return true; +} + +bool prepare_tcp_segment( + const struct sockaddr *src, const struct sockaddr *dst, + uint8_t tcp_flags, + uint32_t seq, uint32_t ack_seq, + uint8_t ttl, + enum tcp_fooling_mode fooling, + const void *data, uint16_t len, + char *buf, size_t *buflen) +{ + return (src->sa_family==AF_INET && dst->sa_family==AF_INET) ? + prepare_tcp_segment4((struct sockaddr_in *)src,(struct sockaddr_in *)dst,tcp_flags,seq,ack_seq,ttl,fooling,data,len,buf,buflen) : + (src->sa_family==AF_INET6 && dst->sa_family==AF_INET6) ? + prepare_tcp_segment6((struct sockaddr_in6 *)src,(struct sockaddr_in6 *)dst,tcp_flags,seq,ack_seq,ttl,fooling,data,len,buf,buflen) : + false; +} + + +void extract_endpoints(const struct iphdr *iphdr,const struct ip6_hdr *ip6hdr,const struct tcphdr *tcphdr, struct sockaddr_storage *src, struct sockaddr_storage *dst) +{ + if (iphdr) + { + struct sockaddr_in *si = (struct sockaddr_in*)dst; + si->sin_family = AF_INET; + si->sin_port = tcphdr->dest; + si->sin_addr.s_addr = iphdr->daddr; + + si = (struct sockaddr_in*)src; + si->sin_family = AF_INET; + si->sin_port = tcphdr->source; + si->sin_addr.s_addr = iphdr->saddr; + } + else if (ip6hdr) + { + struct sockaddr_in6 *si = (struct sockaddr_in6*)dst; + si->sin6_family = AF_INET6; + si->sin6_port = tcphdr->dest; + si->sin6_addr = ip6hdr->ip6_dst; + si->sin6_flowinfo = 0; + si->sin6_scope_id = 0; + + si = (struct sockaddr_in6*)src; + si->sin6_family = AF_INET6; + si->sin6_port = tcphdr->source; + si->sin6_addr = ip6hdr->ip6_src; + si->sin6_flowinfo = 0; + si->sin6_scope_id = 0; + } +} diff --git a/nfq/darkmagic.h b/nfq/darkmagic.h new file mode 100644 index 0000000..d9dbe98 --- /dev/null +++ b/nfq/darkmagic.h @@ -0,0 +1,51 @@ +#pragma once + +#include +#include +#include +#include +#include +#include +#include + +uint16_t tcp_checksum(const void *buff, int len, in_addr_t src_addr, in_addr_t dest_addr); +void tcp_fix_checksum(struct tcphdr *tcp,int len, in_addr_t src_addr, in_addr_t dest_addr); +uint16_t tcp6_checksum(const void *buff, int len, const struct in6_addr *src_addr, const struct in6_addr *dest_addr); +void tcp6_fix_checksum(struct tcphdr *tcp,int len, const struct in6_addr *src_addr, const struct in6_addr *dest_addr); + +enum tcp_fooling_mode { + TCP_FOOL_NONE=0, + TCP_FOOL_MD5SIG=1, + TCP_FOOL_BADSUM=2 +}; +bool prepare_tcp_segment4( + const struct sockaddr_in *src, const struct sockaddr_in *dst, + uint8_t tcp_flags, + uint32_t seq, uint32_t ack_seq, + uint8_t ttl, + enum tcp_fooling_mode fooling, + const void *data, uint16_t len, + char *buf, size_t *buflen); +bool prepare_tcp_segment6( + const struct sockaddr_in6 *src, const struct sockaddr_in6 *dst, + uint8_t tcp_flags, + uint32_t seq, uint32_t ack_seq, + uint8_t ttl, + enum tcp_fooling_mode fooling, + const void *data, uint16_t len, + char *buf, size_t *buflen); +bool prepare_tcp_segment( + const struct sockaddr *src, const struct sockaddr *dst, + uint8_t tcp_flags, + uint32_t seq, uint32_t ack_seq, + uint8_t ttl, + enum tcp_fooling_mode fooling, + const void *data, uint16_t len, + char *buf, size_t *buflen); + +void extract_endpoints(const struct iphdr *iphdr,const struct ip6_hdr *ip6hdr,const struct tcphdr *tcphdr, struct sockaddr_storage *src, struct sockaddr_storage *dst); + +// auto creates internal socket and uses it for subsequent calls +bool rawsend(struct sockaddr* dst,uint32_t fwmark,const void *data,size_t len); +// cleans up socket autocreated by rawsend +void rawsend_cleanup(); diff --git a/nfq/gzip.c b/nfq/gzip.c new file mode 100644 index 0000000..d536b23 --- /dev/null +++ b/nfq/gzip.c @@ -0,0 +1,82 @@ +#include +#include +#include +#include "gzip.h" + +#define ZCHUNK 16384 +#define BUFMIN 128 +#define BUFCHUNK (1024*128) + +int z_readfile(FILE *F,char **buf,size_t *size) +{ + z_stream zs; + int r; + unsigned char in[ZCHUNK]; + size_t bufsize; + void *newbuf; + + memset(&zs,0,sizeof(zs)); + + *buf = NULL; + bufsize=*size=0; + + r=inflateInit2(&zs,47); + if (r != Z_OK) return r; + + do + { + zs.avail_in = fread(in, 1, sizeof(in), F); + if (ferror(F)) + { + r = Z_ERRNO; + goto zerr; + } + if (!zs.avail_in) break; + zs.next_in = in; + do + { + if ((bufsize-*size) +#include +#include + +int z_readfile(FILE *F,char **buf,size_t *size); +bool is_gzip(FILE* F); diff --git a/nfq/hostlist.c b/nfq/hostlist.c new file mode 100644 index 0000000..b4136d2 --- /dev/null +++ b/nfq/hostlist.c @@ -0,0 +1,112 @@ +#include +#include "hostlist.h" +#include "gzip.h" + + +static bool addpool(strpool **hostlist, char **s, char *end) +{ + char *p; + + // advance until eol lowering all chars + for (p = *s; p +#include "strpool.h" + +bool LoadHostList(strpool **hostlist, char *filename); +bool SearchHostList(strpool *hostlist, const char *host,bool debug); diff --git a/nfq/nfqws.c b/nfq/nfqws.c new file mode 100644 index 0000000..11bceb1 --- /dev/null +++ b/nfq/nfqws.c @@ -0,0 +1,1041 @@ +#define _GNU_SOURCE +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "darkmagic.h" +#include "hostlist.h" +#include "sec.h" + +#define NF_DROP 0 +#define NF_ACCEPT 1 + + +#define Q_RCVBUF (128*1024) // in bytes +#define Q_MAXLEN 1024 // in packets +#define DPI_DESYNC_FWMARK_DEFAULT 0x40000000 + + +static const char fake_http_request[] = "GET / HTTP/1.1\r\nHost: www.w3.org\r\n" + "User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:70.0) Gecko/20100101 Firefox/70.0\r\n" + "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\r\n" + "Accept-Encoding: gzip, deflate\r\n\r\n"; +static const uint8_t fake_https_request[] = { + 0x16, 0x03, 0x01, 0x02, 0x00, 0x01, 0x00, 0x01, 0xfc, 0x03, 0x03, 0x9a, 0x8f, 0xa7, 0x6a, 0x5d, + 0x57, 0xf3, 0x62, 0x19, 0xbe, 0x46, 0x82, 0x45, 0xe2, 0x59, 0x5c, 0xb4, 0x48, 0x31, 0x12, 0x15, + 0x14, 0x79, 0x2c, 0xaa, 0xcd, 0xea, 0xda, 0xf0, 0xe1, 0xfd, 0xbb, 0x20, 0xf4, 0x83, 0x2a, 0x94, + 0xf1, 0x48, 0x3b, 0x9d, 0xb6, 0x74, 0xba, 0x3c, 0x81, 0x63, 0xbc, 0x18, 0xcc, 0x14, 0x45, 0x57, + 0x6c, 0x80, 0xf9, 0x25, 0xcf, 0x9c, 0x86, 0x60, 0x50, 0x31, 0x2e, 0xe9, 0x00, 0x22, 0x13, 0x01, + 0x13, 0x03, 0x13, 0x02, 0xc0, 0x2b, 0xc0, 0x2f, 0xcc, 0xa9, 0xcc, 0xa8, 0xc0, 0x2c, 0xc0, 0x30, + 0xc0, 0x0a, 0xc0, 0x09, 0xc0, 0x13, 0xc0, 0x14, 0x00, 0x33, 0x00, 0x39, 0x00, 0x2f, 0x00, 0x35, + 0x01, 0x00, 0x01, 0x91, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x0d, 0x00, 0x00, 0x0a, 0x77, 0x77, 0x77, + 0x2e, 0x77, 0x33, 0x2e, 0x6f, 0x72, 0x67, 0x00, 0x17, 0x00, 0x00, 0xff, 0x01, 0x00, 0x01, 0x00, + 0x00, 0x0a, 0x00, 0x0e, 0x00, 0x0c, 0x00, 0x1d, 0x00, 0x17, 0x00, 0x18, 0x00, 0x19, 0x01, 0x00, + 0x01, 0x01, 0x00, 0x0b, 0x00, 0x02, 0x01, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x10, 0x00, 0x0e, + 0x00, 0x0c, 0x02, 0x68, 0x32, 0x08, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x31, 0x2e, 0x31, 0x00, 0x05, + 0x00, 0x05, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x33, 0x00, 0x6b, 0x00, 0x69, 0x00, 0x1d, 0x00, + 0x20, 0xb0, 0xe4, 0xda, 0x34, 0xb4, 0x29, 0x8d, 0xd3, 0x5c, 0x70, 0xd3, 0xbe, 0xe8, 0xa7, 0x2a, + 0x6b, 0xe4, 0x11, 0x19, 0x8b, 0x18, 0x9d, 0x83, 0x9a, 0x49, 0x7c, 0x83, 0x7f, 0xa9, 0x03, 0x8c, + 0x3c, 0x00, 0x17, 0x00, 0x41, 0x04, 0x4c, 0x04, 0xa4, 0x71, 0x4c, 0x49, 0x75, 0x55, 0xd1, 0x18, + 0x1e, 0x22, 0x62, 0x19, 0x53, 0x00, 0xde, 0x74, 0x2f, 0xb3, 0xde, 0x13, 0x54, 0xe6, 0x78, 0x07, + 0x94, 0x55, 0x0e, 0xb2, 0x6c, 0xb0, 0x03, 0xee, 0x79, 0xa9, 0x96, 0x1e, 0x0e, 0x98, 0x17, 0x78, + 0x24, 0x44, 0x0c, 0x88, 0x80, 0x06, 0x8b, 0xd4, 0x80, 0xbf, 0x67, 0x7c, 0x37, 0x6a, 0x5b, 0x46, + 0x4c, 0xa7, 0x98, 0x6f, 0xb9, 0x22, 0x00, 0x2b, 0x00, 0x09, 0x08, 0x03, 0x04, 0x03, 0x03, 0x03, + 0x02, 0x03, 0x01, 0x00, 0x0d, 0x00, 0x18, 0x00, 0x16, 0x04, 0x03, 0x05, 0x03, 0x06, 0x03, 0x08, + 0x04, 0x08, 0x05, 0x08, 0x06, 0x04, 0x01, 0x05, 0x01, 0x06, 0x01, 0x02, 0x03, 0x02, 0x01, 0x00, + 0x2d, 0x00, 0x02, 0x01, 0x01, 0x00, 0x1c, 0x00, 0x02, 0x40, 0x01, 0x00, 0x15, 0x00, 0x96, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00 +}; + + +static uint8_t zeropkt[1500]; + + +enum dpi_desync_mode { + DESYNC_NONE=0, + DESYNC_FAKE, + DESYNC_RST, + DESYNC_RSTACK, + DESYNC_DISORDER +}; + + +struct params_s +{ + bool debug; + int wsize; + int qnum; + bool hostcase, hostnospace; + char hostspell[4]; + enum dpi_desync_mode desync_mode; + bool desync_retrans,desync_skip_nosni; + int desync_split_pos; + uint8_t desync_ttl; + enum tcp_fooling_mode desync_tcp_fooling_mode; + uint32_t desync_fwmark; + char hostfile[256]; + strpool *hostlist; +}; + +static struct params_s params; + +#define DLOG(format, ...) {if (params.debug) printf(format, ##__VA_ARGS__);} + + +static bool bHup = false; +static void onhup(int sig) +{ + printf("HUP received !\n"); + if (params.hostlist) + printf("Will reload hostlist on next request\n"); + bHup = true; +} +// should be called in normal execution +static void dohup() +{ + if (bHup) + { + if (params.hostlist) + { + if (!LoadHostList(¶ms.hostlist, params.hostfile)) + { + // what will we do without hostlist ?? sure, gonna die + exit(1); + } + } + bHup = false; + } +} + + +static const uint8_t *find_bin_const(const uint8_t *data, size_t len, const void *blk, size_t blk_len) +{ + while (len >= blk_len) + { + if (!memcmp(data, blk, blk_len)) + return data; + data++; + len--; + } + return NULL; +} +static uint8_t *find_bin(uint8_t *data, size_t len, const void *blk, size_t blk_len) +{ + while (len >= blk_len) + { + if (!memcmp(data, blk, blk_len)) + return data; + data++; + len--; + } + return NULL; +} + + +static void print_sockaddr(const struct sockaddr *sa) +{ + char str[64]; + switch (sa->sa_family) + { + case AF_INET: + if (inet_ntop(sa->sa_family, &((struct sockaddr_in*)sa)->sin_addr, str, sizeof(str))) + printf("%s:%d", str, ntohs(((struct sockaddr_in*)sa)->sin_port)); + break; + case AF_INET6: + if (inet_ntop(sa->sa_family, &((struct sockaddr_in6*)sa)->sin6_addr, str, sizeof(str))) + printf("%s:%d", str, ntohs(((struct sockaddr_in6*)sa)->sin6_port)); + break; + default: + printf("UNKNOWN_FAMILY_%d", sa->sa_family); + } +} + + +static bool proto_check_ipv4(uint8_t *data, size_t len) +{ + return len >= 20 && (data[0] & 0xF0) == 0x40 && + len >= ((data[0] & 0x0F) << 2); +} +// move to transport protocol +static void proto_skip_ipv4(uint8_t **data, size_t *len) +{ + size_t l; + + l = (**data & 0x0F) << 2; + *data += l; + *len -= l; +} +static bool proto_check_tcp(uint8_t *data, size_t len) +{ + return len >= 20 && len >= ((data[12] & 0xF0) >> 2); +} +static void proto_skip_tcp(uint8_t **data, size_t *len) +{ + size_t l; + l = ((*data)[12] & 0xF0) >> 2; + *data += l; + *len -= l; +} + +static bool proto_check_ipv6(uint8_t *data, size_t len) +{ + return len >= 40 && (data[0] & 0xF0) == 0x60 && + (len - 40) >= htons(*(uint16_t*)(data + 4)); // payload length +} +// move to transport protocol +// proto_type = 0 => error +static void proto_skip_ipv6(uint8_t **data, size_t *len, uint8_t *proto_type) +{ + size_t hdrlen; + uint8_t HeaderType; + + *proto_type = 0; // put error in advance + + HeaderType = (*data)[6]; // NextHeader field + *data += 40; *len -= 40; // skip ipv6 base header + while (*len > 0) // need at least one byte for NextHeader field + { + switch (HeaderType) + { + case 0: // Hop-by-Hop Options + case 60: // Destination Options + case 43: // routing + if (*len < 2) return; // error + hdrlen = 8 + ((*data)[1] << 3); + break; + case 44: // fragment + hdrlen = 8; + break; + case 59: // no next header + return; // error + default: + // we found some meaningful payload. it can be tcp, udp, icmp or some another exotic shit + *proto_type = HeaderType; + return; + } + if (*len < hdrlen) return; // error + HeaderType = **data; + // advance to the next header location + *len -= hdrlen; + *data += hdrlen; + } + // we have garbage +} + +static inline bool tcp_synack_segment(const struct tcphdr *tcphdr) +{ + /* check for set bits in TCP hdr */ + return tcphdr->urg == 0 && + tcphdr->ack == 1 && + tcphdr->psh == 0 && + tcphdr->rst == 0 && + tcphdr->syn == 1 && + tcphdr->fin == 0; +} +static inline bool tcp_ack_segment(const struct tcphdr *tcphdr) +{ + /* check for set bits in TCP hdr */ + return tcphdr->urg == 0 && + tcphdr->ack == 1 && + tcphdr->rst == 0 && + tcphdr->syn == 0 && + tcphdr->fin == 0; +} + + +static void tcp_rewrite_winsize(struct tcphdr *tcp, uint16_t winsize) +{ + uint16_t winsize_old; + /* + uint8_t scale_factor=1; + int optlen = (tcp->doff << 2); + uint8_t *opt = (uint8_t*)(tcp+1); + + optlen = optlen>sizeof(struct tcphdr) ? optlen-sizeof(struct tcphdr) : 0; + printf("optslen=%d\n",optlen); + while (optlen) + { + switch(*opt) + { + case 0: break; // end of option list; + case 1: opt++; optlen--; break; // noop + default: + if (optlen<2 || optlen=3) + { + scale_factor=opt[2]; + printf("Found scale factor %u\n",opt[2]); + //opt[2]=0; + } + optlen-=opt[1]; + opt+=opt[1]; + } + } + */ + winsize_old = htons(tcp->window); // << scale_factor; + tcp->window = htons(winsize); + DLOG("Window size change %u => %u\n", winsize_old, winsize) +} + + + +static const char *http_methods[] = { "GET /","POST /","HEAD /","OPTIONS /","PUT /","DELETE /","CONNECT /","TRACE /",NULL }; +static bool IsHttp(const char *data, size_t len) +{ + const char **method; + size_t method_len; + for (method = http_methods; *method; method++) + { + method_len = strlen(*method); + if (method_len <= len && !memcmp(data, *method, method_len)) + return true; + } + return false; +} +static bool HttpExtractHost(const uint8_t *data, size_t len, char *host, size_t len_host) +{ + const uint8_t *p, *s, *e=data+len; + + p = find_bin_const(data, len, "\nHost:", 6); + if (!p) return false; + p+=6; + while(pp) + { + size_t slen = s-p; + if (host && len_host) + { + if (slen>=len_host) slen=len_host-1; + for(size_t i=0;i=6 && data[0]==0x16 && data[1]==0x03 && data[2]==0x01 && data[5]==0x01 && (ntohs(*(uint16_t*)(data+3))+5)<=len; +} +static bool TLSFindExt(const uint8_t *data, size_t len, uint16_t type, const uint8_t **ext, size_t *len_ext) +{ + // +0 + // u8 ContentType: Handshake + // u16 Version: TLS1.0 + // u16 Length + // +5 + // u8 HandshakeType: ClientHello + // u24 Length + // u16 Version + // c[32] random + // u8 SessionIDLength + // + // u16 CipherSuitesLength + // + // u8 CompressionMethodsLength + // + // u16 ExtensionsLength + + size_t l,ll; + + l = 1+2+2+1+3+2+32; + // SessionIDLength + if (len<(l+1)) return false; + ll = data[6]<<16 | data[7]<<8 | data[8]; // HandshakeProtocol length + if (len<(ll+9)) return false; + l += data[l]+1; + // CipherSuitesLength + if (len<(l+2)) return false; + l += ntohs(*(uint16_t*)(data+l))+2; + // CompressionMethodsLength + if (len<(l+1)) return false; + l += data[l]+1; + // ExtensionsLength + if (len<(l+2)) return false; + + data+=l; len-=l; + l=ntohs(*(uint16_t*)data); + data+=2; len-=2; + if (l=4) + { + uint16_t etype=*(uint16_t*)data; + size_t elen=ntohs(*(uint16_t*)(data+2)); + data+=4; l-=4; + if (l=len_host) slen=len_host-1; + for(size_t i=0;i %c%c%c%c:\n", params.hostspell[0], params.hostspell[1], params.hostspell[2], params.hostspell[3]) + memcpy(phost + 2, params.hostspell, 4); + bRet = true; + } + if (params.hostnospace && (pua = find_bin(data, len, "\r\nUser-Agent: ", 14)) && (pua = find_bin(pua + 1, len - (pua - data) - 1, "\r\n", 2))) + { + DLOG("removing space after Host: and adding it to User-Agent:\n") + if (pua > phost) + { + memmove(phost + 7, phost + 8, pua - phost - 8); + phost[pua - phost - 1] = ' '; + } + else + { + memmove(pua + 1, pua, phost - pua + 7); + *pua = ' '; + } + bRet = true; + } + } + return bRet; +} + + + +// result : true - drop original packet, false = dont drop +static bool dpi_desync_packet(const uint8_t *data_pkt, size_t len_pkt, const struct iphdr *iphdr, const struct ip6_hdr *ip6hdr, const struct tcphdr *tcphdr, const uint8_t *data_payload, size_t len_payload) +{ + if (!!iphdr == !!ip6hdr) return false; // one and only one must be present + + if (!tcphdr->syn && len_payload) + { + struct sockaddr_storage src, dst; + const uint8_t *fake; + size_t fake_size; + char host[256]; + bool bHaveHost=false; + + if (IsHttp(data_payload,len_payload)) + { + DLOG("packet contains HTTP request\n") + fake = (uint8_t*)fake_http_request; + fake_size = sizeof(fake_http_request); + if (params.hostlist || params.debug) bHaveHost=HttpExtractHost(data_payload,len_payload,host,sizeof(host)); + } + else if (IsTLSClientHello(data_payload,len_payload)) + { + DLOG("packet contains TLS ClientHello\n") + fake = (uint8_t*)fake_https_request; + fake_size = sizeof(fake_https_request); + if (params.hostlist || params.desync_skip_nosni || params.debug) + { + bHaveHost=TLSHelloExtractHost(data_payload,len_payload,host,sizeof(host)); + if (params.desync_skip_nosni && !bHaveHost) + { + DLOG("Not applying dpi-desync to TLS ClientHello without hostname in the SNI\n") + return false; + } + } + + } + else + return false; + + if (bHaveHost) + { + DLOG("hostname: %s\n",host) + if (params.hostlist && !SearchHostList(params.hostlist,host,params.debug)) + { + DLOG("Not applying dpi-desync to this request\n") + return false; + } + } + + extract_endpoints(iphdr, ip6hdr, tcphdr, &src, &dst); + if (params.debug) + { + printf("dpi desync src="); + print_sockaddr((struct sockaddr *)&src); + printf(" dst="); + print_sockaddr((struct sockaddr *)&dst); + printf("\n"); + } + + uint8_t newdata[1600]; + size_t newlen = sizeof(newdata); + uint8_t ttl_orig = iphdr ? iphdr->ttl : ip6hdr->ip6_ctlun.ip6_un1.ip6_un1_hlim; + uint8_t ttl_fake = params.desync_ttl ? params.desync_ttl : ttl_orig; + uint8_t flags_orig = *((uint8_t*)tcphdr+13); + + switch(params.desync_mode) + { + case DESYNC_FAKE: + if (!prepare_tcp_segment((struct sockaddr *)&src, (struct sockaddr *)&dst, flags_orig, tcphdr->seq, tcphdr->ack_seq, + ttl_fake,params.desync_tcp_fooling_mode, + fake, fake_size, newdata, &newlen)) + { + return false; + } + break; + case DESYNC_RST: + case DESYNC_RSTACK: + if (!prepare_tcp_segment((struct sockaddr *)&src, (struct sockaddr *)&dst, TH_RST | (params.desync_mode==DESYNC_RSTACK ? TH_ACK:0), tcphdr->seq, tcphdr->ack_seq, + ttl_fake,params.desync_tcp_fooling_mode, + NULL, 0, newdata, &newlen)) + { + return false; + } + break; + case DESYNC_DISORDER: + { + size_t split_pos=len_payload>params.desync_split_pos ? params.desync_split_pos : 1; + uint8_t fakeseg[1600]; + size_t fakeseg_len; + + if (split_posseq+split_pos, tcphdr->ack_seq, + ttl_orig,TCP_FOOL_NONE, + data_payload+split_pos, len_payload-split_pos, newdata, &newlen) || + !rawsend((struct sockaddr *)&dst, params.desync_fwmark, newdata, newlen)) + { + return false; + } + } + + + DLOG("sending fake(1) 1st out-of-order tcp segment 0-%zu len=%zu\n",split_pos-1, split_pos) + fakeseg_len = sizeof(fakeseg); + if (!prepare_tcp_segment((struct sockaddr *)&src, (struct sockaddr *)&dst, flags_orig, tcphdr->seq, tcphdr->ack_seq, + ttl_fake,params.desync_tcp_fooling_mode, + zeropkt, split_pos, fakeseg, &fakeseg_len) || + !rawsend((struct sockaddr *)&dst, params.desync_fwmark, fakeseg, fakeseg_len)) + { + return false; + } + + + DLOG("sending 1st out-of-order tcp segment 0-%zu len=%zu\n",split_pos-1, split_pos) + newlen = sizeof(newdata); + if (!prepare_tcp_segment((struct sockaddr *)&src, (struct sockaddr *)&dst, flags_orig, tcphdr->seq, tcphdr->ack_seq, + ttl_orig,TCP_FOOL_NONE, + data_payload, split_pos, newdata, &newlen) || + !rawsend((struct sockaddr *)&dst, params.desync_fwmark, newdata, newlen)) + { + return false; + } + + DLOG("sending fake(2) 1st out-of-order tcp segment 0-%zu len=%zu\n",split_pos-1, split_pos) + if (!rawsend((struct sockaddr *)&dst, params.desync_fwmark, fakeseg, fakeseg_len)) + return false; + + return true; + } + break; + + default: + return false; + } + + if (!rawsend((struct sockaddr *)&dst, params.desync_fwmark, newdata, newlen)) + return false; + + if (params.desync_retrans) + DLOG("dropping packet to force retransmission. len=%zu len_payload=%zu\n", len_pkt, len_payload) + else + { + DLOG("reinjecting original packet. len=%zu len_payload=%zu\n", len_pkt, len_payload) + if (!rawsend((struct sockaddr *)&dst, params.desync_fwmark, data_pkt, len_pkt)) + return false; + } + return true; + } + + return false; +} + + +typedef enum +{ + pass = 0, modify, drop +} packet_process_result; +static packet_process_result processPacketData(uint8_t *data_pkt, size_t len_pkt, uint32_t *mark) +{ + struct iphdr *iphdr = NULL; + struct ip6_hdr *ip6hdr = NULL; + struct tcphdr *tcphdr = NULL; + size_t len = len_pkt, len_tcp; + uint8_t *data = data_pkt; + packet_process_result res = pass; + uint8_t proto; + + if (proto_check_ipv4(data, len)) + { + iphdr = (struct iphdr *) data; + proto = iphdr->protocol; + proto_skip_ipv4(&data, &len); + } + else if (proto_check_ipv6(data, len)) + { + ip6hdr = (struct ip6_hdr *) data; + proto_skip_ipv6(&data, &len, &proto); + } + else + { + // not ipv6 and not ipv4 + return res; + } + + if (proto == IPPROTO_TCP && proto_check_tcp(data, len)) + { + + tcphdr = (struct tcphdr *) data; + len_tcp = len; + proto_skip_tcp(&data, &len); + //DLOG("got TCP packet. payload_len=%d\n",len) + + if (params.desync_mode!=DESYNC_NONE && !(*mark & params.desync_fwmark)) + { + if (dpi_desync_packet(data_pkt, len_pkt, iphdr, ip6hdr, tcphdr, data, len)) + res = drop; + } + + if (res!=drop && modify_tcp_packet(data, len, tcphdr)) + { + if (iphdr) + tcp_fix_checksum(tcphdr, len_tcp, iphdr->saddr, iphdr->daddr); + else + tcp6_fix_checksum(tcphdr, len_tcp, &ip6hdr->ip6_src, &ip6hdr->ip6_dst); + res = modify; + } + } + return res; +} + + +static int cb(struct nfq_q_handle *qh, struct nfgenmsg *nfmsg, + struct nfq_data *nfa, void *cookie) +{ + int id; + size_t len; + struct nfqnl_msg_packet_hdr *ph; + uint8_t *data; + + ph = nfq_get_msg_packet_hdr(nfa); + id = ph ? ntohl(ph->packet_id) : 0; + + uint32_t mark = nfq_get_nfmark(nfa); + len = nfq_get_payload(nfa, &data); + DLOG("packet: id=%d len=%zu\n", id, len) + if (len >= 0) + { + switch (processPacketData(data, len, &mark)) + { + case modify: return nfq_set_verdict2(qh, id, NF_ACCEPT, mark, len, data); + case drop: return nfq_set_verdict2(qh, id, NF_DROP, mark, 0, NULL); + } + } + + return nfq_set_verdict2(qh, id, NF_ACCEPT, mark, 0, NULL); +} + + + +static void exithelp() +{ + printf( + " --debug=0|1\n" + " --qnum=\n" + " --daemon\t\t\t\t; daemonize\n" + " --pidfile=\t\t\t; write pid to file\n" + " --user=\t\t\t; drop root privs\n" + " --uid=uid[:gid]\t\t\t; drop root privs\n" + " --wsize=\t\t\t; set window size. 0 = do not modify\n" + " --hostcase\t\t\t\t; change Host: => host:\n" + " --hostspell\t\t\t\t; exact spelling of \"Host\" header. must be 4 chars. default is \"host\"\n" + " --hostnospace\t\t\t\t; remove space after Host: and add it to User-Agent: to preserve packet size\n" + " --dpi-desync[=]\t\t\t; try to desync dpi state. modes : fake rst rstack disorder\n" + " --dpi-desync-fwmark=\t; override fwmark for desync packet. default = 0x%08X\n" + " --dpi-desync-ttl=\t\t\t; set ttl for desync packet\n" + " --dpi-desync-fooling=none|md5sig|badsum\n" + " --dpi-desync-retrans=0|1\t\t; 0(default)=reinject original data packet after fake 1=drop original data packet to force its retransmission\n" + " --dpi-desync-skip-nosni=0|1\t\t; 1(default)=do not act on ClientHello without SNI (ESNI ?)\n" + " --dpi-desync-split-pos=<1..%d>\t; (for disorder only) split TCP packet at specified position\n" + " --hostlist=\t\t\t; apply dpi desync only to the listed hosts (one host per line, subdomains auto apply)\n", + DPI_DESYNC_FWMARK_DEFAULT,sizeof(zeropkt) + ); + exit(1); +} + +void cleanup_params() +{ + if (params.hostlist) + { + StrPoolDestroy(¶ms.hostlist); + params.hostlist = NULL; + } +} +void exithelp_clean() +{ + cleanup_params(); + exithelp(); +} +void exit_clean(int code) +{ + cleanup_params(); + exit(code); +} + + + +int main(int argc, char **argv) +{ + struct nfq_handle *h; + struct nfq_q_handle *qh; + int fd; + int rv; + char buf[4096] __attribute__((aligned)); + int option_index = 0; + int v; + bool daemon = false; + uid_t uid = 0; + gid_t gid = 0; + char pidfile[256]; + + srand(time(NULL)); + + memset(zeropkt, 0, sizeof(zeropkt)); + + memset(¶ms, 0, sizeof(params)); + memcpy(params.hostspell, "host", 4); // default hostspell + *pidfile = 0; + + params.desync_fwmark = DPI_DESYNC_FWMARK_DEFAULT; + params.desync_skip_nosni = true; + params.desync_split_pos = 3; + + const struct option long_options[] = { + {"debug",optional_argument,0,0}, // optidx=0 + {"qnum",required_argument,0,0}, // optidx=1 + {"daemon",no_argument,0,0}, // optidx=2 + {"pidfile",required_argument,0,0}, // optidx=3 + {"user",required_argument,0,0 }, // optidx=4 + {"uid",required_argument,0,0 }, // optidx=5 + {"wsize",required_argument,0,0}, // optidx=6 + {"hostcase",no_argument,0,0}, // optidx=7 + {"hostspell",required_argument,0,0}, // optidx=8 + {"hostnospace",no_argument,0,0}, // optidx=9 + {"dpi-desync",optional_argument,0,0}, // optidx=10 + {"dpi-desync-fwmark",required_argument,0,0}, // optidx=11 + {"dpi-desync-ttl",required_argument,0,0}, // optidx=12 + {"dpi-desync-fooling",required_argument,0,0}, // optidx=13 + {"dpi-desync-retrans",optional_argument,0,0}, // optidx=14 + {"dpi-desync-skip-nosni",optional_argument,0,0},// optidx=15 + {"dpi-desync-split-pos",required_argument,0,0},// optidx=16 + {"hostlist",required_argument,0,0}, // optidx=17 + {NULL,0,NULL,0} + }; + if (argc < 2) exithelp(); + while ((v = getopt_long_only(argc, argv, "", long_options, &option_index)) != -1) + { + if (v) exithelp(); + switch (option_index) + { + case 0: /* debug */ + params.debug = !optarg || atoi(optarg); + break; + case 1: /* qnum */ + params.qnum = atoi(optarg); + if (params.qnum < 0 || params.qnum>65535) + { + fprintf(stderr, "bad qnum\n"); + exit_clean(1); + } + break; + case 2: /* daemon */ + daemon = true; + break; + case 3: /* pidfile */ + strncpy(pidfile, optarg, sizeof(pidfile)); + pidfile[sizeof(pidfile) - 1] = '\0'; + break; + case 4: /* user */ + { + struct passwd *pwd = getpwnam(optarg); + if (!pwd) + { + fprintf(stderr, "non-existent username supplied\n"); + exit_clean(1); + } + uid = pwd->pw_uid; + gid = pwd->pw_gid; + break; + } + case 5: /* uid */ + gid = 0x7FFFFFFF; // default git. drop gid=0 + if (!sscanf(optarg, "%u:%u", &uid, &gid)) + { + fprintf(stderr, "--uid should be : uid[:gid]\n"); + exit_clean(1); + } + break; + case 6: /* wsize */ + params.wsize = atoi(optarg); + if (params.wsize < 0 || params.wsize>65535) + { + fprintf(stderr, "bad wsize\n"); + exit_clean(1); + } + break; + case 7: /* hostcase */ + params.hostcase = true; + break; + case 8: /* hostspell */ + if (strlen(optarg) != 4) + { + fprintf(stderr, "hostspell must be exactly 4 chars long\n"); + exit_clean(1); + } + params.hostcase = true; + memcpy(params.hostspell, optarg, 4); + break; + case 9: /* hostnospace */ + params.hostnospace = true; + break; + case 10: /* dpi-desync */ + if (!optarg || !strcmp(optarg,"fake")) + params.desync_mode = DESYNC_FAKE; + else if (!strcmp(optarg,"rst")) + params.desync_mode = DESYNC_RST; + else if (!strcmp(optarg,"rstack")) + params.desync_mode = DESYNC_RSTACK; + else if (!strcmp(optarg,"disorder")) + params.desync_mode = DESYNC_DISORDER; + else + { + fprintf(stderr, "invalid dpi-desync mode\n"); + exit_clean(1); + } + break; + case 11: /* dpi-desync */ + params.desync_fwmark = 0; + if (!sscanf(optarg, "0x%X", ¶ms.desync_fwmark)) sscanf(optarg, "%u", ¶ms.desync_fwmark); + if (!params.desync_fwmark) + { + fprintf(stderr, "dpi-desync-fwmark should be decimal or 0xHEX and should not be zero\n"); + exit_clean(1); + } + break; + case 12: /* dpi-desync-ttl */ + params.desync_ttl = (uint8_t)atoi(optarg); + break; + case 13: /* dpi-desync-fooling */ + if (!strcmp(optarg,"none")) + params.desync_tcp_fooling_mode = TCP_FOOL_NONE; + else if (!strcmp(optarg,"md5sig")) + params.desync_tcp_fooling_mode = TCP_FOOL_MD5SIG; + else if (!strcmp(optarg,"badsum")) + params.desync_tcp_fooling_mode = TCP_FOOL_BADSUM; + else + { + fprintf(stderr, "dpi-desync-fooling allowed values : none,md5sig,badsum\n"); + exit_clean(1); + } + break; + case 14: /* dpi-desync-retrans */ + params.desync_retrans = !optarg || atoi(optarg); + break; + case 15: /* dpi-desync-skip-nosni */ + params.desync_skip_nosni = !optarg || atoi(optarg); + break; + case 16: /* dpi-desync-split-pos */ + params.desync_split_pos = atoi(optarg); + if (params.desync_split_pos<1 || params.desync_split_pos>sizeof(zeropkt)) + { + fprintf(stderr, "dpi-desync-split-pos must be within 1..%u range\n",sizeof(zeropkt)); + exit_clean(1); + } + break; + case 17: /* hostlist */ + if (!LoadHostList(¶ms.hostlist, optarg)) + exit_clean(1); + strncpy(params.hostfile,optarg,sizeof(params.hostfile)); + params.hostfile[sizeof(params.hostfile)-1]='\0'; + break; + } + } + + if (params.desync_mode==DESYNC_NONE && params.hostlist) + { + fprintf(stderr, "hostlist is applicable only to dpi-desync\n"); + exit_clean(1); + } + + if (daemon) daemonize(); + + h = NULL; + qh = NULL; + + if (*pidfile && !writepid(pidfile)) + { + fprintf(stderr, "could not write pidfile\n"); + goto exiterr; + } + + printf("opening library handle\n"); + h = nfq_open(); + if (!h) { + fprintf(stderr, "error during nfq_open()\n"); + goto exiterr; + } + + printf("unbinding existing nf_queue handler for AF_INET (if any)\n"); + if (nfq_unbind_pf(h, AF_INET) < 0) { + fprintf(stderr, "error during nfq_unbind_pf()\n"); + goto exiterr; + } + + printf("binding nfnetlink_queue as nf_queue handler for AF_INET\n"); + if (nfq_bind_pf(h, AF_INET) < 0) { + fprintf(stderr, "error during nfq_bind_pf()\n"); + goto exiterr; + } + + printf("binding this socket to queue '%u'\n", params.qnum); + qh = nfq_create_queue(h, params.qnum, &cb, ¶ms); + if (!qh) { + fprintf(stderr, "error during nfq_create_queue()\n"); + goto exiterr; + } + + printf("setting copy_packet mode\n"); + if (nfq_set_mode(qh, NFQNL_COPY_PACKET, 0xffff) < 0) { + fprintf(stderr, "can't set packet_copy mode\n"); + goto exiterr; + } + if (nfq_set_queue_maxlen(qh, Q_MAXLEN) < 0) { + fprintf(stderr, "can't set queue maxlen\n"); + goto exiterr; + } + // accept packets if they cant be handled + if (nfq_set_queue_flags(qh, NFQA_CFG_F_FAIL_OPEN , NFQA_CFG_F_FAIL_OPEN)) + { + fprintf(stderr, "can't set queue flags. errno=%d\n", errno); + // dot not fail. not supported on old linuxes <3.6 + } + + if (!droproot(uid, gid)) goto exiterr; + printf("Running as UID=%u GID=%u\n", getuid(), getgid()); + + signal(SIGHUP, onhup); + + fd = nfq_fd(h); + + // increase socket buffer size. on slow systems reloading hostlist can take a while. + // if too many unhandled packets are received its possible to get "no buffer space available" error + rv = Q_RCVBUF/2; + if (setsockopt(fd, SOL_SOCKET, SO_RCVBUF, &rv, sizeof(int)) <0) + { + perror("setsockopt (SO_RCVBUF): "); + goto exiterr; + } + do + { + while ((rv = recv(fd, buf, sizeof(buf), 0)) && rv >= 0) + { + dohup(); + int r = nfq_handle_packet(h, buf, rv); + if (r) fprintf(stderr, "nfq_handle_packet error %d\n", r); + } + fprintf(stderr, "recv: errno %d\n",errno); + perror("recv"); + // do not fail on ENOBUFS + } while(errno==ENOBUFS); + + printf("unbinding from queue 0\n"); + nfq_destroy_queue(qh); + +#ifdef INSANE + /* normally, applications SHOULD NOT issue this command, since + * it detaches other programs/sockets from AF_INET, too ! */ + printf("unbinding from AF_INET\n"); + nfq_unbind_pf(h, AF_INET); +#endif + + printf("closing library handle\n"); + nfq_close(h); + + rawsend_cleanup(); + cleanup_params(); + return 0; + +exiterr: + if (qh) nfq_destroy_queue(qh); + if (h) nfq_close(h); + cleanup_params(); + return 1; +} diff --git a/nfq/sec.c b/nfq/sec.c new file mode 100644 index 0000000..38612d2 --- /dev/null +++ b/nfq/sec.c @@ -0,0 +1,128 @@ +#include +#include +#include "sec.h" +#include +#include +#include + +bool setpcap(cap_value_t *caps, int ncaps) +{ + cap_t capabilities; + + if (!(capabilities = cap_init())) + return false; + + if (ncaps && (cap_set_flag(capabilities, CAP_PERMITTED, ncaps, caps, CAP_SET) || + cap_set_flag(capabilities, CAP_EFFECTIVE, ncaps, caps, CAP_SET))) + { + cap_free(capabilities); + return false; + } + if (cap_set_proc(capabilities)) + { + cap_free(capabilities); + return false; + } + cap_free(capabilities); + return true; +} +int getmaxcap() +{ + int maxcap = CAP_LAST_CAP; + FILE *F = fopen("/proc/sys/kernel/cap_last_cap", "r"); + if (F) + { + int n = fscanf(F, "%d", &maxcap); + fclose(F); + } + return maxcap; + +} +bool dropcaps() +{ + // must have CAP_SETPCAP at the end. its required to clear bounding set + cap_value_t cap_values[] = { CAP_NET_ADMIN,CAP_NET_RAW,CAP_SETPCAP }; + int capct = sizeof(cap_values) / sizeof(*cap_values); + int maxcap = getmaxcap(); + + if (setpcap(cap_values, capct)) + { + for (int cap = 0; cap <= maxcap; cap++) + { + if (cap_drop_bound(cap)) + { + fprintf(stderr, "could not drop cap %d\n", cap); + perror("cap_drop_bound"); + } + } + } + // now without CAP_SETPCAP + if (!setpcap(cap_values, capct - 1)) + { + perror("setpcap"); + return false; + } + return true; +} +bool droproot(uid_t uid, gid_t gid) +{ + if (uid || gid) + { + if (prctl(PR_SET_KEEPCAPS, 1L)) + { + perror("prctl(PR_SET_KEEPCAPS): "); + return false; + } + if (setgid(gid)) + { + perror("setgid: "); + return false; + } + if (setuid(uid)) + { + perror("setuid: "); + return false; + } + } + return dropcaps(); +} + +void daemonize() +{ + int pid; + + pid = fork(); + if (pid == -1) + { + perror("fork: "); + exit(2); + } + else if (pid != 0) + exit(0); + + if (setsid() == -1) + exit(2); + if (chdir("/") == -1) + exit(2); + close(STDIN_FILENO); + close(STDOUT_FILENO); + close(STDERR_FILENO); + /* redirect fd's 0,1,2 to /dev/null */ + open("/dev/null", O_RDWR); + int fd; + /* stdin */ + fd = dup(0); + /* stdout */ + fd = dup(0); + /* stderror */ +} + +bool writepid(const char *filename) +{ + FILE *F; + if (!(F = fopen(filename, "w"))) + return false; + fprintf(F, "%d", getpid()); + fclose(F); + return true; +} diff --git a/nfq/sec.h b/nfq/sec.h new file mode 100644 index 0000000..dce33cc --- /dev/null +++ b/nfq/sec.h @@ -0,0 +1,12 @@ +#pragma once + +#include +#include +#include + +bool setpcap(cap_value_t *caps, int ncaps); +int getmaxcap(); +bool dropcaps(); +bool droproot(uid_t uid, gid_t gid); +void daemonize(); +bool writepid(const char *filename); diff --git a/nfq/strpool.c b/nfq/strpool.c new file mode 100644 index 0000000..41e62a9 --- /dev/null +++ b/nfq/strpool.c @@ -0,0 +1,76 @@ +#define _GNU_SOURCE +#include "strpool.h" +#include +#include + +#undef uthash_nonfatal_oom +#define uthash_nonfatal_oom(elt) ut_oom_recover(elt) + +static bool oom=false; +static void ut_oom_recover(strpool *elem) +{ + oom=true; +} + +// for zero terminated strings +bool StrPoolAddStr(strpool **pp,const char *s) +{ + strpool *elem; + if (!(elem = (strpool*)malloc(sizeof(strpool)))) + return false; + if (!(elem->str = strdup(s))) + { + free(elem); + return false; + } + oom = false; + HASH_ADD_KEYPTR( hh, *pp, elem->str, strlen(elem->str), elem ); + if (oom) + { + free(elem->str); + free(elem); + return false; + } + return true; +} +// for not zero terminated strings +bool StrPoolAddStrLen(strpool **pp,const char *s,size_t slen) +{ + strpool *elem; + if (!(elem = (strpool*)malloc(sizeof(strpool)))) + return false; + if (!(elem->str = malloc(slen+1))) + { + free(elem); + return false; + } + memcpy(elem->str,s,slen); + elem->str[slen]=0; + oom = false; + HASH_ADD_KEYPTR( hh, *pp, elem->str, strlen(elem->str), elem ); + if (oom) + { + free(elem->str); + free(elem); + return false; + } + return true; +} + +bool StrPoolCheckStr(strpool *p,const char *s) +{ + strpool *elem; + HASH_FIND_STR( p, s, elem); + return elem!=NULL; +} + +void StrPoolDestroy(strpool **p) +{ + strpool *elem,*tmp; + HASH_ITER(hh, *p, elem, tmp) { + free(elem->str); + HASH_DEL(*p, elem); + free(elem); + } + *p = NULL; +} diff --git a/nfq/strpool.h b/nfq/strpool.h new file mode 100644 index 0000000..5932ba3 --- /dev/null +++ b/nfq/strpool.h @@ -0,0 +1,19 @@ +#pragma once + +#include +#include + +//#define HASH_BLOOM 20 +#define HASH_NONFATAL_OOM 1 +#define HASH_FUNCTION HASH_BER +#include "uthash.h" + +typedef struct strpool { + char *str; /* key */ + UT_hash_handle hh; /* makes this structure hashable */ +} strpool; + +void StrPoolDestroy(strpool **p); +bool StrPoolAddStr(strpool **pp,const char *s); +bool StrPoolAddStrLen(strpool **pp,const char *s,size_t slen); +bool StrPoolCheckStr(strpool *p,const char *s); diff --git a/nfq/uthash.h b/nfq/uthash.h new file mode 100644 index 0000000..f34c1f9 --- /dev/null +++ b/nfq/uthash.h @@ -0,0 +1,1217 @@ +/* +Copyright (c) 2003-2018, Troy D. Hanson http://troydhanson.github.com/uthash/ +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS +IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER +OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +#ifndef UTHASH_H +#define UTHASH_H + +#define UTHASH_VERSION 2.0.2 + +#include /* memcmp, memset, strlen */ +#include /* ptrdiff_t */ +#include /* exit */ + +/* These macros use decltype or the earlier __typeof GNU extension. + As decltype is only available in newer compilers (VS2010 or gcc 4.3+ + when compiling c++ source) this code uses whatever method is needed + or, for VS2008 where neither is available, uses casting workarounds. */ +#if !defined(DECLTYPE) && !defined(NO_DECLTYPE) +#if defined(_MSC_VER) /* MS compiler */ +#if _MSC_VER >= 1600 && defined(__cplusplus) /* VS2010 or newer in C++ mode */ +#define DECLTYPE(x) (decltype(x)) +#else /* VS2008 or older (or VS2010 in C mode) */ +#define NO_DECLTYPE +#endif +#elif defined(__BORLANDC__) || defined(__ICCARM__) || defined(__LCC__) || defined(__WATCOMC__) +#define NO_DECLTYPE +#else /* GNU, Sun and other compilers */ +#define DECLTYPE(x) (__typeof(x)) +#endif +#endif + +#ifdef NO_DECLTYPE +#define DECLTYPE(x) +#define DECLTYPE_ASSIGN(dst,src) \ +do { \ + char **_da_dst = (char**)(&(dst)); \ + *_da_dst = (char*)(src); \ +} while (0) +#else +#define DECLTYPE_ASSIGN(dst,src) \ +do { \ + (dst) = DECLTYPE(dst)(src); \ +} while (0) +#endif + +/* a number of the hash function use uint32_t which isn't defined on Pre VS2010 */ +#if defined(_WIN32) +#if defined(_MSC_VER) && _MSC_VER >= 1600 +#include +#elif defined(__WATCOMC__) || defined(__MINGW32__) || defined(__CYGWIN__) +#include +#else +typedef unsigned int uint32_t; +typedef unsigned char uint8_t; +#endif +#elif defined(__GNUC__) && !defined(__VXWORKS__) +#include +#else +typedef unsigned int uint32_t; +typedef unsigned char uint8_t; +#endif + +#ifndef uthash_malloc +#define uthash_malloc(sz) malloc(sz) /* malloc fcn */ +#endif +#ifndef uthash_free +#define uthash_free(ptr,sz) free(ptr) /* free fcn */ +#endif +#ifndef uthash_bzero +#define uthash_bzero(a,n) memset(a,'\0',n) +#endif +#ifndef uthash_memcmp +#define uthash_memcmp(a,b,n) memcmp(a,b,n) +#endif +#ifndef uthash_strlen +#define uthash_strlen(s) strlen(s) +#endif + +#ifndef uthash_noexpand_fyi +#define uthash_noexpand_fyi(tbl) /* can be defined to log noexpand */ +#endif +#ifndef uthash_expand_fyi +#define uthash_expand_fyi(tbl) /* can be defined to log expands */ +#endif + +#ifndef HASH_NONFATAL_OOM +#define HASH_NONFATAL_OOM 0 +#endif + +#if HASH_NONFATAL_OOM +/* malloc failures can be recovered from */ + +#ifndef uthash_nonfatal_oom +#define uthash_nonfatal_oom(obj) do {} while (0) /* non-fatal OOM error */ +#endif + +#define HASH_RECORD_OOM(oomed) do { (oomed) = 1; } while (0) +#define IF_HASH_NONFATAL_OOM(x) x + +#else +/* malloc failures result in lost memory, hash tables are unusable */ + +#ifndef uthash_fatal +#define uthash_fatal(msg) exit(-1) /* fatal OOM error */ +#endif + +#define HASH_RECORD_OOM(oomed) uthash_fatal("out of memory") +#define IF_HASH_NONFATAL_OOM(x) + +#endif + +/* initial number of buckets */ +#define HASH_INITIAL_NUM_BUCKETS 32U /* initial number of buckets */ +#define HASH_INITIAL_NUM_BUCKETS_LOG2 5U /* lg2 of initial number of buckets */ +#define HASH_BKT_CAPACITY_THRESH 10U /* expand when bucket count reaches */ + +/* calculate the element whose hash handle address is hhp */ +#define ELMT_FROM_HH(tbl,hhp) ((void*)(((char*)(hhp)) - ((tbl)->hho))) +/* calculate the hash handle from element address elp */ +#define HH_FROM_ELMT(tbl,elp) ((UT_hash_handle *)(((char*)(elp)) + ((tbl)->hho))) + +#define HASH_ROLLBACK_BKT(hh, head, itemptrhh) \ +do { \ + struct UT_hash_handle *_hd_hh_item = (itemptrhh); \ + unsigned _hd_bkt; \ + HASH_TO_BKT(_hd_hh_item->hashv, (head)->hh.tbl->num_buckets, _hd_bkt); \ + (head)->hh.tbl->buckets[_hd_bkt].count++; \ + _hd_hh_item->hh_next = NULL; \ + _hd_hh_item->hh_prev = NULL; \ +} while (0) + +#define HASH_VALUE(keyptr,keylen,hashv) \ +do { \ + HASH_FCN(keyptr, keylen, hashv); \ +} while (0) + +#define HASH_FIND_BYHASHVALUE(hh,head,keyptr,keylen,hashval,out) \ +do { \ + (out) = NULL; \ + if (head) { \ + unsigned _hf_bkt; \ + HASH_TO_BKT(hashval, (head)->hh.tbl->num_buckets, _hf_bkt); \ + if (HASH_BLOOM_TEST((head)->hh.tbl, hashval) != 0) { \ + HASH_FIND_IN_BKT((head)->hh.tbl, hh, (head)->hh.tbl->buckets[ _hf_bkt ], keyptr, keylen, hashval, out); \ + } \ + } \ +} while (0) + +#define HASH_FIND(hh,head,keyptr,keylen,out) \ +do { \ + unsigned _hf_hashv; \ + HASH_VALUE(keyptr, keylen, _hf_hashv); \ + HASH_FIND_BYHASHVALUE(hh, head, keyptr, keylen, _hf_hashv, out); \ +} while (0) + +#ifdef HASH_BLOOM +#define HASH_BLOOM_BITLEN (1UL << HASH_BLOOM) +#define HASH_BLOOM_BYTELEN (HASH_BLOOM_BITLEN/8UL) + (((HASH_BLOOM_BITLEN%8UL)!=0UL) ? 1UL : 0UL) +#define HASH_BLOOM_MAKE(tbl,oomed) \ +do { \ + (tbl)->bloom_nbits = HASH_BLOOM; \ + (tbl)->bloom_bv = (uint8_t*)uthash_malloc(HASH_BLOOM_BYTELEN); \ + if (!(tbl)->bloom_bv) { \ + HASH_RECORD_OOM(oomed); \ + } else { \ + uthash_bzero((tbl)->bloom_bv, HASH_BLOOM_BYTELEN); \ + (tbl)->bloom_sig = HASH_BLOOM_SIGNATURE; \ + } \ +} while (0) + +#define HASH_BLOOM_FREE(tbl) \ +do { \ + uthash_free((tbl)->bloom_bv, HASH_BLOOM_BYTELEN); \ +} while (0) + +#define HASH_BLOOM_BITSET(bv,idx) (bv[(idx)/8U] |= (1U << ((idx)%8U))) +#define HASH_BLOOM_BITTEST(bv,idx) (bv[(idx)/8U] & (1U << ((idx)%8U))) + +#define HASH_BLOOM_ADD(tbl,hashv) \ + HASH_BLOOM_BITSET((tbl)->bloom_bv, ((hashv) & (uint32_t)((1UL << (tbl)->bloom_nbits) - 1U))) + +#define HASH_BLOOM_TEST(tbl,hashv) \ + HASH_BLOOM_BITTEST((tbl)->bloom_bv, ((hashv) & (uint32_t)((1UL << (tbl)->bloom_nbits) - 1U))) + +#else +#define HASH_BLOOM_MAKE(tbl,oomed) +#define HASH_BLOOM_FREE(tbl) +#define HASH_BLOOM_ADD(tbl,hashv) +#define HASH_BLOOM_TEST(tbl,hashv) (1) +#define HASH_BLOOM_BYTELEN 0U +#endif + +#define HASH_MAKE_TABLE(hh,head,oomed) \ +do { \ + (head)->hh.tbl = (UT_hash_table*)uthash_malloc(sizeof(UT_hash_table)); \ + if (!(head)->hh.tbl) { \ + HASH_RECORD_OOM(oomed); \ + } else { \ + uthash_bzero((head)->hh.tbl, sizeof(UT_hash_table)); \ + (head)->hh.tbl->tail = &((head)->hh); \ + (head)->hh.tbl->num_buckets = HASH_INITIAL_NUM_BUCKETS; \ + (head)->hh.tbl->log2_num_buckets = HASH_INITIAL_NUM_BUCKETS_LOG2; \ + (head)->hh.tbl->hho = (char*)(&(head)->hh) - (char*)(head); \ + (head)->hh.tbl->buckets = (UT_hash_bucket*)uthash_malloc( \ + HASH_INITIAL_NUM_BUCKETS * sizeof(struct UT_hash_bucket)); \ + (head)->hh.tbl->signature = HASH_SIGNATURE; \ + if (!(head)->hh.tbl->buckets) { \ + HASH_RECORD_OOM(oomed); \ + uthash_free((head)->hh.tbl, sizeof(UT_hash_table)); \ + } else { \ + uthash_bzero((head)->hh.tbl->buckets, \ + HASH_INITIAL_NUM_BUCKETS * sizeof(struct UT_hash_bucket)); \ + HASH_BLOOM_MAKE((head)->hh.tbl, oomed); \ + IF_HASH_NONFATAL_OOM( \ + if (oomed) { \ + uthash_free((head)->hh.tbl->buckets, \ + HASH_INITIAL_NUM_BUCKETS*sizeof(struct UT_hash_bucket)); \ + uthash_free((head)->hh.tbl, sizeof(UT_hash_table)); \ + } \ + ) \ + } \ + } \ +} while (0) + +#define HASH_REPLACE_BYHASHVALUE_INORDER(hh,head,fieldname,keylen_in,hashval,add,replaced,cmpfcn) \ +do { \ + (replaced) = NULL; \ + HASH_FIND_BYHASHVALUE(hh, head, &((add)->fieldname), keylen_in, hashval, replaced); \ + if (replaced) { \ + HASH_DELETE(hh, head, replaced); \ + } \ + HASH_ADD_KEYPTR_BYHASHVALUE_INORDER(hh, head, &((add)->fieldname), keylen_in, hashval, add, cmpfcn); \ +} while (0) + +#define HASH_REPLACE_BYHASHVALUE(hh,head,fieldname,keylen_in,hashval,add,replaced) \ +do { \ + (replaced) = NULL; \ + HASH_FIND_BYHASHVALUE(hh, head, &((add)->fieldname), keylen_in, hashval, replaced); \ + if (replaced) { \ + HASH_DELETE(hh, head, replaced); \ + } \ + HASH_ADD_KEYPTR_BYHASHVALUE(hh, head, &((add)->fieldname), keylen_in, hashval, add); \ +} while (0) + +#define HASH_REPLACE(hh,head,fieldname,keylen_in,add,replaced) \ +do { \ + unsigned _hr_hashv; \ + HASH_VALUE(&((add)->fieldname), keylen_in, _hr_hashv); \ + HASH_REPLACE_BYHASHVALUE(hh, head, fieldname, keylen_in, _hr_hashv, add, replaced); \ +} while (0) + +#define HASH_REPLACE_INORDER(hh,head,fieldname,keylen_in,add,replaced,cmpfcn) \ +do { \ + unsigned _hr_hashv; \ + HASH_VALUE(&((add)->fieldname), keylen_in, _hr_hashv); \ + HASH_REPLACE_BYHASHVALUE_INORDER(hh, head, fieldname, keylen_in, _hr_hashv, add, replaced, cmpfcn); \ +} while (0) + +#define HASH_APPEND_LIST(hh, head, add) \ +do { \ + (add)->hh.next = NULL; \ + (add)->hh.prev = ELMT_FROM_HH((head)->hh.tbl, (head)->hh.tbl->tail); \ + (head)->hh.tbl->tail->next = (add); \ + (head)->hh.tbl->tail = &((add)->hh); \ +} while (0) + +#define HASH_AKBI_INNER_LOOP(hh,head,add,cmpfcn) \ +do { \ + do { \ + if (cmpfcn(DECLTYPE(head)(_hs_iter), add) > 0) { \ + break; \ + } \ + } while ((_hs_iter = HH_FROM_ELMT((head)->hh.tbl, _hs_iter)->next)); \ +} while (0) + +#ifdef NO_DECLTYPE +#undef HASH_AKBI_INNER_LOOP +#define HASH_AKBI_INNER_LOOP(hh,head,add,cmpfcn) \ +do { \ + char *_hs_saved_head = (char*)(head); \ + do { \ + DECLTYPE_ASSIGN(head, _hs_iter); \ + if (cmpfcn(head, add) > 0) { \ + DECLTYPE_ASSIGN(head, _hs_saved_head); \ + break; \ + } \ + DECLTYPE_ASSIGN(head, _hs_saved_head); \ + } while ((_hs_iter = HH_FROM_ELMT((head)->hh.tbl, _hs_iter)->next)); \ +} while (0) +#endif + +#if HASH_NONFATAL_OOM + +#define HASH_ADD_TO_TABLE(hh,head,keyptr,keylen_in,hashval,add,oomed) \ +do { \ + if (!(oomed)) { \ + unsigned _ha_bkt; \ + (head)->hh.tbl->num_items++; \ + HASH_TO_BKT(hashval, (head)->hh.tbl->num_buckets, _ha_bkt); \ + HASH_ADD_TO_BKT((head)->hh.tbl->buckets[_ha_bkt], hh, &(add)->hh, oomed); \ + if (oomed) { \ + HASH_ROLLBACK_BKT(hh, head, &(add)->hh); \ + HASH_DELETE_HH(hh, head, &(add)->hh); \ + (add)->hh.tbl = NULL; \ + uthash_nonfatal_oom(add); \ + } else { \ + HASH_BLOOM_ADD((head)->hh.tbl, hashval); \ + HASH_EMIT_KEY(hh, head, keyptr, keylen_in); \ + } \ + } else { \ + (add)->hh.tbl = NULL; \ + uthash_nonfatal_oom(add); \ + } \ +} while (0) + +#else + +#define HASH_ADD_TO_TABLE(hh,head,keyptr,keylen_in,hashval,add,oomed) \ +do { \ + unsigned _ha_bkt; \ + (head)->hh.tbl->num_items++; \ + HASH_TO_BKT(hashval, (head)->hh.tbl->num_buckets, _ha_bkt); \ + HASH_ADD_TO_BKT((head)->hh.tbl->buckets[_ha_bkt], hh, &(add)->hh, oomed); \ + HASH_BLOOM_ADD((head)->hh.tbl, hashval); \ + HASH_EMIT_KEY(hh, head, keyptr, keylen_in); \ +} while (0) + +#endif + + +#define HASH_ADD_KEYPTR_BYHASHVALUE_INORDER(hh,head,keyptr,keylen_in,hashval,add,cmpfcn) \ +do { \ + IF_HASH_NONFATAL_OOM( int _ha_oomed = 0; ) \ + (add)->hh.hashv = (hashval); \ + (add)->hh.key = (char*) (keyptr); \ + (add)->hh.keylen = (unsigned) (keylen_in); \ + if (!(head)) { \ + (add)->hh.next = NULL; \ + (add)->hh.prev = NULL; \ + HASH_MAKE_TABLE(hh, add, _ha_oomed); \ + IF_HASH_NONFATAL_OOM( if (!_ha_oomed) { ) \ + (head) = (add); \ + IF_HASH_NONFATAL_OOM( } ) \ + } else { \ + void *_hs_iter = (head); \ + (add)->hh.tbl = (head)->hh.tbl; \ + HASH_AKBI_INNER_LOOP(hh, head, add, cmpfcn); \ + if (_hs_iter) { \ + (add)->hh.next = _hs_iter; \ + if (((add)->hh.prev = HH_FROM_ELMT((head)->hh.tbl, _hs_iter)->prev)) { \ + HH_FROM_ELMT((head)->hh.tbl, (add)->hh.prev)->next = (add); \ + } else { \ + (head) = (add); \ + } \ + HH_FROM_ELMT((head)->hh.tbl, _hs_iter)->prev = (add); \ + } else { \ + HASH_APPEND_LIST(hh, head, add); \ + } \ + } \ + HASH_ADD_TO_TABLE(hh, head, keyptr, keylen_in, hashval, add, _ha_oomed); \ + HASH_FSCK(hh, head, "HASH_ADD_KEYPTR_BYHASHVALUE_INORDER"); \ +} while (0) + +#define HASH_ADD_KEYPTR_INORDER(hh,head,keyptr,keylen_in,add,cmpfcn) \ +do { \ + unsigned _hs_hashv; \ + HASH_VALUE(keyptr, keylen_in, _hs_hashv); \ + HASH_ADD_KEYPTR_BYHASHVALUE_INORDER(hh, head, keyptr, keylen_in, _hs_hashv, add, cmpfcn); \ +} while (0) + +#define HASH_ADD_BYHASHVALUE_INORDER(hh,head,fieldname,keylen_in,hashval,add,cmpfcn) \ + HASH_ADD_KEYPTR_BYHASHVALUE_INORDER(hh, head, &((add)->fieldname), keylen_in, hashval, add, cmpfcn) + +#define HASH_ADD_INORDER(hh,head,fieldname,keylen_in,add,cmpfcn) \ + HASH_ADD_KEYPTR_INORDER(hh, head, &((add)->fieldname), keylen_in, add, cmpfcn) + +#define HASH_ADD_KEYPTR_BYHASHVALUE(hh,head,keyptr,keylen_in,hashval,add) \ +do { \ + IF_HASH_NONFATAL_OOM( int _ha_oomed = 0; ) \ + (add)->hh.hashv = (hashval); \ + (add)->hh.key = (char*) (keyptr); \ + (add)->hh.keylen = (unsigned) (keylen_in); \ + if (!(head)) { \ + (add)->hh.next = NULL; \ + (add)->hh.prev = NULL; \ + HASH_MAKE_TABLE(hh, add, _ha_oomed); \ + IF_HASH_NONFATAL_OOM( if (!_ha_oomed) { ) \ + (head) = (add); \ + IF_HASH_NONFATAL_OOM( } ) \ + } else { \ + (add)->hh.tbl = (head)->hh.tbl; \ + HASH_APPEND_LIST(hh, head, add); \ + } \ + HASH_ADD_TO_TABLE(hh, head, keyptr, keylen_in, hashval, add, _ha_oomed); \ + HASH_FSCK(hh, head, "HASH_ADD_KEYPTR_BYHASHVALUE"); \ +} while (0) + +#define HASH_ADD_KEYPTR(hh,head,keyptr,keylen_in,add) \ +do { \ + unsigned _ha_hashv; \ + HASH_VALUE(keyptr, keylen_in, _ha_hashv); \ + HASH_ADD_KEYPTR_BYHASHVALUE(hh, head, keyptr, keylen_in, _ha_hashv, add); \ +} while (0) + +#define HASH_ADD_BYHASHVALUE(hh,head,fieldname,keylen_in,hashval,add) \ + HASH_ADD_KEYPTR_BYHASHVALUE(hh, head, &((add)->fieldname), keylen_in, hashval, add) + +#define HASH_ADD(hh,head,fieldname,keylen_in,add) \ + HASH_ADD_KEYPTR(hh, head, &((add)->fieldname), keylen_in, add) + +#define HASH_TO_BKT(hashv,num_bkts,bkt) \ +do { \ + bkt = ((hashv) & ((num_bkts) - 1U)); \ +} while (0) + +/* delete "delptr" from the hash table. + * "the usual" patch-up process for the app-order doubly-linked-list. + * The use of _hd_hh_del below deserves special explanation. + * These used to be expressed using (delptr) but that led to a bug + * if someone used the same symbol for the head and deletee, like + * HASH_DELETE(hh,users,users); + * We want that to work, but by changing the head (users) below + * we were forfeiting our ability to further refer to the deletee (users) + * in the patch-up process. Solution: use scratch space to + * copy the deletee pointer, then the latter references are via that + * scratch pointer rather than through the repointed (users) symbol. + */ +#define HASH_DELETE(hh,head,delptr) \ + HASH_DELETE_HH(hh, head, &(delptr)->hh) + +#define HASH_DELETE_HH(hh,head,delptrhh) \ +do { \ + struct UT_hash_handle *_hd_hh_del = (delptrhh); \ + if ((_hd_hh_del->prev == NULL) && (_hd_hh_del->next == NULL)) { \ + HASH_BLOOM_FREE((head)->hh.tbl); \ + uthash_free((head)->hh.tbl->buckets, \ + (head)->hh.tbl->num_buckets * sizeof(struct UT_hash_bucket)); \ + uthash_free((head)->hh.tbl, sizeof(UT_hash_table)); \ + (head) = NULL; \ + } else { \ + unsigned _hd_bkt; \ + if (_hd_hh_del == (head)->hh.tbl->tail) { \ + (head)->hh.tbl->tail = HH_FROM_ELMT((head)->hh.tbl, _hd_hh_del->prev); \ + } \ + if (_hd_hh_del->prev != NULL) { \ + HH_FROM_ELMT((head)->hh.tbl, _hd_hh_del->prev)->next = _hd_hh_del->next; \ + } else { \ + DECLTYPE_ASSIGN(head, _hd_hh_del->next); \ + } \ + if (_hd_hh_del->next != NULL) { \ + HH_FROM_ELMT((head)->hh.tbl, _hd_hh_del->next)->prev = _hd_hh_del->prev; \ + } \ + HASH_TO_BKT(_hd_hh_del->hashv, (head)->hh.tbl->num_buckets, _hd_bkt); \ + HASH_DEL_IN_BKT((head)->hh.tbl->buckets[_hd_bkt], _hd_hh_del); \ + (head)->hh.tbl->num_items--; \ + } \ + HASH_FSCK(hh, head, "HASH_DELETE_HH"); \ +} while (0) + +/* convenience forms of HASH_FIND/HASH_ADD/HASH_DEL */ +#define HASH_FIND_STR(head,findstr,out) \ +do { \ + unsigned _uthash_hfstr_keylen = (unsigned)uthash_strlen(findstr); \ + HASH_FIND(hh, head, findstr, _uthash_hfstr_keylen, out); \ +} while (0) +#define HASH_ADD_STR(head,strfield,add) \ +do { \ + unsigned _uthash_hastr_keylen = (unsigned)uthash_strlen((add)->strfield); \ + HASH_ADD(hh, head, strfield[0], _uthash_hastr_keylen, add); \ +} while (0) +#define HASH_REPLACE_STR(head,strfield,add,replaced) \ +do { \ + unsigned _uthash_hrstr_keylen = (unsigned)uthash_strlen((add)->strfield); \ + HASH_REPLACE(hh, head, strfield[0], _uthash_hrstr_keylen, add, replaced); \ +} while (0) +#define HASH_FIND_INT(head,findint,out) \ + HASH_FIND(hh,head,findint,sizeof(int),out) +#define HASH_ADD_INT(head,intfield,add) \ + HASH_ADD(hh,head,intfield,sizeof(int),add) +#define HASH_REPLACE_INT(head,intfield,add,replaced) \ + HASH_REPLACE(hh,head,intfield,sizeof(int),add,replaced) +#define HASH_FIND_PTR(head,findptr,out) \ + HASH_FIND(hh,head,findptr,sizeof(void *),out) +#define HASH_ADD_PTR(head,ptrfield,add) \ + HASH_ADD(hh,head,ptrfield,sizeof(void *),add) +#define HASH_REPLACE_PTR(head,ptrfield,add,replaced) \ + HASH_REPLACE(hh,head,ptrfield,sizeof(void *),add,replaced) +#define HASH_DEL(head,delptr) \ + HASH_DELETE(hh,head,delptr) + +/* HASH_FSCK checks hash integrity on every add/delete when HASH_DEBUG is defined. + * This is for uthash developer only; it compiles away if HASH_DEBUG isn't defined. + */ +#ifdef HASH_DEBUG +#define HASH_OOPS(...) do { fprintf(stderr,__VA_ARGS__); exit(-1); } while (0) +#define HASH_FSCK(hh,head,where) \ +do { \ + struct UT_hash_handle *_thh; \ + if (head) { \ + unsigned _bkt_i; \ + unsigned _count = 0; \ + char *_prev; \ + for (_bkt_i = 0; _bkt_i < (head)->hh.tbl->num_buckets; ++_bkt_i) { \ + unsigned _bkt_count = 0; \ + _thh = (head)->hh.tbl->buckets[_bkt_i].hh_head; \ + _prev = NULL; \ + while (_thh) { \ + if (_prev != (char*)(_thh->hh_prev)) { \ + HASH_OOPS("%s: invalid hh_prev %p, actual %p\n", \ + (where), (void*)_thh->hh_prev, (void*)_prev); \ + } \ + _bkt_count++; \ + _prev = (char*)(_thh); \ + _thh = _thh->hh_next; \ + } \ + _count += _bkt_count; \ + if ((head)->hh.tbl->buckets[_bkt_i].count != _bkt_count) { \ + HASH_OOPS("%s: invalid bucket count %u, actual %u\n", \ + (where), (head)->hh.tbl->buckets[_bkt_i].count, _bkt_count); \ + } \ + } \ + if (_count != (head)->hh.tbl->num_items) { \ + HASH_OOPS("%s: invalid hh item count %u, actual %u\n", \ + (where), (head)->hh.tbl->num_items, _count); \ + } \ + _count = 0; \ + _prev = NULL; \ + _thh = &(head)->hh; \ + while (_thh) { \ + _count++; \ + if (_prev != (char*)_thh->prev) { \ + HASH_OOPS("%s: invalid prev %p, actual %p\n", \ + (where), (void*)_thh->prev, (void*)_prev); \ + } \ + _prev = (char*)ELMT_FROM_HH((head)->hh.tbl, _thh); \ + _thh = (_thh->next ? HH_FROM_ELMT((head)->hh.tbl, _thh->next) : NULL); \ + } \ + if (_count != (head)->hh.tbl->num_items) { \ + HASH_OOPS("%s: invalid app item count %u, actual %u\n", \ + (where), (head)->hh.tbl->num_items, _count); \ + } \ + } \ +} while (0) +#else +#define HASH_FSCK(hh,head,where) +#endif + +/* When compiled with -DHASH_EMIT_KEYS, length-prefixed keys are emitted to + * the descriptor to which this macro is defined for tuning the hash function. + * The app can #include to get the prototype for write(2). */ +#ifdef HASH_EMIT_KEYS +#define HASH_EMIT_KEY(hh,head,keyptr,fieldlen) \ +do { \ + unsigned _klen = fieldlen; \ + write(HASH_EMIT_KEYS, &_klen, sizeof(_klen)); \ + write(HASH_EMIT_KEYS, keyptr, (unsigned long)fieldlen); \ +} while (0) +#else +#define HASH_EMIT_KEY(hh,head,keyptr,fieldlen) +#endif + +/* default to Jenkin's hash unless overridden e.g. DHASH_FUNCTION=HASH_SAX */ +#ifdef HASH_FUNCTION +#define HASH_FCN HASH_FUNCTION +#else +#define HASH_FCN HASH_JEN +#endif + +/* The Bernstein hash function, used in Perl prior to v5.6. Note (x<<5+x)=x*33. */ +#define HASH_BER(key,keylen,hashv) \ +do { \ + unsigned _hb_keylen = (unsigned)keylen; \ + const unsigned char *_hb_key = (const unsigned char*)(key); \ + (hashv) = 0; \ + while (_hb_keylen-- != 0U) { \ + (hashv) = (((hashv) << 5) + (hashv)) + *_hb_key++; \ + } \ +} while (0) + + +/* SAX/FNV/OAT/JEN hash functions are macro variants of those listed at + * http://eternallyconfuzzled.com/tuts/algorithms/jsw_tut_hashing.aspx */ +#define HASH_SAX(key,keylen,hashv) \ +do { \ + unsigned _sx_i; \ + const unsigned char *_hs_key = (const unsigned char*)(key); \ + hashv = 0; \ + for (_sx_i=0; _sx_i < keylen; _sx_i++) { \ + hashv ^= (hashv << 5) + (hashv >> 2) + _hs_key[_sx_i]; \ + } \ +} while (0) +/* FNV-1a variation */ +#define HASH_FNV(key,keylen,hashv) \ +do { \ + unsigned _fn_i; \ + const unsigned char *_hf_key = (const unsigned char*)(key); \ + (hashv) = 2166136261U; \ + for (_fn_i=0; _fn_i < keylen; _fn_i++) { \ + hashv = hashv ^ _hf_key[_fn_i]; \ + hashv = hashv * 16777619U; \ + } \ +} while (0) + +#define HASH_OAT(key,keylen,hashv) \ +do { \ + unsigned _ho_i; \ + const unsigned char *_ho_key=(const unsigned char*)(key); \ + hashv = 0; \ + for(_ho_i=0; _ho_i < keylen; _ho_i++) { \ + hashv += _ho_key[_ho_i]; \ + hashv += (hashv << 10); \ + hashv ^= (hashv >> 6); \ + } \ + hashv += (hashv << 3); \ + hashv ^= (hashv >> 11); \ + hashv += (hashv << 15); \ +} while (0) + +#define HASH_JEN_MIX(a,b,c) \ +do { \ + a -= b; a -= c; a ^= ( c >> 13 ); \ + b -= c; b -= a; b ^= ( a << 8 ); \ + c -= a; c -= b; c ^= ( b >> 13 ); \ + a -= b; a -= c; a ^= ( c >> 12 ); \ + b -= c; b -= a; b ^= ( a << 16 ); \ + c -= a; c -= b; c ^= ( b >> 5 ); \ + a -= b; a -= c; a ^= ( c >> 3 ); \ + b -= c; b -= a; b ^= ( a << 10 ); \ + c -= a; c -= b; c ^= ( b >> 15 ); \ +} while (0) + +#define HASH_JEN(key,keylen,hashv) \ +do { \ + unsigned _hj_i,_hj_j,_hj_k; \ + unsigned const char *_hj_key=(unsigned const char*)(key); \ + hashv = 0xfeedbeefu; \ + _hj_i = _hj_j = 0x9e3779b9u; \ + _hj_k = (unsigned)(keylen); \ + while (_hj_k >= 12U) { \ + _hj_i += (_hj_key[0] + ( (unsigned)_hj_key[1] << 8 ) \ + + ( (unsigned)_hj_key[2] << 16 ) \ + + ( (unsigned)_hj_key[3] << 24 ) ); \ + _hj_j += (_hj_key[4] + ( (unsigned)_hj_key[5] << 8 ) \ + + ( (unsigned)_hj_key[6] << 16 ) \ + + ( (unsigned)_hj_key[7] << 24 ) ); \ + hashv += (_hj_key[8] + ( (unsigned)_hj_key[9] << 8 ) \ + + ( (unsigned)_hj_key[10] << 16 ) \ + + ( (unsigned)_hj_key[11] << 24 ) ); \ + \ + HASH_JEN_MIX(_hj_i, _hj_j, hashv); \ + \ + _hj_key += 12; \ + _hj_k -= 12U; \ + } \ + hashv += (unsigned)(keylen); \ + switch ( _hj_k ) { \ + case 11: hashv += ( (unsigned)_hj_key[10] << 24 ); /* FALLTHROUGH */ \ + case 10: hashv += ( (unsigned)_hj_key[9] << 16 ); /* FALLTHROUGH */ \ + case 9: hashv += ( (unsigned)_hj_key[8] << 8 ); /* FALLTHROUGH */ \ + case 8: _hj_j += ( (unsigned)_hj_key[7] << 24 ); /* FALLTHROUGH */ \ + case 7: _hj_j += ( (unsigned)_hj_key[6] << 16 ); /* FALLTHROUGH */ \ + case 6: _hj_j += ( (unsigned)_hj_key[5] << 8 ); /* FALLTHROUGH */ \ + case 5: _hj_j += _hj_key[4]; /* FALLTHROUGH */ \ + case 4: _hj_i += ( (unsigned)_hj_key[3] << 24 ); /* FALLTHROUGH */ \ + case 3: _hj_i += ( (unsigned)_hj_key[2] << 16 ); /* FALLTHROUGH */ \ + case 2: _hj_i += ( (unsigned)_hj_key[1] << 8 ); /* FALLTHROUGH */ \ + case 1: _hj_i += _hj_key[0]; \ + } \ + HASH_JEN_MIX(_hj_i, _hj_j, hashv); \ +} while (0) + +/* The Paul Hsieh hash function */ +#undef get16bits +#if (defined(__GNUC__) && defined(__i386__)) || defined(__WATCOMC__) \ + || defined(_MSC_VER) || defined (__BORLANDC__) || defined (__TURBOC__) +#define get16bits(d) (*((const uint16_t *) (d))) +#endif + +#if !defined (get16bits) +#define get16bits(d) ((((uint32_t)(((const uint8_t *)(d))[1])) << 8) \ + +(uint32_t)(((const uint8_t *)(d))[0]) ) +#endif +#define HASH_SFH(key,keylen,hashv) \ +do { \ + unsigned const char *_sfh_key=(unsigned const char*)(key); \ + uint32_t _sfh_tmp, _sfh_len = (uint32_t)keylen; \ + \ + unsigned _sfh_rem = _sfh_len & 3U; \ + _sfh_len >>= 2; \ + hashv = 0xcafebabeu; \ + \ + /* Main loop */ \ + for (;_sfh_len > 0U; _sfh_len--) { \ + hashv += get16bits (_sfh_key); \ + _sfh_tmp = ((uint32_t)(get16bits (_sfh_key+2)) << 11) ^ hashv; \ + hashv = (hashv << 16) ^ _sfh_tmp; \ + _sfh_key += 2U*sizeof (uint16_t); \ + hashv += hashv >> 11; \ + } \ + \ + /* Handle end cases */ \ + switch (_sfh_rem) { \ + case 3: hashv += get16bits (_sfh_key); \ + hashv ^= hashv << 16; \ + hashv ^= (uint32_t)(_sfh_key[sizeof (uint16_t)]) << 18; \ + hashv += hashv >> 11; \ + break; \ + case 2: hashv += get16bits (_sfh_key); \ + hashv ^= hashv << 11; \ + hashv += hashv >> 17; \ + break; \ + case 1: hashv += *_sfh_key; \ + hashv ^= hashv << 10; \ + hashv += hashv >> 1; \ + } \ + \ + /* Force "avalanching" of final 127 bits */ \ + hashv ^= hashv << 3; \ + hashv += hashv >> 5; \ + hashv ^= hashv << 4; \ + hashv += hashv >> 17; \ + hashv ^= hashv << 25; \ + hashv += hashv >> 6; \ +} while (0) + +#ifdef HASH_USING_NO_STRICT_ALIASING +/* The MurmurHash exploits some CPU's (x86,x86_64) tolerance for unaligned reads. + * For other types of CPU's (e.g. Sparc) an unaligned read causes a bus error. + * MurmurHash uses the faster approach only on CPU's where we know it's safe. + * + * Note the preprocessor built-in defines can be emitted using: + * + * gcc -m64 -dM -E - < /dev/null (on gcc) + * cc -## a.c (where a.c is a simple test file) (Sun Studio) + */ +#if (defined(__i386__) || defined(__x86_64__) || defined(_M_IX86)) +#define MUR_GETBLOCK(p,i) p[i] +#else /* non intel */ +#define MUR_PLUS0_ALIGNED(p) (((unsigned long)p & 3UL) == 0UL) +#define MUR_PLUS1_ALIGNED(p) (((unsigned long)p & 3UL) == 1UL) +#define MUR_PLUS2_ALIGNED(p) (((unsigned long)p & 3UL) == 2UL) +#define MUR_PLUS3_ALIGNED(p) (((unsigned long)p & 3UL) == 3UL) +#define WP(p) ((uint32_t*)((unsigned long)(p) & ~3UL)) +#if (defined(__BIG_ENDIAN__) || defined(SPARC) || defined(__ppc__) || defined(__ppc64__)) +#define MUR_THREE_ONE(p) ((((*WP(p))&0x00ffffff) << 8) | (((*(WP(p)+1))&0xff000000) >> 24)) +#define MUR_TWO_TWO(p) ((((*WP(p))&0x0000ffff) <<16) | (((*(WP(p)+1))&0xffff0000) >> 16)) +#define MUR_ONE_THREE(p) ((((*WP(p))&0x000000ff) <<24) | (((*(WP(p)+1))&0xffffff00) >> 8)) +#else /* assume little endian non-intel */ +#define MUR_THREE_ONE(p) ((((*WP(p))&0xffffff00) >> 8) | (((*(WP(p)+1))&0x000000ff) << 24)) +#define MUR_TWO_TWO(p) ((((*WP(p))&0xffff0000) >>16) | (((*(WP(p)+1))&0x0000ffff) << 16)) +#define MUR_ONE_THREE(p) ((((*WP(p))&0xff000000) >>24) | (((*(WP(p)+1))&0x00ffffff) << 8)) +#endif +#define MUR_GETBLOCK(p,i) (MUR_PLUS0_ALIGNED(p) ? ((p)[i]) : \ + (MUR_PLUS1_ALIGNED(p) ? MUR_THREE_ONE(p) : \ + (MUR_PLUS2_ALIGNED(p) ? MUR_TWO_TWO(p) : \ + MUR_ONE_THREE(p)))) +#endif +#define MUR_ROTL32(x,r) (((x) << (r)) | ((x) >> (32 - (r)))) +#define MUR_FMIX(_h) \ +do { \ + _h ^= _h >> 16; \ + _h *= 0x85ebca6bu; \ + _h ^= _h >> 13; \ + _h *= 0xc2b2ae35u; \ + _h ^= _h >> 16; \ +} while (0) + +#define HASH_MUR(key,keylen,hashv) \ +do { \ + const uint8_t *_mur_data = (const uint8_t*)(key); \ + const int _mur_nblocks = (int)(keylen) / 4; \ + uint32_t _mur_h1 = 0xf88D5353u; \ + uint32_t _mur_c1 = 0xcc9e2d51u; \ + uint32_t _mur_c2 = 0x1b873593u; \ + uint32_t _mur_k1 = 0; \ + const uint8_t *_mur_tail; \ + const uint32_t *_mur_blocks = (const uint32_t*)(_mur_data+(_mur_nblocks*4)); \ + int _mur_i; \ + for (_mur_i = -_mur_nblocks; _mur_i != 0; _mur_i++) { \ + _mur_k1 = MUR_GETBLOCK(_mur_blocks,_mur_i); \ + _mur_k1 *= _mur_c1; \ + _mur_k1 = MUR_ROTL32(_mur_k1,15); \ + _mur_k1 *= _mur_c2; \ + \ + _mur_h1 ^= _mur_k1; \ + _mur_h1 = MUR_ROTL32(_mur_h1,13); \ + _mur_h1 = (_mur_h1*5U) + 0xe6546b64u; \ + } \ + _mur_tail = (const uint8_t*)(_mur_data + (_mur_nblocks*4)); \ + _mur_k1=0; \ + switch ((keylen) & 3U) { \ + case 0: break; \ + case 3: _mur_k1 ^= (uint32_t)_mur_tail[2] << 16; /* FALLTHROUGH */ \ + case 2: _mur_k1 ^= (uint32_t)_mur_tail[1] << 8; /* FALLTHROUGH */ \ + case 1: _mur_k1 ^= (uint32_t)_mur_tail[0]; \ + _mur_k1 *= _mur_c1; \ + _mur_k1 = MUR_ROTL32(_mur_k1,15); \ + _mur_k1 *= _mur_c2; \ + _mur_h1 ^= _mur_k1; \ + } \ + _mur_h1 ^= (uint32_t)(keylen); \ + MUR_FMIX(_mur_h1); \ + hashv = _mur_h1; \ +} while (0) +#endif /* HASH_USING_NO_STRICT_ALIASING */ + +/* iterate over items in a known bucket to find desired item */ +#define HASH_FIND_IN_BKT(tbl,hh,head,keyptr,keylen_in,hashval,out) \ +do { \ + if ((head).hh_head != NULL) { \ + DECLTYPE_ASSIGN(out, ELMT_FROM_HH(tbl, (head).hh_head)); \ + } else { \ + (out) = NULL; \ + } \ + while ((out) != NULL) { \ + if ((out)->hh.hashv == (hashval) && (out)->hh.keylen == (keylen_in)) { \ + if (uthash_memcmp((out)->hh.key, keyptr, keylen_in) == 0) { \ + break; \ + } \ + } \ + if ((out)->hh.hh_next != NULL) { \ + DECLTYPE_ASSIGN(out, ELMT_FROM_HH(tbl, (out)->hh.hh_next)); \ + } else { \ + (out) = NULL; \ + } \ + } \ +} while (0) + +/* add an item to a bucket */ +#define HASH_ADD_TO_BKT(head,hh,addhh,oomed) \ +do { \ + UT_hash_bucket *_ha_head = &(head); \ + _ha_head->count++; \ + (addhh)->hh_next = _ha_head->hh_head; \ + (addhh)->hh_prev = NULL; \ + if (_ha_head->hh_head != NULL) { \ + _ha_head->hh_head->hh_prev = (addhh); \ + } \ + _ha_head->hh_head = (addhh); \ + if ((_ha_head->count >= ((_ha_head->expand_mult + 1U) * HASH_BKT_CAPACITY_THRESH)) \ + && !(addhh)->tbl->noexpand) { \ + HASH_EXPAND_BUCKETS(addhh,(addhh)->tbl, oomed); \ + IF_HASH_NONFATAL_OOM( \ + if (oomed) { \ + HASH_DEL_IN_BKT(head,addhh); \ + } \ + ) \ + } \ +} while (0) + +/* remove an item from a given bucket */ +#define HASH_DEL_IN_BKT(head,delhh) \ +do { \ + UT_hash_bucket *_hd_head = &(head); \ + _hd_head->count--; \ + if (_hd_head->hh_head == (delhh)) { \ + _hd_head->hh_head = (delhh)->hh_next; \ + } \ + if ((delhh)->hh_prev) { \ + (delhh)->hh_prev->hh_next = (delhh)->hh_next; \ + } \ + if ((delhh)->hh_next) { \ + (delhh)->hh_next->hh_prev = (delhh)->hh_prev; \ + } \ +} while (0) + +/* Bucket expansion has the effect of doubling the number of buckets + * and redistributing the items into the new buckets. Ideally the + * items will distribute more or less evenly into the new buckets + * (the extent to which this is true is a measure of the quality of + * the hash function as it applies to the key domain). + * + * With the items distributed into more buckets, the chain length + * (item count) in each bucket is reduced. Thus by expanding buckets + * the hash keeps a bound on the chain length. This bounded chain + * length is the essence of how a hash provides constant time lookup. + * + * The calculation of tbl->ideal_chain_maxlen below deserves some + * explanation. First, keep in mind that we're calculating the ideal + * maximum chain length based on the *new* (doubled) bucket count. + * In fractions this is just n/b (n=number of items,b=new num buckets). + * Since the ideal chain length is an integer, we want to calculate + * ceil(n/b). We don't depend on floating point arithmetic in this + * hash, so to calculate ceil(n/b) with integers we could write + * + * ceil(n/b) = (n/b) + ((n%b)?1:0) + * + * and in fact a previous version of this hash did just that. + * But now we have improved things a bit by recognizing that b is + * always a power of two. We keep its base 2 log handy (call it lb), + * so now we can write this with a bit shift and logical AND: + * + * ceil(n/b) = (n>>lb) + ( (n & (b-1)) ? 1:0) + * + */ +#define HASH_EXPAND_BUCKETS(hh,tbl,oomed) \ +do { \ + unsigned _he_bkt; \ + unsigned _he_bkt_i; \ + struct UT_hash_handle *_he_thh, *_he_hh_nxt; \ + UT_hash_bucket *_he_new_buckets, *_he_newbkt; \ + _he_new_buckets = (UT_hash_bucket*)uthash_malloc( \ + 2UL * (tbl)->num_buckets * sizeof(struct UT_hash_bucket)); \ + if (!_he_new_buckets) { \ + HASH_RECORD_OOM(oomed); \ + } else { \ + uthash_bzero(_he_new_buckets, \ + 2UL * (tbl)->num_buckets * sizeof(struct UT_hash_bucket)); \ + (tbl)->ideal_chain_maxlen = \ + ((tbl)->num_items >> ((tbl)->log2_num_buckets+1U)) + \ + ((((tbl)->num_items & (((tbl)->num_buckets*2U)-1U)) != 0U) ? 1U : 0U); \ + (tbl)->nonideal_items = 0; \ + for (_he_bkt_i = 0; _he_bkt_i < (tbl)->num_buckets; _he_bkt_i++) { \ + _he_thh = (tbl)->buckets[ _he_bkt_i ].hh_head; \ + while (_he_thh != NULL) { \ + _he_hh_nxt = _he_thh->hh_next; \ + HASH_TO_BKT(_he_thh->hashv, (tbl)->num_buckets * 2U, _he_bkt); \ + _he_newbkt = &(_he_new_buckets[_he_bkt]); \ + if (++(_he_newbkt->count) > (tbl)->ideal_chain_maxlen) { \ + (tbl)->nonideal_items++; \ + _he_newbkt->expand_mult = _he_newbkt->count / (tbl)->ideal_chain_maxlen; \ + } \ + _he_thh->hh_prev = NULL; \ + _he_thh->hh_next = _he_newbkt->hh_head; \ + if (_he_newbkt->hh_head != NULL) { \ + _he_newbkt->hh_head->hh_prev = _he_thh; \ + } \ + _he_newbkt->hh_head = _he_thh; \ + _he_thh = _he_hh_nxt; \ + } \ + } \ + uthash_free((tbl)->buckets, (tbl)->num_buckets * sizeof(struct UT_hash_bucket)); \ + (tbl)->num_buckets *= 2U; \ + (tbl)->log2_num_buckets++; \ + (tbl)->buckets = _he_new_buckets; \ + (tbl)->ineff_expands = ((tbl)->nonideal_items > ((tbl)->num_items >> 1)) ? \ + ((tbl)->ineff_expands+1U) : 0U; \ + if ((tbl)->ineff_expands > 1U) { \ + (tbl)->noexpand = 1; \ + uthash_noexpand_fyi(tbl); \ + } \ + uthash_expand_fyi(tbl); \ + } \ +} while (0) + + +/* This is an adaptation of Simon Tatham's O(n log(n)) mergesort */ +/* Note that HASH_SORT assumes the hash handle name to be hh. + * HASH_SRT was added to allow the hash handle name to be passed in. */ +#define HASH_SORT(head,cmpfcn) HASH_SRT(hh,head,cmpfcn) +#define HASH_SRT(hh,head,cmpfcn) \ +do { \ + unsigned _hs_i; \ + unsigned _hs_looping,_hs_nmerges,_hs_insize,_hs_psize,_hs_qsize; \ + struct UT_hash_handle *_hs_p, *_hs_q, *_hs_e, *_hs_list, *_hs_tail; \ + if (head != NULL) { \ + _hs_insize = 1; \ + _hs_looping = 1; \ + _hs_list = &((head)->hh); \ + while (_hs_looping != 0U) { \ + _hs_p = _hs_list; \ + _hs_list = NULL; \ + _hs_tail = NULL; \ + _hs_nmerges = 0; \ + while (_hs_p != NULL) { \ + _hs_nmerges++; \ + _hs_q = _hs_p; \ + _hs_psize = 0; \ + for (_hs_i = 0; _hs_i < _hs_insize; ++_hs_i) { \ + _hs_psize++; \ + _hs_q = ((_hs_q->next != NULL) ? \ + HH_FROM_ELMT((head)->hh.tbl, _hs_q->next) : NULL); \ + if (_hs_q == NULL) { \ + break; \ + } \ + } \ + _hs_qsize = _hs_insize; \ + while ((_hs_psize != 0U) || ((_hs_qsize != 0U) && (_hs_q != NULL))) { \ + if (_hs_psize == 0U) { \ + _hs_e = _hs_q; \ + _hs_q = ((_hs_q->next != NULL) ? \ + HH_FROM_ELMT((head)->hh.tbl, _hs_q->next) : NULL); \ + _hs_qsize--; \ + } else if ((_hs_qsize == 0U) || (_hs_q == NULL)) { \ + _hs_e = _hs_p; \ + if (_hs_p != NULL) { \ + _hs_p = ((_hs_p->next != NULL) ? \ + HH_FROM_ELMT((head)->hh.tbl, _hs_p->next) : NULL); \ + } \ + _hs_psize--; \ + } else if ((cmpfcn( \ + DECLTYPE(head)(ELMT_FROM_HH((head)->hh.tbl, _hs_p)), \ + DECLTYPE(head)(ELMT_FROM_HH((head)->hh.tbl, _hs_q)) \ + )) <= 0) { \ + _hs_e = _hs_p; \ + if (_hs_p != NULL) { \ + _hs_p = ((_hs_p->next != NULL) ? \ + HH_FROM_ELMT((head)->hh.tbl, _hs_p->next) : NULL); \ + } \ + _hs_psize--; \ + } else { \ + _hs_e = _hs_q; \ + _hs_q = ((_hs_q->next != NULL) ? \ + HH_FROM_ELMT((head)->hh.tbl, _hs_q->next) : NULL); \ + _hs_qsize--; \ + } \ + if ( _hs_tail != NULL ) { \ + _hs_tail->next = ((_hs_e != NULL) ? \ + ELMT_FROM_HH((head)->hh.tbl, _hs_e) : NULL); \ + } else { \ + _hs_list = _hs_e; \ + } \ + if (_hs_e != NULL) { \ + _hs_e->prev = ((_hs_tail != NULL) ? \ + ELMT_FROM_HH((head)->hh.tbl, _hs_tail) : NULL); \ + } \ + _hs_tail = _hs_e; \ + } \ + _hs_p = _hs_q; \ + } \ + if (_hs_tail != NULL) { \ + _hs_tail->next = NULL; \ + } \ + if (_hs_nmerges <= 1U) { \ + _hs_looping = 0; \ + (head)->hh.tbl->tail = _hs_tail; \ + DECLTYPE_ASSIGN(head, ELMT_FROM_HH((head)->hh.tbl, _hs_list)); \ + } \ + _hs_insize *= 2U; \ + } \ + HASH_FSCK(hh, head, "HASH_SRT"); \ + } \ +} while (0) + +/* This function selects items from one hash into another hash. + * The end result is that the selected items have dual presence + * in both hashes. There is no copy of the items made; rather + * they are added into the new hash through a secondary hash + * hash handle that must be present in the structure. */ +#define HASH_SELECT(hh_dst, dst, hh_src, src, cond) \ +do { \ + unsigned _src_bkt, _dst_bkt; \ + void *_last_elt = NULL, *_elt; \ + UT_hash_handle *_src_hh, *_dst_hh, *_last_elt_hh=NULL; \ + ptrdiff_t _dst_hho = ((char*)(&(dst)->hh_dst) - (char*)(dst)); \ + if ((src) != NULL) { \ + for (_src_bkt=0; _src_bkt < (src)->hh_src.tbl->num_buckets; _src_bkt++) { \ + for (_src_hh = (src)->hh_src.tbl->buckets[_src_bkt].hh_head; \ + _src_hh != NULL; \ + _src_hh = _src_hh->hh_next) { \ + _elt = ELMT_FROM_HH((src)->hh_src.tbl, _src_hh); \ + if (cond(_elt)) { \ + IF_HASH_NONFATAL_OOM( int _hs_oomed = 0; ) \ + _dst_hh = (UT_hash_handle*)(((char*)_elt) + _dst_hho); \ + _dst_hh->key = _src_hh->key; \ + _dst_hh->keylen = _src_hh->keylen; \ + _dst_hh->hashv = _src_hh->hashv; \ + _dst_hh->prev = _last_elt; \ + _dst_hh->next = NULL; \ + if (_last_elt_hh != NULL) { \ + _last_elt_hh->next = _elt; \ + } \ + if ((dst) == NULL) { \ + DECLTYPE_ASSIGN(dst, _elt); \ + HASH_MAKE_TABLE(hh_dst, dst, _hs_oomed); \ + IF_HASH_NONFATAL_OOM( \ + if (_hs_oomed) { \ + uthash_nonfatal_oom(_elt); \ + (dst) = NULL; \ + continue; \ + } \ + ) \ + } else { \ + _dst_hh->tbl = (dst)->hh_dst.tbl; \ + } \ + HASH_TO_BKT(_dst_hh->hashv, _dst_hh->tbl->num_buckets, _dst_bkt); \ + HASH_ADD_TO_BKT(_dst_hh->tbl->buckets[_dst_bkt], hh_dst, _dst_hh, _hs_oomed); \ + (dst)->hh_dst.tbl->num_items++; \ + IF_HASH_NONFATAL_OOM( \ + if (_hs_oomed) { \ + HASH_ROLLBACK_BKT(hh_dst, dst, _dst_hh); \ + HASH_DELETE_HH(hh_dst, dst, _dst_hh); \ + _dst_hh->tbl = NULL; \ + uthash_nonfatal_oom(_elt); \ + continue; \ + } \ + ) \ + HASH_BLOOM_ADD(_dst_hh->tbl, _dst_hh->hashv); \ + _last_elt = _elt; \ + _last_elt_hh = _dst_hh; \ + } \ + } \ + } \ + } \ + HASH_FSCK(hh_dst, dst, "HASH_SELECT"); \ +} while (0) + +#define HASH_CLEAR(hh,head) \ +do { \ + if ((head) != NULL) { \ + HASH_BLOOM_FREE((head)->hh.tbl); \ + uthash_free((head)->hh.tbl->buckets, \ + (head)->hh.tbl->num_buckets*sizeof(struct UT_hash_bucket)); \ + uthash_free((head)->hh.tbl, sizeof(UT_hash_table)); \ + (head) = NULL; \ + } \ +} while (0) + +#define HASH_OVERHEAD(hh,head) \ + (((head) != NULL) ? ( \ + (size_t)(((head)->hh.tbl->num_items * sizeof(UT_hash_handle)) + \ + ((head)->hh.tbl->num_buckets * sizeof(UT_hash_bucket)) + \ + sizeof(UT_hash_table) + \ + (HASH_BLOOM_BYTELEN))) : 0U) + +#ifdef NO_DECLTYPE +#define HASH_ITER(hh,head,el,tmp) \ +for(((el)=(head)), ((*(char**)(&(tmp)))=(char*)((head!=NULL)?(head)->hh.next:NULL)); \ + (el) != NULL; ((el)=(tmp)), ((*(char**)(&(tmp)))=(char*)((tmp!=NULL)?(tmp)->hh.next:NULL))) +#else +#define HASH_ITER(hh,head,el,tmp) \ +for(((el)=(head)), ((tmp)=DECLTYPE(el)((head!=NULL)?(head)->hh.next:NULL)); \ + (el) != NULL; ((el)=(tmp)), ((tmp)=DECLTYPE(el)((tmp!=NULL)?(tmp)->hh.next:NULL))) +#endif + +/* obtain a count of items in the hash */ +#define HASH_COUNT(head) HASH_CNT(hh,head) +#define HASH_CNT(hh,head) ((head != NULL)?((head)->hh.tbl->num_items):0U) + +typedef struct UT_hash_bucket { + struct UT_hash_handle *hh_head; + unsigned count; + + /* expand_mult is normally set to 0. In this situation, the max chain length + * threshold is enforced at its default value, HASH_BKT_CAPACITY_THRESH. (If + * the bucket's chain exceeds this length, bucket expansion is triggered). + * However, setting expand_mult to a non-zero value delays bucket expansion + * (that would be triggered by additions to this particular bucket) + * until its chain length reaches a *multiple* of HASH_BKT_CAPACITY_THRESH. + * (The multiplier is simply expand_mult+1). The whole idea of this + * multiplier is to reduce bucket expansions, since they are expensive, in + * situations where we know that a particular bucket tends to be overused. + * It is better to let its chain length grow to a longer yet-still-bounded + * value, than to do an O(n) bucket expansion too often. + */ + unsigned expand_mult; + +} UT_hash_bucket; + +/* random signature used only to find hash tables in external analysis */ +#define HASH_SIGNATURE 0xa0111fe1u +#define HASH_BLOOM_SIGNATURE 0xb12220f2u + +typedef struct UT_hash_table { + UT_hash_bucket *buckets; + unsigned num_buckets, log2_num_buckets; + unsigned num_items; + struct UT_hash_handle *tail; /* tail hh in app order, for fast append */ + ptrdiff_t hho; /* hash handle offset (byte pos of hash handle in element */ + + /* in an ideal situation (all buckets used equally), no bucket would have + * more than ceil(#items/#buckets) items. that's the ideal chain length. */ + unsigned ideal_chain_maxlen; + + /* nonideal_items is the number of items in the hash whose chain position + * exceeds the ideal chain maxlen. these items pay the penalty for an uneven + * hash distribution; reaching them in a chain traversal takes >ideal steps */ + unsigned nonideal_items; + + /* ineffective expands occur when a bucket doubling was performed, but + * afterward, more than half the items in the hash had nonideal chain + * positions. If this happens on two consecutive expansions we inhibit any + * further expansion, as it's not helping; this happens when the hash + * function isn't a good fit for the key domain. When expansion is inhibited + * the hash will still work, albeit no longer in constant time. */ + unsigned ineff_expands, noexpand; + + uint32_t signature; /* used only to find hash tables in external analysis */ +#ifdef HASH_BLOOM + uint32_t bloom_sig; /* used only to test bloom exists in external analysis */ + uint8_t *bloom_bv; + uint8_t bloom_nbits; +#endif + +} UT_hash_table; + +typedef struct UT_hash_handle { + struct UT_hash_table *tbl; + void *prev; /* prev element in app order */ + void *next; /* next element in app order */ + struct UT_hash_handle *hh_prev; /* previous hh in bucket order */ + struct UT_hash_handle *hh_next; /* next hh in bucket order */ + void *key; /* ptr to enclosing struct's key */ + unsigned keylen; /* enclosing struct's key len */ + unsigned hashv; /* result of hash-fcn(key) */ +} UT_hash_handle; + +#endif /* UTHASH_H */ diff --git a/tpws/Makefile b/tpws/Makefile new file mode 100644 index 0000000..7094d43 --- /dev/null +++ b/tpws/Makefile @@ -0,0 +1,12 @@ +CC ?= gcc +CFLAGS += -std=c99 -s -O3 +LIBS = -lz -lcap +SRC_FILES = *.c + +all: tpws + +tpws: $(SRC_FILES) + $(CC) $(CFLAGS) -o $@ $^ $(LDFLAGS) $(LIBS) + +clean: + rm -f tpws *.o diff --git a/tpws/gzip.c b/tpws/gzip.c new file mode 100644 index 0000000..d536b23 --- /dev/null +++ b/tpws/gzip.c @@ -0,0 +1,82 @@ +#include +#include +#include +#include "gzip.h" + +#define ZCHUNK 16384 +#define BUFMIN 128 +#define BUFCHUNK (1024*128) + +int z_readfile(FILE *F,char **buf,size_t *size) +{ + z_stream zs; + int r; + unsigned char in[ZCHUNK]; + size_t bufsize; + void *newbuf; + + memset(&zs,0,sizeof(zs)); + + *buf = NULL; + bufsize=*size=0; + + r=inflateInit2(&zs,47); + if (r != Z_OK) return r; + + do + { + zs.avail_in = fread(in, 1, sizeof(in), F); + if (ferror(F)) + { + r = Z_ERRNO; + goto zerr; + } + if (!zs.avail_in) break; + zs.next_in = in; + do + { + if ((bufsize-*size) +#include +#include + +int z_readfile(FILE *F,char **buf,size_t *size); +bool is_gzip(FILE* F); diff --git a/tpws/hostlist.c b/tpws/hostlist.c new file mode 100644 index 0000000..cbed7a8 --- /dev/null +++ b/tpws/hostlist.c @@ -0,0 +1,112 @@ +#include +#include "hostlist.h" +#include "gzip.h" +#include "params.h" + +static bool addpool(strpool **hostlist, char **s, char *end) +{ + char *p; + + // advance until eol lowering all chars + for (p = *s; p +#include "strpool.h" + +bool LoadHostList(strpool **hostlist, char *filename); +bool SearchHostList(strpool *hostlist, const char *host); diff --git a/tpws/params.h b/tpws/params.h new file mode 100644 index 0000000..87f2ec4 --- /dev/null +++ b/tpws/params.h @@ -0,0 +1,43 @@ +#pragma once + +#include +#include +#include +#include "strpool.h" + +enum splithttpreq { split_none = 0, split_method, split_host }; + +struct params_s +{ + char bindaddr[64],bindiface[IF_NAMESIZE]; + bool bind_if6; + bool bindll,bindll_force; + int bind_wait_ifup,bind_wait_ip,bind_wait_ip_ll; + uint8_t proxy_type; + bool no_resolve; + bool skip_nodelay; + uid_t uid; + gid_t gid; + bool daemon; + uint16_t port; + int maxconn,maxfiles,max_orphan_time; + int local_rcvbuf,local_sndbuf,remote_rcvbuf,remote_sndbuf; + + bool tamper; // any tamper option is set + bool hostcase, hostdot, hosttab, hostnospace, methodspace, methodeol, unixeol; + int hostpad; + char hostspell[4]; + enum splithttpreq split_http_req; + int split_pos; + char hostfile[256]; + char pidfile[256]; + strpool *hostlist; + + int debug; +}; + +extern struct params_s params; + +#define _DBGPRINT(format, level, ...) { if (params.debug>=level) printf(format "\n", ##__VA_ARGS__); } +#define VPRINT(format, ...) _DBGPRINT(format,1,##__VA_ARGS__) +#define DBGPRINT(format, ...) _DBGPRINT(format,2,##__VA_ARGS__) diff --git a/tpws/socks.h b/tpws/socks.h new file mode 100644 index 0000000..9026a64 --- /dev/null +++ b/tpws/socks.h @@ -0,0 +1,93 @@ +#pragma once + +#include +#include + +#pragma pack(push,1) + +#define S4_CMD_CONNECT 1 +#define S4_CMD_BIND 2 +typedef struct +{ + uint8_t ver,cmd; + uint16_t port; + uint32_t ip; +} s4_req; +#define S4_REQ_HEADER_VALID(r,l) (l>=sizeof(s4_req) && r->ver==4) +#define S4_REQ_CONNECT_VALID(r,l) (S4_REQ_HEADER_VALID(r,l) && r->cmd==S4_CMD_CONNECT) + +#define S4_REP_OK 90 +#define S4_REP_FAILED 91 +typedef struct +{ + uint8_t zero,rep; + uint16_t port; + uint32_t ip; +} s4_rep; + + + +#define S5_AUTH_NONE 0 +#define S5_AUTH_GSSAPI 1 +#define S5_AUTH_USERPASS 2 +#define S5_AUTH_UNACCEPTABLE 0xFF +typedef struct +{ + uint8_t ver,nmethods,methods[255]; +} s5_handshake; +#define S5_REQ_HANDHSHAKE_VALID(r,l) (l>=3 && r->ver==5 && r->nmethods && l>=(2+r->nmethods)) +typedef struct +{ + uint8_t ver,method; +} s5_handshake_ack; + +#define S5_CMD_CONNECT 1 +#define S5_CMD_BIND 2 +#define S5_CMD_UDP_ASSOC 3 +#define S5_ATYP_IP4 1 +#define S5_ATYP_DOM 3 +#define S5_ATYP_IP6 4 +typedef struct +{ + uint8_t ver,cmd,rsv,atyp; + union { + struct { + struct in_addr addr; + uint16_t port; + } d4; + struct { + struct in6_addr addr; + uint16_t port; + } d6; + struct { + uint8_t len; + char domport[255+2]; // max hostname + binary port + } dd; + }; +} s5_req; +#define S5_REQ_HEADER_VALID(r,l) (l>=4 && r->ver==5) +#define S5_IP46_VALID(r,l) (r->atyp==S5_ATYP_IP4 && l>=(4+sizeof(r->d4)) || r->atyp==S5_ATYP_IP6 && l>=(4+sizeof(r->d6))) +#define S5_REQ_CONNECT_VALID(r,l) (S5_REQ_HEADER_VALID(r,l) && r->cmd==S5_CMD_CONNECT && (S5_IP46_VALID(r,l) || r->atyp==S5_ATYP_DOM && l>=5 && l>=(5+r->dd.len))) +#define S5_PORT_FROM_DD(r,l) (l>=(4+r->dd.len+2) ? ntohs(*(uint16_t*)(r->dd.domport+r->dd.len)) : 0) + +#define S5_REP_OK 0 +#define S5_REP_GENERAL_FAILURE 1 +#define S5_REP_NOT_ALLOWED_BY_RULESET 2 +#define S5_REP_NETWORK_UNREACHABLE 3 +#define S5_REP_HOST_UNREACHABLE 4 +#define S5_REP_CONN_REFUSED 5 +#define S5_REP_TTL_EXPIRED 6 +#define S5_REP_COMMAND_NOT_SUPPORTED 7 +#define S5_REP_ADDR_TYPE_NOT_SUPPORTED 8 +typedef struct +{ + uint8_t ver,rep,rsv,atyp; + union { + struct { + struct in_addr addr; + uint16_t port; + } d4; + }; +} s5_rep; + +#pragma pack(pop) diff --git a/tpws/strpool.c b/tpws/strpool.c new file mode 100644 index 0000000..41e62a9 --- /dev/null +++ b/tpws/strpool.c @@ -0,0 +1,76 @@ +#define _GNU_SOURCE +#include "strpool.h" +#include +#include + +#undef uthash_nonfatal_oom +#define uthash_nonfatal_oom(elt) ut_oom_recover(elt) + +static bool oom=false; +static void ut_oom_recover(strpool *elem) +{ + oom=true; +} + +// for zero terminated strings +bool StrPoolAddStr(strpool **pp,const char *s) +{ + strpool *elem; + if (!(elem = (strpool*)malloc(sizeof(strpool)))) + return false; + if (!(elem->str = strdup(s))) + { + free(elem); + return false; + } + oom = false; + HASH_ADD_KEYPTR( hh, *pp, elem->str, strlen(elem->str), elem ); + if (oom) + { + free(elem->str); + free(elem); + return false; + } + return true; +} +// for not zero terminated strings +bool StrPoolAddStrLen(strpool **pp,const char *s,size_t slen) +{ + strpool *elem; + if (!(elem = (strpool*)malloc(sizeof(strpool)))) + return false; + if (!(elem->str = malloc(slen+1))) + { + free(elem); + return false; + } + memcpy(elem->str,s,slen); + elem->str[slen]=0; + oom = false; + HASH_ADD_KEYPTR( hh, *pp, elem->str, strlen(elem->str), elem ); + if (oom) + { + free(elem->str); + free(elem); + return false; + } + return true; +} + +bool StrPoolCheckStr(strpool *p,const char *s) +{ + strpool *elem; + HASH_FIND_STR( p, s, elem); + return elem!=NULL; +} + +void StrPoolDestroy(strpool **p) +{ + strpool *elem,*tmp; + HASH_ITER(hh, *p, elem, tmp) { + free(elem->str); + HASH_DEL(*p, elem); + free(elem); + } + *p = NULL; +} diff --git a/tpws/strpool.h b/tpws/strpool.h new file mode 100644 index 0000000..5932ba3 --- /dev/null +++ b/tpws/strpool.h @@ -0,0 +1,19 @@ +#pragma once + +#include +#include + +//#define HASH_BLOOM 20 +#define HASH_NONFATAL_OOM 1 +#define HASH_FUNCTION HASH_BER +#include "uthash.h" + +typedef struct strpool { + char *str; /* key */ + UT_hash_handle hh; /* makes this structure hashable */ +} strpool; + +void StrPoolDestroy(strpool **p); +bool StrPoolAddStr(strpool **pp,const char *s); +bool StrPoolAddStrLen(strpool **pp,const char *s,size_t slen); +bool StrPoolCheckStr(strpool *p,const char *s); diff --git a/tpws/tamper.c b/tpws/tamper.c new file mode 100644 index 0000000..9b100e4 --- /dev/null +++ b/tpws/tamper.c @@ -0,0 +1,222 @@ +#include "tamper.h" +#include "params.h" +#include "hostlist.h" +#include +#include + +char *find_bin(void *data, size_t len, const void *blk, size_t blk_len) +{ + while (len >= blk_len) + { + if (!memcmp(data, blk, blk_len)) + return data; + data = (char*)data + 1; + len--; + } + return NULL; +} + +// pHost points to "Host: ..." +bool find_host(char **pHost,char *buf,size_t bs) +{ + if (!*pHost) + { + *pHost = find_bin(buf, bs, "\nHost:", 6); + if (*pHost) + { + (*pHost)++; + VPRINT("Found Host: at pos %zu",*pHost - buf) + } + } + return !!*pHost; +} + +static const char *http_methods[] = { "GET /","POST /","HEAD /","OPTIONS /","PUT /","DELETE /","CONNECT /","TRACE /",NULL }; +void modify_tcp_segment(char *segment,size_t segment_buffer_size,size_t *size,size_t *split_pos) +{ + char *p, *pp, *pHost = NULL; + size_t method_len = 0, pos; + const char **method; + bool bIsHttp = false, bBypass = false; + char bRemovedHostSpace = 0; + char Host[128]; + + *split_pos=0; + + for (method = http_methods; *method; method++) + { + method_len = strlen(*method); + if (method_len <= *size && !memcmp(segment, *method, method_len)) + { + bIsHttp = true; + method_len -= 2; // "GET /" => "GET" + break; + } + } + if (bIsHttp) + { + VPRINT("Data block looks like http request start : %s", *method) + // cpu saving : we search host only if and when required. we do not research host every time we need its position + if (params.hostlist && find_host(&pHost,segment,*size)) + { + p = pHost + 5; + while (p < (segment + *size) && (*p == ' ' || *p == '\t')) p++; + pp = p; + while (pp < (segment + *size) && (pp - p) < (sizeof(Host) - 1) && *pp != '\r' && *pp != '\n') pp++; + memcpy(Host, p, pp - p); + Host[pp - p] = '\0'; + VPRINT("Requested Host is : %s", Host) + for(p = Host; *p; p++) *p=tolower(*p); + bBypass = !SearchHostList(params.hostlist,Host); + } + if (!bBypass) + { + if (params.unixeol) + { + p = pp = segment; + while (p = find_bin(p, segment + *size - p, "\r\n", 2)) + { + *p = '\n'; p++; + memmove(p, p + 1, segment + *size - p - 1); + (*size)--; + if (pp == (p - 1)) + { + // probably end of http headers + VPRINT("Found double EOL at pos %zu. Stop replacing.", pp - segment) + break; + } + pp = p; + } + pHost = NULL; // invalidate + } + if (params.methodeol && (*size+1+!params.unixeol)<=segment_buffer_size) + { + VPRINT("Adding EOL before method") + if (params.unixeol) + { + memmove(segment + 1, segment, *size); + (*size)++;; + segment[0] = '\n'; + if (*split_pos) (*split_pos)++; + } + else + { + memmove(segment + 2, segment, *size); + *size += 2; + segment[0] = '\r'; + segment[1] = '\n'; + if (*split_pos) *split_pos += 2; + } + pHost = NULL; // invalidate + } + if (params.methodspace && *size '%c%c%c%c:' at pos %zu", params.hostspell[0], params.hostspell[1], params.hostspell[2], params.hostspell[3], pHost - segment) + memcpy(pHost, params.hostspell, 4); + } + if (params.hostpad && find_host(&pHost,segment,*size)) + { + // add : XXXXX: segment_buffer_size) + VPRINT("could not add host padding : buffer too small") + else + { + if ((hostpad+*size)>segment_buffer_size) + { + hostpad=segment_buffer_size-*size; + VPRINT("host padding reduced to %zu bytes : buffer too small", hostpad) + } + else + VPRINT("host padding with %zu bytes", hostpad) + + p = pHost; + pos = p - segment; + memmove(p + hostpad, p, *size - pos); + (*size) += hostpad; + while(hostpad) + { + #define MAX_HDR_SIZE 2048 + size_t padsize = hostpad > hsize ? hostpad-hsize : 0; + if (padsize>MAX_HDR_SIZE) padsize=MAX_HDR_SIZE; + // if next header would be too small then add extra padding to the current one + if ((hostpad-padsize-hsize) +#include + +char *find_bin(void *data, size_t len, const void *blk, size_t blk_len); +bool find_host(char **pHost,char *buf,size_t bs); +void modify_tcp_segment(char *segment,size_t segment_buffer_size,size_t *size,size_t *split_pos); diff --git a/tpws/tpws.c b/tpws/tpws.c new file mode 100644 index 0000000..2b671b7 --- /dev/null +++ b/tpws/tpws.c @@ -0,0 +1,850 @@ +#define _GNU_SOURCE +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "tpws.h" +#include "tpws_conn.h" +#include "hostlist.h" +#include "params.h" + +struct params_s params; + +bool bHup = false; +static void onhup(int sig) +{ + printf("HUP received !\n"); + if (params.hostlist) + printf("Will reload hostlist on next request\n"); + bHup = true; +} +// should be called in normal execution +void dohup() +{ + if (bHup) + { + if (params.hostlist) + { + if (!LoadHostList(¶ms.hostlist, params.hostfile)) + { + // what will we do without hostlist ?? sure, gonna die + exit(1); + } + } + bHup = false; + } +} + + + +static int8_t block_sigpipe() +{ + sigset_t sigset; + memset(&sigset, 0, sizeof(sigset)); + + //Get the old sigset, add SIGPIPE and update sigset + if (sigprocmask(SIG_BLOCK, NULL, &sigset) == -1) { + perror("sigprocmask (get)"); + return -1; + } + + if (sigaddset(&sigset, SIGPIPE) == -1) { + perror("sigaddset"); + return -1; + } + + if (sigprocmask(SIG_BLOCK, &sigset, NULL) == -1) { + perror("sigprocmask (set)"); + return -1; + } + + return 0; +} + + +static bool is_interface_online(const char *ifname) +{ + struct ifreq ifr; + int sock; + + if ((sock=socket(PF_INET, SOCK_DGRAM, IPPROTO_IP))==-1) + return false; + memset(&ifr, 0, sizeof(ifr)); + strncpy(ifr.ifr_name, ifname, IFNAMSIZ); + ifr.ifr_name[IFNAMSIZ] = 0; + ioctl(sock, SIOCGIFFLAGS, &ifr); + close(sock); + return !!(ifr.ifr_flags & IFF_UP); +} + + +static void exithelp() +{ + printf( + " --bind-addr=|\n" + " --bind-iface4=\t; bind to the first ipv4 addr of interface\n" + " --bind-iface6=\t; bind to the first ipv6 addr of interface\n" + " --bind-linklocal=prefer|force\t; prefer or force ipv6 link local\n" + " --bind-wait-ifup=\t\t; wait for interface to appear and up\n" + " --bind-wait-ip=\t\t; after ifup wait for ip address to appear up to N seconds\n" + " --bind-wait-ip-linklocal=\t; accept only link locals first N seconds then any\n" + " --socks\t\t\t; implement socks4/5 proxy instead of transparent proxy\n" + " --no-resolve\t\t\t; disable socks5 remote dns ability (resolves are not async, they block all activity)\n" + " --local-rcvbuf=\n" + " --local-sndbuf=\n" + " --remote-rcvbuf=\n" + " --remote-sndbuf=\n" + " --skip-nodelay\t\t\t; do not set TCP_NODELAY option for outgoing connections (incompatible with split options)\n" + " --port=\n" + " --maxconn=\n" + " --maxfiles=\t; should be at least (X*connections+16), where X=6 in tcp proxy mode, X=4 in tampering mode\n" + " --max-orphan-time=\t; if local leg sends something and closes and remote leg is still connecting then cancel connection attempt after N seconds\n" + " --daemon\t\t\t; daemonize\n" + " --pidfile=\t\t; write pid to file\n" + " --user=\t\t; drop root privs\n" + " --uid=uid[:gid]\t\t; drop root privs\n" + " --debug=0|1|2\t\t\t; 0(default)=silent 1=verbose 2=debug\n" + "\nTAMPERING:\n" + " --hostlist=\t\t; only act on host in the list (one host per line, subdomains auto apply)\n" + " --split-http-req=method|host\n" + " --split-pos=\t; split at specified pos. invalidates split-http-req.\n" + " --hostcase\t\t\t; change Host: => host:\n" + " --hostspell\t\t\t; exact spelling of \"Host\" header. must be 4 chars. default is \"host\"\n" + " --hostdot\t\t\t; add \".\" after Host: name\n" + " --hosttab\t\t\t; add tab after Host: name\n" + " --hostnospace\t\t\t; remove space after Host:\n" + " --hostpad=\t\t; add dummy padding headers before Host:\n" + " --methodspace\t\t\t; add extra space after method\n" + " --methodeol\t\t\t; add end-of-line before method\n" + " --unixeol\t\t\t; replace 0D0A to 0A\n" + ); + exit(1); +} +static void cleanup_params() +{ + if (params.hostlist) + { + StrPoolDestroy(¶ms.hostlist); + params.hostlist = NULL; + } +} +static void exithelp_clean() +{ + cleanup_params(); + exithelp(); +} +static void exit_clean(int code) +{ + cleanup_params(); + exit(code); +} +void parse_params(int argc, char *argv[]) +{ + int option_index = 0; + int v, i; + + memset(¶ms, 0, sizeof(params)); + memcpy(params.hostspell, "host", 4); // default hostspell + params.maxconn = DEFAULT_MAX_CONN; + params.max_orphan_time = DEFAULT_MAX_ORPHAN_TIME; + + const struct option long_options[] = { + { "help",no_argument,0,0 },// optidx=0 + { "h",no_argument,0,0 },// optidx=1 + { "bind-addr",required_argument,0,0 },// optidx=2 + { "bind-iface4",required_argument,0,0 },// optidx=3 + { "bind-iface6",required_argument,0,0 },// optidx=4 + { "bind-linklocal",required_argument,0,0 },// optidx=5 + { "bind-wait-ifup",required_argument,0,0 },// optidx=6 + { "bind-wait-ip",required_argument,0,0 },// optidx=7 + { "bind-wait-ip-linklocal",required_argument,0,0 },// optidx=8 + { "port",required_argument,0,0 },// optidx=9 + { "daemon",no_argument,0,0 },// optidx=10 + { "user",required_argument,0,0 },// optidx=11 + { "uid",required_argument,0,0 },// optidx=12 + { "maxconn",required_argument,0,0 },// optidx=13 + { "maxfiles",required_argument,0,0 },// optidx=14 + { "max-orphan-time",required_argument,0,0 },// optidx=15 + { "hostcase",no_argument,0,0 },// optidx=16 + { "hostspell",required_argument,0,0 },// optidx=17 + { "hostdot",no_argument,0,0 },// optidx=18 + { "hostnospace",no_argument,0,0 },// optidx=19 + { "hostpad",required_argument,0,0 },// optidx=20 + { "split-http-req",required_argument,0,0 },// optidx=21 + { "split-pos",required_argument,0,0 },// optidx=22 + { "methodspace",no_argument,0,0 },// optidx=23 + { "methodeol",no_argument,0,0 },// optidx=24 + { "hosttab",no_argument,0,0 },// optidx=25 + { "unixeol",no_argument,0,0 },// optidx=26 + { "hostlist",required_argument,0,0 },// optidx=27 + { "pidfile",required_argument,0,0 },// optidx=28 + { "debug",optional_argument,0,0 },// optidx=29 + { "local-rcvbuf",required_argument,0,0 },// optidx=30 + { "local-sndbuf",required_argument,0,0 },// optidx=31 + { "remote-rcvbuf",required_argument,0,0 },// optidx=32 + { "remote-sndbuf",required_argument,0,0 },// optidx=33 + { "socks",no_argument,0,0 },// optidx=34 + { "no-resolve",no_argument,0,0 },// optidx=35 + { "skip-nodelay",no_argument,0,0 },// optidx=36 + { NULL,0,NULL,0 } + }; + while ((v = getopt_long_only(argc, argv, "", long_options, &option_index)) != -1) + { + if (v) exithelp_clean(); + switch (option_index) + { + case 0: + case 1: + exithelp_clean(); + break; + case 2: /* bind-addr */ + strncpy(params.bindaddr, optarg, sizeof(params.bindaddr)); + params.bindaddr[sizeof(params.bindaddr) - 1] = 0; + break; + case 3: /* bind-iface4 */ + params.bind_if6=false; + strncpy(params.bindiface, optarg, sizeof(params.bindiface)); + params.bindiface[sizeof(params.bindiface) - 1] = 0; + break; + case 4: /* bind-iface6 */ + params.bind_if6=true; + strncpy(params.bindiface, optarg, sizeof(params.bindiface)); + params.bindiface[sizeof(params.bindiface) - 1] = 0; + break; + case 5: /* bind-linklocal */ + params.bindll = true; + if (!strcmp(optarg, "force")) + params.bindll_force=true; + else if (strcmp(optarg, "prefer")) + { + fprintf(stderr, "invalid parameter in bind-linklocal : %s\n",optarg); + exit_clean(1); + } + break; + case 6: /* bind-wait-ifup */ + params.bind_wait_ifup = atoi(optarg); + break; + case 7: /* bind-wait-ip */ + params.bind_wait_ip = atoi(optarg); + break; + case 8: /* bind-wait-ip-linklocal */ + params.bind_wait_ip_ll = atoi(optarg); + break; + case 9: /* port */ + i = atoi(optarg); + if (i <= 0 || i > 65535) + { + fprintf(stderr, "bad port number\n"); + exit_clean(1); + } + params.port = (uint16_t)i; + break; + case 10: /* daemon */ + params.daemon = true; + break; + case 11: /* user */ + { + struct passwd *pwd = getpwnam(optarg); + if (!pwd) + { + fprintf(stderr, "non-existent username supplied\n"); + exit_clean(1); + } + params.uid = pwd->pw_uid; + params.gid = pwd->pw_gid; + break; + } + case 12: /* uid */ + params.gid=0x7FFFFFFF; // default git. drop gid=0 + if (!sscanf(optarg,"%u:%u",¶ms.uid,¶ms.gid)) + { + fprintf(stderr, "--uid should be : uid[:gid]\n"); + exit_clean(1); + } + break; + case 13: /* maxconn */ + params.maxconn = atoi(optarg); + if (params.maxconn <= 0 || params.maxconn > 10000) + { + fprintf(stderr, "bad maxconn\n"); + exit_clean(1); + } + break; + case 14: /* maxfiles */ + params.maxfiles = atoi(optarg); + if (params.maxfiles < 0) + { + fprintf(stderr, "bad maxfiles\n"); + exit_clean(1); + } + break; + case 15: /* max-orphan-time */ + params.max_orphan_time = atoi(optarg); + if (params.max_orphan_time < 0) + { + fprintf(stderr, "bad max_orphan_time\n"); + exit_clean(1); + } + break; + case 16: /* hostcase */ + params.hostcase = true; + params.tamper = true; + break; + case 17: /* hostspell */ + if (strlen(optarg) != 4) + { + fprintf(stderr, "hostspell must be exactly 4 chars long\n"); + exit_clean(1); + } + params.hostcase = true; + memcpy(params.hostspell, optarg, 4); + params.tamper = true; + break; + case 18: /* hostdot */ + params.hostdot = true; + params.tamper = true; + break; + case 19: /* hostnospace */ + params.hostnospace = true; + params.tamper = true; + break; + case 20: /* hostpad */ + params.hostpad = atoi(optarg); + params.tamper = true; + break; + case 21: /* split-http-req */ + if (!strcmp(optarg, "method")) + params.split_http_req = split_method; + else if (!strcmp(optarg, "host")) + params.split_http_req = split_host; + else + { + fprintf(stderr, "Invalid argument for split-http-req\n"); + exit_clean(1); + } + params.tamper = true; + break; + case 22: /* split-pos */ + i = atoi(optarg); + if (i) + params.split_pos = i; + else + { + fprintf(stderr, "Invalid argument for split-pos\n"); + exit_clean(1); + } + params.tamper = true; + break; + case 23: /* methodspace */ + params.methodspace = true; + params.tamper = true; + break; + case 24: /* methodeol */ + params.methodeol = true; + params.tamper = true; + break; + case 25: /* hosttab */ + params.hosttab = true; + params.tamper = true; + break; + case 26: /* unixeol */ + params.unixeol = true; + params.tamper = true; + break; + case 27: /* hostlist */ + if (!LoadHostList(¶ms.hostlist, optarg)) + exit_clean(1); + strncpy(params.hostfile,optarg,sizeof(params.hostfile)); + params.hostfile[sizeof(params.hostfile)-1]='\0'; + params.tamper = true; + break; + case 28: /* pidfile */ + strncpy(params.pidfile,optarg,sizeof(params.pidfile)); + params.pidfile[sizeof(params.pidfile)-1]='\0'; + break; + case 29: + params.debug = optarg ? atoi(optarg) : 1; + break; + case 30: /* local-rcvbuf */ + params.local_rcvbuf = atoi(optarg)/2; + break; + case 31: /* local-sndbuf */ + params.local_sndbuf = atoi(optarg)/2; + break; + case 32: /* remote-rcvbuf */ + params.remote_rcvbuf = atoi(optarg)/2; + break; + case 33: /* remote-sndbuf */ + params.remote_sndbuf = atoi(optarg)/2; + break; + case 34: /* socks */ + params.proxy_type = CONN_TYPE_SOCKS; + break; + case 35: /* no-resolve */ + params.no_resolve = true; + break; + case 36: /* skip-nodelay */ + params.skip_nodelay = true; + break; + } + } + if (!params.port) + { + fprintf(stderr, "Need port number\n"); + exit_clean(1); + } + if (params.skip_nodelay && (params.split_http_req || params.split_pos)) + { + fprintf(stderr, "Cannot split with --skip-nodelay\n"); + exit_clean(1); + } +} + +static void daemonize() +{ + int pid,fd; + + pid = fork(); + if (pid == -1) + { + perror("fork: "); + exit(2); + } + else if (pid != 0) + exit(0); + + if (setsid() == -1) + exit(2); + if (chdir("/") == -1) + exit(2); + close(STDIN_FILENO); + close(STDOUT_FILENO); + close(STDERR_FILENO); + /* redirect fd's 0,1,2 to /dev/null */ + open("/dev/null", O_RDWR); + /* stdin */ + fd=dup(0); + /* stdout */ + fd=dup(0); + /* stderror */ +} + +static bool setpcap(cap_value_t *caps,int ncaps) +{ + cap_t capabilities; + + if (!(capabilities = cap_init())) + return false; + + if (ncaps && (cap_set_flag(capabilities, CAP_PERMITTED, ncaps, caps, CAP_SET) || + cap_set_flag(capabilities, CAP_EFFECTIVE, ncaps, caps, CAP_SET))) + { + cap_free(capabilities); + return false; + } + if (cap_set_proc(capabilities)) + { + cap_free(capabilities); + return false; + } + cap_free(capabilities); + return true; +} +static int getmaxcap() +{ + int maxcap = CAP_LAST_CAP; + FILE *F = fopen("/proc/sys/kernel/cap_last_cap","r"); + if (F) + { + int n=fscanf(F,"%d",&maxcap); + fclose(F); + } + return maxcap; + +} +static bool dropcaps() +{ + // must have CAP_SETPCAP at the end. its required to clear bounding set + cap_value_t cap_values[] = {CAP_SETPCAP}; + int capct=sizeof(cap_values)/sizeof(*cap_values); + int maxcap = getmaxcap(); + + if (setpcap(cap_values, capct)) + { + for(int cap=0;cap<=maxcap;cap++) + { + if (cap_drop_bound(cap)) + { + fprintf(stderr,"could not drop cap %d\n",cap); + perror("cap_drop_bound"); + } + } + } + // now without CAP_SETPCAP + if (!setpcap(cap_values, capct - 1)) + { + perror("setpcap"); + return false; + } + return true; +} +static bool droproot() +{ + if (params.uid || params.gid) + { + if (prctl(PR_SET_KEEPCAPS, 1L)) + { + perror("prctl(PR_SET_KEEPCAPS): "); + return false; + } + if (setgid(params.gid)) + { + perror("setgid: "); + return false; + } + if (setuid(params.uid)) + { + perror("setuid: "); + return false; + } + } + return dropcaps(); +} + + +static bool writepid(const char *filename) +{ + FILE *F; + if (!(F=fopen(filename,"w"))) + return false; + fprintf(F,"%d",getpid()); + fclose(F); + return true; +} + + + +static bool find_listen_addr(struct sockaddr_storage *salisten, bool bindll, int *if_index) +{ + struct ifaddrs *addrs,*a; + bool found=false; + + if (getifaddrs(&addrs)<0) + return false; + + a = addrs; + while (a) + { + if (a->ifa_addr) + { + if (a->ifa_addr->sa_family==AF_INET && + *params.bindiface && !params.bind_if6 && !strcmp(a->ifa_name, params.bindiface)) + { + salisten->ss_family = AF_INET; + memcpy(&((struct sockaddr_in*)salisten)->sin_addr, &((struct sockaddr_in*)a->ifa_addr)->sin_addr, sizeof(struct in_addr)); + found=true; + break; + } + // ipv6 links locals are fe80::/10 + else if (a->ifa_addr->sa_family==AF_INET6 + && + (!*params.bindiface && bindll || + *params.bindiface && params.bind_if6 && !strcmp(a->ifa_name, params.bindiface)) + && + (!bindll || + ((struct sockaddr_in6*)a->ifa_addr)->sin6_addr.s6_addr[0]==0xFE && + (((struct sockaddr_in6*)a->ifa_addr)->sin6_addr.s6_addr[1] & 0xC0)==0x80)) + { + salisten->ss_family = AF_INET6; + memcpy(&((struct sockaddr_in6*)salisten)->sin6_addr, &((struct sockaddr_in6*)a->ifa_addr)->sin6_addr, sizeof(struct in6_addr)); + if (if_index) *if_index = if_nametoindex(a->ifa_name); + found=true; + break; + } + } + a = a->ifa_next; + } + freeifaddrs(addrs); + return found; +} + +static bool set_ulimit() +{ + FILE *F; + int fdmax,fdmin_system,n,cur_lim=0; + + if (!params.maxfiles) + { + // 4 fds per tamper connection (2 pipe + 2 socket), 6 fds for tcp proxy connection (4 pipe + 2 socket) + // additional 1/2 for unpaired remote legs sending buffers + // 16 for listen_fd, epoll, hostlist, ... + fdmax = (params.tamper ? 4 : 6) * params.maxconn; + fdmax += fdmax/2 + 16; + } + else + fdmax = params.maxfiles; + fdmin_system = fdmax + 4096; + DBGPRINT("set_ulimit : fdmax=%d fdmin_system=%d",fdmax,fdmin_system) + + if (!(F=fopen("/proc/sys/fs/file-max","r"))) + return false; + n=fscanf(F,"%d",&cur_lim); + fclose(F); + if (!n) return false; + DBGPRINT("set_ulimit : current system file-max=%d",cur_lim) + if (cur_lim 0) + { + int sec=0; + if (!is_interface_online(params.bindiface)) + { + fprintf(stderr,"waiting ifup of %s for up to %d seconds...\n",params.bindiface,params.bind_wait_ifup); + do + { + sleep(1); + sec++; + } + while (!is_interface_online(params.bindiface) && sec=params.bind_wait_ifup) + { + printf("wait timed out\n"); + goto exiterr; + } + } + } + if (!(if_index = if_nametoindex(params.bindiface)) && params.bind_wait_ip<=0) + { + printf("bad iface %s\n",params.bindiface); + goto exiterr; + } + } + if (*params.bindaddr) + { + if (inet_pton(AF_INET, params.bindaddr, &((struct sockaddr_in*)&salisten)->sin_addr)) + { + salisten.ss_family = AF_INET; + } + else if (inet_pton(AF_INET6, params.bindaddr, &((struct sockaddr_in6*)&salisten)->sin6_addr)) + { + salisten.ss_family = AF_INET6; + ipv6_only = 1; + } + else + { + printf("bad bind addr : %s\n", params.bindaddr); + goto exiterr; + } + } + else + { + if (*params.bindiface || params.bindll) + { + bool found; + int sec=0; + + if (params.bind_wait_ip > 0) + { + fprintf(stderr,"waiting for ip for %d seconds...\n", params.bind_wait_ip); + if (params.bindll && !params.bindll_force && params.bind_wait_ip_ll>0) + fprintf(stderr,"during the first %d seconds accepting only link locals...\n", params.bind_wait_ip_ll); + } + + for(;;) + { + found = find_listen_addr(&salisten,params.bindll,&if_index); + if (found) break; + + if (params.bindll && !params.bindll_force && sec>=params.bind_wait_ip_ll) + if (found = find_listen_addr(&salisten,false,&if_index)) break; + + if (sec>=params.bind_wait_ip) + break; + + sleep(1); + sec++; + } + + if (!found) + { + printf("suitable ip address not found\n"); + goto exiterr; + } + ipv6_only=1; + } + else + { + salisten.ss_family = AF_INET6; + // leave sin6_addr zero + } + } + if (salisten.ss_family == AF_INET6) + { + salisten_len = sizeof(struct sockaddr_in6); + ((struct sockaddr_in6*)&salisten)->sin6_port = htons(params.port); + ((struct sockaddr_in6*)&salisten)->sin6_scope_id = if_index; + } + else + { + salisten_len = sizeof(struct sockaddr_in); + ((struct sockaddr_in*)&salisten)->sin_port = htons(params.port); + } + + if (params.daemon) daemonize(); + + if (*params.pidfile && !writepid(params.pidfile)) + { + fprintf(stderr,"could not write pidfile\n"); + goto exiterr; + } + + if ((listen_fd = socket(salisten.ss_family, SOCK_STREAM, 0)) == -1) { + perror("socket: "); + goto exiterr; + } + + if ((salisten.ss_family == AF_INET6) && setsockopt(listen_fd, IPPROTO_IPV6, IPV6_V6ONLY, &ipv6_only, sizeof(ipv6_only)) == -1) + { + perror("setsockopt (IPV6_ONLY): "); + goto exiterr; + } + + if (setsockopt(listen_fd, SOL_SOCKET, SO_REUSEADDR, &yes, sizeof(yes)) == -1) + { + perror("setsockopt (SO_REUSEADDR): "); + goto exiterr; + } + + //Mark that this socket can be used for transparent proxying + //This allows the socket to accept connections for non-local IPs + if (params.proxy_type==CONN_TYPE_TRANSPARENT) + { + if (setsockopt(listen_fd, SOL_IP, IP_TRANSPARENT, &yes, sizeof(yes)) == -1) + { + perror("setsockopt (IP_TRANSPARENT): "); + goto exiterr; + } + } + + if (!set_socket_buffers(listen_fd, params.local_rcvbuf, params.local_sndbuf)) + goto exiterr; + if (!params.local_rcvbuf) + { + // HACK : dont know why but if dont set RCVBUF explicitly RCVBUF of accept()-ed socket can be very large. may be linux bug ? + int v,sz; + sz=sizeof(int); + if (!getsockopt(listen_fd,SOL_SOCKET,SO_RCVBUF,&v,&sz)) + { + v/=2; + setsockopt(listen_fd,SOL_SOCKET,SO_RCVBUF,&v,sizeof(int)); + } + } + + if (bind(listen_fd, (struct sockaddr *)&salisten, salisten_len) == -1) { + perror("bind: "); + goto exiterr; + } + + set_ulimit(); + + if (!droproot()) + { + goto exiterr; + } + + fprintf(stderr,"Running as UID=%u GID=%u\n",getuid(),getgid()); + + if (listen(listen_fd, BACKLOG) == -1) { + perror("listen: "); + goto exiterr; + } + + + + //splice() causes the process to receive the SIGPIPE-signal if one part (for + //example a socket) is closed during splice(). I would rather have splice() + //fail and return -1, so blocking SIGPIPE. + if (block_sigpipe() == -1) { + fprintf(stderr, "Could not block SIGPIPE signal\n"); + goto exiterr; + } + + fprintf(stderr, "Will listen to port %d\n", params.port); + fprintf(stderr, params.proxy_type==CONN_TYPE_SOCKS ? "socks mode\n" : "transparent proxy mode\n"); + if (!params.tamper) fprintf(stderr, "TCP proxy mode (no tampering)\n"); + + signal(SIGHUP, onhup); + + retval = event_loop(listen_fd); + + close(listen_fd); + cleanup_params(); + + fprintf(stderr, "Will exit\n"); + + return retval < 0 ? EXIT_FAILURE : EXIT_SUCCESS; + +exiterr: + if (listen_fd!=-1) close(listen_fd); + cleanup_params(); + return EXIT_FAILURE; +} diff --git a/tpws/tpws.h b/tpws/tpws.h new file mode 100644 index 0000000..1e32c87 --- /dev/null +++ b/tpws/tpws.h @@ -0,0 +1,3 @@ +#pragma once + +void dohup(); diff --git a/tpws/tpws_conn.c b/tpws/tpws_conn.c new file mode 100644 index 0000000..7c9b780 --- /dev/null +++ b/tpws/tpws_conn.c @@ -0,0 +1,1381 @@ +#define _GNU_SOURCE +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "tpws.h" +#include "tpws_conn.h" +#include "tamper.h" +#include "params.h" +#include "socks.h" + +#ifndef IP6T_SO_ORIGINAL_DST + #define IP6T_SO_ORIGINAL_DST 80 +#endif + +// keep separate legs counter. counting every time thousands of legs can consume cpu +static int legs_local, legs_remote; +static void count_legs(struct tailhead *conn_list) +{ + tproxy_conn_t *conn = NULL; + + legs_local = legs_remote = 0; + TAILQ_FOREACH(conn, conn_list, conn_ptrs) + conn->remote ? legs_remote++ : legs_local++; + +} +static void print_legs() +{ + VPRINT("Legs : local:%d remote:%d", legs_local, legs_remote) +} + + +static bool socks5_send_rep(int fd,uint8_t rep) +{ + s5_rep s5rep; + memset(&s5rep,0,sizeof(s5rep)); + s5rep.ver = 5; + s5rep.rep = rep; + s5rep.atyp = S5_ATYP_IP4; + return send(fd,&s5rep,sizeof(s5rep),MSG_DONTWAIT)==sizeof(s5rep); +} +static bool socks5_send_rep_errno(int fd,int errn) +{ + uint8_t rep; + switch(errn) + { + case 0: + rep=S5_REP_OK; break; + case ECONNREFUSED: + rep=S5_REP_CONN_REFUSED; break; + case ENETUNREACH: + rep=S5_REP_NETWORK_UNREACHABLE; break; + case ETIMEDOUT: + case EHOSTUNREACH: + rep=S5_REP_HOST_UNREACHABLE; break; + default: + rep=S5_REP_GENERAL_FAILURE; + } + return socks5_send_rep(fd,rep); +} +static bool socks4_send_rep(int fd, uint8_t rep) +{ + s4_rep s4rep; + memset(&s4rep, 0, sizeof(s4rep)); + s4rep.rep = rep; + return send(fd, &s4rep, sizeof(s4rep), MSG_DONTWAIT) == sizeof(s4rep); +} +static bool socks4_send_rep_errno(int fd, int errn) +{ + return socks4_send_rep(fd, errn ? S4_REP_FAILED : S4_REP_OK); +} +static bool socks_send_rep(uint8_t ver, int fd, uint8_t rep5) +{ + return ver==5 ? socks5_send_rep(fd, rep5) : socks4_send_rep(fd, rep5 ? S4_REP_FAILED : S4_REP_OK); +} +static bool socks_send_rep_errno(uint8_t ver, int fd, int errn) +{ + return ver==5 ? socks5_send_rep_errno(fd,errn) : socks4_send_rep_errno(fd, errn); +} +static bool proxy_remote_conn_ack(tproxy_conn_t *conn) +{ + // if proxy mode acknowledge connection request + // conn = remote. conn->partner = local + if (!conn->remote || !conn->partner) return false; + bool bres = true; + switch(conn->partner->conn_type) + { + case CONN_TYPE_SOCKS: + if (conn->partner->socks_state==S_WAIT_CONNECTION) + { + int errn; + socklen_t optlen = sizeof(errn); + if(getsockopt(conn->fd, SOL_SOCKET, SO_ERROR, &errn, &optlen) == -1) + errn=errno; + conn->partner->socks_state=S_TCP; + bres = socks_send_rep_errno(conn->partner->socks_ver,conn->partner->fd, errn); + DBGPRINT("socks connection acknowledgement. bres=%d remote_errn=%d remote_fd=%d local_fd=%d",bres,errn,conn->fd,conn->partner->fd) + } + break; + } + return bres; +} + + + +static bool send_buffer_create(send_buffer_t *sb, char *data, size_t len) +{ + if (sb->data) + { + fprintf(stderr,"FATAL : send_buffer_create but buffer is not empty\n"); + exit(1); + } + sb->data = malloc(len); + if (!sb->data) + { + DBGPRINT("send_buffer_create failed. errno=%d",errno) + return false; + } + if (data) memcpy(sb->data,data,len); + sb->len = len; + sb->pos = 0; + return true; +} +static bool send_buffer_free(send_buffer_t *sb) +{ + if (sb->data) + { + free(sb->data); + sb->data = NULL; + } +} +static void send_buffers_free(send_buffer_t *sb_array, int count) +{ + for (int i=0;iwr_buf,sizeof(conn->wr_buf)/sizeof(conn->wr_buf[0])); +} +static bool send_buffer_present(send_buffer_t *sb) +{ + return !!sb->data; +} +static bool send_buffers_present(send_buffer_t *sb_array, int count) +{ + for(int i=0;idata + sb->pos, sb->len - sb->pos, 0); + DBGPRINT("send_buffer_send len=%zu pos=%zu wr=%zd err=%d",sb->len,sb->pos,wr,errno) + if (wr>0) + { + sb->pos += wr; + if (sb->pos >= sb->len) + { + send_buffer_free(sb); + } + } + else if (wr<0 && errno==EAGAIN) wr=0; + + return wr; +} +static ssize_t send_buffers_send(send_buffer_t *sb_array, int count, int fd, size_t *real_wr) +{ + ssize_t wr=0,twr=0; + + for (int i=0;iconn_type==CONN_TYPE_SOCKS && conn->socks_state!=S_TCP); +} + +static bool conn_partner_alive(tproxy_conn_t *conn) +{ + return conn->partner && conn->partner->state!=CONN_CLOSED; +} +static bool conn_buffers_present(tproxy_conn_t *conn) +{ + return send_buffers_present(conn->wr_buf,sizeof(conn->wr_buf)/sizeof(conn->wr_buf[0])); +} +static ssize_t conn_buffers_send(tproxy_conn_t *conn) +{ + size_t wr,real_twr; + wr = send_buffers_send(conn->wr_buf,sizeof(conn->wr_buf)/sizeof(conn->wr_buf[0]), conn->fd, &real_twr); + conn->twr += real_twr; + return wr; +} +static bool conn_has_unsent(tproxy_conn_t *conn) +{ + return conn->wr_unsent || conn_buffers_present(conn); +} +static int conn_bytes_unread(tproxy_conn_t *conn) +{ + int numbytes=-1; + ioctl(conn->fd, FIONREAD, &numbytes)!=-1; + return numbytes; +} +static bool conn_has_unsent_pair(tproxy_conn_t *conn) +{ + return conn_has_unsent(conn) || (conn_partner_alive(conn) && conn_has_unsent(conn->partner)); +} + + +static ssize_t send_or_buffer(send_buffer_t *sb, int fd, char *buf, size_t len) +{ + ssize_t wr=0; + if (len) + { + wr = send(fd, buf, len, 0); + if (wr<0 && errno==EAGAIN) wr=0; + if (wr>=0 && wrsin6_addr.s6_addr,"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff",12); +} +static bool mappedcmp(const struct sockaddr_in *sa1,const struct sockaddr_in6 *sa2) +{ + return ismapped(sa2) && !memcmp(sa2->sin6_addr.s6_addr+12,&sa1->sin_addr.s_addr,4); +} +static bool sacmp(const struct sockaddr *sa1,const struct sockaddr *sa2) +{ + return sa1->sa_family==AF_INET && sa2->sa_family==AF_INET && !memcmp(&((struct sockaddr_in*)sa1)->sin_addr,&((struct sockaddr_in*)sa2)->sin_addr,sizeof(struct in_addr)) || + sa1->sa_family==AF_INET6 && sa2->sa_family==AF_INET6 && !memcmp(&((struct sockaddr_in6*)sa1)->sin6_addr,&((struct sockaddr_in6*)sa2)->sin6_addr,sizeof(struct in6_addr)) || + sa1->sa_family==AF_INET && sa2->sa_family==AF_INET6 && mappedcmp((struct sockaddr_in*)sa1,(struct sockaddr_in6*)sa2) || + sa1->sa_family==AF_INET6 && sa2->sa_family==AF_INET && mappedcmp((struct sockaddr_in*)sa2,(struct sockaddr_in6*)sa1); +} +static uint16_t saport(const struct sockaddr *sa) +{ + return htons(sa->sa_family==AF_INET ? ((struct sockaddr_in*)sa)->sin_port : + sa->sa_family==AF_INET6 ? ((struct sockaddr_in6*)sa)->sin6_port : 0); +} +// -1 = error, 0 = not local, 1 = local +static bool check_local_ip(const struct sockaddr *saddr) +{ + struct ifaddrs *addrs,*a; + + if (getifaddrs(&addrs)<0) return false; + a = addrs; + + bool bres=false; + while (a) + { + if (a->ifa_addr && sacmp(a->ifa_addr,saddr)) + { + bres=true; + break; + } + a = a->ifa_next; + } + + freeifaddrs(addrs); + return bres; +} +static void print_addrinfo(const struct addrinfo *ai) +{ + char str[64]; + while (ai) + { + switch (ai->ai_family) + { + case AF_INET: + if (inet_ntop(ai->ai_family, &((struct sockaddr_in*)ai->ai_addr)->sin_addr, str, sizeof(str))) + printf("%s\n", str); + break; + case AF_INET6: + if (inet_ntop(ai->ai_family, &((struct sockaddr_in6*)ai->ai_addr)->sin6_addr, str, sizeof(str))) + printf( "%s\n", str); + break; + } + ai = ai->ai_next; + } +} +static void print_sockaddr(const struct sockaddr *sa) +{ + char str[64]; + switch (sa->sa_family) + { + case AF_INET: + if (inet_ntop(sa->sa_family, &((struct sockaddr_in*)sa)->sin_addr, str, sizeof(str))) + printf("%s:%d", str, ntohs(((struct sockaddr_in*)sa)->sin_port)); + break; + case AF_INET6: + if (inet_ntop(sa->sa_family, &((struct sockaddr_in6*)sa)->sin6_addr, str, sizeof(str))) + printf( "%s:%d", str, ntohs(((struct sockaddr_in6*)sa)->sin6_port)); + break; + default: + printf("UNKNOWN_FAMILY_%d",sa->sa_family); + } +} + + +static void dbgprint_socket_buffers(int fd) +{ + if (params.debug>=2) + { + int v,sz; + sz=sizeof(int); + if (!getsockopt(fd,SOL_SOCKET,SO_RCVBUF,&v,&sz)) + DBGPRINT("fd=%d SO_RCVBUF=%d",fd,v) + sz=sizeof(int); + if (!getsockopt(fd,SOL_SOCKET,SO_SNDBUF,&v,&sz)) + DBGPRINT("fd=%d SO_SNDBUF=%d",fd,v) + } +} + +bool set_socket_buffers(int fd, int rcvbuf, int sndbuf) +{ + DBGPRINT("set_socket_buffers fd=%d rcvbuf=%d sndbuf=%d",fd,rcvbuf,sndbuf) + if (rcvbuf && setsockopt(fd, SOL_SOCKET, SO_RCVBUF, &rcvbuf, sizeof(int)) <0) + { + perror("setsockopt (SO_RCVBUF): "); + close(fd); + return false; + } + if (sndbuf && setsockopt(fd, SOL_SOCKET, SO_SNDBUF, &sndbuf, sizeof(int)) <0) + { + perror("setsockopt (SO_SNDBUF): "); + close(fd); + return false; + } + dbgprint_socket_buffers(fd); + return true; +} + +//Createas a socket and initiates the connection to the host specified by +//remote_addr. +//Returns 0 if something fails, >0 on success (socket fd). +static int connect_remote(const struct sockaddr *remote_addr) +{ + int remote_fd = 0, yes = 1, no = 0; + + //Use NONBLOCK to avoid slow connects affecting the performance of other connections + if((remote_fd = socket(remote_addr->sa_family, SOCK_STREAM | SOCK_NONBLOCK, 0)) < 0){ + perror("socket (connect_remote): "); + return 0; + } + + if(setsockopt(remote_fd, SOL_SOCKET, SO_REUSEADDR, &yes, sizeof(yes)) < 0) + { + perror("setsockopt (SO_REUSEADDR, connect_remote): "); + close(remote_fd); + return 0; + } + if (!set_socket_buffers(remote_fd, params.remote_rcvbuf, params.remote_sndbuf)) + return 0; + if(!set_keepalive(remote_fd)) + { + perror("set_keepalive: "); + close(remote_fd); + return 0; + } + if (setsockopt(remote_fd, IPPROTO_TCP, TCP_NODELAY, params.skip_nodelay ? &no : &yes, sizeof(int)) <0) + { + perror("setsockopt (SO_NODELAY, connect_remote): "); + close(remote_fd); + return 0; + } + if(connect(remote_fd, remote_addr, remote_addr->sa_family == AF_INET ? sizeof(struct sockaddr_in) : sizeof(struct sockaddr_in6)) < 0) + { + if(errno != EINPROGRESS) + { + perror("connect (connect_remote): "); + close(remote_fd); + return 0; + } + } + DBGPRINT("Connecting remote fd=%d",remote_fd) + + return remote_fd; +} + +//Store the original destination address in remote_addr +//Return 0 on success, <0 on failure +static bool get_dest_addr(int sockfd, struct sockaddr_storage *orig_dst) +{ + char orig_dst_str[INET6_ADDRSTRLEN]; + socklen_t addrlen = sizeof(*orig_dst); + int r; + + memset(orig_dst, 0, addrlen); + + //For UDP transparent proxying: + //Set IP_RECVORIGDSTADDR socket option for getting the original + //destination of a datagram + + // DNAT + r=getsockopt(sockfd, SOL_IP, SO_ORIGINAL_DST, (struct sockaddr*) orig_dst, &addrlen); + if (r<0) + r = getsockopt(sockfd, SOL_IPV6, IP6T_SO_ORIGINAL_DST, (struct sockaddr*) orig_dst, &addrlen); + if (r<0) + { + fprintf(stderr,"both SO_ORIGINAL_DST and IP6T_SO_ORIGINAL_DST failed !\n"); + // TPROXY : socket is bound to original destination + r=getsockname(sockfd, (struct sockaddr*) orig_dst, &addrlen); + if (r<0) + { + perror("getsockname: "); + return false; + } + } + if (orig_dst->ss_family == AF_INET) + { + inet_ntop(AF_INET, &(((struct sockaddr_in*) orig_dst)->sin_addr), orig_dst_str, INET_ADDRSTRLEN); + VPRINT("Original destination for socket fd=%d : %s:%d", sockfd,orig_dst_str, htons(((struct sockaddr_in*) orig_dst)->sin_port)) + } + else if (orig_dst->ss_family == AF_INET6) + { + inet_ntop(AF_INET6,&(((struct sockaddr_in6*) orig_dst)->sin6_addr), orig_dst_str, INET6_ADDRSTRLEN); + VPRINT("Original destination for socket fd=%d : [%s]:%d", sockfd,orig_dst_str, htons(((struct sockaddr_in6*) orig_dst)->sin6_port)) + } + return true; +} + +//Free resources occupied by this connection +static void free_conn(tproxy_conn_t *conn) +{ + if (!conn) return; + if (conn->fd) close(conn->fd); + if (conn->splice_pipe[0]) + { + close(conn->splice_pipe[0]); + close(conn->splice_pipe[1]); + } + conn_free_buffers(conn); + if (conn->partner) conn->partner->partner=NULL; + free(conn); +} +static tproxy_conn_t *new_conn(int fd, bool remote) +{ + tproxy_conn_t *conn; + + //Create connection object and fill in information + if((conn = (tproxy_conn_t*) malloc(sizeof(tproxy_conn_t))) == NULL) + { + fprintf(stderr, "Could not allocate memory for connection\n"); + return NULL; + } + + memset(conn, 0, sizeof(tproxy_conn_t)); + conn->state = CONN_UNAVAILABLE; + conn->fd = fd; + conn->remote = remote; + + // if dont tamper - both legs are spliced, create 2 pipes + // otherwise create pipe only in local leg + if((!params.tamper || !remote) && pipe2(conn->splice_pipe, O_NONBLOCK) != 0) + { + fprintf(stderr, "Could not create the splice pipe\n"); + free_conn(conn); + return NULL; + } + + return conn; +} + +static bool epoll_set(tproxy_conn_t *conn, uint32_t events) +{ + struct epoll_event ev; + + memset(&ev, 0, sizeof(ev)); + ev.events = events; + ev.data.ptr = (void*) conn; + DBGPRINT("epoll_set fd=%d events=%08X",conn->fd,events); + if(epoll_ctl(conn->efd, EPOLL_CTL_MOD, conn->fd, &ev)==-1 && + epoll_ctl(conn->efd, EPOLL_CTL_ADD, conn->fd, &ev)==-1) + { + perror("epoll_ctl (add/mod)"); + return false; + } + return true; +} +static bool epoll_del(tproxy_conn_t *conn) +{ + struct epoll_event ev; + + memset(&ev, 0, sizeof(ev)); + + DBGPRINT("epoll_del fd=%d",conn->fd); + if(epoll_ctl(conn->efd, EPOLL_CTL_DEL, conn->fd, &ev)==-1) + { + perror("epoll_ctl (del)"); + return false; + } + return true; +} + +static bool epoll_update_flow(tproxy_conn_t *conn) +{ + if (conn->bFlowInPrev==conn->bFlowIn && conn->bFlowOutPrev==conn->bFlowOut && conn->bPrevRdhup==(conn->state==CONN_RDHUP)) + return true; // unchanged, no need to syscall + uint32_t evtmask = (conn->state==CONN_RDHUP ? 0 : EPOLLRDHUP)|(conn->bFlowIn?EPOLLIN:0)|(conn->bFlowOut?EPOLLOUT:0); + if (!epoll_set(conn, evtmask)) + return false; + DBGPRINT("SET FLOW fd=%d to in=%d out=%d state_rdhup=%d",conn->fd,conn->bFlowIn,conn->bFlowOut,conn->state==CONN_RDHUP) + conn->bFlowInPrev = conn->bFlowIn; + conn->bFlowOutPrev = conn->bFlowOut; + conn->bPrevRdhup = (conn->state==CONN_RDHUP); + return true; +} +static bool epoll_set_flow(tproxy_conn_t *conn, bool bFlowIn, bool bFlowOut) +{ + conn->bFlowIn = bFlowIn; + conn->bFlowOut = bFlowOut; + return epoll_update_flow(conn); +} + +//Acquires information, initiates a connect and initialises a new connection +//object. Return NULL if anything fails, pointer to object otherwise +static tproxy_conn_t* add_tcp_connection(int efd, struct tailhead *conn_list, + int local_fd, uint16_t listen_port, conn_type_t proxy_type) +{ + struct sockaddr_storage orig_dst; + tproxy_conn_t *conn; + int remote_fd=0; + int yes=1; + + if (proxy_type==CONN_TYPE_TRANSPARENT) + { + if(!get_dest_addr(local_fd, &orig_dst)) + { + fprintf(stderr, "Could not get destination address\n"); + close(local_fd); + return NULL; + } + + if (check_local_ip((struct sockaddr*)&orig_dst) && saport((struct sockaddr*)&orig_dst)==listen_port) + { + VPRINT("Dropping connection to local address to the same port to avoid loop") + close(local_fd); + return NULL; + } + } + + // socket buffers inherited from listen_fd + dbgprint_socket_buffers(local_fd); + + if(!set_keepalive(local_fd)) + { + perror("set_keepalive: "); + close(local_fd); + return 0; + } + + if (proxy_type==CONN_TYPE_TRANSPARENT) + { + if(!(remote_fd = connect_remote((struct sockaddr *)&orig_dst))) + { + fprintf(stderr, "Failed to connect\n"); + close(local_fd); + return NULL; + } + } + + if(!(conn = new_conn(local_fd, false))) + { + if (remote_fd) close(remote_fd); + close(local_fd); + return NULL; + } + conn->conn_type = proxy_type; // only local connection has proxy_type. remote is always in tcp mode + conn->state = CONN_AVAILABLE; // accepted connection is immediately available + conn->efd = efd; + + if (proxy_type==CONN_TYPE_TRANSPARENT) + { + if(!(conn->partner = new_conn(remote_fd, true))) + { + free_conn(conn); + close(remote_fd); + return NULL; + } + conn->partner->partner = conn; + conn->partner->efd = efd; + + //remote_fd is connecting. Non-blocking connects are signaled as done by + //socket being marked as ready for writing + if (!epoll_set(conn->partner, EPOLLOUT)) + { + free_conn(conn->partner); + free_conn(conn); + return NULL; + } + } + + //Transparent proxy mode : + // Local socket can be closed while waiting for connection attempt. I need + // to detect this when waiting for connect() to complete. However, I dont + // want to get EPOLLIN-events, as I dont want to receive any data before + // remote connection is established + //Proxy mode : I need to service proxy protocol + // remote connection not started until proxy handshake is complete + + if (!epoll_set(conn, proxy_type==CONN_TYPE_TRANSPARENT ? EPOLLRDHUP : (EPOLLIN|EPOLLRDHUP))) + { + free_conn(conn->partner); + free_conn(conn); + return NULL; + } + + TAILQ_INSERT_HEAD(conn_list, conn, conn_ptrs); + legs_local++; + if (conn->partner) + { + TAILQ_INSERT_HEAD(conn_list, conn->partner, conn_ptrs); + legs_remote++; + } + return conn; +} + +//Checks if a connection attempt was successful or not +//Returns true if successfull, false if not +static bool check_connection_attempt(tproxy_conn_t *conn, int efd) +{ + int fd_flags = 0; + int errn = 0; + socklen_t optlen = sizeof(errn); + + if (conn->state!=CONN_UNAVAILABLE || !conn->remote) + { + // locals are connected since accept + // remote need to be checked only once + return true; + } + + if (!conn_partner_alive(conn)) + { + // local leg died ? + VPRINT("check_connection_attempt : fd=%d (remote) : local leg died. failing this connection attempt.", conn->fd) + return false; + } + + // check the connection was sucessfull. it means its not in in SO_ERROR state + if(getsockopt(conn->fd, SOL_SOCKET, SO_ERROR, &errn, &optlen) == -1) + { + perror("getsockopt (SO_ERROR)"); + return false; + } + if (!errn) + { + VPRINT("Socket fd=%d (remote) connected", conn->fd) + if (!epoll_set_flow(conn, true, false) || !epoll_set_flow(conn->partner, true, false)) + return false; + conn->state = CONN_AVAILABLE; + } + return proxy_remote_conn_ack(conn) && !errn; +} + + + + +static bool epoll_set_flow_pair(tproxy_conn_t *conn) +{ + bool bHasUnsent = conn_has_unsent(conn); + bool bHasUnsentPartner = conn_partner_alive(conn) ? conn_has_unsent(conn->partner) : false; + + DBGPRINT("epoll_set_flow_pair fd=%d remote=%d partner_fd=%d bHasUnsent=%d bHasUnsentPartner=%d state_rdhup=%d", + conn->fd , conn->remote, conn_partner_alive(conn) ? conn->partner->fd : 0, bHasUnsent, bHasUnsentPartner, conn->state==CONN_RDHUP) + if (!epoll_set_flow(conn, !bHasUnsentPartner && (conn->state!=CONN_RDHUP), bHasUnsent || conn->state==CONN_RDHUP)) + return false; + if (conn_partner_alive(conn)) + { + if (!epoll_set_flow(conn->partner, !bHasUnsent && (conn->partner->state!=CONN_RDHUP), bHasUnsentPartner || conn->partner->state==CONN_RDHUP)) + return false; + } + return true; +} + +static bool handle_unsent(tproxy_conn_t *conn) +{ + ssize_t wr=0,twr=0; + + DBGPRINT("+handle_unsent, fd=%d has_unsent=%d has_unsent_partner=%d",conn->fd,conn_has_unsent(conn),conn_partner_alive(conn) ? conn_has_unsent(conn->partner) : false) + + if (conn->wr_unsent) + { + wr = splice(conn->splice_pipe[0], NULL, conn->fd, NULL, conn->wr_unsent, SPLICE_F_MOVE | SPLICE_F_NONBLOCK); + DBGPRINT("splice unsent=%zd wr=%zd err=%d",conn->wr_unsent,wr,errno) + if (wr<0) + { + if (errno==EAGAIN) wr=0; + else return false; + } + twr += wr; + conn->twr += wr; + conn->wr_unsent -= wr; + } + if (!conn->wr_unsent && conn_buffers_present(conn)) + { + wr=conn_buffers_send(conn); + DBGPRINT("conn_buffers_send wr=%zd",wr) + if (wr<0) return false; + twr += wr; + } + return epoll_set_flow_pair(conn); +} + + +bool proxy_mode_connect_remote(const struct sockaddr *sa, tproxy_conn_t *conn, struct tailhead *conn_list) +{ + int remote_fd; + + if (params.debug>=1) + { + printf("socks target for fd=%d is : ", conn->fd); + print_sockaddr(sa); + printf("\n"); + } + if (check_local_ip((struct sockaddr *)sa)) + { + VPRINT("Dropping connection to local address for security reasons") + socks_send_rep(conn->socks_ver, conn->fd, S5_REP_NOT_ALLOWED_BY_RULESET); + return false; + } + + if (!(remote_fd = connect_remote(sa))) + { + fprintf(stderr, "socks failed to connect (1) errno=%d\n", errno); + socks_send_rep_errno(conn->socks_ver, conn->fd, errno); + return false; + } + if (!(conn->partner = new_conn(remote_fd, true))) + { + close(remote_fd); + fprintf(stderr, "socks out-of-memory (1)\n"); + socks_send_rep(conn->socks_ver, conn->fd, S5_REP_GENERAL_FAILURE); + return false; + } + conn->partner->partner = conn; + conn->partner->efd = conn->efd; + if (!epoll_set(conn->partner, EPOLLOUT)) + { + fprintf(stderr, "socks epoll_set error %d\n", errno); + free_conn(conn->partner); + conn->partner = NULL; + socks_send_rep(conn->socks_ver, conn->fd, S5_REP_GENERAL_FAILURE); + return false; + } + TAILQ_INSERT_HEAD(conn_list, conn->partner, conn_ptrs); + legs_remote++; + print_legs(); + DBGPRINT("socks connecting") + conn->socks_state = S_WAIT_CONNECTION; + return true; +} + +static bool handle_proxy_mode(tproxy_conn_t *conn, struct tailhead *conn_list) +{ + // To simplify things I dont care about buffering. If message splits, I just hang up + // in proxy mode messages are short. they can be split only intentionally. all normal programs send them in one packet + + ssize_t rd,wr; + char buf[sizeof(s5_req)]; // s5_req - the largest possible req + struct sockaddr_storage ss; + + // receive proxy control message + rd=recv(conn->fd, buf, sizeof(buf), MSG_DONTWAIT); + DBGPRINT("handle_proxy_mode rd=%zd",rd) + if (rd<1) return false; // hangup + switch(conn->conn_type) + { + case CONN_TYPE_SOCKS: + switch(conn->socks_state) + { + case S_WAIT_HANDSHAKE: + DBGPRINT("S_WAIT_HANDSHAKE") + if (buf[0] != 5 && buf[0] != 4) return false; // unknown socks version + conn->socks_ver = buf[0]; + DBGPRINT("socks version %u", conn->socks_ver) + if (conn->socks_ver==5) + { + s5_handshake *m = (s5_handshake*)buf; + s5_handshake_ack ack; + uint8_t k; + + ack.ver=5; + if (!S5_REQ_HANDHSHAKE_VALID(m,rd)) + { + DBGPRINT("socks5 proxy handshake invalid") + return false; + } + for (k=0;knmethods;k++) if (m->methods[k]==S5_AUTH_NONE) break; + if (k>=m->nmethods) + { + DBGPRINT("socks5 client wants authentication but we dont support") + ack.method=S5_AUTH_UNACCEPTABLE; + wr=send(conn->fd,&ack,sizeof(ack),MSG_DONTWAIT); + return false; + } + DBGPRINT("socks5 recv valid handshake") + ack.method=S5_AUTH_NONE; + wr=send(conn->fd,&ack,sizeof(ack),MSG_DONTWAIT); + if (wr!=sizeof(ack)) + { + DBGPRINT("socks5 handshake ack send error. wr=%zd errno=%d",wr,errno) + return false; + } + DBGPRINT("socks5 send handshake ack OK") + conn->socks_state=S_WAIT_REQUEST; + return true; + } + else + { + // socks4 does not have separate handshake phase. it starts with connect request + // ipv6 and domain resolving are not supported + s4_req *m = (s4_req*)buf; + if (!S4_REQ_HEADER_VALID(m, rd)) + { + DBGPRINT("socks4 request invalid") + return false; + } + if (m->cmd!=S4_CMD_CONNECT) + { + // BIND is not supported + DBGPRINT("socks4 unsupported command %02X", m->cmd) + socks4_send_rep(conn->fd, S4_REP_FAILED); + return false; + } + if (!S4_REQ_CONNECT_VALID(m, rd)) + { + DBGPRINT("socks4 connect request invalid") + socks4_send_rep(conn->fd, S4_REP_FAILED); + return false; + } + if (!m->port) + { + DBGPRINT("socks4 zero port") + socks4_send_rep(conn->fd, S4_REP_FAILED); + return false; + } + ss.ss_family = AF_INET; + ((struct sockaddr_in*)&ss)->sin_port = m->port; + ((struct sockaddr_in*)&ss)->sin_addr.s_addr = m->ip; + return proxy_mode_connect_remote((struct sockaddr *)&ss, conn, conn_list); + } + break; + case S_WAIT_REQUEST: + DBGPRINT("S_WAIT_REQUEST") + { + s5_req *m = (s5_req*)buf; + char str[64]; + + if (!S5_REQ_HEADER_VALID(m,rd)) + { + DBGPRINT("socks5 request invalid") + return false; + } + if (m->cmd!=S5_CMD_CONNECT) + { + // BIND and UDP are not supported + DBGPRINT("socks5 unsupported command %02X", m->cmd) + socks5_send_rep(conn->fd,S5_REP_COMMAND_NOT_SUPPORTED); + return false; + } + if (!S5_REQ_CONNECT_VALID(m,rd)) + { + DBGPRINT("socks5 connect request invalid") + return false; + } + DBGPRINT("socks5 recv valid connect request") + switch(m->atyp) + { + case S5_ATYP_IP4: + ss.ss_family = AF_INET; + ((struct sockaddr_in*)&ss)->sin_port = m->d4.port; + ((struct sockaddr_in*)&ss)->sin_addr = m->d4.addr; + break; + case S5_ATYP_IP6: + ss.ss_family = AF_INET6; + ((struct sockaddr_in6*)&ss)->sin6_port = m->d6.port; + ((struct sockaddr_in6*)&ss)->sin6_addr = m->d6.addr; + ((struct sockaddr_in6*)&ss)->sin6_flowinfo = 0; + ((struct sockaddr_in6*)&ss)->sin6_scope_id = 0; + break; + case S5_ATYP_DOM: + // NOTE : resolving is blocking. do you want it really ? + { + struct addrinfo *ai,hints; + char sdom[256]; + int r; + uint16_t port; + char sport[6]; + + if (params.no_resolve) + { + DBGPRINT("socks5 hostname resolving disabled") + socks5_send_rep(conn->fd,S5_REP_NOT_ALLOWED_BY_RULESET); + return false; + } + port=S5_PORT_FROM_DD(m,rd); + if (!port) + { + DBGPRINT("socks5 no port is given") + socks5_send_rep(conn->fd,S5_REP_HOST_UNREACHABLE); + return false; + } + snprintf(sport,sizeof(sport),"%u",port); + memcpy(sdom,m->dd.domport,m->dd.len); + sdom[m->dd.len] = '\0'; + DBGPRINT("socks5 resolving hostname '%s' port '%s'",sdom,sport) + memset(&hints, 0, sizeof(struct addrinfo)); + hints.ai_socktype = SOCK_STREAM; + r=getaddrinfo(sdom,sport,&hints,&ai); + if (r) + { + DBGPRINT("socks5 getaddrinfo error %d",r) + socks5_send_rep(conn->fd,S5_REP_HOST_UNREACHABLE); + return false; + } + if (params.debug>=2) + { + printf("socks5 hostname resolved to :\n"); + print_addrinfo(ai); + } + memcpy(&ss,ai->ai_addr,ai->ai_addrlen); + freeaddrinfo(ai); + } + break; + default: + return false; // should not be here. S5_REQ_CONNECT_VALID checks for valid atyp + + } + return proxy_mode_connect_remote((struct sockaddr *)&ss,conn,conn_list); + } + break; + case S_WAIT_CONNECTION: + DBGPRINT("socks received message while in S_WAIT_CONNECTION. hanging up") + break; + } + break; + } + return false; +} + +#define RD_BLOCK_SIZE 65536 +#define MAX_WASTE (1024*1024) +static bool handle_epoll(tproxy_conn_t *conn, struct tailhead *conn_list, uint32_t evt) +{ + int numbytes; + ssize_t rd = 0, wr = 0; + size_t bs; + + + DBGPRINT("+handle_epoll") + + if (!conn_in_tcp_mode(conn)) + { + if (!(evt & EPOLLIN)) + return true; // nothing to read + return handle_proxy_mode(conn,conn_list); + } + + if (!handle_unsent(conn)) + return false; // error + if (!conn_partner_alive(conn) && !conn_has_unsent(conn)) + return false; // when no partner, we only waste read and send unsent + + if (!(evt & EPOLLIN)) + return true; // nothing to read + + if (!conn_partner_alive(conn)) + { + // throw it to a black hole + char waste[65070]; + ssize_t trd=0; + + while((rd=recv(conn->fd, waste, sizeof(waste), MSG_DONTWAIT))>0 && trdtrd+=rd; + } + DBGPRINT("wasted recv=%zd all_rd=%zd err=%d",rd,trd,errno) + return true; + } + + // do not receive new until old is sent + if (conn_has_unsent(conn->partner)) + return true; + + bool oom=false; + + numbytes=conn_bytes_unread(conn); + DBGPRINT("numbytes=%d",numbytes) + if (numbytes>0) + { + if (!params.tamper || conn->remote) + { + // incoming data from remote leg we splice without touching + // pipe is in the local leg, so its in conn->partner->splice_pipe + // if we dont tamper - splice both legs + + rd = splice(conn->fd, NULL, conn->partner->splice_pipe[1], NULL, SPLICE_LEN, SPLICE_F_MOVE | SPLICE_F_NONBLOCK); + DBGPRINT("splice fd=%d remote=%d len=%d rd=%zd err=%d",conn->fd,conn->remote,SPLICE_LEN,rd,errno) + if (rd<0 && errno==EAGAIN) rd=0; + if (rd>0) + { + conn->trd += rd; + conn->partner->wr_unsent += rd; + wr = splice(conn->partner->splice_pipe[0], NULL, conn->partner->fd, NULL, conn->partner->wr_unsent, SPLICE_F_MOVE | SPLICE_F_NONBLOCK); + DBGPRINT("splice fd=%d remote=%d wr=%zd err=%d",conn->partner->fd,conn->partner->remote,wr,errno) + if (wr<0 && errno==EAGAIN) wr=0; + if (wr>0) + { + conn->partner->wr_unsent -= wr; + conn->partner->twr += wr; + } + } + } + else + { + // incoming data from local leg + char buf[RD_BLOCK_SIZE + 4]; + + rd = recv(conn->fd, buf, RD_BLOCK_SIZE, MSG_DONTWAIT); + DBGPRINT("recv fd=%d rd=%zd err=%d",conn->fd, rd,errno) + if (rd<0 && errno==EAGAIN) rd=0; + if (rd>0) + { + conn->trd+=rd; + + size_t split_pos=0; + + bs = rd; + modify_tcp_segment(buf,sizeof(buf),&bs,&split_pos); + + if (split_pos) + { + VPRINT("Splitting at pos %zu", split_pos) + wr = send_or_buffer(conn->partner->wr_buf, conn->partner->fd, buf, split_pos); + DBGPRINT("send_or_buffer(1) fd=%d wr=%zd err=%d",conn->partner->fd,wr,errno) + if (wr >= 0) + { + conn->partner->twr += wr; + wr = send_or_buffer(conn->partner->wr_buf + 1, conn->partner->fd, buf + split_pos, bs - split_pos); + DBGPRINT("send_or_buffer(2) fd=%d wr=%zd err=%d",conn->partner->fd,wr,errno) + if (wr>0) conn->partner->twr += wr; + } + } + else + { + wr = send_or_buffer(conn->partner->wr_buf, conn->partner->fd, buf, bs); + DBGPRINT("send_or_buffer(3) fd=%d wr=%zd err=%d",conn->partner->fd,wr,errno) + if (wr>0) conn->partner->twr += wr; + } + if (wr<0 && errno==ENOMEM) oom=true; + } + } + + if (!epoll_set_flow_pair(conn)) + return false; + } + + DBGPRINT("-handle_epoll rd=%zd wr=%zd",rd,wr) + if (oom) DBGPRINT("handle_epoll: OUT_OF_MEMORY") + + // do not fail if partner fails. + // if partner fails there will be another epoll event with EPOLLHUP or EPOLLERR + return rd>=0 && !oom; +} + +static bool remove_closed_connections(int efd, struct tailhead *close_list) +{ + tproxy_conn_t *conn = NULL; + bool bRemoved = false; + + while (conn = TAILQ_FIRST(close_list)) + { + TAILQ_REMOVE(close_list, conn, conn_ptrs); + + shutdown(conn->fd,SHUT_RDWR); + epoll_del(conn); + VPRINT("Socket fd=%d (partner_fd=%d, remote=%d) closed, connection removed. total_read=%zu total_write=%zu event_count=%d", + conn->fd, conn->partner ? conn->partner->fd : 0, conn->remote, conn->trd, conn->twr, conn->event_count) + if (conn->remote) legs_remote--; else legs_local--; + free_conn(conn); + bRemoved = true; + } + return bRemoved; +} + +// move to close list connection and its partner +static void close_tcp_conn(struct tailhead *conn_list, struct tailhead *close_list, tproxy_conn_t *conn) +{ + if (conn->state != CONN_CLOSED) + { + conn->state = CONN_CLOSED; + TAILQ_REMOVE(conn_list, conn, conn_ptrs); + TAILQ_INSERT_TAIL(close_list, conn, conn_ptrs); + } +} + + +static bool read_all_and_buffer(tproxy_conn_t *conn, int buffer_number) +{ + if (conn_partner_alive(conn)) + { + int numbytes=conn_bytes_unread(conn); + DBGPRINT("read_all_and_buffer(%d) numbytes=%d",buffer_number,numbytes) + if (numbytes>0) + { + if (send_buffer_create(conn->partner->wr_buf+buffer_number, NULL, numbytes)) + { + ssize_t rd = recv(conn->fd, conn->partner->wr_buf[buffer_number].data, numbytes, MSG_DONTWAIT); + if (rd>0) + { + conn->trd+=rd; + conn->partner->wr_buf[buffer_number].len = rd; + + conn->partner->bFlowOut = true; + if (epoll_update_flow(conn->partner)) + return true; + } + send_buffer_free(conn->partner->wr_buf+buffer_number); + } + } + } + return false; +} + + +static bool conn_timed_out(tproxy_conn_t *conn) +{ + if (conn->orphan_since && conn->state==CONN_UNAVAILABLE) + { + time_t timediff = time(NULL) - conn->orphan_since; + return timediff>=params.max_orphan_time; + } + else + return false; +} +static void conn_close_timed_out(struct tailhead *conn_list, struct tailhead *close_list) +{ + tproxy_conn_t *c,*cnext = NULL; + + DBGPRINT("conn_close_timed_out") + + c = TAILQ_FIRST(conn_list); + while(c) + { + cnext = TAILQ_NEXT(c,conn_ptrs); + if (conn_timed_out(c)) + { + DBGPRINT("closing timed out connection: fd=%d remote=%d",c->fd,c->remote) + close_tcp_conn(conn_list,close_list,c); + } + c = cnext; + } +} + +static void conn_close_both(struct tailhead *conn_list, struct tailhead *close_list, tproxy_conn_t *conn) +{ + if (conn_partner_alive(conn)) close_tcp_conn(conn_list,close_list,conn->partner); + close_tcp_conn(conn_list,close_list,conn); +} +static void conn_close_with_partner_check(struct tailhead *conn_list, struct tailhead *close_list, tproxy_conn_t *conn) +{ + close_tcp_conn(conn_list,close_list,conn); + if (conn_partner_alive(conn)) + { + if (!conn_has_unsent(conn->partner)) + close_tcp_conn(conn_list,close_list,conn->partner); + else if (conn->partner->remote && conn->partner->state==CONN_UNAVAILABLE && params.max_orphan_time) + // time out only remote legs that are not connected yet + conn->partner->orphan_since = time(NULL); + } +} + +int event_loop(int listen_fd) +{ + int retval = 0, num_events = 0; + int tmp_fd = 0; //Used to temporarily hold the accepted file descriptor + tproxy_conn_t *conn = NULL; + int efd, i; + struct epoll_event ev, events[MAX_EPOLL_EVENTS]; + struct tailhead conn_list, close_list; + time_t tm,last_timeout_check=0; + + legs_local = legs_remote = 0; + //Initialize queue (remember that TAILQ_HEAD just defines the struct) + TAILQ_INIT(&conn_list); + TAILQ_INIT(&close_list); + + if ((efd = epoll_create(1)) == -1) { + perror("epoll_create"); + return -1; + } + + //Start monitoring listen socket + memset(&ev, 0, sizeof(ev)); + ev.events = EPOLLIN; + //There is only one listen socket, and I want to use ptr in order to have + //easy access to the connections. So if ptr is NULL that means an event on + //listen socket. + ev.data.ptr = NULL; + if (epoll_ctl(efd, EPOLL_CTL_ADD, listen_fd, &ev) == -1) { + perror("epoll_ctl (listen socket)"); + close(efd); + return -1; + } + + while (1) + { + DBGPRINT("epoll_wait") + + if ((num_events = epoll_wait(efd, events, MAX_EPOLL_EVENTS, -1)) == -1) + { + if (errno == EINTR) continue; // system call was interrupted + perror("epoll_wait"); + retval = -1; + break; + } + + dohup(); + + for (i = 0; i < num_events; i++) + { + if (events[i].data.ptr == NULL) + { + DBGPRINT("\nEVENT mask %08X conn=NULL (accept)",events[i].events) + + //Accept new connection + tmp_fd = accept4(listen_fd, NULL, 0, SOCK_NONBLOCK); + if (tmp_fd < 0) + { + fprintf(stderr, "Failed to accept connection\n"); + } + else if (legs_local >= params.maxconn) // each connection has 2 legs - local and remote + { + close(tmp_fd); + VPRINT("Too many local legs : %d", legs_local) + } + else if (!(conn=add_tcp_connection(efd, &conn_list, tmp_fd, params.port, params.proxy_type))) + { + // add_tcp_connection closes fd in case of failure + fprintf(stderr, "Failed to add connection\n"); + } + else + { + print_legs(); + VPRINT("Socket fd=%d (local) connected", conn->fd) + } + } + else + { + conn = (tproxy_conn_t*)events[i].data.ptr; + conn->event_count++; + + DBGPRINT("\nEVENT mask %08X fd=%d remote=%d fd_partner=%d",events[i].events,conn->fd,conn->remote,conn_partner_alive(conn) ? conn->partner->fd : 0) + + if (conn->state != CONN_CLOSED) + { + if (events[i].events & (EPOLLHUP|EPOLLERR)) + { + if (events[i].events & EPOLLERR) DBGPRINT("EPOLLERR") + if (events[i].events & EPOLLHUP) DBGPRINT("EPOLLHUP") + proxy_remote_conn_ack(conn); + read_all_and_buffer(conn,3); + conn_close_with_partner_check(&conn_list,&close_list,conn); + continue; + } + if (events[i].events & EPOLLOUT) + { + if (!check_connection_attempt(conn, efd)) + { + VPRINT("Connection attempt failed for fd=%d", conn->fd) + conn_close_both(&conn_list,&close_list,conn); + continue; + } + } + if (events[i].events & EPOLLRDHUP) + { + DBGPRINT("EPOLLRDHUP") + read_all_and_buffer(conn,2); + + if (conn_has_unsent(conn)) + { + DBGPRINT("conn fd=%d has unsent, not closing", conn->fd) + conn->state = CONN_RDHUP; // only writes + epoll_set_flow(conn,false,true); + } + else + { + DBGPRINT("conn fd=%d has no unsent, closing", conn->fd) + conn_close_with_partner_check(&conn_list,&close_list,conn); + } + continue; + } + + if (events[i].events & (EPOLLIN|EPOLLOUT)) + { + // will not receive this until successful check_connection_attempt() + if (!handle_epoll(conn, &conn_list, events[i].events)) + { + DBGPRINT("handle_epoll false") + conn_close_with_partner_check(&conn_list,&close_list,conn); + continue; + } + } + } + + } + } + tm = time(NULL); + if (last_timeout_check!=tm) + { + // limit whole list lookups to once per second + last_timeout_check=tm; + conn_close_timed_out(&conn_list,&close_list); + } + if (remove_closed_connections(efd, &close_list)) + { + // at least one leg was removed. recount legs + print_legs(); + } + + fflush(stderr); fflush(stdout); // for console messages + } + + close(efd); + + return retval; +} diff --git a/tpws/tpws_conn.h b/tpws/tpws_conn.h new file mode 100644 index 0000000..06a2bbb --- /dev/null +++ b/tpws/tpws_conn.h @@ -0,0 +1,95 @@ +#pragma once + +#include +#include +#include + +#define BACKLOG 10 +#define MAX_EPOLL_EVENTS 64 +#define IP_TRANSPARENT 19 //So that application compiles on OpenWRT +#define SPLICE_LEN 65536 +#define DEFAULT_MAX_CONN 512 +#define DEFAULT_MAX_ORPHAN_TIME 5 + +int event_loop(int listen_fd); + +//Three different states of a connection +enum{ + CONN_UNAVAILABLE=0, // connecting + CONN_AVAILABLE, // operational + CONN_RDHUP, // received RDHUP, only sending unsent buffers. more RDHUPs are blocked + CONN_CLOSED // will be deleted soon +}; +typedef uint8_t conn_state_t; + +// data in a send_buffer can be sent in several stages +// pos indicates size of already sent data +// when pos==len its time to free buffer +struct send_buffer +{ + char *data; + size_t len,pos; +}; +typedef struct send_buffer send_buffer_t; + +enum{ + CONN_TYPE_TRANSPARENT=0, + CONN_TYPE_SOCKS +}; +typedef uint8_t conn_type_t; + +struct tproxy_conn +{ + bool remote; // false - accepted, true - connected + int efd; // epoll fd + int fd; + int splice_pipe[2]; + conn_state_t state; + conn_type_t conn_type; + + struct tproxy_conn *partner; // other leg + time_t orphan_since; + + // socks5 state machine + enum { + S_WAIT_HANDSHAKE=0, + S_WAIT_REQUEST, + S_WAIT_CONNECTION, + S_TCP + } socks_state; + uint8_t socks_ver; + + // these value are used in flow control. we do not use ET (edge triggered) polling + // if we dont disable notifications they will come endlessly until condition becomes false and will eat all cpu time + bool bFlowIn,bFlowOut, bFlowInPrev,bFlowOutPrev, bPrevRdhup; + + // total read,write + size_t trd,twr; + // number of epoll_wait events + unsigned int event_count; + + // connection is either spliced or send/recv + // spliced connection have pipe buffering but also can have send_buffer's + // pipe buffer comes first, then send_buffer's from 0 to countof(wr_buf)-1 + // send/recv connection do not have pipe and wr_unsent is meaningless, always 0 + ssize_t wr_unsent; // unsent bytes in the pipe + // buffer 0 : send before split_pos + // buffer 1 : send after split_pos + // buffer 2 : after RDHUP read all and buffer to the partner + // buffer 3 : after HUP read all and buffer to the partner + // (2 and 3 should not be filled simultaneously, but who knows what can happen. if we have to refill non-empty buffer its FATAL) + // all buffers are sent strictly from 0 to countof(wr_buf)-1 + // buffer cannot be sent if there is unsent data in a lower buffer + struct send_buffer wr_buf[4]; + + //Create the struct which contains ptrs to next/prev element + TAILQ_ENTRY(tproxy_conn) conn_ptrs; +}; +typedef struct tproxy_conn tproxy_conn_t; + +//Define the struct tailhead (code in sys/queue.h is quite intuitive) +//Use tail queue for efficient delete +TAILQ_HEAD(tailhead, tproxy_conn); + + +bool set_socket_buffers(int fd, int rcvbuf, int sndbuf); diff --git a/tpws/uthash.h b/tpws/uthash.h new file mode 100644 index 0000000..f34c1f9 --- /dev/null +++ b/tpws/uthash.h @@ -0,0 +1,1217 @@ +/* +Copyright (c) 2003-2018, Troy D. Hanson http://troydhanson.github.com/uthash/ +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS +IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER +OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +#ifndef UTHASH_H +#define UTHASH_H + +#define UTHASH_VERSION 2.0.2 + +#include /* memcmp, memset, strlen */ +#include /* ptrdiff_t */ +#include /* exit */ + +/* These macros use decltype or the earlier __typeof GNU extension. + As decltype is only available in newer compilers (VS2010 or gcc 4.3+ + when compiling c++ source) this code uses whatever method is needed + or, for VS2008 where neither is available, uses casting workarounds. */ +#if !defined(DECLTYPE) && !defined(NO_DECLTYPE) +#if defined(_MSC_VER) /* MS compiler */ +#if _MSC_VER >= 1600 && defined(__cplusplus) /* VS2010 or newer in C++ mode */ +#define DECLTYPE(x) (decltype(x)) +#else /* VS2008 or older (or VS2010 in C mode) */ +#define NO_DECLTYPE +#endif +#elif defined(__BORLANDC__) || defined(__ICCARM__) || defined(__LCC__) || defined(__WATCOMC__) +#define NO_DECLTYPE +#else /* GNU, Sun and other compilers */ +#define DECLTYPE(x) (__typeof(x)) +#endif +#endif + +#ifdef NO_DECLTYPE +#define DECLTYPE(x) +#define DECLTYPE_ASSIGN(dst,src) \ +do { \ + char **_da_dst = (char**)(&(dst)); \ + *_da_dst = (char*)(src); \ +} while (0) +#else +#define DECLTYPE_ASSIGN(dst,src) \ +do { \ + (dst) = DECLTYPE(dst)(src); \ +} while (0) +#endif + +/* a number of the hash function use uint32_t which isn't defined on Pre VS2010 */ +#if defined(_WIN32) +#if defined(_MSC_VER) && _MSC_VER >= 1600 +#include +#elif defined(__WATCOMC__) || defined(__MINGW32__) || defined(__CYGWIN__) +#include +#else +typedef unsigned int uint32_t; +typedef unsigned char uint8_t; +#endif +#elif defined(__GNUC__) && !defined(__VXWORKS__) +#include +#else +typedef unsigned int uint32_t; +typedef unsigned char uint8_t; +#endif + +#ifndef uthash_malloc +#define uthash_malloc(sz) malloc(sz) /* malloc fcn */ +#endif +#ifndef uthash_free +#define uthash_free(ptr,sz) free(ptr) /* free fcn */ +#endif +#ifndef uthash_bzero +#define uthash_bzero(a,n) memset(a,'\0',n) +#endif +#ifndef uthash_memcmp +#define uthash_memcmp(a,b,n) memcmp(a,b,n) +#endif +#ifndef uthash_strlen +#define uthash_strlen(s) strlen(s) +#endif + +#ifndef uthash_noexpand_fyi +#define uthash_noexpand_fyi(tbl) /* can be defined to log noexpand */ +#endif +#ifndef uthash_expand_fyi +#define uthash_expand_fyi(tbl) /* can be defined to log expands */ +#endif + +#ifndef HASH_NONFATAL_OOM +#define HASH_NONFATAL_OOM 0 +#endif + +#if HASH_NONFATAL_OOM +/* malloc failures can be recovered from */ + +#ifndef uthash_nonfatal_oom +#define uthash_nonfatal_oom(obj) do {} while (0) /* non-fatal OOM error */ +#endif + +#define HASH_RECORD_OOM(oomed) do { (oomed) = 1; } while (0) +#define IF_HASH_NONFATAL_OOM(x) x + +#else +/* malloc failures result in lost memory, hash tables are unusable */ + +#ifndef uthash_fatal +#define uthash_fatal(msg) exit(-1) /* fatal OOM error */ +#endif + +#define HASH_RECORD_OOM(oomed) uthash_fatal("out of memory") +#define IF_HASH_NONFATAL_OOM(x) + +#endif + +/* initial number of buckets */ +#define HASH_INITIAL_NUM_BUCKETS 32U /* initial number of buckets */ +#define HASH_INITIAL_NUM_BUCKETS_LOG2 5U /* lg2 of initial number of buckets */ +#define HASH_BKT_CAPACITY_THRESH 10U /* expand when bucket count reaches */ + +/* calculate the element whose hash handle address is hhp */ +#define ELMT_FROM_HH(tbl,hhp) ((void*)(((char*)(hhp)) - ((tbl)->hho))) +/* calculate the hash handle from element address elp */ +#define HH_FROM_ELMT(tbl,elp) ((UT_hash_handle *)(((char*)(elp)) + ((tbl)->hho))) + +#define HASH_ROLLBACK_BKT(hh, head, itemptrhh) \ +do { \ + struct UT_hash_handle *_hd_hh_item = (itemptrhh); \ + unsigned _hd_bkt; \ + HASH_TO_BKT(_hd_hh_item->hashv, (head)->hh.tbl->num_buckets, _hd_bkt); \ + (head)->hh.tbl->buckets[_hd_bkt].count++; \ + _hd_hh_item->hh_next = NULL; \ + _hd_hh_item->hh_prev = NULL; \ +} while (0) + +#define HASH_VALUE(keyptr,keylen,hashv) \ +do { \ + HASH_FCN(keyptr, keylen, hashv); \ +} while (0) + +#define HASH_FIND_BYHASHVALUE(hh,head,keyptr,keylen,hashval,out) \ +do { \ + (out) = NULL; \ + if (head) { \ + unsigned _hf_bkt; \ + HASH_TO_BKT(hashval, (head)->hh.tbl->num_buckets, _hf_bkt); \ + if (HASH_BLOOM_TEST((head)->hh.tbl, hashval) != 0) { \ + HASH_FIND_IN_BKT((head)->hh.tbl, hh, (head)->hh.tbl->buckets[ _hf_bkt ], keyptr, keylen, hashval, out); \ + } \ + } \ +} while (0) + +#define HASH_FIND(hh,head,keyptr,keylen,out) \ +do { \ + unsigned _hf_hashv; \ + HASH_VALUE(keyptr, keylen, _hf_hashv); \ + HASH_FIND_BYHASHVALUE(hh, head, keyptr, keylen, _hf_hashv, out); \ +} while (0) + +#ifdef HASH_BLOOM +#define HASH_BLOOM_BITLEN (1UL << HASH_BLOOM) +#define HASH_BLOOM_BYTELEN (HASH_BLOOM_BITLEN/8UL) + (((HASH_BLOOM_BITLEN%8UL)!=0UL) ? 1UL : 0UL) +#define HASH_BLOOM_MAKE(tbl,oomed) \ +do { \ + (tbl)->bloom_nbits = HASH_BLOOM; \ + (tbl)->bloom_bv = (uint8_t*)uthash_malloc(HASH_BLOOM_BYTELEN); \ + if (!(tbl)->bloom_bv) { \ + HASH_RECORD_OOM(oomed); \ + } else { \ + uthash_bzero((tbl)->bloom_bv, HASH_BLOOM_BYTELEN); \ + (tbl)->bloom_sig = HASH_BLOOM_SIGNATURE; \ + } \ +} while (0) + +#define HASH_BLOOM_FREE(tbl) \ +do { \ + uthash_free((tbl)->bloom_bv, HASH_BLOOM_BYTELEN); \ +} while (0) + +#define HASH_BLOOM_BITSET(bv,idx) (bv[(idx)/8U] |= (1U << ((idx)%8U))) +#define HASH_BLOOM_BITTEST(bv,idx) (bv[(idx)/8U] & (1U << ((idx)%8U))) + +#define HASH_BLOOM_ADD(tbl,hashv) \ + HASH_BLOOM_BITSET((tbl)->bloom_bv, ((hashv) & (uint32_t)((1UL << (tbl)->bloom_nbits) - 1U))) + +#define HASH_BLOOM_TEST(tbl,hashv) \ + HASH_BLOOM_BITTEST((tbl)->bloom_bv, ((hashv) & (uint32_t)((1UL << (tbl)->bloom_nbits) - 1U))) + +#else +#define HASH_BLOOM_MAKE(tbl,oomed) +#define HASH_BLOOM_FREE(tbl) +#define HASH_BLOOM_ADD(tbl,hashv) +#define HASH_BLOOM_TEST(tbl,hashv) (1) +#define HASH_BLOOM_BYTELEN 0U +#endif + +#define HASH_MAKE_TABLE(hh,head,oomed) \ +do { \ + (head)->hh.tbl = (UT_hash_table*)uthash_malloc(sizeof(UT_hash_table)); \ + if (!(head)->hh.tbl) { \ + HASH_RECORD_OOM(oomed); \ + } else { \ + uthash_bzero((head)->hh.tbl, sizeof(UT_hash_table)); \ + (head)->hh.tbl->tail = &((head)->hh); \ + (head)->hh.tbl->num_buckets = HASH_INITIAL_NUM_BUCKETS; \ + (head)->hh.tbl->log2_num_buckets = HASH_INITIAL_NUM_BUCKETS_LOG2; \ + (head)->hh.tbl->hho = (char*)(&(head)->hh) - (char*)(head); \ + (head)->hh.tbl->buckets = (UT_hash_bucket*)uthash_malloc( \ + HASH_INITIAL_NUM_BUCKETS * sizeof(struct UT_hash_bucket)); \ + (head)->hh.tbl->signature = HASH_SIGNATURE; \ + if (!(head)->hh.tbl->buckets) { \ + HASH_RECORD_OOM(oomed); \ + uthash_free((head)->hh.tbl, sizeof(UT_hash_table)); \ + } else { \ + uthash_bzero((head)->hh.tbl->buckets, \ + HASH_INITIAL_NUM_BUCKETS * sizeof(struct UT_hash_bucket)); \ + HASH_BLOOM_MAKE((head)->hh.tbl, oomed); \ + IF_HASH_NONFATAL_OOM( \ + if (oomed) { \ + uthash_free((head)->hh.tbl->buckets, \ + HASH_INITIAL_NUM_BUCKETS*sizeof(struct UT_hash_bucket)); \ + uthash_free((head)->hh.tbl, sizeof(UT_hash_table)); \ + } \ + ) \ + } \ + } \ +} while (0) + +#define HASH_REPLACE_BYHASHVALUE_INORDER(hh,head,fieldname,keylen_in,hashval,add,replaced,cmpfcn) \ +do { \ + (replaced) = NULL; \ + HASH_FIND_BYHASHVALUE(hh, head, &((add)->fieldname), keylen_in, hashval, replaced); \ + if (replaced) { \ + HASH_DELETE(hh, head, replaced); \ + } \ + HASH_ADD_KEYPTR_BYHASHVALUE_INORDER(hh, head, &((add)->fieldname), keylen_in, hashval, add, cmpfcn); \ +} while (0) + +#define HASH_REPLACE_BYHASHVALUE(hh,head,fieldname,keylen_in,hashval,add,replaced) \ +do { \ + (replaced) = NULL; \ + HASH_FIND_BYHASHVALUE(hh, head, &((add)->fieldname), keylen_in, hashval, replaced); \ + if (replaced) { \ + HASH_DELETE(hh, head, replaced); \ + } \ + HASH_ADD_KEYPTR_BYHASHVALUE(hh, head, &((add)->fieldname), keylen_in, hashval, add); \ +} while (0) + +#define HASH_REPLACE(hh,head,fieldname,keylen_in,add,replaced) \ +do { \ + unsigned _hr_hashv; \ + HASH_VALUE(&((add)->fieldname), keylen_in, _hr_hashv); \ + HASH_REPLACE_BYHASHVALUE(hh, head, fieldname, keylen_in, _hr_hashv, add, replaced); \ +} while (0) + +#define HASH_REPLACE_INORDER(hh,head,fieldname,keylen_in,add,replaced,cmpfcn) \ +do { \ + unsigned _hr_hashv; \ + HASH_VALUE(&((add)->fieldname), keylen_in, _hr_hashv); \ + HASH_REPLACE_BYHASHVALUE_INORDER(hh, head, fieldname, keylen_in, _hr_hashv, add, replaced, cmpfcn); \ +} while (0) + +#define HASH_APPEND_LIST(hh, head, add) \ +do { \ + (add)->hh.next = NULL; \ + (add)->hh.prev = ELMT_FROM_HH((head)->hh.tbl, (head)->hh.tbl->tail); \ + (head)->hh.tbl->tail->next = (add); \ + (head)->hh.tbl->tail = &((add)->hh); \ +} while (0) + +#define HASH_AKBI_INNER_LOOP(hh,head,add,cmpfcn) \ +do { \ + do { \ + if (cmpfcn(DECLTYPE(head)(_hs_iter), add) > 0) { \ + break; \ + } \ + } while ((_hs_iter = HH_FROM_ELMT((head)->hh.tbl, _hs_iter)->next)); \ +} while (0) + +#ifdef NO_DECLTYPE +#undef HASH_AKBI_INNER_LOOP +#define HASH_AKBI_INNER_LOOP(hh,head,add,cmpfcn) \ +do { \ + char *_hs_saved_head = (char*)(head); \ + do { \ + DECLTYPE_ASSIGN(head, _hs_iter); \ + if (cmpfcn(head, add) > 0) { \ + DECLTYPE_ASSIGN(head, _hs_saved_head); \ + break; \ + } \ + DECLTYPE_ASSIGN(head, _hs_saved_head); \ + } while ((_hs_iter = HH_FROM_ELMT((head)->hh.tbl, _hs_iter)->next)); \ +} while (0) +#endif + +#if HASH_NONFATAL_OOM + +#define HASH_ADD_TO_TABLE(hh,head,keyptr,keylen_in,hashval,add,oomed) \ +do { \ + if (!(oomed)) { \ + unsigned _ha_bkt; \ + (head)->hh.tbl->num_items++; \ + HASH_TO_BKT(hashval, (head)->hh.tbl->num_buckets, _ha_bkt); \ + HASH_ADD_TO_BKT((head)->hh.tbl->buckets[_ha_bkt], hh, &(add)->hh, oomed); \ + if (oomed) { \ + HASH_ROLLBACK_BKT(hh, head, &(add)->hh); \ + HASH_DELETE_HH(hh, head, &(add)->hh); \ + (add)->hh.tbl = NULL; \ + uthash_nonfatal_oom(add); \ + } else { \ + HASH_BLOOM_ADD((head)->hh.tbl, hashval); \ + HASH_EMIT_KEY(hh, head, keyptr, keylen_in); \ + } \ + } else { \ + (add)->hh.tbl = NULL; \ + uthash_nonfatal_oom(add); \ + } \ +} while (0) + +#else + +#define HASH_ADD_TO_TABLE(hh,head,keyptr,keylen_in,hashval,add,oomed) \ +do { \ + unsigned _ha_bkt; \ + (head)->hh.tbl->num_items++; \ + HASH_TO_BKT(hashval, (head)->hh.tbl->num_buckets, _ha_bkt); \ + HASH_ADD_TO_BKT((head)->hh.tbl->buckets[_ha_bkt], hh, &(add)->hh, oomed); \ + HASH_BLOOM_ADD((head)->hh.tbl, hashval); \ + HASH_EMIT_KEY(hh, head, keyptr, keylen_in); \ +} while (0) + +#endif + + +#define HASH_ADD_KEYPTR_BYHASHVALUE_INORDER(hh,head,keyptr,keylen_in,hashval,add,cmpfcn) \ +do { \ + IF_HASH_NONFATAL_OOM( int _ha_oomed = 0; ) \ + (add)->hh.hashv = (hashval); \ + (add)->hh.key = (char*) (keyptr); \ + (add)->hh.keylen = (unsigned) (keylen_in); \ + if (!(head)) { \ + (add)->hh.next = NULL; \ + (add)->hh.prev = NULL; \ + HASH_MAKE_TABLE(hh, add, _ha_oomed); \ + IF_HASH_NONFATAL_OOM( if (!_ha_oomed) { ) \ + (head) = (add); \ + IF_HASH_NONFATAL_OOM( } ) \ + } else { \ + void *_hs_iter = (head); \ + (add)->hh.tbl = (head)->hh.tbl; \ + HASH_AKBI_INNER_LOOP(hh, head, add, cmpfcn); \ + if (_hs_iter) { \ + (add)->hh.next = _hs_iter; \ + if (((add)->hh.prev = HH_FROM_ELMT((head)->hh.tbl, _hs_iter)->prev)) { \ + HH_FROM_ELMT((head)->hh.tbl, (add)->hh.prev)->next = (add); \ + } else { \ + (head) = (add); \ + } \ + HH_FROM_ELMT((head)->hh.tbl, _hs_iter)->prev = (add); \ + } else { \ + HASH_APPEND_LIST(hh, head, add); \ + } \ + } \ + HASH_ADD_TO_TABLE(hh, head, keyptr, keylen_in, hashval, add, _ha_oomed); \ + HASH_FSCK(hh, head, "HASH_ADD_KEYPTR_BYHASHVALUE_INORDER"); \ +} while (0) + +#define HASH_ADD_KEYPTR_INORDER(hh,head,keyptr,keylen_in,add,cmpfcn) \ +do { \ + unsigned _hs_hashv; \ + HASH_VALUE(keyptr, keylen_in, _hs_hashv); \ + HASH_ADD_KEYPTR_BYHASHVALUE_INORDER(hh, head, keyptr, keylen_in, _hs_hashv, add, cmpfcn); \ +} while (0) + +#define HASH_ADD_BYHASHVALUE_INORDER(hh,head,fieldname,keylen_in,hashval,add,cmpfcn) \ + HASH_ADD_KEYPTR_BYHASHVALUE_INORDER(hh, head, &((add)->fieldname), keylen_in, hashval, add, cmpfcn) + +#define HASH_ADD_INORDER(hh,head,fieldname,keylen_in,add,cmpfcn) \ + HASH_ADD_KEYPTR_INORDER(hh, head, &((add)->fieldname), keylen_in, add, cmpfcn) + +#define HASH_ADD_KEYPTR_BYHASHVALUE(hh,head,keyptr,keylen_in,hashval,add) \ +do { \ + IF_HASH_NONFATAL_OOM( int _ha_oomed = 0; ) \ + (add)->hh.hashv = (hashval); \ + (add)->hh.key = (char*) (keyptr); \ + (add)->hh.keylen = (unsigned) (keylen_in); \ + if (!(head)) { \ + (add)->hh.next = NULL; \ + (add)->hh.prev = NULL; \ + HASH_MAKE_TABLE(hh, add, _ha_oomed); \ + IF_HASH_NONFATAL_OOM( if (!_ha_oomed) { ) \ + (head) = (add); \ + IF_HASH_NONFATAL_OOM( } ) \ + } else { \ + (add)->hh.tbl = (head)->hh.tbl; \ + HASH_APPEND_LIST(hh, head, add); \ + } \ + HASH_ADD_TO_TABLE(hh, head, keyptr, keylen_in, hashval, add, _ha_oomed); \ + HASH_FSCK(hh, head, "HASH_ADD_KEYPTR_BYHASHVALUE"); \ +} while (0) + +#define HASH_ADD_KEYPTR(hh,head,keyptr,keylen_in,add) \ +do { \ + unsigned _ha_hashv; \ + HASH_VALUE(keyptr, keylen_in, _ha_hashv); \ + HASH_ADD_KEYPTR_BYHASHVALUE(hh, head, keyptr, keylen_in, _ha_hashv, add); \ +} while (0) + +#define HASH_ADD_BYHASHVALUE(hh,head,fieldname,keylen_in,hashval,add) \ + HASH_ADD_KEYPTR_BYHASHVALUE(hh, head, &((add)->fieldname), keylen_in, hashval, add) + +#define HASH_ADD(hh,head,fieldname,keylen_in,add) \ + HASH_ADD_KEYPTR(hh, head, &((add)->fieldname), keylen_in, add) + +#define HASH_TO_BKT(hashv,num_bkts,bkt) \ +do { \ + bkt = ((hashv) & ((num_bkts) - 1U)); \ +} while (0) + +/* delete "delptr" from the hash table. + * "the usual" patch-up process for the app-order doubly-linked-list. + * The use of _hd_hh_del below deserves special explanation. + * These used to be expressed using (delptr) but that led to a bug + * if someone used the same symbol for the head and deletee, like + * HASH_DELETE(hh,users,users); + * We want that to work, but by changing the head (users) below + * we were forfeiting our ability to further refer to the deletee (users) + * in the patch-up process. Solution: use scratch space to + * copy the deletee pointer, then the latter references are via that + * scratch pointer rather than through the repointed (users) symbol. + */ +#define HASH_DELETE(hh,head,delptr) \ + HASH_DELETE_HH(hh, head, &(delptr)->hh) + +#define HASH_DELETE_HH(hh,head,delptrhh) \ +do { \ + struct UT_hash_handle *_hd_hh_del = (delptrhh); \ + if ((_hd_hh_del->prev == NULL) && (_hd_hh_del->next == NULL)) { \ + HASH_BLOOM_FREE((head)->hh.tbl); \ + uthash_free((head)->hh.tbl->buckets, \ + (head)->hh.tbl->num_buckets * sizeof(struct UT_hash_bucket)); \ + uthash_free((head)->hh.tbl, sizeof(UT_hash_table)); \ + (head) = NULL; \ + } else { \ + unsigned _hd_bkt; \ + if (_hd_hh_del == (head)->hh.tbl->tail) { \ + (head)->hh.tbl->tail = HH_FROM_ELMT((head)->hh.tbl, _hd_hh_del->prev); \ + } \ + if (_hd_hh_del->prev != NULL) { \ + HH_FROM_ELMT((head)->hh.tbl, _hd_hh_del->prev)->next = _hd_hh_del->next; \ + } else { \ + DECLTYPE_ASSIGN(head, _hd_hh_del->next); \ + } \ + if (_hd_hh_del->next != NULL) { \ + HH_FROM_ELMT((head)->hh.tbl, _hd_hh_del->next)->prev = _hd_hh_del->prev; \ + } \ + HASH_TO_BKT(_hd_hh_del->hashv, (head)->hh.tbl->num_buckets, _hd_bkt); \ + HASH_DEL_IN_BKT((head)->hh.tbl->buckets[_hd_bkt], _hd_hh_del); \ + (head)->hh.tbl->num_items--; \ + } \ + HASH_FSCK(hh, head, "HASH_DELETE_HH"); \ +} while (0) + +/* convenience forms of HASH_FIND/HASH_ADD/HASH_DEL */ +#define HASH_FIND_STR(head,findstr,out) \ +do { \ + unsigned _uthash_hfstr_keylen = (unsigned)uthash_strlen(findstr); \ + HASH_FIND(hh, head, findstr, _uthash_hfstr_keylen, out); \ +} while (0) +#define HASH_ADD_STR(head,strfield,add) \ +do { \ + unsigned _uthash_hastr_keylen = (unsigned)uthash_strlen((add)->strfield); \ + HASH_ADD(hh, head, strfield[0], _uthash_hastr_keylen, add); \ +} while (0) +#define HASH_REPLACE_STR(head,strfield,add,replaced) \ +do { \ + unsigned _uthash_hrstr_keylen = (unsigned)uthash_strlen((add)->strfield); \ + HASH_REPLACE(hh, head, strfield[0], _uthash_hrstr_keylen, add, replaced); \ +} while (0) +#define HASH_FIND_INT(head,findint,out) \ + HASH_FIND(hh,head,findint,sizeof(int),out) +#define HASH_ADD_INT(head,intfield,add) \ + HASH_ADD(hh,head,intfield,sizeof(int),add) +#define HASH_REPLACE_INT(head,intfield,add,replaced) \ + HASH_REPLACE(hh,head,intfield,sizeof(int),add,replaced) +#define HASH_FIND_PTR(head,findptr,out) \ + HASH_FIND(hh,head,findptr,sizeof(void *),out) +#define HASH_ADD_PTR(head,ptrfield,add) \ + HASH_ADD(hh,head,ptrfield,sizeof(void *),add) +#define HASH_REPLACE_PTR(head,ptrfield,add,replaced) \ + HASH_REPLACE(hh,head,ptrfield,sizeof(void *),add,replaced) +#define HASH_DEL(head,delptr) \ + HASH_DELETE(hh,head,delptr) + +/* HASH_FSCK checks hash integrity on every add/delete when HASH_DEBUG is defined. + * This is for uthash developer only; it compiles away if HASH_DEBUG isn't defined. + */ +#ifdef HASH_DEBUG +#define HASH_OOPS(...) do { fprintf(stderr,__VA_ARGS__); exit(-1); } while (0) +#define HASH_FSCK(hh,head,where) \ +do { \ + struct UT_hash_handle *_thh; \ + if (head) { \ + unsigned _bkt_i; \ + unsigned _count = 0; \ + char *_prev; \ + for (_bkt_i = 0; _bkt_i < (head)->hh.tbl->num_buckets; ++_bkt_i) { \ + unsigned _bkt_count = 0; \ + _thh = (head)->hh.tbl->buckets[_bkt_i].hh_head; \ + _prev = NULL; \ + while (_thh) { \ + if (_prev != (char*)(_thh->hh_prev)) { \ + HASH_OOPS("%s: invalid hh_prev %p, actual %p\n", \ + (where), (void*)_thh->hh_prev, (void*)_prev); \ + } \ + _bkt_count++; \ + _prev = (char*)(_thh); \ + _thh = _thh->hh_next; \ + } \ + _count += _bkt_count; \ + if ((head)->hh.tbl->buckets[_bkt_i].count != _bkt_count) { \ + HASH_OOPS("%s: invalid bucket count %u, actual %u\n", \ + (where), (head)->hh.tbl->buckets[_bkt_i].count, _bkt_count); \ + } \ + } \ + if (_count != (head)->hh.tbl->num_items) { \ + HASH_OOPS("%s: invalid hh item count %u, actual %u\n", \ + (where), (head)->hh.tbl->num_items, _count); \ + } \ + _count = 0; \ + _prev = NULL; \ + _thh = &(head)->hh; \ + while (_thh) { \ + _count++; \ + if (_prev != (char*)_thh->prev) { \ + HASH_OOPS("%s: invalid prev %p, actual %p\n", \ + (where), (void*)_thh->prev, (void*)_prev); \ + } \ + _prev = (char*)ELMT_FROM_HH((head)->hh.tbl, _thh); \ + _thh = (_thh->next ? HH_FROM_ELMT((head)->hh.tbl, _thh->next) : NULL); \ + } \ + if (_count != (head)->hh.tbl->num_items) { \ + HASH_OOPS("%s: invalid app item count %u, actual %u\n", \ + (where), (head)->hh.tbl->num_items, _count); \ + } \ + } \ +} while (0) +#else +#define HASH_FSCK(hh,head,where) +#endif + +/* When compiled with -DHASH_EMIT_KEYS, length-prefixed keys are emitted to + * the descriptor to which this macro is defined for tuning the hash function. + * The app can #include to get the prototype for write(2). */ +#ifdef HASH_EMIT_KEYS +#define HASH_EMIT_KEY(hh,head,keyptr,fieldlen) \ +do { \ + unsigned _klen = fieldlen; \ + write(HASH_EMIT_KEYS, &_klen, sizeof(_klen)); \ + write(HASH_EMIT_KEYS, keyptr, (unsigned long)fieldlen); \ +} while (0) +#else +#define HASH_EMIT_KEY(hh,head,keyptr,fieldlen) +#endif + +/* default to Jenkin's hash unless overridden e.g. DHASH_FUNCTION=HASH_SAX */ +#ifdef HASH_FUNCTION +#define HASH_FCN HASH_FUNCTION +#else +#define HASH_FCN HASH_JEN +#endif + +/* The Bernstein hash function, used in Perl prior to v5.6. Note (x<<5+x)=x*33. */ +#define HASH_BER(key,keylen,hashv) \ +do { \ + unsigned _hb_keylen = (unsigned)keylen; \ + const unsigned char *_hb_key = (const unsigned char*)(key); \ + (hashv) = 0; \ + while (_hb_keylen-- != 0U) { \ + (hashv) = (((hashv) << 5) + (hashv)) + *_hb_key++; \ + } \ +} while (0) + + +/* SAX/FNV/OAT/JEN hash functions are macro variants of those listed at + * http://eternallyconfuzzled.com/tuts/algorithms/jsw_tut_hashing.aspx */ +#define HASH_SAX(key,keylen,hashv) \ +do { \ + unsigned _sx_i; \ + const unsigned char *_hs_key = (const unsigned char*)(key); \ + hashv = 0; \ + for (_sx_i=0; _sx_i < keylen; _sx_i++) { \ + hashv ^= (hashv << 5) + (hashv >> 2) + _hs_key[_sx_i]; \ + } \ +} while (0) +/* FNV-1a variation */ +#define HASH_FNV(key,keylen,hashv) \ +do { \ + unsigned _fn_i; \ + const unsigned char *_hf_key = (const unsigned char*)(key); \ + (hashv) = 2166136261U; \ + for (_fn_i=0; _fn_i < keylen; _fn_i++) { \ + hashv = hashv ^ _hf_key[_fn_i]; \ + hashv = hashv * 16777619U; \ + } \ +} while (0) + +#define HASH_OAT(key,keylen,hashv) \ +do { \ + unsigned _ho_i; \ + const unsigned char *_ho_key=(const unsigned char*)(key); \ + hashv = 0; \ + for(_ho_i=0; _ho_i < keylen; _ho_i++) { \ + hashv += _ho_key[_ho_i]; \ + hashv += (hashv << 10); \ + hashv ^= (hashv >> 6); \ + } \ + hashv += (hashv << 3); \ + hashv ^= (hashv >> 11); \ + hashv += (hashv << 15); \ +} while (0) + +#define HASH_JEN_MIX(a,b,c) \ +do { \ + a -= b; a -= c; a ^= ( c >> 13 ); \ + b -= c; b -= a; b ^= ( a << 8 ); \ + c -= a; c -= b; c ^= ( b >> 13 ); \ + a -= b; a -= c; a ^= ( c >> 12 ); \ + b -= c; b -= a; b ^= ( a << 16 ); \ + c -= a; c -= b; c ^= ( b >> 5 ); \ + a -= b; a -= c; a ^= ( c >> 3 ); \ + b -= c; b -= a; b ^= ( a << 10 ); \ + c -= a; c -= b; c ^= ( b >> 15 ); \ +} while (0) + +#define HASH_JEN(key,keylen,hashv) \ +do { \ + unsigned _hj_i,_hj_j,_hj_k; \ + unsigned const char *_hj_key=(unsigned const char*)(key); \ + hashv = 0xfeedbeefu; \ + _hj_i = _hj_j = 0x9e3779b9u; \ + _hj_k = (unsigned)(keylen); \ + while (_hj_k >= 12U) { \ + _hj_i += (_hj_key[0] + ( (unsigned)_hj_key[1] << 8 ) \ + + ( (unsigned)_hj_key[2] << 16 ) \ + + ( (unsigned)_hj_key[3] << 24 ) ); \ + _hj_j += (_hj_key[4] + ( (unsigned)_hj_key[5] << 8 ) \ + + ( (unsigned)_hj_key[6] << 16 ) \ + + ( (unsigned)_hj_key[7] << 24 ) ); \ + hashv += (_hj_key[8] + ( (unsigned)_hj_key[9] << 8 ) \ + + ( (unsigned)_hj_key[10] << 16 ) \ + + ( (unsigned)_hj_key[11] << 24 ) ); \ + \ + HASH_JEN_MIX(_hj_i, _hj_j, hashv); \ + \ + _hj_key += 12; \ + _hj_k -= 12U; \ + } \ + hashv += (unsigned)(keylen); \ + switch ( _hj_k ) { \ + case 11: hashv += ( (unsigned)_hj_key[10] << 24 ); /* FALLTHROUGH */ \ + case 10: hashv += ( (unsigned)_hj_key[9] << 16 ); /* FALLTHROUGH */ \ + case 9: hashv += ( (unsigned)_hj_key[8] << 8 ); /* FALLTHROUGH */ \ + case 8: _hj_j += ( (unsigned)_hj_key[7] << 24 ); /* FALLTHROUGH */ \ + case 7: _hj_j += ( (unsigned)_hj_key[6] << 16 ); /* FALLTHROUGH */ \ + case 6: _hj_j += ( (unsigned)_hj_key[5] << 8 ); /* FALLTHROUGH */ \ + case 5: _hj_j += _hj_key[4]; /* FALLTHROUGH */ \ + case 4: _hj_i += ( (unsigned)_hj_key[3] << 24 ); /* FALLTHROUGH */ \ + case 3: _hj_i += ( (unsigned)_hj_key[2] << 16 ); /* FALLTHROUGH */ \ + case 2: _hj_i += ( (unsigned)_hj_key[1] << 8 ); /* FALLTHROUGH */ \ + case 1: _hj_i += _hj_key[0]; \ + } \ + HASH_JEN_MIX(_hj_i, _hj_j, hashv); \ +} while (0) + +/* The Paul Hsieh hash function */ +#undef get16bits +#if (defined(__GNUC__) && defined(__i386__)) || defined(__WATCOMC__) \ + || defined(_MSC_VER) || defined (__BORLANDC__) || defined (__TURBOC__) +#define get16bits(d) (*((const uint16_t *) (d))) +#endif + +#if !defined (get16bits) +#define get16bits(d) ((((uint32_t)(((const uint8_t *)(d))[1])) << 8) \ + +(uint32_t)(((const uint8_t *)(d))[0]) ) +#endif +#define HASH_SFH(key,keylen,hashv) \ +do { \ + unsigned const char *_sfh_key=(unsigned const char*)(key); \ + uint32_t _sfh_tmp, _sfh_len = (uint32_t)keylen; \ + \ + unsigned _sfh_rem = _sfh_len & 3U; \ + _sfh_len >>= 2; \ + hashv = 0xcafebabeu; \ + \ + /* Main loop */ \ + for (;_sfh_len > 0U; _sfh_len--) { \ + hashv += get16bits (_sfh_key); \ + _sfh_tmp = ((uint32_t)(get16bits (_sfh_key+2)) << 11) ^ hashv; \ + hashv = (hashv << 16) ^ _sfh_tmp; \ + _sfh_key += 2U*sizeof (uint16_t); \ + hashv += hashv >> 11; \ + } \ + \ + /* Handle end cases */ \ + switch (_sfh_rem) { \ + case 3: hashv += get16bits (_sfh_key); \ + hashv ^= hashv << 16; \ + hashv ^= (uint32_t)(_sfh_key[sizeof (uint16_t)]) << 18; \ + hashv += hashv >> 11; \ + break; \ + case 2: hashv += get16bits (_sfh_key); \ + hashv ^= hashv << 11; \ + hashv += hashv >> 17; \ + break; \ + case 1: hashv += *_sfh_key; \ + hashv ^= hashv << 10; \ + hashv += hashv >> 1; \ + } \ + \ + /* Force "avalanching" of final 127 bits */ \ + hashv ^= hashv << 3; \ + hashv += hashv >> 5; \ + hashv ^= hashv << 4; \ + hashv += hashv >> 17; \ + hashv ^= hashv << 25; \ + hashv += hashv >> 6; \ +} while (0) + +#ifdef HASH_USING_NO_STRICT_ALIASING +/* The MurmurHash exploits some CPU's (x86,x86_64) tolerance for unaligned reads. + * For other types of CPU's (e.g. Sparc) an unaligned read causes a bus error. + * MurmurHash uses the faster approach only on CPU's where we know it's safe. + * + * Note the preprocessor built-in defines can be emitted using: + * + * gcc -m64 -dM -E - < /dev/null (on gcc) + * cc -## a.c (where a.c is a simple test file) (Sun Studio) + */ +#if (defined(__i386__) || defined(__x86_64__) || defined(_M_IX86)) +#define MUR_GETBLOCK(p,i) p[i] +#else /* non intel */ +#define MUR_PLUS0_ALIGNED(p) (((unsigned long)p & 3UL) == 0UL) +#define MUR_PLUS1_ALIGNED(p) (((unsigned long)p & 3UL) == 1UL) +#define MUR_PLUS2_ALIGNED(p) (((unsigned long)p & 3UL) == 2UL) +#define MUR_PLUS3_ALIGNED(p) (((unsigned long)p & 3UL) == 3UL) +#define WP(p) ((uint32_t*)((unsigned long)(p) & ~3UL)) +#if (defined(__BIG_ENDIAN__) || defined(SPARC) || defined(__ppc__) || defined(__ppc64__)) +#define MUR_THREE_ONE(p) ((((*WP(p))&0x00ffffff) << 8) | (((*(WP(p)+1))&0xff000000) >> 24)) +#define MUR_TWO_TWO(p) ((((*WP(p))&0x0000ffff) <<16) | (((*(WP(p)+1))&0xffff0000) >> 16)) +#define MUR_ONE_THREE(p) ((((*WP(p))&0x000000ff) <<24) | (((*(WP(p)+1))&0xffffff00) >> 8)) +#else /* assume little endian non-intel */ +#define MUR_THREE_ONE(p) ((((*WP(p))&0xffffff00) >> 8) | (((*(WP(p)+1))&0x000000ff) << 24)) +#define MUR_TWO_TWO(p) ((((*WP(p))&0xffff0000) >>16) | (((*(WP(p)+1))&0x0000ffff) << 16)) +#define MUR_ONE_THREE(p) ((((*WP(p))&0xff000000) >>24) | (((*(WP(p)+1))&0x00ffffff) << 8)) +#endif +#define MUR_GETBLOCK(p,i) (MUR_PLUS0_ALIGNED(p) ? ((p)[i]) : \ + (MUR_PLUS1_ALIGNED(p) ? MUR_THREE_ONE(p) : \ + (MUR_PLUS2_ALIGNED(p) ? MUR_TWO_TWO(p) : \ + MUR_ONE_THREE(p)))) +#endif +#define MUR_ROTL32(x,r) (((x) << (r)) | ((x) >> (32 - (r)))) +#define MUR_FMIX(_h) \ +do { \ + _h ^= _h >> 16; \ + _h *= 0x85ebca6bu; \ + _h ^= _h >> 13; \ + _h *= 0xc2b2ae35u; \ + _h ^= _h >> 16; \ +} while (0) + +#define HASH_MUR(key,keylen,hashv) \ +do { \ + const uint8_t *_mur_data = (const uint8_t*)(key); \ + const int _mur_nblocks = (int)(keylen) / 4; \ + uint32_t _mur_h1 = 0xf88D5353u; \ + uint32_t _mur_c1 = 0xcc9e2d51u; \ + uint32_t _mur_c2 = 0x1b873593u; \ + uint32_t _mur_k1 = 0; \ + const uint8_t *_mur_tail; \ + const uint32_t *_mur_blocks = (const uint32_t*)(_mur_data+(_mur_nblocks*4)); \ + int _mur_i; \ + for (_mur_i = -_mur_nblocks; _mur_i != 0; _mur_i++) { \ + _mur_k1 = MUR_GETBLOCK(_mur_blocks,_mur_i); \ + _mur_k1 *= _mur_c1; \ + _mur_k1 = MUR_ROTL32(_mur_k1,15); \ + _mur_k1 *= _mur_c2; \ + \ + _mur_h1 ^= _mur_k1; \ + _mur_h1 = MUR_ROTL32(_mur_h1,13); \ + _mur_h1 = (_mur_h1*5U) + 0xe6546b64u; \ + } \ + _mur_tail = (const uint8_t*)(_mur_data + (_mur_nblocks*4)); \ + _mur_k1=0; \ + switch ((keylen) & 3U) { \ + case 0: break; \ + case 3: _mur_k1 ^= (uint32_t)_mur_tail[2] << 16; /* FALLTHROUGH */ \ + case 2: _mur_k1 ^= (uint32_t)_mur_tail[1] << 8; /* FALLTHROUGH */ \ + case 1: _mur_k1 ^= (uint32_t)_mur_tail[0]; \ + _mur_k1 *= _mur_c1; \ + _mur_k1 = MUR_ROTL32(_mur_k1,15); \ + _mur_k1 *= _mur_c2; \ + _mur_h1 ^= _mur_k1; \ + } \ + _mur_h1 ^= (uint32_t)(keylen); \ + MUR_FMIX(_mur_h1); \ + hashv = _mur_h1; \ +} while (0) +#endif /* HASH_USING_NO_STRICT_ALIASING */ + +/* iterate over items in a known bucket to find desired item */ +#define HASH_FIND_IN_BKT(tbl,hh,head,keyptr,keylen_in,hashval,out) \ +do { \ + if ((head).hh_head != NULL) { \ + DECLTYPE_ASSIGN(out, ELMT_FROM_HH(tbl, (head).hh_head)); \ + } else { \ + (out) = NULL; \ + } \ + while ((out) != NULL) { \ + if ((out)->hh.hashv == (hashval) && (out)->hh.keylen == (keylen_in)) { \ + if (uthash_memcmp((out)->hh.key, keyptr, keylen_in) == 0) { \ + break; \ + } \ + } \ + if ((out)->hh.hh_next != NULL) { \ + DECLTYPE_ASSIGN(out, ELMT_FROM_HH(tbl, (out)->hh.hh_next)); \ + } else { \ + (out) = NULL; \ + } \ + } \ +} while (0) + +/* add an item to a bucket */ +#define HASH_ADD_TO_BKT(head,hh,addhh,oomed) \ +do { \ + UT_hash_bucket *_ha_head = &(head); \ + _ha_head->count++; \ + (addhh)->hh_next = _ha_head->hh_head; \ + (addhh)->hh_prev = NULL; \ + if (_ha_head->hh_head != NULL) { \ + _ha_head->hh_head->hh_prev = (addhh); \ + } \ + _ha_head->hh_head = (addhh); \ + if ((_ha_head->count >= ((_ha_head->expand_mult + 1U) * HASH_BKT_CAPACITY_THRESH)) \ + && !(addhh)->tbl->noexpand) { \ + HASH_EXPAND_BUCKETS(addhh,(addhh)->tbl, oomed); \ + IF_HASH_NONFATAL_OOM( \ + if (oomed) { \ + HASH_DEL_IN_BKT(head,addhh); \ + } \ + ) \ + } \ +} while (0) + +/* remove an item from a given bucket */ +#define HASH_DEL_IN_BKT(head,delhh) \ +do { \ + UT_hash_bucket *_hd_head = &(head); \ + _hd_head->count--; \ + if (_hd_head->hh_head == (delhh)) { \ + _hd_head->hh_head = (delhh)->hh_next; \ + } \ + if ((delhh)->hh_prev) { \ + (delhh)->hh_prev->hh_next = (delhh)->hh_next; \ + } \ + if ((delhh)->hh_next) { \ + (delhh)->hh_next->hh_prev = (delhh)->hh_prev; \ + } \ +} while (0) + +/* Bucket expansion has the effect of doubling the number of buckets + * and redistributing the items into the new buckets. Ideally the + * items will distribute more or less evenly into the new buckets + * (the extent to which this is true is a measure of the quality of + * the hash function as it applies to the key domain). + * + * With the items distributed into more buckets, the chain length + * (item count) in each bucket is reduced. Thus by expanding buckets + * the hash keeps a bound on the chain length. This bounded chain + * length is the essence of how a hash provides constant time lookup. + * + * The calculation of tbl->ideal_chain_maxlen below deserves some + * explanation. First, keep in mind that we're calculating the ideal + * maximum chain length based on the *new* (doubled) bucket count. + * In fractions this is just n/b (n=number of items,b=new num buckets). + * Since the ideal chain length is an integer, we want to calculate + * ceil(n/b). We don't depend on floating point arithmetic in this + * hash, so to calculate ceil(n/b) with integers we could write + * + * ceil(n/b) = (n/b) + ((n%b)?1:0) + * + * and in fact a previous version of this hash did just that. + * But now we have improved things a bit by recognizing that b is + * always a power of two. We keep its base 2 log handy (call it lb), + * so now we can write this with a bit shift and logical AND: + * + * ceil(n/b) = (n>>lb) + ( (n & (b-1)) ? 1:0) + * + */ +#define HASH_EXPAND_BUCKETS(hh,tbl,oomed) \ +do { \ + unsigned _he_bkt; \ + unsigned _he_bkt_i; \ + struct UT_hash_handle *_he_thh, *_he_hh_nxt; \ + UT_hash_bucket *_he_new_buckets, *_he_newbkt; \ + _he_new_buckets = (UT_hash_bucket*)uthash_malloc( \ + 2UL * (tbl)->num_buckets * sizeof(struct UT_hash_bucket)); \ + if (!_he_new_buckets) { \ + HASH_RECORD_OOM(oomed); \ + } else { \ + uthash_bzero(_he_new_buckets, \ + 2UL * (tbl)->num_buckets * sizeof(struct UT_hash_bucket)); \ + (tbl)->ideal_chain_maxlen = \ + ((tbl)->num_items >> ((tbl)->log2_num_buckets+1U)) + \ + ((((tbl)->num_items & (((tbl)->num_buckets*2U)-1U)) != 0U) ? 1U : 0U); \ + (tbl)->nonideal_items = 0; \ + for (_he_bkt_i = 0; _he_bkt_i < (tbl)->num_buckets; _he_bkt_i++) { \ + _he_thh = (tbl)->buckets[ _he_bkt_i ].hh_head; \ + while (_he_thh != NULL) { \ + _he_hh_nxt = _he_thh->hh_next; \ + HASH_TO_BKT(_he_thh->hashv, (tbl)->num_buckets * 2U, _he_bkt); \ + _he_newbkt = &(_he_new_buckets[_he_bkt]); \ + if (++(_he_newbkt->count) > (tbl)->ideal_chain_maxlen) { \ + (tbl)->nonideal_items++; \ + _he_newbkt->expand_mult = _he_newbkt->count / (tbl)->ideal_chain_maxlen; \ + } \ + _he_thh->hh_prev = NULL; \ + _he_thh->hh_next = _he_newbkt->hh_head; \ + if (_he_newbkt->hh_head != NULL) { \ + _he_newbkt->hh_head->hh_prev = _he_thh; \ + } \ + _he_newbkt->hh_head = _he_thh; \ + _he_thh = _he_hh_nxt; \ + } \ + } \ + uthash_free((tbl)->buckets, (tbl)->num_buckets * sizeof(struct UT_hash_bucket)); \ + (tbl)->num_buckets *= 2U; \ + (tbl)->log2_num_buckets++; \ + (tbl)->buckets = _he_new_buckets; \ + (tbl)->ineff_expands = ((tbl)->nonideal_items > ((tbl)->num_items >> 1)) ? \ + ((tbl)->ineff_expands+1U) : 0U; \ + if ((tbl)->ineff_expands > 1U) { \ + (tbl)->noexpand = 1; \ + uthash_noexpand_fyi(tbl); \ + } \ + uthash_expand_fyi(tbl); \ + } \ +} while (0) + + +/* This is an adaptation of Simon Tatham's O(n log(n)) mergesort */ +/* Note that HASH_SORT assumes the hash handle name to be hh. + * HASH_SRT was added to allow the hash handle name to be passed in. */ +#define HASH_SORT(head,cmpfcn) HASH_SRT(hh,head,cmpfcn) +#define HASH_SRT(hh,head,cmpfcn) \ +do { \ + unsigned _hs_i; \ + unsigned _hs_looping,_hs_nmerges,_hs_insize,_hs_psize,_hs_qsize; \ + struct UT_hash_handle *_hs_p, *_hs_q, *_hs_e, *_hs_list, *_hs_tail; \ + if (head != NULL) { \ + _hs_insize = 1; \ + _hs_looping = 1; \ + _hs_list = &((head)->hh); \ + while (_hs_looping != 0U) { \ + _hs_p = _hs_list; \ + _hs_list = NULL; \ + _hs_tail = NULL; \ + _hs_nmerges = 0; \ + while (_hs_p != NULL) { \ + _hs_nmerges++; \ + _hs_q = _hs_p; \ + _hs_psize = 0; \ + for (_hs_i = 0; _hs_i < _hs_insize; ++_hs_i) { \ + _hs_psize++; \ + _hs_q = ((_hs_q->next != NULL) ? \ + HH_FROM_ELMT((head)->hh.tbl, _hs_q->next) : NULL); \ + if (_hs_q == NULL) { \ + break; \ + } \ + } \ + _hs_qsize = _hs_insize; \ + while ((_hs_psize != 0U) || ((_hs_qsize != 0U) && (_hs_q != NULL))) { \ + if (_hs_psize == 0U) { \ + _hs_e = _hs_q; \ + _hs_q = ((_hs_q->next != NULL) ? \ + HH_FROM_ELMT((head)->hh.tbl, _hs_q->next) : NULL); \ + _hs_qsize--; \ + } else if ((_hs_qsize == 0U) || (_hs_q == NULL)) { \ + _hs_e = _hs_p; \ + if (_hs_p != NULL) { \ + _hs_p = ((_hs_p->next != NULL) ? \ + HH_FROM_ELMT((head)->hh.tbl, _hs_p->next) : NULL); \ + } \ + _hs_psize--; \ + } else if ((cmpfcn( \ + DECLTYPE(head)(ELMT_FROM_HH((head)->hh.tbl, _hs_p)), \ + DECLTYPE(head)(ELMT_FROM_HH((head)->hh.tbl, _hs_q)) \ + )) <= 0) { \ + _hs_e = _hs_p; \ + if (_hs_p != NULL) { \ + _hs_p = ((_hs_p->next != NULL) ? \ + HH_FROM_ELMT((head)->hh.tbl, _hs_p->next) : NULL); \ + } \ + _hs_psize--; \ + } else { \ + _hs_e = _hs_q; \ + _hs_q = ((_hs_q->next != NULL) ? \ + HH_FROM_ELMT((head)->hh.tbl, _hs_q->next) : NULL); \ + _hs_qsize--; \ + } \ + if ( _hs_tail != NULL ) { \ + _hs_tail->next = ((_hs_e != NULL) ? \ + ELMT_FROM_HH((head)->hh.tbl, _hs_e) : NULL); \ + } else { \ + _hs_list = _hs_e; \ + } \ + if (_hs_e != NULL) { \ + _hs_e->prev = ((_hs_tail != NULL) ? \ + ELMT_FROM_HH((head)->hh.tbl, _hs_tail) : NULL); \ + } \ + _hs_tail = _hs_e; \ + } \ + _hs_p = _hs_q; \ + } \ + if (_hs_tail != NULL) { \ + _hs_tail->next = NULL; \ + } \ + if (_hs_nmerges <= 1U) { \ + _hs_looping = 0; \ + (head)->hh.tbl->tail = _hs_tail; \ + DECLTYPE_ASSIGN(head, ELMT_FROM_HH((head)->hh.tbl, _hs_list)); \ + } \ + _hs_insize *= 2U; \ + } \ + HASH_FSCK(hh, head, "HASH_SRT"); \ + } \ +} while (0) + +/* This function selects items from one hash into another hash. + * The end result is that the selected items have dual presence + * in both hashes. There is no copy of the items made; rather + * they are added into the new hash through a secondary hash + * hash handle that must be present in the structure. */ +#define HASH_SELECT(hh_dst, dst, hh_src, src, cond) \ +do { \ + unsigned _src_bkt, _dst_bkt; \ + void *_last_elt = NULL, *_elt; \ + UT_hash_handle *_src_hh, *_dst_hh, *_last_elt_hh=NULL; \ + ptrdiff_t _dst_hho = ((char*)(&(dst)->hh_dst) - (char*)(dst)); \ + if ((src) != NULL) { \ + for (_src_bkt=0; _src_bkt < (src)->hh_src.tbl->num_buckets; _src_bkt++) { \ + for (_src_hh = (src)->hh_src.tbl->buckets[_src_bkt].hh_head; \ + _src_hh != NULL; \ + _src_hh = _src_hh->hh_next) { \ + _elt = ELMT_FROM_HH((src)->hh_src.tbl, _src_hh); \ + if (cond(_elt)) { \ + IF_HASH_NONFATAL_OOM( int _hs_oomed = 0; ) \ + _dst_hh = (UT_hash_handle*)(((char*)_elt) + _dst_hho); \ + _dst_hh->key = _src_hh->key; \ + _dst_hh->keylen = _src_hh->keylen; \ + _dst_hh->hashv = _src_hh->hashv; \ + _dst_hh->prev = _last_elt; \ + _dst_hh->next = NULL; \ + if (_last_elt_hh != NULL) { \ + _last_elt_hh->next = _elt; \ + } \ + if ((dst) == NULL) { \ + DECLTYPE_ASSIGN(dst, _elt); \ + HASH_MAKE_TABLE(hh_dst, dst, _hs_oomed); \ + IF_HASH_NONFATAL_OOM( \ + if (_hs_oomed) { \ + uthash_nonfatal_oom(_elt); \ + (dst) = NULL; \ + continue; \ + } \ + ) \ + } else { \ + _dst_hh->tbl = (dst)->hh_dst.tbl; \ + } \ + HASH_TO_BKT(_dst_hh->hashv, _dst_hh->tbl->num_buckets, _dst_bkt); \ + HASH_ADD_TO_BKT(_dst_hh->tbl->buckets[_dst_bkt], hh_dst, _dst_hh, _hs_oomed); \ + (dst)->hh_dst.tbl->num_items++; \ + IF_HASH_NONFATAL_OOM( \ + if (_hs_oomed) { \ + HASH_ROLLBACK_BKT(hh_dst, dst, _dst_hh); \ + HASH_DELETE_HH(hh_dst, dst, _dst_hh); \ + _dst_hh->tbl = NULL; \ + uthash_nonfatal_oom(_elt); \ + continue; \ + } \ + ) \ + HASH_BLOOM_ADD(_dst_hh->tbl, _dst_hh->hashv); \ + _last_elt = _elt; \ + _last_elt_hh = _dst_hh; \ + } \ + } \ + } \ + } \ + HASH_FSCK(hh_dst, dst, "HASH_SELECT"); \ +} while (0) + +#define HASH_CLEAR(hh,head) \ +do { \ + if ((head) != NULL) { \ + HASH_BLOOM_FREE((head)->hh.tbl); \ + uthash_free((head)->hh.tbl->buckets, \ + (head)->hh.tbl->num_buckets*sizeof(struct UT_hash_bucket)); \ + uthash_free((head)->hh.tbl, sizeof(UT_hash_table)); \ + (head) = NULL; \ + } \ +} while (0) + +#define HASH_OVERHEAD(hh,head) \ + (((head) != NULL) ? ( \ + (size_t)(((head)->hh.tbl->num_items * sizeof(UT_hash_handle)) + \ + ((head)->hh.tbl->num_buckets * sizeof(UT_hash_bucket)) + \ + sizeof(UT_hash_table) + \ + (HASH_BLOOM_BYTELEN))) : 0U) + +#ifdef NO_DECLTYPE +#define HASH_ITER(hh,head,el,tmp) \ +for(((el)=(head)), ((*(char**)(&(tmp)))=(char*)((head!=NULL)?(head)->hh.next:NULL)); \ + (el) != NULL; ((el)=(tmp)), ((*(char**)(&(tmp)))=(char*)((tmp!=NULL)?(tmp)->hh.next:NULL))) +#else +#define HASH_ITER(hh,head,el,tmp) \ +for(((el)=(head)), ((tmp)=DECLTYPE(el)((head!=NULL)?(head)->hh.next:NULL)); \ + (el) != NULL; ((el)=(tmp)), ((tmp)=DECLTYPE(el)((tmp!=NULL)?(tmp)->hh.next:NULL))) +#endif + +/* obtain a count of items in the hash */ +#define HASH_COUNT(head) HASH_CNT(hh,head) +#define HASH_CNT(hh,head) ((head != NULL)?((head)->hh.tbl->num_items):0U) + +typedef struct UT_hash_bucket { + struct UT_hash_handle *hh_head; + unsigned count; + + /* expand_mult is normally set to 0. In this situation, the max chain length + * threshold is enforced at its default value, HASH_BKT_CAPACITY_THRESH. (If + * the bucket's chain exceeds this length, bucket expansion is triggered). + * However, setting expand_mult to a non-zero value delays bucket expansion + * (that would be triggered by additions to this particular bucket) + * until its chain length reaches a *multiple* of HASH_BKT_CAPACITY_THRESH. + * (The multiplier is simply expand_mult+1). The whole idea of this + * multiplier is to reduce bucket expansions, since they are expensive, in + * situations where we know that a particular bucket tends to be overused. + * It is better to let its chain length grow to a longer yet-still-bounded + * value, than to do an O(n) bucket expansion too often. + */ + unsigned expand_mult; + +} UT_hash_bucket; + +/* random signature used only to find hash tables in external analysis */ +#define HASH_SIGNATURE 0xa0111fe1u +#define HASH_BLOOM_SIGNATURE 0xb12220f2u + +typedef struct UT_hash_table { + UT_hash_bucket *buckets; + unsigned num_buckets, log2_num_buckets; + unsigned num_items; + struct UT_hash_handle *tail; /* tail hh in app order, for fast append */ + ptrdiff_t hho; /* hash handle offset (byte pos of hash handle in element */ + + /* in an ideal situation (all buckets used equally), no bucket would have + * more than ceil(#items/#buckets) items. that's the ideal chain length. */ + unsigned ideal_chain_maxlen; + + /* nonideal_items is the number of items in the hash whose chain position + * exceeds the ideal chain maxlen. these items pay the penalty for an uneven + * hash distribution; reaching them in a chain traversal takes >ideal steps */ + unsigned nonideal_items; + + /* ineffective expands occur when a bucket doubling was performed, but + * afterward, more than half the items in the hash had nonideal chain + * positions. If this happens on two consecutive expansions we inhibit any + * further expansion, as it's not helping; this happens when the hash + * function isn't a good fit for the key domain. When expansion is inhibited + * the hash will still work, albeit no longer in constant time. */ + unsigned ineff_expands, noexpand; + + uint32_t signature; /* used only to find hash tables in external analysis */ +#ifdef HASH_BLOOM + uint32_t bloom_sig; /* used only to test bloom exists in external analysis */ + uint8_t *bloom_bv; + uint8_t bloom_nbits; +#endif + +} UT_hash_table; + +typedef struct UT_hash_handle { + struct UT_hash_table *tbl; + void *prev; /* prev element in app order */ + void *next; /* next element in app order */ + struct UT_hash_handle *hh_prev; /* previous hh in bucket order */ + struct UT_hash_handle *hh_next; /* next hh in bucket order */ + void *key; /* ptr to enclosing struct's key */ + unsigned keylen; /* enclosing struct's key len */ + unsigned hashv; /* result of hash-fcn(key) */ +} UT_hash_handle; + +#endif /* UTHASH_H */ diff --git a/uninstall_easy.sh b/uninstall_easy.sh new file mode 100755 index 0000000..6103800 --- /dev/null +++ b/uninstall_easy.sh @@ -0,0 +1,218 @@ +#!/bin/sh + +# automated script for easy uninstalling zapret + +SCRIPT=$(readlink -f "$0") +EXEDIR=$(dirname "$SCRIPT") +GET_IPLIST_PREFIX=/ipset/get_ +SYSTEMD_SYSTEM_DIR=/lib/systemd/system +[ -d "$SYSTEMD_SYSTEM_DIR" ] || SYSTEMD_SYSTEM_DIR=/usr/lib/systemd/system + +exists() +{ + which $1 >/dev/null 2>/dev/null +} +whichq() +{ + which $1 2>/dev/null +} + +exitp() +{ + echo + echo press enter to continue + read A + exit $1 +} + +[ $(id -u) -ne "0" ] && { + echo root is required + exists sudo && exec sudo "$0" + exists su && exec su -c "$0" + echo su or sudo not found + exitp 2 +} + +md5file() +{ + md5sum "$1" | cut -f1 -d ' ' +} + + +check_system() +{ + echo \* checking system + + SYSTEM="" + SYSTEMCTL=$(whichq systemctl) + + if [ -x "$SYSTEMCTL" ] ; then + SYSTEM=systemd + elif [ -f "/etc/openwrt_release" ] && exists opkg && exists uci ; then + SYSTEM=openwrt + else + echo system is not either systemd based or openwrt + exitp 5 + fi + echo system is based on $SYSTEM +} + + +crontab_del() +{ + exists crontab || return + + echo \* removing crontab entry + + CRONTMP=/tmp/cron.tmp + crontab -l >$CRONTMP + if grep -q "$GET_IPLIST_PREFIX" $CRONTMP; then + echo removing following entries from crontab : + grep "$GET_IPLIST_PREFIX" $CRONTMP + grep -v "$GET_IPLIST_PREFIX" $CRONTMP >$CRONTMP.2 + crontab $CRONTMP.2 + rm -f $CRONTMP.2 + fi + rm -f $CRONTMP +} + + +service_stop_systemd() +{ + echo \* stopping zapret service + + "$SYSTEMCTL" daemon-reload + "$SYSTEMCTL" disable zapret + "$SYSTEMCTL" stop zapret +} + +service_remove_systemd() +{ + echo \* removing zapret service + + rm -f "$SYSTEMD_SYSTEM_DIR/zapret.service" + "$SYSTEMCTL" daemon-reload +} + +timer_remove_systemd() +{ + echo \* removing zapret-list-update timer + + "$SYSTEMCTL" daemon-reload + "$SYSTEMCTL" disable zapret-list-update.timer + "$SYSTEMCTL" stop zapret-list-update.timer + rm -f "$SYSTEMD_SYSTEM_DIR/zapret-list-update.service" "$SYSTEMD_SYSTEM_DIR/zapret-list-update.timer" + "$SYSTEMCTL" daemon-reload +} + + + +remove_systemd() +{ + INIT_SCRIPT=/etc/init.d/zapret + + service_stop_systemd + service_remove_systemd + timer_remove_systemd + crontab_del +} + + + + + +openwrt_fw_section_find() +{ + # $1 - fw include postfix + # echoes section number + + i=0 + while true + do + path=$(uci -q get firewall.@include[$i].path) + [ -n "$path" ] || break + [ "$path" = "$OPENWRT_FW_INCLUDE$1" ] && { + echo $i + return + } + i=$(($i+1)) + done + false + return +} +openwrt_fw_section_del() +{ + # $1 - fw include postfix + + local id=$(openwrt_fw_section_find $1) + [ -n "$id" ] && { + uci delete firewall.@include[$id] && uci commit firewall + rm -f "$OPENWRT_FW_INCLUDE$1" + } +} + +remove_openwrt_firewall() +{ + echo \* removing firewall script + + openwrt_fw_section_del + # from old zapret versions. now we use single include + openwrt_fw_section_del 6 +} + +restart_openwrt_firewall() +{ + echo \* restarting firewall + + fw3 -q restart || { + echo could not restart firewall + exitp 30 + } +} + +remove_openwrt_iface_hook() +{ + echo \* removing ifup hook + + rm -f /etc/hotplug.d/iface/??-zapret +} + + +service_remove_sysv() +{ + echo \* removing zapret service + + [ -x "$INIT_SCRIPT" ] && { + "$INIT_SCRIPT" disable + "$INIT_SCRIPT" stop + } + rm -f "$INIT_SCRIPT" +} + +remove_openwrt() +{ + INIT_SCRIPT=/etc/init.d/zapret + OPENWRT_FW_INCLUDE=/etc/firewall.zapret + + remove_openwrt_firewall + restart_openwrt_firewall + service_remove_sysv + remove_openwrt_iface_hook + crontab_del +} + + + +check_system + +case $SYSTEM in + systemd) + remove_systemd + ;; + openwrt) + remove_openwrt + ;; +esac + + +exitp 0

b%+jP18cN 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